@echovisionlab/geul-proto 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +6 -0
  3. package/eslint.config.mjs +15 -0
  4. package/gen/api/common/v1/common_pb.ts +391 -0
  5. package/gen/api/common/v1/media_pb.ts +578 -0
  6. package/gen/api/content/v1/block_catalog.ts +5978 -0
  7. package/gen/api/content/v1/block_content_pb.ts +11420 -0
  8. package/gen/api/intra/v1/artist_pb.ts +597 -0
  9. package/gen/api/intra/v1/campaign_pb.ts +383 -0
  10. package/gen/api/intra/v1/collaboration_pb.ts +661 -0
  11. package/gen/api/intra/v1/email_courier_pb.ts +98 -0
  12. package/gen/api/intra/v1/email_layout_pb.ts +295 -0
  13. package/gen/api/intra/v1/email_template_pb.ts +384 -0
  14. package/gen/api/intra/v1/file_ingest_pb.ts +144 -0
  15. package/gen/api/intra/v1/form_locale_catalog.ts +128 -0
  16. package/gen/api/intra/v1/form_locale_catalog_parity.json +24 -0
  17. package/gen/api/intra/v1/form_pb.ts +276 -0
  18. package/gen/api/intra/v1/gateway_authorization_pb.ts +96 -0
  19. package/gen/api/intra/v1/label_pb.ts +558 -0
  20. package/gen/api/intra/v1/map_pb.ts +382 -0
  21. package/gen/api/intra/v1/menu_pb.ts +282 -0
  22. package/gen/api/intra/v1/og_pb.ts +335 -0
  23. package/gen/api/intra/v1/page_pb.ts +572 -0
  24. package/gen/api/intra/v1/post_pb.ts +657 -0
  25. package/gen/api/intra/v1/post_series_pb.ts +217 -0
  26. package/gen/api/intra/v1/privacy_pb.ts +384 -0
  27. package/gen/api/intra/v1/program_event_pb.ts +390 -0
  28. package/gen/api/intra/v1/release_pb.ts +462 -0
  29. package/gen/api/intra/v1/terms_pb.ts +384 -0
  30. package/gen/api/intra/v1/work_pb.ts +477 -0
  31. package/gen/api/manage/v1/account_pb.ts +1311 -0
  32. package/gen/api/manage/v1/admin_pb.ts +681 -0
  33. package/gen/api/manage/v1/ai_pb.ts +2621 -0
  34. package/gen/api/manage/v1/artist_pb.ts +1271 -0
  35. package/gen/api/manage/v1/audience_pb.ts +597 -0
  36. package/gen/api/manage/v1/campaign_pb.ts +1289 -0
  37. package/gen/api/manage/v1/category_pb.ts +351 -0
  38. package/gen/api/manage/v1/client_pb.ts +512 -0
  39. package/gen/api/manage/v1/collaboration_pb.ts +112 -0
  40. package/gen/api/manage/v1/comment_pb.ts +530 -0
  41. package/gen/api/manage/v1/common_pb.ts +192 -0
  42. package/gen/api/manage/v1/email_layout_pb.ts +487 -0
  43. package/gen/api/manage/v1/email_suppression_pb.ts +192 -0
  44. package/gen/api/manage/v1/email_template_pb.ts +683 -0
  45. package/gen/api/manage/v1/events_pb.ts +3251 -0
  46. package/gen/api/manage/v1/file_pb.ts +2810 -0
  47. package/gen/api/manage/v1/form_pb.ts +1046 -0
  48. package/gen/api/manage/v1/format_pb.ts +321 -0
  49. package/gen/api/manage/v1/genre_pb.ts +340 -0
  50. package/gen/api/manage/v1/label_pb.ts +1105 -0
  51. package/gen/api/manage/v1/mail_adapter_pb.ts +656 -0
  52. package/gen/api/manage/v1/map_place_pb.ts +572 -0
  53. package/gen/api/manage/v1/map_theme_pb.ts +691 -0
  54. package/gen/api/manage/v1/member_pb.ts +1281 -0
  55. package/gen/api/manage/v1/menu_pb.ts +535 -0
  56. package/gen/api/manage/v1/page_pb.ts +894 -0
  57. package/gen/api/manage/v1/post_pb.ts +1475 -0
  58. package/gen/api/manage/v1/privacy_pb.ts +518 -0
  59. package/gen/api/manage/v1/program_event_pb.ts +2234 -0
  60. package/gen/api/manage/v1/release_pb.ts +1168 -0
  61. package/gen/api/manage/v1/series_pb.ts +1033 -0
  62. package/gen/api/manage/v1/share_link_pb.ts +351 -0
  63. package/gen/api/manage/v1/site_setting_pb.ts +623 -0
  64. package/gen/api/manage/v1/style_pb.ts +340 -0
  65. package/gen/api/manage/v1/tag_pb.ts +323 -0
  66. package/gen/api/manage/v1/terms_pb.ts +517 -0
  67. package/gen/api/manage/v1/track_pb.ts +543 -0
  68. package/gen/api/manage/v1/translation_pb.ts +1838 -0
  69. package/gen/api/manage/v1/work_pb.ts +1662 -0
  70. package/gen/api/open/v1/account_pb.ts +243 -0
  71. package/gen/api/open/v1/artist_pb.ts +732 -0
  72. package/gen/api/open/v1/category_pb.ts +143 -0
  73. package/gen/api/open/v1/client_pb.ts +190 -0
  74. package/gen/api/open/v1/file_pb.ts +244 -0
  75. package/gen/api/open/v1/form_pb.ts +698 -0
  76. package/gen/api/open/v1/label_pb.ts +512 -0
  77. package/gen/api/open/v1/manifest_pb.ts +326 -0
  78. package/gen/api/open/v1/map_place_pb.ts +228 -0
  79. package/gen/api/open/v1/map_theme_pb.ts +400 -0
  80. package/gen/api/open/v1/member_pb.ts +200 -0
  81. package/gen/api/open/v1/newsletter_pb.ts +77 -0
  82. package/gen/api/open/v1/page_pb.ts +236 -0
  83. package/gen/api/open/v1/post_pb.ts +834 -0
  84. package/gen/api/open/v1/privacy_pb.ts +257 -0
  85. package/gen/api/open/v1/program_event_pb.ts +1024 -0
  86. package/gen/api/open/v1/release_pb.ts +758 -0
  87. package/gen/api/open/v1/series_pb.ts +210 -0
  88. package/gen/api/open/v1/share_link_pb.ts +106 -0
  89. package/gen/api/open/v1/sitemap_pb.ts +188 -0
  90. package/gen/api/open/v1/tag_pb.ts +136 -0
  91. package/gen/api/open/v1/terms_pb.ts +257 -0
  92. package/gen/api/open/v1/translation_pb.ts +103 -0
  93. package/gen/api/open/v1/work_pb.ts +904 -0
  94. package/gen/api/policy/v1/access_pb.ts +105 -0
  95. package/gen/api/policy/v1/spicedb/artist.ts +101 -0
  96. package/gen/api/policy/v1/spicedb/audience.ts +64 -0
  97. package/gen/api/policy/v1/spicedb/campaign.ts +49 -0
  98. package/gen/api/policy/v1/spicedb/core.ts +196 -0
  99. package/gen/api/policy/v1/spicedb/email_authoring.ts +91 -0
  100. package/gen/api/policy/v1/spicedb/email_delivery.ts +44 -0
  101. package/gen/api/policy/v1/spicedb/file.ts +49 -0
  102. package/gen/api/policy/v1/spicedb/form.ts +54 -0
  103. package/gen/api/policy/v1/spicedb/internal.ts +350 -0
  104. package/gen/api/policy/v1/spicedb/label.ts +98 -0
  105. package/gen/api/policy/v1/spicedb/legal_policy.ts +103 -0
  106. package/gen/api/policy/v1/spicedb/map_theme.ts +48 -0
  107. package/gen/api/policy/v1/spicedb/member.ts +47 -0
  108. package/gen/api/policy/v1/spicedb/menu.ts +48 -0
  109. package/gen/api/policy/v1/spicedb/page.ts +54 -0
  110. package/gen/api/policy/v1/spicedb/post.ts +105 -0
  111. package/gen/api/policy/v1/spicedb/post_series.ts +70 -0
  112. package/gen/api/policy/v1/spicedb/program_event.ts +66 -0
  113. package/gen/api/policy/v1/spicedb/program_event_series.ts +62 -0
  114. package/gen/api/policy/v1/spicedb/reference_data.ts +209 -0
  115. package/gen/api/policy/v1/spicedb/release.ts +81 -0
  116. package/gen/api/policy/v1/spicedb/site_settings.ts +49 -0
  117. package/gen/api/policy/v1/spicedb/translation.ts +46 -0
  118. package/gen/api/policy/v1/spicedb/work.ts +58 -0
  119. package/package.json +66 -0
  120. package/tsconfig.json +15 -0
@@ -0,0 +1,2621 @@
1
+ // @generated by protoc-gen-es v2.14.0 with parameter "target=ts,import_extension=ts"
2
+ // @generated from file api/manage/v1/ai.proto (package api.manage.v1, syntax proto3)
3
+ import type {
4
+ GenEnum,
5
+ GenFile,
6
+ GenMessage,
7
+ GenService,
8
+ } from "@bufbuild/protobuf/codegenv2";
9
+ import {
10
+ enumDesc,
11
+ fileDesc,
12
+ messageDesc,
13
+ serviceDesc,
14
+ } from "@bufbuild/protobuf/codegenv2";
15
+ import { file_api_policy_v1_access } from "../../policy/v1/access_pb.ts";
16
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
17
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
18
+ import type { Message } from "@bufbuild/protobuf";
19
+
20
+ /**
21
+ * Describes the file api/manage/v1/ai.proto.
22
+ */
23
+ export const file_api_manage_v1_ai: GenFile =
24
+ /*@__PURE__*/
25
+ fileDesc(
26
+ "ChZhcGkvbWFuYWdlL3YxL2FpLnByb3RvEg1hcGkubWFuYWdlLnYxIksKEEFJUmVzb3VyY2VUYXJnZXQSKwoEdHlwZRgBIAEoDjIdLmFwaS5tYW5hZ2UudjEuQUlSZXNvdXJjZVR5cGUSCgoCaWQYAiABKAkiNgoSTWV0YWRhdGFTdWdnZXN0aW9uEhQKB3N1bW1hcnkYASABKAlIAIgBAUIKCghfc3VtbWFyeSLMBQoVTWV0YWRhdGFHZW5lcmF0aW9uSm9iEgoKAmlkGAEgASgJEi8KBnRhcmdldBgCIAEoCzIfLmFwaS5tYW5hZ2UudjEuQUlSZXNvdXJjZVRhcmdldBIbChNyZXF1ZXN0ZXJfbWVtYmVyX2lkGAMgASgJEjoKBnN0YXR1cxgEIAEoDjIqLmFwaS5tYW5hZ2UudjEuTWV0YWRhdGFHZW5lcmF0aW9uSm9iU3RhdHVzEhYKDnJlcXVlc3RlZF9rZXlzGAUgAygJEjoKCnN1Z2dlc3Rpb24YBiABKAsyIS5hcGkubWFuYWdlLnYxLk1ldGFkYXRhU3VnZ2VzdGlvbkgAiAEBEhIKBWVycm9yGAcgASgJSAGIAQESFQoIcHJvdmlkZXIYCCABKAlIAogBARISCgVtb2RlbBgJIAEoCUgDiAEBEhgKC2R1cmF0aW9uX21zGAogASgDSASIAQESMwoKc3RhcnRlZF9hdBgLIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBYgBARI1Cgxjb21wbGV0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESNAoLcmVzb2x2ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAeIAQESLgoKY3JlYXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgPIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX3N1Z2dlc3Rpb25CCAoGX2Vycm9yQgsKCV9wcm92aWRlckIICgZfbW9kZWxCDgoMX2R1cmF0aW9uX21zQg0KC19zdGFydGVkX2F0Qg8KDV9jb21wbGV0ZWRfYXRCDgoMX3Jlc29sdmVkX2F0Ii4KHE1ldGFkYXRhR2VuZXJhdGlvblF1ZXVlRXZlbnQSDgoGam9iX2lkGAEgASgJInIKHlN0YXJ0TWV0YWRhdGFHZW5lcmF0aW9uUmVxdWVzdBIPCgdjb250ZXh0GAEgASgJEg4KBnByb21wdBgCIAEoCRIvCgZ0YXJnZXQYAyABKAsyHy5hcGkubWFuYWdlLnYxLkFJUmVzb3VyY2VUYXJnZXQiVAofU3RhcnRNZXRhZGF0YUdlbmVyYXRpb25SZXNwb25zZRIxCgNqb2IYASABKAsyJC5hcGkubWFuYWdlLnYxLk1ldGFkYXRhR2VuZXJhdGlvbkpvYiIxCh9HZXRNZXRhZGF0YUdlbmVyYXRpb25Kb2JSZXF1ZXN0Eg4KBmpvYl9pZBgBIAEoCSJVCiBHZXRNZXRhZGF0YUdlbmVyYXRpb25Kb2JSZXNwb25zZRIxCgNqb2IYASABKAsyJC5hcGkubWFuYWdlLnYxLk1ldGFkYXRhR2VuZXJhdGlvbkpvYiJ5CiNSZXNvbHZlTWV0YWRhdGFHZW5lcmF0aW9uSm9iUmVxdWVzdBIOCgZqb2JfaWQYASABKAkSQgoKcmVzb2x1dGlvbhgCIAEoDjIuLmFwaS5tYW5hZ2UudjEuTWV0YWRhdGFHZW5lcmF0aW9uSm9iUmVzb2x1dGlvbiJZCiRSZXNvbHZlTWV0YWRhdGFHZW5lcmF0aW9uSm9iUmVzcG9uc2USMQoDam9iGAEgASgLMiQuYXBpLm1hbmFnZS52MS5NZXRhZGF0YUdlbmVyYXRpb25Kb2IiWQoTQUlEb2N1bWVudFJlZmVyZW5jZRIvCgZkb21haW4YASABKA4yHy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnREb21haW4SEQoJcmVmZXJlbmNlGAIgASgJIiAKEEFJRG9jdW1lbnRMb2NhbGUSDAoEY29kZRgBIAEoCSKSAwoSQUlEb2N1bWVudE1ldGFkYXRhEhgKEHByb3RvY29sX3ZlcnNpb24YASABKAkSNAoIZG9jdW1lbnQYAiABKAsyIi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRSZWZlcmVuY2USGwoTY2F0YWxvZ19maW5nZXJwcmludBgDIAEoCRIZChFkb2N1bWVudF9yZXZpc2lvbhgEIAEoCRI2Cg1zb3VyY2VfbG9jYWxlGAUgASgLMh8uYXBpLm1hbmFnZS52MS5BSURvY3VtZW50TG9jYWxlEjkKEHJlcXVlc3RlZF9sb2NhbGUYBiABKAsyHy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRMb2NhbGUSOAoLbG9jYWxlX3JvbGUYByABKA4yIy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRMb2NhbGVSb2xlEhUKDWxvY2FsZV9leGlzdHMYCCABKAgSHAoPdGFyZ2V0X3JldmlzaW9uGAkgASgJSACIAQFCEgoQX3RhcmdldF9yZXZpc2lvbiJNChdBSURvY3VtZW50SW5saW5lQ29udGVudBIyCgVpdGVtcxgBIAMoCzIjLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudElubGluZUl0ZW0ioQEKFEFJRG9jdW1lbnRJbmxpbmVNYXJrEgwKBG1hcmsYASABKAkSNQoIY2hpbGRyZW4YAiADKAsyIy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRJbmxpbmVJdGVtEjYKCXBhcmFtZXRlchgDIAEoCzIeLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFZhbHVlSACIAQFCDAoKX3BhcmFtZXRlciJdChRBSURvY3VtZW50SW5saW5lTGluaxIOCgZ0YXJnZXQYASABKAkSNQoIY2hpbGRyZW4YAiADKAsyIy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRJbmxpbmVJdGVtIhUKE0FJRG9jdW1lbnRIYXJkQnJlYWsigAIKFEFJRG9jdW1lbnRJbmxpbmVJdGVtEg4KBHRleHQYASABKAlIABIzCgRtYXJrGAIgASgLMiMuYXBpLm1hbmFnZS52MS5BSURvY3VtZW50SW5saW5lTWFya0gAEjMKBGxpbmsYAyABKAsyIy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRJbmxpbmVMaW5rSAASOAoKaGFyZF9icmVhaxgEIAEoCzIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudEhhcmRCcmVha0gAEg4KBG1hdGgYBSABKAlIABIcChJwbGFjZWhvbGRlcl9oYW5kbGUYBiABKAlIAEIGCgRpdGVtIvUBCg9BSURvY3VtZW50VmFsdWUSDgoEdGV4dBgBIAEoCUgAEhEKB2Jvb2xlYW4YAiABKAhIABIQCgZudW1iZXIYAyABKAlIABI4CgZpbmxpbmUYBCABKAsyJi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRJbmxpbmVDb250ZW50SAASMgoEbGlzdBgFIAEoCzIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudExpc3RWYWx1ZUgAEjYKBm9iamVjdBgGIAEoCzIkLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudE9iamVjdFZhbHVlSABCBwoFdmFsdWUiWAoSQUlEb2N1bWVudExpc3RJdGVtEhMKC2l0ZW1faGFuZGxlGAEgASgJEi0KBXZhbHVlGAIgASgLMh4uYXBpLm1hbmFnZS52MS5BSURvY3VtZW50VmFsdWUiRwoTQUlEb2N1bWVudExpc3RWYWx1ZRIwCgVpdGVtcxgBIAMoCzIhLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudExpc3RJdGVtIkwKFUFJRG9jdW1lbnRPYmplY3RWYWx1ZRIzCgZmaWVsZHMYASADKAsyIy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRGaWVsZFZhbHVlIlsKFEFJRG9jdW1lbnRGaWVsZFZhbHVlEhQKDGZpZWxkX2hhbmRsZRgBIAEoCRItCgV2YWx1ZRgCIAEoCzIeLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFZhbHVlImUKH0FJRG9jdW1lbnRSZWxhdGlvbkl0ZW1SZWZlcmVuY2USFAoMYmxvY2tfaGFuZGxlGAEgASgJEhcKD3JlbGF0aW9uX2hhbmRsZRgCIAEoCRITCgtpdGVtX2hhbmRsZRgDIAEoCSLQAQoVQUlEb2N1bWVudEZpZWxkVGFyZ2V0EhYKDGJsb2NrX2hhbmRsZRgBIAEoCUgAEkcKDXJlbGF0aW9uX2l0ZW0YAiABKAsyLi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRSZWxhdGlvbkl0ZW1SZWZlcmVuY2VIABIUCgxmaWVsZF9oYW5kbGUYAyABKAkSNwoEcGF0aBgEIAMoCzIpLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudEZpZWxkUGF0aFNlZ21lbnRCBwoFb3duZXIiVwoaQUlEb2N1bWVudEZpZWxkUGF0aFNlZ21lbnQSFgoMZmllbGRfaGFuZGxlGAEgASgJSAASFQoLaXRlbV9oYW5kbGUYAiABKAlIAEIKCghzZWxlY3RvciJ+ChVPcGVuQUlEb2N1bWVudFJlcXVlc3QSNAoIZG9jdW1lbnQYASABKAsyIi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRSZWZlcmVuY2USLwoGbG9jYWxlGAIgASgLMh8uYXBpLm1hbmFnZS52MS5BSURvY3VtZW50TG9jYWxlIk0KFk9wZW5BSURvY3VtZW50UmVzcG9uc2USMwoIbWV0YWRhdGEYASABKAsyIS5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRNZXRhZGF0YSKCAQobQUlEb2N1bWVudFNldEZpZWxkT3BlcmF0aW9uEjQKBnRhcmdldBgBIAEoCzIkLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudEZpZWxkVGFyZ2V0Ei0KBXZhbHVlGAIgASgLMh4uYXBpLm1hbmFnZS52MS5BSURvY3VtZW50VmFsdWUiVQodQUlEb2N1bWVudFVuc2V0RmllbGRPcGVyYXRpb24SNAoGdGFyZ2V0GAEgASgLMiQuYXBpLm1hbmFnZS52MS5BSURvY3VtZW50RmllbGRUYXJnZXQitgEKHkFJRG9jdW1lbnRJbnNlcnRCbG9ja09wZXJhdGlvbhIUCgxibG9ja19oYW5kbGUYASABKAkSDAoEa2luZBgCIAEoCRIgChNwYXJlbnRfYmxvY2tfaGFuZGxlGAMgASgJSACIAQESHwoSYWZ0ZXJfYmxvY2tfaGFuZGxlGAQgASgJSAGIAQFCFgoUX3BhcmVudF9ibG9ja19oYW5kbGVCFQoTX2FmdGVyX2Jsb2NrX2hhbmRsZSI2Ch5BSURvY3VtZW50RGVsZXRlQmxvY2tPcGVyYXRpb24SFAoMYmxvY2tfaGFuZGxlGAEgASgJIqYBChxBSURvY3VtZW50TW92ZUJsb2NrT3BlcmF0aW9uEhQKDGJsb2NrX2hhbmRsZRgBIAEoCRIgChNwYXJlbnRfYmxvY2tfaGFuZGxlGAIgASgJSACIAQESHwoSYWZ0ZXJfYmxvY2tfaGFuZGxlGAMgASgJSAGIAQFCFgoUX3BhcmVudF9ibG9ja19oYW5kbGVCFQoTX2FmdGVyX2Jsb2NrX2hhbmRsZSJJCiNBSURvY3VtZW50UmVwbGFjZUJsb2NrS2luZE9wZXJhdGlvbhIUCgxibG9ja19oYW5kbGUYASABKAkSDAoEa2luZBgCIAEoCSJqCh1BSURvY3VtZW50QXR0YWNoRmlsZU9wZXJhdGlvbhI0CgZ0YXJnZXQYASABKAsyJC5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRGaWVsZFRhcmdldBITCgtmaWxlX2hhbmRsZRgCIAEoCSJVCh1BSURvY3VtZW50RGV0YWNoRmlsZU9wZXJhdGlvbhI0CgZ0YXJnZXQYASABKAsyJC5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRGaWVsZFRhcmdldCImCiRBSURvY3VtZW50Q3JlYXRlVHJhbnNsYXRpb25PcGVyYXRpb24iJgokQUlEb2N1bWVudERlbGV0ZVRyYW5zbGF0aW9uT3BlcmF0aW9uIrQBCiVBSURvY3VtZW50SW5zZXJ0UmVsYXRpb25JdGVtT3BlcmF0aW9uEhQKDGJsb2NrX2hhbmRsZRgBIAEoCRIXCg9yZWxhdGlvbl9oYW5kbGUYAiABKAkSEwoLaXRlbV9oYW5kbGUYAyABKAkSEQoJaXRlbV9raW5kGAQgASgJEh4KEWFmdGVyX2l0ZW1faGFuZGxlGAUgASgJSACIAQFCFAoSX2FmdGVyX2l0ZW1faGFuZGxlImUKJUFJRG9jdW1lbnREZWxldGVSZWxhdGlvbkl0ZW1PcGVyYXRpb24SPAoEaXRlbRgBIAEoCzIuLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFJlbGF0aW9uSXRlbVJlZmVyZW5jZSLgAQojQUlEb2N1bWVudE1vdmVSZWxhdGlvbkl0ZW1PcGVyYXRpb24SPAoEaXRlbRgBIAEoCzIuLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFJlbGF0aW9uSXRlbVJlZmVyZW5jZRIgChhkZXN0aW5hdGlvbl9ibG9ja19oYW5kbGUYAiABKAkSIwobZGVzdGluYXRpb25fcmVsYXRpb25faGFuZGxlGAMgASgJEh4KEWFmdGVyX2l0ZW1faGFuZGxlGAQgASgJSACIAQFCFAoSX2FmdGVyX2l0ZW1faGFuZGxlIvkHChNBSURvY3VtZW50T3BlcmF0aW9uEj8KCXNldF9maWVsZBgBIAEoCzIqLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFNldEZpZWxkT3BlcmF0aW9uSAASQwoLdW5zZXRfZmllbGQYAiABKAsyLC5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRVbnNldEZpZWxkT3BlcmF0aW9uSAASRQoMaW5zZXJ0X2Jsb2NrGAMgASgLMi0uYXBpLm1hbmFnZS52MS5BSURvY3VtZW50SW5zZXJ0QmxvY2tPcGVyYXRpb25IABJFCgxkZWxldGVfYmxvY2sYBCABKAsyLS5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnREZWxldGVCbG9ja09wZXJhdGlvbkgAEkEKCm1vdmVfYmxvY2sYBSABKAsyKy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRNb3ZlQmxvY2tPcGVyYXRpb25IABJQChJyZXBsYWNlX2Jsb2NrX2tpbmQYBiABKAsyMi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRSZXBsYWNlQmxvY2tLaW5kT3BlcmF0aW9uSAASQwoLYXR0YWNoX2ZpbGUYByABKAsyLC5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRBdHRhY2hGaWxlT3BlcmF0aW9uSAASQwoLZGV0YWNoX2ZpbGUYCCABKAsyLC5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnREZXRhY2hGaWxlT3BlcmF0aW9uSAASUQoSY3JlYXRlX3RyYW5zbGF0aW9uGAkgASgLMjMuYXBpLm1hbmFnZS52MS5BSURvY3VtZW50Q3JlYXRlVHJhbnNsYXRpb25PcGVyYXRpb25IABJRChJkZWxldGVfdHJhbnNsYXRpb24YCiABKAsyMy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnREZWxldGVUcmFuc2xhdGlvbk9wZXJhdGlvbkgAElQKFGluc2VydF9yZWxhdGlvbl9pdGVtGAsgASgLMjQuYXBpLm1hbmFnZS52MS5BSURvY3VtZW50SW5zZXJ0UmVsYXRpb25JdGVtT3BlcmF0aW9uSAASVAoUZGVsZXRlX3JlbGF0aW9uX2l0ZW0YDCABKAsyNC5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnREZWxldGVSZWxhdGlvbkl0ZW1PcGVyYXRpb25IABJQChJtb3ZlX3JlbGF0aW9uX2l0ZW0YDSABKAsyMi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRNb3ZlUmVsYXRpb25JdGVtT3BlcmF0aW9uSABCCwoJb3BlcmF0aW9uIrUCChJBSURvY3VtZW50TXV0YXRpb24SGAoQcHJvdG9jb2xfdmVyc2lvbhgBIAEoCRI0Cghkb2N1bWVudBgCIAEoCzIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFJlZmVyZW5jZRIvCgZsb2NhbGUYAyABKAsyHy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRMb2NhbGUSIgoaZXhwZWN0ZWRfZG9jdW1lbnRfcmV2aXNpb24YBCABKAkSNgoKb3BlcmF0aW9ucxgFIAMoCzIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudE9wZXJhdGlvbhIlChhleHBlY3RlZF90YXJnZXRfcmV2aXNpb24YBiABKAlIAIgBAUIbChlfZXhwZWN0ZWRfdGFyZ2V0X3JldmlzaW9uInwKD0FJRG9jdW1lbnRJc3N1ZRIXCg9vcGVyYXRpb25faW5kZXgYASABKA0SMAoEY29kZRgCIAEoDjIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudElzc3VlQ29kZRITCgZoYW5kbGUYAyABKAlIAIgBAUIJCgdfaGFuZGxlIsgBChJBSURvY3VtZW50Q29uZmxpY3QSMwoEY29kZRgBIAEoDjIlLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudENvbmZsaWN0Q29kZRIhChljdXJyZW50X2RvY3VtZW50X3JldmlzaW9uGAIgASgJEhgKEGFmZmVjdGVkX2hhbmRsZXMYAyADKAkSJAoXY3VycmVudF90YXJnZXRfcmV2aXNpb24YBCABKAlIAIgBAUIaChhfY3VycmVudF90YXJnZXRfcmV2aXNpb24i0AEKFEFJRG9jdW1lbnRWYWxpZGF0aW9uEkEKFW5vcm1hbGl6ZWRfb3BlcmF0aW9ucxgBIAMoCzIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudE9wZXJhdGlvbhIuCgZpc3N1ZXMYAiADKAsyHi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRJc3N1ZRI4Cghjb25mbGljdBgDIAEoCzIhLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudENvbmZsaWN0SACIAQFCCwoJX2NvbmZsaWN0IoMBChhBSURvY3VtZW50QWNjZXB0ZWRDaGFuZ2USFwoPb3BlcmF0aW9uX2luZGV4GAEgASgNEjQKBGtpbmQYAiABKA4yJi5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRPcGVyYXRpb25LaW5kEhgKEGFmZmVjdGVkX2hhbmRsZXMYAyADKAkiowEKGkFJRG9jdW1lbnRBY2NlcHRlZE11dGF0aW9uEhkKEWRvY3VtZW50X3JldmlzaW9uGAEgASgJEjgKB2NoYW5nZXMYAiADKAsyJy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRBY2NlcHRlZENoYW5nZRIcCg90YXJnZXRfcmV2aXNpb24YAyABKAlIAIgBAUISChBfdGFyZ2V0X3JldmlzaW9uIlcKIEFwcGx5QUlEb2N1bWVudE9wZXJhdGlvbnNSZXF1ZXN0EjMKCG11dGF0aW9uGAEgASgLMiEuYXBpLm1hbmFnZS52MS5BSURvY3VtZW50TXV0YXRpb24ipQEKIUFwcGx5QUlEb2N1bWVudE9wZXJhdGlvbnNSZXNwb25zZRI9CghhY2NlcHRlZBgBIAEoCzIpLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudEFjY2VwdGVkTXV0YXRpb25IABI3CghyZWplY3RlZBgCIAEoCzIjLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFZhbGlkYXRpb25IAEIICgZyZXN1bHQisAIKGFN0YXJ0QUlFZGl0b3JUdXJuUmVxdWVzdBI0Cghkb2N1bWVudBgBIAEoCzIiLmFwaS5tYW5hZ2UudjEuQUlEb2N1bWVudFJlZmVyZW5jZRIvCgZsb2NhbGUYAiABKAsyHy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRMb2NhbGUSIgoaZXhwZWN0ZWRfZG9jdW1lbnRfcmV2aXNpb24YAyABKAkSFQoNYmxvY2tfaGFuZGxlcxgEIAMoCRIOCgZhY3Rpb24YBSABKAkSEwoGcHJvbXB0GAYgASgJSACIAQESJQoYZXhwZWN0ZWRfdGFyZ2V0X3JldmlzaW9uGAcgASgJSAGIAQFCCQoHX3Byb21wdEIbChlfZXhwZWN0ZWRfdGFyZ2V0X3JldmlzaW9uIioKGkFJRWRpdG9yQXNzaXN0YW50VGV4dERlbHRhEgwKBHRleHQYASABKAkiSgoXQUlFZGl0b3JUdXJuUGhhc2VVcGRhdGUSLwoFcGhhc2UYASABKA4yIC5hcGkubWFuYWdlLnYxLkFJRWRpdG9yVHVyblBoYXNlIpMBCiRBSUVkaXRvckRvY3VtZW50VG9vbEFwcHJvdmFsUmVxdWlyZWQSFAoMdG9vbF9jYWxsX2lkGAEgASgJEjMKCG11dGF0aW9uGAIgASgLMiEuYXBpLm1hbmFnZS52MS5BSURvY3VtZW50TXV0YXRpb24SFAoHc3VtbWFyeRgDIAEoCUgAiAEBQgoKCF9zdW1tYXJ5IrQBChpBSUVkaXRvckRvY3VtZW50VG9vbFJlc3VsdBIUCgx0b29sX2NhbGxfaWQYASABKAkSPQoIYWNjZXB0ZWQYAiABKAsyKS5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRBY2NlcHRlZE11dGF0aW9uSAASNwoIcmVqZWN0ZWQYAyABKAsyIy5hcGkubWFuYWdlLnYxLkFJRG9jdW1lbnRWYWxpZGF0aW9uSABCCAoGcmVzdWx0IqwBChtBSUVkaXRvclR1cm5UZXJtaW5hbE91dGNvbWUSOQoGc3RhdHVzGAEgASgOMikuYXBpLm1hbmFnZS52MS5BSUVkaXRvclR1cm5UZXJtaW5hbFN0YXR1cxJBCgxmYWlsdXJlX2NvZGUYAiABKA4yJi5hcGkubWFuYWdlLnYxLkFJRWRpdG9yVHVybkZhaWx1cmVDb2RlSACIAQFCDwoNX2ZhaWx1cmVfY29kZSKDAwoRQUlFZGl0b3JUdXJuRXZlbnQSDwoHdHVybl9pZBgBIAEoCRJDCg5hc3Npc3RhbnRfdGV4dBgCIAEoCzIpLmFwaS5tYW5hZ2UudjEuQUlFZGl0b3JBc3Npc3RhbnRUZXh0RGVsdGFIABI3CgVwaGFzZRgDIAEoCzImLmFwaS5tYW5hZ2UudjEuQUlFZGl0b3JUdXJuUGhhc2VVcGRhdGVIABJQChFhcHByb3ZhbF9yZXF1aXJlZBgEIAEoCzIzLmFwaS5tYW5hZ2UudjEuQUlFZGl0b3JEb2N1bWVudFRvb2xBcHByb3ZhbFJlcXVpcmVkSAASRAoPZG9jdW1lbnRfcmVzdWx0GAUgASgLMikuYXBpLm1hbmFnZS52MS5BSUVkaXRvckRvY3VtZW50VG9vbFJlc3VsdEgAEj4KCHRlcm1pbmFsGAYgASgLMiouYXBpLm1hbmFnZS52MS5BSUVkaXRvclR1cm5UZXJtaW5hbE91dGNvbWVIAEIHCgVldmVudCKCAQoeUmVzb2x2ZUFJRWRpdG9yVG9vbENhbGxSZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkSFAoMdG9vbF9jYWxsX2lkGAIgASgJEjkKCGRlY2lzaW9uGAMgASgOMicuYXBpLm1hbmFnZS52MS5BSUVkaXRvclRvb2xDYWxsRGVjaXNpb24iIQofUmVzb2x2ZUFJRWRpdG9yVG9vbENhbGxSZXNwb25zZSIsChlDYW5jZWxBSUVkaXRvclR1cm5SZXF1ZXN0Eg8KB3R1cm5faWQYASABKAkiHAoaQ2FuY2VsQUlFZGl0b3JUdXJuUmVzcG9uc2UquQIKDkFJUmVzb3VyY2VUeXBlEiAKHEFJX1JFU09VUkNFX1RZUEVfVU5TUEVDSUZJRUQQABIZChVBSV9SRVNPVVJDRV9UWVBFX1BPU1QQARIZChVBSV9SRVNPVVJDRV9UWVBFX1dPUksQAhIZChVBSV9SRVNPVVJDRV9UWVBFX1BBR0UQAxIZChVBSV9SRVNPVVJDRV9UWVBFX0ZPUk0QBBIbChdBSV9SRVNPVVJDRV9UWVBFX0FSVElTVBAFEhwKGEFJX1JFU09VUkNFX1RZUEVfUkVMRUFTRRAGEhoKFkFJX1JFU09VUkNFX1RZUEVfTEFCRUwQBxIdChlBSV9SRVNPVVJDRV9UWVBFX0NBTVBBSUdOEAgSIwofQUlfUkVTT1VSQ0VfVFlQRV9FTUFJTF9URU1QTEFURRAJKtMCChtNZXRhZGF0YUdlbmVyYXRpb25Kb2JTdGF0dXMSLgoqTUVUQURBVEFfR0VORVJBVElPTl9KT0JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASKQolTUVUQURBVEFfR0VORVJBVElPTl9KT0JfU1RBVFVTX1FVRVVFRBABEioKJk1FVEFEQVRBX0dFTkVSQVRJT05fSk9CX1NUQVRVU19SVU5OSU5HEAISKAokTUVUQURBVEFfR0VORVJBVElPTl9KT0JfU1RBVFVTX1JFQURZEAMSKQolTUVUQURBVEFfR0VORVJBVElPTl9KT0JfU1RBVFVTX0ZBSUxFRBAEEioKJk1FVEFEQVRBX0dFTkVSQVRJT05fSk9CX1NUQVRVU19BUFBMSUVEEAUSLAooTUVUQURBVEFfR0VORVJBVElPTl9KT0JfU1RBVFVTX0RJU01JU1NFRBAGKrcBCh9NZXRhZGF0YUdlbmVyYXRpb25Kb2JSZXNvbHV0aW9uEjIKLk1FVEFEQVRBX0dFTkVSQVRJT05fSk9CX1JFU09MVVRJT05fVU5TUEVDSUZJRUQQABIuCipNRVRBREFUQV9HRU5FUkFUSU9OX0pPQl9SRVNPTFVUSU9OX0FQUExJRUQQARIwCixNRVRBREFUQV9HRU5FUkFUSU9OX0pPQl9SRVNPTFVUSU9OX0RJU01JU1NFRBACKpkEChBBSURvY3VtZW50RG9tYWluEiIKHkFJX0RPQ1VNRU5UX0RPTUFJTl9VTlNQRUNJRklFRBAAEhsKF0FJX0RPQ1VNRU5UX0RPTUFJTl9QT1NUEAESGwoXQUlfRE9DVU1FTlRfRE9NQUlOX1BBR0UQAhIbChdBSV9ET0NVTUVOVF9ET01BSU5fV09SSxADEiQKIEFJX0RPQ1VNRU5UX0RPTUFJTl9QUk9HUkFNX0VWRU5UEAQSHgoaQUlfRE9DVU1FTlRfRE9NQUlOX1JFTEVBU0UQBRIdChlBSV9ET0NVTUVOVF9ET01BSU5fQVJUSVNUEAYSHAoYQUlfRE9DVU1FTlRfRE9NQUlOX0xBQkVMEAcSGwoXQUlfRE9DVU1FTlRfRE9NQUlOX01FTlUQCBIlCiFBSV9ET0NVTUVOVF9ET01BSU5fRU1BSUxfVEVNUExBVEUQCRIjCh9BSV9ET0NVTUVOVF9ET01BSU5fRU1BSUxfTEFZT1VUEAoSHwobQUlfRE9DVU1FTlRfRE9NQUlOX0NBTVBBSUdOEAsSGwoXQUlfRE9DVU1FTlRfRE9NQUlOX0ZPUk0QDBIeChpBSV9ET0NVTUVOVF9ET01BSU5fUFJJVkFDWRANEhwKGEFJX0RPQ1VNRU5UX0RPTUFJTl9URVJNUxAOEiIKHkFJX0RPQ1VNRU5UX0RPTUFJTl9QT1NUX1NFUklFUxAPKosBChRBSURvY3VtZW50TG9jYWxlUm9sZRInCiNBSV9ET0NVTUVOVF9MT0NBTEVfUk9MRV9VTlNQRUNJRklFRBAAEiIKHkFJX0RPQ1VNRU5UX0xPQ0FMRV9ST0xFX1NPVVJDRRABEiYKIkFJX0RPQ1VNRU5UX0xPQ0FMRV9ST0xFX05PTl9TT1VSQ0UQAiquBQoXQUlEb2N1bWVudE9wZXJhdGlvbktpbmQSKgomQUlfRE9DVU1FTlRfT1BFUkFUSU9OX0tJTkRfVU5TUEVDSUZJRUQQABIoCiRBSV9ET0NVTUVOVF9PUEVSQVRJT05fS0lORF9TRVRfRklFTEQQARIqCiZBSV9ET0NVTUVOVF9PUEVSQVRJT05fS0lORF9VTlNFVF9GSUVMRBACEisKJ0FJX0RPQ1VNRU5UX09QRVJBVElPTl9LSU5EX0lOU0VSVF9CTE9DSxADEisKJ0FJX0RPQ1VNRU5UX09QRVJBVElPTl9LSU5EX0RFTEVURV9CTE9DSxAEEikKJUFJX0RPQ1VNRU5UX09QRVJBVElPTl9LSU5EX01PVkVfQkxPQ0sQBRIxCi1BSV9ET0NVTUVOVF9PUEVSQVRJT05fS0lORF9SRVBMQUNFX0JMT0NLX0tJTkQQBhIqCiZBSV9ET0NVTUVOVF9PUEVSQVRJT05fS0lORF9BVFRBQ0hfRklMRRAHEioKJkFJX0RPQ1VNRU5UX09QRVJBVElPTl9LSU5EX0RFVEFDSF9GSUxFEAgSMQotQUlfRE9DVU1FTlRfT1BFUkFUSU9OX0tJTkRfQ1JFQVRFX1RSQU5TTEFUSU9OEAkSMQotQUlfRE9DVU1FTlRfT1BFUkFUSU9OX0tJTkRfREVMRVRFX1RSQU5TTEFUSU9OEAoSMwovQUlfRE9DVU1FTlRfT1BFUkFUSU9OX0tJTkRfSU5TRVJUX1JFTEFUSU9OX0lURU0QCxIzCi9BSV9ET0NVTUVOVF9PUEVSQVRJT05fS0lORF9ERUxFVEVfUkVMQVRJT05fSVRFTRAMEjEKLUFJX0RPQ1VNRU5UX09QRVJBVElPTl9LSU5EX01PVkVfUkVMQVRJT05fSVRFTRANKt8HChNBSURvY3VtZW50SXNzdWVDb2RlEiYKIkFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVU5TUEVDSUZJRUQQABIsCihBSV9ET0NVTUVOVF9JU1NVRV9DT0RFX0lOVkFMSURfT1BFUkFUSU9OEAESKAokQUlfRE9DVU1FTlRfSVNTVUVfQ09ERV9VTktOT1dOX0JMT0NLEAISKgomQUlfRE9DVU1FTlRfSVNTVUVfQ09ERV9EVVBMSUNBVEVfQkxPQ0sQAxItCilBSV9ET0NVTUVOVF9JU1NVRV9DT0RFX1VOS05PV05fQkxPQ0tfS0lORBAEEigKJEFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVU5LTk9XTl9GSUVMRBAFEi4KKkFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVkFMVUVfS0lORF9NSVNNQVRDSBAGEjQKMEFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfU09VUkNFX0FVVEhPUklUWV9SRVFVSVJFRBAHEjEKLUFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVEFSR0VUX0ZJRUxEX0ZPUkJJRERFThAIEjEKLUFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfSU5WQUxJRF9CTE9DS19SRUxBVElPThAJEiYKIkFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfQkxPQ0tfQ1lDTEUQChIxCi1BSV9ET0NVTUVOVF9JU1NVRV9DT0RFX0lOVkFMSURfRklMRV9SRUZFUkVOQ0UQCxIwCixBSV9ET0NVTUVOVF9JU1NVRV9DT0RFX1RSQU5TTEFUSU9OX0lTX1NPVVJDRRAMEjUKMUFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVFJBTlNMQVRJT05fQUxSRUFEWV9FWElTVFMQDRIuCipBSV9ET0NVTUVOVF9JU1NVRV9DT0RFX1RSQU5TTEFUSU9OX01JU1NJTkcQDhI5CjVBSV9ET0NVTUVOVF9JU1NVRV9DT0RFX0xPQ0FMRV9PUEVSQVRJT05fTk9UX0VYQ0xVU0lWRRAPEisKJ0FJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVU5LTk9XTl9SRUxBVElPThAQEjAKLEFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfVU5LTk9XTl9SRUxBVElPTl9JVEVNEBESMgouQUlfRE9DVU1FTlRfSVNTVUVfQ09ERV9EVVBMSUNBVEVfUkVMQVRJT05fSVRFTRASEjUKMUFJX0RPQ1VNRU5UX0lTU1VFX0NPREVfSU5WQUxJRF9SRUxBVElPTl9JVEVNX01PVkUQEyqjAQoWQUlEb2N1bWVudENvbmZsaWN0Q29kZRIpCiVBSV9ET0NVTUVOVF9DT05GTElDVF9DT0RFX1VOU1BFQ0lGSUVEEAASLworQUlfRE9DVU1FTlRfQ09ORkxJQ1RfQ09ERV9ET0NVTUVOVF9SRVZJU0lPThABEi0KKUFJX0RPQ1VNRU5UX0NPTkZMSUNUX0NPREVfVEFSR0VUX1JFVklTSU9OEAIqwQEKEUFJRWRpdG9yVHVyblBoYXNlEiQKIEFJX0VESVRPUl9UVVJOX1BIQVNFX1VOU1BFQ0lGSUVEEAASKQolQUlfRURJVE9SX1RVUk5fUEhBU0VfUFJPVklERVJfUlVOTklORxABEi8KK0FJX0VESVRPUl9UVVJOX1BIQVNFX0FXQUlUSU5HX1RPT0xfQVBQUk9WQUwQAhIqCiZBSV9FRElUT1JfVFVSTl9QSEFTRV9BUFBMWUlOR19ET0NVTUVOVBADKpkBChhBSUVkaXRvclRvb2xDYWxsRGVjaXNpb24SLAooQUlfRURJVE9SX1RPT0xfQ0FMTF9ERUNJU0lPTl9VTlNQRUNJRklFRBAAEigKJEFJX0VESVRPUl9UT09MX0NBTExfREVDSVNJT05fQVBQUk9WRRABEiUKIUFJX0VESVRPUl9UT09MX0NBTExfREVDSVNJT05fREVOWRACKtMBChpBSUVkaXRvclR1cm5UZXJtaW5hbFN0YXR1cxIuCipBSV9FRElUT1JfVFVSTl9URVJNSU5BTF9TVEFUVVNfVU5TUEVDSUZJRUQQABIsCihBSV9FRElUT1JfVFVSTl9URVJNSU5BTF9TVEFUVVNfQ09NUExFVEVEEAESLAooQUlfRURJVE9SX1RVUk5fVEVSTUlOQUxfU1RBVFVTX0NBTkNFTExFRBACEikKJUFJX0VESVRPUl9UVVJOX1RFUk1JTkFMX1NUQVRVU19GQUlMRUQQAyrEAQoXQUlFZGl0b3JUdXJuRmFpbHVyZUNvZGUSKwonQUlfRURJVE9SX1RVUk5fRkFJTFVSRV9DT0RFX1VOU1BFQ0lGSUVEEAASKAokQUlfRURJVE9SX1RVUk5fRkFJTFVSRV9DT0RFX1BST1ZJREVSEAESKAokQUlfRURJVE9SX1RVUk5fRkFJTFVSRV9DT0RFX0RPQ1VNRU5UEAISKAokQUlfRURJVE9SX1RVUk5fRkFJTFVSRV9DT0RFX0lOVEVSTkFMEAMygwIKEUFJRG9jdW1lbnRTZXJ2aWNlEmUKDk9wZW5BSURvY3VtZW50EiQuYXBpLm1hbmFnZS52MS5PcGVuQUlEb2N1bWVudFJlcXVlc3QaJS5hcGkubWFuYWdlLnYxLk9wZW5BSURvY3VtZW50UmVzcG9uc2UiBsrzGAIIAhKGAQoZQXBwbHlBSURvY3VtZW50T3BlcmF0aW9ucxIvLmFwaS5tYW5hZ2UudjEuQXBwbHlBSURvY3VtZW50T3BlcmF0aW9uc1JlcXVlc3QaMC5hcGkubWFuYWdlLnYxLkFwcGx5QUlEb2N1bWVudE9wZXJhdGlvbnNSZXNwb25zZSIGyvMYAggCMv4CChxBSUVkaXRvck9yY2hlc3RyYXRpb25TZXJ2aWNlEmgKEVN0YXJ0QUlFZGl0b3JUdXJuEicuYXBpLm1hbmFnZS52MS5TdGFydEFJRWRpdG9yVHVyblJlcXVlc3QaIC5hcGkubWFuYWdlLnYxLkFJRWRpdG9yVHVybkV2ZW50IgbK8xgCCAIwARKAAQoXUmVzb2x2ZUFJRWRpdG9yVG9vbENhbGwSLS5hcGkubWFuYWdlLnYxLlJlc29sdmVBSUVkaXRvclRvb2xDYWxsUmVxdWVzdBouLmFwaS5tYW5hZ2UudjEuUmVzb2x2ZUFJRWRpdG9yVG9vbENhbGxSZXNwb25zZSIGyvMYAggCEnEKEkNhbmNlbEFJRWRpdG9yVHVybhIoLmFwaS5tYW5hZ2UudjEuQ2FuY2VsQUlFZGl0b3JUdXJuUmVxdWVzdBopLmFwaS5tYW5hZ2UudjEuQ2FuY2VsQUlFZGl0b3JUdXJuUmVzcG9uc2UiBsrzGAIIAjKmAwoJQUlTZXJ2aWNlEoABChdTdGFydE1ldGFkYXRhR2VuZXJhdGlvbhItLmFwaS5tYW5hZ2UudjEuU3RhcnRNZXRhZGF0YUdlbmVyYXRpb25SZXF1ZXN0Gi4uYXBpLm1hbmFnZS52MS5TdGFydE1ldGFkYXRhR2VuZXJhdGlvblJlc3BvbnNlIgbK8xgCCAISgwEKGEdldE1ldGFkYXRhR2VuZXJhdGlvbkpvYhIuLmFwaS5tYW5hZ2UudjEuR2V0TWV0YWRhdGFHZW5lcmF0aW9uSm9iUmVxdWVzdBovLmFwaS5tYW5hZ2UudjEuR2V0TWV0YWRhdGFHZW5lcmF0aW9uSm9iUmVzcG9uc2UiBsrzGAIIAhKPAQocUmVzb2x2ZU1ldGFkYXRhR2VuZXJhdGlvbkpvYhIyLmFwaS5tYW5hZ2UudjEuUmVzb2x2ZU1ldGFkYXRhR2VuZXJhdGlvbkpvYlJlcXVlc3QaMy5hcGkubWFuYWdlLnYxLlJlc29sdmVNZXRhZGF0YUdlbmVyYXRpb25Kb2JSZXNwb25zZSIGyvMYAggCQrEBChFjb20uYXBpLm1hbmFnZS52MUIHQWlQcm90b1ABWj1naXRodWIuY29tL2RzdWItaW8vZXZlbnQtY29udHJhY3RzL2dlbi9hcGkvbWFuYWdlL3YxO21hbmFnZXYxogIDQU1YqgINQXBpLk1hbmFnZS5WMcoCDUFwaVxNYW5hZ2VcVjHiAhlBcGlcTWFuYWdlXFYxXEdQQk1ldGFkYXRh6gIPQXBpOjpNYW5hZ2U6OlYxYgZwcm90bzM",
27
+ [file_api_policy_v1_access, file_google_protobuf_timestamp],
28
+ );
29
+
30
+ /**
31
+ * @generated from message api.manage.v1.AIResourceTarget
32
+ */
33
+ export type AIResourceTarget = Message<"api.manage.v1.AIResourceTarget"> & {
34
+ /**
35
+ * @generated from field: api.manage.v1.AIResourceType type = 1;
36
+ */
37
+ type: AIResourceType;
38
+
39
+ /**
40
+ * @generated from field: string id = 2;
41
+ */
42
+ id: string;
43
+ };
44
+
45
+ /**
46
+ * Describes the message api.manage.v1.AIResourceTarget.
47
+ * Use `create(AIResourceTargetSchema)` to create a new message.
48
+ */
49
+ export const AIResourceTargetSchema: GenMessage<AIResourceTarget> =
50
+ /*@__PURE__*/
51
+ messageDesc(file_api_manage_v1_ai, 0);
52
+
53
+ /**
54
+ * @generated from message api.manage.v1.MetadataSuggestion
55
+ */
56
+ export type MetadataSuggestion = Message<"api.manage.v1.MetadataSuggestion"> & {
57
+ /**
58
+ * @generated from field: optional string summary = 1;
59
+ */
60
+ summary?: string | undefined;
61
+ };
62
+
63
+ /**
64
+ * Describes the message api.manage.v1.MetadataSuggestion.
65
+ * Use `create(MetadataSuggestionSchema)` to create a new message.
66
+ */
67
+ export const MetadataSuggestionSchema: GenMessage<MetadataSuggestion> =
68
+ /*@__PURE__*/
69
+ messageDesc(file_api_manage_v1_ai, 1);
70
+
71
+ /**
72
+ * @generated from message api.manage.v1.MetadataGenerationJob
73
+ */
74
+ export type MetadataGenerationJob =
75
+ Message<"api.manage.v1.MetadataGenerationJob"> & {
76
+ /**
77
+ * @generated from field: string id = 1;
78
+ */
79
+ id: string;
80
+
81
+ /**
82
+ * @generated from field: api.manage.v1.AIResourceTarget target = 2;
83
+ */
84
+ target?: AIResourceTarget | undefined;
85
+
86
+ /**
87
+ * @generated from field: string requester_member_id = 3;
88
+ */
89
+ requesterMemberId: string;
90
+
91
+ /**
92
+ * @generated from field: api.manage.v1.MetadataGenerationJobStatus status = 4;
93
+ */
94
+ status: MetadataGenerationJobStatus;
95
+
96
+ /**
97
+ * @generated from field: repeated string requested_keys = 5;
98
+ */
99
+ requestedKeys: string[];
100
+
101
+ /**
102
+ * @generated from field: optional api.manage.v1.MetadataSuggestion suggestion = 6;
103
+ */
104
+ suggestion?: MetadataSuggestion | undefined;
105
+
106
+ /**
107
+ * @generated from field: optional string error = 7;
108
+ */
109
+ error?: string | undefined;
110
+
111
+ /**
112
+ * @generated from field: optional string provider = 8;
113
+ */
114
+ provider?: string | undefined;
115
+
116
+ /**
117
+ * @generated from field: optional string model = 9;
118
+ */
119
+ model?: string | undefined;
120
+
121
+ /**
122
+ * @generated from field: optional int64 duration_ms = 10;
123
+ */
124
+ durationMs?: bigint | undefined;
125
+
126
+ /**
127
+ * @generated from field: optional google.protobuf.Timestamp started_at = 11;
128
+ */
129
+ startedAt?: Timestamp | undefined;
130
+
131
+ /**
132
+ * @generated from field: optional google.protobuf.Timestamp completed_at = 12;
133
+ */
134
+ completedAt?: Timestamp | undefined;
135
+
136
+ /**
137
+ * @generated from field: optional google.protobuf.Timestamp resolved_at = 13;
138
+ */
139
+ resolvedAt?: Timestamp | undefined;
140
+
141
+ /**
142
+ * @generated from field: google.protobuf.Timestamp created_at = 14;
143
+ */
144
+ createdAt?: Timestamp | undefined;
145
+
146
+ /**
147
+ * @generated from field: google.protobuf.Timestamp updated_at = 15;
148
+ */
149
+ updatedAt?: Timestamp | undefined;
150
+ };
151
+
152
+ /**
153
+ * Describes the message api.manage.v1.MetadataGenerationJob.
154
+ * Use `create(MetadataGenerationJobSchema)` to create a new message.
155
+ */
156
+ export const MetadataGenerationJobSchema: GenMessage<MetadataGenerationJob> =
157
+ /*@__PURE__*/
158
+ messageDesc(file_api_manage_v1_ai, 2);
159
+
160
+ /**
161
+ * @generated from message api.manage.v1.MetadataGenerationQueueEvent
162
+ */
163
+ export type MetadataGenerationQueueEvent =
164
+ Message<"api.manage.v1.MetadataGenerationQueueEvent"> & {
165
+ /**
166
+ * @generated from field: string job_id = 1;
167
+ */
168
+ jobId: string;
169
+ };
170
+
171
+ /**
172
+ * Describes the message api.manage.v1.MetadataGenerationQueueEvent.
173
+ * Use `create(MetadataGenerationQueueEventSchema)` to create a new message.
174
+ */
175
+ export const MetadataGenerationQueueEventSchema: GenMessage<MetadataGenerationQueueEvent> =
176
+ /*@__PURE__*/
177
+ messageDesc(file_api_manage_v1_ai, 3);
178
+
179
+ /**
180
+ * @generated from message api.manage.v1.StartMetadataGenerationRequest
181
+ */
182
+ export type StartMetadataGenerationRequest =
183
+ Message<"api.manage.v1.StartMetadataGenerationRequest"> & {
184
+ /**
185
+ * @generated from field: string context = 1;
186
+ */
187
+ context: string;
188
+
189
+ /**
190
+ * @generated from field: string prompt = 2;
191
+ */
192
+ prompt: string;
193
+
194
+ /**
195
+ * @generated from field: api.manage.v1.AIResourceTarget target = 3;
196
+ */
197
+ target?: AIResourceTarget | undefined;
198
+ };
199
+
200
+ /**
201
+ * Describes the message api.manage.v1.StartMetadataGenerationRequest.
202
+ * Use `create(StartMetadataGenerationRequestSchema)` to create a new message.
203
+ */
204
+ export const StartMetadataGenerationRequestSchema: GenMessage<StartMetadataGenerationRequest> =
205
+ /*@__PURE__*/
206
+ messageDesc(file_api_manage_v1_ai, 4);
207
+
208
+ /**
209
+ * @generated from message api.manage.v1.StartMetadataGenerationResponse
210
+ */
211
+ export type StartMetadataGenerationResponse =
212
+ Message<"api.manage.v1.StartMetadataGenerationResponse"> & {
213
+ /**
214
+ * @generated from field: api.manage.v1.MetadataGenerationJob job = 1;
215
+ */
216
+ job?: MetadataGenerationJob | undefined;
217
+ };
218
+
219
+ /**
220
+ * Describes the message api.manage.v1.StartMetadataGenerationResponse.
221
+ * Use `create(StartMetadataGenerationResponseSchema)` to create a new message.
222
+ */
223
+ export const StartMetadataGenerationResponseSchema: GenMessage<StartMetadataGenerationResponse> =
224
+ /*@__PURE__*/
225
+ messageDesc(file_api_manage_v1_ai, 5);
226
+
227
+ /**
228
+ * @generated from message api.manage.v1.GetMetadataGenerationJobRequest
229
+ */
230
+ export type GetMetadataGenerationJobRequest =
231
+ Message<"api.manage.v1.GetMetadataGenerationJobRequest"> & {
232
+ /**
233
+ * @generated from field: string job_id = 1;
234
+ */
235
+ jobId: string;
236
+ };
237
+
238
+ /**
239
+ * Describes the message api.manage.v1.GetMetadataGenerationJobRequest.
240
+ * Use `create(GetMetadataGenerationJobRequestSchema)` to create a new message.
241
+ */
242
+ export const GetMetadataGenerationJobRequestSchema: GenMessage<GetMetadataGenerationJobRequest> =
243
+ /*@__PURE__*/
244
+ messageDesc(file_api_manage_v1_ai, 6);
245
+
246
+ /**
247
+ * @generated from message api.manage.v1.GetMetadataGenerationJobResponse
248
+ */
249
+ export type GetMetadataGenerationJobResponse =
250
+ Message<"api.manage.v1.GetMetadataGenerationJobResponse"> & {
251
+ /**
252
+ * @generated from field: api.manage.v1.MetadataGenerationJob job = 1;
253
+ */
254
+ job?: MetadataGenerationJob | undefined;
255
+ };
256
+
257
+ /**
258
+ * Describes the message api.manage.v1.GetMetadataGenerationJobResponse.
259
+ * Use `create(GetMetadataGenerationJobResponseSchema)` to create a new message.
260
+ */
261
+ export const GetMetadataGenerationJobResponseSchema: GenMessage<GetMetadataGenerationJobResponse> =
262
+ /*@__PURE__*/
263
+ messageDesc(file_api_manage_v1_ai, 7);
264
+
265
+ /**
266
+ * @generated from message api.manage.v1.ResolveMetadataGenerationJobRequest
267
+ */
268
+ export type ResolveMetadataGenerationJobRequest =
269
+ Message<"api.manage.v1.ResolveMetadataGenerationJobRequest"> & {
270
+ /**
271
+ * @generated from field: string job_id = 1;
272
+ */
273
+ jobId: string;
274
+
275
+ /**
276
+ * @generated from field: api.manage.v1.MetadataGenerationJobResolution resolution = 2;
277
+ */
278
+ resolution: MetadataGenerationJobResolution;
279
+ };
280
+
281
+ /**
282
+ * Describes the message api.manage.v1.ResolveMetadataGenerationJobRequest.
283
+ * Use `create(ResolveMetadataGenerationJobRequestSchema)` to create a new message.
284
+ */
285
+ export const ResolveMetadataGenerationJobRequestSchema: GenMessage<ResolveMetadataGenerationJobRequest> =
286
+ /*@__PURE__*/
287
+ messageDesc(file_api_manage_v1_ai, 8);
288
+
289
+ /**
290
+ * @generated from message api.manage.v1.ResolveMetadataGenerationJobResponse
291
+ */
292
+ export type ResolveMetadataGenerationJobResponse =
293
+ Message<"api.manage.v1.ResolveMetadataGenerationJobResponse"> & {
294
+ /**
295
+ * @generated from field: api.manage.v1.MetadataGenerationJob job = 1;
296
+ */
297
+ job?: MetadataGenerationJob | undefined;
298
+ };
299
+
300
+ /**
301
+ * Describes the message api.manage.v1.ResolveMetadataGenerationJobResponse.
302
+ * Use `create(ResolveMetadataGenerationJobResponseSchema)` to create a new message.
303
+ */
304
+ export const ResolveMetadataGenerationJobResponseSchema: GenMessage<ResolveMetadataGenerationJobResponse> =
305
+ /*@__PURE__*/
306
+ messageDesc(file_api_manage_v1_ai, 9);
307
+
308
+ /**
309
+ * @generated from message api.manage.v1.AIDocumentReference
310
+ */
311
+ export type AIDocumentReference =
312
+ Message<"api.manage.v1.AIDocumentReference"> & {
313
+ /**
314
+ * @generated from field: api.manage.v1.AIDocumentDomain domain = 1;
315
+ */
316
+ domain: AIDocumentDomain;
317
+
318
+ /**
319
+ * Opaque resource reference. It is not an authorization capability.
320
+ *
321
+ * @generated from field: string reference = 2;
322
+ */
323
+ reference: string;
324
+ };
325
+
326
+ /**
327
+ * Describes the message api.manage.v1.AIDocumentReference.
328
+ * Use `create(AIDocumentReferenceSchema)` to create a new message.
329
+ */
330
+ export const AIDocumentReferenceSchema: GenMessage<AIDocumentReference> =
331
+ /*@__PURE__*/
332
+ messageDesc(file_api_manage_v1_ai, 10);
333
+
334
+ /**
335
+ * @generated from message api.manage.v1.AIDocumentLocale
336
+ */
337
+ export type AIDocumentLocale = Message<"api.manage.v1.AIDocumentLocale"> & {
338
+ /**
339
+ * Canonical API locale identifier.
340
+ *
341
+ * @generated from field: string code = 1;
342
+ */
343
+ code: string;
344
+ };
345
+
346
+ /**
347
+ * Describes the message api.manage.v1.AIDocumentLocale.
348
+ * Use `create(AIDocumentLocaleSchema)` to create a new message.
349
+ */
350
+ export const AIDocumentLocaleSchema: GenMessage<AIDocumentLocale> =
351
+ /*@__PURE__*/
352
+ messageDesc(file_api_manage_v1_ai, 11);
353
+
354
+ /**
355
+ * @generated from message api.manage.v1.AIDocumentMetadata
356
+ */
357
+ export type AIDocumentMetadata = Message<"api.manage.v1.AIDocumentMetadata"> & {
358
+ /**
359
+ * Exact protocol major for this projection: dcdp/1.
360
+ *
361
+ * @generated from field: string protocol_version = 1;
362
+ */
363
+ protocolVersion: string;
364
+
365
+ /**
366
+ * @generated from field: api.manage.v1.AIDocumentReference document = 2;
367
+ */
368
+ document?: AIDocumentReference | undefined;
369
+
370
+ /**
371
+ * @generated from field: string catalog_fingerprint = 3;
372
+ */
373
+ catalogFingerprint: string;
374
+
375
+ /**
376
+ * Opaque persisted owning-domain revision for the shared/source graph.
377
+ * Target-only writes never advance it; every source/shared change invalidates
378
+ * all target projections.
379
+ *
380
+ * @generated from field: string document_revision = 4;
381
+ */
382
+ documentRevision: string;
383
+
384
+ /**
385
+ * @generated from field: api.manage.v1.AIDocumentLocale source_locale = 5;
386
+ */
387
+ sourceLocale?: AIDocumentLocale | undefined;
388
+
389
+ /**
390
+ * @generated from field: api.manage.v1.AIDocumentLocale requested_locale = 6;
391
+ */
392
+ requestedLocale?: AIDocumentLocale | undefined;
393
+
394
+ /**
395
+ * @generated from field: api.manage.v1.AIDocumentLocaleRole locale_role = 7;
396
+ */
397
+ localeRole: AIDocumentLocaleRole;
398
+
399
+ /**
400
+ * Presence of the requested locale resource, not a persisted lifecycle enum.
401
+ *
402
+ * @generated from field: bool locale_exists = 8;
403
+ */
404
+ localeExists: boolean;
405
+
406
+ /**
407
+ * Present only for an existing non-source locale resource. It binds the
408
+ * current document revision and exact locale resource token, so a
409
+ * source/shared change invalidates every target while a target-only write
410
+ * advances only that locale. Source rooms and missing targets never receive
411
+ * a target token.
412
+ *
413
+ * @generated from field: optional string target_revision = 9;
414
+ */
415
+ targetRevision?: string | undefined;
416
+ };
417
+
418
+ /**
419
+ * Describes the message api.manage.v1.AIDocumentMetadata.
420
+ * Use `create(AIDocumentMetadataSchema)` to create a new message.
421
+ */
422
+ export const AIDocumentMetadataSchema: GenMessage<AIDocumentMetadata> =
423
+ /*@__PURE__*/
424
+ messageDesc(file_api_manage_v1_ai, 12);
425
+
426
+ /**
427
+ * @generated from message api.manage.v1.AIDocumentInlineContent
428
+ */
429
+ export type AIDocumentInlineContent =
430
+ Message<"api.manage.v1.AIDocumentInlineContent"> & {
431
+ /**
432
+ * @generated from field: repeated api.manage.v1.AIDocumentInlineItem items = 1;
433
+ */
434
+ items: AIDocumentInlineItem[];
435
+ };
436
+
437
+ /**
438
+ * Describes the message api.manage.v1.AIDocumentInlineContent.
439
+ * Use `create(AIDocumentInlineContentSchema)` to create a new message.
440
+ */
441
+ export const AIDocumentInlineContentSchema: GenMessage<AIDocumentInlineContent> =
442
+ /*@__PURE__*/
443
+ messageDesc(file_api_manage_v1_ai, 13);
444
+
445
+ /**
446
+ * @generated from message api.manage.v1.AIDocumentInlineMark
447
+ */
448
+ export type AIDocumentInlineMark =
449
+ Message<"api.manage.v1.AIDocumentInlineMark"> & {
450
+ /**
451
+ * Canonical catalog short code such as bold or italic.
452
+ *
453
+ * @generated from field: string mark = 1;
454
+ */
455
+ mark: string;
456
+
457
+ /**
458
+ * @generated from field: repeated api.manage.v1.AIDocumentInlineItem children = 2;
459
+ */
460
+ children: AIDocumentInlineItem[];
461
+
462
+ /**
463
+ * Present only when the catalog declares a typed mark parameter, such as
464
+ * the canonical editor_color value for textColor or backgroundColor.
465
+ *
466
+ * @generated from field: optional api.manage.v1.AIDocumentValue parameter = 3;
467
+ */
468
+ parameter?: AIDocumentValue | undefined;
469
+ };
470
+
471
+ /**
472
+ * Describes the message api.manage.v1.AIDocumentInlineMark.
473
+ * Use `create(AIDocumentInlineMarkSchema)` to create a new message.
474
+ */
475
+ export const AIDocumentInlineMarkSchema: GenMessage<AIDocumentInlineMark> =
476
+ /*@__PURE__*/
477
+ messageDesc(file_api_manage_v1_ai, 14);
478
+
479
+ /**
480
+ * @generated from message api.manage.v1.AIDocumentInlineLink
481
+ */
482
+ export type AIDocumentInlineLink =
483
+ Message<"api.manage.v1.AIDocumentInlineLink"> & {
484
+ /**
485
+ * @generated from field: string target = 1;
486
+ */
487
+ target: string;
488
+
489
+ /**
490
+ * @generated from field: repeated api.manage.v1.AIDocumentInlineItem children = 2;
491
+ */
492
+ children: AIDocumentInlineItem[];
493
+ };
494
+
495
+ /**
496
+ * Describes the message api.manage.v1.AIDocumentInlineLink.
497
+ * Use `create(AIDocumentInlineLinkSchema)` to create a new message.
498
+ */
499
+ export const AIDocumentInlineLinkSchema: GenMessage<AIDocumentInlineLink> =
500
+ /*@__PURE__*/
501
+ messageDesc(file_api_manage_v1_ai, 15);
502
+
503
+ /**
504
+ * @generated from message api.manage.v1.AIDocumentHardBreak
505
+ */
506
+ export type AIDocumentHardBreak =
507
+ Message<"api.manage.v1.AIDocumentHardBreak"> & {};
508
+
509
+ /**
510
+ * Describes the message api.manage.v1.AIDocumentHardBreak.
511
+ * Use `create(AIDocumentHardBreakSchema)` to create a new message.
512
+ */
513
+ export const AIDocumentHardBreakSchema: GenMessage<AIDocumentHardBreak> =
514
+ /*@__PURE__*/
515
+ messageDesc(file_api_manage_v1_ai, 16);
516
+
517
+ /**
518
+ * @generated from message api.manage.v1.AIDocumentInlineItem
519
+ */
520
+ export type AIDocumentInlineItem =
521
+ Message<"api.manage.v1.AIDocumentInlineItem"> & {
522
+ /**
523
+ * @generated from oneof api.manage.v1.AIDocumentInlineItem.item
524
+ */
525
+ item:
526
+ | {
527
+ /**
528
+ * @generated from field: string text = 1;
529
+ */
530
+ value: string;
531
+ case: "text";
532
+ }
533
+ | {
534
+ /**
535
+ * @generated from field: api.manage.v1.AIDocumentInlineMark mark = 2;
536
+ */
537
+ value: AIDocumentInlineMark;
538
+ case: "mark";
539
+ }
540
+ | {
541
+ /**
542
+ * @generated from field: api.manage.v1.AIDocumentInlineLink link = 3;
543
+ */
544
+ value: AIDocumentInlineLink;
545
+ case: "link";
546
+ }
547
+ | {
548
+ /**
549
+ * @generated from field: api.manage.v1.AIDocumentHardBreak hard_break = 4;
550
+ */
551
+ value: AIDocumentHardBreak;
552
+ case: "hardBreak";
553
+ }
554
+ | {
555
+ /**
556
+ * @generated from field: string math = 5;
557
+ */
558
+ value: string;
559
+ case: "math";
560
+ }
561
+ | {
562
+ /**
563
+ * @generated from field: string placeholder_handle = 6;
564
+ */
565
+ value: string;
566
+ case: "placeholderHandle";
567
+ }
568
+ | { case: undefined; value?: undefined };
569
+ };
570
+
571
+ /**
572
+ * Describes the message api.manage.v1.AIDocumentInlineItem.
573
+ * Use `create(AIDocumentInlineItemSchema)` to create a new message.
574
+ */
575
+ export const AIDocumentInlineItemSchema: GenMessage<AIDocumentInlineItem> =
576
+ /*@__PURE__*/
577
+ messageDesc(file_api_manage_v1_ai, 17);
578
+
579
+ /**
580
+ * @generated from message api.manage.v1.AIDocumentValue
581
+ */
582
+ export type AIDocumentValue = Message<"api.manage.v1.AIDocumentValue"> & {
583
+ /**
584
+ * @generated from oneof api.manage.v1.AIDocumentValue.value
585
+ */
586
+ value:
587
+ | {
588
+ /**
589
+ * Presence of this oneof arm with text="" is explicit empty. Omission of
590
+ * the containing field is missing and must remain distinguishable.
591
+ *
592
+ * @generated from field: string text = 1;
593
+ */
594
+ value: string;
595
+ case: "text";
596
+ }
597
+ | {
598
+ /**
599
+ * @generated from field: bool boolean = 2;
600
+ */
601
+ value: boolean;
602
+ case: "boolean";
603
+ }
604
+ | {
605
+ /**
606
+ * Canonical decimal text avoids provider-dependent floating encoding.
607
+ *
608
+ * @generated from field: string number = 3;
609
+ */
610
+ value: string;
611
+ case: "number";
612
+ }
613
+ | {
614
+ /**
615
+ * @generated from field: api.manage.v1.AIDocumentInlineContent inline = 4;
616
+ */
617
+ value: AIDocumentInlineContent;
618
+ case: "inline";
619
+ }
620
+ | {
621
+ /**
622
+ * @generated from field: api.manage.v1.AIDocumentListValue list = 5;
623
+ */
624
+ value: AIDocumentListValue;
625
+ case: "list";
626
+ }
627
+ | {
628
+ /**
629
+ * @generated from field: api.manage.v1.AIDocumentObjectValue object = 6;
630
+ */
631
+ value: AIDocumentObjectValue;
632
+ case: "object";
633
+ }
634
+ | { case: undefined; value?: undefined };
635
+ };
636
+
637
+ /**
638
+ * Describes the message api.manage.v1.AIDocumentValue.
639
+ * Use `create(AIDocumentValueSchema)` to create a new message.
640
+ */
641
+ export const AIDocumentValueSchema: GenMessage<AIDocumentValue> =
642
+ /*@__PURE__*/
643
+ messageDesc(file_api_manage_v1_ai, 18);
644
+
645
+ /**
646
+ * Recursive values remain closed and typed. Array item handles are derived
647
+ * from the generated catalog identity rule; they are never caller-defined JSON
648
+ * paths or numeric editor positions.
649
+ *
650
+ * @generated from message api.manage.v1.AIDocumentListItem
651
+ */
652
+ export type AIDocumentListItem = Message<"api.manage.v1.AIDocumentListItem"> & {
653
+ /**
654
+ * @generated from field: string item_handle = 1;
655
+ */
656
+ itemHandle: string;
657
+
658
+ /**
659
+ * @generated from field: api.manage.v1.AIDocumentValue value = 2;
660
+ */
661
+ value?: AIDocumentValue | undefined;
662
+ };
663
+
664
+ /**
665
+ * Describes the message api.manage.v1.AIDocumentListItem.
666
+ * Use `create(AIDocumentListItemSchema)` to create a new message.
667
+ */
668
+ export const AIDocumentListItemSchema: GenMessage<AIDocumentListItem> =
669
+ /*@__PURE__*/
670
+ messageDesc(file_api_manage_v1_ai, 19);
671
+
672
+ /**
673
+ * @generated from message api.manage.v1.AIDocumentListValue
674
+ */
675
+ export type AIDocumentListValue =
676
+ Message<"api.manage.v1.AIDocumentListValue"> & {
677
+ /**
678
+ * @generated from field: repeated api.manage.v1.AIDocumentListItem items = 1;
679
+ */
680
+ items: AIDocumentListItem[];
681
+ };
682
+
683
+ /**
684
+ * Describes the message api.manage.v1.AIDocumentListValue.
685
+ * Use `create(AIDocumentListValueSchema)` to create a new message.
686
+ */
687
+ export const AIDocumentListValueSchema: GenMessage<AIDocumentListValue> =
688
+ /*@__PURE__*/
689
+ messageDesc(file_api_manage_v1_ai, 20);
690
+
691
+ /**
692
+ * @generated from message api.manage.v1.AIDocumentObjectValue
693
+ */
694
+ export type AIDocumentObjectValue =
695
+ Message<"api.manage.v1.AIDocumentObjectValue"> & {
696
+ /**
697
+ * @generated from field: repeated api.manage.v1.AIDocumentFieldValue fields = 1;
698
+ */
699
+ fields: AIDocumentFieldValue[];
700
+ };
701
+
702
+ /**
703
+ * Describes the message api.manage.v1.AIDocumentObjectValue.
704
+ * Use `create(AIDocumentObjectValueSchema)` to create a new message.
705
+ */
706
+ export const AIDocumentObjectValueSchema: GenMessage<AIDocumentObjectValue> =
707
+ /*@__PURE__*/
708
+ messageDesc(file_api_manage_v1_ai, 21);
709
+
710
+ /**
711
+ * @generated from message api.manage.v1.AIDocumentFieldValue
712
+ */
713
+ export type AIDocumentFieldValue =
714
+ Message<"api.manage.v1.AIDocumentFieldValue"> & {
715
+ /**
716
+ * @generated from field: string field_handle = 1;
717
+ */
718
+ fieldHandle: string;
719
+
720
+ /**
721
+ * @generated from field: api.manage.v1.AIDocumentValue value = 2;
722
+ */
723
+ value?: AIDocumentValue | undefined;
724
+ };
725
+
726
+ /**
727
+ * Describes the message api.manage.v1.AIDocumentFieldValue.
728
+ * Use `create(AIDocumentFieldValueSchema)` to create a new message.
729
+ */
730
+ export const AIDocumentFieldValueSchema: GenMessage<AIDocumentFieldValue> =
731
+ /*@__PURE__*/
732
+ messageDesc(file_api_manage_v1_ai, 22);
733
+
734
+ /**
735
+ * @generated from message api.manage.v1.AIDocumentRelationItemReference
736
+ */
737
+ export type AIDocumentRelationItemReference =
738
+ Message<"api.manage.v1.AIDocumentRelationItemReference"> & {
739
+ /**
740
+ * @generated from field: string block_handle = 1;
741
+ */
742
+ blockHandle: string;
743
+
744
+ /**
745
+ * @generated from field: string relation_handle = 2;
746
+ */
747
+ relationHandle: string;
748
+
749
+ /**
750
+ * @generated from field: string item_handle = 3;
751
+ */
752
+ itemHandle: string;
753
+ };
754
+
755
+ /**
756
+ * Describes the message api.manage.v1.AIDocumentRelationItemReference.
757
+ * Use `create(AIDocumentRelationItemReferenceSchema)` to create a new message.
758
+ */
759
+ export const AIDocumentRelationItemReferenceSchema: GenMessage<AIDocumentRelationItemReference> =
760
+ /*@__PURE__*/
761
+ messageDesc(file_api_manage_v1_ai, 23);
762
+
763
+ /**
764
+ * @generated from message api.manage.v1.AIDocumentFieldTarget
765
+ */
766
+ export type AIDocumentFieldTarget =
767
+ Message<"api.manage.v1.AIDocumentFieldTarget"> & {
768
+ /**
769
+ * @generated from oneof api.manage.v1.AIDocumentFieldTarget.owner
770
+ */
771
+ owner:
772
+ | {
773
+ /**
774
+ * @generated from field: string block_handle = 1;
775
+ */
776
+ value: string;
777
+ case: "blockHandle";
778
+ }
779
+ | {
780
+ /**
781
+ * @generated from field: api.manage.v1.AIDocumentRelationItemReference relation_item = 2;
782
+ */
783
+ value: AIDocumentRelationItemReference;
784
+ case: "relationItem";
785
+ }
786
+ | { case: undefined; value?: undefined };
787
+
788
+ /**
789
+ * @generated from field: string field_handle = 3;
790
+ */
791
+ fieldHandle: string;
792
+
793
+ /**
794
+ * Catalog-validated object fields and semantic array item handles below the
795
+ * root field. Whole-list positional arrays do not expose item mutations.
796
+ *
797
+ * @generated from field: repeated api.manage.v1.AIDocumentFieldPathSegment path = 4;
798
+ */
799
+ path: AIDocumentFieldPathSegment[];
800
+ };
801
+
802
+ /**
803
+ * Describes the message api.manage.v1.AIDocumentFieldTarget.
804
+ * Use `create(AIDocumentFieldTargetSchema)` to create a new message.
805
+ */
806
+ export const AIDocumentFieldTargetSchema: GenMessage<AIDocumentFieldTarget> =
807
+ /*@__PURE__*/
808
+ messageDesc(file_api_manage_v1_ai, 24);
809
+
810
+ /**
811
+ * @generated from message api.manage.v1.AIDocumentFieldPathSegment
812
+ */
813
+ export type AIDocumentFieldPathSegment =
814
+ Message<"api.manage.v1.AIDocumentFieldPathSegment"> & {
815
+ /**
816
+ * @generated from oneof api.manage.v1.AIDocumentFieldPathSegment.selector
817
+ */
818
+ selector:
819
+ | {
820
+ /**
821
+ * @generated from field: string field_handle = 1;
822
+ */
823
+ value: string;
824
+ case: "fieldHandle";
825
+ }
826
+ | {
827
+ /**
828
+ * @generated from field: string item_handle = 2;
829
+ */
830
+ value: string;
831
+ case: "itemHandle";
832
+ }
833
+ | { case: undefined; value?: undefined };
834
+ };
835
+
836
+ /**
837
+ * Describes the message api.manage.v1.AIDocumentFieldPathSegment.
838
+ * Use `create(AIDocumentFieldPathSegmentSchema)` to create a new message.
839
+ */
840
+ export const AIDocumentFieldPathSegmentSchema: GenMessage<AIDocumentFieldPathSegment> =
841
+ /*@__PURE__*/
842
+ messageDesc(file_api_manage_v1_ai, 25);
843
+
844
+ /**
845
+ * @generated from message api.manage.v1.OpenAIDocumentRequest
846
+ */
847
+ export type OpenAIDocumentRequest =
848
+ Message<"api.manage.v1.OpenAIDocumentRequest"> & {
849
+ /**
850
+ * @generated from field: api.manage.v1.AIDocumentReference document = 1;
851
+ */
852
+ document?: AIDocumentReference | undefined;
853
+
854
+ /**
855
+ * @generated from field: api.manage.v1.AIDocumentLocale locale = 2;
856
+ */
857
+ locale?: AIDocumentLocale | undefined;
858
+ };
859
+
860
+ /**
861
+ * Describes the message api.manage.v1.OpenAIDocumentRequest.
862
+ * Use `create(OpenAIDocumentRequestSchema)` to create a new message.
863
+ */
864
+ export const OpenAIDocumentRequestSchema: GenMessage<OpenAIDocumentRequest> =
865
+ /*@__PURE__*/
866
+ messageDesc(file_api_manage_v1_ai, 26);
867
+
868
+ /**
869
+ * @generated from message api.manage.v1.OpenAIDocumentResponse
870
+ */
871
+ export type OpenAIDocumentResponse =
872
+ Message<"api.manage.v1.OpenAIDocumentResponse"> & {
873
+ /**
874
+ * @generated from field: api.manage.v1.AIDocumentMetadata metadata = 1;
875
+ */
876
+ metadata?: AIDocumentMetadata | undefined;
877
+ };
878
+
879
+ /**
880
+ * Describes the message api.manage.v1.OpenAIDocumentResponse.
881
+ * Use `create(OpenAIDocumentResponseSchema)` to create a new message.
882
+ */
883
+ export const OpenAIDocumentResponseSchema: GenMessage<OpenAIDocumentResponse> =
884
+ /*@__PURE__*/
885
+ messageDesc(file_api_manage_v1_ai, 27);
886
+
887
+ /**
888
+ * @generated from message api.manage.v1.AIDocumentSetFieldOperation
889
+ */
890
+ export type AIDocumentSetFieldOperation =
891
+ Message<"api.manage.v1.AIDocumentSetFieldOperation"> & {
892
+ /**
893
+ * @generated from field: api.manage.v1.AIDocumentFieldTarget target = 1;
894
+ */
895
+ target?: AIDocumentFieldTarget | undefined;
896
+
897
+ /**
898
+ * @generated from field: api.manage.v1.AIDocumentValue value = 2;
899
+ */
900
+ value?: AIDocumentValue | undefined;
901
+ };
902
+
903
+ /**
904
+ * Describes the message api.manage.v1.AIDocumentSetFieldOperation.
905
+ * Use `create(AIDocumentSetFieldOperationSchema)` to create a new message.
906
+ */
907
+ export const AIDocumentSetFieldOperationSchema: GenMessage<AIDocumentSetFieldOperation> =
908
+ /*@__PURE__*/
909
+ messageDesc(file_api_manage_v1_ai, 28);
910
+
911
+ /**
912
+ * @generated from message api.manage.v1.AIDocumentUnsetFieldOperation
913
+ */
914
+ export type AIDocumentUnsetFieldOperation =
915
+ Message<"api.manage.v1.AIDocumentUnsetFieldOperation"> & {
916
+ /**
917
+ * @generated from field: api.manage.v1.AIDocumentFieldTarget target = 1;
918
+ */
919
+ target?: AIDocumentFieldTarget | undefined;
920
+ };
921
+
922
+ /**
923
+ * Describes the message api.manage.v1.AIDocumentUnsetFieldOperation.
924
+ * Use `create(AIDocumentUnsetFieldOperationSchema)` to create a new message.
925
+ */
926
+ export const AIDocumentUnsetFieldOperationSchema: GenMessage<AIDocumentUnsetFieldOperation> =
927
+ /*@__PURE__*/
928
+ messageDesc(file_api_manage_v1_ai, 29);
929
+
930
+ /**
931
+ * @generated from message api.manage.v1.AIDocumentInsertBlockOperation
932
+ */
933
+ export type AIDocumentInsertBlockOperation =
934
+ Message<"api.manage.v1.AIDocumentInsertBlockOperation"> & {
935
+ /**
936
+ * @generated from field: string block_handle = 1;
937
+ */
938
+ blockHandle: string;
939
+
940
+ /**
941
+ * @generated from field: string kind = 2;
942
+ */
943
+ kind: string;
944
+
945
+ /**
946
+ * @generated from field: optional string parent_block_handle = 3;
947
+ */
948
+ parentBlockHandle?: string | undefined;
949
+
950
+ /**
951
+ * @generated from field: optional string after_block_handle = 4;
952
+ */
953
+ afterBlockHandle?: string | undefined;
954
+ };
955
+
956
+ /**
957
+ * Describes the message api.manage.v1.AIDocumentInsertBlockOperation.
958
+ * Use `create(AIDocumentInsertBlockOperationSchema)` to create a new message.
959
+ */
960
+ export const AIDocumentInsertBlockOperationSchema: GenMessage<AIDocumentInsertBlockOperation> =
961
+ /*@__PURE__*/
962
+ messageDesc(file_api_manage_v1_ai, 30);
963
+
964
+ /**
965
+ * @generated from message api.manage.v1.AIDocumentDeleteBlockOperation
966
+ */
967
+ export type AIDocumentDeleteBlockOperation =
968
+ Message<"api.manage.v1.AIDocumentDeleteBlockOperation"> & {
969
+ /**
970
+ * @generated from field: string block_handle = 1;
971
+ */
972
+ blockHandle: string;
973
+ };
974
+
975
+ /**
976
+ * Describes the message api.manage.v1.AIDocumentDeleteBlockOperation.
977
+ * Use `create(AIDocumentDeleteBlockOperationSchema)` to create a new message.
978
+ */
979
+ export const AIDocumentDeleteBlockOperationSchema: GenMessage<AIDocumentDeleteBlockOperation> =
980
+ /*@__PURE__*/
981
+ messageDesc(file_api_manage_v1_ai, 31);
982
+
983
+ /**
984
+ * @generated from message api.manage.v1.AIDocumentMoveBlockOperation
985
+ */
986
+ export type AIDocumentMoveBlockOperation =
987
+ Message<"api.manage.v1.AIDocumentMoveBlockOperation"> & {
988
+ /**
989
+ * @generated from field: string block_handle = 1;
990
+ */
991
+ blockHandle: string;
992
+
993
+ /**
994
+ * @generated from field: optional string parent_block_handle = 2;
995
+ */
996
+ parentBlockHandle?: string | undefined;
997
+
998
+ /**
999
+ * @generated from field: optional string after_block_handle = 3;
1000
+ */
1001
+ afterBlockHandle?: string | undefined;
1002
+ };
1003
+
1004
+ /**
1005
+ * Describes the message api.manage.v1.AIDocumentMoveBlockOperation.
1006
+ * Use `create(AIDocumentMoveBlockOperationSchema)` to create a new message.
1007
+ */
1008
+ export const AIDocumentMoveBlockOperationSchema: GenMessage<AIDocumentMoveBlockOperation> =
1009
+ /*@__PURE__*/
1010
+ messageDesc(file_api_manage_v1_ai, 32);
1011
+
1012
+ /**
1013
+ * @generated from message api.manage.v1.AIDocumentReplaceBlockKindOperation
1014
+ */
1015
+ export type AIDocumentReplaceBlockKindOperation =
1016
+ Message<"api.manage.v1.AIDocumentReplaceBlockKindOperation"> & {
1017
+ /**
1018
+ * @generated from field: string block_handle = 1;
1019
+ */
1020
+ blockHandle: string;
1021
+
1022
+ /**
1023
+ * @generated from field: string kind = 2;
1024
+ */
1025
+ kind: string;
1026
+ };
1027
+
1028
+ /**
1029
+ * Describes the message api.manage.v1.AIDocumentReplaceBlockKindOperation.
1030
+ * Use `create(AIDocumentReplaceBlockKindOperationSchema)` to create a new message.
1031
+ */
1032
+ export const AIDocumentReplaceBlockKindOperationSchema: GenMessage<AIDocumentReplaceBlockKindOperation> =
1033
+ /*@__PURE__*/
1034
+ messageDesc(file_api_manage_v1_ai, 33);
1035
+
1036
+ /**
1037
+ * @generated from message api.manage.v1.AIDocumentAttachFileOperation
1038
+ */
1039
+ export type AIDocumentAttachFileOperation =
1040
+ Message<"api.manage.v1.AIDocumentAttachFileOperation"> & {
1041
+ /**
1042
+ * @generated from field: api.manage.v1.AIDocumentFieldTarget target = 1;
1043
+ */
1044
+ target?: AIDocumentFieldTarget | undefined;
1045
+
1046
+ /**
1047
+ * @generated from field: string file_handle = 2;
1048
+ */
1049
+ fileHandle: string;
1050
+ };
1051
+
1052
+ /**
1053
+ * Describes the message api.manage.v1.AIDocumentAttachFileOperation.
1054
+ * Use `create(AIDocumentAttachFileOperationSchema)` to create a new message.
1055
+ */
1056
+ export const AIDocumentAttachFileOperationSchema: GenMessage<AIDocumentAttachFileOperation> =
1057
+ /*@__PURE__*/
1058
+ messageDesc(file_api_manage_v1_ai, 34);
1059
+
1060
+ /**
1061
+ * @generated from message api.manage.v1.AIDocumentDetachFileOperation
1062
+ */
1063
+ export type AIDocumentDetachFileOperation =
1064
+ Message<"api.manage.v1.AIDocumentDetachFileOperation"> & {
1065
+ /**
1066
+ * @generated from field: api.manage.v1.AIDocumentFieldTarget target = 1;
1067
+ */
1068
+ target?: AIDocumentFieldTarget | undefined;
1069
+ };
1070
+
1071
+ /**
1072
+ * Describes the message api.manage.v1.AIDocumentDetachFileOperation.
1073
+ * Use `create(AIDocumentDetachFileOperationSchema)` to create a new message.
1074
+ */
1075
+ export const AIDocumentDetachFileOperationSchema: GenMessage<AIDocumentDetachFileOperation> =
1076
+ /*@__PURE__*/
1077
+ messageDesc(file_api_manage_v1_ai, 35);
1078
+
1079
+ /**
1080
+ * Explicitly creates one missing non-source locale. The owning domain seeds
1081
+ * every locale-owned stable unit from the current source locale in the same
1082
+ * transaction; the client never submits seed values or structure.
1083
+ *
1084
+ * @generated from message api.manage.v1.AIDocumentCreateTranslationOperation
1085
+ */
1086
+ export type AIDocumentCreateTranslationOperation =
1087
+ Message<"api.manage.v1.AIDocumentCreateTranslationOperation"> & {};
1088
+
1089
+ /**
1090
+ * Describes the message api.manage.v1.AIDocumentCreateTranslationOperation.
1091
+ * Use `create(AIDocumentCreateTranslationOperationSchema)` to create a new message.
1092
+ */
1093
+ export const AIDocumentCreateTranslationOperationSchema: GenMessage<AIDocumentCreateTranslationOperation> =
1094
+ /*@__PURE__*/
1095
+ messageDesc(file_api_manage_v1_ai, 36);
1096
+
1097
+ /**
1098
+ * Deletes one exact existing non-source locale. The source locale cannot be
1099
+ * deleted and the client must supply that target's exact revision token.
1100
+ *
1101
+ * @generated from message api.manage.v1.AIDocumentDeleteTranslationOperation
1102
+ */
1103
+ export type AIDocumentDeleteTranslationOperation =
1104
+ Message<"api.manage.v1.AIDocumentDeleteTranslationOperation"> & {};
1105
+
1106
+ /**
1107
+ * Describes the message api.manage.v1.AIDocumentDeleteTranslationOperation.
1108
+ * Use `create(AIDocumentDeleteTranslationOperationSchema)` to create a new message.
1109
+ */
1110
+ export const AIDocumentDeleteTranslationOperationSchema: GenMessage<AIDocumentDeleteTranslationOperation> =
1111
+ /*@__PURE__*/
1112
+ messageDesc(file_api_manage_v1_ai, 37);
1113
+
1114
+ /**
1115
+ * @generated from message api.manage.v1.AIDocumentInsertRelationItemOperation
1116
+ */
1117
+ export type AIDocumentInsertRelationItemOperation =
1118
+ Message<"api.manage.v1.AIDocumentInsertRelationItemOperation"> & {
1119
+ /**
1120
+ * @generated from field: string block_handle = 1;
1121
+ */
1122
+ blockHandle: string;
1123
+
1124
+ /**
1125
+ * @generated from field: string relation_handle = 2;
1126
+ */
1127
+ relationHandle: string;
1128
+
1129
+ /**
1130
+ * @generated from field: string item_handle = 3;
1131
+ */
1132
+ itemHandle: string;
1133
+
1134
+ /**
1135
+ * @generated from field: string item_kind = 4;
1136
+ */
1137
+ itemKind: string;
1138
+
1139
+ /**
1140
+ * @generated from field: optional string after_item_handle = 5;
1141
+ */
1142
+ afterItemHandle?: string | undefined;
1143
+ };
1144
+
1145
+ /**
1146
+ * Describes the message api.manage.v1.AIDocumentInsertRelationItemOperation.
1147
+ * Use `create(AIDocumentInsertRelationItemOperationSchema)` to create a new message.
1148
+ */
1149
+ export const AIDocumentInsertRelationItemOperationSchema: GenMessage<AIDocumentInsertRelationItemOperation> =
1150
+ /*@__PURE__*/
1151
+ messageDesc(file_api_manage_v1_ai, 38);
1152
+
1153
+ /**
1154
+ * @generated from message api.manage.v1.AIDocumentDeleteRelationItemOperation
1155
+ */
1156
+ export type AIDocumentDeleteRelationItemOperation =
1157
+ Message<"api.manage.v1.AIDocumentDeleteRelationItemOperation"> & {
1158
+ /**
1159
+ * @generated from field: api.manage.v1.AIDocumentRelationItemReference item = 1;
1160
+ */
1161
+ item?: AIDocumentRelationItemReference | undefined;
1162
+ };
1163
+
1164
+ /**
1165
+ * Describes the message api.manage.v1.AIDocumentDeleteRelationItemOperation.
1166
+ * Use `create(AIDocumentDeleteRelationItemOperationSchema)` to create a new message.
1167
+ */
1168
+ export const AIDocumentDeleteRelationItemOperationSchema: GenMessage<AIDocumentDeleteRelationItemOperation> =
1169
+ /*@__PURE__*/
1170
+ messageDesc(file_api_manage_v1_ai, 39);
1171
+
1172
+ /**
1173
+ * @generated from message api.manage.v1.AIDocumentMoveRelationItemOperation
1174
+ */
1175
+ export type AIDocumentMoveRelationItemOperation =
1176
+ Message<"api.manage.v1.AIDocumentMoveRelationItemOperation"> & {
1177
+ /**
1178
+ * @generated from field: api.manage.v1.AIDocumentRelationItemReference item = 1;
1179
+ */
1180
+ item?: AIDocumentRelationItemReference | undefined;
1181
+
1182
+ /**
1183
+ * @generated from field: string destination_block_handle = 2;
1184
+ */
1185
+ destinationBlockHandle: string;
1186
+
1187
+ /**
1188
+ * @generated from field: string destination_relation_handle = 3;
1189
+ */
1190
+ destinationRelationHandle: string;
1191
+
1192
+ /**
1193
+ * @generated from field: optional string after_item_handle = 4;
1194
+ */
1195
+ afterItemHandle?: string | undefined;
1196
+ };
1197
+
1198
+ /**
1199
+ * Describes the message api.manage.v1.AIDocumentMoveRelationItemOperation.
1200
+ * Use `create(AIDocumentMoveRelationItemOperationSchema)` to create a new message.
1201
+ */
1202
+ export const AIDocumentMoveRelationItemOperationSchema: GenMessage<AIDocumentMoveRelationItemOperation> =
1203
+ /*@__PURE__*/
1204
+ messageDesc(file_api_manage_v1_ai, 40);
1205
+
1206
+ /**
1207
+ * @generated from message api.manage.v1.AIDocumentOperation
1208
+ */
1209
+ export type AIDocumentOperation =
1210
+ Message<"api.manage.v1.AIDocumentOperation"> & {
1211
+ /**
1212
+ * @generated from oneof api.manage.v1.AIDocumentOperation.operation
1213
+ */
1214
+ operation:
1215
+ | {
1216
+ /**
1217
+ * @generated from field: api.manage.v1.AIDocumentSetFieldOperation set_field = 1;
1218
+ */
1219
+ value: AIDocumentSetFieldOperation;
1220
+ case: "setField";
1221
+ }
1222
+ | {
1223
+ /**
1224
+ * @generated from field: api.manage.v1.AIDocumentUnsetFieldOperation unset_field = 2;
1225
+ */
1226
+ value: AIDocumentUnsetFieldOperation;
1227
+ case: "unsetField";
1228
+ }
1229
+ | {
1230
+ /**
1231
+ * @generated from field: api.manage.v1.AIDocumentInsertBlockOperation insert_block = 3;
1232
+ */
1233
+ value: AIDocumentInsertBlockOperation;
1234
+ case: "insertBlock";
1235
+ }
1236
+ | {
1237
+ /**
1238
+ * @generated from field: api.manage.v1.AIDocumentDeleteBlockOperation delete_block = 4;
1239
+ */
1240
+ value: AIDocumentDeleteBlockOperation;
1241
+ case: "deleteBlock";
1242
+ }
1243
+ | {
1244
+ /**
1245
+ * @generated from field: api.manage.v1.AIDocumentMoveBlockOperation move_block = 5;
1246
+ */
1247
+ value: AIDocumentMoveBlockOperation;
1248
+ case: "moveBlock";
1249
+ }
1250
+ | {
1251
+ /**
1252
+ * @generated from field: api.manage.v1.AIDocumentReplaceBlockKindOperation replace_block_kind = 6;
1253
+ */
1254
+ value: AIDocumentReplaceBlockKindOperation;
1255
+ case: "replaceBlockKind";
1256
+ }
1257
+ | {
1258
+ /**
1259
+ * @generated from field: api.manage.v1.AIDocumentAttachFileOperation attach_file = 7;
1260
+ */
1261
+ value: AIDocumentAttachFileOperation;
1262
+ case: "attachFile";
1263
+ }
1264
+ | {
1265
+ /**
1266
+ * @generated from field: api.manage.v1.AIDocumentDetachFileOperation detach_file = 8;
1267
+ */
1268
+ value: AIDocumentDetachFileOperation;
1269
+ case: "detachFile";
1270
+ }
1271
+ | {
1272
+ /**
1273
+ * @generated from field: api.manage.v1.AIDocumentCreateTranslationOperation create_translation = 9;
1274
+ */
1275
+ value: AIDocumentCreateTranslationOperation;
1276
+ case: "createTranslation";
1277
+ }
1278
+ | {
1279
+ /**
1280
+ * @generated from field: api.manage.v1.AIDocumentDeleteTranslationOperation delete_translation = 10;
1281
+ */
1282
+ value: AIDocumentDeleteTranslationOperation;
1283
+ case: "deleteTranslation";
1284
+ }
1285
+ | {
1286
+ /**
1287
+ * @generated from field: api.manage.v1.AIDocumentInsertRelationItemOperation insert_relation_item = 11;
1288
+ */
1289
+ value: AIDocumentInsertRelationItemOperation;
1290
+ case: "insertRelationItem";
1291
+ }
1292
+ | {
1293
+ /**
1294
+ * @generated from field: api.manage.v1.AIDocumentDeleteRelationItemOperation delete_relation_item = 12;
1295
+ */
1296
+ value: AIDocumentDeleteRelationItemOperation;
1297
+ case: "deleteRelationItem";
1298
+ }
1299
+ | {
1300
+ /**
1301
+ * @generated from field: api.manage.v1.AIDocumentMoveRelationItemOperation move_relation_item = 13;
1302
+ */
1303
+ value: AIDocumentMoveRelationItemOperation;
1304
+ case: "moveRelationItem";
1305
+ }
1306
+ | { case: undefined; value?: undefined };
1307
+ };
1308
+
1309
+ /**
1310
+ * Describes the message api.manage.v1.AIDocumentOperation.
1311
+ * Use `create(AIDocumentOperationSchema)` to create a new message.
1312
+ */
1313
+ export const AIDocumentOperationSchema: GenMessage<AIDocumentOperation> =
1314
+ /*@__PURE__*/
1315
+ messageDesc(file_api_manage_v1_ai, 41);
1316
+
1317
+ /**
1318
+ * @generated from message api.manage.v1.AIDocumentMutation
1319
+ */
1320
+ export type AIDocumentMutation = Message<"api.manage.v1.AIDocumentMutation"> & {
1321
+ /**
1322
+ * Must be dcdp/1.
1323
+ *
1324
+ * @generated from field: string protocol_version = 1;
1325
+ */
1326
+ protocolVersion: string;
1327
+
1328
+ /**
1329
+ * @generated from field: api.manage.v1.AIDocumentReference document = 2;
1330
+ */
1331
+ document?: AIDocumentReference | undefined;
1332
+
1333
+ /**
1334
+ * @generated from field: api.manage.v1.AIDocumentLocale locale = 3;
1335
+ */
1336
+ locale?: AIDocumentLocale | undefined;
1337
+
1338
+ /**
1339
+ * Required persisted shared/source graph observation for every mutation.
1340
+ * Target-only writes do not advance it; unrelated target-locale writes do
1341
+ * not invalidate this token.
1342
+ *
1343
+ * @generated from field: string expected_document_revision = 4;
1344
+ */
1345
+ expectedDocumentRevision: string;
1346
+
1347
+ /**
1348
+ * @generated from field: repeated api.manage.v1.AIDocumentOperation operations = 5;
1349
+ */
1350
+ operations: AIDocumentOperation[];
1351
+
1352
+ /**
1353
+ * Required for an existing non-source target and absent for a source room or
1354
+ * missing target. Create therefore starts without a target token; delete
1355
+ * requires the token of the existing target.
1356
+ *
1357
+ * @generated from field: optional string expected_target_revision = 6;
1358
+ */
1359
+ expectedTargetRevision?: string | undefined;
1360
+ };
1361
+
1362
+ /**
1363
+ * Describes the message api.manage.v1.AIDocumentMutation.
1364
+ * Use `create(AIDocumentMutationSchema)` to create a new message.
1365
+ */
1366
+ export const AIDocumentMutationSchema: GenMessage<AIDocumentMutation> =
1367
+ /*@__PURE__*/
1368
+ messageDesc(file_api_manage_v1_ai, 42);
1369
+
1370
+ /**
1371
+ * @generated from message api.manage.v1.AIDocumentIssue
1372
+ */
1373
+ export type AIDocumentIssue = Message<"api.manage.v1.AIDocumentIssue"> & {
1374
+ /**
1375
+ * Zero-based index into the submitted operation list.
1376
+ *
1377
+ * @generated from field: uint32 operation_index = 1;
1378
+ */
1379
+ operationIndex: number;
1380
+
1381
+ /**
1382
+ * @generated from field: api.manage.v1.AIDocumentIssueCode code = 2;
1383
+ */
1384
+ code: AIDocumentIssueCode;
1385
+
1386
+ /**
1387
+ * @generated from field: optional string handle = 3;
1388
+ */
1389
+ handle?: string | undefined;
1390
+ };
1391
+
1392
+ /**
1393
+ * Describes the message api.manage.v1.AIDocumentIssue.
1394
+ * Use `create(AIDocumentIssueSchema)` to create a new message.
1395
+ */
1396
+ export const AIDocumentIssueSchema: GenMessage<AIDocumentIssue> =
1397
+ /*@__PURE__*/
1398
+ messageDesc(file_api_manage_v1_ai, 43);
1399
+
1400
+ /**
1401
+ * @generated from message api.manage.v1.AIDocumentConflict
1402
+ */
1403
+ export type AIDocumentConflict = Message<"api.manage.v1.AIDocumentConflict"> & {
1404
+ /**
1405
+ * @generated from field: api.manage.v1.AIDocumentConflictCode code = 1;
1406
+ */
1407
+ code: AIDocumentConflictCode;
1408
+
1409
+ /**
1410
+ * @generated from field: string current_document_revision = 2;
1411
+ */
1412
+ currentDocumentRevision: string;
1413
+
1414
+ /**
1415
+ * @generated from field: repeated string affected_handles = 3;
1416
+ */
1417
+ affectedHandles: string[];
1418
+
1419
+ /**
1420
+ * Present only when TARGET_REVISION identifies an existing non-source
1421
+ * target. A missing target has no target token.
1422
+ *
1423
+ * @generated from field: optional string current_target_revision = 4;
1424
+ */
1425
+ currentTargetRevision?: string | undefined;
1426
+ };
1427
+
1428
+ /**
1429
+ * Describes the message api.manage.v1.AIDocumentConflict.
1430
+ * Use `create(AIDocumentConflictSchema)` to create a new message.
1431
+ */
1432
+ export const AIDocumentConflictSchema: GenMessage<AIDocumentConflict> =
1433
+ /*@__PURE__*/
1434
+ messageDesc(file_api_manage_v1_ai, 44);
1435
+
1436
+ /**
1437
+ * @generated from message api.manage.v1.AIDocumentValidation
1438
+ */
1439
+ export type AIDocumentValidation =
1440
+ Message<"api.manage.v1.AIDocumentValidation"> & {
1441
+ /**
1442
+ * @generated from field: repeated api.manage.v1.AIDocumentOperation normalized_operations = 1;
1443
+ */
1444
+ normalizedOperations: AIDocumentOperation[];
1445
+
1446
+ /**
1447
+ * @generated from field: repeated api.manage.v1.AIDocumentIssue issues = 2;
1448
+ */
1449
+ issues: AIDocumentIssue[];
1450
+
1451
+ /**
1452
+ * @generated from field: optional api.manage.v1.AIDocumentConflict conflict = 3;
1453
+ */
1454
+ conflict?: AIDocumentConflict | undefined;
1455
+ };
1456
+
1457
+ /**
1458
+ * Describes the message api.manage.v1.AIDocumentValidation.
1459
+ * Use `create(AIDocumentValidationSchema)` to create a new message.
1460
+ */
1461
+ export const AIDocumentValidationSchema: GenMessage<AIDocumentValidation> =
1462
+ /*@__PURE__*/
1463
+ messageDesc(file_api_manage_v1_ai, 45);
1464
+
1465
+ /**
1466
+ * @generated from message api.manage.v1.AIDocumentAcceptedChange
1467
+ */
1468
+ export type AIDocumentAcceptedChange =
1469
+ Message<"api.manage.v1.AIDocumentAcceptedChange"> & {
1470
+ /**
1471
+ * @generated from field: uint32 operation_index = 1;
1472
+ */
1473
+ operationIndex: number;
1474
+
1475
+ /**
1476
+ * @generated from field: api.manage.v1.AIDocumentOperationKind kind = 2;
1477
+ */
1478
+ kind: AIDocumentOperationKind;
1479
+
1480
+ /**
1481
+ * Stable semantic handles actually changed by this operation, including
1482
+ * descendants or relation items affected by an owning-domain graph rule.
1483
+ *
1484
+ * @generated from field: repeated string affected_handles = 3;
1485
+ */
1486
+ affectedHandles: string[];
1487
+ };
1488
+
1489
+ /**
1490
+ * Describes the message api.manage.v1.AIDocumentAcceptedChange.
1491
+ * Use `create(AIDocumentAcceptedChangeSchema)` to create a new message.
1492
+ */
1493
+ export const AIDocumentAcceptedChangeSchema: GenMessage<AIDocumentAcceptedChange> =
1494
+ /*@__PURE__*/
1495
+ messageDesc(file_api_manage_v1_ai, 46);
1496
+
1497
+ /**
1498
+ * @generated from message api.manage.v1.AIDocumentAcceptedMutation
1499
+ */
1500
+ export type AIDocumentAcceptedMutation =
1501
+ Message<"api.manage.v1.AIDocumentAcceptedMutation"> & {
1502
+ /**
1503
+ * @generated from field: string document_revision = 1;
1504
+ */
1505
+ documentRevision: string;
1506
+
1507
+ /**
1508
+ * @generated from field: repeated api.manage.v1.AIDocumentAcceptedChange changes = 2;
1509
+ */
1510
+ changes: AIDocumentAcceptedChange[];
1511
+
1512
+ /**
1513
+ * New opaque target CAS after an accepted non-source create or value write.
1514
+ * Absent for source mutations and after accepted target deletion.
1515
+ *
1516
+ * @generated from field: optional string target_revision = 3;
1517
+ */
1518
+ targetRevision?: string | undefined;
1519
+ };
1520
+
1521
+ /**
1522
+ * Describes the message api.manage.v1.AIDocumentAcceptedMutation.
1523
+ * Use `create(AIDocumentAcceptedMutationSchema)` to create a new message.
1524
+ */
1525
+ export const AIDocumentAcceptedMutationSchema: GenMessage<AIDocumentAcceptedMutation> =
1526
+ /*@__PURE__*/
1527
+ messageDesc(file_api_manage_v1_ai, 47);
1528
+
1529
+ /**
1530
+ * @generated from message api.manage.v1.ApplyAIDocumentOperationsRequest
1531
+ */
1532
+ export type ApplyAIDocumentOperationsRequest =
1533
+ Message<"api.manage.v1.ApplyAIDocumentOperationsRequest"> & {
1534
+ /**
1535
+ * @generated from field: api.manage.v1.AIDocumentMutation mutation = 1;
1536
+ */
1537
+ mutation?: AIDocumentMutation | undefined;
1538
+ };
1539
+
1540
+ /**
1541
+ * Describes the message api.manage.v1.ApplyAIDocumentOperationsRequest.
1542
+ * Use `create(ApplyAIDocumentOperationsRequestSchema)` to create a new message.
1543
+ */
1544
+ export const ApplyAIDocumentOperationsRequestSchema: GenMessage<ApplyAIDocumentOperationsRequest> =
1545
+ /*@__PURE__*/
1546
+ messageDesc(file_api_manage_v1_ai, 48);
1547
+
1548
+ /**
1549
+ * @generated from message api.manage.v1.ApplyAIDocumentOperationsResponse
1550
+ */
1551
+ export type ApplyAIDocumentOperationsResponse =
1552
+ Message<"api.manage.v1.ApplyAIDocumentOperationsResponse"> & {
1553
+ /**
1554
+ * @generated from oneof api.manage.v1.ApplyAIDocumentOperationsResponse.result
1555
+ */
1556
+ result:
1557
+ | {
1558
+ /**
1559
+ * @generated from field: api.manage.v1.AIDocumentAcceptedMutation accepted = 1;
1560
+ */
1561
+ value: AIDocumentAcceptedMutation;
1562
+ case: "accepted";
1563
+ }
1564
+ | {
1565
+ /**
1566
+ * @generated from field: api.manage.v1.AIDocumentValidation rejected = 2;
1567
+ */
1568
+ value: AIDocumentValidation;
1569
+ case: "rejected";
1570
+ }
1571
+ | { case: undefined; value?: undefined };
1572
+ };
1573
+
1574
+ /**
1575
+ * Describes the message api.manage.v1.ApplyAIDocumentOperationsResponse.
1576
+ * Use `create(ApplyAIDocumentOperationsResponseSchema)` to create a new message.
1577
+ */
1578
+ export const ApplyAIDocumentOperationsResponseSchema: GenMessage<ApplyAIDocumentOperationsResponse> =
1579
+ /*@__PURE__*/
1580
+ messageDesc(file_api_manage_v1_ai, 49);
1581
+
1582
+ /**
1583
+ * @generated from message api.manage.v1.StartAIEditorTurnRequest
1584
+ */
1585
+ export type StartAIEditorTurnRequest =
1586
+ Message<"api.manage.v1.StartAIEditorTurnRequest"> & {
1587
+ /**
1588
+ * @generated from field: api.manage.v1.AIDocumentReference document = 1;
1589
+ */
1590
+ document?: AIDocumentReference | undefined;
1591
+
1592
+ /**
1593
+ * @generated from field: api.manage.v1.AIDocumentLocale locale = 2;
1594
+ */
1595
+ locale?: AIDocumentLocale | undefined;
1596
+
1597
+ /**
1598
+ * Exact shared/source document revision observed when the user issued this
1599
+ * command.
1600
+ *
1601
+ * @generated from field: string expected_document_revision = 3;
1602
+ */
1603
+ expectedDocumentRevision: string;
1604
+
1605
+ /**
1606
+ * Stable Block handles only. Empty means document-level context.
1607
+ *
1608
+ * @generated from field: repeated string block_handles = 4;
1609
+ */
1610
+ blockHandles: string[];
1611
+
1612
+ /**
1613
+ * Canonical first-party action code selected by the Web UI.
1614
+ *
1615
+ * @generated from field: string action = 5;
1616
+ */
1617
+ action: string;
1618
+
1619
+ /**
1620
+ * @generated from field: optional string prompt = 6;
1621
+ */
1622
+ prompt?: string | undefined;
1623
+
1624
+ /**
1625
+ * Exact target revision for an existing non-source locale; absent for source
1626
+ * and missing-target turns.
1627
+ *
1628
+ * @generated from field: optional string expected_target_revision = 7;
1629
+ */
1630
+ expectedTargetRevision?: string | undefined;
1631
+ };
1632
+
1633
+ /**
1634
+ * Describes the message api.manage.v1.StartAIEditorTurnRequest.
1635
+ * Use `create(StartAIEditorTurnRequestSchema)` to create a new message.
1636
+ */
1637
+ export const StartAIEditorTurnRequestSchema: GenMessage<StartAIEditorTurnRequest> =
1638
+ /*@__PURE__*/
1639
+ messageDesc(file_api_manage_v1_ai, 50);
1640
+
1641
+ /**
1642
+ * @generated from message api.manage.v1.AIEditorAssistantTextDelta
1643
+ */
1644
+ export type AIEditorAssistantTextDelta =
1645
+ Message<"api.manage.v1.AIEditorAssistantTextDelta"> & {
1646
+ /**
1647
+ * @generated from field: string text = 1;
1648
+ */
1649
+ text: string;
1650
+ };
1651
+
1652
+ /**
1653
+ * Describes the message api.manage.v1.AIEditorAssistantTextDelta.
1654
+ * Use `create(AIEditorAssistantTextDeltaSchema)` to create a new message.
1655
+ */
1656
+ export const AIEditorAssistantTextDeltaSchema: GenMessage<AIEditorAssistantTextDelta> =
1657
+ /*@__PURE__*/
1658
+ messageDesc(file_api_manage_v1_ai, 51);
1659
+
1660
+ /**
1661
+ * @generated from message api.manage.v1.AIEditorTurnPhaseUpdate
1662
+ */
1663
+ export type AIEditorTurnPhaseUpdate =
1664
+ Message<"api.manage.v1.AIEditorTurnPhaseUpdate"> & {
1665
+ /**
1666
+ * @generated from field: api.manage.v1.AIEditorTurnPhase phase = 1;
1667
+ */
1668
+ phase: AIEditorTurnPhase;
1669
+ };
1670
+
1671
+ /**
1672
+ * Describes the message api.manage.v1.AIEditorTurnPhaseUpdate.
1673
+ * Use `create(AIEditorTurnPhaseUpdateSchema)` to create a new message.
1674
+ */
1675
+ export const AIEditorTurnPhaseUpdateSchema: GenMessage<AIEditorTurnPhaseUpdate> =
1676
+ /*@__PURE__*/
1677
+ messageDesc(file_api_manage_v1_ai, 52);
1678
+
1679
+ /**
1680
+ * @generated from message api.manage.v1.AIEditorDocumentToolApprovalRequired
1681
+ */
1682
+ export type AIEditorDocumentToolApprovalRequired =
1683
+ Message<"api.manage.v1.AIEditorDocumentToolApprovalRequired"> & {
1684
+ /**
1685
+ * @generated from field: string tool_call_id = 1;
1686
+ */
1687
+ toolCallId: string;
1688
+
1689
+ /**
1690
+ * The server constructs this closed DCDP mutation. Provider output never
1691
+ * supplies document identity, locale, revision, or an editor-native patch.
1692
+ *
1693
+ * @generated from field: api.manage.v1.AIDocumentMutation mutation = 2;
1694
+ */
1695
+ mutation?: AIDocumentMutation | undefined;
1696
+
1697
+ /**
1698
+ * @generated from field: optional string summary = 3;
1699
+ */
1700
+ summary?: string | undefined;
1701
+ };
1702
+
1703
+ /**
1704
+ * Describes the message api.manage.v1.AIEditorDocumentToolApprovalRequired.
1705
+ * Use `create(AIEditorDocumentToolApprovalRequiredSchema)` to create a new message.
1706
+ */
1707
+ export const AIEditorDocumentToolApprovalRequiredSchema: GenMessage<AIEditorDocumentToolApprovalRequired> =
1708
+ /*@__PURE__*/
1709
+ messageDesc(file_api_manage_v1_ai, 53);
1710
+
1711
+ /**
1712
+ * @generated from message api.manage.v1.AIEditorDocumentToolResult
1713
+ */
1714
+ export type AIEditorDocumentToolResult =
1715
+ Message<"api.manage.v1.AIEditorDocumentToolResult"> & {
1716
+ /**
1717
+ * @generated from field: string tool_call_id = 1;
1718
+ */
1719
+ toolCallId: string;
1720
+
1721
+ /**
1722
+ * @generated from oneof api.manage.v1.AIEditorDocumentToolResult.result
1723
+ */
1724
+ result:
1725
+ | {
1726
+ /**
1727
+ * @generated from field: api.manage.v1.AIDocumentAcceptedMutation accepted = 2;
1728
+ */
1729
+ value: AIDocumentAcceptedMutation;
1730
+ case: "accepted";
1731
+ }
1732
+ | {
1733
+ /**
1734
+ * @generated from field: api.manage.v1.AIDocumentValidation rejected = 3;
1735
+ */
1736
+ value: AIDocumentValidation;
1737
+ case: "rejected";
1738
+ }
1739
+ | { case: undefined; value?: undefined };
1740
+ };
1741
+
1742
+ /**
1743
+ * Describes the message api.manage.v1.AIEditorDocumentToolResult.
1744
+ * Use `create(AIEditorDocumentToolResultSchema)` to create a new message.
1745
+ */
1746
+ export const AIEditorDocumentToolResultSchema: GenMessage<AIEditorDocumentToolResult> =
1747
+ /*@__PURE__*/
1748
+ messageDesc(file_api_manage_v1_ai, 54);
1749
+
1750
+ /**
1751
+ * @generated from message api.manage.v1.AIEditorTurnTerminalOutcome
1752
+ */
1753
+ export type AIEditorTurnTerminalOutcome =
1754
+ Message<"api.manage.v1.AIEditorTurnTerminalOutcome"> & {
1755
+ /**
1756
+ * @generated from field: api.manage.v1.AIEditorTurnTerminalStatus status = 1;
1757
+ */
1758
+ status: AIEditorTurnTerminalStatus;
1759
+
1760
+ /**
1761
+ * @generated from field: optional api.manage.v1.AIEditorTurnFailureCode failure_code = 2;
1762
+ */
1763
+ failureCode?: AIEditorTurnFailureCode | undefined;
1764
+ };
1765
+
1766
+ /**
1767
+ * Describes the message api.manage.v1.AIEditorTurnTerminalOutcome.
1768
+ * Use `create(AIEditorTurnTerminalOutcomeSchema)` to create a new message.
1769
+ */
1770
+ export const AIEditorTurnTerminalOutcomeSchema: GenMessage<AIEditorTurnTerminalOutcome> =
1771
+ /*@__PURE__*/
1772
+ messageDesc(file_api_manage_v1_ai, 55);
1773
+
1774
+ /**
1775
+ * @generated from message api.manage.v1.AIEditorTurnEvent
1776
+ */
1777
+ export type AIEditorTurnEvent = Message<"api.manage.v1.AIEditorTurnEvent"> & {
1778
+ /**
1779
+ * Server-generated transient identity repeated on every stream event.
1780
+ *
1781
+ * @generated from field: string turn_id = 1;
1782
+ */
1783
+ turnId: string;
1784
+
1785
+ /**
1786
+ * @generated from oneof api.manage.v1.AIEditorTurnEvent.event
1787
+ */
1788
+ event:
1789
+ | {
1790
+ /**
1791
+ * @generated from field: api.manage.v1.AIEditorAssistantTextDelta assistant_text = 2;
1792
+ */
1793
+ value: AIEditorAssistantTextDelta;
1794
+ case: "assistantText";
1795
+ }
1796
+ | {
1797
+ /**
1798
+ * @generated from field: api.manage.v1.AIEditorTurnPhaseUpdate phase = 3;
1799
+ */
1800
+ value: AIEditorTurnPhaseUpdate;
1801
+ case: "phase";
1802
+ }
1803
+ | {
1804
+ /**
1805
+ * @generated from field: api.manage.v1.AIEditorDocumentToolApprovalRequired approval_required = 4;
1806
+ */
1807
+ value: AIEditorDocumentToolApprovalRequired;
1808
+ case: "approvalRequired";
1809
+ }
1810
+ | {
1811
+ /**
1812
+ * @generated from field: api.manage.v1.AIEditorDocumentToolResult document_result = 5;
1813
+ */
1814
+ value: AIEditorDocumentToolResult;
1815
+ case: "documentResult";
1816
+ }
1817
+ | {
1818
+ /**
1819
+ * @generated from field: api.manage.v1.AIEditorTurnTerminalOutcome terminal = 6;
1820
+ */
1821
+ value: AIEditorTurnTerminalOutcome;
1822
+ case: "terminal";
1823
+ }
1824
+ | { case: undefined; value?: undefined };
1825
+ };
1826
+
1827
+ /**
1828
+ * Describes the message api.manage.v1.AIEditorTurnEvent.
1829
+ * Use `create(AIEditorTurnEventSchema)` to create a new message.
1830
+ */
1831
+ export const AIEditorTurnEventSchema: GenMessage<AIEditorTurnEvent> =
1832
+ /*@__PURE__*/
1833
+ messageDesc(file_api_manage_v1_ai, 56);
1834
+
1835
+ /**
1836
+ * @generated from message api.manage.v1.ResolveAIEditorToolCallRequest
1837
+ */
1838
+ export type ResolveAIEditorToolCallRequest =
1839
+ Message<"api.manage.v1.ResolveAIEditorToolCallRequest"> & {
1840
+ /**
1841
+ * @generated from field: string turn_id = 1;
1842
+ */
1843
+ turnId: string;
1844
+
1845
+ /**
1846
+ * @generated from field: string tool_call_id = 2;
1847
+ */
1848
+ toolCallId: string;
1849
+
1850
+ /**
1851
+ * @generated from field: api.manage.v1.AIEditorToolCallDecision decision = 3;
1852
+ */
1853
+ decision: AIEditorToolCallDecision;
1854
+ };
1855
+
1856
+ /**
1857
+ * Describes the message api.manage.v1.ResolveAIEditorToolCallRequest.
1858
+ * Use `create(ResolveAIEditorToolCallRequestSchema)` to create a new message.
1859
+ */
1860
+ export const ResolveAIEditorToolCallRequestSchema: GenMessage<ResolveAIEditorToolCallRequest> =
1861
+ /*@__PURE__*/
1862
+ messageDesc(file_api_manage_v1_ai, 57);
1863
+
1864
+ /**
1865
+ * @generated from message api.manage.v1.ResolveAIEditorToolCallResponse
1866
+ */
1867
+ export type ResolveAIEditorToolCallResponse =
1868
+ Message<"api.manage.v1.ResolveAIEditorToolCallResponse"> & {};
1869
+
1870
+ /**
1871
+ * Describes the message api.manage.v1.ResolveAIEditorToolCallResponse.
1872
+ * Use `create(ResolveAIEditorToolCallResponseSchema)` to create a new message.
1873
+ */
1874
+ export const ResolveAIEditorToolCallResponseSchema: GenMessage<ResolveAIEditorToolCallResponse> =
1875
+ /*@__PURE__*/
1876
+ messageDesc(file_api_manage_v1_ai, 58);
1877
+
1878
+ /**
1879
+ * @generated from message api.manage.v1.CancelAIEditorTurnRequest
1880
+ */
1881
+ export type CancelAIEditorTurnRequest =
1882
+ Message<"api.manage.v1.CancelAIEditorTurnRequest"> & {
1883
+ /**
1884
+ * @generated from field: string turn_id = 1;
1885
+ */
1886
+ turnId: string;
1887
+ };
1888
+
1889
+ /**
1890
+ * Describes the message api.manage.v1.CancelAIEditorTurnRequest.
1891
+ * Use `create(CancelAIEditorTurnRequestSchema)` to create a new message.
1892
+ */
1893
+ export const CancelAIEditorTurnRequestSchema: GenMessage<CancelAIEditorTurnRequest> =
1894
+ /*@__PURE__*/
1895
+ messageDesc(file_api_manage_v1_ai, 59);
1896
+
1897
+ /**
1898
+ * @generated from message api.manage.v1.CancelAIEditorTurnResponse
1899
+ */
1900
+ export type CancelAIEditorTurnResponse =
1901
+ Message<"api.manage.v1.CancelAIEditorTurnResponse"> & {};
1902
+
1903
+ /**
1904
+ * Describes the message api.manage.v1.CancelAIEditorTurnResponse.
1905
+ * Use `create(CancelAIEditorTurnResponseSchema)` to create a new message.
1906
+ */
1907
+ export const CancelAIEditorTurnResponseSchema: GenMessage<CancelAIEditorTurnResponse> =
1908
+ /*@__PURE__*/
1909
+ messageDesc(file_api_manage_v1_ai, 60);
1910
+
1911
+ /**
1912
+ * @generated from enum api.manage.v1.AIResourceType
1913
+ */
1914
+ export enum AIResourceType {
1915
+ /**
1916
+ * @generated from enum value: AI_RESOURCE_TYPE_UNSPECIFIED = 0;
1917
+ */
1918
+ AI_RESOURCE_TYPE_UNSPECIFIED = 0,
1919
+
1920
+ /**
1921
+ * @generated from enum value: AI_RESOURCE_TYPE_POST = 1;
1922
+ */
1923
+ AI_RESOURCE_TYPE_POST = 1,
1924
+
1925
+ /**
1926
+ * @generated from enum value: AI_RESOURCE_TYPE_WORK = 2;
1927
+ */
1928
+ AI_RESOURCE_TYPE_WORK = 2,
1929
+
1930
+ /**
1931
+ * @generated from enum value: AI_RESOURCE_TYPE_PAGE = 3;
1932
+ */
1933
+ AI_RESOURCE_TYPE_PAGE = 3,
1934
+
1935
+ /**
1936
+ * @generated from enum value: AI_RESOURCE_TYPE_FORM = 4;
1937
+ */
1938
+ AI_RESOURCE_TYPE_FORM = 4,
1939
+
1940
+ /**
1941
+ * @generated from enum value: AI_RESOURCE_TYPE_ARTIST = 5;
1942
+ */
1943
+ AI_RESOURCE_TYPE_ARTIST = 5,
1944
+
1945
+ /**
1946
+ * @generated from enum value: AI_RESOURCE_TYPE_RELEASE = 6;
1947
+ */
1948
+ AI_RESOURCE_TYPE_RELEASE = 6,
1949
+
1950
+ /**
1951
+ * @generated from enum value: AI_RESOURCE_TYPE_LABEL = 7;
1952
+ */
1953
+ AI_RESOURCE_TYPE_LABEL = 7,
1954
+
1955
+ /**
1956
+ * @generated from enum value: AI_RESOURCE_TYPE_CAMPAIGN = 8;
1957
+ */
1958
+ AI_RESOURCE_TYPE_CAMPAIGN = 8,
1959
+
1960
+ /**
1961
+ * @generated from enum value: AI_RESOURCE_TYPE_EMAIL_TEMPLATE = 9;
1962
+ */
1963
+ AI_RESOURCE_TYPE_EMAIL_TEMPLATE = 9,
1964
+ }
1965
+
1966
+ /**
1967
+ * Describes the enum api.manage.v1.AIResourceType.
1968
+ */
1969
+ export const AIResourceTypeSchema: GenEnum<AIResourceType> =
1970
+ /*@__PURE__*/
1971
+ enumDesc(file_api_manage_v1_ai, 0);
1972
+
1973
+ /**
1974
+ * @generated from enum api.manage.v1.MetadataGenerationJobStatus
1975
+ */
1976
+ export enum MetadataGenerationJobStatus {
1977
+ /**
1978
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_UNSPECIFIED = 0;
1979
+ */
1980
+ UNSPECIFIED = 0,
1981
+
1982
+ /**
1983
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_QUEUED = 1;
1984
+ */
1985
+ QUEUED = 1,
1986
+
1987
+ /**
1988
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_RUNNING = 2;
1989
+ */
1990
+ RUNNING = 2,
1991
+
1992
+ /**
1993
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_READY = 3;
1994
+ */
1995
+ READY = 3,
1996
+
1997
+ /**
1998
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_FAILED = 4;
1999
+ */
2000
+ FAILED = 4,
2001
+
2002
+ /**
2003
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_APPLIED = 5;
2004
+ */
2005
+ APPLIED = 5,
2006
+
2007
+ /**
2008
+ * @generated from enum value: METADATA_GENERATION_JOB_STATUS_DISMISSED = 6;
2009
+ */
2010
+ DISMISSED = 6,
2011
+ }
2012
+
2013
+ /**
2014
+ * Describes the enum api.manage.v1.MetadataGenerationJobStatus.
2015
+ */
2016
+ export const MetadataGenerationJobStatusSchema: GenEnum<MetadataGenerationJobStatus> =
2017
+ /*@__PURE__*/
2018
+ enumDesc(file_api_manage_v1_ai, 1);
2019
+
2020
+ /**
2021
+ * @generated from enum api.manage.v1.MetadataGenerationJobResolution
2022
+ */
2023
+ export enum MetadataGenerationJobResolution {
2024
+ /**
2025
+ * @generated from enum value: METADATA_GENERATION_JOB_RESOLUTION_UNSPECIFIED = 0;
2026
+ */
2027
+ UNSPECIFIED = 0,
2028
+
2029
+ /**
2030
+ * @generated from enum value: METADATA_GENERATION_JOB_RESOLUTION_APPLIED = 1;
2031
+ */
2032
+ APPLIED = 1,
2033
+
2034
+ /**
2035
+ * @generated from enum value: METADATA_GENERATION_JOB_RESOLUTION_DISMISSED = 2;
2036
+ */
2037
+ DISMISSED = 2,
2038
+ }
2039
+
2040
+ /**
2041
+ * Describes the enum api.manage.v1.MetadataGenerationJobResolution.
2042
+ */
2043
+ export const MetadataGenerationJobResolutionSchema: GenEnum<MetadataGenerationJobResolution> =
2044
+ /*@__PURE__*/
2045
+ enumDesc(file_api_manage_v1_ai, 2);
2046
+
2047
+ /**
2048
+ * DCDP/1 is the provider-neutral authenticated document protocol. It exposes
2049
+ * stable semantic handles only; editor-native documents, numeric positions,
2050
+ * generic patch paths, binary payloads, and translation artifacts are outside
2051
+ * this contract.
2052
+ *
2053
+ * @generated from enum api.manage.v1.AIDocumentDomain
2054
+ */
2055
+ export enum AIDocumentDomain {
2056
+ /**
2057
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_UNSPECIFIED = 0;
2058
+ */
2059
+ AI_DOCUMENT_DOMAIN_UNSPECIFIED = 0,
2060
+
2061
+ /**
2062
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_POST = 1;
2063
+ */
2064
+ AI_DOCUMENT_DOMAIN_POST = 1,
2065
+
2066
+ /**
2067
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_PAGE = 2;
2068
+ */
2069
+ AI_DOCUMENT_DOMAIN_PAGE = 2,
2070
+
2071
+ /**
2072
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_WORK = 3;
2073
+ */
2074
+ AI_DOCUMENT_DOMAIN_WORK = 3,
2075
+
2076
+ /**
2077
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_PROGRAM_EVENT = 4;
2078
+ */
2079
+ AI_DOCUMENT_DOMAIN_PROGRAM_EVENT = 4,
2080
+
2081
+ /**
2082
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_RELEASE = 5;
2083
+ */
2084
+ AI_DOCUMENT_DOMAIN_RELEASE = 5,
2085
+
2086
+ /**
2087
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_ARTIST = 6;
2088
+ */
2089
+ AI_DOCUMENT_DOMAIN_ARTIST = 6,
2090
+
2091
+ /**
2092
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_LABEL = 7;
2093
+ */
2094
+ AI_DOCUMENT_DOMAIN_LABEL = 7,
2095
+
2096
+ /**
2097
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_MENU = 8;
2098
+ */
2099
+ AI_DOCUMENT_DOMAIN_MENU = 8,
2100
+
2101
+ /**
2102
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_EMAIL_TEMPLATE = 9;
2103
+ */
2104
+ AI_DOCUMENT_DOMAIN_EMAIL_TEMPLATE = 9,
2105
+
2106
+ /**
2107
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_EMAIL_LAYOUT = 10;
2108
+ */
2109
+ AI_DOCUMENT_DOMAIN_EMAIL_LAYOUT = 10,
2110
+
2111
+ /**
2112
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_CAMPAIGN = 11;
2113
+ */
2114
+ AI_DOCUMENT_DOMAIN_CAMPAIGN = 11,
2115
+
2116
+ /**
2117
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_FORM = 12;
2118
+ */
2119
+ AI_DOCUMENT_DOMAIN_FORM = 12,
2120
+
2121
+ /**
2122
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_PRIVACY = 13;
2123
+ */
2124
+ AI_DOCUMENT_DOMAIN_PRIVACY = 13,
2125
+
2126
+ /**
2127
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_TERMS = 14;
2128
+ */
2129
+ AI_DOCUMENT_DOMAIN_TERMS = 14,
2130
+
2131
+ /**
2132
+ * @generated from enum value: AI_DOCUMENT_DOMAIN_POST_SERIES = 15;
2133
+ */
2134
+ AI_DOCUMENT_DOMAIN_POST_SERIES = 15,
2135
+ }
2136
+
2137
+ /**
2138
+ * Describes the enum api.manage.v1.AIDocumentDomain.
2139
+ */
2140
+ export const AIDocumentDomainSchema: GenEnum<AIDocumentDomain> =
2141
+ /*@__PURE__*/
2142
+ enumDesc(file_api_manage_v1_ai, 3);
2143
+
2144
+ /**
2145
+ * @generated from enum api.manage.v1.AIDocumentLocaleRole
2146
+ */
2147
+ export enum AIDocumentLocaleRole {
2148
+ /**
2149
+ * @generated from enum value: AI_DOCUMENT_LOCALE_ROLE_UNSPECIFIED = 0;
2150
+ */
2151
+ AI_DOCUMENT_LOCALE_ROLE_UNSPECIFIED = 0,
2152
+
2153
+ /**
2154
+ * @generated from enum value: AI_DOCUMENT_LOCALE_ROLE_SOURCE = 1;
2155
+ */
2156
+ AI_DOCUMENT_LOCALE_ROLE_SOURCE = 1,
2157
+
2158
+ /**
2159
+ * @generated from enum value: AI_DOCUMENT_LOCALE_ROLE_NON_SOURCE = 2;
2160
+ */
2161
+ AI_DOCUMENT_LOCALE_ROLE_NON_SOURCE = 2,
2162
+ }
2163
+
2164
+ /**
2165
+ * Describes the enum api.manage.v1.AIDocumentLocaleRole.
2166
+ */
2167
+ export const AIDocumentLocaleRoleSchema: GenEnum<AIDocumentLocaleRole> =
2168
+ /*@__PURE__*/
2169
+ enumDesc(file_api_manage_v1_ai, 4);
2170
+
2171
+ /**
2172
+ * @generated from enum api.manage.v1.AIDocumentOperationKind
2173
+ */
2174
+ export enum AIDocumentOperationKind {
2175
+ /**
2176
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_UNSPECIFIED = 0;
2177
+ */
2178
+ AI_DOCUMENT_OPERATION_KIND_UNSPECIFIED = 0,
2179
+
2180
+ /**
2181
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_SET_FIELD = 1;
2182
+ */
2183
+ AI_DOCUMENT_OPERATION_KIND_SET_FIELD = 1,
2184
+
2185
+ /**
2186
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_UNSET_FIELD = 2;
2187
+ */
2188
+ AI_DOCUMENT_OPERATION_KIND_UNSET_FIELD = 2,
2189
+
2190
+ /**
2191
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_INSERT_BLOCK = 3;
2192
+ */
2193
+ AI_DOCUMENT_OPERATION_KIND_INSERT_BLOCK = 3,
2194
+
2195
+ /**
2196
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_DELETE_BLOCK = 4;
2197
+ */
2198
+ AI_DOCUMENT_OPERATION_KIND_DELETE_BLOCK = 4,
2199
+
2200
+ /**
2201
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_MOVE_BLOCK = 5;
2202
+ */
2203
+ AI_DOCUMENT_OPERATION_KIND_MOVE_BLOCK = 5,
2204
+
2205
+ /**
2206
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_REPLACE_BLOCK_KIND = 6;
2207
+ */
2208
+ AI_DOCUMENT_OPERATION_KIND_REPLACE_BLOCK_KIND = 6,
2209
+
2210
+ /**
2211
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_ATTACH_FILE = 7;
2212
+ */
2213
+ AI_DOCUMENT_OPERATION_KIND_ATTACH_FILE = 7,
2214
+
2215
+ /**
2216
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_DETACH_FILE = 8;
2217
+ */
2218
+ AI_DOCUMENT_OPERATION_KIND_DETACH_FILE = 8,
2219
+
2220
+ /**
2221
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_CREATE_TRANSLATION = 9;
2222
+ */
2223
+ AI_DOCUMENT_OPERATION_KIND_CREATE_TRANSLATION = 9,
2224
+
2225
+ /**
2226
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_DELETE_TRANSLATION = 10;
2227
+ */
2228
+ AI_DOCUMENT_OPERATION_KIND_DELETE_TRANSLATION = 10,
2229
+
2230
+ /**
2231
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_INSERT_RELATION_ITEM = 11;
2232
+ */
2233
+ AI_DOCUMENT_OPERATION_KIND_INSERT_RELATION_ITEM = 11,
2234
+
2235
+ /**
2236
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_DELETE_RELATION_ITEM = 12;
2237
+ */
2238
+ AI_DOCUMENT_OPERATION_KIND_DELETE_RELATION_ITEM = 12,
2239
+
2240
+ /**
2241
+ * @generated from enum value: AI_DOCUMENT_OPERATION_KIND_MOVE_RELATION_ITEM = 13;
2242
+ */
2243
+ AI_DOCUMENT_OPERATION_KIND_MOVE_RELATION_ITEM = 13,
2244
+ }
2245
+
2246
+ /**
2247
+ * Describes the enum api.manage.v1.AIDocumentOperationKind.
2248
+ */
2249
+ export const AIDocumentOperationKindSchema: GenEnum<AIDocumentOperationKind> =
2250
+ /*@__PURE__*/
2251
+ enumDesc(file_api_manage_v1_ai, 5);
2252
+
2253
+ /**
2254
+ * @generated from enum api.manage.v1.AIDocumentIssueCode
2255
+ */
2256
+ export enum AIDocumentIssueCode {
2257
+ /**
2258
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_UNSPECIFIED = 0;
2259
+ */
2260
+ AI_DOCUMENT_ISSUE_CODE_UNSPECIFIED = 0,
2261
+
2262
+ /**
2263
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_INVALID_OPERATION = 1;
2264
+ */
2265
+ AI_DOCUMENT_ISSUE_CODE_INVALID_OPERATION = 1,
2266
+
2267
+ /**
2268
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_UNKNOWN_BLOCK = 2;
2269
+ */
2270
+ AI_DOCUMENT_ISSUE_CODE_UNKNOWN_BLOCK = 2,
2271
+
2272
+ /**
2273
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_DUPLICATE_BLOCK = 3;
2274
+ */
2275
+ AI_DOCUMENT_ISSUE_CODE_DUPLICATE_BLOCK = 3,
2276
+
2277
+ /**
2278
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_UNKNOWN_BLOCK_KIND = 4;
2279
+ */
2280
+ AI_DOCUMENT_ISSUE_CODE_UNKNOWN_BLOCK_KIND = 4,
2281
+
2282
+ /**
2283
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_UNKNOWN_FIELD = 5;
2284
+ */
2285
+ AI_DOCUMENT_ISSUE_CODE_UNKNOWN_FIELD = 5,
2286
+
2287
+ /**
2288
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_VALUE_KIND_MISMATCH = 6;
2289
+ */
2290
+ AI_DOCUMENT_ISSUE_CODE_VALUE_KIND_MISMATCH = 6,
2291
+
2292
+ /**
2293
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_SOURCE_AUTHORITY_REQUIRED = 7;
2294
+ */
2295
+ AI_DOCUMENT_ISSUE_CODE_SOURCE_AUTHORITY_REQUIRED = 7,
2296
+
2297
+ /**
2298
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_TARGET_FIELD_FORBIDDEN = 8;
2299
+ */
2300
+ AI_DOCUMENT_ISSUE_CODE_TARGET_FIELD_FORBIDDEN = 8,
2301
+
2302
+ /**
2303
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_INVALID_BLOCK_RELATION = 9;
2304
+ */
2305
+ AI_DOCUMENT_ISSUE_CODE_INVALID_BLOCK_RELATION = 9,
2306
+
2307
+ /**
2308
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_BLOCK_CYCLE = 10;
2309
+ */
2310
+ AI_DOCUMENT_ISSUE_CODE_BLOCK_CYCLE = 10,
2311
+
2312
+ /**
2313
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_INVALID_FILE_REFERENCE = 11;
2314
+ */
2315
+ AI_DOCUMENT_ISSUE_CODE_INVALID_FILE_REFERENCE = 11,
2316
+
2317
+ /**
2318
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_TRANSLATION_IS_SOURCE = 12;
2319
+ */
2320
+ AI_DOCUMENT_ISSUE_CODE_TRANSLATION_IS_SOURCE = 12,
2321
+
2322
+ /**
2323
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_TRANSLATION_ALREADY_EXISTS = 13;
2324
+ */
2325
+ AI_DOCUMENT_ISSUE_CODE_TRANSLATION_ALREADY_EXISTS = 13,
2326
+
2327
+ /**
2328
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_TRANSLATION_MISSING = 14;
2329
+ */
2330
+ AI_DOCUMENT_ISSUE_CODE_TRANSLATION_MISSING = 14,
2331
+
2332
+ /**
2333
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_LOCALE_OPERATION_NOT_EXCLUSIVE = 15;
2334
+ */
2335
+ AI_DOCUMENT_ISSUE_CODE_LOCALE_OPERATION_NOT_EXCLUSIVE = 15,
2336
+
2337
+ /**
2338
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_UNKNOWN_RELATION = 16;
2339
+ */
2340
+ AI_DOCUMENT_ISSUE_CODE_UNKNOWN_RELATION = 16,
2341
+
2342
+ /**
2343
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_UNKNOWN_RELATION_ITEM = 17;
2344
+ */
2345
+ AI_DOCUMENT_ISSUE_CODE_UNKNOWN_RELATION_ITEM = 17,
2346
+
2347
+ /**
2348
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_DUPLICATE_RELATION_ITEM = 18;
2349
+ */
2350
+ AI_DOCUMENT_ISSUE_CODE_DUPLICATE_RELATION_ITEM = 18,
2351
+
2352
+ /**
2353
+ * @generated from enum value: AI_DOCUMENT_ISSUE_CODE_INVALID_RELATION_ITEM_MOVE = 19;
2354
+ */
2355
+ AI_DOCUMENT_ISSUE_CODE_INVALID_RELATION_ITEM_MOVE = 19,
2356
+ }
2357
+
2358
+ /**
2359
+ * Describes the enum api.manage.v1.AIDocumentIssueCode.
2360
+ */
2361
+ export const AIDocumentIssueCodeSchema: GenEnum<AIDocumentIssueCode> =
2362
+ /*@__PURE__*/
2363
+ enumDesc(file_api_manage_v1_ai, 6);
2364
+
2365
+ /**
2366
+ * @generated from enum api.manage.v1.AIDocumentConflictCode
2367
+ */
2368
+ export enum AIDocumentConflictCode {
2369
+ /**
2370
+ * @generated from enum value: AI_DOCUMENT_CONFLICT_CODE_UNSPECIFIED = 0;
2371
+ */
2372
+ AI_DOCUMENT_CONFLICT_CODE_UNSPECIFIED = 0,
2373
+
2374
+ /**
2375
+ * @generated from enum value: AI_DOCUMENT_CONFLICT_CODE_DOCUMENT_REVISION = 1;
2376
+ */
2377
+ AI_DOCUMENT_CONFLICT_CODE_DOCUMENT_REVISION = 1,
2378
+
2379
+ /**
2380
+ * @generated from enum value: AI_DOCUMENT_CONFLICT_CODE_TARGET_REVISION = 2;
2381
+ */
2382
+ AI_DOCUMENT_CONFLICT_CODE_TARGET_REVISION = 2,
2383
+ }
2384
+
2385
+ /**
2386
+ * Describes the enum api.manage.v1.AIDocumentConflictCode.
2387
+ */
2388
+ export const AIDocumentConflictCodeSchema: GenEnum<AIDocumentConflictCode> =
2389
+ /*@__PURE__*/
2390
+ enumDesc(file_api_manage_v1_ai, 7);
2391
+
2392
+ /**
2393
+ * AI Editor orchestration is a first-party Browser Session surface. It is not
2394
+ * Remote MCP, never accepts a PAT, and keeps provider credentials, prompt
2395
+ * assembly, model calls, retry policy, and the tool loop on the server. A turn
2396
+ * is transient; this contract creates no durable conversation or suggestion.
2397
+ *
2398
+ * @generated from enum api.manage.v1.AIEditorTurnPhase
2399
+ */
2400
+ export enum AIEditorTurnPhase {
2401
+ /**
2402
+ * @generated from enum value: AI_EDITOR_TURN_PHASE_UNSPECIFIED = 0;
2403
+ */
2404
+ AI_EDITOR_TURN_PHASE_UNSPECIFIED = 0,
2405
+
2406
+ /**
2407
+ * @generated from enum value: AI_EDITOR_TURN_PHASE_PROVIDER_RUNNING = 1;
2408
+ */
2409
+ AI_EDITOR_TURN_PHASE_PROVIDER_RUNNING = 1,
2410
+
2411
+ /**
2412
+ * @generated from enum value: AI_EDITOR_TURN_PHASE_AWAITING_TOOL_APPROVAL = 2;
2413
+ */
2414
+ AI_EDITOR_TURN_PHASE_AWAITING_TOOL_APPROVAL = 2,
2415
+
2416
+ /**
2417
+ * @generated from enum value: AI_EDITOR_TURN_PHASE_APPLYING_DOCUMENT = 3;
2418
+ */
2419
+ AI_EDITOR_TURN_PHASE_APPLYING_DOCUMENT = 3,
2420
+ }
2421
+
2422
+ /**
2423
+ * Describes the enum api.manage.v1.AIEditorTurnPhase.
2424
+ */
2425
+ export const AIEditorTurnPhaseSchema: GenEnum<AIEditorTurnPhase> =
2426
+ /*@__PURE__*/
2427
+ enumDesc(file_api_manage_v1_ai, 8);
2428
+
2429
+ /**
2430
+ * @generated from enum api.manage.v1.AIEditorToolCallDecision
2431
+ */
2432
+ export enum AIEditorToolCallDecision {
2433
+ /**
2434
+ * @generated from enum value: AI_EDITOR_TOOL_CALL_DECISION_UNSPECIFIED = 0;
2435
+ */
2436
+ AI_EDITOR_TOOL_CALL_DECISION_UNSPECIFIED = 0,
2437
+
2438
+ /**
2439
+ * @generated from enum value: AI_EDITOR_TOOL_CALL_DECISION_APPROVE = 1;
2440
+ */
2441
+ AI_EDITOR_TOOL_CALL_DECISION_APPROVE = 1,
2442
+
2443
+ /**
2444
+ * @generated from enum value: AI_EDITOR_TOOL_CALL_DECISION_DENY = 2;
2445
+ */
2446
+ AI_EDITOR_TOOL_CALL_DECISION_DENY = 2,
2447
+ }
2448
+
2449
+ /**
2450
+ * Describes the enum api.manage.v1.AIEditorToolCallDecision.
2451
+ */
2452
+ export const AIEditorToolCallDecisionSchema: GenEnum<AIEditorToolCallDecision> =
2453
+ /*@__PURE__*/
2454
+ enumDesc(file_api_manage_v1_ai, 9);
2455
+
2456
+ /**
2457
+ * @generated from enum api.manage.v1.AIEditorTurnTerminalStatus
2458
+ */
2459
+ export enum AIEditorTurnTerminalStatus {
2460
+ /**
2461
+ * @generated from enum value: AI_EDITOR_TURN_TERMINAL_STATUS_UNSPECIFIED = 0;
2462
+ */
2463
+ AI_EDITOR_TURN_TERMINAL_STATUS_UNSPECIFIED = 0,
2464
+
2465
+ /**
2466
+ * @generated from enum value: AI_EDITOR_TURN_TERMINAL_STATUS_COMPLETED = 1;
2467
+ */
2468
+ AI_EDITOR_TURN_TERMINAL_STATUS_COMPLETED = 1,
2469
+
2470
+ /**
2471
+ * @generated from enum value: AI_EDITOR_TURN_TERMINAL_STATUS_CANCELLED = 2;
2472
+ */
2473
+ AI_EDITOR_TURN_TERMINAL_STATUS_CANCELLED = 2,
2474
+
2475
+ /**
2476
+ * @generated from enum value: AI_EDITOR_TURN_TERMINAL_STATUS_FAILED = 3;
2477
+ */
2478
+ AI_EDITOR_TURN_TERMINAL_STATUS_FAILED = 3,
2479
+ }
2480
+
2481
+ /**
2482
+ * Describes the enum api.manage.v1.AIEditorTurnTerminalStatus.
2483
+ */
2484
+ export const AIEditorTurnTerminalStatusSchema: GenEnum<AIEditorTurnTerminalStatus> =
2485
+ /*@__PURE__*/
2486
+ enumDesc(file_api_manage_v1_ai, 10);
2487
+
2488
+ /**
2489
+ * @generated from enum api.manage.v1.AIEditorTurnFailureCode
2490
+ */
2491
+ export enum AIEditorTurnFailureCode {
2492
+ /**
2493
+ * @generated from enum value: AI_EDITOR_TURN_FAILURE_CODE_UNSPECIFIED = 0;
2494
+ */
2495
+ AI_EDITOR_TURN_FAILURE_CODE_UNSPECIFIED = 0,
2496
+
2497
+ /**
2498
+ * @generated from enum value: AI_EDITOR_TURN_FAILURE_CODE_PROVIDER = 1;
2499
+ */
2500
+ AI_EDITOR_TURN_FAILURE_CODE_PROVIDER = 1,
2501
+
2502
+ /**
2503
+ * @generated from enum value: AI_EDITOR_TURN_FAILURE_CODE_DOCUMENT = 2;
2504
+ */
2505
+ AI_EDITOR_TURN_FAILURE_CODE_DOCUMENT = 2,
2506
+
2507
+ /**
2508
+ * @generated from enum value: AI_EDITOR_TURN_FAILURE_CODE_INTERNAL = 3;
2509
+ */
2510
+ AI_EDITOR_TURN_FAILURE_CODE_INTERNAL = 3,
2511
+ }
2512
+
2513
+ /**
2514
+ * Describes the enum api.manage.v1.AIEditorTurnFailureCode.
2515
+ */
2516
+ export const AIEditorTurnFailureCodeSchema: GenEnum<AIEditorTurnFailureCode> =
2517
+ /*@__PURE__*/
2518
+ enumDesc(file_api_manage_v1_ai, 11);
2519
+
2520
+ /**
2521
+ * @generated from service api.manage.v1.AIDocumentService
2522
+ */
2523
+ export const AIDocumentService: GenService<{
2524
+ /**
2525
+ * Open derives source/non-source role and locale resource presence from the
2526
+ * current aggregate; neither is a stored lifecycle state.
2527
+ *
2528
+ * @generated from rpc api.manage.v1.AIDocumentService.OpenAIDocument
2529
+ */
2530
+ openAIDocument: {
2531
+ methodKind: "unary";
2532
+ input: typeof OpenAIDocumentRequestSchema;
2533
+ output: typeof OpenAIDocumentResponseSchema;
2534
+ };
2535
+ /**
2536
+ * Source-locale operations may change graph, relations, shared fields, and
2537
+ * File relations. Non-source operations may set locale-owned translatable
2538
+ * values and create/delete that locale resource only. Every accepted batch
2539
+ * is one owning-domain document-revision plus, when applicable,
2540
+ * target-revision CAS transaction. When the requested non-source locale is
2541
+ * absent, its first field set implicitly creates it by server-side seeding
2542
+ * every current source locale-owned stable unit, then applies the submitted
2543
+ * operations in that same transaction. A client never submits seed values.
2544
+ *
2545
+ * @generated from rpc api.manage.v1.AIDocumentService.ApplyAIDocumentOperations
2546
+ */
2547
+ applyAIDocumentOperations: {
2548
+ methodKind: "unary";
2549
+ input: typeof ApplyAIDocumentOperationsRequestSchema;
2550
+ output: typeof ApplyAIDocumentOperationsResponseSchema;
2551
+ };
2552
+ }> = /*@__PURE__*/ serviceDesc(file_api_manage_v1_ai, 0);
2553
+
2554
+ /**
2555
+ * @generated from service api.manage.v1.AIEditorOrchestrationService
2556
+ */
2557
+ export const AIEditorOrchestrationService: GenService<{
2558
+ /**
2559
+ * Streams one transient first-party turn. Read tools stay inside the
2560
+ * server-configured provider loop. The only write tool is the exact DCDP
2561
+ * mutation emitted as approval_required below.
2562
+ *
2563
+ * @generated from rpc api.manage.v1.AIEditorOrchestrationService.StartAIEditorTurn
2564
+ */
2565
+ startAIEditorTurn: {
2566
+ methodKind: "server_streaming";
2567
+ input: typeof StartAIEditorTurnRequestSchema;
2568
+ output: typeof AIEditorTurnEventSchema;
2569
+ };
2570
+ /**
2571
+ * APPROVE applies the emitted mutation once through AIDocumentService's
2572
+ * owning-domain authorization and revision CAS. One accepted batch is one
2573
+ * collaboration origin and one session-local undo boundary. DENY performs no
2574
+ * document mutation; both decisions resume the same transient provider loop.
2575
+ *
2576
+ * @generated from rpc api.manage.v1.AIEditorOrchestrationService.ResolveAIEditorToolCall
2577
+ */
2578
+ resolveAIEditorToolCall: {
2579
+ methodKind: "unary";
2580
+ input: typeof ResolveAIEditorToolCallRequestSchema;
2581
+ output: typeof ResolveAIEditorToolCallResponseSchema;
2582
+ };
2583
+ /**
2584
+ * @generated from rpc api.manage.v1.AIEditorOrchestrationService.CancelAIEditorTurn
2585
+ */
2586
+ cancelAIEditorTurn: {
2587
+ methodKind: "unary";
2588
+ input: typeof CancelAIEditorTurnRequestSchema;
2589
+ output: typeof CancelAIEditorTurnResponseSchema;
2590
+ };
2591
+ }> = /*@__PURE__*/ serviceDesc(file_api_manage_v1_ai, 1);
2592
+
2593
+ /**
2594
+ * @generated from service api.manage.v1.AIService
2595
+ */
2596
+ export const AIService: GenService<{
2597
+ /**
2598
+ * @generated from rpc api.manage.v1.AIService.StartMetadataGeneration
2599
+ */
2600
+ startMetadataGeneration: {
2601
+ methodKind: "unary";
2602
+ input: typeof StartMetadataGenerationRequestSchema;
2603
+ output: typeof StartMetadataGenerationResponseSchema;
2604
+ };
2605
+ /**
2606
+ * @generated from rpc api.manage.v1.AIService.GetMetadataGenerationJob
2607
+ */
2608
+ getMetadataGenerationJob: {
2609
+ methodKind: "unary";
2610
+ input: typeof GetMetadataGenerationJobRequestSchema;
2611
+ output: typeof GetMetadataGenerationJobResponseSchema;
2612
+ };
2613
+ /**
2614
+ * @generated from rpc api.manage.v1.AIService.ResolveMetadataGenerationJob
2615
+ */
2616
+ resolveMetadataGenerationJob: {
2617
+ methodKind: "unary";
2618
+ input: typeof ResolveMetadataGenerationJobRequestSchema;
2619
+ output: typeof ResolveMetadataGenerationJobResponseSchema;
2620
+ };
2621
+ }> = /*@__PURE__*/ serviceDesc(file_api_manage_v1_ai, 2);