@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001

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 (543) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +148 -37
  3. package/dist/api-key-presets.d.ts +19 -0
  4. package/dist/app-action-catalog-types.d.ts +32 -0
  5. package/dist/app-action-catalog.gen.d.ts +2 -0
  6. package/dist/app-actions.d.ts +91 -0
  7. package/dist/app-actions.js +10130 -0
  8. package/dist/app-actions.js.map +1 -0
  9. package/dist/app-shot.d.ts +55 -0
  10. package/dist/artifact-catalog.d.ts +33 -0
  11. package/dist/artifacts.d.ts +166 -0
  12. package/dist/atlassian-native-retirement.d.ts +16 -0
  13. package/dist/atlassian-native-retirement.js +30 -0
  14. package/dist/atlassian-native-retirement.js.map +1 -0
  15. package/dist/atlassian.js +48 -23
  16. package/dist/automation-templates.d.ts +434 -0
  17. package/dist/automation-templates.js +31 -0
  18. package/dist/automation-templates.js.map +1 -0
  19. package/dist/billing-subscriptions.d.ts +61 -0
  20. package/dist/bots.d.ts +583 -0
  21. package/dist/bundled-skills.d.ts +58 -2
  22. package/dist/canonical-human-identities.js +3 -1
  23. package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
  24. package/dist/chunk-2QKIEAGY.js +396 -0
  25. package/dist/chunk-2QKIEAGY.js.map +1 -0
  26. package/dist/chunk-2WOWEWXV.js +426 -0
  27. package/dist/chunk-2WOWEWXV.js.map +1 -0
  28. package/dist/chunk-2ZIHHL72.js +153 -0
  29. package/dist/chunk-2ZIHHL72.js.map +1 -0
  30. package/dist/chunk-32U6NKQQ.js +389 -0
  31. package/dist/chunk-32U6NKQQ.js.map +1 -0
  32. package/dist/chunk-4YDDHSO2.js +799 -0
  33. package/dist/chunk-4YDDHSO2.js.map +1 -0
  34. package/dist/chunk-56SNIMDO.js +9 -0
  35. package/dist/chunk-56SNIMDO.js.map +1 -0
  36. package/dist/chunk-5RWB6QVL.js +101 -0
  37. package/dist/chunk-5RWB6QVL.js.map +1 -0
  38. package/dist/chunk-5UGUOT3L.js +243 -0
  39. package/dist/chunk-5UGUOT3L.js.map +1 -0
  40. package/dist/chunk-6LAT33BH.js +130 -0
  41. package/dist/chunk-6LAT33BH.js.map +1 -0
  42. package/dist/chunk-7272KVWZ.js +60 -0
  43. package/dist/chunk-7272KVWZ.js.map +1 -0
  44. package/dist/chunk-72QC2GTL.js +36 -0
  45. package/dist/chunk-72QC2GTL.js.map +1 -0
  46. package/dist/chunk-7EQGGZBY.js +105 -0
  47. package/dist/chunk-7EQGGZBY.js.map +1 -0
  48. package/dist/chunk-A3LXWVYU.js +382 -0
  49. package/dist/chunk-A3LXWVYU.js.map +1 -0
  50. package/dist/chunk-AQYDZUJV.js +34 -0
  51. package/dist/chunk-AQYDZUJV.js.map +1 -0
  52. package/dist/chunk-BHCEVVUP.js +93 -0
  53. package/dist/chunk-BHCEVVUP.js.map +1 -0
  54. package/dist/chunk-BMUTAZX5.js +486 -0
  55. package/dist/chunk-BMUTAZX5.js.map +1 -0
  56. package/dist/chunk-DGG6IBBK.js +150 -0
  57. package/dist/chunk-DGG6IBBK.js.map +1 -0
  58. package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
  59. package/dist/chunk-FBCTUMHI.js.map +1 -0
  60. package/dist/chunk-G2KJTFIC.js +97 -0
  61. package/dist/chunk-G2KJTFIC.js.map +1 -0
  62. package/dist/chunk-G4RKARXZ.js +1167 -0
  63. package/dist/chunk-G4RKARXZ.js.map +1 -0
  64. package/dist/chunk-H6UJJIUM.js +350 -0
  65. package/dist/chunk-H6UJJIUM.js.map +1 -0
  66. package/dist/chunk-JOTHDW4H.js +18 -0
  67. package/dist/chunk-JOTHDW4H.js.map +1 -0
  68. package/dist/chunk-L4GUEP7K.js +56480 -0
  69. package/dist/chunk-L4GUEP7K.js.map +1 -0
  70. package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
  71. package/dist/chunk-MTJKSIGA.js +161 -0
  72. package/dist/chunk-MTJKSIGA.js.map +1 -0
  73. package/dist/chunk-MYHMB6GZ.js +202 -0
  74. package/dist/chunk-MYHMB6GZ.js.map +1 -0
  75. package/dist/chunk-PI5VIKJY.js +660 -0
  76. package/dist/chunk-PI5VIKJY.js.map +1 -0
  77. package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
  78. package/dist/chunk-PUIUXIOL.js +189 -0
  79. package/dist/chunk-PUIUXIOL.js.map +1 -0
  80. package/dist/chunk-R6VXJIMB.js +19 -0
  81. package/dist/chunk-R6VXJIMB.js.map +1 -0
  82. package/dist/chunk-RLJUNVAM.js +15 -0
  83. package/dist/chunk-RLJUNVAM.js.map +1 -0
  84. package/dist/chunk-RR6APCBK.js +213 -0
  85. package/dist/chunk-RR6APCBK.js.map +1 -0
  86. package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
  87. package/dist/chunk-RUQ4I6DO.js.map +1 -0
  88. package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
  89. package/dist/chunk-RWEEUDHD.js.map +1 -0
  90. package/dist/chunk-S7MSQQL6.js +158 -0
  91. package/dist/chunk-S7MSQQL6.js.map +1 -0
  92. package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
  93. package/dist/chunk-SHO4YO4B.js.map +1 -0
  94. package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
  95. package/dist/chunk-T3HSWMA5.js.map +1 -0
  96. package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
  97. package/dist/chunk-UCUOTRS6.js +431 -0
  98. package/dist/chunk-UCUOTRS6.js.map +1 -0
  99. package/dist/chunk-UH4K7GP7.js +424 -0
  100. package/dist/chunk-UH4K7GP7.js.map +1 -0
  101. package/dist/chunk-UIZWGPHV.js +120 -0
  102. package/dist/chunk-UIZWGPHV.js.map +1 -0
  103. package/dist/chunk-VLUKBV6Y.js +1170 -0
  104. package/dist/chunk-VLUKBV6Y.js.map +1 -0
  105. package/dist/chunk-W2QQ5Y6K.js +55 -0
  106. package/dist/chunk-W2QQ5Y6K.js.map +1 -0
  107. package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
  108. package/dist/chunk-W3NBPR4E.js.map +1 -0
  109. package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
  110. package/dist/chunk-WMGO4HJU.js.map +1 -0
  111. package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
  112. package/dist/chunk-WQI7VNN4.js.map +1 -0
  113. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  114. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  115. package/dist/chunk-XB6GQLBH.js +76 -0
  116. package/dist/chunk-XB6GQLBH.js.map +1 -0
  117. package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
  118. package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
  119. package/dist/chunk-ZMPU5BWE.js.map +1 -0
  120. package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
  121. package/dist/chunk-ZYVEJFNU.js.map +1 -0
  122. package/dist/claude-provider-account-authority.d.ts +18 -0
  123. package/dist/claude-subscription-oauth.d.ts +25 -0
  124. package/dist/claude-subscription-usage.d.ts +95 -1
  125. package/dist/client-error-report.d.ts +154 -8
  126. package/dist/client-error-report.js +157 -2
  127. package/dist/client-error-report.js.map +1 -1
  128. package/dist/code-search.d.ts +1 -1
  129. package/dist/code-search.js.map +1 -1
  130. package/dist/codex-provider-account-authority.js +23 -12
  131. package/dist/codex-provider-account-authority.js.map +1 -1
  132. package/dist/company-profile.d.ts +144 -0
  133. package/dist/connect.d.ts +38 -0
  134. package/dist/connect.js +244 -164
  135. package/dist/connect.js.map +1 -1
  136. package/dist/connection-account-label.d.ts +2 -0
  137. package/dist/connection-account-label.js +34 -0
  138. package/dist/connection-account-label.js.map +1 -0
  139. package/dist/connection-authority.js +49 -24
  140. package/dist/connector-attachments.js +3 -1
  141. package/dist/connector-destinations.js +3 -1
  142. package/dist/connector-tool-permissions.d.ts +68 -4
  143. package/dist/credential-profiles.d.ts +166 -0
  144. package/dist/cua-desktop-tools.d.ts +19 -0
  145. package/dist/define-schema.d.ts +8 -0
  146. package/dist/desktop-app.d.ts +28 -0
  147. package/dist/direct-model-provider.d.ts +38 -0
  148. package/dist/document-artifact-commands.js +2 -2
  149. package/dist/document-artifact-query.js +2 -2
  150. package/dist/editable-artifact-binary.d.ts +7 -0
  151. package/dist/editable-artifact-causal-frontier.js +2 -2
  152. package/dist/editable-artifact-codec-registry.js +7 -7
  153. package/dist/editable-artifact-committed-transaction.js +4 -2
  154. package/dist/editable-artifact-live.js +8 -8
  155. package/dist/editable-artifact-serialized-commit.js +9 -9
  156. package/dist/editable-artifact-versions.d.ts +7 -1
  157. package/dist/editable-artifact-versions.js +1 -1
  158. package/dist/editable-artifacts.js +49 -43
  159. package/dist/event-preview.d.ts +22 -0
  160. package/dist/event-triggers.d.ts +1253 -0
  161. package/dist/event-triggers.js +148 -0
  162. package/dist/event-triggers.js.map +1 -0
  163. package/dist/external-identities.d.ts +34 -0
  164. package/dist/external-identities.js +4 -2
  165. package/dist/feedback.d.ts +181 -0
  166. package/dist/file-access.d.ts +23 -0
  167. package/dist/first-party-tool-authorization.d.ts +852 -0
  168. package/dist/github-repository-contracts.js +64 -43
  169. package/dist/github-repository-contracts.js.map +1 -1
  170. package/dist/google-drive-native-retirement.d.ts +12 -0
  171. package/dist/google-drive-native-retirement.js +20 -0
  172. package/dist/google-drive-native-retirement.js.map +1 -0
  173. package/dist/google-drive.d.ts +1 -1
  174. package/dist/google-drive.js +323 -239
  175. package/dist/google-drive.js.map +1 -1
  176. package/dist/host-mcp-bindings.js +250 -198
  177. package/dist/host-mcp-bindings.js.map +1 -1
  178. package/dist/index.d.ts +29072 -20593
  179. package/dist/index.js +2432 -366
  180. package/dist/inference-residency.d.ts +22 -0
  181. package/dist/insights-usage.d.ts +948 -0
  182. package/dist/insights-usage.js +608 -0
  183. package/dist/insights-usage.js.map +1 -0
  184. package/dist/integration-capability-id.d.ts +8 -0
  185. package/dist/interaction-action-deadline.d.ts +48 -0
  186. package/dist/interaction-driver-diagnostic.d.ts +28 -0
  187. package/dist/interaction.d.ts +2126 -881
  188. package/dist/knowledge-entries.d.ts +38 -0
  189. package/dist/knowledge-preparation.d.ts +4 -0
  190. package/dist/learning-refusal.d.ts +43 -0
  191. package/dist/learning-refusal.js +49 -0
  192. package/dist/learning-refusal.js.map +1 -0
  193. package/dist/managed-auth-session-sets.d.ts +1 -0
  194. package/dist/managed-auth-session-sets.js +207 -146
  195. package/dist/managed-auth-session-sets.js.map +1 -1
  196. package/dist/managed-sign-in-methods.d.ts +96 -0
  197. package/dist/managed-sign-in-methods.js +157 -35
  198. package/dist/managed-sign-in-methods.js.map +1 -1
  199. package/dist/mcp-structured-content.d.ts +25 -0
  200. package/dist/message-time-zone.d.ts +38 -0
  201. package/dist/message-time-zone.js +19 -0
  202. package/dist/message-time-zone.js.map +1 -0
  203. package/dist/modal-native-proof-v2.d.ts +587 -0
  204. package/dist/modal-native-proof-v2.js +39 -0
  205. package/dist/modal-native-proof-v2.js.map +1 -0
  206. package/dist/model-account-choice.d.ts +237 -0
  207. package/dist/model-account-settings.d.ts +422 -0
  208. package/dist/model-availability.d.ts +15 -0
  209. package/dist/model-connection-access.d.ts +13 -0
  210. package/dist/model-context-inspector.d.ts +8 -0
  211. package/dist/model-display.d.ts +43 -0
  212. package/dist/model-display.js +17 -0
  213. package/dist/model-display.js.map +1 -0
  214. package/dist/model-picker-order.js.map +1 -1
  215. package/dist/model-residency.d.ts +304 -0
  216. package/dist/organization-access.d.ts +416 -0
  217. package/dist/organization-access.js +40 -0
  218. package/dist/organization-access.js.map +1 -0
  219. package/dist/organization-integration-policy.d.ts +18 -0
  220. package/dist/organization-membership-lifecycle.d.ts +66 -0
  221. package/dist/organization-model-usage.d.ts +146 -0
  222. package/dist/organization-model-usage.js +87 -0
  223. package/dist/organization-model-usage.js.map +1 -0
  224. package/dist/organization-recovery.js +3 -1
  225. package/dist/organization-usage.d.ts +12 -0
  226. package/dist/passkey-only-account.d.ts +14 -0
  227. package/dist/passkey-only-account.js +13 -0
  228. package/dist/passkey-only-account.js.map +1 -0
  229. package/dist/permissions.d.ts +19 -0
  230. package/dist/personal-github.js +220 -148
  231. package/dist/personal-github.js.map +1 -1
  232. package/dist/personal-integration-setup.d.ts +81 -0
  233. package/dist/personal-integration-setup.js +42 -0
  234. package/dist/personal-integration-setup.js.map +1 -0
  235. package/dist/prepared-mcp-setup.d.ts +54 -0
  236. package/dist/prepared-mcp-setup.js +13 -0
  237. package/dist/prepared-mcp-setup.js.map +1 -0
  238. package/dist/presentation-artifact-commands.js +2 -2
  239. package/dist/presentation-artifact-query.js +2 -2
  240. package/dist/primitives.d.ts +18 -0
  241. package/dist/product-analytics.d.ts +27 -10
  242. package/dist/product-lifecycle-facts.d.ts +26 -3
  243. package/dist/prompt-cache-diagnostics.d.ts +92 -0
  244. package/dist/recordings.d.ts +1371 -0
  245. package/dist/remember.d.ts +98 -2
  246. package/dist/retained-output.d.ts +4 -2
  247. package/dist/sandbox-file-artifacts.d.ts +19 -2
  248. package/dist/sandbox-provider-command.d.ts +5 -44
  249. package/dist/sandbox-recovery.d.ts +139 -8
  250. package/dist/secret-generator.d.ts +44 -0
  251. package/dist/secret-mask-strings.d.ts +32 -0
  252. package/dist/secret-references.d.ts +90 -0
  253. package/dist/secret-resolution.d.ts +143 -0
  254. package/dist/secret-shape-masking.d.ts +52 -0
  255. package/dist/secret-shape-masking.js +19 -0
  256. package/dist/secret-shape-masking.js.map +1 -0
  257. package/dist/secret-totp.d.ts +41 -0
  258. package/dist/secret-use-approval-question.d.ts +11 -0
  259. package/dist/secret-use-approval-question.js +11 -0
  260. package/dist/secret-use-approval-question.js.map +1 -0
  261. package/dist/secret-use-approvals.d.ts +106 -0
  262. package/dist/secret-value-masking.d.ts +299 -0
  263. package/dist/secret-value-masking.js +62 -0
  264. package/dist/secret-value-masking.js.map +1 -0
  265. package/dist/secret-value.d.ts +19 -0
  266. package/dist/session-history-import.d.ts +444 -8
  267. package/dist/session-history.d.ts +111 -0
  268. package/dist/session-history.js +35 -0
  269. package/dist/session-history.js.map +1 -0
  270. package/dist/session-list-entries.d.ts +8 -0
  271. package/dist/session-list-entries.js +61 -0
  272. package/dist/session-list-entries.js.map +1 -0
  273. package/dist/session-mcp-projections.d.ts +13 -1
  274. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  275. package/dist/session-target.d.ts +18 -0
  276. package/dist/session-titles.d.ts +8 -0
  277. package/dist/session-titles.js +5 -1
  278. package/dist/session-usage-limit-refusal.d.ts +34 -0
  279. package/dist/session-usage-limit-refusal.js +15 -0
  280. package/dist/session-usage-limit-refusal.js.map +1 -0
  281. package/dist/session-usage-limits.d.ts +127 -0
  282. package/dist/session-usage-limits.js +43 -0
  283. package/dist/session-usage-limits.js.map +1 -0
  284. package/dist/site-data.d.ts +286 -0
  285. package/dist/site-operations.d.ts +39 -0
  286. package/dist/site-publishing.d.ts +813 -0
  287. package/dist/site-session-http.d.ts +103 -4
  288. package/dist/site-session-http.js +27 -1
  289. package/dist/site-sql.d.ts +425 -0
  290. package/dist/skills.d.ts +38 -0
  291. package/dist/slack-bot-scopes.d.ts +9 -7
  292. package/dist/slack-bot-scopes.js +6 -3
  293. package/dist/slack-rest-mcp.d.ts +36 -0
  294. package/dist/slack-rest-mcp.js +25 -0
  295. package/dist/slack-rest-mcp.js.map +1 -0
  296. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  297. package/dist/spreadsheet-artifact-commands.js +9 -2
  298. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  299. package/dist/spreadsheet-artifact-query.js +4 -3
  300. package/dist/subscription-account-actions.d.ts +83 -0
  301. package/dist/subscription-account-pools.d.ts +326 -0
  302. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  303. package/dist/subscription-personal-authority-v2.js +13 -0
  304. package/dist/subscription-personal-authority-v2.js.map +1 -0
  305. package/dist/subscription-plans.d.ts +38 -0
  306. package/dist/subscription-usage-pool.d.ts +89 -0
  307. package/dist/tool-action-review.d.ts +141 -0
  308. package/dist/tool-catalog.d.ts +479 -0
  309. package/dist/tool-policy.d.ts +5 -0
  310. package/dist/tool-review-presentation.d.ts +29 -0
  311. package/dist/tool-review-presentation.js +21 -0
  312. package/dist/tool-review-presentation.js.map +1 -0
  313. package/dist/turn-serving-policy.d.ts +223 -0
  314. package/dist/usage-allowances.d.ts +30 -0
  315. package/dist/usage-allowances.js +5 -1
  316. package/dist/values.d.ts +11 -0
  317. package/dist/values.js +19 -0
  318. package/dist/values.js.map +1 -0
  319. package/dist/vault-provider-wire.d.ts +907 -0
  320. package/dist/vault-provider-wire.js +74 -0
  321. package/dist/vault-provider-wire.js.map +1 -0
  322. package/dist/vaults.d.ts +2185 -0
  323. package/dist/video-generation.d.ts +75 -0
  324. package/dist/video-generation.js +8 -1
  325. package/dist/workspace-control-event.d.ts +18 -0
  326. package/dist/workspace-control-event.js +18 -0
  327. package/dist/workspace-control-event.js.map +1 -0
  328. package/dist/workspace-governance-context.d.ts +18 -0
  329. package/dist/workspace-integration-wire.d.ts +1 -1
  330. package/dist/workspace-integration-wire.js +1 -1
  331. package/dist/workspace-integrations.d.ts +212 -12
  332. package/dist/xai-provider-account-authority.js +3 -1
  333. package/package.json +121 -4
  334. package/src/agent-authored-durable-text.ts +14 -11
  335. package/src/agent-config.ts +382 -203
  336. package/src/agent-instruction-changes.ts +94 -74
  337. package/src/agent-learning.ts +94 -66
  338. package/src/agent-topology.ts +58 -52
  339. package/src/api-key-presets.ts +28 -0
  340. package/src/app-action-catalog-types.ts +32 -0
  341. package/src/app-action-catalog.gen.ts +9905 -0
  342. package/src/app-actions.ts +365 -0
  343. package/src/app-shot.ts +176 -0
  344. package/src/artifact-catalog.ts +81 -46
  345. package/src/artifacts.ts +360 -227
  346. package/src/atlassian-native-retirement.ts +33 -0
  347. package/src/atlassian.ts +136 -108
  348. package/src/automation-templates.ts +201 -0
  349. package/src/billing-subscriptions.ts +48 -0
  350. package/src/bots.ts +238 -0
  351. package/src/bundled-skills.ts +79 -22
  352. package/src/canonical-human-identities.ts +65 -62
  353. package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
  354. package/src/child-lifecycle-notice-protocol.ts +224 -0
  355. package/src/claude-provider-account-authority.ts +12 -0
  356. package/src/claude-subscription-oauth.ts +61 -19
  357. package/src/claude-subscription-usage.ts +64 -35
  358. package/src/client-error-report.ts +344 -9
  359. package/src/code-search.ts +1 -1
  360. package/src/codex-provider-account-authority.ts +22 -16
  361. package/src/company-brain-governed-writes.ts +265 -244
  362. package/src/company-brain.ts +165 -154
  363. package/src/company-profile.ts +362 -297
  364. package/src/connect.ts +222 -173
  365. package/src/connection-account-label.ts +45 -0
  366. package/src/connection-authority.ts +172 -152
  367. package/src/connector-attachments.ts +139 -123
  368. package/src/connector-destinations.ts +48 -43
  369. package/src/connector-tool-permissions.ts +104 -46
  370. package/src/credential-profiles.ts +161 -0
  371. package/src/cua-desktop-tools.gen.json +6722 -0
  372. package/src/cua-desktop-tools.linux.gen.json +6798 -0
  373. package/src/cua-desktop-tools.ts +42 -0
  374. package/src/cua-desktop-tools.windows.gen.json +6739 -0
  375. package/src/define-schema.ts +10 -0
  376. package/src/desktop-app.ts +50 -0
  377. package/src/direct-model-provider.ts +112 -0
  378. package/src/editable-artifact-binary.ts +29 -8
  379. package/src/editable-artifact-committed-transaction.ts +19 -18
  380. package/src/editable-artifact-serialized-commit.ts +8 -2
  381. package/src/editable-artifact-versions.ts +7 -1
  382. package/src/event-preview.ts +53 -3
  383. package/src/event-triggers.ts +891 -0
  384. package/src/external-identities.ts +239 -195
  385. package/src/feedback.ts +125 -30
  386. package/src/file-access.ts +26 -0
  387. package/src/first-party-tool-authorization.ts +383 -0
  388. package/src/github-repository-contracts.ts +78 -64
  389. package/src/google-drive-native-retirement.ts +20 -0
  390. package/src/google-drive.ts +286 -234
  391. package/src/governed-learning-activation.ts +159 -137
  392. package/src/governed-learning-evaluator.ts +141 -133
  393. package/src/host-mcp-bindings.ts +244 -221
  394. package/src/image-generation.ts +105 -95
  395. package/src/index.ts +13928 -9899
  396. package/src/inference-residency.ts +36 -0
  397. package/src/insights-usage.ts +774 -0
  398. package/src/integration-capability-id.ts +16 -0
  399. package/src/interaction-action-deadline.ts +143 -0
  400. package/src/interaction-driver-diagnostic.ts +89 -0
  401. package/src/interaction.ts +3527 -2427
  402. package/src/knowledge-entries.ts +386 -299
  403. package/src/knowledge-preparation.ts +49 -41
  404. package/src/knowledge.ts +242 -213
  405. package/src/learning-refusal.ts +90 -0
  406. package/src/managed-auth-session-sets.ts +180 -133
  407. package/src/managed-sign-in-methods.ts +156 -34
  408. package/src/mcp-oauth.ts +58 -46
  409. package/src/mcp-receipts.ts +199 -194
  410. package/src/mcp-structured-content.ts +81 -0
  411. package/src/memory-slack-delivery.ts +172 -142
  412. package/src/message-time-zone.ts +109 -0
  413. package/src/modal-native-proof-v2.ts +430 -0
  414. package/src/model-account-choice.ts +178 -0
  415. package/src/model-account-settings.ts +210 -0
  416. package/src/model-availability.ts +22 -0
  417. package/src/model-connection-access.ts +62 -14
  418. package/src/model-context-inspector.ts +130 -109
  419. package/src/model-display.ts +221 -0
  420. package/src/model-picker-order.ts +1 -1
  421. package/src/model-residency.ts +535 -0
  422. package/src/organization-access.ts +216 -0
  423. package/src/organization-integration-policy.ts +47 -28
  424. package/src/organization-membership-lifecycle.ts +558 -384
  425. package/src/organization-model-usage.ts +82 -0
  426. package/src/organization-recovery.ts +148 -135
  427. package/src/organization-usage.ts +84 -52
  428. package/src/passkey-only-account.ts +29 -0
  429. package/src/permissions.ts +94 -52
  430. package/src/personal-github.ts +211 -171
  431. package/src/personal-integration-setup.ts +150 -0
  432. package/src/preference-registry.ts +319 -263
  433. package/src/prepared-mcp-setup.ts +190 -0
  434. package/src/primitives.ts +22 -0
  435. package/src/product-analytics.ts +40 -15
  436. package/src/product-lifecycle-facts.ts +50 -20
  437. package/src/prompt-cache-diagnostics.ts +212 -0
  438. package/src/recordings.ts +1153 -0
  439. package/src/remember.ts +184 -172
  440. package/src/retained-output.ts +181 -168
  441. package/src/sandbox-file-artifacts.ts +78 -57
  442. package/src/sandbox-provider-command.ts +55 -72
  443. package/src/sandbox-recovery.ts +163 -77
  444. package/src/scoped-knowledge.ts +62 -43
  445. package/src/secret-generator.ts +156 -0
  446. package/src/secret-mask-strings.ts +175 -0
  447. package/src/secret-references.ts +414 -0
  448. package/src/secret-resolution.ts +322 -0
  449. package/src/secret-shape-masking.ts +573 -0
  450. package/src/secret-totp.ts +188 -0
  451. package/src/secret-use-approval-question.ts +22 -0
  452. package/src/secret-use-approvals.ts +219 -0
  453. package/src/secret-value-masking.ts +1283 -0
  454. package/src/secret-value.ts +22 -0
  455. package/src/session-goal-reports.ts +55 -49
  456. package/src/session-history-import.ts +84 -68
  457. package/src/session-history.ts +197 -0
  458. package/src/session-list-entries.ts +106 -0
  459. package/src/session-mcp-projections.ts +21 -3
  460. package/src/session-mcp-tool-permissions.ts +109 -0
  461. package/src/session-message-search.ts +46 -38
  462. package/src/session-target.ts +58 -0
  463. package/src/session-titles.ts +40 -4
  464. package/src/session-topology-primitives.ts +20 -12
  465. package/src/session-usage-limit-refusal.ts +101 -0
  466. package/src/session-usage-limits.ts +169 -0
  467. package/src/signup-attribution.ts +20 -15
  468. package/src/site-data.ts +337 -0
  469. package/src/site-operations.ts +154 -0
  470. package/src/site-publishing.ts +903 -0
  471. package/src/site-session-http.ts +344 -16
  472. package/src/site-sql.ts +1120 -0
  473. package/src/skill-use.ts +18 -17
  474. package/src/skills.ts +105 -50
  475. package/src/slack-bot-scopes.ts +18 -35
  476. package/src/slack-rest-mcp.ts +222 -0
  477. package/src/slack-task-policy.ts +97 -73
  478. package/src/spreadsheet-artifact-commands.ts +74 -13
  479. package/src/spreadsheet-artifact-query.ts +188 -50
  480. package/src/subscription-account-actions.ts +103 -0
  481. package/src/subscription-account-pools.ts +74 -0
  482. package/src/subscription-personal-authority-v2.ts +69 -0
  483. package/src/subscription-plans.ts +51 -0
  484. package/src/subscription-usage-pool.ts +44 -0
  485. package/src/task-notes.ts +70 -68
  486. package/src/tool-action-review.ts +271 -0
  487. package/src/tool-catalog.ts +694 -379
  488. package/src/tool-policy.ts +82 -0
  489. package/src/tool-result-spill.ts +13 -9
  490. package/src/tool-review-presentation.ts +643 -0
  491. package/src/turn-serving-policy.ts +167 -0
  492. package/src/usage-allowances.ts +212 -136
  493. package/src/values.ts +25 -0
  494. package/src/vault-provider-wire.ts +580 -0
  495. package/src/vaults.ts +1296 -0
  496. package/src/video-generation.ts +430 -361
  497. package/src/work-claims.ts +183 -166
  498. package/src/workspace-control-event.ts +134 -0
  499. package/src/workspace-governance-context.ts +63 -0
  500. package/src/workspace-instruction-policies.ts +346 -279
  501. package/src/workspace-integration-wire.ts +10 -0
  502. package/src/workspace-integrations.ts +488 -398
  503. package/src/workspace-learning-administration.ts +58 -44
  504. package/src/workspace-learning-policy.ts +126 -99
  505. package/src/workspace-state.ts +239 -220
  506. package/src/xai-provider-account-authority.ts +23 -17
  507. package/dist/chunk-3SIZGL3O.js.map +0 -1
  508. package/dist/chunk-566IFOVP.js +0 -26133
  509. package/dist/chunk-566IFOVP.js.map +0 -1
  510. package/dist/chunk-5IXYF6XN.js +0 -728
  511. package/dist/chunk-5IXYF6XN.js.map +0 -1
  512. package/dist/chunk-5Q54VCCH.js.map +0 -1
  513. package/dist/chunk-BCS7WHCK.js +0 -139
  514. package/dist/chunk-BCS7WHCK.js.map +0 -1
  515. package/dist/chunk-EK7NDGFR.js +0 -128
  516. package/dist/chunk-EK7NDGFR.js.map +0 -1
  517. package/dist/chunk-GRG7PHWQ.js +0 -25
  518. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  519. package/dist/chunk-HHZSZYYF.js.map +0 -1
  520. package/dist/chunk-ICDZGUX2.js +0 -186
  521. package/dist/chunk-ICDZGUX2.js.map +0 -1
  522. package/dist/chunk-JUFK3T4Q.js +0 -80
  523. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  524. package/dist/chunk-MYBZRDTY.js.map +0 -1
  525. package/dist/chunk-NRMCVHAU.js.map +0 -1
  526. package/dist/chunk-O77VSFYZ.js.map +0 -1
  527. package/dist/chunk-P3HLDT77.js +0 -59
  528. package/dist/chunk-P3HLDT77.js.map +0 -1
  529. package/dist/chunk-TXTQIYCV.js.map +0 -1
  530. package/dist/chunk-WYBDERIY.js.map +0 -1
  531. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  532. package/dist/chunk-YBW5JSA3.js.map +0 -1
  533. package/dist/chunk-YRXAWWCU.js +0 -45
  534. package/dist/chunk-YRXAWWCU.js.map +0 -1
  535. package/dist/chunk-YWMOIZ6A.js +0 -185
  536. package/dist/chunk-YWMOIZ6A.js.map +0 -1
  537. package/dist/site-request-headers.test.d.ts +0 -1
  538. package/dist/transcription-recordings.d.ts +0 -300
  539. package/src/transcription-recordings.ts +0 -169
  540. /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
  541. /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
  542. /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
  543. /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
@@ -1,3 +1,5 @@
1
+ import * as primitives from "./primitives";
2
+ import { defineSchema } from "./define-schema";
1
3
  import { z } from "zod";
2
4
  import { normalizeAutomaticSessionTitle } from "./session-titles";
3
5
 
@@ -16,35 +18,32 @@ const CONTROL_CHARACTERS = /[\u0000-\u001f\u007f-\u009f]/u;
16
18
  const NAMESPACE_PATTERN = /^[a-z0-9](?:[a-z0-9._:-]{0,62}[a-z0-9])?$/u;
17
19
 
18
20
  function boundedCanonicalText(maxBytes: number, label: string) {
19
- return z
20
- .string()
21
- .min(1)
22
- .superRefine((value, context) => {
23
- if (value !== value.trim()) {
24
- context.addIssue({
25
- code: z.ZodIssueCode.custom,
26
- message: `${label} must not have leading or trailing whitespace`,
27
- });
28
- }
29
- if (value !== value.normalize("NFKC")) {
30
- context.addIssue({
31
- code: z.ZodIssueCode.custom,
32
- message: `${label} must use canonical Unicode normalization`,
33
- });
34
- }
35
- if (CONTROL_CHARACTERS.test(value)) {
36
- context.addIssue({
37
- code: z.ZodIssueCode.custom,
38
- message: `${label} must not contain control characters`,
39
- });
40
- }
41
- if (utf8Bytes(value) > maxBytes) {
42
- context.addIssue({
43
- code: z.ZodIssueCode.custom,
44
- message: `${label} must be at most ${maxBytes} UTF-8 bytes`,
45
- });
46
- }
47
- });
21
+ return primitives.nonEmptyString.superRefine((value, context) => {
22
+ if (value !== value.trim()) {
23
+ context.addIssue({
24
+ code: z.ZodIssueCode.custom,
25
+ message: `${label} must not have leading or trailing whitespace`,
26
+ });
27
+ }
28
+ if (value !== value.normalize("NFKC")) {
29
+ context.addIssue({
30
+ code: z.ZodIssueCode.custom,
31
+ message: `${label} must use canonical Unicode normalization`,
32
+ });
33
+ }
34
+ if (CONTROL_CHARACTERS.test(value)) {
35
+ context.addIssue({
36
+ code: z.ZodIssueCode.custom,
37
+ message: `${label} must not contain control characters`,
38
+ });
39
+ }
40
+ if (utf8Bytes(value) > maxBytes) {
41
+ context.addIssue({
42
+ code: z.ZodIssueCode.custom,
43
+ message: `${label} must be at most ${maxBytes} UTF-8 bytes`,
44
+ });
45
+ }
46
+ });
48
47
  }
49
48
 
50
49
  export function normalizeWorkClaimNamespace(value: string): string {
@@ -61,26 +60,23 @@ export function normalizeWorkClaimDisplayLabel(value: string): string | null {
61
60
  return normalized;
62
61
  }
63
62
 
64
- export const WorkClaimNamespace = z
65
- .string()
66
- .min(1)
67
- .max(WORK_CLAIM_NAMESPACE_MAX_BYTES)
68
- .regex(NAMESPACE_PATTERN)
69
- .refine((value) => value === normalizeWorkClaimNamespace(value), {
70
- message: "work claim namespace must already be canonical lowercase text",
71
- });
63
+ export const WorkClaimNamespace = /* @__PURE__ */ defineSchema(() =>
64
+ primitives.nonEmptyString
65
+ .max(WORK_CLAIM_NAMESPACE_MAX_BYTES)
66
+ .regex(NAMESPACE_PATTERN)
67
+ .refine((value) => value === normalizeWorkClaimNamespace(value), {
68
+ message: "work claim namespace must already be canonical lowercase text",
69
+ }),
70
+ );
72
71
  export type WorkClaimNamespace = z.infer<typeof WorkClaimNamespace>;
73
72
 
74
- export const WorkClaimCanonicalKey = boundedCanonicalText(
75
- WORK_CLAIM_CANONICAL_KEY_MAX_BYTES,
76
- "work claim canonical key",
73
+ export const WorkClaimCanonicalKey = /* @__PURE__ */ defineSchema(() =>
74
+ boundedCanonicalText(WORK_CLAIM_CANONICAL_KEY_MAX_BYTES, "work claim canonical key"),
77
75
  );
78
76
  export type WorkClaimCanonicalKey = z.infer<typeof WorkClaimCanonicalKey>;
79
77
 
80
- export const WorkClaimDisplayLabel = z
81
- .string()
82
- .min(1)
83
- .superRefine((value, context) => {
78
+ export const WorkClaimDisplayLabel = /* @__PURE__ */ defineSchema(() =>
79
+ primitives.nonEmptyString.superRefine((value, context) => {
84
80
  if (utf8Bytes(value) > WORK_CLAIM_DISPLAY_LABEL_MAX_BYTES) {
85
81
  context.addIssue({
86
82
  code: z.ZodIssueCode.custom,
@@ -93,45 +89,56 @@ export const WorkClaimDisplayLabel = z
93
89
  message: "work claim display label must be a safe concise semantic label",
94
90
  });
95
91
  }
96
- });
92
+ }),
93
+ );
97
94
  export type WorkClaimDisplayLabel = z.infer<typeof WorkClaimDisplayLabel>;
98
95
 
99
- export const WorkClaimSubjectType = z.enum([
100
- "repository",
101
- "branch",
102
- "pull_request",
103
- "issue",
104
- "artifact",
105
- "release",
106
- "ci_run",
107
- "other",
108
- ]);
96
+ export const WorkClaimSubjectType = /* @__PURE__ */ defineSchema(() =>
97
+ z.enum([
98
+ "repository",
99
+ "branch",
100
+ "pull_request",
101
+ "issue",
102
+ "artifact",
103
+ "release",
104
+ "ci_run",
105
+ "other",
106
+ ]),
107
+ );
109
108
  export type WorkClaimSubjectType = z.infer<typeof WorkClaimSubjectType>;
110
109
 
111
- export const WorkClaimRole = z.enum(["working", "reviewing", "monitoring", "delivering"]);
110
+ export const WorkClaimRole = /* @__PURE__ */ defineSchema(() =>
111
+ z.enum(["working", "reviewing", "monitoring", "delivering"]),
112
+ );
112
113
  export type WorkClaimRole = z.infer<typeof WorkClaimRole>;
113
114
 
114
- export const WorkClaimState = z.enum(["active", "released", "superseded", "stale"]);
115
+ export const WorkClaimState = /* @__PURE__ */ defineSchema(() =>
116
+ z.enum(["active", "released", "superseded", "stale"]),
117
+ );
115
118
  export type WorkClaimState = z.infer<typeof WorkClaimState>;
116
119
 
117
- export const WorkClaimProvenance = z.enum([
118
- "explicit_agent",
119
- "user_api",
120
- "trusted_integration",
121
- "session_resource",
122
- "system_lifecycle",
123
- ]);
120
+ export const WorkClaimProvenance = /* @__PURE__ */ defineSchema(() =>
121
+ z.enum([
122
+ "explicit_agent",
123
+ "user_api",
124
+ "trusted_integration",
125
+ "session_resource",
126
+ "system_lifecycle",
127
+ ]),
128
+ );
124
129
  export type WorkClaimProvenance = z.infer<typeof WorkClaimProvenance>;
125
130
 
126
- export const WorkClaimVersionKind = z.enum([
127
- "git_commit",
128
- "branch_head",
129
- "pull_request_head",
130
- "artifact_version",
131
- "release_version",
132
- "ci_run",
133
- "other",
134
- ]);
131
+ export const WorkClaimVersionKind = /* @__PURE__ */ defineSchema(() =>
132
+ z.enum([
133
+ "git_commit",
134
+ "branch_head",
135
+ "pull_request_head",
136
+ "artifact_version",
137
+ "release_version",
138
+ "ci_run",
139
+ "other",
140
+ ]),
141
+ );
135
142
  export type WorkClaimVersionKind = z.infer<typeof WorkClaimVersionKind>;
136
143
 
137
144
  export const WorkClaimVersionValue = boundedCanonicalText(
@@ -140,112 +147,120 @@ export const WorkClaimVersionValue = boundedCanonicalText(
140
147
  );
141
148
  export type WorkClaimVersionValue = z.infer<typeof WorkClaimVersionValue>;
142
149
 
143
- export const WorkClaimReleaseReason = z.enum([
144
- "completed",
145
- "cancelled",
146
- "failed",
147
- "superseded",
148
- "no_longer_active",
149
- "corrected",
150
- "external_state_changed",
151
- "other",
152
- ]);
150
+ export const WorkClaimReleaseReason = /* @__PURE__ */ defineSchema(() =>
151
+ z.enum([
152
+ "completed",
153
+ "cancelled",
154
+ "failed",
155
+ "superseded",
156
+ "no_longer_active",
157
+ "corrected",
158
+ "external_state_changed",
159
+ "other",
160
+ ]),
161
+ );
153
162
  export type WorkClaimReleaseReason = z.infer<typeof WorkClaimReleaseReason>;
154
163
 
155
- export const WorkClaimMutationKind = z.enum([
156
- "created",
157
- "updated",
158
- "released",
159
- "superseded",
160
- "stale",
161
- ]);
164
+ export const WorkClaimMutationKind = /* @__PURE__ */ defineSchema(() =>
165
+ z.enum(["created", "updated", "released", "superseded", "stale"]),
166
+ );
162
167
  export type WorkClaimMutationKind = z.infer<typeof WorkClaimMutationKind>;
163
168
 
164
- export const WorkClaim = z.object({
165
- id: z.string().uuid(),
166
- sessionId: z.string().uuid(),
167
- rootSessionId: z.string().uuid(),
168
- subject: z.object({
169
- namespace: WorkClaimNamespace,
170
- type: WorkClaimSubjectType,
171
- canonicalKey: WorkClaimCanonicalKey,
172
- displayLabel: WorkClaimDisplayLabel.nullable(),
169
+ export const WorkClaim = /* @__PURE__ */ defineSchema(() =>
170
+ z.object({
171
+ id: primitives.uuid,
172
+ sessionId: primitives.uuid,
173
+ rootSessionId: primitives.uuid,
174
+ subject: z.object({
175
+ namespace: WorkClaimNamespace,
176
+ type: WorkClaimSubjectType,
177
+ canonicalKey: WorkClaimCanonicalKey,
178
+ displayLabel: WorkClaimDisplayLabel.nullable(),
179
+ }),
180
+ role: WorkClaimRole,
181
+ state: WorkClaimState,
182
+ revision: primitives.positiveInteger,
183
+ provenance: WorkClaimProvenance,
184
+ version: z
185
+ .object({
186
+ kind: WorkClaimVersionKind,
187
+ value: WorkClaimVersionValue,
188
+ })
189
+ .nullable(),
190
+ observedAt: primitives.string.datetime({ offset: true }),
191
+ createdAt: primitives.string.datetime({ offset: true }),
192
+ updatedAt: primitives.string.datetime({ offset: true }),
193
+ settledAt: primitives.string.datetime({ offset: true }).nullable(),
173
194
  }),
174
- role: WorkClaimRole,
175
- state: WorkClaimState,
176
- revision: z.number().int().positive(),
177
- provenance: WorkClaimProvenance,
178
- version: z
179
- .object({
180
- kind: WorkClaimVersionKind,
181
- value: WorkClaimVersionValue,
182
- })
183
- .nullable(),
184
- observedAt: z.string().datetime({ offset: true }),
185
- createdAt: z.string().datetime({ offset: true }),
186
- updatedAt: z.string().datetime({ offset: true }),
187
- settledAt: z.string().datetime({ offset: true }).nullable(),
188
- });
195
+ );
189
196
  export type WorkClaim = z.infer<typeof WorkClaim>;
190
197
 
191
- export const WorkClaimMutationResult = z.object({
192
- claim: WorkClaim,
193
- mutation: WorkClaimMutationKind,
194
- replayed: z.boolean(),
195
- });
198
+ export const WorkClaimMutationResult = /* @__PURE__ */ defineSchema(() =>
199
+ z.object({
200
+ claim: WorkClaim,
201
+ mutation: WorkClaimMutationKind,
202
+ replayed: primitives.boolean,
203
+ }),
204
+ );
196
205
  export type WorkClaimMutationResult = z.infer<typeof WorkClaimMutationResult>;
197
206
 
198
- export const WorkClaimDiscoverySummary = WorkClaim.pick({
199
- id: true,
200
- sessionId: true,
201
- subject: true,
202
- role: true,
203
- state: true,
204
- revision: true,
205
- provenance: true,
206
- version: true,
207
- observedAt: true,
208
- updatedAt: true,
209
- settledAt: true,
210
- });
207
+ export const WorkClaimDiscoverySummary = /* @__PURE__ */ defineSchema(() =>
208
+ WorkClaim.pick({
209
+ id: true,
210
+ sessionId: true,
211
+ subject: true,
212
+ role: true,
213
+ state: true,
214
+ revision: true,
215
+ provenance: true,
216
+ version: true,
217
+ observedAt: true,
218
+ updatedAt: true,
219
+ settledAt: true,
220
+ }),
221
+ );
211
222
  export type WorkClaimDiscoverySummary = z.infer<typeof WorkClaimDiscoverySummary>;
212
223
 
213
- export const WorkClaimSubjectFilter = z
214
- .object({
215
- namespace: WorkClaimNamespace,
216
- type: WorkClaimSubjectType,
217
- canonicalKey: WorkClaimCanonicalKey,
218
- })
219
- .strict();
224
+ export const WorkClaimSubjectFilter = /* @__PURE__ */ defineSchema(() =>
225
+ z
226
+ .object({
227
+ namespace: WorkClaimNamespace,
228
+ type: WorkClaimSubjectType,
229
+ canonicalKey: WorkClaimCanonicalKey,
230
+ })
231
+ .strict(),
232
+ );
220
233
  export type WorkClaimSubjectFilter = z.infer<typeof WorkClaimSubjectFilter>;
221
234
 
222
- export const WorkDiscoveryMatchClass = z.enum(["exact_subject", "title", "goal", "fuzzy"]);
235
+ export const WorkDiscoveryMatchClass = /* @__PURE__ */ defineSchema(() =>
236
+ z.enum(["exact_subject", "title", "goal", "fuzzy"]),
237
+ );
223
238
  export type WorkDiscoveryMatchClass = z.infer<typeof WorkDiscoveryMatchClass>;
224
239
 
225
- export const WorkDiscoveryMatchedField = z.enum([
226
- "subject",
227
- "title",
228
- "goal",
229
- "claim_key",
230
- "claim_label",
231
- ]);
240
+ export const WorkDiscoveryMatchedField = /* @__PURE__ */ defineSchema(() =>
241
+ z.enum(["subject", "title", "goal", "claim_key", "claim_label"]),
242
+ );
232
243
  export type WorkDiscoveryMatchedField = z.infer<typeof WorkDiscoveryMatchedField>;
233
244
 
234
245
  /**
235
246
  * Deliberately stable bands rather than a raw ranking score. Raw full-text or
236
247
  * trigram values are query-relative and become a misleading cross-query API.
237
248
  */
238
- export const WorkDiscoveryScoreBand = z.enum(["exact", "strong", "related"]);
249
+ export const WorkDiscoveryScoreBand = /* @__PURE__ */ defineSchema(() =>
250
+ z.enum(["exact", "strong", "related"]),
251
+ );
239
252
  export type WorkDiscoveryScoreBand = z.infer<typeof WorkDiscoveryScoreBand>;
240
253
 
241
- export const WorkDiscoveryMatch = z
242
- .object({
243
- class: WorkDiscoveryMatchClass,
244
- field: WorkDiscoveryMatchedField,
245
- scoreBand: WorkDiscoveryScoreBand,
246
- claimId: z.string().uuid().nullable(),
247
- })
248
- .strict();
254
+ export const WorkDiscoveryMatch = /* @__PURE__ */ defineSchema(() =>
255
+ z
256
+ .object({
257
+ class: WorkDiscoveryMatchClass,
258
+ field: WorkDiscoveryMatchedField,
259
+ scoreBand: WorkDiscoveryScoreBand,
260
+ claimId: primitives.nullableUuid,
261
+ })
262
+ .strict(),
263
+ );
249
264
  export type WorkDiscoveryMatch = z.infer<typeof WorkDiscoveryMatch>;
250
265
 
251
266
  /**
@@ -253,14 +268,16 @@ export type WorkDiscoveryMatch = z.infer<typeof WorkDiscoveryMatch>;
253
268
  * the wire contract so a consumer cannot accidentally present a claim as a
254
269
  * lock, authorization grant, ownership transfer, or mandatory instruction.
255
270
  */
256
- export const WorkDiscoveryProjection = z
257
- .object({
258
- claims: z.array(WorkClaimDiscoverySummary).max(WORK_CLAIM_DISCOVERY_LIMIT),
259
- claimsTruncated: z.boolean(),
260
- match: WorkDiscoveryMatch.nullable(),
261
- possibleOverlap: z.boolean(),
262
- advisoryOnly: z.literal(true),
263
- noAdditionalAccess: z.literal(true),
264
- })
265
- .strict();
271
+ export const WorkDiscoveryProjection = /* @__PURE__ */ defineSchema(() =>
272
+ z
273
+ .object({
274
+ claims: z.array(WorkClaimDiscoverySummary).max(WORK_CLAIM_DISCOVERY_LIMIT),
275
+ claimsTruncated: primitives.boolean,
276
+ match: WorkDiscoveryMatch.nullable(),
277
+ possibleOverlap: primitives.boolean,
278
+ advisoryOnly: z.literal(true),
279
+ noAdditionalAccess: z.literal(true),
280
+ })
281
+ .strict(),
282
+ );
266
283
  export type WorkDiscoveryProjection = z.infer<typeof WorkDiscoveryProjection>;
@@ -0,0 +1,134 @@
1
+ import type { WorkspaceControlEvent, WorkspaceControlEventTruncation } from "./index";
2
+ import { sessionEventJsonBytes } from "./event-preview";
3
+ export const WORKSPACE_CONTROL_REASON_MAX_BYTES = 8 * 1024;
4
+
5
+ export const WORKSPACE_CONTROL_ACTOR_MAX_BYTES = 1024;
6
+
7
+ export const WORKSPACE_CONTROL_EVENT_MAX_BYTES = 16 * 1024;
8
+
9
+ export type WorkspaceControlBoundarySurface = WorkspaceControlEventTruncation["surface"];
10
+
11
+ export type BoundWorkspaceControlEventOptions = {
12
+ surface?: WorkspaceControlBoundarySurface;
13
+ reasonOriginalBytes?: number | null;
14
+ actorOriginalBytes?: number | null;
15
+ };
16
+
17
+ /** UTF-8 byte count used by workspace-control storage and transport guards. */
18
+ export function workspaceControlUtf8Bytes(value: string): number {
19
+ return new TextEncoder().encode(value).byteLength;
20
+ }
21
+
22
+ /**
23
+ * Canonical bounded invalidation event. The event is not a full evidence store:
24
+ * when a producer or legacy row exceeds a field cap, the retained head carries
25
+ * a visible marker and structured exact byte-loss facts.
26
+ */
27
+ export function boundWorkspaceControlEvent(
28
+ event: WorkspaceControlEvent,
29
+ options: BoundWorkspaceControlEventOptions = {},
30
+ ): WorkspaceControlEvent {
31
+ const existingFields = new Map(
32
+ (event.truncation?.fields ?? []).map((field) => [field.field, field] as const),
33
+ );
34
+ const reason =
35
+ event.reason === null
36
+ ? null
37
+ : boundWorkspaceControlText(event.reason, WORKSPACE_CONTROL_REASON_MAX_BYTES);
38
+ const actor = boundWorkspaceControlText(event.actor, WORKSPACE_CONTROL_ACTOR_MAX_BYTES);
39
+ const reasonBytes = reason === null ? 0 : workspaceControlUtf8Bytes(reason);
40
+ const actorBytes = workspaceControlUtf8Bytes(actor);
41
+ const reasonOriginalBytes =
42
+ event.reason === null
43
+ ? null
44
+ : Math.max(
45
+ workspaceControlUtf8Bytes(event.reason),
46
+ normalizedWorkspaceControlOriginalBytes(options.reasonOriginalBytes),
47
+ existingFields.get("reason")?.originalBytes ?? 0,
48
+ );
49
+ const actorOriginalBytes = Math.max(
50
+ workspaceControlUtf8Bytes(event.actor),
51
+ normalizedWorkspaceControlOriginalBytes(options.actorOriginalBytes),
52
+ existingFields.get("actor")?.originalBytes ?? 0,
53
+ );
54
+ const fields: WorkspaceControlEventTruncation["fields"] = [];
55
+ if (reasonOriginalBytes !== null && reasonOriginalBytes > reasonBytes) {
56
+ fields.push({
57
+ field: "reason",
58
+ originalBytes: reasonOriginalBytes,
59
+ deliveredBytes: reasonBytes,
60
+ omittedBytes: reasonOriginalBytes - reasonBytes,
61
+ });
62
+ }
63
+ if (actorOriginalBytes > actorBytes) {
64
+ fields.push({
65
+ field: "actor",
66
+ originalBytes: actorOriginalBytes,
67
+ deliveredBytes: actorBytes,
68
+ omittedBytes: actorOriginalBytes - actorBytes,
69
+ });
70
+ }
71
+ if (fields.length === 0 && event.truncation == null) {
72
+ if (sessionEventJsonBytes(event) > WORKSPACE_CONTROL_EVENT_MAX_BYTES) {
73
+ throw new RangeError("Workspace control event exceeds its bounded envelope");
74
+ }
75
+ return event;
76
+ }
77
+
78
+ const truncation: WorkspaceControlEventTruncation = {
79
+ truncated: true,
80
+ surface: event.truncation?.surface ?? options.surface ?? "durable_control",
81
+ deliveredBytes: 0,
82
+ fields,
83
+ fullEvidence: { available: false, reason: "not_retained" },
84
+ };
85
+ const bounded: WorkspaceControlEvent = {
86
+ ...event,
87
+ reason,
88
+ actor,
89
+ truncation,
90
+ };
91
+ settleWorkspaceControlDeliveredBytes(bounded, truncation);
92
+ const deliveredBytes = sessionEventJsonBytes(bounded);
93
+ if (deliveredBytes > WORKSPACE_CONTROL_EVENT_MAX_BYTES) {
94
+ throw new RangeError(
95
+ `Bounded workspace control event exceeds its final envelope (${deliveredBytes} > ${WORKSPACE_CONTROL_EVENT_MAX_BYTES} bytes)`,
96
+ );
97
+ }
98
+ return bounded;
99
+ }
100
+
101
+ function boundWorkspaceControlText(value: string, maxBytes: number): string {
102
+ const encoder = new TextEncoder();
103
+ const decoder = new TextDecoder();
104
+ const bytes = encoder.encode(value);
105
+ if (bytes.byteLength <= maxBytes) return value;
106
+ const marker = "…[truncated]";
107
+ const prefixBudget = Math.max(0, maxBytes - encoder.encode(marker).byteLength);
108
+ let prefixEnd = Math.min(prefixBudget, bytes.byteLength);
109
+ while (prefixEnd > 0 && prefixEnd < bytes.byteLength && (bytes[prefixEnd]! & 0xc0) === 0x80) {
110
+ prefixEnd -= 1;
111
+ }
112
+ return `${decoder.decode(bytes.subarray(0, prefixEnd))}${marker}`;
113
+ }
114
+
115
+ function normalizedWorkspaceControlOriginalBytes(value: number | null | undefined): number {
116
+ return value === null || value === undefined || !Number.isFinite(value)
117
+ ? 0
118
+ : Math.max(0, Math.floor(value));
119
+ }
120
+
121
+ function settleWorkspaceControlDeliveredBytes(
122
+ event: WorkspaceControlEvent,
123
+ truncation: WorkspaceControlEventTruncation,
124
+ ): void {
125
+ for (let attempt = 0; attempt < 16; attempt += 1) {
126
+ const deliveredBytes = sessionEventJsonBytes(event);
127
+ if (truncation.deliveredBytes === deliveredBytes) return;
128
+ truncation.deliveredBytes = deliveredBytes;
129
+ }
130
+ const deliveredBytes = sessionEventJsonBytes(event);
131
+ if (truncation.deliveredBytes !== deliveredBytes) {
132
+ throw new RangeError("Workspace control event byte accounting did not converge");
133
+ }
134
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Durable, model-visible workspace governance context.
3
+ *
4
+ * Governance (instruction policies, learning settings, organization profile)
5
+ * can change between turns and differs by who starts a turn. In the system
6
+ * prompt, every such change rewrote text that earlier requests had already sent
7
+ * and invalidated the whole cached history. It is therefore delivered as a
8
+ * history item inserted before the turn that first sees a new value; earlier
9
+ * items stay byte-identical, and the newest item replaces older ones.
10
+ */
11
+ export const WORKSPACE_GOVERNANCE_CONTEXT_PREFIX = "<opengeni_workspace_governance>\n";
12
+ export const WORKSPACE_GOVERNANCE_CONTEXT_SUFFIX = "\n</opengeni_workspace_governance>";
13
+ const GUIDANCE =
14
+ "This is the current workspace governance and replaces earlier workspace governance blocks.\n\n";
15
+ /** Recorded when governance that applied earlier no longer does. */
16
+ export const WORKSPACE_GOVERNANCE_NONE = "No workspace governance is active.";
17
+
18
+ export function workspaceGovernanceContextItem(governance: string): Record<string, unknown> {
19
+ return {
20
+ type: "message",
21
+ role: "developer",
22
+ content:
23
+ WORKSPACE_GOVERNANCE_CONTEXT_PREFIX +
24
+ GUIDANCE +
25
+ governance +
26
+ WORKSPACE_GOVERNANCE_CONTEXT_SUFFIX,
27
+ };
28
+ }
29
+
30
+ /** Accept the Chat Completions projection and SDK text-part normalization too. */
31
+ export function readWorkspaceGovernanceContext(item: Record<string, unknown>): string | null {
32
+ if (item.type === "unknown" && item.providerData && typeof item.providerData === "object") {
33
+ const data = item.providerData as Record<string, unknown>;
34
+ if (data.type === "message") return readWorkspaceGovernanceContext(data);
35
+ }
36
+ if (item.type !== "message" || (item.role !== "developer" && item.role !== "system")) return null;
37
+ const content =
38
+ typeof item.content === "string"
39
+ ? item.content
40
+ : Array.isArray(item.content) &&
41
+ item.content.every(
42
+ (part) =>
43
+ part &&
44
+ (part.type === "input_text" || part.type === "output_text" || part.type === "text") &&
45
+ typeof part.text === "string",
46
+ )
47
+ ? item.content.map((part) => part.text).join("")
48
+ : null;
49
+ const prefix = WORKSPACE_GOVERNANCE_CONTEXT_PREFIX + GUIDANCE;
50
+ return content?.startsWith(prefix) && content.endsWith(WORKSPACE_GOVERNANCE_CONTEXT_SUFFIX)
51
+ ? content.slice(prefix.length, -WORKSPACE_GOVERNANCE_CONTEXT_SUFFIX.length)
52
+ : null;
53
+ }
54
+
55
+ export function latestWorkspaceGovernanceContext(
56
+ items: readonly Record<string, unknown>[],
57
+ ): Record<string, unknown> | undefined {
58
+ for (let index = items.length - 1; index >= 0; index--) {
59
+ const governance = readWorkspaceGovernanceContext(items[index]!);
60
+ if (governance !== null) return workspaceGovernanceContextItem(governance);
61
+ }
62
+ return undefined;
63
+ }