From 528f5f81084e8ed542dd6fd7f5c4f2c167087a77 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 27 Sep 2023 21:54:57 +0000 Subject: [PATCH 1/4] feat: add support for AdvancedSettings feat: add Intent import/export APIs feat: add Inline destination chore: remove the extraneous backend config PiperOrigin-RevId: 568902363 Source-Link: https://github.com/googleapis/googleapis/commit/b00c4293b85bd781f087569d681173d61b9f3198 Source-Link: https://github.com/googleapis/googleapis-gen/commit/80e4e68dac7efc345768e84a00ca5f57f0d3a432 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRpYWxvZ2Zsb3ctY3gvLk93bEJvdC55YW1sIiwiaCI6IjgwZTRlNjhkYWM3ZWZjMzQ1NzY4ZTg0YTAwY2E1ZjU3ZjBkM2E0MzIifQ== --- .../v3/.eslintignore | 7 + .../v3/.eslintrc.json | 3 + .../google-cloud-dialogflow-cx/v3/.gitignore | 14 + .../google-cloud-dialogflow-cx/v3/.jsdoc.js | 55 + .../google-cloud-dialogflow-cx/v3/.mocharc.js | 33 + .../v3/.prettierrc.js | 22 + .../google-cloud-dialogflow-cx/v3/README.md | 1 + .../v3/package.json | 73 + .../dialogflow/cx/v3/advanced_settings.proto | 90 + .../google/cloud/dialogflow/cx/v3/agent.proto | 650 +++ .../cloud/dialogflow/cx/v3/audio_config.proto | 349 ++ .../cloud/dialogflow/cx/v3/changelog.proto | 156 + .../cx/v3/data_store_connection.proto | 56 + .../cloud/dialogflow/cx/v3/deployment.proto | 178 + .../cloud/dialogflow/cx/v3/entity_type.proto | 385 ++ .../cloud/dialogflow/cx/v3/environment.proto | 541 ++ .../cloud/dialogflow/cx/v3/experiment.proto | 524 ++ .../google/cloud/dialogflow/cx/v3/flow.proto | 667 +++ .../cloud/dialogflow/cx/v3/fulfillment.proto | 139 + .../google/cloud/dialogflow/cx/v3/gcs.proto | 37 + .../cx/v3/generative_settings.proto | 103 + .../dialogflow/cx/v3/import_strategy.proto | 52 + .../cloud/dialogflow/cx/v3/inline.proto | 43 + .../cloud/dialogflow/cx/v3/intent.proto | 609 +++ .../google/cloud/dialogflow/cx/v3/page.proto | 652 +++ .../dialogflow/cx/v3/response_message.proto | 269 + .../dialogflow/cx/v3/safety_settings.proto | 43 + .../dialogflow/cx/v3/security_settings.proto | 395 ++ .../cloud/dialogflow/cx/v3/session.proto | 1019 ++++ .../cx/v3/session_entity_type.proto | 279 + .../cloud/dialogflow/cx/v3/test_case.proto | 1004 ++++ .../cx/v3/transition_route_group.proto | 319 ++ .../dialogflow/cx/v3/validation_message.proto | 116 + .../cloud/dialogflow/cx/v3/version.proto | 352 ++ .../cloud/dialogflow/cx/v3/webhook.proto | 651 +++ .../generated/v3/agents.create_agent.js | 67 + .../generated/v3/agents.delete_agent.js | 62 + .../generated/v3/agents.export_agent.js | 94 + .../samples/generated/v3/agents.get_agent.js | 62 + .../v3/agents.get_agent_validation_result.js | 67 + .../v3/agents.get_generative_settings.js | 67 + .../generated/v3/agents.list_agents.js | 73 + .../generated/v3/agents.restore_agent.js | 86 + .../generated/v3/agents.update_agent.js | 66 + .../v3/agents.update_generative_settings.js | 66 + .../generated/v3/agents.validate_agent.js | 66 + .../generated/v3/changelogs.get_changelog.js | 63 + .../v3/changelogs.list_changelogs.js | 96 + .../v3/deployments.get_deployment.js | 64 + .../v3/deployments.list_deployments.js | 75 + .../v3/entity_types.create_entity_type.js | 79 + .../v3/entity_types.delete_entity_type.js | 77 + .../v3/entity_types.get_entity_type.js | 76 + .../v3/entity_types.list_entity_types.js | 86 + .../v3/entity_types.update_entity_type.js | 77 + .../v3/environments.create_environment.js | 69 + .../v3/environments.delete_environment.js | 64 + .../generated/v3/environments.deploy_flow.js | 71 + .../v3/environments.get_environment.js | 64 + ...vironments.list_continuous_test_results.js | 74 + .../v3/environments.list_environments.js | 74 + ...environments.lookup_environment_history.js | 74 + .../v3/environments.run_continuous_test.js | 63 + .../v3/environments.update_environment.js | 67 + .../v3/experiments.create_experiment.js | 69 + .../v3/experiments.delete_experiment.js | 64 + .../v3/experiments.get_experiment.js | 64 + .../v3/experiments.list_experiments.js | 75 + .../v3/experiments.start_experiment.js | 63 + .../v3/experiments.stop_experiment.js | 63 + .../v3/experiments.update_experiment.js | 66 + .../samples/generated/v3/flows.create_flow.js | 80 + .../samples/generated/v3/flows.delete_flow.js | 75 + .../samples/generated/v3/flows.export_flow.js | 80 + .../v3/samples/generated/v3/flows.get_flow.js | 77 + .../v3/flows.get_flow_validation_result.js | 67 + .../samples/generated/v3/flows.import_flow.js | 87 + .../samples/generated/v3/flows.list_flows.js | 87 + .../samples/generated/v3/flows.train_flow.js | 64 + .../samples/generated/v3/flows.update_flow.js | 79 + .../generated/v3/flows.validate_flow.js | 67 + .../generated/v3/intents.create_intent.js | 77 + .../generated/v3/intents.delete_intent.js | 63 + .../generated/v3/intents.export_intents.js | 92 + .../generated/v3/intents.get_intent.js | 74 + .../generated/v3/intents.import_intents.js | 82 + .../generated/v3/intents.list_intents.js | 88 + .../generated/v3/intents.update_intent.js | 76 + .../samples/generated/v3/pages.create_page.js | 89 + .../samples/generated/v3/pages.delete_page.js | 75 + .../v3/samples/generated/v3/pages.get_page.js | 85 + .../samples/generated/v3/pages.list_pages.js | 96 + .../samples/generated/v3/pages.update_page.js | 87 + ...ttings_service.create_security_settings.js | 68 + ...ttings_service.delete_security_settings.js | 64 + ..._settings_service.get_security_settings.js | 63 + ...settings_service.list_security_settings.js | 73 + ...ttings_service.update_security_settings.js | 68 + ...entity_types.create_session_entity_type.js | 71 + ...entity_types.delete_session_entity_type.js | 67 + ...on_entity_types.get_session_entity_type.js | 67 + ..._entity_types.list_session_entity_types.js | 77 + ...entity_types.update_session_entity_type.js | 71 + .../generated/v3/sessions.detect_intent.js | 87 + .../generated/v3/sessions.fulfill_intent.js | 69 + .../generated/v3/sessions.match_intent.js | 84 + .../v3/sessions.streaming_detect_intent.js | 102 + ...etadata_google.cloud.dialogflow.cx.v3.json | 4639 +++++++++++++++++ .../v3/test_cases.batch_delete_test_cases.js | 68 + .../v3/test_cases.batch_run_test_cases.js | 75 + .../v3/test_cases.calculate_coverage.js | 67 + .../v3/test_cases.create_test_case.js | 67 + .../v3/test_cases.export_test_cases.js | 90 + .../generated/v3/test_cases.get_test_case.js | 63 + .../v3/test_cases.get_test_case_result.js | 63 + .../v3/test_cases.import_test_cases.js | 78 + .../v3/test_cases.list_test_case_results.js | 97 + .../v3/test_cases.list_test_cases.js | 78 + .../generated/v3/test_cases.run_test_case.js | 69 + .../v3/test_cases.update_test_case.js | 69 + ...te_groups.create_transition_route_group.js | 83 + ...te_groups.delete_transition_route_group.js | 75 + ...route_groups.get_transition_route_group.js | 79 + ...ute_groups.list_transition_route_groups.js | 88 + ...te_groups.update_transition_route_group.js | 77 + .../generated/v3/versions.compare_versions.js | 81 + .../generated/v3/versions.create_version.js | 70 + .../generated/v3/versions.delete_version.js | 63 + .../generated/v3/versions.get_version.js | 63 + .../generated/v3/versions.list_versions.js | 74 + .../generated/v3/versions.load_version.js | 71 + .../generated/v3/versions.update_version.js | 67 + .../generated/v3/webhooks.create_webhook.js | 67 + .../generated/v3/webhooks.delete_webhook.js | 75 + .../generated/v3/webhooks.get_webhook.js | 63 + .../generated/v3/webhooks.list_webhooks.js | 73 + .../generated/v3/webhooks.update_webhook.js | 66 + .../v3/src/index.ts | 55 + .../v3/src/v3/agents_client.ts | 3209 ++++++++++++ .../v3/src/v3/agents_client_config.json | 84 + .../v3/src/v3/agents_proto_list.json | 29 + .../v3/src/v3/changelogs_client.ts | 2492 +++++++++ .../v3/src/v3/changelogs_client_config.json | 39 + .../v3/src/v3/changelogs_proto_list.json | 29 + .../v3/src/v3/deployments_client.ts | 2438 +++++++++ .../v3/src/v3/deployments_client_config.json | 39 + .../v3/src/v3/deployments_proto_list.json | 29 + .../v3/src/v3/entity_types_client.ts | 2747 ++++++++++ .../v3/src/v3/entity_types_client_config.json | 54 + .../v3/src/v3/entity_types_proto_list.json | 29 + .../v3/src/v3/environments_client.ts | 3313 ++++++++++++ .../v3/src/v3/environments_client_config.json | 74 + .../v3/src/v3/environments_proto_list.json | 29 + .../v3/src/v3/experiments_client.ts | 2808 ++++++++++ .../v3/src/v3/experiments_client_config.json | 64 + .../v3/src/v3/experiments_proto_list.json | 29 + .../v3/src/v3/flows_client.ts | 3265 ++++++++++++ .../v3/src/v3/flows_client_config.json | 79 + .../v3/src/v3/flows_proto_list.json | 29 + .../v3/src/v3/gapic_metadata.json | 1310 +++++ .../v3/src/v3/index.ts | 34 + .../v3/src/v3/intents_client.ts | 2979 +++++++++++ .../v3/src/v3/intents_client_config.json | 64 + .../v3/src/v3/intents_proto_list.json | 29 + .../v3/src/v3/pages_client.ts | 2804 ++++++++++ .../v3/src/v3/pages_client_config.json | 54 + .../v3/src/v3/pages_proto_list.json | 29 + .../v3/security_settings_service_client.ts | 2862 ++++++++++ ...curity_settings_service_client_config.json | 54 + .../security_settings_service_proto_list.json | 29 + .../v3/src/v3/session_entity_types_client.ts | 2742 ++++++++++ .../session_entity_types_client_config.json | 54 + .../v3/session_entity_types_proto_list.json | 29 + .../v3/src/v3/sessions_client.ts | 2561 +++++++++ .../v3/src/v3/sessions_client_config.json | 49 + .../v3/src/v3/sessions_proto_list.json | 29 + .../v3/src/v3/test_cases_client.ts | 3546 +++++++++++++ .../v3/src/v3/test_cases_client_config.json | 89 + .../v3/src/v3/test_cases_proto_list.json | 29 + .../src/v3/transition_route_groups_client.ts | 2767 ++++++++++ ...transition_route_groups_client_config.json | 54 + .../transition_route_groups_proto_list.json | 29 + .../v3/src/v3/versions_client.ts | 2890 ++++++++++ .../v3/src/v3/versions_client_config.json | 64 + .../v3/src/v3/versions_proto_list.json | 29 + .../v3/src/v3/webhooks_client.ts | 2801 ++++++++++ .../v3/src/v3/webhooks_client_config.json | 54 + .../v3/src/v3/webhooks_proto_list.json | 29 + .../system-test/fixtures/sample/src/index.js | 42 + .../system-test/fixtures/sample/src/index.ts | 122 + .../v3/system-test/install.ts | 49 + .../v3/test/gapic_agents_v3.ts | 3366 ++++++++++++ .../v3/test/gapic_changelogs_v3.ts | 2278 ++++++++ .../v3/test/gapic_deployments_v3.ts | 2278 ++++++++ .../v3/test/gapic_entity_types_v3.ts | 2606 +++++++++ .../v3/test/gapic_environments_v3.ts | 3512 +++++++++++++ .../v3/test/gapic_experiments_v3.ts | 2822 ++++++++++ .../v3/test/gapic_flows_v3.ts | 3300 ++++++++++++ .../v3/test/gapic_intents_v3.ts | 2930 +++++++++++ .../v3/test/gapic_pages_v3.ts | 2606 +++++++++ .../gapic_security_settings_service_v3.ts | 2790 ++++++++++ .../v3/test/gapic_session_entity_types_v3.ts | 2660 ++++++++++ .../v3/test/gapic_sessions_v3.ts | 2349 +++++++++ .../v3/test/gapic_test_cases_v3.ts | 3699 +++++++++++++ .../test/gapic_transition_route_groups_v3.ts | 2606 +++++++++ .../v3/test/gapic_versions_v3.ts | 2930 +++++++++++ .../v3/test/gapic_webhooks_v3.ts | 2722 ++++++++++ .../v3/tsconfig.json | 19 + .../v3/webpack.config.js | 64 + .../v3beta1/.eslintignore | 7 + .../v3beta1/.eslintrc.json | 3 + .../v3beta1/.gitignore | 14 + .../v3beta1/.jsdoc.js | 55 + .../v3beta1/.mocharc.js | 33 + .../v3beta1/.prettierrc.js | 22 + .../v3beta1/README.md | 1 + .../v3beta1/package.json | 73 + .../cx/v3beta1/advanced_settings.proto | 65 + .../cloud/dialogflow/cx/v3beta1/agent.proto | 650 +++ .../dialogflow/cx/v3beta1/audio_config.proto | 349 ++ .../dialogflow/cx/v3beta1/changelog.proto | 157 + .../cx/v3beta1/data_store_connection.proto | 56 + .../dialogflow/cx/v3beta1/deployment.proto | 179 + .../dialogflow/cx/v3beta1/entity_type.proto | 382 ++ .../dialogflow/cx/v3beta1/environment.proto | 540 ++ .../dialogflow/cx/v3beta1/experiment.proto | 528 ++ .../cloud/dialogflow/cx/v3beta1/flow.proto | 664 +++ .../dialogflow/cx/v3beta1/fulfillment.proto | 129 + .../cloud/dialogflow/cx/v3beta1/gcs.proto | 37 + .../cx/v3beta1/generative_settings.proto | 103 + .../cx/v3beta1/import_strategy.proto | 52 + .../cloud/dialogflow/cx/v3beta1/intent.proto | 390 ++ .../cloud/dialogflow/cx/v3beta1/page.proto | 634 +++ .../cx/v3beta1/response_message.proto | 245 + .../cx/v3beta1/safety_settings.proto | 43 + .../cx/v3beta1/security_settings.proto | 397 ++ .../cloud/dialogflow/cx/v3beta1/session.proto | 1014 ++++ .../cx/v3beta1/session_entity_type.proto | 279 + .../dialogflow/cx/v3beta1/test_case.proto | 1010 ++++ .../cx/v3beta1/transition_route_group.proto | 320 ++ .../cx/v3beta1/validation_message.proto | 116 + .../cloud/dialogflow/cx/v3beta1/version.proto | 357 ++ .../cloud/dialogflow/cx/v3beta1/webhook.proto | 657 +++ .../generated/v3beta1/agents.create_agent.js | 67 + .../generated/v3beta1/agents.delete_agent.js | 62 + .../generated/v3beta1/agents.export_agent.js | 94 + .../generated/v3beta1/agents.get_agent.js | 62 + .../agents.get_agent_validation_result.js | 67 + .../v3beta1/agents.get_generative_settings.js | 67 + .../generated/v3beta1/agents.list_agents.js | 73 + .../generated/v3beta1/agents.restore_agent.js | 86 + .../generated/v3beta1/agents.update_agent.js | 66 + .../agents.update_generative_settings.js | 66 + .../v3beta1/agents.validate_agent.js | 66 + .../v3beta1/changelogs.get_changelog.js | 63 + .../v3beta1/changelogs.list_changelogs.js | 96 + .../v3beta1/deployments.get_deployment.js | 64 + .../v3beta1/deployments.list_deployments.js | 75 + .../entity_types.create_entity_type.js | 79 + .../entity_types.delete_entity_type.js | 77 + .../v3beta1/entity_types.get_entity_type.js | 76 + .../v3beta1/entity_types.list_entity_types.js | 86 + .../entity_types.update_entity_type.js | 77 + .../environments.create_environment.js | 69 + .../environments.delete_environment.js | 64 + .../v3beta1/environments.deploy_flow.js | 71 + .../v3beta1/environments.get_environment.js | 64 + ...vironments.list_continuous_test_results.js | 74 + .../v3beta1/environments.list_environments.js | 74 + ...environments.lookup_environment_history.js | 74 + .../environments.run_continuous_test.js | 63 + .../environments.update_environment.js | 67 + .../v3beta1/experiments.create_experiment.js | 69 + .../v3beta1/experiments.delete_experiment.js | 64 + .../v3beta1/experiments.get_experiment.js | 64 + .../v3beta1/experiments.list_experiments.js | 75 + .../v3beta1/experiments.start_experiment.js | 63 + .../v3beta1/experiments.stop_experiment.js | 63 + .../v3beta1/experiments.update_experiment.js | 66 + .../generated/v3beta1/flows.create_flow.js | 80 + .../generated/v3beta1/flows.delete_flow.js | 75 + .../generated/v3beta1/flows.export_flow.js | 80 + .../generated/v3beta1/flows.get_flow.js | 77 + .../flows.get_flow_validation_result.js | 67 + .../generated/v3beta1/flows.import_flow.js | 87 + .../generated/v3beta1/flows.list_flows.js | 87 + .../generated/v3beta1/flows.train_flow.js | 64 + .../generated/v3beta1/flows.update_flow.js | 79 + .../generated/v3beta1/flows.validate_flow.js | 67 + .../v3beta1/intents.create_intent.js | 77 + .../v3beta1/intents.delete_intent.js | 63 + .../generated/v3beta1/intents.get_intent.js | 74 + .../generated/v3beta1/intents.list_intents.js | 88 + .../v3beta1/intents.update_intent.js | 76 + .../generated/v3beta1/pages.create_page.js | 89 + .../generated/v3beta1/pages.delete_page.js | 75 + .../generated/v3beta1/pages.get_page.js | 85 + .../generated/v3beta1/pages.list_pages.js | 96 + .../generated/v3beta1/pages.update_page.js | 87 + ...ttings_service.create_security_settings.js | 68 + ...ttings_service.delete_security_settings.js | 64 + ..._settings_service.get_security_settings.js | 63 + ...settings_service.list_security_settings.js | 73 + ...ttings_service.update_security_settings.js | 68 + ...entity_types.create_session_entity_type.js | 71 + ...entity_types.delete_session_entity_type.js | 67 + ...on_entity_types.get_session_entity_type.js | 67 + ..._entity_types.list_session_entity_types.js | 77 + ...entity_types.update_session_entity_type.js | 71 + .../v3beta1/sessions.detect_intent.js | 87 + .../v3beta1/sessions.fulfill_intent.js | 69 + .../v3beta1/sessions.match_intent.js | 84 + .../sessions.streaming_detect_intent.js | 102 + ...ta_google.cloud.dialogflow.cx.v3beta1.json | 4531 ++++++++++++++++ .../test_cases.batch_delete_test_cases.js | 68 + .../test_cases.batch_run_test_cases.js | 75 + .../v3beta1/test_cases.calculate_coverage.js | 67 + .../v3beta1/test_cases.create_test_case.js | 67 + .../v3beta1/test_cases.export_test_cases.js | 90 + .../v3beta1/test_cases.get_test_case.js | 63 + .../test_cases.get_test_case_result.js | 63 + .../v3beta1/test_cases.import_test_cases.js | 78 + .../test_cases.list_test_case_results.js | 97 + .../v3beta1/test_cases.list_test_cases.js | 78 + .../v3beta1/test_cases.run_test_case.js | 69 + .../v3beta1/test_cases.update_test_case.js | 70 + ...te_groups.create_transition_route_group.js | 83 + ...te_groups.delete_transition_route_group.js | 75 + ...route_groups.get_transition_route_group.js | 79 + ...ute_groups.list_transition_route_groups.js | 88 + ...te_groups.update_transition_route_group.js | 77 + .../v3beta1/versions.compare_versions.js | 81 + .../v3beta1/versions.create_version.js | 70 + .../v3beta1/versions.delete_version.js | 64 + .../generated/v3beta1/versions.get_version.js | 64 + .../v3beta1/versions.list_versions.js | 74 + .../v3beta1/versions.load_version.js | 71 + .../v3beta1/versions.update_version.js | 67 + .../v3beta1/webhooks.create_webhook.js | 67 + .../v3beta1/webhooks.delete_webhook.js | 75 + .../generated/v3beta1/webhooks.get_webhook.js | 63 + .../v3beta1/webhooks.list_webhooks.js | 73 + .../v3beta1/webhooks.update_webhook.js | 66 + .../v3beta1/src/index.ts | 55 + .../v3beta1/src/v3beta1/agents_client.ts | 3209 ++++++++++++ .../src/v3beta1/agents_client_config.json | 84 + .../src/v3beta1/agents_proto_list.json | 28 + .../v3beta1/src/v3beta1/changelogs_client.ts | 2296 ++++++++ .../src/v3beta1/changelogs_client_config.json | 39 + .../src/v3beta1/changelogs_proto_list.json | 28 + .../v3beta1/src/v3beta1/deployments_client.ts | 2242 ++++++++ .../v3beta1/deployments_client_config.json | 39 + .../src/v3beta1/deployments_proto_list.json | 28 + .../src/v3beta1/entity_types_client.ts | 2547 +++++++++ .../v3beta1/entity_types_client_config.json | 54 + .../src/v3beta1/entity_types_proto_list.json | 28 + .../src/v3beta1/environments_client.ts | 3313 ++++++++++++ .../v3beta1/environments_client_config.json | 74 + .../src/v3beta1/environments_proto_list.json | 28 + .../v3beta1/src/v3beta1/experiments_client.ts | 2614 ++++++++++ .../v3beta1/experiments_client_config.json | 64 + .../src/v3beta1/experiments_proto_list.json | 28 + .../v3beta1/src/v3beta1/flows_client.ts | 3265 ++++++++++++ .../src/v3beta1/flows_client_config.json | 79 + .../v3beta1/src/v3beta1/flows_proto_list.json | 28 + .../v3beta1/src/v3beta1/gapic_metadata.json | 1290 +++++ .../v3beta1/src/v3beta1/index.ts | 34 + .../v3beta1/src/v3beta1/intents_client.ts | 2532 +++++++++ .../src/v3beta1/intents_client_config.json | 54 + .../src/v3beta1/intents_proto_list.json | 28 + .../v3beta1/src/v3beta1/pages_client.ts | 2595 +++++++++ .../src/v3beta1/pages_client_config.json | 54 + .../v3beta1/src/v3beta1/pages_proto_list.json | 28 + .../security_settings_service_client.ts | 2665 ++++++++++ ...curity_settings_service_client_config.json | 54 + .../security_settings_service_proto_list.json | 28 + .../v3beta1/session_entity_types_client.ts | 2545 +++++++++ .../session_entity_types_client_config.json | 54 + .../session_entity_types_proto_list.json | 28 + .../v3beta1/src/v3beta1/sessions_client.ts | 2364 +++++++++ .../src/v3beta1/sessions_client_config.json | 49 + .../src/v3beta1/sessions_proto_list.json | 28 + .../v3beta1/src/v3beta1/test_cases_client.ts | 3548 +++++++++++++ .../src/v3beta1/test_cases_client_config.json | 89 + .../src/v3beta1/test_cases_proto_list.json | 28 + .../v3beta1/transition_route_groups_client.ts | 2567 +++++++++ ...transition_route_groups_client_config.json | 54 + .../transition_route_groups_proto_list.json | 28 + .../v3beta1/src/v3beta1/versions_client.ts | 2895 ++++++++++ .../src/v3beta1/versions_client_config.json | 64 + .../src/v3beta1/versions_proto_list.json | 28 + .../v3beta1/src/v3beta1/webhooks_client.ts | 2604 +++++++++ .../src/v3beta1/webhooks_client_config.json | 54 + .../src/v3beta1/webhooks_proto_list.json | 28 + .../system-test/fixtures/sample/src/index.js | 42 + .../system-test/fixtures/sample/src/index.ts | 122 + .../v3beta1/system-test/install.ts | 49 + .../v3beta1/test/gapic_agents_v3beta1.ts | 3366 ++++++++++++ .../v3beta1/test/gapic_changelogs_v3beta1.ts | 2023 +++++++ .../v3beta1/test/gapic_deployments_v3beta1.ts | 2023 +++++++ .../test/gapic_entity_types_v3beta1.ts | 2351 +++++++++ .../test/gapic_environments_v3beta1.ts | 3512 +++++++++++++ .../v3beta1/test/gapic_experiments_v3beta1.ts | 2567 +++++++++ .../v3beta1/test/gapic_flows_v3beta1.ts | 3300 ++++++++++++ .../v3beta1/test/gapic_intents_v3beta1.ts | 2351 +++++++++ .../v3beta1/test/gapic_pages_v3beta1.ts | 2351 +++++++++ ...gapic_security_settings_service_v3beta1.ts | 2535 +++++++++ .../gapic_session_entity_types_v3beta1.ts | 2405 +++++++++ .../v3beta1/test/gapic_sessions_v3beta1.ts | 2094 ++++++++ .../v3beta1/test/gapic_test_cases_v3beta1.ts | 3699 +++++++++++++ .../gapic_transition_route_groups_v3beta1.ts | 2351 +++++++++ .../v3beta1/test/gapic_versions_v3beta1.ts | 2930 +++++++++++ .../v3beta1/test/gapic_webhooks_v3beta1.ts | 2467 +++++++++ .../v3beta1/tsconfig.json | 19 + .../v3beta1/webpack.config.js | 64 + 415 files changed, 227360 insertions(+) create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintignore create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintrc.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/.gitignore create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/.jsdoc.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/.mocharc.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/.prettierrc.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/README.md create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/package.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/agent.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/audio_config.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/changelog.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/data_store_connection.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/deployment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/entity_type.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/environment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/experiment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/flow.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/gcs.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/generative_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/import_strategy.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/inline.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/intent.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/page.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/response_message.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/safety_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/security_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/session.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/session_entity_type.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/test_case.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/transition_route_group.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/validation_message.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/version.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/webhook.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.create_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.delete_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.export_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.get_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.get_agent_validation_result.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.get_generative_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.list_agents.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.restore_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.update_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.update_generative_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/agents.validate_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/changelogs.get_changelog.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/changelogs.list_changelogs.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/deployments.get_deployment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/deployments.list_deployments.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/entity_types.create_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/entity_types.delete_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/entity_types.get_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/entity_types.list_entity_types.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/entity_types.update_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.create_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.delete_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.deploy_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.get_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.list_continuous_test_results.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.list_environments.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.lookup_environment_history.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.run_continuous_test.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/environments.update_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.create_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.delete_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.get_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.list_experiments.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.start_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.stop_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/experiments.update_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.create_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.delete_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.export_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.get_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.get_flow_validation_result.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.import_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.list_flows.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.train_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.update_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/flows.validate_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.create_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.delete_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.export_intents.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.get_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.import_intents.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.list_intents.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/intents.update_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/pages.create_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/pages.delete_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/pages.get_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/pages.list_pages.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/pages.update_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/security_settings_service.create_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/security_settings_service.delete_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/security_settings_service.get_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/security_settings_service.list_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/security_settings_service.update_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/session_entity_types.create_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/session_entity_types.delete_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/session_entity_types.get_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/session_entity_types.list_session_entity_types.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/session_entity_types.update_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/sessions.detect_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/sessions.fulfill_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/sessions.match_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/sessions.streaming_detect_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/snippet_metadata_google.cloud.dialogflow.cx.v3.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.batch_delete_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.batch_run_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.calculate_coverage.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.create_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.export_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.get_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.get_test_case_result.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.import_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.list_test_case_results.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.list_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.run_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/test_cases.update_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/transition_route_groups.create_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/transition_route_groups.delete_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/transition_route_groups.get_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/transition_route_groups.list_transition_route_groups.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/transition_route_groups.update_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.compare_versions.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.create_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.delete_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.get_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.list_versions.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.load_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/versions.update_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/webhooks.create_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/webhooks.delete_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/webhooks.get_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/webhooks.list_webhooks.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/samples/generated/v3/webhooks.update_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/index.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/agents_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/agents_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/agents_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/changelogs_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/changelogs_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/changelogs_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/deployments_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/deployments_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/deployments_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/entity_types_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/entity_types_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/entity_types_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/environments_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/environments_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/environments_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/experiments_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/experiments_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/experiments_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/flows_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/flows_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/flows_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/gapic_metadata.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/index.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/intents_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/intents_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/intents_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/pages_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/pages_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/pages_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/security_settings_service_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/security_settings_service_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/security_settings_service_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/session_entity_types_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/session_entity_types_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/session_entity_types_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/sessions_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/sessions_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/sessions_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/test_cases_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/test_cases_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/test_cases_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/transition_route_groups_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/transition_route_groups_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/transition_route_groups_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/versions_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/versions_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/versions_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/webhooks_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/webhooks_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/src/v3/webhooks_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/system-test/install.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_agents_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_changelogs_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_deployments_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_entity_types_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_environments_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_experiments_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_flows_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_intents_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_pages_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_security_settings_service_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_session_entity_types_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_sessions_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_test_cases_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_transition_route_groups_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_versions_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/test/gapic_webhooks_v3.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/tsconfig.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3/webpack.config.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/.eslintignore create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/.eslintrc.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/.gitignore create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/.jsdoc.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/.mocharc.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/.prettierrc.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/README.md create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/package.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/advanced_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/agent.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/audio_config.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/changelog.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/data_store_connection.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/deployment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/entity_type.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/environment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/experiment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/flow.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/fulfillment.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/gcs.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/generative_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/import_strategy.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/intent.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/page.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/response_message.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/safety_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/security_settings.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/session.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/session_entity_type.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/test_case.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/transition_route_group.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/validation_message.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/version.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/protos/google/cloud/dialogflow/cx/v3beta1/webhook.proto create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.create_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.delete_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.export_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.get_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.get_agent_validation_result.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.get_generative_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.list_agents.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.restore_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.update_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.update_generative_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/agents.validate_agent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/changelogs.get_changelog.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/changelogs.list_changelogs.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/deployments.get_deployment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/deployments.list_deployments.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/entity_types.create_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/entity_types.delete_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/entity_types.get_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/entity_types.list_entity_types.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/entity_types.update_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.create_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.delete_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.deploy_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.get_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.list_continuous_test_results.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.list_environments.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.lookup_environment_history.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.run_continuous_test.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/environments.update_environment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.create_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.delete_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.get_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.list_experiments.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.start_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.stop_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/experiments.update_experiment.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.create_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.delete_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.export_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.get_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.get_flow_validation_result.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.import_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.list_flows.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.train_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.update_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/flows.validate_flow.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/intents.create_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/intents.delete_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/intents.get_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/intents.list_intents.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/intents.update_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/pages.create_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/pages.delete_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/pages.get_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/pages.list_pages.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/pages.update_page.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/security_settings_service.create_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/security_settings_service.delete_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/security_settings_service.get_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/security_settings_service.list_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/security_settings_service.update_security_settings.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/session_entity_types.create_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/session_entity_types.delete_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/session_entity_types.get_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/session_entity_types.list_session_entity_types.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/session_entity_types.update_session_entity_type.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/sessions.detect_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/sessions.fulfill_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/sessions.match_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/sessions.streaming_detect_intent.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/snippet_metadata_google.cloud.dialogflow.cx.v3beta1.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.batch_delete_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.batch_run_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.calculate_coverage.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.create_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.export_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.get_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.get_test_case_result.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.import_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.list_test_case_results.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.list_test_cases.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.run_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/test_cases.update_test_case.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/transition_route_groups.create_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/transition_route_groups.delete_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/transition_route_groups.get_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/transition_route_groups.list_transition_route_groups.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/transition_route_groups.update_transition_route_group.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.compare_versions.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.create_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.delete_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.get_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.list_versions.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.load_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/versions.update_version.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/webhooks.create_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/webhooks.delete_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/webhooks.get_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/webhooks.list_webhooks.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/samples/generated/v3beta1/webhooks.update_webhook.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/index.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/agents_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/agents_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/agents_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/changelogs_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/changelogs_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/changelogs_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/deployments_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/deployments_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/deployments_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/entity_types_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/entity_types_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/entity_types_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/environments_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/environments_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/environments_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/experiments_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/experiments_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/experiments_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/flows_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/flows_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/flows_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/gapic_metadata.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/index.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/intents_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/intents_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/intents_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/pages_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/pages_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/pages_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/security_settings_service_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/security_settings_service_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/security_settings_service_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/session_entity_types_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/session_entity_types_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/session_entity_types_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/sessions_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/sessions_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/sessions_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/test_cases_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/test_cases_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/test_cases_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/transition_route_groups_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/transition_route_groups_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/transition_route_groups_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/versions_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/versions_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/versions_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/webhooks_client.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/webhooks_client_config.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/src/v3beta1/webhooks_proto_list.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/system-test/fixtures/sample/src/index.js create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/system-test/fixtures/sample/src/index.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/system-test/install.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_agents_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_changelogs_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_deployments_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_entity_types_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_environments_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_experiments_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_flows_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_intents_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_pages_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_security_settings_service_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_session_entity_types_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_sessions_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_test_cases_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_transition_route_groups_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_versions_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/test/gapic_webhooks_v3beta1.ts create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/tsconfig.json create mode 100644 owl-bot-staging/google-cloud-dialogflow-cx/v3beta1/webpack.config.js diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintignore b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintignore new file mode 100644 index 00000000000..cfc348ec4d1 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/.coverage +build/ +docs/ +protos/ +system-test/ +samples/generated/ diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintrc.json b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/.gitignore b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.gitignore new file mode 100644 index 00000000000..d4f03a0df2e --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +/.coverage +/coverage +/.nyc_output +/docs/ +/out/ +/build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/.jsdoc.js b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.jsdoc.js new file mode 100644 index 00000000000..dc2e89a434a --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2023 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/dialogflow-cx', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/.mocharc.js b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.mocharc.js new file mode 100644 index 00000000000..1a38f257db7 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.mocharc.js @@ -0,0 +1,33 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000 +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/.prettierrc.js b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.prettierrc.js new file mode 100644 index 00000000000..55639e70f9e --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/.prettierrc.js @@ -0,0 +1,22 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/README.md b/owl-bot-staging/google-cloud-dialogflow-cx/v3/README.md new file mode 100644 index 00000000000..0e6a0deff22 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/README.md @@ -0,0 +1 @@ +Cx: Nodejs Client diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/package.json b/owl-bot-staging/google-cloud-dialogflow-cx/v3/package.json new file mode 100644 index 00000000000..5178a34dd93 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/package.json @@ -0,0 +1,73 @@ +{ + "name": "@google-cloud/dialogflow-cx", + "version": "0.1.0", + "description": "Cx client for Node.js", + "repository": "googleapis/nodejs-cx", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google cx", + "cx", + "agents", + "changelogs", + "deployments", + "entity types", + "environments", + "experiments", + "flows", + "intents", + "pages", + "security settings service", + "session entity types", + "sessions", + "test cases", + "transition route groups", + "versions", + "webhooks" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/ && minifyProtoJson", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test" + }, + "dependencies": { + "google-gax": "^4.0.4" + }, + "devDependencies": { + "@types/mocha": "^10.0.1", + "@types/node": "^18.11.18", + "@types/sinon": "^10.0.17", + "c8": "^8.0.1", + "gapic-tools": "^0.2.0", + "gts": "5.0.1", + "jsdoc": "^4.0.2", + "jsdoc-fresh": "^3.0.0", + "jsdoc-region-tag": "^3.0.0", + "mocha": "^10.2.0", + "pack-n-play": "^1.0.0-2", + "sinon": "^15.2.0", + "typescript": "5.1.6" + }, + "engines": { + "node": ">=v14" + } +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto new file mode 100644 index 00000000000..5f8cb9194a7 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/advanced_settings.proto @@ -0,0 +1,90 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; +import "google/cloud/dialogflow/cx/v3/gcs.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "AdvancedSettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Hierarchical advanced settings for agent/flow/page/fulfillment/parameter. +// Settings exposed at lower level overrides the settings exposed at higher +// level. Overriding occurs at the sub-setting level. For example, the +// playback_interruption_settings at fulfillment level only overrides the +// playback_interruption_settings at the agent level, leaving other settings +// at the agent level unchanged. +// +// DTMF settings does not override each other. DTMF settings set at different +// levels define DTMF detections running in parallel. +// +// Hierarchy: Agent->Flow->Page->Fulfillment/Parameter. +message AdvancedSettings { + // Define behaviors for DTMF (dual tone multi frequency). + message DtmfSettings { + // If true, incoming audio is processed for DTMF (dual tone multi frequency) + // events. For example, if the caller presses a button on their telephone + // keypad and DTMF processing is enabled, Dialogflow will detect the + // event (e.g. a "3" was pressed) in the incoming audio and pass the event + // to the bot to drive business logic (e.g. when 3 is pressed, return the + // account balance). + bool enabled = 1; + + // Max length of DTMF digits. + int32 max_digits = 2; + + // The digit that terminates a DTMF digit sequence. + string finish_digit = 3; + } + + // Define behaviors on logging. + message LoggingSettings { + // If true, StackDriver logging is currently enabled. + bool enable_stackdriver_logging = 2; + + // If true, DF Interaction logging is currently enabled. + bool enable_interaction_logging = 3; + } + + // If present, incoming audio is exported by Dialogflow to the configured + // Google Cloud Storage destination. + // Exposed at the following levels: + // - Agent level + // - Flow level + GcsDestination audio_export_gcs_destination = 2; + + // Settings for DTMF. + // Exposed at the following levels: + // - Agent level + // - Flow level + // - Page level + // - Parameter level. + DtmfSettings dtmf_settings = 5; + + // Settings for logging. + // Settings for Dialogflow History, Contact Center messages, StackDriver logs, + // and speech logging. + // Exposed at the following levels: + // - Agent level. + LoggingSettings logging_settings = 6; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/agent.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/agent.proto new file mode 100644 index 00000000000..7a086796fce --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/agent.proto @@ -0,0 +1,650 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/advanced_settings.proto"; +import "google/cloud/dialogflow/cx/v3/audio_config.proto"; +import "google/cloud/dialogflow/cx/v3/flow.proto"; +import "google/cloud/dialogflow/cx/v3/generative_settings.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "AgentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Agents][google.cloud.dialogflow.cx.v3.Agent]. +service Agents { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all agents in the specified location. + rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*}/agents" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified agent. + rpc GetAgent(GetAgentRequest) returns (Agent) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an agent in the specified location. + // + // Note: You should always train flows prior to sending them queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateAgent(CreateAgentRequest) returns (Agent) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*}/agents" + body: "agent" + }; + option (google.api.method_signature) = "parent,agent"; + } + + // Updates the specified agent. + // + // Note: You should always train flows prior to sending them queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateAgent(UpdateAgentRequest) returns (Agent) { + option (google.api.http) = { + patch: "/v3/{agent.name=projects/*/locations/*/agents/*}" + body: "agent" + }; + option (google.api.method_signature) = "agent,update_mask"; + } + + // Deletes the specified agent. + rpc DeleteAgent(DeleteAgentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Exports the specified agent to a binary file. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // [ExportAgentResponse][google.cloud.dialogflow.cx.v3.ExportAgentResponse] + rpc ExportAgent(ExportAgentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*}:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportAgentResponse" + metadata_type: "google.protobuf.Struct" + }; + } + + // Restores the specified agent from a binary file. + // + // Replaces the current agent with a new one. Note that all existing resources + // in agent (e.g. intents, entity types, flows) will be removed. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // + // Note: You should always train flows prior to sending them queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc RestoreAgent(RestoreAgentRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*}:restore" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Struct" + }; + } + + // Validates the specified agent and creates or updates validation results. + // The agent in draft version is validated. Please call this API after the + // training is completed to get the complete validation results. + rpc ValidateAgent(ValidateAgentRequest) returns (AgentValidationResult) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*}:validate" + body: "*" + }; + } + + // Gets the latest agent validation result. Agent validation is performed + // when ValidateAgent is called. + rpc GetAgentValidationResult(GetAgentValidationResultRequest) + returns (AgentValidationResult) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/validationResult}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets the generative settings for the agent. + rpc GetGenerativeSettings(GetGenerativeSettingsRequest) + returns (GenerativeSettings) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/generativeSettings}" + }; + option (google.api.method_signature) = "name,language_code"; + } + + // Updates the generative settings for the agent. + rpc UpdateGenerativeSettings(UpdateGenerativeSettingsRequest) + returns (GenerativeSettings) { + option (google.api.http) = { + patch: "/v3/{generative_settings.name=projects/*/locations/*/agents/*/generativeSettings}" + body: "generative_settings" + }; + option (google.api.method_signature) = "generative_settings,update_mask"; + } +} + +// Settings related to speech recognition. +message SpeechToTextSettings { + // Whether to use speech adaptation for speech recognition. + bool enable_speech_adaptation = 1; +} + +// Agents are best described as Natural Language Understanding (NLU) modules +// that transform user requests into actionable data. You can include agents +// in your app, product, or service to determine user intent and respond to the +// user in a natural way. +// +// After you create an agent, you can add +// [Intents][google.cloud.dialogflow.cx.v3.Intent], [Entity +// Types][google.cloud.dialogflow.cx.v3.EntityType], +// [Flows][google.cloud.dialogflow.cx.v3.Flow], +// [Fulfillments][google.cloud.dialogflow.cx.v3.Fulfillment], +// [Webhooks][google.cloud.dialogflow.cx.v3.Webhook], +// [TransitionRouteGroups][google.cloud.dialogflow.cx.v3.TransitionRouteGroup] +// and so on to manage the conversation flows. +message Agent { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Agent" + pattern: "projects/{project}/locations/{location}/agents/{agent}" + }; + + // Settings for connecting to Git repository for an agent. + message GitIntegrationSettings { + // Settings of integration with GitHub. + message GithubSettings { + // The unique repository display name for the GitHub repository. + string display_name = 1; + + // The GitHub repository URI related to the agent. + string repository_uri = 2; + + // The branch of the GitHub repository tracked for this agent. + string tracking_branch = 3; + + // The access token used to authenticate the access to the GitHub + // repository. + string access_token = 4; + + // A list of branches configured to be used from Dialogflow. + repeated string branches = 5; + } + + // The git settings to specific systems. + oneof git_settings { + // GitHub settings. + GithubSettings github_settings = 1; + } + } + + // Settings for Gen App Builder. + message GenAppBuilderSettings { + // Required. The full name of the Gen App Builder engine related to this + // agent if there is one. Format: `projects/{Project ID}/locations/{Location + // ID}/collections/{Collection ID}/engines/{Engine ID}` + string engine = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The unique identifier of the agent. + // Required for the + // [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3.Agents.UpdateAgent] + // method. + // [Agents.CreateAgent][google.cloud.dialogflow.cx.v3.Agents.CreateAgent] + // populates the name automatically. + // Format: `projects//locations//agents/`. + string name = 1; + + // Required. The human-readable name of the agent, unique within the location. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Immutable. The default language of the agent as a language tag. + // See [Language + // Support](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // for a list of the currently supported language codes. + // This field cannot be set by the + // [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3.Agents.UpdateAgent] + // method. + string default_language_code = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // The list of all languages supported by the agent (except for the + // `default_language_code`). + repeated string supported_language_codes = 4; + + // Required. The time zone of the agent from the [time zone + // database](https://www.iana.org/time-zones), e.g., America/New_York, + // Europe/Paris. + string time_zone = 5 [(google.api.field_behavior) = REQUIRED]; + + // The description of the agent. The maximum length is 500 characters. If + // exceeded, the request is rejected. + string description = 6; + + // The URI of the agent's avatar. Avatars are used throughout the Dialogflow + // console and in the self-hosted [Web + // Demo](https://cloud.google.com/dialogflow/docs/integrations/web-demo) + // integration. + string avatar_uri = 7; + + // Speech recognition related settings. + SpeechToTextSettings speech_to_text_settings = 13; + + // Immutable. Name of the start flow in this agent. A start flow will be + // automatically created when the agent is created, and can only be deleted by + // deleting the agent. Format: `projects//locations//agents//flows/`. + string start_flow = 16 [ + (google.api.field_behavior) = IMMUTABLE, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // Name of the + // [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings] + // reference for the agent. Format: `projects//locations//securitySettings/`. + string security_settings = 17 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/SecuritySettings" + }]; + + // Indicates if stackdriver logging is enabled for the agent. + // Please use + // [agent.advanced_settings][google.cloud.dialogflow.cx.v3.AdvancedSettings.LoggingSettings] + // instead. + bool enable_stackdriver_logging = 18 [deprecated = true]; + + // Indicates if automatic spell correction is enabled in detect intent + // requests. + bool enable_spell_correction = 20; + + // Indicates whether the agent is locked for changes. If the agent is locked, + // modifications to the agent will be rejected except for [RestoreAgent][]. + bool locked = 27; + + // Hierarchical advanced settings for this agent. The settings exposed at the + // lower level overrides the settings exposed at the higher level. + AdvancedSettings advanced_settings = 22; + + // Git integration settings for this agent. + GitIntegrationSettings git_integration_settings = 30; + + // Settings on instructing the speech synthesizer on how to generate the + // output audio content. + TextToSpeechSettings text_to_speech_settings = 31; + + // Gen App Builder-related agent-level settings. + optional GenAppBuilderSettings gen_app_builder_settings = 33; +} + +// The request message for +// [Agents.ListAgents][google.cloud.dialogflow.cx.v3.Agents.ListAgents]. +message ListAgentsRequest { + // Required. The location to list all agents for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Agent" + } + ]; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Agents.ListAgents][google.cloud.dialogflow.cx.v3.Agents.ListAgents]. +message ListAgentsResponse { + // The list of agents. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Agent agents = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Agents.GetAgent][google.cloud.dialogflow.cx.v3.Agents.GetAgent]. +message GetAgentRequest { + // Required. The name of the agent. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; +} + +// The request message for +// [Agents.CreateAgent][google.cloud.dialogflow.cx.v3.Agents.CreateAgent]. +message CreateAgentRequest { + // Required. The location to create a agent for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Agent" + } + ]; + + // Required. The agent to create. + Agent agent = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Agents.UpdateAgent][google.cloud.dialogflow.cx.v3.Agents.UpdateAgent]. +message UpdateAgentRequest { + // Required. The agent to update. + Agent agent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 2; +} + +// The request message for +// [Agents.DeleteAgent][google.cloud.dialogflow.cx.v3.Agents.DeleteAgent]. +message DeleteAgentRequest { + // Required. The name of the agent to delete. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; +} + +// The request message for +// [Agents.ExportAgent][google.cloud.dialogflow.cx.v3.Agents.ExportAgent]. +message ExportAgentRequest { + // Data format of the exported agent. + enum DataFormat { + // Unspecified format. + DATA_FORMAT_UNSPECIFIED = 0; + + // Agent content will be exported as raw bytes. + BLOB = 1; + + // Agent content will be exported in JSON Package format. + JSON_PACKAGE = 4; + } + + // Settings for exporting to a git branch. + message GitDestination { + // Tracking branch for the git push. + string tracking_branch = 1; + + // Commit message for the git push. + string commit_message = 2; + } + + // Required. The name of the agent to export. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; + + // Optional. The [Google Cloud + // Storage](https://cloud.google.com/storage/docs/) URI to export the agent + // to. The format of this URI must be `gs:///`. If + // left unspecified, the serialized agent is returned inline. + // + // Dialogflow performs a write operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have write permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string agent_uri = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The data format of the exported agent. If not specified, `BLOB` + // is assumed. + DataFormat data_format = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Environment name. If not set, draft environment is assumed. + // Format: `projects//locations//agents//environments/`. + string environment = 5 [ + (google.api.field_behavior) = OPTIONAL, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; + + // Optional. The Git branch to export the agent to. + GitDestination git_destination = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to include BigQuery Export setting. + bool include_bigquery_export_settings = 7 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Agents.ExportAgent][google.cloud.dialogflow.cx.v3.Agents.ExportAgent]. +message ExportAgentResponse { + // The exported agent. + oneof agent { + // The URI to a file containing the exported agent. This field is populated + // if `agent_uri` is specified in + // [ExportAgentRequest][google.cloud.dialogflow.cx.v3.ExportAgentRequest]. + string agent_uri = 1; + + // Uncompressed raw byte content for agent. This field is populated + // if none of `agent_uri` and `git_destination` are specified in + // [ExportAgentRequest][google.cloud.dialogflow.cx.v3.ExportAgentRequest]. + bytes agent_content = 2; + + // Commit SHA of the git push. This field is populated if + // `git_destination` is specified in + // [ExportAgentRequest][google.cloud.dialogflow.cx.v3.ExportAgentRequest]. + string commit_sha = 3; + } +} + +// The request message for +// [Agents.RestoreAgent][google.cloud.dialogflow.cx.v3.Agents.RestoreAgent]. +message RestoreAgentRequest { + // Settings for restoring from a git branch + message GitSource { + // tracking branch for the git pull + string tracking_branch = 1; + } + + // Restore option. + enum RestoreOption { + // Unspecified. Treated as KEEP. + RESTORE_OPTION_UNSPECIFIED = 0; + + // Always respect the settings from the exported agent file. It may cause + // a restoration failure if some settings (e.g. model type) are not + // supported in the target agent. + KEEP = 1; + + // Fallback to default settings if some settings are not supported in the + // target agent. + FALLBACK = 2; + } + + // Required. The name of the agent to restore into. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; + + // Required. The agent to restore. + oneof agent { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // to restore agent from. The format of this URI must be + // `gs:///`. + // + // Dialogflow performs a read operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have read permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string agent_uri = 2; + + // Uncompressed raw byte content for agent. + bytes agent_content = 3; + + // Setting for restoring from a git branch + GitSource git_source = 6; + } + + // Agent restore mode. If not specified, `KEEP` is assumed. + RestoreOption restore_option = 5; +} + +// The request message for +// [Agents.ValidateAgent][google.cloud.dialogflow.cx.v3.Agents.ValidateAgent]. +message ValidateAgentRequest { + // Required. The agent to validate. + // Format: `projects//locations//agents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Agent" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The request message for +// [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3.Agents.GetAgentValidationResult]. +message GetAgentValidationResultRequest { + // Required. The agent name. + // Format: `projects//locations//agents//validationResult`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/AgentValidationResult" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The response message for +// [Agents.GetAgentValidationResult][google.cloud.dialogflow.cx.v3.Agents.GetAgentValidationResult]. +message AgentValidationResult { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/AgentValidationResult" + pattern: "projects/{project}/locations/{location}/agents/{agent}/validationResult" + }; + + // The unique identifier of the agent validation result. + // Format: `projects//locations//agents//validationResult`. + string name = 1; + + // Contains all flow validation results. + repeated FlowValidationResult flow_validation_results = 2; +} + +// Request for +// [GetGenerativeSettings][google.cloud.dialogflow.cx.v3.Agents.GetGenerativeSettings] +// RPC. +message GetGenerativeSettingsRequest { + // Required. Format: `projects//locations//agents//generativeSettings`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/AgentGenerativeSettings" + } + ]; + + // Required. Language code of the generative settings. + string language_code = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for +// [UpdateGenerativeSettings][google.cloud.dialogflow.cx.v3.Agents.UpdateGenerativeSettings] +// RPC. +message UpdateGenerativeSettingsRequest { + // Required. Generative settings to update. + GenerativeSettings generative_settings = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The mask to control which fields get updated. If the mask is not + // present, all fields will be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/audio_config.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/audio_config.proto new file mode 100644 index 00000000000..7f18827cb96 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/audio_config.proto @@ -0,0 +1,349 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "AudioConfigProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; +option (google.api.resource_definition) = { + type: "automl.googleapis.com/Model" + pattern: "projects/{project}/locations/{location}/models/{model}" +}; + +// Audio encoding of the audio content sent in the conversational query request. +// Refer to the +// [Cloud Speech API +// documentation](https://cloud.google.com/speech-to-text/docs/basics) for more +// details. +enum AudioEncoding { + // Not specified. + AUDIO_ENCODING_UNSPECIFIED = 0; + + // Uncompressed 16-bit signed little-endian samples (Linear PCM). + AUDIO_ENCODING_LINEAR_16 = 1; + + // [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio + // Codec) is the recommended encoding because it is lossless (therefore + // recognition is not compromised) and requires only about half the + // bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and + // 24-bit samples, however, not all fields in `STREAMINFO` are supported. + AUDIO_ENCODING_FLAC = 2; + + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + AUDIO_ENCODING_MULAW = 3; + + // Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000. + AUDIO_ENCODING_AMR = 4; + + // Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000. + AUDIO_ENCODING_AMR_WB = 5; + + // Opus encoded audio frames in Ogg container + // ([OggOpus](https://wiki.xiph.org/OggOpus)). + // `sample_rate_hertz` must be 16000. + AUDIO_ENCODING_OGG_OPUS = 6; + + // Although the use of lossy encodings is not recommended, if a very low + // bitrate encoding is required, `OGG_OPUS` is highly preferred over + // Speex encoding. The [Speex](https://speex.org/) encoding supported by + // Dialogflow API has a header byte in each block, as in MIME type + // `audio/x-speex-with-header-byte`. + // It is a variant of the RTP Speex encoding defined in + // [RFC 5574](https://tools.ietf.org/html/rfc5574). + // The stream is a sequence of blocks, one block per RTP packet. Each block + // starts with a byte containing the length of the block, in bytes, followed + // by one or more frames of Speex data, padded to an integral number of + // bytes (octets) as specified in RFC 5574. In other words, each RTP header + // is replaced with a single byte containing the block length. Only Speex + // wideband is supported. `sample_rate_hertz` must be 16000. + AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7; +} + +// Variant of the specified [Speech +// model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] to use. +// +// See the [Cloud Speech +// documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) +// for which models have different variants. For example, the "phone_call" model +// has both a standard and an enhanced variant. When you use an enhanced model, +// you will generally receive higher quality results than for a standard model. +enum SpeechModelVariant { + // No model variant specified. In this case Dialogflow defaults to + // USE_BEST_AVAILABLE. + SPEECH_MODEL_VARIANT_UNSPECIFIED = 0; + + // Use the best available variant of the [Speech + // model][InputAudioConfig.model] that the caller is eligible for. + // + // Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) for + // how to make your project eligible for enhanced models. + USE_BEST_AVAILABLE = 1; + + // Use standard model variant even if an enhanced model is available. See the + // [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // for details about enhanced models. + USE_STANDARD = 2; + + // Use an enhanced model variant: + // + // * If an enhanced variant does not exist for the given + // [model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] and request + // language, Dialogflow falls back to the standard variant. + // + // The [Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/enhanced-models) + // describes which models have enhanced variants. + // + // * If the API caller isn't eligible for enhanced models, Dialogflow returns + // an error. Please see the [Dialogflow + // docs](https://cloud.google.com/dialogflow/docs/data-logging) + // for how to make your project eligible. + USE_ENHANCED = 3; +} + +// Information for a word recognized by the speech recognizer. +message SpeechWordInfo { + // The word this info is for. + string word = 3; + + // Time offset relative to the beginning of the audio that corresponds to the + // start of the spoken word. This is an experimental feature and the accuracy + // of the time offset can vary. + google.protobuf.Duration start_offset = 1; + + // Time offset relative to the beginning of the audio that corresponds to the + // end of the spoken word. This is an experimental feature and the accuracy of + // the time offset can vary. + google.protobuf.Duration end_offset = 2; + + // The Speech confidence between 0.0 and 1.0 for this word. A higher number + // indicates an estimated greater likelihood that the recognized word is + // correct. The default of 0.0 is a sentinel value indicating that confidence + // was not set. + // + // This field is not guaranteed to be fully stable over time for the same + // audio input. Users should also not rely on it to always be provided. + float confidence = 4; +} + +// Instructs the speech recognizer on how to process the audio content. +message InputAudioConfig { + // Required. Audio encoding of the audio content to process. + AudioEncoding audio_encoding = 1 [(google.api.field_behavior) = REQUIRED]; + + // Sample rate (in Hertz) of the audio content sent in the query. + // Refer to + // [Cloud Speech API + // documentation](https://cloud.google.com/speech-to-text/docs/basics) for + // more details. + int32 sample_rate_hertz = 2; + + // Optional. If `true`, Dialogflow returns + // [SpeechWordInfo][google.cloud.dialogflow.cx.v3.SpeechWordInfo] in + // [StreamingRecognitionResult][google.cloud.dialogflow.cx.v3.StreamingRecognitionResult] + // with information about the recognized speech words, e.g. start and end time + // offsets. If false or unspecified, Speech doesn't return any word-level + // information. + bool enable_word_info = 13; + + // Optional. A list of strings containing words and phrases that the speech + // recognizer should recognize with higher likelihood. + // + // See [the Cloud Speech + // documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) + // for more details. + repeated string phrase_hints = 4; + + // Optional. Which Speech model to select for the given request. Select the + // model best suited to your domain to get best results. If a model is not + // explicitly specified, then we auto-select a model based on the parameters + // in the InputAudioConfig. + // If enhanced speech model is enabled for the agent and an enhanced + // version of the specified model for the language does not exist, then the + // speech is recognized using the standard version of the specified model. + // Refer to + // [Cloud Speech API + // documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) + // for more details. + // If you specify a model, the following models typically have the best + // performance: + // + // - phone_call (best for Agent Assist and telephony) + // - latest_short (best for Dialogflow non-telephony) + // - command_and_search (best for very short utterances and commands) + string model = 7; + + // Optional. Which variant of the [Speech + // model][google.cloud.dialogflow.cx.v3.InputAudioConfig.model] to use. + SpeechModelVariant model_variant = 10; + + // Optional. If `false` (default), recognition does not cease until the + // client closes the stream. + // If `true`, the recognizer will detect a single spoken utterance in input + // audio. Recognition ceases when it detects the audio's voice has + // stopped or paused. In this case, once a detected intent is received, the + // client should close the stream and start a new request with a new stream as + // needed. + // Note: This setting is relevant only for streaming methods. + bool single_utterance = 8; +} + +// Gender of the voice as described in +// [SSML voice element](https://www.w3.org/TR/speech-synthesis11/#edef_voice). +enum SsmlVoiceGender { + // An unspecified gender, which means that the client doesn't care which + // gender the selected voice will have. + SSML_VOICE_GENDER_UNSPECIFIED = 0; + + // A male voice. + SSML_VOICE_GENDER_MALE = 1; + + // A female voice. + SSML_VOICE_GENDER_FEMALE = 2; + + // A gender-neutral voice. + SSML_VOICE_GENDER_NEUTRAL = 3; +} + +// Description of which voice to use for speech synthesis. +message VoiceSelectionParams { + // Optional. The name of the voice. If not set, the service will choose a + // voice based on the other parameters such as language_code and + // [ssml_gender][google.cloud.dialogflow.cx.v3.VoiceSelectionParams.ssml_gender]. + // + // For the list of available voices, please refer to [Supported voices and + // languages](https://cloud.google.com/text-to-speech/docs/voices). + string name = 1; + + // Optional. The preferred gender of the voice. If not set, the service will + // choose a voice based on the other parameters such as language_code and + // [name][google.cloud.dialogflow.cx.v3.VoiceSelectionParams.name]. Note that + // this is only a preference, not requirement. If a voice of the appropriate + // gender is not available, the synthesizer substitutes a voice with a + // different gender rather than failing the request. + SsmlVoiceGender ssml_gender = 2; +} + +// Configuration of how speech should be synthesized. +message SynthesizeSpeechConfig { + // Optional. Speaking rate/speed, in the range [0.25, 4.0]. 1.0 is the normal + // native speed supported by the specific voice. 2.0 is twice as fast, and + // 0.5 is half as fast. If unset(0.0), defaults to the native 1.0 speed. Any + // other values < 0.25 or > 4.0 will return an error. + double speaking_rate = 1; + + // Optional. Speaking pitch, in the range [-20.0, 20.0]. 20 means increase 20 + // semitones from the original pitch. -20 means decrease 20 semitones from the + // original pitch. + double pitch = 2; + + // Optional. Volume gain (in dB) of the normal native volume supported by the + // specific voice, in the range [-96.0, 16.0]. If unset, or set to a value of + // 0.0 (dB), will play at normal native signal amplitude. A value of -6.0 (dB) + // will play at approximately half the amplitude of the normal native signal + // amplitude. A value of +6.0 (dB) will play at approximately twice the + // amplitude of the normal native signal amplitude. We strongly recommend not + // to exceed +10 (dB) as there's usually no effective increase in loudness for + // any value greater than that. + double volume_gain_db = 3; + + // Optional. An identifier which selects 'audio effects' profiles that are + // applied on (post synthesized) text to speech. Effects are applied on top of + // each other in the order they are given. + repeated string effects_profile_id = 5; + + // Optional. The desired voice of the synthesized audio. + VoiceSelectionParams voice = 4; +} + +// Audio encoding of the output audio format in Text-To-Speech. +enum OutputAudioEncoding { + // Not specified. + OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0; + + // Uncompressed 16-bit signed little-endian samples (Linear PCM). + // Audio content returned as LINEAR16 also contains a WAV header. + OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1; + + // MP3 audio at 32kbps. + OUTPUT_AUDIO_ENCODING_MP3 = 2; + + // MP3 audio at 64kbps. + OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 4; + + // Opus encoded audio wrapped in an ogg container. The result will be a + // file which can be played natively on Android, and in browsers (at least + // Chrome and Firefox). The quality of the encoding is considerably higher + // than MP3 while using approximately the same bitrate. + OUTPUT_AUDIO_ENCODING_OGG_OPUS = 3; + + // 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. + OUTPUT_AUDIO_ENCODING_MULAW = 5; +} + +// Instructs the speech synthesizer how to generate the output audio content. +message OutputAudioConfig { + // Required. Audio encoding of the synthesized audio content. + OutputAudioEncoding audio_encoding = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The synthesis sample rate (in hertz) for this audio. If not + // provided, then the synthesizer will use the default sample rate based on + // the audio encoding. If this is different from the voice's natural sample + // rate, then the synthesizer will honor this request by converting to the + // desired sample rate (which might result in worse audio quality). + int32 sample_rate_hertz = 2; + + // Optional. Configuration of how speech should be synthesized. + // If not specified, + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings] + // is applied. + SynthesizeSpeechConfig synthesize_speech_config = 3; +} + +// Settings related to speech synthesizing. +message TextToSpeechSettings { + // Configuration of how speech should be synthesized, mapping from language + // (https://cloud.google.com/dialogflow/cx/docs/reference/language) to + // SynthesizeSpeechConfig. + // + // These settings affect: + // + // - The [phone + // gateway](https://cloud.google.com/dialogflow/cx/docs/concept/integration/phone-gateway) + // synthesize configuration set via + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings]. + // + // - How speech is synthesized when invoking + // [session][google.cloud.dialogflow.cx.v3.Sessions] APIs. + // [Agent.text_to_speech_settings][google.cloud.dialogflow.cx.v3.Agent.text_to_speech_settings] + // only applies if + // [OutputAudioConfig.synthesize_speech_config][google.cloud.dialogflow.cx.v3.OutputAudioConfig.synthesize_speech_config] + // is not specified. + map synthesize_speech_configs = 1; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/changelog.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/changelog.proto new file mode 100644 index 00000000000..c4b805eafb2 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/changelog.proto @@ -0,0 +1,156 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ChangelogProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Changelogs][google.cloud.dialogflow.cx.v3.Changelog]. +service Changelogs { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of Changelogs. + rpc ListChangelogs(ListChangelogsRequest) returns (ListChangelogsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/changelogs" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified Changelog. + rpc GetChangelog(GetChangelogRequest) returns (Changelog) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/changelogs/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for +// [Changelogs.ListChangelogs][google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogs]. +message ListChangelogsRequest { + // Required. The agent containing the changelogs. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Changelog" + } + ]; + + // The filter string. Supports filter by user_email, resource, type and + // create_time. Some examples: + // 1. By user email: + // user_email = "someone@google.com" + // 2. By resource name: + // resource = "projects/123/locations/global/agents/456/flows/789" + // 3. By resource display name: + // display_name = "my agent" + // 4. By action: + // action = "Create" + // 5. By type: + // type = "flows" + // 6. By create time. Currently predicates on `create_time` and + // `create_time_epoch_seconds` are supported: + // create_time_epoch_seconds > 1551790877 AND create_time <= + // 2017-01-15T01:30:15.01Z + // 7. Combination of above filters: + // resource = "projects/123/locations/global/agents/456/flows/789" + // AND user_email = "someone@google.com" + // AND create_time <= 2017-01-15T01:30:15.01Z + string filter = 2; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 3; + + // The next_page_token value returned from a previous list request. + string page_token = 4; +} + +// The response message for +// [Changelogs.ListChangelogs][google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogs]. +message ListChangelogsResponse { + // The list of changelogs. There will be a maximum number of items returned + // based on the page_size field in the request. The changelogs will be ordered + // by timestamp. + repeated Changelog changelogs = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Changelogs.GetChangelog][google.cloud.dialogflow.cx.v3.Changelogs.GetChangelog]. +message GetChangelogRequest { + // Required. The name of the changelog to get. + // Format: `projects//locations//agents//changelogs/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Changelog" + } + ]; +} + +// Changelogs represents a change made to a given agent. +message Changelog { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Changelog" + pattern: "projects/{project}/locations/{location}/agents/{agent}/changelogs/{changelog}" + }; + + // The unique identifier of the changelog. + // Format: `projects//locations//agents//changelogs/`. + string name = 1; + + // Email address of the authenticated user. + string user_email = 2; + + // The affected resource display name of the change. + string display_name = 7; + + // The action of the change. + string action = 11; + + // The affected resource type. + string type = 8; + + // The affected resource name of the change. + string resource = 3; + + // The timestamp of the change. + google.protobuf.Timestamp create_time = 4; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/data_store_connection.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/data_store_connection.proto new file mode 100644 index 00000000000..9dde0067186 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/data_store_connection.proto @@ -0,0 +1,56 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "DataStoreConnectionProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// A data store connection. It represents a data store in Discovery Engine and +// the type of the contents it contains. +message DataStoreConnection { + // The type of the connected data store. + DataStoreType data_store_type = 1; + + // The full name of the referenced data store. + // Formats: + // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` + // `projects/{project}/locations/{location}/dataStores/{data_store}` + string data_store = 2; +} + +// Type of a data store. +// Determines how search is performed in the data store. +enum DataStoreType { + // Not specified. This value indicates that the data store type is not + // specified, so it will not be used during search. + DATA_STORE_TYPE_UNSPECIFIED = 0; + + // A data store that contains public web content. + PUBLIC_WEB = 1; + + // A data store that contains unstructured private data. + UNSTRUCTURED = 2; + + // A data store that contains structured data (for example FAQ). + STRUCTURED = 3; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/deployment.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/deployment.proto new file mode 100644 index 00000000000..c676332e330 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/deployment.proto @@ -0,0 +1,178 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "DeploymentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Deployments][google.cloud.dialogflow.cx.v3.Deployment]. +service Deployments { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all deployments in the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc ListDeployments(ListDeploymentsRequest) + returns (ListDeploymentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/deployments" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified + // [Deployment][google.cloud.dialogflow.cx.v3.Deployment]. + rpc GetDeployment(GetDeploymentRequest) returns (Deployment) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*/deployments/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Represents a deployment in an environment. A deployment happens when a flow +// version configured to be active in the environment. You can configure running +// pre-deployment steps, e.g. running validation test cases, experiment +// auto-rollout, etc. +message Deployment { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Deployment" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/deployments/{deployment}" + }; + + // The state of the deployment. + enum State { + // State unspecified. + STATE_UNSPECIFIED = 0; + + // The deployment is running. + RUNNING = 1; + + // The deployment succeeded. + SUCCEEDED = 2; + + // The deployment failed. + FAILED = 3; + } + + // Result of the deployment. + message Result { + // Results of test cases running before the deployment. + // Format: `projects//locations//agents//testCases//results/`. + repeated string deployment_test_results = 1 + [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TestCaseResult" + }]; + + // The name of the experiment triggered by this deployment. + // Format: projects//locations//agents//environments//experiments/. + string experiment = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + }]; + } + + // The name of the deployment. + // Format: projects//locations//agents//environments//deployments/. + string name = 1; + + // The name of the flow version for this deployment. + // Format: projects//locations//agents//flows//versions/. + string flow_version = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + }]; + + // The current state of the deployment. + State state = 3; + + // Result of the deployment. + Result result = 4; + + // Start time of this deployment. + google.protobuf.Timestamp start_time = 5; + + // End time of this deployment. + google.protobuf.Timestamp end_time = 6; +} + +// The request message for +// [Deployments.ListDeployments][google.cloud.dialogflow.cx.v3.Deployments.ListDeployments]. +message ListDeploymentsRequest { + // Required. The [Environment][google.cloud.dialogflow.cx.v3.Environment] to + // list all environments for. Format: `projects//locations//agents//environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Deployment" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Deployments.ListDeployments][google.cloud.dialogflow.cx.v3.Deployments.ListDeployments]. +message ListDeploymentsResponse { + // The list of deployments. There will be a maximum number of items + // returned based on the page_size field in the request. The list may in some + // cases be empty or contain fewer entries than page_size even if this isn't + // the last page. + repeated Deployment deployments = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Deployments.GetDeployment][google.cloud.dialogflow.cx.v3.Deployments.GetDeployment]. +message GetDeploymentRequest { + // Required. The name of the + // [Deployment][google.cloud.dialogflow.cx.v3.Deployment]. Format: + // `projects//locations//agents//environments//deployments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Deployment" + } + ]; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/entity_type.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/entity_type.proto new file mode 100644 index 00000000000..28b68b5d993 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/entity_type.proto @@ -0,0 +1,385 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "EntityTypeProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [EntityTypes][google.cloud.dialogflow.cx.v3.EntityType]. +service EntityTypes { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all entity types in the specified agent. + rpc ListEntityTypes(ListEntityTypesRequest) + returns (ListEntityTypesResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/entityTypes" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified entity type. + rpc GetEntityType(GetEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/entityTypes/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an entity type in the specified agent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateEntityType(CreateEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/entityTypes" + body: "entity_type" + }; + option (google.api.method_signature) = "parent,entity_type"; + } + + // Updates the specified entity type. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateEntityType(UpdateEntityTypeRequest) returns (EntityType) { + option (google.api.http) = { + patch: "/v3/{entity_type.name=projects/*/locations/*/agents/*/entityTypes/*}" + body: "entity_type" + }; + option (google.api.method_signature) = "entity_type,update_mask"; + } + + // Deletes the specified entity type. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc DeleteEntityType(DeleteEntityTypeRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/entityTypes/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// Entities are extracted from user input and represent parameters that are +// meaningful to your application. For example, a date range, a proper name +// such as a geographic location or landmark, and so on. Entities represent +// actionable data for your application. +// +// When you define an entity, you can also include synonyms that all map to +// that entity. For example, "soft drink", "soda", "pop", and so on. +// +// There are three types of entities: +// +// * **System** - entities that are defined by the Dialogflow API for common +// data types such as date, time, currency, and so on. A system entity is +// represented by the `EntityType` type. +// +// * **Custom** - entities that are defined by you that represent +// actionable data that is meaningful to your application. For example, +// you could define a `pizza.sauce` entity for red or white pizza sauce, +// a `pizza.cheese` entity for the different types of cheese on a pizza, +// a `pizza.topping` entity for different toppings, and so on. A custom +// entity is represented by the `EntityType` type. +// +// * **User** - entities that are built for an individual user such as +// favorites, preferences, playlists, and so on. A user entity is +// represented by the +// [SessionEntityType][google.cloud.dialogflow.cx.v3.SessionEntityType] +// type. +// +// For more information about entity types, see the [Dialogflow +// documentation](https://cloud.google.com/dialogflow/docs/entities-overview). +message EntityType { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/EntityType" + pattern: "projects/{project}/locations/{location}/agents/{agent}/entityTypes/{entity_type}" + }; + + // Represents kinds of entities. + enum Kind { + // Not specified. This value should be never used. + KIND_UNSPECIFIED = 0; + + // Map entity types allow mapping of a group of synonyms to a canonical + // value. + KIND_MAP = 1; + + // List entity types contain a set of entries that do not map to canonical + // values. However, list entity types can contain references to other entity + // types (with or without aliases). + KIND_LIST = 2; + + // Regexp entity types allow to specify regular expressions in entries + // values. + KIND_REGEXP = 3; + } + + // Represents different entity type expansion modes. Automated expansion + // allows an agent to recognize values that have not been explicitly listed in + // the entity (for example, new kinds of shopping list items). + enum AutoExpansionMode { + // Auto expansion disabled for the entity. + AUTO_EXPANSION_MODE_UNSPECIFIED = 0; + + // Allows an agent to recognize values that have not been explicitly + // listed in the entity. + AUTO_EXPANSION_MODE_DEFAULT = 1; + } + + // An **entity entry** for an associated entity type. + message Entity { + // Required. The primary value associated with this entity entry. + // For example, if the entity type is *vegetable*, the value could be + // *scallions*. + // + // For `KIND_MAP` entity types: + // + // * A canonical value to be used in place of synonyms. + // + // For `KIND_LIST` entity types: + // + // * A string that can contain references to other entity types (with or + // without aliases). + string value = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. A collection of value synonyms. For example, if the entity type + // is *vegetable*, and `value` is *scallions*, a synonym could be *green + // onions*. + // + // For `KIND_LIST` entity types: + // + // * This collection must contain exactly one synonym equal to `value`. + repeated string synonyms = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // An excluded entity phrase that should not be matched. + message ExcludedPhrase { + // Required. The word or phrase to be excluded. + string value = 1 [(google.api.field_behavior) = REQUIRED]; + } + + // The unique identifier of the entity type. + // Required for + // [EntityTypes.UpdateEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.UpdateEntityType]. + // Format: `projects//locations//agents//entityTypes/`. + string name = 1; + + // Required. The human-readable name of the entity type, unique within the + // agent. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Indicates the kind of entity type. + Kind kind = 3 [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether the entity type can be automatically expanded. + AutoExpansionMode auto_expansion_mode = 4; + + // The collection of entity entries associated with the entity type. + repeated Entity entities = 5; + + // Collection of exceptional words and phrases that shouldn't be matched. + // For example, if you have a size entity type with entry `giant`(an + // adjective), you might consider adding `giants`(a noun) as an exclusion. + // If the kind of entity type is `KIND_MAP`, then the phrases specified by + // entities and excluded phrases should be mutually exclusive. + repeated ExcludedPhrase excluded_phrases = 6; + + // Enables fuzzy entity extraction during classification. + bool enable_fuzzy_extraction = 7; + + // Indicates whether parameters of the entity type should be redacted in log. + // If redaction is enabled, page parameters and intent parameters referring to + // the entity type will be replaced by parameter name when logging. + bool redact = 9; +} + +// The request message for +// [EntityTypes.ListEntityTypes][google.cloud.dialogflow.cx.v3.EntityTypes.ListEntityTypes]. +message ListEntityTypesRequest { + // Required. The agent to list all entity types for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // The language to list entity types for. The following fields are language + // dependent: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 3; + + // The next_page_token value returned from a previous list request. + string page_token = 4; +} + +// The response message for +// [EntityTypes.ListEntityTypes][google.cloud.dialogflow.cx.v3.EntityTypes.ListEntityTypes]. +message ListEntityTypesResponse { + // The list of entity types. There will be a maximum number of items returned + // based on the page_size field in the request. + repeated EntityType entity_types = 1; + + // Token to retrieve the next page of results, or empty if there are no + // more results in the list. + string next_page_token = 2; +} + +// The request message for +// [EntityTypes.GetEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.GetEntityType]. +message GetEntityTypeRequest { + // Required. The name of the entity type. + // Format: `projects//locations//agents//entityTypes/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // The language to retrieve the entity type for. The following fields are + // language dependent: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for +// [EntityTypes.CreateEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.CreateEntityType]. +message CreateEntityTypeRequest { + // Required. The agent to create a entity type for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // Required. The entity type to create. + EntityType entity_type = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `entity_type`: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for +// [EntityTypes.UpdateEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.UpdateEntityType]. +message UpdateEntityTypeRequest { + // Required. The entity type to update. + EntityType entity_type = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `entity_type`: + // + // * `EntityType.entities.value` + // * `EntityType.entities.synonyms` + // * `EntityType.excluded_phrases.value` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The mask to control which fields get updated. + google.protobuf.FieldMask update_mask = 3; +} + +// The request message for +// [EntityTypes.DeleteEntityType][google.cloud.dialogflow.cx.v3.EntityTypes.DeleteEntityType]. +message DeleteEntityTypeRequest { + // Required. The name of the entity type to delete. + // Format: `projects//locations//agents//entityTypes/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // This field has no effect for entity type not being used. + // For entity types that are used by intents or pages: + // + // * If `force` is set to false, an error will be returned with message + // indicating the referencing resources. + // * If `force` is set to true, Dialogflow will remove the entity type, as + // well as any references to the entity type (i.e. Page + // [parameter][google.cloud.dialogflow.cx.v3.Form.Parameter] of the entity + // type will be changed to + // '@sys.any' and intent + // [parameter][google.cloud.dialogflow.cx.v3.Intent.Parameter] of the + // entity type will be removed). + bool force = 2; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/environment.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/environment.proto new file mode 100644 index 00000000000..b20e0f73cc0 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/environment.proto @@ -0,0 +1,541 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/test_case.proto"; +import "google/cloud/dialogflow/cx/v3/webhook.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "EnvironmentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing +// [Environments][google.cloud.dialogflow.cx.v3.Environment]. +service Environments { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all environments in the specified + // [Agent][google.cloud.dialogflow.cx.v3.Agent]. + rpc ListEnvironments(ListEnvironmentsRequest) + returns (ListEnvironmentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/environments" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc GetEnvironment(GetEnvironmentRequest) returns (Environment) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an [Environment][google.cloud.dialogflow.cx.v3.Environment] in the + // specified [Agent][google.cloud.dialogflow.cx.v3.Agent]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + rpc CreateEnvironment(CreateEnvironmentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/environments" + body: "environment" + }; + option (google.api.method_signature) = "parent,environment"; + option (google.longrunning.operation_info) = { + response_type: "Environment" + metadata_type: "google.protobuf.Struct" + }; + } + + // Updates the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: [Environment][google.cloud.dialogflow.cx.v3.Environment] + rpc UpdateEnvironment(UpdateEnvironmentRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v3/{environment.name=projects/*/locations/*/agents/*/environments/*}" + body: "environment" + }; + option (google.api.method_signature) = "environment,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Environment" + metadata_type: "google.protobuf.Struct" + }; + } + + // Deletes the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc DeleteEnvironment(DeleteEnvironmentRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/environments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Looks up the history of the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc LookupEnvironmentHistory(LookupEnvironmentHistoryRequest) + returns (LookupEnvironmentHistoryResponse) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*}:lookupEnvironmentHistory" + }; + option (google.api.method_signature) = "name"; + } + + // Kicks off a continuous test under the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: + // [RunContinuousTestMetadata][google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata] + // - `response`: + // [RunContinuousTestResponse][google.cloud.dialogflow.cx.v3.RunContinuousTestResponse] + rpc RunContinuousTest(RunContinuousTestRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{environment=projects/*/locations/*/agents/*/environments/*}:runContinuousTest" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "RunContinuousTestResponse" + metadata_type: "RunContinuousTestMetadata" + }; + } + + // Fetches a list of continuous test results for a given environment. + rpc ListContinuousTestResults(ListContinuousTestResultsRequest) + returns (ListContinuousTestResultsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/continuousTestResults" + }; + option (google.api.method_signature) = "parent"; + } + + // Deploys a flow to the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: + // [DeployFlowMetadata][google.cloud.dialogflow.cx.v3.DeployFlowMetadata] + // - `response`: + // [DeployFlowResponse][google.cloud.dialogflow.cx.v3.DeployFlowResponse] + rpc DeployFlow(DeployFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{environment=projects/*/locations/*/agents/*/environments/*}:deployFlow" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "DeployFlowResponse" + metadata_type: "DeployFlowMetadata" + }; + } +} + +// Represents an environment for an agent. You can create multiple versions +// of your agent and publish them to separate environments. When you edit an +// agent, you are editing the draft agent. At any point, you can save the draft +// agent as an agent version, which is an immutable snapshot of your agent. When +// you save the draft agent, it is published to the default environment. When +// you create agent versions, you can publish them to custom environments. You +// can create a variety of custom environments for testing, development, +// production, etc. +message Environment { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Environment" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}" + }; + + // Configuration for the version. + message VersionConfig { + // Required. Format: projects//locations//agents//flows//versions/. + string version = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + } + ]; + } + + // The configuration for continuous tests. + message TestCasesConfig { + // A list of test case names to run. They should be under the same agent. + // Format of each test case name: `projects//locations/ + // /agents//testCases/` + repeated string test_cases = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TestCase" + }]; + + // Whether to run test cases in + // [TestCasesConfig.test_cases][google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig.test_cases] + // periodically. Default false. If set to true, run once a day. + bool enable_continuous_run = 2; + + // Whether to run test cases in + // [TestCasesConfig.test_cases][google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig.test_cases] + // before deploying a flow version to the environment. Default false. + bool enable_predeployment_run = 3; + } + + // Configuration for webhooks. + message WebhookConfig { + // The list of webhooks to override for the agent environment. The webhook + // must exist in the agent. You can override fields in + // [`generic_web_service`][google.cloud.dialogflow.cx.v3.Webhook.generic_web_service] + // and + // [`service_directory`][google.cloud.dialogflow.cx.v3.Webhook.service_directory]. + repeated Webhook webhook_overrides = 1; + } + + // The name of the environment. + // Format: `projects//locations//agents//environments/`. + string name = 1; + + // Required. The human-readable name of the environment (unique in an agent). + // Limit of 64 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable description of the environment. The maximum length is + // 500 characters. If exceeded, the request is rejected. + string description = 3; + + // A list of configurations for flow versions. You should include version + // configs for all flows that are reachable from [`Start + // Flow`][Agent.start_flow] in the agent. Otherwise, an error will be + // returned. + repeated VersionConfig version_configs = 6; + + // Output only. Update time of this environment. + google.protobuf.Timestamp update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The test cases config for continuous tests of this environment. + TestCasesConfig test_cases_config = 7; + + // The webhook configuration for this environment. + WebhookConfig webhook_config = 10; +} + +// The request message for +// [Environments.ListEnvironments][google.cloud.dialogflow.cx.v3.Environments.ListEnvironments]. +message ListEnvironmentsRequest { + // Required. The [Agent][google.cloud.dialogflow.cx.v3.Agent] to list all + // environments for. Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Environment" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Environments.ListEnvironments][google.cloud.dialogflow.cx.v3.Environments.ListEnvironments]. +message ListEnvironmentsResponse { + // The list of environments. There will be a maximum number of items + // returned based on the page_size field in the request. The list may in some + // cases be empty or contain fewer entries than page_size even if this isn't + // the last page. + repeated Environment environments = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Environments.GetEnvironment][google.cloud.dialogflow.cx.v3.Environments.GetEnvironment]. +message GetEnvironmentRequest { + // Required. The name of the + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. Format: + // `projects//locations//agents//environments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The request message for +// [Environments.CreateEnvironment][google.cloud.dialogflow.cx.v3.Environments.CreateEnvironment]. +message CreateEnvironmentRequest { + // Required. The [Agent][google.cloud.dialogflow.cx.v3.Agent] to create an + // [Environment][google.cloud.dialogflow.cx.v3.Environment] for. Format: + // `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Environment" + } + ]; + + // Required. The environment to create. + Environment environment = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Environments.UpdateEnvironment][google.cloud.dialogflow.cx.v3.Environments.UpdateEnvironment]. +message UpdateEnvironmentRequest { + // Required. The environment to update. + Environment environment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The mask to control which fields get updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Environments.DeleteEnvironment][google.cloud.dialogflow.cx.v3.Environments.DeleteEnvironment]. +message DeleteEnvironmentRequest { + // Required. The name of the + // [Environment][google.cloud.dialogflow.cx.v3.Environment] to delete. Format: + // `projects//locations//agents//environments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The request message for +// [Environments.LookupEnvironmentHistory][google.cloud.dialogflow.cx.v3.Environments.LookupEnvironmentHistory]. +message LookupEnvironmentHistoryRequest { + // Required. Resource name of the environment to look up the history for. + // Format: `projects//locations//agents//environments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Environments.LookupEnvironmentHistory][google.cloud.dialogflow.cx.v3.Environments.LookupEnvironmentHistory]. +message LookupEnvironmentHistoryResponse { + // Represents a list of snapshots for an environment. Time of the snapshots is + // stored in + // [`update_time`][google.cloud.dialogflow.cx.v3.Environment.update_time]. + repeated Environment environments = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// Represents a result from running a test case in an agent environment. +message ContinuousTestResult { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/ContinuousTestResult" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/continuousTestResults/{continuous_test_result}" + }; + + // The overall result for a continuous test run in an agent environment. + enum AggregatedTestResult { + // Not specified. Should never be used. + AGGREGATED_TEST_RESULT_UNSPECIFIED = 0; + + // All the tests passed. + PASSED = 1; + + // At least one test did not pass. + FAILED = 2; + } + + // The resource name for the continuous test result. Format: + // `projects//locations//agents//environments//continuousTestResults/`. + string name = 1; + + // The result of this continuous test run, i.e. whether all the tests in this + // continuous test run pass or not. + AggregatedTestResult result = 2; + + // A list of individual test case results names in this continuous test run. + repeated string test_case_results = 3 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TestCaseResult" + }]; + + // Time when the continuous testing run starts. + google.protobuf.Timestamp run_time = 4; +} + +// The request message for +// [Environments.RunContinuousTest][google.cloud.dialogflow.cx.v3.Environments.RunContinuousTest]. +message RunContinuousTestRequest { + // Required. Format: `projects//locations//agents//environments/`. + string environment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; +} + +// The response message for +// [Environments.RunContinuousTest][google.cloud.dialogflow.cx.v3.Environments.RunContinuousTest]. +message RunContinuousTestResponse { + // The result for a continuous test run. + ContinuousTestResult continuous_test_result = 1; +} + +// Metadata returned for the +// [Environments.RunContinuousTest][google.cloud.dialogflow.cx.v3.Environments.RunContinuousTest] +// long running operation. +message RunContinuousTestMetadata { + // The test errors. + repeated TestError errors = 1; +} + +// The request message for +// [Environments.ListContinuousTestResults][google.cloud.dialogflow.cx.v3.Environments.ListContinuousTestResults]. +message ListContinuousTestResultsRequest { + // Required. The environment to list results for. + // Format: `projects//locations//agents// + // environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/ContinuousTestResult" + } + ]; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for [Environments.ListTestCaseResults][]. +message ListContinuousTestResultsResponse { + // The list of continuous test results. + repeated ContinuousTestResult continuous_test_results = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Environments.DeployFlow][google.cloud.dialogflow.cx.v3.Environments.DeployFlow]. +message DeployFlowRequest { + // Required. The environment to deploy the flow to. + // Format: `projects//locations//agents// + // environments/`. + string environment = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Environment" + } + ]; + + // Required. The flow version to deploy. + // Format: `projects//locations//agents// + // flows//versions/`. + string flow_version = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + } + ]; +} + +// The response message for +// [Environments.DeployFlow][google.cloud.dialogflow.cx.v3.Environments.DeployFlow]. +message DeployFlowResponse { + // The updated environment where the flow is deployed. + Environment environment = 1; + + // The name of the flow version + // [Deployment][google.cloud.dialogflow.cx.v3.Deployment]. Format: + // `projects//locations//agents// + // environments//deployments/`. + string deployment = 2; +} + +// Metadata returned for the +// [Environments.DeployFlow][google.cloud.dialogflow.cx.v3.Environments.DeployFlow] +// long running operation. +message DeployFlowMetadata { + // Errors of running deployment tests. + repeated TestError test_errors = 1; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/experiment.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/experiment.proto new file mode 100644 index 00000000000..5931a38477a --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/experiment.proto @@ -0,0 +1,524 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ExperimentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Experiments][google.cloud.dialogflow.cx.v3.Experiment]. +service Experiments { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all experiments in the specified + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc ListExperiments(ListExperimentsRequest) + returns (ListExperimentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/experiments" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified + // [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + rpc GetExperiment(GetExperimentRequest) returns (Experiment) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an [Experiment][google.cloud.dialogflow.cx.v3.Experiment] in the + // specified [Environment][google.cloud.dialogflow.cx.v3.Environment]. + rpc CreateExperiment(CreateExperimentRequest) returns (Experiment) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*/environments/*}/experiments" + body: "experiment" + }; + option (google.api.method_signature) = "parent,experiment"; + } + + // Updates the specified + // [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + rpc UpdateExperiment(UpdateExperimentRequest) returns (Experiment) { + option (google.api.http) = { + patch: "/v3/{experiment.name=projects/*/locations/*/agents/*/environments/*/experiments/*}" + body: "experiment" + }; + option (google.api.method_signature) = "experiment,update_mask"; + } + + // Deletes the specified + // [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + rpc DeleteExperiment(DeleteExperimentRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Starts the specified + // [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. This rpc only + // changes the state of experiment from PENDING to RUNNING. + rpc StartExperiment(StartExperimentRequest) returns (Experiment) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}:start" + body: "*" + }; + option (google.api.method_signature) = "name"; + } + + // Stops the specified [Experiment][google.cloud.dialogflow.cx.v3.Experiment]. + // This rpc only changes the state of experiment from RUNNING to DONE. + rpc StopExperiment(StopExperimentRequest) returns (Experiment) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/environments/*/experiments/*}:stop" + body: "*" + }; + option (google.api.method_signature) = "name"; + } +} + +// Represents an experiment in an environment. +message Experiment { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Experiment" + pattern: "projects/{project}/locations/{location}/agents/{agent}/environments/{environment}/experiments/{experiment}" + }; + + // The state of the experiment. + enum State { + // State unspecified. + STATE_UNSPECIFIED = 0; + + // The experiment is created but not started yet. + DRAFT = 1; + + // The experiment is running. + RUNNING = 2; + + // The experiment is done. + DONE = 3; + + // The experiment with auto-rollout enabled has failed. + ROLLOUT_FAILED = 4; + } + + // Definition of the experiment. + message Definition { + // The condition defines which subset of sessions are selected for + // this experiment. If not specified, all sessions are eligible. E.g. + // "query_input.language_code=en" See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string condition = 1; + + // The variants of the experiment. We currently only support single variant + // experiment. + oneof variants { + // The flow versions as the variants of this experiment. + VersionVariants version_variants = 2; + } + } + + // The inference result which includes an objective metric to optimize and the + // confidence interval. + message Result { + // Types of ratio-based metric for Dialogflow experiment. + enum MetricType { + // Metric unspecified. + METRIC_UNSPECIFIED = 0; + + // Percentage of contained sessions without user calling back in 24 hours. + CONTAINED_SESSION_NO_CALLBACK_RATE = 1; + + // Percentage of sessions that were handed to a human agent. + LIVE_AGENT_HANDOFF_RATE = 2; + + // Percentage of sessions with the same user calling back. + CALLBACK_SESSION_RATE = 3; + + // Percentage of sessions where user hung up. + ABANDONED_SESSION_RATE = 4; + + // Percentage of sessions reached Dialogflow 'END_PAGE' or + // 'END_SESSION'. + SESSION_END_RATE = 5; + } + + // Types of count-based metric for Dialogflow experiment. + enum CountType { + // Count type unspecified. + COUNT_TYPE_UNSPECIFIED = 0; + + // Total number of occurrences of a 'NO_MATCH'. + TOTAL_NO_MATCH_COUNT = 1; + + // Total number of turn counts. + TOTAL_TURN_COUNT = 2; + + // Average turn count in a session. + AVERAGE_TURN_COUNT = 3; + } + + // A confidence interval is a range of possible values for the experiment + // objective you are trying to measure. + message ConfidenceInterval { + // The confidence level used to construct the interval, i.e. there is X% + // chance that the true value is within this interval. + double confidence_level = 1; + + // The percent change between an experiment metric's value and the value + // for its control. + double ratio = 2; + + // Lower bound of the interval. + double lower_bound = 3; + + // Upper bound of the interval. + double upper_bound = 4; + } + + // Metric and corresponding confidence intervals. + message Metric { + // Ratio-based metric type. Only one of type or count_type is specified in + // each Metric. + MetricType type = 1; + + // Count-based metric type. Only one of type or count_type is specified in + // each Metric. + CountType count_type = 5; + + // The actual value of the metric. + oneof value { + // Ratio value of a metric. + double ratio = 2; + + // Count value of a metric. + double count = 4; + } + + // The probability that the treatment is better than all other treatments + // in the experiment + ConfidenceInterval confidence_interval = 3; + } + + // Version variant and associated metrics. + message VersionMetrics { + // The name of the flow [Version][google.cloud.dialogflow.cx.v3.Version]. + // Format: `projects//locations//agents//flows//versions/`. + string version = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Version" + }]; + + // The metrics and corresponding confidence intervals in the inference + // result. + repeated Metric metrics = 2; + + // Number of sessions that were allocated to this version. + int32 session_count = 3; + } + + // Version variants and metrics. + repeated VersionMetrics version_metrics = 1; + + // The last time the experiment's stats data was updated. Will have default + // value if stats have never been computed for this experiment. + google.protobuf.Timestamp last_update_time = 2; + } + + // The name of the experiment. + // Format: projects//locations//agents//environments//experiments/.. + string name = 1; + + // Required. The human-readable name of the experiment (unique in an + // environment). Limit of 64 characters. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The human-readable description of the experiment. + string description = 3; + + // The current state of the experiment. + // Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. + // Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or + // RUNNING->DONE. + State state = 4; + + // The definition of the experiment. + Definition definition = 5; + + // The configuration for auto rollout. If set, there should be exactly two + // variants in the experiment (control variant being the default version of + // the flow), the traffic allocation for the non-control variant will + // gradually increase to 100% when conditions are met, and eventually + // replace the control variant to become the default version of the flow. + RolloutConfig rollout_config = 14; + + // State of the auto rollout process. + RolloutState rollout_state = 15; + + // The reason why rollout has failed. Should only be set when state is + // ROLLOUT_FAILED. + string rollout_failure_reason = 16; + + // Inference result of the experiment. + Result result = 6; + + // Creation time of this experiment. + google.protobuf.Timestamp create_time = 7; + + // Start time of this experiment. + google.protobuf.Timestamp start_time = 8; + + // End time of this experiment. + google.protobuf.Timestamp end_time = 9; + + // Last update time of this experiment. + google.protobuf.Timestamp last_update_time = 10; + + // Maximum number of days to run the experiment/rollout. If auto-rollout is + // not enabled, default value and maximum will be 30 days. If auto-rollout is + // enabled, default value and maximum will be 6 days. + google.protobuf.Duration experiment_length = 11; + + // The history of updates to the experiment variants. + repeated VariantsHistory variants_history = 12; +} + +// A list of flow version variants. +message VersionVariants { + // A single flow version with specified traffic allocation. + message Variant { + // The name of the flow version. + // Format: `projects//locations//agents//flows//versions/`. + string version = 1; + + // Percentage of the traffic which should be routed to this + // version of flow. Traffic allocation for a single flow must sum up to 1.0. + float traffic_allocation = 2; + + // Whether the variant is for the control group. + bool is_control_group = 3; + } + + // A list of flow version variants. + repeated Variant variants = 1; +} + +// The history of variants update. +message VariantsHistory { + // The variants updated. We currently only support single variant + // experiment. + oneof variants { + // The flow versions as the variants. + VersionVariants version_variants = 1; + } + + // Update time of the variants. + google.protobuf.Timestamp update_time = 2; +} + +// The configuration for auto rollout. +message RolloutConfig { + // A single rollout step with specified traffic allocation. + message RolloutStep { + // The name of the rollout step; + string display_name = 1; + + // The percentage of traffic allocated to the flow version of this rollout + // step. (0%, 100%]. + int32 traffic_percent = 2; + + // The minimum time that this step should last. Should be longer than 1 + // hour. If not set, the default minimum duration for each step will be 1 + // hour. + google.protobuf.Duration min_duration = 3; + } + + // Steps to roll out a flow version. Steps should be sorted by percentage in + // ascending order. + repeated RolloutStep rollout_steps = 1; + + // The conditions that are used to evaluate the success of a rollout + // step. If not specified, all rollout steps will proceed to the next one + // unless failure conditions are met. E.g. "containment_rate > 60% AND + // callback_rate < 20%". See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string rollout_condition = 2; + + // The conditions that are used to evaluate the failure of a rollout + // step. If not specified, no rollout steps will fail. E.g. "containment_rate + // < 10% OR average_turn_count < 3". See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string failure_condition = 3; +} + +// State of the auto-rollout process. +message RolloutState { + // Display name of the current auto rollout step. + string step = 1; + + // Index of the current step in the auto rollout steps list. + int32 step_index = 3; + + // Start time of the current step. + google.protobuf.Timestamp start_time = 2; +} + +// The request message for +// [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3.Experiments.ListExperiments]. +message ListExperimentsRequest { + // Required. The [Environment][google.cloud.dialogflow.cx.v3.Environment] to + // list all environments for. Format: `projects//locations//agents//environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Experiment" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for +// [Experiments.ListExperiments][google.cloud.dialogflow.cx.v3.Experiments.ListExperiments]. +message ListExperimentsResponse { + // The list of experiments. There will be a maximum number of items + // returned based on the page_size field in the request. The list may in some + // cases be empty or contain fewer entries than page_size even if this isn't + // the last page. + repeated Experiment experiments = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Experiments.GetExperiment][google.cloud.dialogflow.cx.v3.Experiments.GetExperiment]. +message GetExperimentRequest { + // Required. The name of the + // [Environment][google.cloud.dialogflow.cx.v3.Environment]. Format: + // `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} + +// The request message for +// [Experiments.CreateExperiment][google.cloud.dialogflow.cx.v3.Experiments.CreateExperiment]. +message CreateExperimentRequest { + // Required. The [Agent][google.cloud.dialogflow.cx.v3.Agent] to create an + // [Environment][google.cloud.dialogflow.cx.v3.Environment] for. Format: + // `projects//locations//agents//environments/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Experiment" + } + ]; + + // Required. The experiment to create. + Experiment experiment = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Experiments.UpdateExperiment][google.cloud.dialogflow.cx.v3.Experiments.UpdateExperiment]. +message UpdateExperimentRequest { + // Required. The experiment to update. + Experiment experiment = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The mask to control which fields get updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for +// [Experiments.DeleteExperiment][google.cloud.dialogflow.cx.v3.Experiments.DeleteExperiment]. +message DeleteExperimentRequest { + // Required. The name of the + // [Environment][google.cloud.dialogflow.cx.v3.Environment] to delete. Format: + // `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} + +// The request message for +// [Experiments.StartExperiment][google.cloud.dialogflow.cx.v3.Experiments.StartExperiment]. +message StartExperimentRequest { + // Required. Resource name of the experiment to start. + // Format: `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} + +// The request message for +// [Experiments.StopExperiment][google.cloud.dialogflow.cx.v3.Experiments.StopExperiment]. +message StopExperimentRequest { + // Required. Resource name of the experiment to stop. + // Format: `projects//locations//agents//environments//experiments/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Experiment" + } + ]; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/flow.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/flow.proto new file mode 100644 index 00000000000..11c861b674e --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/flow.proto @@ -0,0 +1,667 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/advanced_settings.proto"; +import "google/cloud/dialogflow/cx/v3/import_strategy.proto"; +import "google/cloud/dialogflow/cx/v3/page.proto"; +import "google/cloud/dialogflow/cx/v3/validation_message.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "FlowProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Flows][google.cloud.dialogflow.cx.v3.Flow]. +service Flows { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Creates a flow in the specified agent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateFlow(CreateFlowRequest) returns (Flow) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/flows" + body: "flow" + }; + option (google.api.method_signature) = "parent,flow"; + } + + // Deletes a specified flow. + rpc DeleteFlow(DeleteFlowRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/flows/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Returns the list of all flows in the specified agent. + rpc ListFlows(ListFlowsRequest) returns (ListFlowsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/flows" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified flow. + rpc GetFlow(GetFlowRequest) returns (Flow) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/flows/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the specified flow. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateFlow(UpdateFlowRequest) returns (Flow) { + option (google.api.http) = { + patch: "/v3/{flow.name=projects/*/locations/*/agents/*/flows/*}" + body: "flow" + }; + option (google.api.method_signature) = "flow,update_mask"; + } + + // Trains the specified flow. Note that only the flow in 'draft' environment + // is trained. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: An [Empty + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#empty) + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc TrainFlow(TrainFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/flows/*}:train" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "google.protobuf.Struct" + }; + } + + // Validates the specified flow and creates or updates validation results. + // Please call this API after the training is completed to get the complete + // validation results. + rpc ValidateFlow(ValidateFlowRequest) returns (FlowValidationResult) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/flows/*}:validate" + body: "*" + }; + } + + // Gets the latest flow validation result. Flow validation is performed + // when ValidateFlow is called. + rpc GetFlowValidationResult(GetFlowValidationResultRequest) + returns (FlowValidationResult) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/flows/*/validationResult}" + }; + option (google.api.method_signature) = "name"; + } + + // Imports the specified flow to the specified agent from a binary file. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // [ImportFlowResponse][google.cloud.dialogflow.cx.v3.ImportFlowResponse] + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc ImportFlow(ImportFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/flows:import" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportFlowResponse" + metadata_type: "google.protobuf.Struct" + }; + } + + // Exports the specified flow to a binary file. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: An empty [Struct + // message](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#struct) + // - `response`: + // [ExportFlowResponse][google.cloud.dialogflow.cx.v3.ExportFlowResponse] + // + // Note that resources (e.g. intents, entities, webhooks) that the flow + // references will also be exported. + rpc ExportFlow(ExportFlowRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{name=projects/*/locations/*/agents/*/flows/*}:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportFlowResponse" + metadata_type: "google.protobuf.Struct" + }; + } +} + +// Settings related to NLU. +message NluSettings { + // NLU model type. + enum ModelType { + // Not specified. `MODEL_TYPE_STANDARD` will be used. + MODEL_TYPE_UNSPECIFIED = 0; + + // Use standard NLU model. + MODEL_TYPE_STANDARD = 1; + + // Use advanced NLU model. + MODEL_TYPE_ADVANCED = 3; + } + + // NLU model training mode. + enum ModelTrainingMode { + // Not specified. `MODEL_TRAINING_MODE_AUTOMATIC` will be used. + MODEL_TRAINING_MODE_UNSPECIFIED = 0; + + // NLU model training is automatically triggered when a flow gets modified. + // User can also manually trigger model training in this mode. + MODEL_TRAINING_MODE_AUTOMATIC = 1; + + // User needs to manually trigger NLU model training. Best for large flows + // whose models take long time to train. + MODEL_TRAINING_MODE_MANUAL = 2; + } + + // Indicates the type of NLU model. + ModelType model_type = 1; + + // To filter out false positive results and still get variety in matched + // natural language inputs for your agent, you can tune the machine learning + // classification threshold. If the returned score value is less than the + // threshold value, then a no-match event will be triggered. The score values + // range from 0.0 (completely uncertain) to 1.0 (completely certain). If set + // to 0.0, the default of 0.3 is used. + float classification_threshold = 3; + + // Indicates NLU model training mode. + ModelTrainingMode model_training_mode = 4; +} + +// Flows represents the conversation flows when you build your chatbot agent. +// +// A flow consists of many pages connected by the transition routes. +// Conversations always start with the built-in Start Flow (with an all-0 ID). +// Transition routes can direct the conversation session from the current flow +// (parent flow) to another flow (sub flow). When the sub flow is finished, +// Dialogflow will bring the session back to the parent flow, where the sub flow +// is started. +// +// Usually, when a transition route is followed by a matched intent, the intent +// will be "consumed". This means the intent won't activate more transition +// routes. However, when the followed transition route moves the conversation +// session into a different flow, the matched intent can be carried over and to +// be consumed in the target flow. +message Flow { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Flow" + pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}" + }; + + // The unique identifier of the flow. + // Format: `projects//locations//agents//flows/`. + string name = 1; + + // Required. The human-readable name of the flow. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The description of the flow. The maximum length is 500 characters. If + // exceeded, the request is rejected. + string description = 3; + + // A flow's transition routes serve two purposes: + // + // * They are responsible for matching the user's first utterances in the + // flow. + // * They are inherited by every page's [transition + // routes][Page.transition_routes] and can support use cases such as the user + // saying "help" or "can I talk to a human?", which can be handled in a common + // way regardless of the current page. Transition routes defined in the page + // have higher priority than those defined in the flow. + // + // TransitionRoutes are evalauted in the following order: + // + // * TransitionRoutes with intent specified. + // * TransitionRoutes with only condition specified. + // + // TransitionRoutes with intent specified are inherited by pages in the flow. + repeated TransitionRoute transition_routes = 4; + + // A flow's event handlers serve two purposes: + // + // * They are responsible for handling events (e.g. no match, + // webhook errors) in the flow. + // * They are inherited by every page's [event + // handlers][Page.event_handlers], which can be used to handle common events + // regardless of the current page. Event handlers defined in the page + // have higher priority than those defined in the flow. + // + // Unlike + // [transition_routes][google.cloud.dialogflow.cx.v3.Flow.transition_routes], + // these handlers are evaluated on a first-match basis. The first one that + // matches the event get executed, with the rest being ignored. + repeated EventHandler event_handlers = 10; + + // A flow's transition route group serve two purposes: + // + // * They are responsible for matching the user's first utterances in the + // flow. + // * They are inherited by every page's [transition + // route groups][Page.transition_route_groups]. Transition route groups + // defined in the page have higher priority than those defined in the flow. + // + // Format:`projects//locations//agents//flows//transitionRouteGroups/` + // or `projects//locations//agents//transitionRouteGroups/` for agent-level + // groups. + repeated string transition_route_groups = 15 + [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TransitionRouteGroup" + }]; + + // NLU related settings of the flow. + NluSettings nlu_settings = 11; + + // Hierarchical advanced settings for this flow. The settings exposed at the + // lower level overrides the settings exposed at the higher level. + AdvancedSettings advanced_settings = 14; + + // Optional. Knowledge connector configuration. + KnowledgeConnectorSettings knowledge_connector_settings = 18 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The request message for +// [Flows.CreateFlow][google.cloud.dialogflow.cx.v3.Flows.CreateFlow]. +message CreateFlowRequest { + // Required. The agent to create a flow for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Flow" + } + ]; + + // Required. The flow to create. + Flow flow = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `flow`: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for +// [Flows.DeleteFlow][google.cloud.dialogflow.cx.v3.Flows.DeleteFlow]. +message DeleteFlowRequest { + // Required. The name of the flow to delete. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // This field has no effect for flows with no incoming transitions. + // For flows with incoming transitions: + // + // * If `force` is set to false, an error will be returned with message + // indicating the incoming transitions. + // * If `force` is set to true, Dialogflow will remove the flow, as well as + // any transitions to the flow (i.e. [Target + // flow][EventHandler.target_flow] in event handlers or [Target + // flow][TransitionRoute.target_flow] in transition routes that point to + // this flow will be cleared). + bool force = 2; +} + +// The request message for +// [Flows.ListFlows][google.cloud.dialogflow.cx.v3.Flows.ListFlows]. +message ListFlowsRequest { + // Required. The agent containing the flows. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Flow" + } + ]; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; + + // The language to list flows for. The following fields are language + // dependent: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 4; +} + +// The response message for +// [Flows.ListFlows][google.cloud.dialogflow.cx.v3.Flows.ListFlows]. +message ListFlowsResponse { + // The list of flows. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Flow flows = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The response message for +// [Flows.GetFlow][google.cloud.dialogflow.cx.v3.Flows.GetFlow]. +message GetFlowRequest { + // Required. The name of the flow to get. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // The language to retrieve the flow for. The following fields are language + // dependent: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for +// [Flows.UpdateFlow][google.cloud.dialogflow.cx.v3.Flows.UpdateFlow]. +message UpdateFlowRequest { + // Required. The flow to update. + Flow flow = 1 [(google.api.field_behavior) = REQUIRED]; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 2; + + // The language of the following fields in `flow`: + // + // * `Flow.event_handlers.trigger_fulfillment.messages` + // * `Flow.event_handlers.trigger_fulfillment.conditional_cases` + // * `Flow.transition_routes.trigger_fulfillment.messages` + // * `Flow.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for +// [Flows.TrainFlow][google.cloud.dialogflow.cx.v3.Flows.TrainFlow]. +message TrainFlowRequest { + // Required. The flow to train. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; +} + +// The request message for +// [Flows.ValidateFlow][google.cloud.dialogflow.cx.v3.Flows.ValidateFlow]. +message ValidateFlowRequest { + // Required. The flow to validate. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The request message for +// [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3.Flows.GetFlowValidationResult]. +message GetFlowValidationResultRequest { + // Required. The flow name. + // Format: `projects//locations//agents//flows//validationResult`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/FlowValidationResult" + } + ]; + + // If not specified, the agent's default language is used. + string language_code = 2; +} + +// The response message for +// [Flows.GetFlowValidationResult][google.cloud.dialogflow.cx.v3.Flows.GetFlowValidationResult]. +message FlowValidationResult { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/FlowValidationResult" + pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/validationResult" + }; + + // The unique identifier of the flow validation result. + // Format: `projects//locations//agents//flows//validationResult`. + string name = 1; + + // Contains all validation messages. + repeated ValidationMessage validation_messages = 2; + + // Last time the flow was validated. + google.protobuf.Timestamp update_time = 3; +} + +// The request message for +// [Flows.ImportFlow][google.cloud.dialogflow.cx.v3.Flows.ImportFlow]. +message ImportFlowRequest { + // Import option. + enum ImportOption { + // Unspecified. Treated as `KEEP`. + IMPORT_OPTION_UNSPECIFIED = 0; + + // Always respect settings in exported flow content. It may cause a + // import failure if some settings (e.g. custom NLU) are not supported in + // the agent to import into. + KEEP = 1; + + // Fallback to default settings if some settings are not supported in the + // agent to import into. E.g. Standard NLU will be used if custom NLU is + // not available. + FALLBACK = 2; + } + + // Required. The agent to import the flow into. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Flow" + } + ]; + + // Required. The flow to import. + oneof flow { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // to import flow from. The format of this URI must be + // `gs:///`. + // + // Dialogflow performs a read operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have read permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string flow_uri = 2; + + // Uncompressed raw byte content for flow. + bytes flow_content = 3; + } + + // Flow import mode. If not specified, `KEEP` is assumed. + ImportOption import_option = 4; + + // Optional. Specifies the import strategy used when resolving resource + // conflicts. + FlowImportStrategy flow_import_strategy = 5 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The flow import strategy used for resource conflict resolution associated +// with an [ImportFlowRequest][google.cloud.dialogflow.cx.v3.ImportFlowRequest]. +message FlowImportStrategy { + // Optional. Import strategy for resource conflict resolution, applied + // globally throughout the flow. It will be applied for all display name + // conflicts in the imported content. If not specified, 'CREATE_NEW' is + // assumed. + ImportStrategy global_import_strategy = 1 + [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Flows.ImportFlow][google.cloud.dialogflow.cx.v3.Flows.ImportFlow]. +message ImportFlowResponse { + // The unique identifier of the new flow. + // Format: `projects//locations//agents//flows/`. + string flow = 1 [ + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; +} + +// The request message for +// [Flows.ExportFlow][google.cloud.dialogflow.cx.v3.Flows.ExportFlow]. +message ExportFlowRequest { + // Required. The name of the flow to export. + // Format: `projects//locations//agents//flows/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Flow" } + ]; + + // Optional. The [Google Cloud + // Storage](https://cloud.google.com/storage/docs/) URI to export the flow to. + // The format of this URI must be `gs:///`. If left + // unspecified, the serialized flow is returned inline. + // + // Dialogflow performs a write operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have write permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string flow_uri = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to export flows referenced by the specified flow. + bool include_referenced_flows = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Flows.ExportFlow][google.cloud.dialogflow.cx.v3.Flows.ExportFlow]. +message ExportFlowResponse { + // The exported flow. + oneof flow { + // The URI to a file containing the exported flow. This field is populated + // only if `flow_uri` is specified in + // [ExportFlowRequest][google.cloud.dialogflow.cx.v3.ExportFlowRequest]. + string flow_uri = 1; + + // Uncompressed raw byte content for flow. + bytes flow_content = 2; + } +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto new file mode 100644 index 00000000000..56c2247484c --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/fulfillment.proto @@ -0,0 +1,139 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/advanced_settings.proto"; +import "google/cloud/dialogflow/cx/v3/response_message.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "FulfillmentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// A fulfillment can do one or more of the following actions at the same time: +// +// * Generate rich message responses. +// * Set parameter values. +// * Call the webhook. +// +// Fulfillments can be called at various stages in the +// [Page][google.cloud.dialogflow.cx.v3.Page] or +// [Form][google.cloud.dialogflow.cx.v3.Form] lifecycle. For example, when a +// [DetectIntentRequest][google.cloud.dialogflow.cx.v3.DetectIntentRequest] +// drives a session to enter a new page, the page's entry fulfillment can add a +// static response to the +// [QueryResult][google.cloud.dialogflow.cx.v3.QueryResult] in the returning +// [DetectIntentResponse][google.cloud.dialogflow.cx.v3.DetectIntentResponse], +// call the webhook (for example, to load user data from a database), or both. +message Fulfillment { + // Setting a parameter value. + message SetParameterAction { + // Display name of the parameter. + string parameter = 1; + + // The new value of the parameter. A null value clears the parameter. + google.protobuf.Value value = 2; + } + + // A list of cascading if-else conditions. Cases are mutually exclusive. + // The first one with a matching condition is selected, all the rest ignored. + message ConditionalCases { + // Each case has a Boolean condition. When it is evaluated to be True, the + // corresponding messages will be selected and evaluated recursively. + message Case { + // The list of messages or conditional cases to activate for this case. + message CaseContent { + // Either a message is returned or additional cases to be evaluated. + oneof cases_or_message { + // Returned message. + ResponseMessage message = 1; + + // Additional cases to be evaluated. + ConditionalCases additional_cases = 2; + } + } + + // The condition to activate and select this case. Empty means the + // condition is always true. The condition is evaluated against [form + // parameters][Form.parameters] or [session + // parameters][SessionInfo.parameters]. + // + // See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + string condition = 1; + + // A list of case content. + repeated CaseContent case_content = 2; + } + + // A list of cascading if-else conditions. + repeated Case cases = 1; + } + + // The list of rich message responses to present to the user. + repeated ResponseMessage messages = 1; + + // The webhook to call. + // Format: `projects//locations//agents//webhooks/`. + string webhook = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Webhook" + }]; + + // Whether Dialogflow should return currently queued fulfillment response + // messages in streaming APIs. If a webhook is specified, it happens before + // Dialogflow invokes webhook. + // Warning: + // 1) This flag only affects streaming API. Responses are still queued + // and returned once in non-streaming API. + // 2) The flag can be enabled in any fulfillment but only the first 3 partial + // responses will be returned. You may only want to apply it to fulfillments + // that have slow webhooks. + bool return_partial_responses = 8; + + // The value of this field will be populated in the + // [WebhookRequest][google.cloud.dialogflow.cx.v3.WebhookRequest] + // `fulfillmentInfo.tag` field by Dialogflow when the associated webhook is + // called. + // The tag is typically used by the webhook service to identify which + // fulfillment is being called, but it could be used for other purposes. + // This field is required if `webhook` is specified. + string tag = 3; + + // Set parameter values before executing the webhook. + repeated SetParameterAction set_parameter_actions = 4; + + // Conditional cases for this fulfillment. + repeated ConditionalCases conditional_cases = 5; + + // Hierarchical advanced settings for this fulfillment. The settings exposed + // at the lower level overrides the settings exposed at the higher level. + AdvancedSettings advanced_settings = 7; + + // If the flag is true, the agent will utilize LLM to generate a text + // response. If LLM generation fails, the defined + // [responses][google.cloud.dialogflow.cx.v3.Fulfillment.messages] in the + // fulfillment will be respected. This flag is only useful for fulfillments + // associated with no-match event handlers. + bool enable_generative_fallback = 12; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/gcs.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/gcs.proto new file mode 100644 index 00000000000..1a2b55bf01f --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/gcs.proto @@ -0,0 +1,37 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "GcsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Google Cloud Storage location for a Dialogflow operation that writes or +// exports objects (e.g. exported agent or transcripts) outside of Dialogflow. +message GcsDestination { + // Required. The Google Cloud Storage URI for the exported objects. A URI is + // of the form: `gs://bucket/object-name-or-prefix` Whether a full object + // name, or just a prefix, its usage depends on the Dialogflow operation. + string uri = 1 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/generative_settings.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/generative_settings.proto new file mode 100644 index 00000000000..389c1da7235 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/generative_settings.proto @@ -0,0 +1,103 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/safety_settings.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "GenerativeSettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Settings for Generative AI. +message GenerativeSettings { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/AgentGenerativeSettings" + pattern: "projects/{project}/locations/{location}/agents/{agent}/generativeSettings" + }; + + // Settings for Generative Fallback. + message FallbackSettings { + // Prompt template. + message PromptTemplate { + // Prompt name. + string display_name = 1; + + // Prompt text that is sent to a LLM on no-match default, placeholders are + // filled downstream. For example: "Here is a conversation $conversation, + // a response is: " + string prompt_text = 2; + + // If the flag is true, the prompt is frozen and cannot be modified by + // users. + bool frozen = 3; + } + + // Display name of the selected prompt. + string selected_prompt = 3; + + // Stored prompts that can be selected, for example default templates like + // "conservative" or "chatty", or user defined ones. + repeated PromptTemplate prompt_templates = 4; + } + + // Settings for knowledge connector. These parameters are used for LLM prompt + // like "You are . You are a helpful and verbose at + // , . Your task is to help humans on + // ". + message KnowledgeConnectorSettings { + // Name of the company, organization or other entity that the agent + // represents. Used for knowledge connector LLM prompt and for knowledge + // search. + string business = 1; + + // Name of the virtual agent. Used for LLM prompt. Can be left empty. + string agent = 2; + + // Identity of the agent, e.g. "virtual agent", "AI assistant". + string agent_identity = 3; + + // Company description, used for LLM prompt, e.g. "a family company selling + // freshly roasted coffee beans". + string business_description = 4; + + // Agent scope, e.g. "Example company website", "internal Example + // company website for employees", "manual of car owner". + string agent_scope = 5; + } + + // Format: `projects//locations//agents//generativeSettings`. + string name = 5; + + // Settings for Generative Fallback. + FallbackSettings fallback_settings = 1; + + // Settings for Generative Safety. + SafetySettings generative_safety_settings = 3; + + // Settings for knowledge connector. + KnowledgeConnectorSettings knowledge_connector_settings = 7; + + // Language for this settings. + string language_code = 4; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/import_strategy.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/import_strategy.proto new file mode 100644 index 00000000000..91f2c2b9ac5 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/import_strategy.proto @@ -0,0 +1,52 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ImportStrategyProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Import strategies for the conflict resolution of resources (i.e. intents, +// entities, and webhooks) with identical display names during import +// operations. +enum ImportStrategy { + // Unspecified. Treated as 'CREATE_NEW'. + IMPORT_STRATEGY_UNSPECIFIED = 0; + + // Create a new resource with a numeric suffix appended to the end of the + // existing display name. + IMPORT_STRATEGY_CREATE_NEW = 1; + + // Replace existing resource with incoming resource in the content to be + // imported. + IMPORT_STRATEGY_REPLACE = 2; + + // Keep existing resource and discard incoming resource in the content to be + // imported. + IMPORT_STRATEGY_KEEP = 3; + + // Combine existing and incoming resources when a conflict is encountered. + IMPORT_STRATEGY_MERGE = 4; + + // Throw error if a conflict is encountered. + IMPORT_STRATEGY_THROW_ERROR = 5; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/inline.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/inline.proto new file mode 100644 index 00000000000..26c398ba439 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/inline.proto @@ -0,0 +1,43 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "InlineProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Inline destination for a Dialogflow operation that writes or exports objects +// (e.g. [intents][google.cloud.dialogflow.cx.v3.Intent]) outside of Dialogflow. +message InlineDestination { + // Output only. The uncompressed byte content for the objects. + // Only populated in responses. + bytes content = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Inline source for a Dialogflow operation that reads or imports objects +// (e.g. [intents][google.cloud.dialogflow.cx.v3.Intent]) into Dialogflow. +message InlineSource { + // The uncompressed byte content for the objects. + bytes content = 1; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/intent.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/intent.proto new file mode 100644 index 00000000000..6b2aa9565ea --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/intent.proto @@ -0,0 +1,609 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/inline.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "IntentProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Intents][google.cloud.dialogflow.cx.v3.Intent]. +service Intents { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all intents in the specified agent. + rpc ListIntents(ListIntentsRequest) returns (ListIntentsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*}/intents" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified intent. + rpc GetIntent(GetIntentRequest) returns (Intent) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/intents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates an intent in the specified agent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreateIntent(CreateIntentRequest) returns (Intent) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/intents" + body: "intent" + }; + option (google.api.method_signature) = "parent,intent"; + } + + // Updates the specified intent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdateIntent(UpdateIntentRequest) returns (Intent) { + option (google.api.http) = { + patch: "/v3/{intent.name=projects/*/locations/*/agents/*/intents/*}" + body: "intent" + }; + option (google.api.method_signature) = "intent,update_mask"; + } + + // Deletes the specified intent. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc DeleteIntent(DeleteIntentRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/intents/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Imports the specified intents into the agent. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: + // [ImportIntentsMetadata][google.cloud.dialogflow.cx.v3.ImportIntentsMetadata] + // - `response`: + // [ImportIntentsResponse][google.cloud.dialogflow.cx.v3.ImportIntentsResponse] + rpc ImportIntents(ImportIntentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/intents:import" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportIntentsResponse" + metadata_type: "ImportIntentsMetadata" + }; + } + + // Exports the selected intents. + // + // This method is a [long-running + // operation](https://cloud.google.com/dialogflow/cx/docs/how/long-running-operation). + // The returned `Operation` type has the following method-specific fields: + // + // - `metadata`: + // [ExportIntentsMetadata][google.cloud.dialogflow.cx.v3.ExportIntentsMetadata] + // - `response`: + // [ExportIntentsResponse][google.cloud.dialogflow.cx.v3.ExportIntentsResponse] + rpc ExportIntents(ExportIntentsRequest) + returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*}/intents:export" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ExportIntentsResponse" + metadata_type: "ExportIntentsMetadata" + }; + } +} + +// An intent represents a user's intent to interact with a conversational agent. +// +// You can provide information for the Dialogflow API to use to match user input +// to an intent by adding training phrases (i.e., examples of user input) to +// your intent. +message Intent { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Intent" + pattern: "projects/{project}/locations/{location}/agents/{agent}/intents/{intent}" + }; + + // Represents an example that the agent is trained on to identify the intent. + message TrainingPhrase { + // Represents a part of a training phrase. + message Part { + // Required. The text for this part. + string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // The [parameter][google.cloud.dialogflow.cx.v3.Intent.Parameter] used to + // annotate this part of the training phrase. This field is required for + // annotated parts of the training phrase. + string parameter_id = 2; + } + + // Output only. The unique identifier of the training phrase. + string id = 1; + + // Required. The ordered list of training phrase parts. + // The parts are concatenated in order to form the training phrase. + // + // Note: The API does not automatically annotate training phrases like the + // Dialogflow Console does. + // + // Note: Do not forget to include whitespace at part boundaries, so the + // training phrase is well formatted when the parts are concatenated. + // + // If the training phrase does not need to be annotated with parameters, + // you just need a single part with only the + // [Part.text][google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part.text] + // field set. + // + // If you want to annotate the training phrase, you must create multiple + // parts, where the fields of each part are populated in one of two ways: + // + // - `Part.text` is set to a part of the phrase that has no parameters. + // - `Part.text` is set to a part of the phrase that you want to annotate, + // and the `parameter_id` field is set. + repeated Part parts = 2 [(google.api.field_behavior) = REQUIRED]; + + // Indicates how many times this example was added to the intent. + int32 repeat_count = 3; + } + + // Represents an intent parameter. + message Parameter { + // Required. The unique identifier of the parameter. This field + // is used by [training + // phrases][google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase] to annotate + // their [parts][google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part]. + string id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The entity type of the parameter. + // Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, + // `projects/-/locations/-/agents/-/entityTypes/sys.date`), or + // `projects//locations//agents//entityTypes/` for developer entity types. + string entity_type = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // Indicates whether the parameter represents a list of values. + bool is_list = 3; + + // Indicates whether the parameter content should be redacted in log. If + // redaction is enabled, the parameter content will be replaced by parameter + // name during logging. + // Note: the parameter content is subject to redaction if either parameter + // level redaction or [entity type level + // redaction][google.cloud.dialogflow.cx.v3.EntityType.redact] is enabled. + bool redact = 4; + } + + // The unique identifier of the intent. + // Required for the + // [Intents.UpdateIntent][google.cloud.dialogflow.cx.v3.Intents.UpdateIntent] + // method. + // [Intents.CreateIntent][google.cloud.dialogflow.cx.v3.Intents.CreateIntent] + // populates the name automatically. + // Format: `projects//locations//agents//intents/`. + string name = 1; + + // Required. The human-readable name of the intent, unique within the agent. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The collection of training phrases the agent is trained on to identify the + // intent. + repeated TrainingPhrase training_phrases = 3; + + // The collection of parameters associated with the intent. + repeated Parameter parameters = 4; + + // The priority of this intent. Higher numbers represent higher + // priorities. + // + // - If the supplied value is unspecified or 0, the service + // translates the value to 500,000, which corresponds to the + // `Normal` priority in the console. + // - If the supplied value is negative, the intent is ignored + // in runtime detect intent requests. + int32 priority = 5; + + // Indicates whether this is a fallback intent. Currently only default + // fallback intent is allowed in the agent, which is added upon agent + // creation. + // Adding training phrases to fallback intent is useful in the case of + // requests that are mistakenly matched, since training phrases assigned to + // fallback intents act as negative examples that triggers no-match event. + bool is_fallback = 6; + + // The key/value metadata to label an intent. Labels can contain + // lowercase letters, digits and the symbols '-' and '_'. International + // characters are allowed, including letters from unicase alphabets. Keys must + // start with a letter. Keys and values can be no longer than 63 characters + // and no more than 128 bytes. + // + // Prefix "sys-" is reserved for Dialogflow defined labels. Currently allowed + // Dialogflow defined labels include: + // * sys-head + // * sys-contextual + // The above labels do not require value. "sys-head" means the intent is a + // head intent. "sys.contextual" means the intent is a contextual intent. + map labels = 7; + + // Human readable description for better understanding an intent like its + // scope, content, result etc. Maximum character limit: 140 characters. + string description = 8; +} + +// The request message for +// [Intents.ListIntents][google.cloud.dialogflow.cx.v3.Intents.ListIntents]. +message ListIntentsRequest { + // Required. The agent to list all intents for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Intent" + } + ]; + + // The language to list intents for. The following fields are language + // dependent: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The resource view to apply to the returned intent. + IntentView intent_view = 5; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 3; + + // The next_page_token value returned from a previous list request. + string page_token = 4; +} + +// The response message for +// [Intents.ListIntents][google.cloud.dialogflow.cx.v3.Intents.ListIntents]. +message ListIntentsResponse { + // The list of intents. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Intent intents = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Intents.GetIntent][google.cloud.dialogflow.cx.v3.Intents.GetIntent]. +message GetIntentRequest { + // Required. The name of the intent. + // Format: `projects//locations//agents//intents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + } + ]; + + // The language to retrieve the intent for. The following fields are language + // dependent: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for +// [Intents.CreateIntent][google.cloud.dialogflow.cx.v3.Intents.CreateIntent]. +message CreateIntentRequest { + // Required. The agent to create an intent for. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Intent" + } + ]; + + // Required. The intent to create. + Intent intent = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `intent`: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for +// [Intents.UpdateIntent][google.cloud.dialogflow.cx.v3.Intents.UpdateIntent]. +message UpdateIntentRequest { + // Required. The intent to update. + Intent intent = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `intent`: + // + // * `Intent.training_phrases.parts.text` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// The request message for +// [Intents.DeleteIntent][google.cloud.dialogflow.cx.v3.Intents.DeleteIntent]. +message DeleteIntentRequest { + // Required. The name of the intent to delete. + // Format: `projects//locations//agents//intents/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + } + ]; +} + +// Represents the options for views of an intent. +// An intent can be a sizable object. Therefore, we provide a resource view that +// does not return training phrases in the response. +enum IntentView { + // Not specified. Treated as INTENT_VIEW_FULL. + INTENT_VIEW_UNSPECIFIED = 0; + + // Training phrases field is not populated in the response. + INTENT_VIEW_PARTIAL = 1; + + // All fields are populated. + INTENT_VIEW_FULL = 2; +} + +// The request message for +// [Intents.ImportIntents][google.cloud.dialogflow.cx.v3.Intents.ImportIntents]. +message ImportIntentsRequest { + // Merge option when display name conflicts exist during import. + enum MergeOption { + // Unspecified. Should not be used. + MERGE_OPTION_UNSPECIFIED = 0; + + // DEPRECATED: Please use + // [REPORT_CONFLICT][ImportIntentsRequest.REPORT_CONFLICT] instead. + // Fail the request if there are intents whose display names conflict with + // the display names of intents in the agent. + REJECT = 1 [deprecated = true]; + + // Replace the original intent in the agent with the new intent when display + // name conflicts exist. + REPLACE = 2; + + // Merge the original intent with the new intent when display name conflicts + // exist. + MERGE = 3; + + // Create new intents with new display names to differentiate them from the + // existing intents when display name conflicts exist. + RENAME = 4; + + // Report conflict information if display names conflict is detected. + // Otherwise, import intents. + REPORT_CONFLICT = 5; + + // Keep the original intent and discard the conflicting new intent when + // display name conflicts exist. + KEEP = 6; + } + + // Required. The agent to import the intents into. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Intent" + } + ]; + + // Required. The intents to import. + oneof intents { + // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI + // to import intents from. The format of this URI must be + // `gs:///`. + // + // Dialogflow performs a read operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have read permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string intents_uri = 2; + + // Uncompressed byte content of intents. + InlineSource intents_content = 3; + } + + // Merge option for importing intents. If not specified, `REJECT` is assumed. + MergeOption merge_option = 4; +} + +// The response message for +// [Intents.ImportIntents][google.cloud.dialogflow.cx.v3.Intents.ImportIntents]. +message ImportIntentsResponse { + // Conflicting resources detected during the import process. Only filled when + // [REPORT_CONFLICT][ImportIntentsResponse.REPORT_CONFLICT] is set in the + // request and there are conflicts in the display names. + message ConflictingResources { + // Display names of conflicting intents. + repeated string intent_display_names = 1; + + // Display names of conflicting entities. + repeated string entity_display_names = 2; + } + + // The unique identifier of the imported intents. + // Format: `projects//locations//agents//intents/`. + repeated string intents = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + }]; + + // Info which resources have conflicts when + // [REPORT_CONFLICT][ImportIntentsResponse.REPORT_CONFLICT] merge_option is + // set in ImportIntentsRequest. + ConflictingResources conflicting_resources = 2; +} + +// Metadata returned for the +// [Intents.ImportIntents][google.cloud.dialogflow.cx.v3.Intents.ImportIntents] +// long running operation. +message ImportIntentsMetadata {} + +// The request message for +// [Intents.ExportIntents][google.cloud.dialogflow.cx.v3.Intents.ExportIntents]. +message ExportIntentsRequest { + // Data format of the exported intents. + enum DataFormat { + // Unspecified format. Treated as `BLOB`. + DATA_FORMAT_UNSPECIFIED = 0; + + // Intents will be exported as raw bytes. + BLOB = 1; + + // Intents will be exported in JSON format. + JSON = 2; + + // Intents will be exported in CSV format. + CSV = 3; + } + + // Required. The name of the parent agent to export intents. + // Format: `projects//locations//agents/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Intent" + } + ]; + + // Required. The name of the intents to export. + // Format: `projects//locations//agents//intents/`. + repeated string intents = 2 [(google.api.field_behavior) = REQUIRED]; + + // The destination to export. + oneof destination { + // Optional. The [Google Cloud + // Storage](https://cloud.google.com/storage/docs/) URI to export the + // intents to. The format of this URI must be + // `gs:///`. + // + // Dialogflow performs a write operation for the Cloud Storage object + // on the caller's behalf, so your request authentication must + // have write permissions for the object. For more information, see + // [Dialogflow access + // control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + string intents_uri = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The option to return the serialized intents inline. + bool intents_content_inline = 4 [(google.api.field_behavior) = OPTIONAL]; + } + + // Optional. The data format of the exported intents. If not specified, `BLOB` + // is assumed. + DataFormat data_format = 5 [(google.api.field_behavior) = OPTIONAL]; +} + +// The response message for +// [Intents.ExportIntents][google.cloud.dialogflow.cx.v3.Intents.ExportIntents]. +message ExportIntentsResponse { + // The exported intents. + oneof intents { + // The URI to a file containing the exported intents. This field is + // populated only if `intents_uri` is specified in + // [ExportIntentsRequest][google.cloud.dialogflow.cx.v3.ExportIntentsRequest]. + string intents_uri = 1; + + // Uncompressed byte content for intents. This field is populated only if + // `intents_content_inline` is set to true in + // [ExportIntentsRequest][google.cloud.dialogflow.cx.v3.ExportIntentsRequest]. + InlineDestination intents_content = 2; + } +} + +// Metadata returned for the +// [Intents.ExportIntents][google.cloud.dialogflow.cx.v3.Intents.ExportIntents] +// long running operation. +message ExportIntentsMetadata {} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/page.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/page.proto new file mode 100644 index 00000000000..06dd721c21b --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/page.proto @@ -0,0 +1,652 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/cloud/dialogflow/cx/v3/advanced_settings.proto"; +import "google/cloud/dialogflow/cx/v3/data_store_connection.proto"; +import "google/cloud/dialogflow/cx/v3/fulfillment.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "PageProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Service for managing [Pages][google.cloud.dialogflow.cx.v3.Page]. +service Pages { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Returns the list of all pages in the specified flow. + rpc ListPages(ListPagesRequest) returns (ListPagesResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages" + }; + option (google.api.method_signature) = "parent"; + } + + // Retrieves the specified page. + rpc GetPage(GetPageRequest) returns (Page) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Creates a page in the specified flow. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc CreatePage(CreatePageRequest) returns (Page) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages" + body: "page" + }; + option (google.api.method_signature) = "parent,page"; + } + + // Updates the specified page. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc UpdatePage(UpdatePageRequest) returns (Page) { + option (google.api.http) = { + patch: "/v3/{page.name=projects/*/locations/*/agents/*/flows/*/pages/*}" + body: "page" + }; + option (google.api.method_signature) = "page,update_mask"; + } + + // Deletes the specified page. + // + // Note: You should always train a flow prior to sending it queries. See the + // [training + // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training). + rpc DeletePage(DeletePageRequest) returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// A Dialogflow CX conversation (session) can be described and visualized as a +// state machine. The states of a CX session are represented by pages. +// +// For each flow, you define many pages, where your combined pages can handle a +// complete conversation on the topics the flow is designed for. At any given +// moment, exactly one page is the current page, the current page is considered +// active, and the flow associated with that page is considered active. Every +// flow has a special start page. When a flow initially becomes active, the +// start page page becomes the current page. For each conversational turn, the +// current page will either stay the same or transition to another page. +// +// You configure each page to collect information from the end-user that is +// relevant for the conversational state represented by the page. +// +// For more information, see the +// [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page). +message Page { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/Page" + pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/pages/{page}" + }; + + // The unique identifier of the page. + // Required for the + // [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage] method. + // [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage] + // populates the name automatically. + // Format: `projects//locations//agents//flows//pages/`. + string name = 1; + + // Required. The human-readable name of the page, unique within the flow. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // The fulfillment to call when the session is entering the page. + Fulfillment entry_fulfillment = 7; + + // The form associated with the page, used for collecting parameters + // relevant to the page. + Form form = 4; + + // Ordered list of + // [`TransitionRouteGroups`][google.cloud.dialogflow.cx.v3.TransitionRouteGroup] + // added to the page. Transition route groups must be unique within a page. If + // the page links both flow-level transition route groups and agent-level + // transition route groups, the flow-level ones will have higher priority and + // will be put before the agent-level ones. + // + // * If multiple transition routes within a page scope refer to the same + // intent, then the precedence order is: page's transition route -> page's + // transition route group -> flow's transition routes. + // + // * If multiple transition route groups within a page contain the same + // intent, then the first group in the ordered list takes precedence. + // + // Format:`projects//locations//agents//flows//transitionRouteGroups/` + // or `projects//locations//agents//transitionRouteGroups/` for agent-level + // groups. + repeated string transition_route_groups = 11 + [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/TransitionRouteGroup" + }]; + + // A list of transitions for the transition rules of this page. + // They route the conversation to another page in the same flow, or another + // flow. + // + // When we are in a certain page, the TransitionRoutes are evalauted in the + // following order: + // + // * TransitionRoutes defined in the page with intent specified. + // * TransitionRoutes defined in the + // [transition route + // groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups] + // with intent specified. + // * TransitionRoutes defined in flow with intent specified. + // * TransitionRoutes defined in the + // [transition route + // groups][google.cloud.dialogflow.cx.v3.Flow.transition_route_groups] + // with intent specified. + // * TransitionRoutes defined in the page with only condition specified. + // * TransitionRoutes defined in the + // [transition route + // groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups] + // with only condition specified. + repeated TransitionRoute transition_routes = 9; + + // Handlers associated with the page to handle events such as webhook errors, + // no match or no input. + repeated EventHandler event_handlers = 10; + + // Hierarchical advanced settings for this page. The settings exposed at the + // lower level overrides the settings exposed at the higher level. + AdvancedSettings advanced_settings = 13; + + // Optional. Knowledge connector configuration. + KnowledgeConnectorSettings knowledge_connector_settings = 18 + [(google.api.field_behavior) = OPTIONAL]; +} + +// A form is a data model that groups related parameters that can be collected +// from the user. The process in which the agent prompts the user and collects +// parameter values from the user is called form filling. A form can be added to +// a [page][google.cloud.dialogflow.cx.v3.Page]. When form filling is done, the +// filled parameters will be written to the +// [session][google.cloud.dialogflow.cx.v3.SessionInfo.parameters]. +message Form { + // Represents a form parameter. + message Parameter { + // Configuration for how the filling of a parameter should be handled. + message FillBehavior { + // Required. The fulfillment to provide the initial prompt that the agent + // can present to the user in order to fill the parameter. + Fulfillment initial_prompt_fulfillment = 3 + [(google.api.field_behavior) = REQUIRED]; + + // The handlers for parameter-level events, used to provide reprompt for + // the parameter or transition to a different page/flow. The supported + // events are: + // * `sys.no-match-`, where N can be from 1 to 6 + // * `sys.no-match-default` + // * `sys.no-input-`, where N can be from 1 to 6 + // * `sys.no-input-default` + // * `sys.invalid-parameter` + // + // `initial_prompt_fulfillment` provides the first prompt for the + // parameter. + // + // If the user's response does not fill the parameter, a + // no-match/no-input event will be triggered, and the fulfillment + // associated with the `sys.no-match-1`/`sys.no-input-1` handler (if + // defined) will be called to provide a prompt. The + // `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to + // the next no-match/no-input event, and so on. + // + // A `sys.no-match-default` or `sys.no-input-default` handler will be used + // to handle all following no-match/no-input events after all numbered + // no-match/no-input handlers for the parameter are consumed. + // + // A `sys.invalid-parameter` handler can be defined to handle the case + // where the parameter values have been `invalidated` by webhook. For + // example, if the user's response fill the parameter, however the + // parameter was invalidated by webhook, the fulfillment associated with + // the `sys.invalid-parameter` handler (if defined) will be called to + // provide a prompt. + // + // If the event handler for the corresponding event can't be found on the + // parameter, `initial_prompt_fulfillment` will be re-prompted. + repeated EventHandler reprompt_event_handlers = 5; + } + + // Required. The human-readable name of the parameter, unique within the + // form. + string display_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Indicates whether the parameter is required. Optional parameters will not + // trigger prompts; however, they are filled if the user specifies them. + // Required parameters must be filled before form filling concludes. + bool required = 2; + + // Required. The entity type of the parameter. + // Format: `projects/-/locations/-/agents/-/entityTypes/` for system entity types (for example, + // `projects/-/locations/-/agents/-/entityTypes/sys.date`), or + // `projects//locations//agents//entityTypes/` for developer entity types. + string entity_type = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/EntityType" + } + ]; + + // Indicates whether the parameter represents a list of values. + bool is_list = 4; + + // Required. Defines fill behavior for the parameter. + FillBehavior fill_behavior = 7 [(google.api.field_behavior) = REQUIRED]; + + // The default value of an optional parameter. If the parameter is required, + // the default value will be ignored. + google.protobuf.Value default_value = 9; + + // Indicates whether the parameter content should be redacted in log. If + // redaction is enabled, the parameter content will be replaced by parameter + // name during logging. + // Note: the parameter content is subject to redaction if either parameter + // level redaction or [entity type level + // redaction][google.cloud.dialogflow.cx.v3.EntityType.redact] is enabled. + bool redact = 11; + + // Hierarchical advanced settings for this parameter. The settings exposed + // at the lower level overrides the settings exposed at the higher level. + AdvancedSettings advanced_settings = 12; + } + + // Parameters to collect from the user. + repeated Parameter parameters = 1; +} + +// An event handler specifies an +// [event][google.cloud.dialogflow.cx.v3.EventHandler.event] that can be handled +// during a session. When the specified event happens, the following actions are +// taken in order: +// +// * If there is a +// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.EventHandler.trigger_fulfillment] +// associated with the event, it will be called. +// * If there is a +// [`target_page`][google.cloud.dialogflow.cx.v3.EventHandler.target_page] +// associated with the event, the session will transition into the specified +// page. +// * If there is a +// [`target_flow`][google.cloud.dialogflow.cx.v3.EventHandler.target_flow] +// associated with the event, the session will transition into the specified +// flow. +message EventHandler { + // Output only. The unique identifier of this event handler. + string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The name of the event to handle. + string event = 4 [(google.api.field_behavior) = REQUIRED]; + + // The fulfillment to call when the event occurs. + // Handling webhook errors with a fulfillment enabled with webhook could + // cause infinite loop. It is invalid to specify such fulfillment for a + // handler handling webhooks. + Fulfillment trigger_fulfillment = 5; + + // The target to transition to, either a page in the same host flow (the flow + // that owns this + // [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or + // another flow in the same agent. + oneof target { + // The target page to transition to. + // Format: `projects//locations//agents//flows//pages/`. + string target_page = 2 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + }]; + + // The target flow to transition to. + // Format: `projects//locations//agents//flows/`. + string target_flow = 3 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + }]; + } +} + +// A transition route specifies a [intent][google.cloud.dialogflow.cx.v3.Intent] +// that can be matched and/or a data condition that can be evaluated during a +// session. When a specified transition is matched, the following actions are +// taken in order: +// +// * If there is a +// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.TransitionRoute.trigger_fulfillment] +// associated with the transition, it will be called. +// * If there is a +// [`target_page`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_page] +// associated with the transition, the session will transition into the +// specified page. +// * If there is a +// [`target_flow`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_flow] +// associated with the transition, the session will transition into the +// specified flow. +message TransitionRoute { + // Output only. The unique identifier of this transition route. + string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Optional. The description of the transition route. The maximum length is + // 500 characters. + string description = 8 [(google.api.field_behavior) = OPTIONAL]; + + // The unique identifier of an [Intent][google.cloud.dialogflow.cx.v3.Intent]. + // Format: `projects//locations//agents//intents/`. + // Indicates that the transition can only happen when the given intent is + // matched. + // At least one of `intent` or `condition` must be specified. When both + // `intent` and `condition` are specified, the transition can only happen + // when both are fulfilled. + string intent = 1 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Intent" + }]; + + // The condition to evaluate against [form + // parameters][google.cloud.dialogflow.cx.v3.Form.parameters] or [session + // parameters][google.cloud.dialogflow.cx.v3.SessionInfo.parameters]. + // + // See the [conditions + // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition). + // At least one of `intent` or `condition` must be specified. When both + // `intent` and `condition` are specified, the transition can only happen + // when both are fulfilled. + string condition = 2; + + // The fulfillment to call when the condition is satisfied. At least one of + // `trigger_fulfillment` and `target` must be specified. When both are + // defined, `trigger_fulfillment` is executed first. + Fulfillment trigger_fulfillment = 3; + + // The target to transition to, either a page in the same host flow (the flow + // that owns this + // [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or + // another flow in the same agent. + oneof target { + // The target page to transition to. + // Format: `projects//locations//agents//flows//pages/`. + string target_page = 4 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + }]; + + // The target flow to transition to. + // Format: `projects//locations//agents//flows/`. + string target_flow = 5 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + }]; + } +} + +// The request message for +// [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages]. +message ListPagesRequest { + // Required. The flow to list all pages for. + // Format: `projects//locations//agents//flows/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Page" + } + ]; + + // The language to list pages for. The following fields are language + // dependent: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The maximum number of items to return in a single page. By default 100 and + // at most 1000. + int32 page_size = 3; + + // The next_page_token value returned from a previous list request. + string page_token = 4; +} + +// The response message for +// [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages]. +message ListPagesResponse { + // The list of pages. There will be a maximum number of items returned based + // on the page_size field in the request. + repeated Page pages = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for +// [Pages.GetPage][google.cloud.dialogflow.cx.v3.Pages.GetPage]. +message GetPageRequest { + // Required. The name of the page. + // Format: `projects//locations//agents//flows//pages/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Page" } + ]; + + // The language to retrieve the page for. The following fields are language + // dependent: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; +} + +// The request message for +// [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage]. +message CreatePageRequest { + // Required. The flow to create a page for. + // Format: `projects//locations//agents//flows/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/Page" + } + ]; + + // Required. The page to create. + Page page = 2 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `page`: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 3; +} + +// The request message for +// [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage]. +message UpdatePageRequest { + // Required. The page to update. + Page page = 1 [(google.api.field_behavior) = REQUIRED]; + + // The language of the following fields in `page`: + // + // * `Page.entry_fulfillment.messages` + // * `Page.entry_fulfillment.conditional_cases` + // * `Page.event_handlers.trigger_fulfillment.messages` + // * `Page.event_handlers.trigger_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages` + // * + // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases` + // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages` + // * + // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases` + // * `Page.transition_routes.trigger_fulfillment.messages` + // * `Page.transition_routes.trigger_fulfillment.conditional_cases` + // + // If not specified, the agent's default language is used. + // [Many + // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language) + // are supported. + // Note: languages must be enabled in the agent before they can be used. + string language_code = 2; + + // The mask to control which fields get updated. If the mask is not present, + // all fields will be updated. + google.protobuf.FieldMask update_mask = 3; +} + +// The request message for +// [Pages.DeletePage][google.cloud.dialogflow.cx.v3.Pages.DeletePage]. +message DeletePageRequest { + // Required. The name of the page to delete. + // Format: `projects//locations//agents//Flows//pages/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "dialogflow.googleapis.com/Page" } + ]; + + // This field has no effect for pages with no incoming transitions. + // For pages with incoming transitions: + // + // * If `force` is set to false, an error will be returned with message + // indicating the incoming transitions. + // * If `force` is set to true, Dialogflow will remove the page, as well as + // any transitions to the page (i.e. [Target + // page][EventHandler.target_page] in event handlers or [Target + // page][TransitionRoute.target_page] in transition routes that point to + // this page will be cleared). + bool force = 2; +} + +// The Knowledge Connector settings for this page or flow. +// This includes information such as the attached Knowledge Bases, and the way +// to execute fulfillment. +message KnowledgeConnectorSettings { + // Whether Knowledge Connector is enabled or not. + bool enabled = 1; + + // The fulfillment to be triggered. + // + // When the answers from the Knowledge Connector are selected by Dialogflow, + // you can utitlize the request scoped parameter `$request.knowledge.answers` + // (contains up to the 5 highest confidence answers) and + // `$request.knowledge.questions` (contains the corresponding questions) to + // construct the fulfillment. + Fulfillment trigger_fulfillment = 3; + + // The target to transition to, either a page in the same host flow (the flow + // that owns this + // [KnowledgeConnectorSettings][google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings]), + // or another flow in the same agent. + oneof target { + // The target page to transition to. + // Format: `projects//locations//agents//flows//pages/`. + string target_page = 4 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Page" + }]; + + // The target flow to transition to. + // Format: `projects//locations//agents//flows/`. + string target_flow = 5 [(google.api.resource_reference) = { + type: "dialogflow.googleapis.com/Flow" + }]; + } + + // Optional. List of related data store connections. + repeated DataStoreConnection data_store_connections = 6 + [(google.api.field_behavior) = OPTIONAL]; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/response_message.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/response_message.proto new file mode 100644 index 00000000000..bf09929533f --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/response_message.proto @@ -0,0 +1,269 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; +import "google/protobuf/struct.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "ResponseMessageProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Represents a response message that can be returned by a conversational agent. +// +// Response messages are also used for output audio synthesis. The approach is +// as follows: +// +// * If at least one OutputAudioText response is present, then all +// OutputAudioText responses are linearly concatenated, and the result is used +// for output audio synthesis. +// * If the OutputAudioText responses are a mixture of text and SSML, then the +// concatenated result is treated as SSML; otherwise, the result is treated as +// either text or SSML as appropriate. The agent designer should ideally use +// either text or SSML consistently throughout the bot design. +// * Otherwise, all Text responses are linearly concatenated, and the result is +// used for output audio synthesis. +// +// This approach allows for more sophisticated user experience scenarios, where +// the text displayed to the user may differ from what is heard. +message ResponseMessage { + // The text response message. + message Text { + // Required. A collection of text responses. + repeated string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Whether the playback of this message can be interrupted by + // the end user's speech and the client can then starts the next Dialogflow + // request. + bool allow_playback_interruption = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Indicates that the conversation should be handed off to a live agent. + // + // Dialogflow only uses this to determine which conversations were handed off + // to a human agent for measurement purposes. What else to do with this signal + // is up to you and your handoff procedures. + // + // You may set this, for example: + // * In the + // [entry_fulfillment][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] + // of a [Page][google.cloud.dialogflow.cx.v3.Page] if + // entering the page indicates something went extremely wrong in the + // conversation. + // * In a webhook response when you determine that the customer issue can only + // be handled by a human. + message LiveAgentHandoff { + // Custom metadata for your handoff procedure. Dialogflow doesn't impose + // any structure on this. + google.protobuf.Struct metadata = 1; + } + + // Indicates that the conversation succeeded, i.e., the bot handled the issue + // that the customer talked to it about. + // + // Dialogflow only uses this to determine which conversations should be + // counted as successful and doesn't process the metadata in this message in + // any way. Note that Dialogflow also considers conversations that get to the + // conversation end page as successful even if they don't return + // [ConversationSuccess][google.cloud.dialogflow.cx.v3.ResponseMessage.ConversationSuccess]. + // + // You may set this, for example: + // * In the + // [entry_fulfillment][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] + // of a [Page][google.cloud.dialogflow.cx.v3.Page] if + // entering the page indicates that the conversation succeeded. + // * In a webhook response when you determine that you handled the customer + // issue. + message ConversationSuccess { + // Custom metadata. Dialogflow doesn't impose any structure on this. + google.protobuf.Struct metadata = 1; + } + + // A text or ssml response that is preferentially used for TTS output audio + // synthesis, as described in the comment on the ResponseMessage message. + message OutputAudioText { + // The source, which is either plain text or SSML. + oneof source { + // The raw text to be synthesized. + string text = 1; + + // The SSML text to be synthesized. For more information, see + // [SSML](/speech/text-to-speech/docs/ssml). + string ssml = 2; + } + + // Output only. Whether the playback of this message can be interrupted by + // the end user's speech and the client can then starts the next Dialogflow + // request. + bool allow_playback_interruption = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Indicates that interaction with the Dialogflow agent has ended. + // This message is generated by Dialogflow only and not supposed to be + // defined by the user. + message EndInteraction {} + + // Specifies an audio clip to be played by the client as part of the response. + message PlayAudio { + // Required. URI of the audio clip. Dialogflow does not impose any + // validation on this value. It is specific to the client that reads it. + string audio_uri = 1 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Whether the playback of this message can be interrupted by + // the end user's speech and the client can then starts the next Dialogflow + // request. + bool allow_playback_interruption = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Represents an audio message that is composed of both segments + // synthesized from the Dialogflow agent prompts and ones hosted externally + // at the specified URIs. + // The external URIs are specified via + // [play_audio][google.cloud.dialogflow.cx.v3.ResponseMessage.play_audio]. + // This message is generated by Dialogflow only and not supposed to be + // defined by the user. + message MixedAudio { + // Represents one segment of audio. + message Segment { + // Content of the segment. + oneof content { + // Raw audio synthesized from the Dialogflow agent's response using + // the output config specified in the request. + bytes audio = 1; + + // Client-specific URI that points to an audio clip accessible to the + // client. Dialogflow does not impose any validation on it. + string uri = 2; + } + + // Output only. Whether the playback of this segment can be interrupted by + // the end user's speech and the client should then start the next + // Dialogflow request. + bool allow_playback_interruption = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Segments this audio response is composed of. + repeated Segment segments = 1; + } + + // Represents the signal that telles the client to transfer the phone call + // connected to the agent to a third-party endpoint. + message TelephonyTransferCall { + // Endpoint to transfer the call to. + oneof endpoint { + // Transfer the call to a phone number + // in [E.164 format](https://en.wikipedia.org/wiki/E.164). + string phone_number = 1; + } + } + + // Represents info card response. If the response contains generative + // knowledge prediction, Dialogflow will return a payload with Infobot + // Messenger compatible info card. + // + // Otherwise, the info card response is skipped. + message KnowledgeInfoCard {} + + // Represents different response types. + enum ResponseType { + // Not specified. + RESPONSE_TYPE_UNSPECIFIED = 0; + + // The response is from an [entry + // prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the + // page. + ENTRY_PROMPT = 1; + + // The response is from [form-filling + // prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in + // the page. + PARAMETER_PROMPT = 2; + + // The response is from a [transition + // route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event + // handler][EventHandler] in the page or flow or transition route group. + HANDLER_PROMPT = 3; + } + + // Required. The rich response message. + oneof message { + // Returns a text response. + Text text = 1; + + // Returns a response containing a custom, platform-specific payload. + google.protobuf.Struct payload = 2; + + // Indicates that the conversation succeeded. + ConversationSuccess conversation_success = 9; + + // A text or ssml response that is preferentially used for TTS output audio + // synthesis, as described in the comment on the ResponseMessage message. + OutputAudioText output_audio_text = 8; + + // Hands off conversation to a human agent. + LiveAgentHandoff live_agent_handoff = 10; + + // Output only. A signal that indicates the interaction with the Dialogflow + // agent has ended. This message is generated by Dialogflow only when the + // conversation reaches `END_SESSION` page. It is not supposed to be defined + // by the user. + // + // It's guaranteed that there is at most one such message in each response. + EndInteraction end_interaction = 11 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Signal that the client should play an audio clip hosted at a + // client-specific URI. Dialogflow uses this to construct + // [mixed_audio][google.cloud.dialogflow.cx.v3.ResponseMessage.mixed_audio]. + // However, Dialogflow itself does not try to read or process the URI in any + // way. + PlayAudio play_audio = 12; + + // Output only. An audio response message composed of both the synthesized + // Dialogflow agent responses and responses defined via + // [play_audio][google.cloud.dialogflow.cx.v3.ResponseMessage.play_audio]. + // This message is generated by Dialogflow only and not supposed to be + // defined by the user. + MixedAudio mixed_audio = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // A signal that the client should transfer the phone call connected to + // this agent to a third-party endpoint. + TelephonyTransferCall telephony_transfer_call = 18; + + // Represents info card for knowledge answers, to be better rendered in + // Dialogflow Messenger. + KnowledgeInfoCard knowledge_info_card = 20; + } + + // Response type. + ResponseType response_type = 4; + + // The channel which the response is associated with. Clients can specify the + // channel via + // [QueryParameters.channel][google.cloud.dialogflow.cx.v3.QueryParameters.channel], + // and only associated channel response will be returned. + string channel = 19; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/safety_settings.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/safety_settings.proto new file mode 100644 index 00000000000..042bd16d7a3 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/safety_settings.proto @@ -0,0 +1,43 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/field_behavior.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "SafetySettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; + +// Settings for Generative Safety. +message SafetySettings { + // Text input which can be used for prompt or banned phrases. + message Phrase { + // Required. Text input which can be used for prompt or banned phrases. + string text = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Language code of the phrase. + string language_code = 2 [(google.api.field_behavior) = REQUIRED]; + } + + // Banned phrases for generated text. + repeated Phrase banned_phrases = 1; +} diff --git a/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/security_settings.proto b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/security_settings.proto new file mode 100644 index 00000000000..641f2d894c7 --- /dev/null +++ b/owl-bot-staging/google-cloud-dialogflow-cx/v3/protos/google/cloud/dialogflow/cx/v3/security_settings.proto @@ -0,0 +1,395 @@ +// Copyright 2023 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.dialogflow.cx.v3; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; + +option cc_enable_arenas = true; +option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3"; +option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb"; +option java_multiple_files = true; +option java_outer_classname = "SecuritySettingsProto"; +option java_package = "com.google.cloud.dialogflow.cx.v3"; +option objc_class_prefix = "DF"; +option ruby_package = "Google::Cloud::Dialogflow::CX::V3"; +option (google.api.resource_definition) = { + type: "dlp.googleapis.com/InspectTemplate" + pattern: "organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}" + pattern: "projects/{project}/locations/{location}/inspectTemplates/{inspect_template}" +}; +option (google.api.resource_definition) = { + type: "dlp.googleapis.com/DeidentifyTemplate" + pattern: "organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}" + pattern: "projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}" +}; + +// Service for managing security settings for Dialogflow. +service SecuritySettingsService { + option (google.api.default_host) = "dialogflow.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/dialogflow"; + + // Create security settings in the specified location. + rpc CreateSecuritySettings(CreateSecuritySettingsRequest) + returns (SecuritySettings) { + option (google.api.http) = { + post: "/v3/{parent=projects/*/locations/*}/securitySettings" + body: "security_settings" + }; + option (google.api.method_signature) = "parent,security_settings"; + } + + // Retrieves the specified + // [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings]. The + // returned settings may be stale by up to 1 minute. + rpc GetSecuritySettings(GetSecuritySettingsRequest) + returns (SecuritySettings) { + option (google.api.http) = { + get: "/v3/{name=projects/*/locations/*/securitySettings/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates the specified + // [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings]. + rpc UpdateSecuritySettings(UpdateSecuritySettingsRequest) + returns (SecuritySettings) { + option (google.api.http) = { + patch: "/v3/{security_settings.name=projects/*/locations/*/securitySettings/*}" + body: "security_settings" + }; + option (google.api.method_signature) = "security_settings,update_mask"; + } + + // Returns the list of all security settings in the specified location. + rpc ListSecuritySettings(ListSecuritySettingsRequest) + returns (ListSecuritySettingsResponse) { + option (google.api.http) = { + get: "/v3/{parent=projects/*/locations/*}/securitySettings" + }; + option (google.api.method_signature) = "parent"; + } + + // Deletes the specified + // [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings]. + rpc DeleteSecuritySettings(DeleteSecuritySettingsRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v3/{name=projects/*/locations/*/securitySettings/*}" + }; + option (google.api.method_signature) = "name"; + } +} + +// The request message for +// [SecuritySettingsService.GetSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.GetSecuritySettings]. +message GetSecuritySettingsRequest { + // Required. Resource name of the settings. + // Format: `projects//locations//securitySettings/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; +} + +// The request message for +// [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings]. +message UpdateSecuritySettingsRequest { + // Required. [SecuritySettings] object that contains values for each of the + // fields to update. + SecuritySettings security_settings = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Required. The mask to control which fields get updated. If the mask is not + // present, all fields will be updated. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [SecuritySettings.ListSecuritySettings][]. +message ListSecuritySettingsRequest { + // Required. The location to list all security settings for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; + + // The maximum number of items to return in a single page. By default 20 and + // at most 100. + int32 page_size = 2; + + // The next_page_token value returned from a previous list request. + string page_token = 3; +} + +// The response message for [SecuritySettings.ListSecuritySettings][]. +message ListSecuritySettingsResponse { + // The list of security settings. + repeated SecuritySettings security_settings = 1; + + // Token to retrieve the next page of results, or empty if there are no more + // results in the list. + string next_page_token = 2; +} + +// The request message for [SecuritySettings.CreateSecuritySettings][]. +message CreateSecuritySettingsRequest { + // Required. The location to create an + // [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings] for. + // Format: `projects//locations/`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; + + // Required. The security settings to create. + SecuritySettings security_settings = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// The request message for [SecuritySettings.DeleteSecuritySettings][]. +message DeleteSecuritySettingsRequest { + // Required. The name of the + // [SecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettings] to + // delete. Format: `projects//locations//securitySettings/`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "dialogflow.googleapis.com/SecuritySettings" + } + ]; +} + +// Represents the settings related to security issues, such as data redaction +// and data retention. It may take hours for updates on the settings to +// propagate to all the related components and take effect. +message SecuritySettings { + option (google.api.resource) = { + type: "dialogflow.googleapis.com/SecuritySettings" + pattern: "projects/{project}/locations/{location}/securitySettings/{security_settings}" + }; + + // Defines how we redact data. + enum RedactionStrategy { + // Do not redact. + REDACTION_STRATEGY_UNSPECIFIED = 0; + + // Call redaction service to clean up the data to be persisted. + REDACT_WITH_SERVICE = 1; + } + + // Defines what types of data to redact. + enum RedactionScope { + // Don't redact any kind of data. + REDACTION_SCOPE_UNSPECIFIED = 0; + + // On data to be written to disk or similar devices that are capable of + // holding data even if power is disconnected. This includes data that are + // temporarily saved on disk. + REDACT_DISK_STORAGE = 2; + } + + // Defines how long we retain persisted data that contains sensitive info. + enum RetentionStrategy { + // Retains the persisted data with Dialogflow's internal default 365d TTLs. + RETENTION_STRATEGY_UNSPECIFIED = 0; + + // Removes data when the conversation ends. If there is no [Conversation][] + // explicitly established, a default conversation ends when the + // corresponding Dialogflow session ends. + REMOVE_AFTER_CONVERSATION = 1; + } + + // Type of data we purge after retention settings triggers purge. + enum PurgeDataType { + // Unspecified. Do not use. + PURGE_DATA_TYPE_UNSPECIFIED = 0; + + // Dialogflow history. This does not include Cloud logging, which is + // owned by the user - not Dialogflow. + DIALOGFLOW_HISTORY = 1; + } + + // Settings for exporting audio. + message AudioExportSettings { + // File format for exported audio file. Currently only in telephony + // recordings. + enum AudioFormat { + // Unspecified. Do not use. + AUDIO_FORMAT_UNSPECIFIED = 0; + + // G.711 mu-law PCM with 8kHz sample rate. + MULAW = 1; + + // MP3 file format. + MP3 = 2; + + // OGG Vorbis. + OGG = 3; + } + + // Cloud Storage bucket to export audio record to. + // Setting this field would grant the Storage Object Creator role to + // the Dialogflow Service Agent. + // API caller that tries to modify this field should have the permission of + // storage.buckets.setIamPolicy. + string gcs_bucket = 1; + + // Filename pattern for exported audio. + string audio_export_pattern = 2; + + // Enable audio redaction if it is true. + bool enable_audio_redaction = 3; + + // File format for exported audio file. Currently only in telephony + // recordings. + AudioFormat audio_format = 4; + } + + // Settings for exporting conversations to + // [Insights](https://cloud.google.com/contact-center/insights/docs). + message InsightsExportSettings { + // If enabled, we will automatically exports + // conversations to Insights and Insights runs its analyzers. + bool enable_insights_export = 1; + } + + // Resource name of the settings. + // Required for the + // [SecuritySettingsService.UpdateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettings] + // method. + // [SecuritySettingsService.CreateSecuritySettings][google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettings] + // populates the name automatically. Format: `projects//locations//securitySettings/`. + string name = 1; + + // Required. The human-readable name of the security settings, unique within + // the location. + string display_name = 2 [(google.api.field_behavior) = REQUIRED]; + + // Strategy that defines how we do redaction. + RedactionStrategy redaction_strategy = 3; + + // Defines the data for which Dialogflow applies redaction. Dialogflow does + // not redact data that it does not have access to – for example, Cloud + // logging. + RedactionScope redaction_scope = 4; + + // [DLP](https://cloud.google.com/dlp/docs) inspect template name. Use this + // template to define inspect base settings. + // + // The `DLP Inspect Templates Reader` role is needed on the Dialogflow + // service identity service account (has the form + // `service-PROJECT_NUMBER@gcp-sa-dialogflow.iam.gserviceaccount.com`) + // for your agent's project. + // + // If empty, we use the default DLP inspect config. + // + // The template name will have one of the following formats: + // `projects//locations//inspectTemplates/