@opengeni/contracts 0.44.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/dist/agent-authored-durable-text.d.ts +70 -0
  2. package/dist/agent-config.d.ts +869 -0
  3. package/dist/agent-instruction-changes.d.ts +110 -0
  4. package/dist/agent-learning.d.ts +243 -0
  5. package/dist/agent-topology.d.ts +292 -0
  6. package/dist/allowance-refusal.d.ts +9 -0
  7. package/dist/allowance-refusal.js +50 -0
  8. package/dist/allowance-refusal.js.map +1 -0
  9. package/dist/analytics-consent-report.d.ts +19 -0
  10. package/dist/analytics-consent-report.js +10 -0
  11. package/dist/analytics-consent-report.js.map +1 -0
  12. package/dist/api-key-presets.d.ts +19 -0
  13. package/dist/artifact-catalog.d.ts +161 -0
  14. package/dist/artifacts.d.ts +135 -11
  15. package/dist/atlassian-native-retirement.d.ts +16 -0
  16. package/dist/atlassian-native-retirement.js +30 -0
  17. package/dist/atlassian-native-retirement.js.map +1 -0
  18. package/dist/atlassian.d.ts +2 -0
  19. package/dist/atlassian.js +27 -11
  20. package/dist/browser-storage.d.ts +5 -0
  21. package/dist/browser-storage.js +9 -0
  22. package/dist/browser-storage.js.map +1 -0
  23. package/dist/bundled-skills.d.ts +40 -0
  24. package/dist/canonical-human-identities.d.ts +157 -0
  25. package/dist/canonical-human-identities.js +23 -0
  26. package/dist/canonical-human-identities.js.map +1 -0
  27. package/dist/chunk-2ACYHZFB.js +292 -0
  28. package/dist/chunk-2ACYHZFB.js.map +1 -0
  29. package/dist/chunk-2VORLN2R.js +353 -0
  30. package/dist/chunk-2VORLN2R.js.map +1 -0
  31. package/dist/{chunk-Y3MLSLB4.js → chunk-3SIZGL3O.js} +42 -30
  32. package/dist/chunk-3SIZGL3O.js.map +1 -0
  33. package/dist/chunk-46KLD2UH.js +186 -0
  34. package/dist/chunk-46KLD2UH.js.map +1 -0
  35. package/dist/chunk-4JGHSSB7.js +11 -0
  36. package/dist/chunk-4JGHSSB7.js.map +1 -0
  37. package/dist/{chunk-52SGB2QO.js → chunk-5IXYF6XN.js} +50 -10
  38. package/dist/chunk-5IXYF6XN.js.map +1 -0
  39. package/dist/chunk-BCS7WHCK.js +139 -0
  40. package/dist/chunk-BCS7WHCK.js.map +1 -0
  41. package/dist/chunk-EK7NDGFR.js +128 -0
  42. package/dist/chunk-EK7NDGFR.js.map +1 -0
  43. package/dist/{chunk-5UDNP7AO.js → chunk-FZ6BXQHL.js} +78 -38
  44. package/dist/chunk-FZ6BXQHL.js.map +1 -0
  45. package/dist/chunk-GRG7PHWQ.js +25 -0
  46. package/dist/chunk-GRG7PHWQ.js.map +1 -0
  47. package/dist/chunk-JUFK3T4Q.js +80 -0
  48. package/dist/chunk-JUFK3T4Q.js.map +1 -0
  49. package/dist/chunk-KHHZTBP7.js +11 -0
  50. package/dist/chunk-KHHZTBP7.js.map +1 -0
  51. package/dist/chunk-KR2V42UZ.js +187 -0
  52. package/dist/chunk-KR2V42UZ.js.map +1 -0
  53. package/dist/chunk-MZLBPKFE.js +168 -0
  54. package/dist/chunk-MZLBPKFE.js.map +1 -0
  55. package/dist/{chunk-H5BVCZKF.js → chunk-NRMCVHAU.js} +6 -5
  56. package/dist/chunk-NRMCVHAU.js.map +1 -0
  57. package/dist/{chunk-TZ6YEYN4.js → chunk-NVJMJWLL.js} +3 -1
  58. package/dist/chunk-NVJMJWLL.js.map +1 -0
  59. package/dist/chunk-O77VSFYZ.js +70 -0
  60. package/dist/chunk-O77VSFYZ.js.map +1 -0
  61. package/dist/chunk-PX3VCKAU.js +29 -0
  62. package/dist/chunk-PX3VCKAU.js.map +1 -0
  63. package/dist/chunk-QR5D2IQC.js +61 -0
  64. package/dist/chunk-QR5D2IQC.js.map +1 -0
  65. package/dist/chunk-RJ76DRPO.js +117 -0
  66. package/dist/chunk-RJ76DRPO.js.map +1 -0
  67. package/dist/chunk-RKX3NQYS.js +28 -0
  68. package/dist/chunk-RKX3NQYS.js.map +1 -0
  69. package/dist/{chunk-FJBG5E4O.js → chunk-SIOU2K4U.js} +45 -22
  70. package/dist/chunk-SIOU2K4U.js.map +1 -0
  71. package/dist/chunk-TSCDAGET.js +75 -0
  72. package/dist/chunk-TSCDAGET.js.map +1 -0
  73. package/dist/{chunk-LSB7GRLG.js → chunk-TXTQIYCV.js} +15 -11
  74. package/dist/chunk-TXTQIYCV.js.map +1 -0
  75. package/dist/chunk-X7ETVO4P.js +26544 -0
  76. package/dist/chunk-X7ETVO4P.js.map +1 -0
  77. package/dist/{chunk-CADSX6UN.js → chunk-Y3KNXVTD.js} +2 -2
  78. package/dist/chunk-YBW5JSA3.js +251 -0
  79. package/dist/chunk-YBW5JSA3.js.map +1 -0
  80. package/dist/chunk-YRXAWWCU.js +45 -0
  81. package/dist/chunk-YRXAWWCU.js.map +1 -0
  82. package/dist/claude-provider-account-authority.d.ts +18 -0
  83. package/dist/claude-subscription-oauth.d.ts +42 -0
  84. package/dist/claude-subscription-usage.d.ts +159 -0
  85. package/dist/client-error-report.d.ts +109 -0
  86. package/dist/client-error-report.js +87 -0
  87. package/dist/client-error-report.js.map +1 -0
  88. package/dist/code-search.d.ts +52 -0
  89. package/dist/code-search.js +40 -0
  90. package/dist/code-search.js.map +1 -0
  91. package/dist/codex-provider-account-authority.d.ts +23 -0
  92. package/dist/codex-provider-account-authority.js +23 -0
  93. package/dist/codex-provider-account-authority.js.map +1 -0
  94. package/dist/company-brain-governed-writes.d.ts +475 -0
  95. package/dist/company-brain.d.ts +336 -0
  96. package/dist/company-profile.d.ts +566 -0
  97. package/dist/connect.d.ts +325 -0
  98. package/dist/connect.js +191 -0
  99. package/dist/connect.js.map +1 -0
  100. package/dist/connection-account-label.d.ts +2 -0
  101. package/dist/connection-account-label.js +35 -0
  102. package/dist/connection-account-label.js.map +1 -0
  103. package/dist/connection-authority.d.ts +193 -0
  104. package/dist/connection-authority.js +50 -0
  105. package/dist/connection-authority.js.map +1 -0
  106. package/dist/connector-attachments.d.ts +95 -0
  107. package/dist/connector-attachments.js +51 -0
  108. package/dist/connector-attachments.js.map +1 -0
  109. package/dist/connector-tool-permissions.d.ts +73 -0
  110. package/dist/direct-model-provider.d.ts +36 -0
  111. package/dist/editable-artifact-codec-registry.d.ts +16 -7
  112. package/dist/editable-artifact-codec-registry.js +19 -9
  113. package/dist/editable-artifact-committed-transaction.d.ts +2 -2
  114. package/dist/editable-artifact-committed-transaction.js +2 -2
  115. package/dist/editable-artifact-live.d.ts +11 -12
  116. package/dist/editable-artifact-live.js +110 -45
  117. package/dist/editable-artifact-live.js.map +1 -1
  118. package/dist/editable-artifact-serialized-commit.d.ts +2 -1
  119. package/dist/editable-artifact-serialized-commit.js +8 -7
  120. package/dist/editable-artifact-versions.d.ts +20 -5
  121. package/dist/editable-artifact-versions.js +23 -5
  122. package/dist/editable-artifacts.d.ts +2 -0
  123. package/dist/editable-artifacts.js +48 -36
  124. package/dist/external-identities.d.ts +784 -0
  125. package/dist/external-identities.js +44 -0
  126. package/dist/external-identities.js.map +1 -0
  127. package/dist/feedback.d.ts +51 -0
  128. package/dist/github-repository-contracts.d.ts +36 -0
  129. package/dist/github-repository-contracts.js +59 -0
  130. package/dist/github-repository-contracts.js.map +1 -0
  131. package/dist/github-repository.d.ts +14 -0
  132. package/dist/github-repository.js +36 -0
  133. package/dist/github-repository.js.map +1 -0
  134. package/dist/google-drive.d.ts +90 -1
  135. package/dist/google-drive.js +91 -15
  136. package/dist/google-drive.js.map +1 -1
  137. package/dist/governed-learning-activation.d.ts +154 -0
  138. package/dist/governed-learning-evaluator.d.ts +152 -0
  139. package/dist/host-mcp-bindings.d.ts +326 -0
  140. package/dist/host-mcp-bindings.js +252 -0
  141. package/dist/host-mcp-bindings.js.map +1 -0
  142. package/dist/image-generation.d.ts +1 -0
  143. package/dist/index.d.ts +27574 -5374
  144. package/dist/index.js +2531 -177
  145. package/dist/insights-usage.d.ts +877 -0
  146. package/dist/insights-usage.js +509 -0
  147. package/dist/insights-usage.js.map +1 -0
  148. package/dist/interaction.d.ts +1752 -13
  149. package/dist/knowledge-entries.d.ts +982 -0
  150. package/dist/knowledge-preparation.d.ts +237 -0
  151. package/dist/knowledge.d.ts +740 -0
  152. package/dist/managed-auth-session-sets.d.ts +241 -0
  153. package/dist/managed-auth-session-sets.js +191 -0
  154. package/dist/managed-auth-session-sets.js.map +1 -0
  155. package/dist/managed-sign-in-methods.d.ts +56 -0
  156. package/dist/managed-sign-in-methods.js +46 -0
  157. package/dist/managed-sign-in-methods.js.map +1 -0
  158. package/dist/mcp-catalog-limits.d.ts +2 -0
  159. package/dist/mcp-endpoint.d.ts +7 -0
  160. package/dist/mcp-endpoint.js +9 -0
  161. package/dist/mcp-endpoint.js.map +1 -0
  162. package/dist/mcp-oauth.d.ts +71 -0
  163. package/dist/modal-native-proof-v2.d.ts +587 -0
  164. package/dist/modal-native-proof-v2.js +37 -0
  165. package/dist/modal-native-proof-v2.js.map +1 -0
  166. package/dist/model-availability.d.ts +15 -0
  167. package/dist/model-connection-access.d.ts +24 -0
  168. package/dist/model-context-inspector.d.ts +329 -0
  169. package/dist/model-display.d.ts +38 -0
  170. package/dist/model-display.js +134 -0
  171. package/dist/model-display.js.map +1 -0
  172. package/dist/model-picker-order.d.ts +25 -0
  173. package/dist/model-picker-order.js +42 -0
  174. package/dist/model-picker-order.js.map +1 -0
  175. package/dist/organization-access.d.ts +231 -0
  176. package/dist/organization-access.js +34 -0
  177. package/dist/organization-access.js.map +1 -0
  178. package/dist/organization-integration-policy.d.ts +27 -0
  179. package/dist/organization-membership-lifecycle.d.ts +1022 -0
  180. package/dist/organization-model-usage.d.ts +146 -0
  181. package/dist/organization-model-usage.js +67 -0
  182. package/dist/organization-model-usage.js.map +1 -0
  183. package/dist/organization-recovery.d.ts +337 -0
  184. package/dist/organization-recovery.js +37 -0
  185. package/dist/organization-recovery.js.map +1 -0
  186. package/dist/organization-usage.d.ts +138 -0
  187. package/dist/permissions.d.ts +54 -0
  188. package/dist/personal-github.d.ts +320 -0
  189. package/dist/personal-github.js +222 -0
  190. package/dist/personal-github.js.map +1 -0
  191. package/dist/plugin-discovery.d.ts +35 -0
  192. package/dist/plugin-discovery.js +7 -0
  193. package/dist/plugin-discovery.js.map +1 -0
  194. package/dist/preference-registry.d.ts +44 -1
  195. package/dist/product-analytics.d.ts +113 -0
  196. package/dist/product-lifecycle-facts.d.ts +73 -0
  197. package/dist/remember.d.ts +350 -0
  198. package/dist/retained-output.d.ts +8 -0
  199. package/dist/sandbox-file-artifacts.d.ts +57 -0
  200. package/dist/sandbox-provider-command.d.ts +113 -0
  201. package/dist/sandbox-recovery.d.ts +146 -0
  202. package/dist/sandbox-snapshots.d.ts +39 -0
  203. package/dist/session-final-reply.d.ts +6 -0
  204. package/dist/session-final-reply.js +9 -0
  205. package/dist/session-final-reply.js.map +1 -0
  206. package/dist/session-goal-reports.d.ts +21 -0
  207. package/dist/session-history-import.d.ts +947 -0
  208. package/dist/session-list-entries.d.ts +4 -0
  209. package/dist/session-list-entries.js +51 -0
  210. package/dist/session-list-entries.js.map +1 -0
  211. package/dist/session-mcp-projections.d.ts +215 -0
  212. package/dist/session-message-search.d.ts +68 -0
  213. package/dist/session-titles.d.ts +68 -0
  214. package/dist/session-titles.js +25 -0
  215. package/dist/session-titles.js.map +1 -0
  216. package/dist/session-topology-primitives.d.ts +22 -0
  217. package/dist/signup-attribution.d.ts +39 -0
  218. package/dist/site-request-headers.test.d.ts +1 -0
  219. package/dist/site-session-http.d.ts +11 -0
  220. package/dist/site-session-http.js +11 -0
  221. package/dist/site-session-http.js.map +1 -0
  222. package/dist/skill-catalog-context.d.ts +7 -0
  223. package/dist/skill-files.d.ts +12 -0
  224. package/dist/skill-metadata.d.ts +9 -0
  225. package/dist/skill-use.d.ts +61 -0
  226. package/dist/skills.d.ts +185 -0
  227. package/dist/slack-bot-scopes.d.ts +46 -21
  228. package/dist/slack-bot-scopes.js +14 -3
  229. package/dist/slack-rest-mcp.d.ts +31 -0
  230. package/dist/slack-rest-mcp.js +19 -0
  231. package/dist/slack-rest-mcp.js.map +1 -0
  232. package/dist/slack-task-policy.d.ts +294 -0
  233. package/dist/spreadsheet-artifact-commands.d.ts +2 -3
  234. package/dist/spreadsheet-artifact-commands.js +4 -2
  235. package/dist/spreadsheet-artifact-query.js +3 -2
  236. package/dist/subscription-account-pools.d.ts +292 -0
  237. package/dist/task-notes.d.ts +169 -0
  238. package/dist/tool-catalog.d.ts +286 -0
  239. package/dist/tool-result-spill.d.ts +16 -0
  240. package/dist/usage-allowances.d.ts +285 -0
  241. package/dist/usage-allowances.js +49 -0
  242. package/dist/usage-allowances.js.map +1 -0
  243. package/dist/video-generation.d.ts +51 -0
  244. package/dist/video-generation.js +9 -1
  245. package/dist/work-claims.d.ts +411 -0
  246. package/dist/workspace-instruction-policies.d.ts +94 -0
  247. package/dist/workspace-integration-wire.d.ts +36 -0
  248. package/dist/workspace-integration-wire.js +23 -0
  249. package/dist/workspace-integration-wire.js.map +1 -0
  250. package/dist/workspace-integrations.d.ts +948 -0
  251. package/dist/workspace-learning-administration.d.ts +289 -0
  252. package/dist/workspace-learning-policy.d.ts +1 -1
  253. package/dist/workspace-state.d.ts +85 -416
  254. package/dist/xai-provider-account-authority.d.ts +26 -0
  255. package/dist/xai-provider-account-authority.js +9 -0
  256. package/dist/xai-provider-account-authority.js.map +1 -0
  257. package/package.json +146 -1
  258. package/src/agent-authored-durable-text.ts +116 -0
  259. package/src/agent-config.ts +1527 -0
  260. package/src/agent-instruction-changes.ts +98 -0
  261. package/src/agent-learning.ts +161 -0
  262. package/src/agent-topology.ts +69 -0
  263. package/src/allowance-refusal.ts +81 -0
  264. package/src/analytics-consent-report.ts +20 -0
  265. package/src/api-key-presets.ts +25 -0
  266. package/src/artifact-catalog.ts +60 -0
  267. package/src/artifacts.ts +146 -18
  268. package/src/atlassian-native-retirement.ts +33 -0
  269. package/src/browser-storage.ts +10 -0
  270. package/src/bundled-skills.ts +73 -0
  271. package/src/canonical-human-identities.ts +93 -0
  272. package/src/claude-provider-account-authority.ts +12 -0
  273. package/src/claude-subscription-oauth.ts +62 -0
  274. package/src/claude-subscription-usage.ts +59 -0
  275. package/src/client-error-report.ts +184 -0
  276. package/src/code-search.ts +105 -0
  277. package/src/codex-provider-account-authority.ts +37 -0
  278. package/src/company-brain-governed-writes.ts +356 -0
  279. package/src/company-brain.ts +201 -0
  280. package/src/company-profile.ts +167 -1
  281. package/src/connect.ts +202 -0
  282. package/src/connection-account-label.ts +46 -0
  283. package/src/connection-authority.ts +213 -0
  284. package/src/connector-attachments.ts +327 -0
  285. package/src/connector-tool-permissions.ts +60 -0
  286. package/src/direct-model-provider.ts +98 -0
  287. package/src/editable-artifact-codec-registry.ts +55 -17
  288. package/src/editable-artifact-committed-transaction.ts +44 -31
  289. package/src/editable-artifact-live.ts +123 -57
  290. package/src/editable-artifact-serialized-commit.ts +2 -1
  291. package/src/editable-artifact-versions.ts +26 -5
  292. package/src/editable-artifacts.ts +2 -0
  293. package/src/external-identities.ts +285 -0
  294. package/src/feedback.ts +39 -0
  295. package/src/github-repository-contracts.ts +85 -0
  296. package/src/github-repository.ts +59 -0
  297. package/src/google-drive.ts +76 -4
  298. package/src/governed-learning-activation.ts +191 -0
  299. package/src/governed-learning-evaluator.ts +176 -0
  300. package/src/host-mcp-bindings.ts +298 -0
  301. package/src/image-generation.ts +8 -2
  302. package/src/index.ts +8019 -1799
  303. package/src/insights-usage.ts +679 -0
  304. package/src/interaction.ts +1102 -6
  305. package/src/knowledge-entries.ts +375 -0
  306. package/src/knowledge-preparation.ts +50 -0
  307. package/src/knowledge.ts +335 -0
  308. package/src/managed-auth-session-sets.ts +253 -0
  309. package/src/managed-sign-in-methods.ts +37 -0
  310. package/src/mcp-catalog-limits.ts +2 -0
  311. package/src/mcp-endpoint.ts +30 -0
  312. package/src/mcp-oauth.ts +66 -0
  313. package/src/modal-native-proof-v2.ts +398 -0
  314. package/src/model-availability.ts +22 -0
  315. package/src/model-connection-access.ts +17 -0
  316. package/src/model-context-inspector.ts +139 -0
  317. package/src/model-display.ts +195 -0
  318. package/src/model-picker-order.ts +97 -0
  319. package/src/organization-access.ts +176 -0
  320. package/src/organization-integration-policy.ts +54 -0
  321. package/src/organization-membership-lifecycle.ts +559 -0
  322. package/src/organization-model-usage.ts +72 -0
  323. package/src/organization-recovery.ts +186 -0
  324. package/src/organization-usage.ts +79 -0
  325. package/src/permissions.ts +58 -0
  326. package/src/personal-github.ts +267 -0
  327. package/src/plugin-discovery.ts +33 -0
  328. package/src/preference-registry.ts +20 -1
  329. package/src/product-analytics.ts +253 -0
  330. package/src/product-lifecycle-facts.ts +121 -0
  331. package/src/remember.ts +243 -0
  332. package/src/retained-output.ts +20 -3
  333. package/src/sandbox-file-artifacts.ts +73 -0
  334. package/src/sandbox-provider-command.ts +82 -0
  335. package/src/sandbox-recovery.ts +116 -0
  336. package/src/sandbox-snapshots.ts +142 -0
  337. package/src/session-final-reply.ts +16 -0
  338. package/src/session-goal-reports.ts +55 -0
  339. package/src/session-history-import.ts +159 -0
  340. package/src/session-list-entries.ts +91 -0
  341. package/src/session-mcp-projections.ts +273 -0
  342. package/src/session-message-search.ts +54 -0
  343. package/src/session-titles.ts +467 -0
  344. package/src/session-topology-primitives.ts +21 -0
  345. package/src/signup-attribution.ts +81 -0
  346. package/src/site-request-headers.test.ts +28 -0
  347. package/src/site-session-http.ts +63 -0
  348. package/src/skill-catalog-context.ts +50 -0
  349. package/src/skill-files.ts +52 -0
  350. package/src/skill-metadata.ts +40 -0
  351. package/src/skill-use.ts +77 -0
  352. package/src/skills.ts +136 -0
  353. package/src/slack-bot-scopes.ts +106 -42
  354. package/src/slack-rest-mcp.ts +194 -0
  355. package/src/slack-task-policy.ts +215 -0
  356. package/src/spreadsheet-artifact-commands.ts +12 -13
  357. package/src/subscription-account-pools.ts +44 -0
  358. package/src/task-notes.ts +105 -0
  359. package/src/tool-catalog.ts +155 -0
  360. package/src/tool-result-spill.ts +35 -0
  361. package/src/usage-allowances.ts +187 -0
  362. package/src/video-generation.ts +43 -6
  363. package/src/work-claims.ts +266 -0
  364. package/src/workspace-instruction-policies.ts +31 -0
  365. package/src/workspace-integration-wire.ts +99 -0
  366. package/src/workspace-integrations.ts +640 -0
  367. package/src/workspace-learning-administration.ts +88 -0
  368. package/src/workspace-learning-policy.ts +4 -3
  369. package/src/workspace-state.ts +16 -126
  370. package/src/xai-provider-account-authority.ts +38 -0
  371. package/dist/chunk-52SGB2QO.js.map +0 -1
  372. package/dist/chunk-5UDNP7AO.js.map +0 -1
  373. package/dist/chunk-BVGIYW7D.js +0 -11
  374. package/dist/chunk-BVGIYW7D.js.map +0 -1
  375. package/dist/chunk-FJBG5E4O.js.map +0 -1
  376. package/dist/chunk-H5BVCZKF.js.map +0 -1
  377. package/dist/chunk-LSB7GRLG.js.map +0 -1
  378. package/dist/chunk-TZ6YEYN4.js.map +0 -1
  379. package/dist/chunk-VA22KRHS.js +0 -15177
  380. package/dist/chunk-VA22KRHS.js.map +0 -1
  381. package/dist/chunk-Y3MLSLB4.js.map +0 -1
  382. /package/dist/{chunk-CADSX6UN.js.map → chunk-Y3KNXVTD.js.map} +0 -0
@@ -0,0 +1,50 @@
1
+ // src/allowance-refusal.ts
2
+ var MESSAGE_MAX_UTF8_BYTES = 1024;
3
+ function record(value) {
4
+ return value !== null && typeof value === "object" && !Array.isArray(value) ? value : null;
5
+ }
6
+ function resetTimestamp(value) {
7
+ if (value === null) return true;
8
+ if (typeof value !== "string" || value.length > 64) return false;
9
+ const parts = /^(\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])T(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/.exec(
10
+ value
11
+ );
12
+ if (!parts || !Number.isFinite(Date.parse(value))) return false;
13
+ const year = Number(parts[1]);
14
+ const month = Number(parts[2]);
15
+ const day = Number(parts[3]);
16
+ const leapYear = year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
17
+ const days = [31, leapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
18
+ return day <= days[month - 1];
19
+ }
20
+ function parseAllowanceExhaustedRefusal(value) {
21
+ const source = record(value);
22
+ if (source?.code !== "allowance_exhausted") return null;
23
+ const fields = record(source.details) ?? source;
24
+ const scope = fields.scope;
25
+ const subjectId = scope === "member" ? fields.subjectId : void 0;
26
+ if (typeof source.message !== "string" || scope !== "workspace" && scope !== "member" || !resetTimestamp(fields.resetsAt) || subjectId !== void 0 && (typeof subjectId !== "string" || subjectId.length === 0 || subjectId.length > 1024 || subjectId.includes("\0"))) {
27
+ return null;
28
+ }
29
+ const normalized = source.message.slice(0, MESSAGE_MAX_UTF8_BYTES * 2).replace(/[\u0000-\u001f\u007f]+/g, " ").trim();
30
+ const bytes = new TextEncoder().encode(normalized.slice(0, MESSAGE_MAX_UTF8_BYTES * 2));
31
+ let end = Math.min(bytes.length, MESSAGE_MAX_UTF8_BYTES);
32
+ while (end > 0 && end < bytes.length && (bytes[end] & 192) === 128) end -= 1;
33
+ return {
34
+ code: "allowance_exhausted",
35
+ scope,
36
+ resetsAt: fields.resetsAt,
37
+ ...typeof subjectId === "string" ? { subjectId } : {},
38
+ message: new TextDecoder().decode(bytes.slice(0, end)).trim()
39
+ };
40
+ }
41
+ function allowanceExhaustedMessage(refusal) {
42
+ const remedy = refusal.scope === "workspace" ? "The workspace usage allowance is exhausted. An organization administrator or a full-access organization API key can raise the workspace ceiling or add an allowance grant." : "The member usage allowance is exhausted. A workspace administrator or a full-access organization API key can adjust the member ceiling.";
43
+ const reset = refusal.resetsAt === null ? "This allowance has no automatic reset." : `It resets at ${new Date(refusal.resetsAt).toISOString().slice(0, 16).replace("T", " ")} UTC.`;
44
+ return `${remedy} ${reset}`;
45
+ }
46
+ export {
47
+ allowanceExhaustedMessage,
48
+ parseAllowanceExhaustedRefusal
49
+ };
50
+ //# sourceMappingURL=allowance-refusal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/allowance-refusal.ts"],"sourcesContent":["import type { AllowanceExhaustedRefusal } from \"./usage-allowances\";\n\nconst MESSAGE_MAX_UTF8_BYTES = 1_024;\n\nfunction record(value: unknown): Record<string, unknown> | null {\n return value !== null && typeof value === \"object\" && !Array.isArray(value)\n ? (value as Record<string, unknown>)\n : null;\n}\n\n/** Mirror the canonical offset datetime's calendar/time bounds without loading\n * the schema runtime into synchronous browser/React Native session projection.\n * Contract-parity tests guard this deliberately small, bounded wire leaf.\n */\nfunction resetTimestamp(value: unknown): value is string | null {\n if (value === null) return true;\n if (typeof value !== \"string\" || value.length > 64) return false;\n const parts =\n /^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$/.exec(\n value,\n );\n if (!parts || !Number.isFinite(Date.parse(value))) return false;\n const year = Number(parts[1]);\n const month = Number(parts[2]);\n const day = Number(parts[3]);\n const leapYear = year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n const days = [31, leapYear ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n return day <= days[month - 1]!;\n}\n\n/** Select only public refusal fields, including from an API error's details.\n * LimitDecision's allowed:false and transport/SQL diagnostics never cross out.\n */\nexport function parseAllowanceExhaustedRefusal(value: unknown): AllowanceExhaustedRefusal | null {\n const source = record(value);\n if (source?.code !== \"allowance_exhausted\") return null;\n const fields = record(source.details) ?? source;\n const scope = fields.scope;\n const subjectId = scope === \"member\" ? fields.subjectId : undefined;\n if (\n typeof source.message !== \"string\" ||\n (scope !== \"workspace\" && scope !== \"member\") ||\n !resetTimestamp(fields.resetsAt) ||\n (subjectId !== undefined &&\n (typeof subjectId !== \"string\" ||\n subjectId.length === 0 ||\n subjectId.length > 1_024 ||\n subjectId.includes(\"\\0\")))\n ) {\n return null;\n }\n const normalized = source.message\n .slice(0, MESSAGE_MAX_UTF8_BYTES * 2)\n .replace(/[\\u0000-\\u001f\\u007f]+/g, \" \")\n .trim();\n const bytes = new TextEncoder().encode(normalized.slice(0, MESSAGE_MAX_UTF8_BYTES * 2));\n let end = Math.min(bytes.length, MESSAGE_MAX_UTF8_BYTES);\n while (end > 0 && end < bytes.length && (bytes[end]! & 0xc0) === 0x80) end -= 1;\n return {\n code: \"allowance_exhausted\",\n scope,\n resetsAt: fields.resetsAt,\n ...(typeof subjectId === \"string\" ? { subjectId } : {}),\n message: new TextDecoder().decode(bytes.slice(0, end)).trim(),\n };\n}\n\n/** Bounded, fixed remedies: a ceiling is not an exhausted billing source.\n * Never interpolate arbitrary exception prose or a member identifier.\n */\nexport function allowanceExhaustedMessage(refusal: AllowanceExhaustedRefusal): string {\n const remedy =\n refusal.scope === \"workspace\"\n ? \"The workspace usage allowance is exhausted. An organization administrator or a full-access organization API key can raise the workspace ceiling or add an allowance grant.\"\n : \"The member usage allowance is exhausted. A workspace administrator or a full-access organization API key can adjust the member ceiling.\";\n const reset =\n refusal.resetsAt === null\n ? \"This allowance has no automatic reset.\"\n : `It resets at ${new Date(refusal.resetsAt).toISOString().slice(0, 16).replace(\"T\", \" \")} UTC.`;\n return `${remedy} ${reset}`;\n}\n"],"mappings":";AAEA,IAAM,yBAAyB;AAE/B,SAAS,OAAO,OAAgD;AAC9D,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK,IACrE,QACD;AACN;AAMA,SAAS,eAAe,OAAwC;AAC9D,MAAI,UAAU,KAAM,QAAO;AAC3B,MAAI,OAAO,UAAU,YAAY,MAAM,SAAS,GAAI,QAAO;AAC3D,QAAM,QACJ,sIAAsI;AAAA,IACpI;AAAA,EACF;AACF,MAAI,CAAC,SAAS,CAAC,OAAO,SAAS,KAAK,MAAM,KAAK,CAAC,EAAG,QAAO;AAC1D,QAAM,OAAO,OAAO,MAAM,CAAC,CAAC;AAC5B,QAAM,QAAQ,OAAO,MAAM,CAAC,CAAC;AAC7B,QAAM,MAAM,OAAO,MAAM,CAAC,CAAC;AAC3B,QAAM,WAAW,OAAO,MAAM,MAAM,OAAO,QAAQ,KAAK,OAAO,QAAQ;AACvE,QAAM,OAAO,CAAC,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE;AAC5E,SAAO,OAAO,KAAK,QAAQ,CAAC;AAC9B;AAKO,SAAS,+BAA+B,OAAkD;AAC/F,QAAM,SAAS,OAAO,KAAK;AAC3B,MAAI,QAAQ,SAAS,sBAAuB,QAAO;AACnD,QAAM,SAAS,OAAO,OAAO,OAAO,KAAK;AACzC,QAAM,QAAQ,OAAO;AACrB,QAAM,YAAY,UAAU,WAAW,OAAO,YAAY;AAC1D,MACE,OAAO,OAAO,YAAY,YACzB,UAAU,eAAe,UAAU,YACpC,CAAC,eAAe,OAAO,QAAQ,KAC9B,cAAc,WACZ,OAAO,cAAc,YACpB,UAAU,WAAW,KACrB,UAAU,SAAS,QACnB,UAAU,SAAS,IAAI,IAC3B;AACA,WAAO;AAAA,EACT;AACA,QAAM,aAAa,OAAO,QACvB,MAAM,GAAG,yBAAyB,CAAC,EACnC,QAAQ,2BAA2B,GAAG,EACtC,KAAK;AACR,QAAM,QAAQ,IAAI,YAAY,EAAE,OAAO,WAAW,MAAM,GAAG,yBAAyB,CAAC,CAAC;AACtF,MAAI,MAAM,KAAK,IAAI,MAAM,QAAQ,sBAAsB;AACvD,SAAO,MAAM,KAAK,MAAM,MAAM,WAAW,MAAM,GAAG,IAAK,SAAU,IAAM,QAAO;AAC9E,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,GAAI,OAAO,cAAc,WAAW,EAAE,UAAU,IAAI,CAAC;AAAA,IACrD,SAAS,IAAI,YAAY,EAAE,OAAO,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,KAAK;AAAA,EAC9D;AACF;AAKO,SAAS,0BAA0B,SAA4C;AACpF,QAAM,SACJ,QAAQ,UAAU,cACd,+KACA;AACN,QAAM,QACJ,QAAQ,aAAa,OACjB,2CACA,gBAAgB,IAAI,KAAK,QAAQ,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,EAAE,EAAE,QAAQ,KAAK,GAAG,CAAC;AAC7F,SAAO,GAAG,MAAM,IAAI,KAAK;AAC3B;","names":[]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Wire grammar of the content-free analytics consent beacon
3
+ * (`POST /v1/analytics-consent`).
4
+ *
5
+ * When a person answers the web console's optional-analytics banner, the
6
+ * browser reports only the closed decision so the API can count choices in
7
+ * `opengeni_analytics_consent_total{decision}`. The count shows how much of
8
+ * the audience the consent-gated analytics providers never see. A report
9
+ * carries no identifier, URL, cookie, or user content, and the web client and
10
+ * the API route both validate against these exact values.
11
+ */
12
+ export declare const ANALYTICS_CONSENT_PATH = "/v1/analytics-consent";
13
+ export declare const ANALYTICS_CONSENT_DECISIONS: readonly ["granted", "denied"];
14
+ export type AnalyticsConsentDecision = (typeof ANALYTICS_CONSENT_DECISIONS)[number];
15
+ /** Largest accepted report body. A valid report is under 32 bytes. */
16
+ export declare const ANALYTICS_CONSENT_REPORT_MAX_BYTES = 128;
17
+ export type AnalyticsConsentReport = {
18
+ decision: AnalyticsConsentDecision;
19
+ };
@@ -0,0 +1,10 @@
1
+ // src/analytics-consent-report.ts
2
+ var ANALYTICS_CONSENT_PATH = "/v1/analytics-consent";
3
+ var ANALYTICS_CONSENT_DECISIONS = ["granted", "denied"];
4
+ var ANALYTICS_CONSENT_REPORT_MAX_BYTES = 128;
5
+ export {
6
+ ANALYTICS_CONSENT_DECISIONS,
7
+ ANALYTICS_CONSENT_PATH,
8
+ ANALYTICS_CONSENT_REPORT_MAX_BYTES
9
+ };
10
+ //# sourceMappingURL=analytics-consent-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/analytics-consent-report.ts"],"sourcesContent":["/**\n * Wire grammar of the content-free analytics consent beacon\n * (`POST /v1/analytics-consent`).\n *\n * When a person answers the web console's optional-analytics banner, the\n * browser reports only the closed decision so the API can count choices in\n * `opengeni_analytics_consent_total{decision}`. The count shows how much of\n * the audience the consent-gated analytics providers never see. A report\n * carries no identifier, URL, cookie, or user content, and the web client and\n * the API route both validate against these exact values.\n */\nexport const ANALYTICS_CONSENT_PATH = \"/v1/analytics-consent\";\n\nexport const ANALYTICS_CONSENT_DECISIONS = [\"granted\", \"denied\"] as const;\nexport type AnalyticsConsentDecision = (typeof ANALYTICS_CONSENT_DECISIONS)[number];\n\n/** Largest accepted report body. A valid report is under 32 bytes. */\nexport const ANALYTICS_CONSENT_REPORT_MAX_BYTES = 128;\n\nexport type AnalyticsConsentReport = { decision: AnalyticsConsentDecision };\n"],"mappings":";AAWO,IAAM,yBAAyB;AAE/B,IAAM,8BAA8B,CAAC,WAAW,QAAQ;AAIxD,IAAM,qCAAqC;","names":[]}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ /** Optional creation alias for the developer_setup organization access tier. */
3
+ export declare const OrganizationApiKeyPreset: z.ZodEnum<{
4
+ developer_setup: "developer_setup";
5
+ }>;
6
+ export type OrganizationApiKeyPreset = z.infer<typeof OrganizationApiKeyPreset>;
7
+ /**
8
+ * The current setup-route floor: workspace provisioning, configuration/cleanup,
9
+ * and explicit literal budget authority. workspace:admin also covers discovery and session/tool/
10
+ * schedule guards. It is broad authority, not setup-only, and never confers
11
+ * literal secrets:read. No account:admin, billing, or redundant read scopes.
12
+ */
13
+ export declare const DEVELOPER_SETUP_API_KEY_PRESET: {
14
+ readonly id: "developer_setup";
15
+ readonly label: "Developer setup";
16
+ readonly description: "Set up shared workspaces, tools and budgets. Includes broad workspace administration and expires after 24 hours. Can't manage API keys.";
17
+ readonly permissions: ("usage_allowances:manage" | "workspace:admin" | "workspace:create")[];
18
+ readonly defaultExpiryHours: 24;
19
+ };
@@ -0,0 +1,161 @@
1
+ import { z } from "zod";
2
+ export declare const ArtifactCatalogKind: z.ZodEnum<{
3
+ document: "document";
4
+ file: "file";
5
+ image: "image";
6
+ presentation: "presentation";
7
+ site: "site";
8
+ spreadsheet: "spreadsheet";
9
+ }>;
10
+ export type ArtifactCatalogKind = z.infer<typeof ArtifactCatalogKind>;
11
+ /** Metadata only: native domain IDs, never content, storage keys or credentials. */
12
+ export declare const ArtifactCatalogItem: z.ZodObject<{
13
+ id: z.ZodString;
14
+ kind: z.ZodEnum<{
15
+ document: "document";
16
+ file: "file";
17
+ image: "image";
18
+ presentation: "presentation";
19
+ site: "site";
20
+ spreadsheet: "spreadsheet";
21
+ }>;
22
+ title: z.ZodString;
23
+ createdAt: z.ZodString;
24
+ updatedAt: z.ZodString;
25
+ status: z.ZodEnum<{
26
+ active: "active";
27
+ archived: "archived";
28
+ }>;
29
+ sourceSessionId: z.ZodOptional<z.ZodString>;
30
+ versionId: z.ZodOptional<z.ZodString>;
31
+ file: z.ZodOptional<z.ZodObject<{
32
+ available: z.ZodLiteral<true>;
33
+ artifactId: z.ZodString;
34
+ kind: z.ZodEnum<{
35
+ assistant_completion: "assistant_completion";
36
+ browser_screenshot: "browser_screenshot";
37
+ computer_screenshot: "computer_screenshot";
38
+ event_media: "event_media";
39
+ file: "file";
40
+ generated_image: "generated_image";
41
+ generated_video: "generated_video";
42
+ internal_update: "internal_update";
43
+ tool_result: "tool_result";
44
+ }>;
45
+ contentType: z.ZodString;
46
+ originalBytes: z.ZodNumber;
47
+ sha256: z.ZodString;
48
+ retainedAt: z.ZodString;
49
+ dimensions: z.ZodOptional<z.ZodObject<{
50
+ width: z.ZodNumber;
51
+ height: z.ZodNumber;
52
+ }, z.core.$strict>>;
53
+ retention: z.ZodUnion<readonly [z.ZodObject<{
54
+ policy: z.ZodLiteral<"workspace_file">;
55
+ expiresAt: z.ZodNull;
56
+ }, z.core.$strict>, z.ZodObject<{
57
+ policy: z.ZodLiteral<"session_screenshot">;
58
+ expiresAt: z.ZodString;
59
+ }, z.core.$strict>]>;
60
+ retrieval: z.ZodObject<{
61
+ method: z.ZodLiteral<"GET">;
62
+ path: z.ZodString;
63
+ acceptRanges: z.ZodLiteral<"bytes">;
64
+ maxRangeBytes: z.ZodNumber;
65
+ }, z.core.$strict>;
66
+ }, z.core.$strict>>;
67
+ filename: z.ZodOptional<z.ZodString>;
68
+ contentType: z.ZodOptional<z.ZodString>;
69
+ sizeBytes: z.ZodOptional<z.ZodNumber>;
70
+ }, z.core.$strict>;
71
+ export type ArtifactCatalogItem = z.infer<typeof ArtifactCatalogItem>;
72
+ export declare const ArtifactCatalogListQuery: z.ZodObject<{
73
+ sourceSessionId: z.ZodOptional<z.ZodString>;
74
+ q: z.ZodOptional<z.ZodString>;
75
+ kind: z.ZodOptional<z.ZodEnum<{
76
+ document: "document";
77
+ file: "file";
78
+ image: "image";
79
+ presentation: "presentation";
80
+ site: "site";
81
+ spreadsheet: "spreadsheet";
82
+ }>>;
83
+ sort: z.ZodDefault<z.ZodEnum<{
84
+ newest: "newest";
85
+ title: "title";
86
+ updated: "updated";
87
+ }>>;
88
+ status: z.ZodDefault<z.ZodEnum<{
89
+ active: "active";
90
+ archived: "archived";
91
+ }>>;
92
+ limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
93
+ cursor: z.ZodOptional<z.ZodString>;
94
+ }, z.core.$strict>;
95
+ export type ArtifactCatalogListQuery = z.infer<typeof ArtifactCatalogListQuery>;
96
+ export type ArtifactCatalogListOptions = Omit<z.input<typeof ArtifactCatalogListQuery>, "limit"> & {
97
+ limit?: number;
98
+ };
99
+ export declare const ArtifactCatalogListResponse: z.ZodObject<{
100
+ items: z.ZodArray<z.ZodObject<{
101
+ id: z.ZodString;
102
+ kind: z.ZodEnum<{
103
+ document: "document";
104
+ file: "file";
105
+ image: "image";
106
+ presentation: "presentation";
107
+ site: "site";
108
+ spreadsheet: "spreadsheet";
109
+ }>;
110
+ title: z.ZodString;
111
+ createdAt: z.ZodString;
112
+ updatedAt: z.ZodString;
113
+ status: z.ZodEnum<{
114
+ active: "active";
115
+ archived: "archived";
116
+ }>;
117
+ sourceSessionId: z.ZodOptional<z.ZodString>;
118
+ versionId: z.ZodOptional<z.ZodString>;
119
+ file: z.ZodOptional<z.ZodObject<{
120
+ available: z.ZodLiteral<true>;
121
+ artifactId: z.ZodString;
122
+ kind: z.ZodEnum<{
123
+ assistant_completion: "assistant_completion";
124
+ browser_screenshot: "browser_screenshot";
125
+ computer_screenshot: "computer_screenshot";
126
+ event_media: "event_media";
127
+ file: "file";
128
+ generated_image: "generated_image";
129
+ generated_video: "generated_video";
130
+ internal_update: "internal_update";
131
+ tool_result: "tool_result";
132
+ }>;
133
+ contentType: z.ZodString;
134
+ originalBytes: z.ZodNumber;
135
+ sha256: z.ZodString;
136
+ retainedAt: z.ZodString;
137
+ dimensions: z.ZodOptional<z.ZodObject<{
138
+ width: z.ZodNumber;
139
+ height: z.ZodNumber;
140
+ }, z.core.$strict>>;
141
+ retention: z.ZodUnion<readonly [z.ZodObject<{
142
+ policy: z.ZodLiteral<"workspace_file">;
143
+ expiresAt: z.ZodNull;
144
+ }, z.core.$strict>, z.ZodObject<{
145
+ policy: z.ZodLiteral<"session_screenshot">;
146
+ expiresAt: z.ZodString;
147
+ }, z.core.$strict>]>;
148
+ retrieval: z.ZodObject<{
149
+ method: z.ZodLiteral<"GET">;
150
+ path: z.ZodString;
151
+ acceptRanges: z.ZodLiteral<"bytes">;
152
+ maxRangeBytes: z.ZodNumber;
153
+ }, z.core.$strict>;
154
+ }, z.core.$strict>>;
155
+ filename: z.ZodOptional<z.ZodString>;
156
+ contentType: z.ZodOptional<z.ZodString>;
157
+ sizeBytes: z.ZodOptional<z.ZodNumber>;
158
+ }, z.core.$strict>>;
159
+ nextCursor: z.ZodNullable<z.ZodString>;
160
+ }, z.core.$strict>;
161
+ export type ArtifactCatalogListResponse = z.infer<typeof ArtifactCatalogListResponse>;
@@ -1,5 +1,8 @@
1
1
  import { z } from "zod";
2
- export declare const WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES: number;
2
+ export declare const WORKSPACE_ARTIFACT_HTML_MAX_UTF8_BYTES = 5000000000;
3
+ export declare const WORKSPACE_ARTIFACT_SOURCE_MAX_UTF8_BYTES = 5000000000;
4
+ export declare const WORKSPACE_ARTIFACT_SOURCE_MAX_FILES: number;
5
+ export declare const WORKSPACE_ARTIFACT_REQUESTED_TOOLS_MAX = 128;
3
6
  export declare const WORKSPACE_ARTIFACT_TITLE_MAX_CHARS = 120;
4
7
  export declare const WORKSPACE_ARTIFACT_DESCRIPTION_MAX_CHARS = 2000;
5
8
  export declare const WORKSPACE_ARTIFACT_LIST_MAX = 100;
@@ -12,6 +15,27 @@ export declare const WorkspaceArtifactStatus: z.ZodEnum<{
12
15
  archived: "archived";
13
16
  }>;
14
17
  export type WorkspaceArtifactStatus = z.infer<typeof WorkspaceArtifactStatus>;
18
+ export declare const WorkspaceArtifactSourcePath: z.ZodString;
19
+ export type WorkspaceArtifactSourcePath = z.infer<typeof WorkspaceArtifactSourcePath>;
20
+ export declare const WorkspaceArtifactSourceFile: z.ZodObject<{
21
+ path: z.ZodString;
22
+ content: z.ZodString;
23
+ }, z.core.$strict>;
24
+ export type WorkspaceArtifactSourceFile = z.infer<typeof WorkspaceArtifactSourceFile>;
25
+ /** Retained editable source; the published runtime remains one exact HTML document. */
26
+ export declare const WorkspaceArtifactSourceBundle: z.ZodObject<{
27
+ entrypoint: z.ZodString;
28
+ files: z.ZodArray<z.ZodObject<{
29
+ path: z.ZodString;
30
+ content: z.ZodString;
31
+ }, z.core.$strict>>;
32
+ }, z.core.$strict>;
33
+ export type WorkspaceArtifactSourceBundle = z.infer<typeof WorkspaceArtifactSourceBundle>;
34
+ export declare const WorkspaceArtifactRequestedTools: z.ZodArray<z.ZodObject<{
35
+ serverId: z.ZodString;
36
+ toolName: z.ZodString;
37
+ }, z.core.$strict>>;
38
+ export type WorkspaceArtifactRequestedTools = z.infer<typeof WorkspaceArtifactRequestedTools>;
15
39
  export declare const WorkspaceArtifactVersion: z.ZodObject<{
16
40
  id: z.ZodString;
17
41
  accountId: z.ZodString;
@@ -19,8 +43,14 @@ export declare const WorkspaceArtifactVersion: z.ZodObject<{
19
43
  artifactId: z.ZodString;
20
44
  revision: z.ZodNumber;
21
45
  contentType: z.ZodLiteral<"text/html">;
22
- contentSha256: z.ZodString;
46
+ contentSha256: z.ZodNullable<z.ZodString>;
23
47
  sizeBytes: z.ZodNumber;
48
+ sourceSha256: z.ZodNullable<z.ZodString>;
49
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
50
+ requestedTools: z.ZodArray<z.ZodObject<{
51
+ serverId: z.ZodString;
52
+ toolName: z.ZodString;
53
+ }, z.core.$strict>>;
24
54
  sourceSessionId: z.ZodNullable<z.ZodString>;
25
55
  sourceTurnId: z.ZodNullable<z.ZodString>;
26
56
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -47,8 +77,14 @@ export declare const WorkspaceArtifact: z.ZodObject<{
47
77
  artifactId: z.ZodString;
48
78
  revision: z.ZodNumber;
49
79
  contentType: z.ZodLiteral<"text/html">;
50
- contentSha256: z.ZodString;
80
+ contentSha256: z.ZodNullable<z.ZodString>;
51
81
  sizeBytes: z.ZodNumber;
82
+ sourceSha256: z.ZodNullable<z.ZodString>;
83
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
84
+ requestedTools: z.ZodArray<z.ZodObject<{
85
+ serverId: z.ZodString;
86
+ toolName: z.ZodString;
87
+ }, z.core.$strict>>;
52
88
  sourceSessionId: z.ZodNullable<z.ZodString>;
53
89
  sourceTurnId: z.ZodNullable<z.ZodString>;
54
90
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -62,7 +98,9 @@ export declare const WorkspaceArtifact: z.ZodObject<{
62
98
  }, z.core.$strip>;
63
99
  export type WorkspaceArtifact = z.infer<typeof WorkspaceArtifact>;
64
100
  export declare const WorkspaceArtifactEventType: z.ZodEnum<{
101
+ archived: "archived";
65
102
  published: "published";
103
+ restored: "restored";
66
104
  rolled_back: "rolled_back";
67
105
  }>;
68
106
  export type WorkspaceArtifactEventType = z.infer<typeof WorkspaceArtifactEventType>;
@@ -72,7 +110,9 @@ export declare const WorkspaceArtifactEvent: z.ZodObject<{
72
110
  workspaceId: z.ZodString;
73
111
  artifactId: z.ZodString;
74
112
  type: z.ZodEnum<{
113
+ archived: "archived";
75
114
  published: "published";
115
+ restored: "restored";
76
116
  rolled_back: "rolled_back";
77
117
  }>;
78
118
  fromVersionId: z.ZodNullable<z.ZodString>;
@@ -89,6 +129,11 @@ export type WorkspaceArtifactEvent = z.infer<typeof WorkspaceArtifactEvent>;
89
129
  export declare const WorkspaceArtifactListQuery: z.ZodObject<{
90
130
  limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
91
131
  cursor: z.ZodOptional<z.ZodString>;
132
+ status: z.ZodOptional<z.ZodEnum<{
133
+ active: "active";
134
+ archived: "archived";
135
+ }>>;
136
+ sourceSessionId: z.ZodOptional<z.ZodString>;
92
137
  }, z.core.$strip>;
93
138
  export type WorkspaceArtifactListQuery = z.infer<typeof WorkspaceArtifactListQuery>;
94
139
  export declare const WorkspaceArtifactListResponse: z.ZodObject<{
@@ -110,8 +155,14 @@ export declare const WorkspaceArtifactListResponse: z.ZodObject<{
110
155
  artifactId: z.ZodString;
111
156
  revision: z.ZodNumber;
112
157
  contentType: z.ZodLiteral<"text/html">;
113
- contentSha256: z.ZodString;
158
+ contentSha256: z.ZodNullable<z.ZodString>;
114
159
  sizeBytes: z.ZodNumber;
160
+ sourceSha256: z.ZodNullable<z.ZodString>;
161
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
162
+ requestedTools: z.ZodArray<z.ZodObject<{
163
+ serverId: z.ZodString;
164
+ toolName: z.ZodString;
165
+ }, z.core.$strict>>;
115
166
  sourceSessionId: z.ZodNullable<z.ZodString>;
116
167
  sourceTurnId: z.ZodNullable<z.ZodString>;
117
168
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -146,8 +197,14 @@ export declare const WorkspaceArtifactDetailResponse: z.ZodObject<{
146
197
  artifactId: z.ZodString;
147
198
  revision: z.ZodNumber;
148
199
  contentType: z.ZodLiteral<"text/html">;
149
- contentSha256: z.ZodString;
200
+ contentSha256: z.ZodNullable<z.ZodString>;
150
201
  sizeBytes: z.ZodNumber;
202
+ sourceSha256: z.ZodNullable<z.ZodString>;
203
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
204
+ requestedTools: z.ZodArray<z.ZodObject<{
205
+ serverId: z.ZodString;
206
+ toolName: z.ZodString;
207
+ }, z.core.$strict>>;
151
208
  sourceSessionId: z.ZodNullable<z.ZodString>;
152
209
  sourceTurnId: z.ZodNullable<z.ZodString>;
153
210
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -166,8 +223,14 @@ export declare const WorkspaceArtifactDetailResponse: z.ZodObject<{
166
223
  artifactId: z.ZodString;
167
224
  revision: z.ZodNumber;
168
225
  contentType: z.ZodLiteral<"text/html">;
169
- contentSha256: z.ZodString;
226
+ contentSha256: z.ZodNullable<z.ZodString>;
170
227
  sizeBytes: z.ZodNumber;
228
+ sourceSha256: z.ZodNullable<z.ZodString>;
229
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
230
+ requestedTools: z.ZodArray<z.ZodObject<{
231
+ serverId: z.ZodString;
232
+ toolName: z.ZodString;
233
+ }, z.core.$strict>>;
171
234
  sourceSessionId: z.ZodNullable<z.ZodString>;
172
235
  sourceTurnId: z.ZodNullable<z.ZodString>;
173
236
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -181,7 +244,9 @@ export declare const WorkspaceArtifactDetailResponse: z.ZodObject<{
181
244
  workspaceId: z.ZodString;
182
245
  artifactId: z.ZodString;
183
246
  type: z.ZodEnum<{
247
+ archived: "archived";
184
248
  published: "published";
249
+ restored: "restored";
185
250
  rolled_back: "rolled_back";
186
251
  }>;
187
252
  fromVersionId: z.ZodNullable<z.ZodString>;
@@ -203,14 +268,38 @@ export declare const CreateWorkspaceArtifactRequest: z.ZodObject<{
203
268
  slug: z.ZodOptional<z.ZodString>;
204
269
  title: z.ZodString;
205
270
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
206
- html: z.ZodString;
271
+ html: z.ZodOptional<z.ZodString>;
272
+ uploadId: z.ZodOptional<z.ZodString>;
273
+ source: z.ZodOptional<z.ZodObject<{
274
+ entrypoint: z.ZodString;
275
+ files: z.ZodArray<z.ZodObject<{
276
+ path: z.ZodString;
277
+ content: z.ZodString;
278
+ }, z.core.$strict>>;
279
+ }, z.core.$strict>>;
280
+ requestedTools: z.ZodOptional<z.ZodArray<z.ZodObject<{
281
+ serverId: z.ZodString;
282
+ toolName: z.ZodString;
283
+ }, z.core.$strict>>>;
207
284
  idempotencyKey: z.ZodString;
208
285
  }, z.core.$strip>;
209
286
  export type CreateWorkspaceArtifactRequest = z.infer<typeof CreateWorkspaceArtifactRequest>;
210
287
  export declare const PublishWorkspaceArtifactVersionRequest: z.ZodObject<{
211
288
  title: z.ZodOptional<z.ZodString>;
212
289
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
213
- html: z.ZodString;
290
+ html: z.ZodOptional<z.ZodString>;
291
+ uploadId: z.ZodOptional<z.ZodString>;
292
+ source: z.ZodOptional<z.ZodObject<{
293
+ entrypoint: z.ZodString;
294
+ files: z.ZodArray<z.ZodObject<{
295
+ path: z.ZodString;
296
+ content: z.ZodString;
297
+ }, z.core.$strict>>;
298
+ }, z.core.$strict>>;
299
+ requestedTools: z.ZodOptional<z.ZodArray<z.ZodObject<{
300
+ serverId: z.ZodString;
301
+ toolName: z.ZodString;
302
+ }, z.core.$strict>>>;
214
303
  expectedCurrentVersionId: z.ZodString;
215
304
  idempotencyKey: z.ZodString;
216
305
  }, z.core.$strip>;
@@ -222,6 +311,16 @@ export declare const RollbackWorkspaceArtifactRequest: z.ZodObject<{
222
311
  idempotencyKey: z.ZodString;
223
312
  }, z.core.$strip>;
224
313
  export type RollbackWorkspaceArtifactRequest = z.infer<typeof RollbackWorkspaceArtifactRequest>;
314
+ export declare const SetWorkspaceArtifactStatusRequest: z.ZodObject<{
315
+ status: z.ZodEnum<{
316
+ active: "active";
317
+ archived: "archived";
318
+ }>;
319
+ expectedCurrentVersionId: z.ZodString;
320
+ reason: z.ZodString;
321
+ idempotencyKey: z.ZodString;
322
+ }, z.core.$strip>;
323
+ export type SetWorkspaceArtifactStatusRequest = z.infer<typeof SetWorkspaceArtifactStatusRequest>;
225
324
  export declare const WorkspaceArtifactMutationResponse: z.ZodObject<{
226
325
  artifact: z.ZodObject<{
227
326
  id: z.ZodString;
@@ -241,8 +340,14 @@ export declare const WorkspaceArtifactMutationResponse: z.ZodObject<{
241
340
  artifactId: z.ZodString;
242
341
  revision: z.ZodNumber;
243
342
  contentType: z.ZodLiteral<"text/html">;
244
- contentSha256: z.ZodString;
343
+ contentSha256: z.ZodNullable<z.ZodString>;
245
344
  sizeBytes: z.ZodNumber;
345
+ sourceSha256: z.ZodNullable<z.ZodString>;
346
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
347
+ requestedTools: z.ZodArray<z.ZodObject<{
348
+ serverId: z.ZodString;
349
+ toolName: z.ZodString;
350
+ }, z.core.$strict>>;
246
351
  sourceSessionId: z.ZodNullable<z.ZodString>;
247
352
  sourceTurnId: z.ZodNullable<z.ZodString>;
248
353
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -261,8 +366,14 @@ export declare const WorkspaceArtifactMutationResponse: z.ZodObject<{
261
366
  artifactId: z.ZodString;
262
367
  revision: z.ZodNumber;
263
368
  contentType: z.ZodLiteral<"text/html">;
264
- contentSha256: z.ZodString;
369
+ contentSha256: z.ZodNullable<z.ZodString>;
265
370
  sizeBytes: z.ZodNumber;
371
+ sourceSha256: z.ZodNullable<z.ZodString>;
372
+ sourceSizeBytes: z.ZodNullable<z.ZodNumber>;
373
+ requestedTools: z.ZodArray<z.ZodObject<{
374
+ serverId: z.ZodString;
375
+ toolName: z.ZodString;
376
+ }, z.core.$strict>>;
266
377
  sourceSessionId: z.ZodNullable<z.ZodString>;
267
378
  sourceTurnId: z.ZodNullable<z.ZodString>;
268
379
  sourceAttemptId: z.ZodNullable<z.ZodString>;
@@ -276,7 +387,9 @@ export declare const WorkspaceArtifactMutationResponse: z.ZodObject<{
276
387
  workspaceId: z.ZodString;
277
388
  artifactId: z.ZodString;
278
389
  type: z.ZodEnum<{
390
+ archived: "archived";
279
391
  published: "published";
392
+ restored: "restored";
280
393
  rolled_back: "rolled_back";
281
394
  }>;
282
395
  fromVersionId: z.ZodNullable<z.ZodString>;
@@ -296,8 +409,19 @@ export declare const WorkspaceArtifactContentResponse: z.ZodObject<{
296
409
  artifactId: z.ZodString;
297
410
  versionId: z.ZodString;
298
411
  contentType: z.ZodLiteral<"text/html">;
299
- contentSha256: z.ZodString;
412
+ contentSha256: z.ZodNullable<z.ZodString>;
300
413
  html: z.ZodString;
414
+ source: z.ZodObject<{
415
+ entrypoint: z.ZodString;
416
+ files: z.ZodArray<z.ZodObject<{
417
+ path: z.ZodString;
418
+ content: z.ZodString;
419
+ }, z.core.$strict>>;
420
+ }, z.core.$strict>;
421
+ requestedTools: z.ZodArray<z.ZodObject<{
422
+ serverId: z.ZodString;
423
+ toolName: z.ZodString;
424
+ }, z.core.$strict>>;
301
425
  }, z.core.$strip>;
302
426
  export type WorkspaceArtifactContentResponse = z.infer<typeof WorkspaceArtifactContentResponse>;
303
427
  export declare function normalizeWorkspaceArtifactSlug(value: string): string;
@@ -0,0 +1,16 @@
1
+ /** The former API/Knowledge-sync adapter is historical; hosted Atlassian MCP remains supported. */
2
+ export declare const ATLASSIAN_NATIVE_RETIRED_REASON: "atlassian_native_retired";
3
+ export declare const ATLASSIAN_NATIVE_RETIRED_MESSAGE = "Jira and Confluence knowledge sync has been retired. Connect Atlassian agent tools to use its hosted MCP server.";
4
+ export declare const RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES: readonly ["atlassian_sources_list", "atlassian_search", "atlassian_get"];
5
+ export declare function isRetiredNativeAtlassianTool(name: string): boolean;
6
+ /** Match the native source identity, never the hosted MCP provider or a display name. */
7
+ export declare function isRetiredNativeAtlassianSource(source: unknown): boolean;
8
+ /** Includes frozen historical source actions without changing their stored bytes. */
9
+ export declare function isRetiredNativeAtlassianTask(task: {
10
+ agentConfig?: {
11
+ knowledgeSource?: unknown;
12
+ } | null;
13
+ action?: {
14
+ kind?: unknown;
15
+ } | null;
16
+ }): boolean;
@@ -0,0 +1,30 @@
1
+ // src/atlassian-native-retirement.ts
2
+ var ATLASSIAN_NATIVE_RETIRED_REASON = "atlassian_native_retired";
3
+ var ATLASSIAN_NATIVE_RETIRED_MESSAGE = "Jira and Confluence knowledge sync has been retired. Connect Atlassian agent tools to use its hosted MCP server.";
4
+ var RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES = [
5
+ "atlassian_sources_list",
6
+ "atlassian_search",
7
+ "atlassian_get"
8
+ ];
9
+ function isRetiredNativeAtlassianTool(name) {
10
+ return RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES.includes(name);
11
+ }
12
+ function isRetiredNativeAtlassianSource(source) {
13
+ if (!source || typeof source !== "object") return false;
14
+ const connection = source.connection;
15
+ if (!connection || typeof connection !== "object") return false;
16
+ const provider = connection.providerDomain;
17
+ return typeof provider === "string" && provider.toLowerCase() === "api.atlassian.com";
18
+ }
19
+ function isRetiredNativeAtlassianTask(task) {
20
+ return isRetiredNativeAtlassianSource(task.agentConfig?.knowledgeSource) || task.action?.kind === "knowledge_source_sync" && isRetiredNativeAtlassianSource(task.action);
21
+ }
22
+ export {
23
+ ATLASSIAN_NATIVE_RETIRED_MESSAGE,
24
+ ATLASSIAN_NATIVE_RETIRED_REASON,
25
+ RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES,
26
+ isRetiredNativeAtlassianSource,
27
+ isRetiredNativeAtlassianTask,
28
+ isRetiredNativeAtlassianTool
29
+ };
30
+ //# sourceMappingURL=atlassian-native-retirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/atlassian-native-retirement.ts"],"sourcesContent":["/** The former API/Knowledge-sync adapter is historical; hosted Atlassian MCP remains supported. */\nexport const ATLASSIAN_NATIVE_RETIRED_REASON = \"atlassian_native_retired\" as const;\nexport const ATLASSIAN_NATIVE_RETIRED_MESSAGE =\n \"Jira and Confluence knowledge sync has been retired. Connect Atlassian agent tools to use its hosted MCP server.\";\nexport const RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES = [\n \"atlassian_sources_list\",\n \"atlassian_search\",\n \"atlassian_get\",\n] as const;\n\nexport function isRetiredNativeAtlassianTool(name: string): boolean {\n return (RETIRED_NATIVE_ATLASSIAN_TOOL_NAMES as readonly string[]).includes(name);\n}\n\n/** Match the native source identity, never the hosted MCP provider or a display name. */\nexport function isRetiredNativeAtlassianSource(source: unknown): boolean {\n if (!source || typeof source !== \"object\") return false;\n const connection = (source as { connection?: unknown }).connection;\n if (!connection || typeof connection !== \"object\") return false;\n const provider = (connection as { providerDomain?: unknown }).providerDomain;\n return typeof provider === \"string\" && provider.toLowerCase() === \"api.atlassian.com\";\n}\n\n/** Includes frozen historical source actions without changing their stored bytes. */\nexport function isRetiredNativeAtlassianTask(task: {\n agentConfig?: { knowledgeSource?: unknown } | null;\n action?: { kind?: unknown } | null;\n}): boolean {\n return (\n isRetiredNativeAtlassianSource(task.agentConfig?.knowledgeSource) ||\n (task.action?.kind === \"knowledge_source_sync\" && isRetiredNativeAtlassianSource(task.action))\n );\n}\n"],"mappings":";AACO,IAAM,kCAAkC;AACxC,IAAM,mCACX;AACK,IAAM,sCAAsC;AAAA,EACjD;AAAA,EACA;AAAA,EACA;AACF;AAEO,SAAS,6BAA6B,MAAuB;AAClE,SAAQ,oCAA0D,SAAS,IAAI;AACjF;AAGO,SAAS,+BAA+B,QAA0B;AACvE,MAAI,CAAC,UAAU,OAAO,WAAW,SAAU,QAAO;AAClD,QAAM,aAAc,OAAoC;AACxD,MAAI,CAAC,cAAc,OAAO,eAAe,SAAU,QAAO;AAC1D,QAAM,WAAY,WAA4C;AAC9D,SAAO,OAAO,aAAa,YAAY,SAAS,YAAY,MAAM;AACpE;AAGO,SAAS,6BAA6B,MAGjC;AACV,SACE,+BAA+B,KAAK,aAAa,eAAe,KAC/D,KAAK,QAAQ,SAAS,2BAA2B,+BAA+B,KAAK,MAAM;AAEhG;","names":[]}
@@ -180,6 +180,8 @@ export type AtlassianBrowseItem = z.infer<typeof AtlassianBrowseItem>;
180
180
  export declare const AtlassianBrowseResponse: z.ZodObject<{
181
181
  connection: z.ZodLazy<z.ZodObject<{
182
182
  id: z.ZodString;
183
+ authorityId: z.ZodOptional<z.ZodString>;
184
+ connectionAuthorityGeneration: z.ZodOptional<z.ZodNumber>;
183
185
  accountId: z.ZodString;
184
186
  workspaceId: z.ZodString;
185
187
  subjectId: z.ZodNullable<z.ZodString>;