@opengeni/contracts 3.1.0-canary.1 → 3.1.2

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 (434) hide show
  1. package/dist/agent-authored-durable-text.d.ts +9 -9
  2. package/dist/agent-config.d.ts +971 -0
  3. package/dist/agent-instruction-changes.d.ts +110 -0
  4. package/dist/agent-learning.d.ts +243 -0
  5. package/dist/allowance-refusal.d.ts +9 -0
  6. package/dist/allowance-refusal.js +50 -0
  7. package/dist/allowance-refusal.js.map +1 -0
  8. package/dist/analytics-consent-report.d.ts +19 -0
  9. package/dist/analytics-consent-report.js +10 -0
  10. package/dist/analytics-consent-report.js.map +1 -0
  11. package/dist/api-key-presets.d.ts +19 -0
  12. package/dist/artifact-catalog.d.ts +188 -0
  13. package/dist/artifacts.d.ts +86 -0
  14. package/dist/atlassian-native-retirement.d.ts +16 -0
  15. package/dist/atlassian-native-retirement.js +30 -0
  16. package/dist/atlassian-native-retirement.js.map +1 -0
  17. package/dist/atlassian.d.ts +1 -0
  18. package/dist/atlassian.js +34 -19
  19. package/dist/browser-storage.d.ts +5 -0
  20. package/dist/browser-storage.js +9 -0
  21. package/dist/browser-storage.js.map +1 -0
  22. package/dist/bundled-skills.d.ts +24 -1
  23. package/dist/canonical-human-identities.js +2 -1
  24. package/dist/chunk-2ZIHHL72.js +153 -0
  25. package/dist/chunk-2ZIHHL72.js.map +1 -0
  26. package/dist/{chunk-5LYFSZ7O.js → chunk-352X6ENP.js} +31 -31
  27. package/dist/chunk-4JGHSSB7.js +11 -0
  28. package/dist/chunk-4JGHSSB7.js.map +1 -0
  29. package/dist/chunk-4QO6GJUX.js +85 -0
  30. package/dist/chunk-4QO6GJUX.js.map +1 -0
  31. package/dist/chunk-4VDMHLLL.js +49 -0
  32. package/dist/chunk-4VDMHLLL.js.map +1 -0
  33. package/dist/chunk-56SNIMDO.js +9 -0
  34. package/dist/chunk-56SNIMDO.js.map +1 -0
  35. package/dist/chunk-6C2HKFTU.js +207 -0
  36. package/dist/chunk-6C2HKFTU.js.map +1 -0
  37. package/dist/chunk-6IXO76Z6.js +72 -0
  38. package/dist/chunk-6IXO76Z6.js.map +1 -0
  39. package/dist/chunk-7272KVWZ.js +60 -0
  40. package/dist/chunk-7272KVWZ.js.map +1 -0
  41. package/dist/{chunk-7ABONTXE.js → chunk-E3GGUBHS.js} +49 -5
  42. package/dist/chunk-E3GGUBHS.js.map +1 -0
  43. package/dist/chunk-EFZYKUE2.js +767 -0
  44. package/dist/chunk-EFZYKUE2.js.map +1 -0
  45. package/dist/chunk-EKWNTOG3.js +154 -0
  46. package/dist/chunk-EKWNTOG3.js.map +1 -0
  47. package/dist/chunk-HABQ7ADB.js +234 -0
  48. package/dist/chunk-HABQ7ADB.js.map +1 -0
  49. package/dist/chunk-HRRU4QPI.js +91 -0
  50. package/dist/chunk-HRRU4QPI.js.map +1 -0
  51. package/dist/{chunk-3SIZGL3O.js → chunk-IK36LXKC.js} +18 -2
  52. package/dist/chunk-IK36LXKC.js.map +1 -0
  53. package/dist/{chunk-TXTQIYCV.js → chunk-ILJ72KPO.js} +56 -3
  54. package/dist/chunk-ILJ72KPO.js.map +1 -0
  55. package/dist/chunk-J4HQ3UKY.js +93 -0
  56. package/dist/chunk-J4HQ3UKY.js.map +1 -0
  57. package/dist/chunk-KHHZTBP7.js +11 -0
  58. package/dist/chunk-KHHZTBP7.js.map +1 -0
  59. package/dist/{chunk-WYBDERIY.js → chunk-LZ2LAHIX.js} +47 -41
  60. package/dist/chunk-LZ2LAHIX.js.map +1 -0
  61. package/dist/chunk-NDZHPTCL.js +400 -0
  62. package/dist/chunk-NDZHPTCL.js.map +1 -0
  63. package/dist/chunk-OF6OKOBF.js +54793 -0
  64. package/dist/chunk-OF6OKOBF.js.map +1 -0
  65. package/dist/chunk-OL23ARTF.js +94 -0
  66. package/dist/chunk-OL23ARTF.js.map +1 -0
  67. package/dist/chunk-PUIUXIOL.js +189 -0
  68. package/dist/chunk-PUIUXIOL.js.map +1 -0
  69. package/dist/{chunk-WBYTNVIW.js → chunk-RKX3NQYS.js} +1 -1
  70. package/dist/{chunk-Y3KNXVTD.js → chunk-RMWXDZEO.js} +128 -21
  71. package/dist/chunk-RMWXDZEO.js.map +1 -0
  72. package/dist/{chunk-MRWYRAS5.js → chunk-SHO4YO4B.js} +27 -35
  73. package/dist/chunk-SHO4YO4B.js.map +1 -0
  74. package/dist/chunk-SWRN2DJ3.js +153 -0
  75. package/dist/chunk-SWRN2DJ3.js.map +1 -0
  76. package/dist/chunk-TCXCRBPF.js +267 -0
  77. package/dist/chunk-TCXCRBPF.js.map +1 -0
  78. package/dist/chunk-TLU3UEMD.js +324 -0
  79. package/dist/chunk-TLU3UEMD.js.map +1 -0
  80. package/dist/chunk-TSWWZMUS.js +186 -0
  81. package/dist/chunk-TSWWZMUS.js.map +1 -0
  82. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  83. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  84. package/dist/chunk-XDLAGX66.js +127 -0
  85. package/dist/chunk-XDLAGX66.js.map +1 -0
  86. package/dist/chunk-YKZ4WU4P.js +33 -0
  87. package/dist/chunk-YKZ4WU4P.js.map +1 -0
  88. package/dist/{chunk-O5LEQHDM.js → chunk-Z7WEVGCL.js} +3 -3
  89. package/dist/{chunk-YBW5JSA3.js → chunk-ZDCRWCGZ.js} +119 -101
  90. package/dist/chunk-ZDCRWCGZ.js.map +1 -0
  91. package/dist/claude-provider-account-authority.d.ts +18 -0
  92. package/dist/claude-subscription-oauth.d.ts +42 -0
  93. package/dist/claude-subscription-usage.d.ts +159 -0
  94. package/dist/client-error-report.d.ts +158 -0
  95. package/dist/client-error-report.js +164 -0
  96. package/dist/client-error-report.js.map +1 -0
  97. package/dist/code-search.d.ts +52 -0
  98. package/dist/code-search.js +40 -0
  99. package/dist/code-search.js.map +1 -0
  100. package/dist/codex-provider-account-authority.js +20 -12
  101. package/dist/codex-provider-account-authority.js.map +1 -1
  102. package/dist/company-brain.d.ts +19 -81
  103. package/dist/company-profile.d.ts +144 -6
  104. package/dist/connect.d.ts +37 -0
  105. package/dist/connect.js +216 -159
  106. package/dist/connect.js.map +1 -1
  107. package/dist/connection-account-label.d.ts +2 -0
  108. package/dist/connection-account-label.js +35 -0
  109. package/dist/connection-account-label.js.map +1 -0
  110. package/dist/connection-authority.d.ts +9 -317
  111. package/dist/connection-authority.js +37 -42
  112. package/dist/connector-attachments.js +2 -1
  113. package/dist/connector-destinations.js +2 -1
  114. package/dist/connector-tool-permissions.d.ts +137 -0
  115. package/dist/cua-desktop-tools.d.ts +17 -0
  116. package/dist/define-schema.d.ts +8 -0
  117. package/dist/direct-model-provider.d.ts +36 -0
  118. package/dist/editable-artifact-codec-registry.js +5 -5
  119. package/dist/editable-artifact-committed-transaction.js +3 -2
  120. package/dist/editable-artifact-live.js +5 -5
  121. package/dist/editable-artifact-serialized-commit.js +6 -6
  122. package/dist/editable-artifact-versions.d.ts +7 -1
  123. package/dist/editable-artifact-versions.js +1 -1
  124. package/dist/editable-artifacts.js +62 -56
  125. package/dist/event-preview.d.ts +22 -0
  126. package/dist/external-identities.d.ts +174 -0
  127. package/dist/external-identities.js +15 -4
  128. package/dist/first-party-tool-authorization.d.ts +815 -0
  129. package/dist/github-repository-contracts.js +60 -43
  130. package/dist/github-repository-contracts.js.map +1 -1
  131. package/dist/google-drive.d.ts +2 -1
  132. package/dist/google-drive.js +305 -238
  133. package/dist/google-drive.js.map +1 -1
  134. package/dist/host-mcp-bindings.d.ts +39 -10
  135. package/dist/host-mcp-bindings.js +256 -171
  136. package/dist/host-mcp-bindings.js.map +1 -1
  137. package/dist/image-generation.d.ts +1 -0
  138. package/dist/index.d.ts +15715 -3850
  139. package/dist/index.js +2088 -289
  140. package/dist/insights-usage.d.ts +877 -0
  141. package/dist/insights-usage.js +559 -0
  142. package/dist/insights-usage.js.map +1 -0
  143. package/dist/interaction.d.ts +1176 -829
  144. package/dist/knowledge-entries.d.ts +984 -0
  145. package/dist/knowledge-preparation.d.ts +239 -0
  146. package/dist/managed-auth-session-sets.d.ts +7 -0
  147. package/dist/managed-auth-session-sets.js +198 -132
  148. package/dist/managed-auth-session-sets.js.map +1 -1
  149. package/dist/managed-sign-in-methods.d.ts +56 -0
  150. package/dist/managed-sign-in-methods.js +64 -0
  151. package/dist/managed-sign-in-methods.js.map +1 -0
  152. package/dist/mcp-catalog-limits.d.ts +2 -0
  153. package/dist/mcp-endpoint.js +9 -0
  154. package/dist/mcp-endpoint.js.map +1 -0
  155. package/dist/mcp-oauth.d.ts +2 -2
  156. package/dist/mcp-structured-content.d.ts +25 -0
  157. package/dist/modal-native-proof-v2.d.ts +587 -0
  158. package/dist/modal-native-proof-v2.js +38 -0
  159. package/dist/modal-native-proof-v2.js.map +1 -0
  160. package/dist/model-account-choice.d.ts +235 -0
  161. package/dist/model-account-settings.d.ts +422 -0
  162. package/dist/model-availability.d.ts +15 -0
  163. package/dist/model-connection-access.d.ts +13 -0
  164. package/dist/model-context-inspector.d.ts +98 -0
  165. package/dist/model-display.d.ts +43 -0
  166. package/dist/model-display.js +17 -0
  167. package/dist/model-display.js.map +1 -0
  168. package/dist/model-picker-order.d.ts +3 -1
  169. package/dist/model-picker-order.js +3 -0
  170. package/dist/model-picker-order.js.map +1 -1
  171. package/dist/organization-access.d.ts +412 -0
  172. package/dist/organization-access.js +39 -0
  173. package/dist/organization-access.js.map +1 -0
  174. package/dist/organization-integration-policy.d.ts +27 -0
  175. package/dist/organization-membership-lifecycle.d.ts +38 -0
  176. package/dist/organization-model-usage.d.ts +146 -0
  177. package/dist/organization-model-usage.js +78 -0
  178. package/dist/organization-model-usage.js.map +1 -0
  179. package/dist/organization-recovery.js +2 -1
  180. package/dist/organization-usage.d.ts +138 -0
  181. package/dist/permissions.d.ts +18 -0
  182. package/dist/personal-github.d.ts +1 -0
  183. package/dist/personal-github.js +199 -144
  184. package/dist/personal-github.js.map +1 -1
  185. package/dist/plugin-discovery.js +1 -1
  186. package/dist/prepared-mcp-setup.d.ts +54 -0
  187. package/dist/prepared-mcp-setup.js +12 -0
  188. package/dist/prepared-mcp-setup.js.map +1 -0
  189. package/dist/product-analytics.d.ts +116 -0
  190. package/dist/product-lifecycle-facts.d.ts +73 -0
  191. package/dist/remember.d.ts +98 -6
  192. package/dist/retained-output.d.ts +8 -0
  193. package/dist/sandbox-file-artifacts.d.ts +1 -0
  194. package/dist/sandbox-provider-command.d.ts +91 -1
  195. package/dist/sandbox-recovery.d.ts +146 -0
  196. package/dist/secret-generator.d.ts +44 -0
  197. package/dist/secret-references.d.ts +90 -0
  198. package/dist/secret-resolution.d.ts +111 -0
  199. package/dist/secret-totp.d.ts +41 -0
  200. package/dist/session-final-reply.d.ts +6 -0
  201. package/dist/session-final-reply.js +9 -0
  202. package/dist/session-final-reply.js.map +1 -0
  203. package/dist/session-goal-reports.d.ts +21 -0
  204. package/dist/session-history-import.d.ts +1272 -0
  205. package/dist/session-list-entries.d.ts +4 -0
  206. package/dist/session-list-entries.js +56 -0
  207. package/dist/session-list-entries.js.map +1 -0
  208. package/dist/session-mcp-projections.d.ts +6 -0
  209. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  210. package/dist/session-message-search.d.ts +68 -0
  211. package/dist/session-target.d.ts +18 -0
  212. package/dist/session-titles.d.ts +8 -0
  213. package/dist/session-titles.js +5 -1
  214. package/dist/session-usage-limit-refusal.d.ts +34 -0
  215. package/dist/session-usage-limit-refusal.js +15 -0
  216. package/dist/session-usage-limit-refusal.js.map +1 -0
  217. package/dist/session-usage-limits.d.ts +127 -0
  218. package/dist/session-usage-limits.js +41 -0
  219. package/dist/session-usage-limits.js.map +1 -0
  220. package/dist/signup-attribution.d.ts +39 -0
  221. package/dist/site-data.d.ts +286 -0
  222. package/dist/site-operations.d.ts +39 -0
  223. package/dist/site-publishing.d.ts +778 -0
  224. package/dist/site-session-http.d.ts +89 -4
  225. package/dist/site-session-http.js +25 -1
  226. package/dist/site-sql.d.ts +421 -0
  227. package/dist/skill-catalog-context.d.ts +7 -0
  228. package/dist/skill-files.d.ts +1 -1
  229. package/dist/skill-use.d.ts +61 -0
  230. package/dist/skills.d.ts +15 -0
  231. package/dist/slack-bot-scopes.d.ts +17 -12
  232. package/dist/slack-bot-scopes.js +10 -3
  233. package/dist/slack-rest-mcp.d.ts +36 -0
  234. package/dist/slack-rest-mcp.js +25 -0
  235. package/dist/slack-rest-mcp.js.map +1 -0
  236. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  237. package/dist/spreadsheet-artifact-commands.js +8 -2
  238. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  239. package/dist/spreadsheet-artifact-query.js +3 -3
  240. package/dist/subscription-account-actions.d.ts +64 -0
  241. package/dist/subscription-account-pools.d.ts +292 -0
  242. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  243. package/dist/subscription-personal-authority-v2.js +12 -0
  244. package/dist/subscription-personal-authority-v2.js.map +1 -0
  245. package/dist/tool-action-review.d.ts +132 -0
  246. package/dist/tool-catalog.d.ts +408 -0
  247. package/dist/tool-policy.d.ts +5 -0
  248. package/dist/tool-review-presentation.d.ts +12 -0
  249. package/dist/tool-review-presentation.js +17 -0
  250. package/dist/tool-review-presentation.js.map +1 -0
  251. package/dist/transcription-recordings.d.ts +21 -0
  252. package/dist/turn-serving-policy.d.ts +221 -0
  253. package/dist/usage-allowances.d.ts +314 -0
  254. package/dist/usage-allowances.js +52 -0
  255. package/dist/usage-allowances.js.map +1 -0
  256. package/dist/vaults.d.ts +1286 -0
  257. package/dist/video-generation.d.ts +3 -0
  258. package/dist/video-generation.js +2 -1
  259. package/dist/workspace-instruction-policies.d.ts +13 -0
  260. package/dist/workspace-integration-wire.d.ts +36 -0
  261. package/dist/workspace-integration-wire.js +23 -0
  262. package/dist/workspace-integration-wire.js.map +1 -0
  263. package/dist/workspace-integrations.d.ts +1028 -0
  264. package/dist/workspace-state.d.ts +85 -416
  265. package/dist/xai-provider-account-authority.js +2 -1
  266. package/package.json +98 -2
  267. package/src/agent-authored-durable-text.ts +14 -11
  268. package/src/agent-config.ts +1698 -0
  269. package/src/agent-instruction-changes.ts +115 -0
  270. package/src/agent-learning.ts +188 -0
  271. package/src/agent-topology.ts +57 -52
  272. package/src/allowance-refusal.ts +81 -0
  273. package/src/analytics-consent-report.ts +20 -0
  274. package/src/api-key-presets.ts +28 -0
  275. package/src/artifact-catalog.ts +82 -0
  276. package/src/artifacts.ts +299 -227
  277. package/src/atlassian-native-retirement.ts +33 -0
  278. package/src/atlassian.ts +135 -108
  279. package/src/browser-storage.ts +10 -0
  280. package/src/bundled-skills.ts +60 -17
  281. package/src/canonical-human-identities.ts +60 -58
  282. package/src/claude-provider-account-authority.ts +12 -0
  283. package/src/claude-subscription-oauth.ts +73 -0
  284. package/src/claude-subscription-usage.ts +68 -0
  285. package/src/client-error-report.ts +343 -0
  286. package/src/code-search.ts +105 -0
  287. package/src/codex-provider-account-authority.ts +21 -16
  288. package/src/company-brain-governed-writes.ts +255 -233
  289. package/src/company-brain.ts +164 -153
  290. package/src/company-profile.ts +365 -292
  291. package/src/connect.ts +212 -173
  292. package/src/connection-account-label.ts +46 -0
  293. package/src/connection-authority.ts +183 -364
  294. package/src/connector-attachments.ts +137 -122
  295. package/src/connector-destinations.ts +46 -42
  296. package/src/connector-tool-permissions.ts +117 -0
  297. package/src/cua-desktop-tools.gen.json +6512 -0
  298. package/src/cua-desktop-tools.linux.gen.json +6600 -0
  299. package/src/cua-desktop-tools.ts +36 -0
  300. package/src/cua-desktop-tools.windows.gen.json +6353 -0
  301. package/src/define-schema.ts +10 -0
  302. package/src/direct-model-provider.ts +108 -0
  303. package/src/editable-artifact-committed-transaction.ts +17 -0
  304. package/src/editable-artifact-versions.ts +7 -1
  305. package/src/event-preview.ts +53 -3
  306. package/src/external-identities.ts +262 -145
  307. package/src/feedback.ts +43 -30
  308. package/src/first-party-tool-authorization.ts +356 -0
  309. package/src/github-repository-contracts.ts +78 -64
  310. package/src/google-drive.ts +285 -234
  311. package/src/governed-learning-activation.ts +152 -131
  312. package/src/governed-learning-evaluator.ts +140 -133
  313. package/src/host-mcp-bindings.ts +292 -198
  314. package/src/image-generation.ts +104 -95
  315. package/src/index.ts +13354 -8654
  316. package/src/insights-usage.ts +727 -0
  317. package/src/interaction.ts +3070 -2326
  318. package/src/knowledge-entries.ts +428 -0
  319. package/src/knowledge-preparation.ts +57 -0
  320. package/src/knowledge.ts +246 -213
  321. package/src/managed-auth-session-sets.ts +220 -144
  322. package/src/managed-sign-in-methods.ts +52 -0
  323. package/src/mcp-catalog-limits.ts +2 -0
  324. package/src/mcp-oauth.ts +43 -34
  325. package/src/mcp-receipts.ts +192 -192
  326. package/src/mcp-structured-content.ts +81 -0
  327. package/src/memory-slack-delivery.ts +171 -142
  328. package/src/modal-native-proof-v2.ts +429 -0
  329. package/src/model-account-choice.ts +177 -0
  330. package/src/model-account-settings.ts +210 -0
  331. package/src/model-availability.ts +22 -0
  332. package/src/model-connection-access.ts +61 -14
  333. package/src/model-context-inspector.ts +133 -99
  334. package/src/model-display.ts +221 -0
  335. package/src/model-picker-order.ts +12 -1
  336. package/src/organization-access.ts +217 -0
  337. package/src/organization-integration-policy.ts +63 -0
  338. package/src/organization-membership-lifecycle.ts +528 -382
  339. package/src/organization-model-usage.ts +81 -0
  340. package/src/organization-recovery.ts +147 -135
  341. package/src/organization-usage.ts +94 -0
  342. package/src/permissions.ts +88 -52
  343. package/src/personal-github.ts +210 -171
  344. package/src/preference-registry.ts +314 -258
  345. package/src/prepared-mcp-setup.ts +189 -0
  346. package/src/product-analytics.ts +261 -0
  347. package/src/product-lifecycle-facts.ts +122 -0
  348. package/src/remember.ts +181 -167
  349. package/src/retained-output.ts +194 -165
  350. package/src/sandbox-file-artifacts.ts +60 -47
  351. package/src/sandbox-provider-command.ts +88 -20
  352. package/src/sandbox-recovery.ts +129 -0
  353. package/src/scoped-knowledge.ts +61 -43
  354. package/src/secret-generator.ts +155 -0
  355. package/src/secret-references.ts +414 -0
  356. package/src/secret-resolution.ts +274 -0
  357. package/src/secret-totp.ts +188 -0
  358. package/src/session-final-reply.ts +16 -0
  359. package/src/session-goal-reports.ts +64 -0
  360. package/src/session-history-import.ts +177 -0
  361. package/src/session-list-entries.ts +96 -0
  362. package/src/session-mcp-projections.ts +11 -0
  363. package/src/session-mcp-tool-permissions.ts +108 -0
  364. package/src/session-message-search.ts +61 -0
  365. package/src/session-target.ts +57 -0
  366. package/src/session-titles.ts +80 -10
  367. package/src/session-topology-primitives.ts +19 -12
  368. package/src/session-usage-limit-refusal.ts +101 -0
  369. package/src/session-usage-limits.ts +171 -0
  370. package/src/signup-attribution.ts +86 -0
  371. package/src/site-data.ts +339 -0
  372. package/src/site-operations.ts +154 -0
  373. package/src/site-publishing.ts +876 -0
  374. package/src/site-session-http.ts +294 -16
  375. package/src/site-sql.ts +1123 -0
  376. package/src/skill-catalog-context.ts +50 -0
  377. package/src/skill-files.ts +3 -3
  378. package/src/skill-use.ts +80 -0
  379. package/src/skills.ts +82 -54
  380. package/src/slack-bot-scopes.ts +31 -39
  381. package/src/slack-rest-mcp.ts +222 -0
  382. package/src/slack-task-policy.ts +96 -73
  383. package/src/spreadsheet-artifact-commands.ts +73 -2
  384. package/src/spreadsheet-artifact-query.ts +187 -39
  385. package/src/subscription-account-actions.ts +84 -0
  386. package/src/subscription-account-pools.ts +53 -0
  387. package/src/subscription-personal-authority-v2.ts +66 -0
  388. package/src/task-notes.ts +55 -51
  389. package/src/tool-action-review.ts +258 -0
  390. package/src/tool-catalog.ts +609 -372
  391. package/src/tool-policy.ts +82 -0
  392. package/src/tool-result-spill.ts +12 -9
  393. package/src/tool-review-presentation.ts +385 -0
  394. package/src/transcription-recordings.ts +145 -131
  395. package/src/turn-serving-policy.ts +166 -0
  396. package/src/usage-allowances.ts +248 -0
  397. package/src/vaults.ts +850 -0
  398. package/src/video-generation.ts +385 -360
  399. package/src/work-claims.ts +173 -149
  400. package/src/workspace-instruction-policies.ts +349 -275
  401. package/src/workspace-integration-wire.ts +101 -0
  402. package/src/workspace-integrations.ts +724 -0
  403. package/src/workspace-learning-administration.ts +57 -44
  404. package/src/workspace-learning-policy.ts +127 -96
  405. package/src/workspace-state.ts +253 -333
  406. package/src/xai-provider-account-authority.ts +22 -17
  407. package/dist/chunk-3SIZGL3O.js.map +0 -1
  408. package/dist/chunk-7ABONTXE.js.map +0 -1
  409. package/dist/chunk-BCS7WHCK.js +0 -139
  410. package/dist/chunk-BCS7WHCK.js.map +0 -1
  411. package/dist/chunk-GRG7PHWQ.js +0 -25
  412. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  413. package/dist/chunk-JUFK3T4Q.js +0 -80
  414. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  415. package/dist/chunk-M5ZGRVIQ.js +0 -719
  416. package/dist/chunk-M5ZGRVIQ.js.map +0 -1
  417. package/dist/chunk-MRWYRAS5.js.map +0 -1
  418. package/dist/chunk-OSBYTE3O.js +0 -348
  419. package/dist/chunk-OSBYTE3O.js.map +0 -1
  420. package/dist/chunk-P3HLDT77.js +0 -59
  421. package/dist/chunk-P3HLDT77.js.map +0 -1
  422. package/dist/chunk-TEMFILR7.js +0 -143
  423. package/dist/chunk-TEMFILR7.js.map +0 -1
  424. package/dist/chunk-TXTQIYCV.js.map +0 -1
  425. package/dist/chunk-UR2GFYIE.js +0 -22598
  426. package/dist/chunk-UR2GFYIE.js.map +0 -1
  427. package/dist/chunk-WYBDERIY.js.map +0 -1
  428. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  429. package/dist/chunk-YBW5JSA3.js.map +0 -1
  430. package/dist/chunk-YRXAWWCU.js +0 -45
  431. package/dist/chunk-YRXAWWCU.js.map +0 -1
  432. /package/dist/{chunk-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
  433. /package/dist/{chunk-WBYTNVIW.js.map → chunk-RKX3NQYS.js.map} +0 -0
  434. /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
@@ -0,0 +1,210 @@
1
+ import { defineSchema } from "./define-schema";
2
+ import { z } from "zod";
3
+
4
+ /**
5
+ * Organization model-account settings with lockable workspace overrides and
6
+ * the organization overview (contract SUB-SET-01..05). The organization sets
7
+ * every value; a shared workspace may override a value unless the
8
+ * organization locked it. Each effective value reports where it comes from.
9
+ */
10
+ export const MODEL_ACCOUNT_SETTING_KEYS = [
11
+ "rotation",
12
+ "providers",
13
+ "crossProviderFailover",
14
+ "fallbackOrder",
15
+ "personalConnectionsAllowed",
16
+ "personalFallbackAllowed",
17
+ ] as const;
18
+ export const ModelAccountSettingKey = /* @__PURE__ */ defineSchema(() =>
19
+ z.enum(MODEL_ACCOUNT_SETTING_KEYS),
20
+ );
21
+ export type ModelAccountSettingKey = z.infer<typeof ModelAccountSettingKey>;
22
+
23
+ /** organization: the organization value; workspace: this workspace's override; locked: the organization value, which workspaces cannot override. */
24
+ export const ModelAccountSettingSource = /* @__PURE__ */ defineSchema(() =>
25
+ z.enum(["organization", "workspace", "locked"]),
26
+ );
27
+ export type ModelAccountSettingSource = z.infer<typeof ModelAccountSettingSource>;
28
+
29
+ const SAFE_KEY = (key: string) => !["__proto__", "constructor", "prototype"].includes(key);
30
+ const ModelId = /* @__PURE__ */ defineSchema(() => z.string().min(1).max(200).refine(SAFE_KEY));
31
+ const ProviderId = /* @__PURE__ */ defineSchema(() =>
32
+ z
33
+ .string()
34
+ .regex(/^[a-z][a-z0-9_]{1,31}$/)
35
+ .refine(SAFE_KEY),
36
+ );
37
+
38
+ export const ModelAccountRotationMode = /* @__PURE__ */ defineSchema(() =>
39
+ z.enum(["spread", "primary_first"]),
40
+ );
41
+ export type ModelAccountRotationMode = z.infer<typeof ModelAccountRotationMode>;
42
+
43
+ /** Ordered fallback models for a preferred model (at most 64 models, 8 fallbacks each). */
44
+ export const ModelAccountFallbackOrder = /* @__PURE__ */ defineSchema(() =>
45
+ z
46
+ .record(ModelId, z.array(ModelId).max(8))
47
+ .refine((value) => Object.keys(value).length <= 64, "At most 64 models"),
48
+ );
49
+
50
+ export const ModelAccountSettingValues = /* @__PURE__ */ defineSchema(() =>
51
+ z.object({
52
+ rotation: z.record(
53
+ z.string(),
54
+ z.object({
55
+ mode: ModelAccountRotationMode,
56
+ primaryConnectionId: z.string().nullable().optional(),
57
+ }),
58
+ ),
59
+ providers: z.record(
60
+ z.string(),
61
+ z.object({
62
+ inferenceSource: z.enum(["automatic", "workspace", "organization"]).optional(),
63
+ useOrganizationAccounts: z.boolean(),
64
+ enabled: z.boolean(),
65
+ }),
66
+ ),
67
+ crossProviderFailover: z.boolean(),
68
+ fallbackOrder: z.record(z.string(), z.array(z.string())),
69
+ personalConnectionsAllowed: z.boolean(),
70
+ personalFallbackAllowed: z.boolean(),
71
+ }),
72
+ );
73
+ export type ModelAccountSettingValues = z.infer<typeof ModelAccountSettingValues>;
74
+
75
+ const ModelAccountSettingSources = /* @__PURE__ */ defineSchema(() =>
76
+ z.object({
77
+ rotation: ModelAccountSettingSource,
78
+ providers: ModelAccountSettingSource,
79
+ crossProviderFailover: ModelAccountSettingSource,
80
+ fallbackOrder: ModelAccountSettingSource,
81
+ personalConnectionsAllowed: ModelAccountSettingSource,
82
+ personalFallbackAllowed: ModelAccountSettingSource,
83
+ }),
84
+ );
85
+
86
+ const EntrySource = /* @__PURE__ */ defineSchema(() =>
87
+ z.record(z.string(), z.enum(["organization", "workspace"])),
88
+ );
89
+
90
+ /** Effective values with one source per setting and, for map-valued settings, per entry. */
91
+ const ModelAccountSettingsView = /* @__PURE__ */ defineSchema(() =>
92
+ z.object({
93
+ values: ModelAccountSettingValues,
94
+ sources: ModelAccountSettingSources,
95
+ entrySources: z.object({
96
+ rotation: EntrySource,
97
+ providers: EntrySource,
98
+ fallbackOrder: EntrySource,
99
+ }),
100
+ }),
101
+ );
102
+
103
+ export const OrganizationModelAccountSettings = /* @__PURE__ */ defineSchema(() =>
104
+ z.object({
105
+ organizationId: z.string(),
106
+ values: ModelAccountSettingValues,
107
+ locked: z.array(ModelAccountSettingKey),
108
+ /** Pass back as `expectedVersion` to refuse a write over a concurrent change. */
109
+ version: z.number().int().nonnegative(),
110
+ updatedAt: z.string().nullable(),
111
+ }),
112
+ );
113
+ export type OrganizationModelAccountSettings = z.infer<typeof OrganizationModelAccountSettings>;
114
+
115
+ /**
116
+ * PATCH body for the organization: omitted fields are kept; `fallbackOrder`
117
+ * and `locked` replace the stored value; `rotation` sets the mode of each
118
+ * named provider whose accounts run on the shared core. Locking a setting
119
+ * clears every workspace override of it.
120
+ */
121
+ export const UpdateOrganizationModelAccountSettingsRequest = /* @__PURE__ */ defineSchema(() =>
122
+ z
123
+ .object({
124
+ crossProviderFailover: z.boolean().optional(),
125
+ fallbackOrder: ModelAccountFallbackOrder.optional(),
126
+ personalConnectionsAllowed: z.boolean().optional(),
127
+ personalFallbackAllowed: z.boolean().optional(),
128
+ rotation: z
129
+ .record(ProviderId, z.object({ mode: ModelAccountRotationMode }).strict())
130
+ .optional(),
131
+ locked: z.array(ModelAccountSettingKey).max(MODEL_ACCOUNT_SETTING_KEYS.length).optional(),
132
+ expectedVersion: z.number().int().nonnegative().optional(),
133
+ })
134
+ .strict(),
135
+ );
136
+ export type UpdateOrganizationModelAccountSettingsRequest = z.infer<
137
+ typeof UpdateOrganizationModelAccountSettingsRequest
138
+ >;
139
+
140
+ /** A workspace's stored overrides: null follows the organization. */
141
+ export const ModelAccountSettingOverrides = /* @__PURE__ */ defineSchema(() =>
142
+ z.object({
143
+ rotation: z.record(z.string(), z.unknown()).nullable(),
144
+ providers: z.record(z.string(), z.unknown()).nullable(),
145
+ crossProviderFailover: z.boolean().nullable(),
146
+ fallbackOrder: z.record(z.string(), z.array(z.string())).nullable(),
147
+ personalConnectionsAllowed: z.boolean().nullable(),
148
+ personalFallbackAllowed: z.boolean().nullable(),
149
+ }),
150
+ );
151
+
152
+ export const WorkspaceModelAccountSettings = /* @__PURE__ */ defineSchema(() =>
153
+ ModelAccountSettingsView.extend({
154
+ workspaceId: z.string(),
155
+ locked: z.array(ModelAccountSettingKey),
156
+ overrides: ModelAccountSettingOverrides,
157
+ version: z.number().int().nonnegative(),
158
+ updatedAt: z.string().nullable(),
159
+ /** Whether the caller may change this workspace's overrides. */
160
+ canEdit: z.boolean(),
161
+ }),
162
+ );
163
+ export type WorkspaceModelAccountSettings = z.infer<typeof WorkspaceModelAccountSettings>;
164
+
165
+ /**
166
+ * PATCH body for a workspace: omitted fields are kept and `null` follows the
167
+ * organization again. `fallbackOrder` and `rotation` change entry by entry;
168
+ * a `null` entry follows the organization for that entry. A setting the
169
+ * organization locked cannot be set.
170
+ */
171
+ export const UpdateWorkspaceModelAccountSettingsRequest = /* @__PURE__ */ defineSchema(() =>
172
+ z
173
+ .object({
174
+ crossProviderFailover: z.boolean().nullable().optional(),
175
+ personalConnectionsAllowed: z.boolean().nullable().optional(),
176
+ personalFallbackAllowed: z.boolean().nullable().optional(),
177
+ fallbackOrder: z
178
+ .record(ModelId, z.array(ModelId).max(8).nullable())
179
+ .refine((value) => Object.keys(value).length <= 64, "At most 64 models")
180
+ .nullable()
181
+ .optional(),
182
+ rotation: z
183
+ .record(ProviderId, z.object({ mode: ModelAccountRotationMode }).strict().nullable())
184
+ .nullable()
185
+ .optional(),
186
+ expectedVersion: z.number().int().nonnegative().optional(),
187
+ })
188
+ .strict(),
189
+ );
190
+ export type UpdateWorkspaceModelAccountSettingsRequest = z.infer<
191
+ typeof UpdateWorkspaceModelAccountSettingsRequest
192
+ >;
193
+
194
+ export const ModelAccountSettingsOverviewWorkspace = /* @__PURE__ */ defineSchema(() =>
195
+ ModelAccountSettingsView.extend({
196
+ workspaceId: z.string(),
197
+ name: z.string(),
198
+ }),
199
+ );
200
+
201
+ /** Every shared workspace's effective settings and sources, in pages ordered by workspace id. */
202
+ export const ModelAccountSettingsOverview = /* @__PURE__ */ defineSchema(() =>
203
+ z.object({
204
+ organization: OrganizationModelAccountSettings,
205
+ workspaces: z.array(ModelAccountSettingsOverviewWorkspace),
206
+ /** Pass as `after` for the next page; null after the last workspace. */
207
+ nextCursor: z.string().nullable(),
208
+ }),
209
+ );
210
+ export type ModelAccountSettingsOverview = z.infer<typeof ModelAccountSettingsOverview>;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `details.code` on a 422 `validation_failed` envelope when the requested or
3
+ * stored model is not in the live model catalog (retired, removed, or never
4
+ * offered). Retrying the same request cannot succeed; the client must choose
5
+ * another model. Additive to the public error envelope: `code` stays
6
+ * `validation_failed` and the message keeps its historical text.
7
+ */
8
+ export const MODEL_UNAVAILABLE_ERROR_CODE = "model_unavailable" as const;
9
+
10
+ /** Typed cause for a model that is not selectable in the live catalog. */
11
+ export class ModelUnavailableError extends Error {
12
+ readonly code = MODEL_UNAVAILABLE_ERROR_CODE;
13
+
14
+ constructor(readonly modelId: string) {
15
+ super(`model is not available: ${modelId}`);
16
+ this.name = "ModelUnavailableError";
17
+ }
18
+ }
19
+
20
+ export function isModelUnavailableError(error: unknown): error is ModelUnavailableError {
21
+ return error instanceof ModelUnavailableError;
22
+ }
@@ -1,17 +1,64 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
- export const ModelConnectionAccessPolicy = z
4
- .object({
5
- allowedModels: z.array(z.string().trim().min(1).max(256)).max(500).nullable(),
6
- allowedWorkspaces: z.array(z.string().uuid()).max(500).nullable(),
7
- allowPersonalWorkspaces: z.boolean(),
8
- version: z.number().int().positive(),
9
- })
10
- .strict();
4
+ export const ModelConnectionAccessPolicy = /* @__PURE__ */ defineSchema(() =>
5
+ z
6
+ .object({
7
+ allowedModels: z.array(z.string().trim().min(1).max(256)).max(500).nullable(),
8
+ /**
9
+ * Organization-pool grants: the shared workspaces that may use the account,
10
+ * or null for every shared workspace, including ones created later. A
11
+ * workspace's own copy (`localWorkspaceIds` in the response) is reported
12
+ * separately and is never cleared by this list.
13
+ */
14
+ allowedWorkspaces: z.array(z.string().uuid()).max(500).nullable(),
15
+ allowPersonalWorkspaces: z.boolean(),
16
+ /**
17
+ * Organization memberships of the chosen people, or null when the account
18
+ * is not limited to people. Non-null requires `allowedWorkspaces: []` and
19
+ * `allowPersonalWorkspaces: false`. Only organization accounts on the shared
20
+ * subscription core support it (`peopleSupported`).
21
+ */
22
+ allowedPeople: z.array(z.string().uuid()).max(1000).nullable().optional(),
23
+ /** Explicit owner consent to convert a personal subscription into a shared account. */
24
+ sharePersonal: z.literal(true).optional(),
25
+ version: z.number().int().positive(),
26
+ })
27
+ .strict(),
28
+ );
11
29
 
12
- export const ModelConnectionAccessResponse = z.object({
13
- policy: ModelConnectionAccessPolicy,
14
- models: z.array(z.object({ id: z.string(), label: z.string() })),
15
- workspaces: z.array(z.object({ id: z.string().uuid(), name: z.string() })),
16
- personalWorkspacesSupported: z.boolean(),
17
- });
30
+ export const ModelConnectionAccessResponse = /* @__PURE__ */ defineSchema(() =>
31
+ z.object({
32
+ policy: ModelConnectionAccessPolicy,
33
+ models: z.array(z.object({ id: z.string(), label: z.string() })),
34
+ workspaces: z.array(z.object({ id: z.string().uuid(), name: z.string() })),
35
+ personalWorkspacesSupported: z.boolean(),
36
+ /**
37
+ * The account can be limited to chosen people (`allowedPeople`): an
38
+ * organization account no workspace manages (people scope would hide it
39
+ * from a managing workspace's administrators).
40
+ */
41
+ peopleSupported: z.boolean().optional(),
42
+ /** The people an administrator can choose: active members of the organization. */
43
+ people: z
44
+ .array(
45
+ z.object({
46
+ id: z.string().uuid(),
47
+ name: z.string().nullable(),
48
+ email: z.string().nullable(),
49
+ }),
50
+ )
51
+ .max(1000)
52
+ .optional(),
53
+ /**
54
+ * Workspaces that use the account as their own (it was connected there).
55
+ * They keep it whatever is chosen for workspaces; choosing people limits
56
+ * them to the chosen people too.
57
+ */
58
+ localWorkspaceIds: z.array(z.string().uuid()).max(500).optional(),
59
+ /** The workspace whose administrators also manage the account, if any. */
60
+ managedByWorkspaceId: z.string().uuid().nullable().optional(),
61
+ /** Exact personal owner is also an organization administrator; sharing requires explicit consent. */
62
+ personalSharingSupported: z.boolean().optional(),
63
+ }),
64
+ );
@@ -1,4 +1,6 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
3
+ import { AGENT_PROMPT_MODULE_IDS, AgentPromptModuleId } from "./agent-config";
2
4
 
3
5
  export const MODEL_CONTEXT_SNAPSHOT_VERSION = 1 as const;
4
6
  export const MODEL_CONTEXT_INSTRUCTIONS_MAX_UTF8_BYTES = 8 * 1024 * 1024;
@@ -7,119 +9,151 @@ export const MODEL_CONTEXT_LAYER_MAX_COUNT = 16;
7
9
  export const MODEL_CONTEXT_TOOL_MAX_COUNT = 2_048;
8
10
  export const MODEL_CONTEXT_SKILL_MAX_COUNT = 1_024;
9
11
 
10
- export const ModelContextInstructionLayerId = z.enum([
11
- "skill_catalog",
12
- "operational_contract",
13
- "persona_and_core",
14
- "workspace_governance",
15
- "session_instructions",
16
- "workspace_memory",
17
- "codemode",
18
- "git_bindings",
19
- "builtin_skills",
20
- "genesis_title",
21
- "sdk_capability_instructions",
22
- "sandbox_preamble",
23
- "sandbox_filesystem",
24
- "sent_system_instructions",
25
- ]);
12
+ export const ModelContextInstructionLayerId = /* @__PURE__ */ defineSchema(() =>
13
+ z.enum([
14
+ "skill_catalog",
15
+ "operational_contract",
16
+ "persona_and_core",
17
+ "workspace_governance",
18
+ "session_instructions",
19
+ "workspace_memory",
20
+ "codemode",
21
+ "code_search",
22
+ "git_bindings",
23
+ "builtin_skills",
24
+ "genesis_title",
25
+ "sdk_capability_instructions",
26
+ "sandbox_preamble",
27
+ "sandbox_filesystem",
28
+ "sent_system_instructions",
29
+ "identity",
30
+ ]),
31
+ );
26
32
  export type ModelContextInstructionLayerId = z.infer<typeof ModelContextInstructionLayerId>;
27
33
 
28
- export const ModelContextInstructionLayer = z
29
- .object({
30
- id: ModelContextInstructionLayerId,
31
- title: z.string().min(1).max(120),
32
- content: z.string(),
33
- utf8Bytes: z.number().int().nonnegative(),
34
- estimatedTokens: z.number().int().nonnegative(),
35
- })
36
- .strict();
34
+ /** One prompt module inside a layer (modular operational contract only). */
35
+ export const ModelContextInstructionModule = /* @__PURE__ */ defineSchema(() =>
36
+ z
37
+ .object({
38
+ id: AgentPromptModuleId,
39
+ chars: z.number().int().nonnegative(),
40
+ })
41
+ .strict(),
42
+ );
43
+ export type ModelContextInstructionModule = z.infer<typeof ModelContextInstructionModule>;
44
+
45
+ export const ModelContextInstructionLayer = /* @__PURE__ */ defineSchema(() =>
46
+ z
47
+ .object({
48
+ id: ModelContextInstructionLayerId,
49
+ title: z.string().min(1).max(120),
50
+ content: z.string(),
51
+ utf8Bytes: z.number().int().nonnegative(),
52
+ estimatedTokens: z.number().int().nonnegative(),
53
+ // Composition-order prompt modules of a modular operational contract.
54
+ modules: z
55
+ .array(ModelContextInstructionModule)
56
+ .max(AGENT_PROMPT_MODULE_IDS.length)
57
+ .optional(),
58
+ })
59
+ .strict(),
60
+ );
37
61
  export type ModelContextInstructionLayer = z.infer<typeof ModelContextInstructionLayer>;
38
62
 
39
- export const ModelContextToolVisibility = z.enum(["eager", "searchable"]);
63
+ export const ModelContextToolVisibility = /* @__PURE__ */ defineSchema(() =>
64
+ z.enum(["eager", "searchable"]),
65
+ );
40
66
  export type ModelContextToolVisibility = z.infer<typeof ModelContextToolVisibility>;
41
67
 
42
- export const ModelContextTool = z
43
- .object({
44
- name: z.string().min(1).max(256),
45
- type: z.string().min(1).max(64),
46
- visibility: ModelContextToolVisibility,
47
- description: z.string().max(16_384).optional(),
48
- namespace: z.string().max(256).optional(),
49
- schema: z.unknown().optional(),
50
- utf8Bytes: z.number().int().nonnegative(),
51
- estimatedTokens: z.number().int().nonnegative(),
52
- })
53
- .strict();
68
+ export const ModelContextTool = /* @__PURE__ */ defineSchema(() =>
69
+ z
70
+ .object({
71
+ name: z.string().min(1).max(256),
72
+ type: z.string().min(1).max(64),
73
+ visibility: ModelContextToolVisibility,
74
+ description: z.string().max(16_384).optional(),
75
+ namespace: z.string().max(256).optional(),
76
+ schema: z.unknown().optional(),
77
+ utf8Bytes: z.number().int().nonnegative(),
78
+ estimatedTokens: z.number().int().nonnegative(),
79
+ })
80
+ .strict(),
81
+ );
54
82
  export type ModelContextTool = z.infer<typeof ModelContextTool>;
55
83
 
56
- export const ModelContextSkillKind = z.enum([
57
- "preference_descriptor",
58
- "runtime_skill",
59
- "native_tool_skill",
60
- ]);
84
+ export const ModelContextSkillKind = /* @__PURE__ */ defineSchema(() =>
85
+ z.enum(["preference_descriptor", "runtime_skill", "native_tool_skill"]),
86
+ );
61
87
  export type ModelContextSkillKind = z.infer<typeof ModelContextSkillKind>;
62
88
 
63
- export const ModelContextSkill = z
64
- .object({
65
- kind: ModelContextSkillKind,
66
- name: z.string().min(1).max(128),
67
- description: z.string().max(8_192),
68
- source: z.string().max(64).optional(),
69
- path: z.string().max(1_024).optional(),
70
- })
71
- .strict();
89
+ export const ModelContextSkill = /* @__PURE__ */ defineSchema(() =>
90
+ z
91
+ .object({
92
+ kind: ModelContextSkillKind,
93
+ name: z.string().min(1).max(128),
94
+ description: z.string().max(8_192),
95
+ source: z.string().max(64).optional(),
96
+ path: z.string().max(1_024).optional(),
97
+ })
98
+ .strict(),
99
+ );
72
100
  export type ModelContextSkill = z.infer<typeof ModelContextSkill>;
73
101
 
74
- export const ModelContextTokenCounts = z
75
- .object({
76
- instructions: z.number().int().nonnegative(),
77
- tools: z.number().int().nonnegative(),
78
- prefix: z.number().int().nonnegative(),
79
- })
80
- .strict();
102
+ export const ModelContextTokenCounts = /* @__PURE__ */ defineSchema(() =>
103
+ z
104
+ .object({
105
+ instructions: z.number().int().nonnegative(),
106
+ tools: z.number().int().nonnegative(),
107
+ prefix: z.number().int().nonnegative(),
108
+ })
109
+ .strict(),
110
+ );
81
111
  export type ModelContextTokenCounts = z.infer<typeof ModelContextTokenCounts>;
82
112
 
83
- export const ModelContextSnapshot = z
84
- .object({
85
- version: z.literal(MODEL_CONTEXT_SNAPSHOT_VERSION),
86
- capturedAt: z.string().datetime(),
87
- source: z.literal("model_request"),
88
- requestIndex: z.number().int().nonnegative(),
89
- instructions: z.string(),
90
- // Absent on historical SDK-prefix captures. Never infer a wire payload.
91
- providerRequest: z
92
- .object({
93
- provider: z.string(),
94
- body: z.string().nullable(),
95
- unavailableReason: z.string().optional(),
96
- parts: z.array(
97
- z
98
- .object({
99
- key: z.string(),
100
- estimatedTokens: z.number().int().nonnegative().nullable(),
101
- utf8Bytes: z.number().int().nonnegative(),
102
- itemEstimatedTokens: z.array(z.number().int().nonnegative().nullable()).optional(),
103
- })
104
- .strict(),
105
- ),
106
- })
107
- .strict()
108
- .optional(),
109
- layers: z.array(ModelContextInstructionLayer).max(MODEL_CONTEXT_LAYER_MAX_COUNT),
110
- tools: z.array(ModelContextTool).max(MODEL_CONTEXT_TOOL_MAX_COUNT),
111
- skills: z.array(ModelContextSkill).max(MODEL_CONTEXT_SKILL_MAX_COUNT),
112
- tokens: ModelContextTokenCounts,
113
- })
114
- .strict();
113
+ export const ModelContextSnapshot = /* @__PURE__ */ defineSchema(() =>
114
+ z
115
+ .object({
116
+ version: z.literal(MODEL_CONTEXT_SNAPSHOT_VERSION),
117
+ capturedAt: z.string().datetime(),
118
+ source: z.literal("model_request"),
119
+ requestIndex: z.number().int().nonnegative(),
120
+ instructions: z.string(),
121
+ // Absent on historical SDK-prefix captures. Never infer a wire payload.
122
+ providerRequest: z
123
+ .object({
124
+ provider: z.string(),
125
+ body: z.string().nullable(),
126
+ unavailableReason: z.string().optional(),
127
+ parts: z.array(
128
+ z
129
+ .object({
130
+ key: z.string(),
131
+ estimatedTokens: z.number().int().nonnegative().nullable(),
132
+ utf8Bytes: z.number().int().nonnegative(),
133
+ itemEstimatedTokens: z.array(z.number().int().nonnegative().nullable()).optional(),
134
+ })
135
+ .strict(),
136
+ ),
137
+ })
138
+ .strict()
139
+ .optional(),
140
+ layers: z.array(ModelContextInstructionLayer).max(MODEL_CONTEXT_LAYER_MAX_COUNT),
141
+ tools: z.array(ModelContextTool).max(MODEL_CONTEXT_TOOL_MAX_COUNT),
142
+ skills: z.array(ModelContextSkill).max(MODEL_CONTEXT_SKILL_MAX_COUNT),
143
+ tokens: ModelContextTokenCounts,
144
+ })
145
+ .strict(),
146
+ );
115
147
  export type ModelContextSnapshot = z.infer<typeof ModelContextSnapshot>;
116
148
 
117
- export const SessionModelContextResponse = z
118
- .object({
119
- sessionId: z.string().uuid(),
120
- attemptId: z.string().uuid().nullable(),
121
- turnId: z.string().uuid().nullable(),
122
- snapshot: ModelContextSnapshot.nullable(),
123
- })
124
- .strict();
149
+ export const SessionModelContextResponse = /* @__PURE__ */ defineSchema(() =>
150
+ z
151
+ .object({
152
+ sessionId: z.string().uuid(),
153
+ attemptId: z.string().uuid().nullable(),
154
+ turnId: z.string().uuid().nullable(),
155
+ snapshot: ModelContextSnapshot.nullable(),
156
+ })
157
+ .strict(),
158
+ );
125
159
  export type SessionModelContextResponse = z.infer<typeof SessionModelContextResponse>;