@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
@@ -1,3 +1,4 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
  import { Permission } from "./permissions";
3
4
 
@@ -24,190 +25,306 @@ function opaqueText(maxBytes: number) {
24
25
  }
25
26
  const externalId = opaqueText(1024);
26
27
  const source = opaqueText(200);
27
- const externalSubject = z
28
- .string()
29
- .regex(/^external_user:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$(?![\s\S])/);
30
- const nativeSubject = z
31
- .string()
32
- .min(1)
33
- .max(1024)
34
- .regex(/^user:[^\r\n]+$(?![\s\S])/);
35
- export const ExternalIdentityReference = z
36
- .object({
37
- externalId,
38
- source: source.default("default"),
39
- })
40
- .strict();
28
+ const externalSubject = /* @__PURE__ */ defineSchema(() =>
29
+ z
30
+ .string()
31
+ .regex(
32
+ /^external_user:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$(?![\s\S])/,
33
+ ),
34
+ );
35
+ const nativeSubject = /* @__PURE__ */ defineSchema(() =>
36
+ z
37
+ .string()
38
+ .min(1)
39
+ .max(1024)
40
+ .regex(/^user:[^\r\n]+$(?![\s\S])/),
41
+ );
42
+ export const ExternalIdentityReference = /* @__PURE__ */ defineSchema(() =>
43
+ z
44
+ .object({
45
+ externalId,
46
+ source: source.default("default"),
47
+ })
48
+ .strict(),
49
+ );
41
50
  export type ExternalIdentityReference = z.infer<typeof ExternalIdentityReference>;
42
51
 
43
- export const AddExternalWorkspaceMemberRequest = z
44
- .object({
45
- identity: ExternalIdentityReference,
46
- permissions: z.array(Permission).min(1).max(Permission.options.length),
47
- })
48
- .strict();
52
+ export const AddExternalWorkspaceMemberRequest = /* @__PURE__ */ defineSchema(() =>
53
+ z
54
+ .object({
55
+ identity: ExternalIdentityReference,
56
+ permissions: z.array(Permission).min(1).max(Permission.options.length),
57
+ /** Opt-in durable operation identity; unkeyed legacy requests are not cancellable. */
58
+ operationId: z.string().uuid().optional(),
59
+ })
60
+ .strict(),
61
+ );
49
62
  export type AddExternalWorkspaceMemberRequest = z.infer<typeof AddExternalWorkspaceMemberRequest>;
50
63
 
64
+ /** Content-free service lookup, including identities which can no longer act. */
65
+ export const ExternalIdentityLookup = /* @__PURE__ */ defineSchema(() =>
66
+ z.discriminatedUnion("found", [
67
+ z.object({ found: z.literal(false) }).strict(),
68
+ z
69
+ .object({
70
+ found: z.literal(true),
71
+ subjectId: externalSubject,
72
+ organizationMembershipId: z.string().uuid(),
73
+ identityStatus: z.enum(["active", "disabled", "revoked"]),
74
+ identityAuthorizationRevision: z.number().int().positive().safe(),
75
+ membershipStatus: z.enum(["provisioning", "active", "suspended", "revoked"]),
76
+ membershipAuthorizationRevision: z.number().int().positive().safe(),
77
+ })
78
+ .strict(),
79
+ ]),
80
+ );
81
+ export type ExternalIdentityLookup = z.infer<typeof ExternalIdentityLookup>;
82
+
83
+ /** Terminal withdrawal of this external member's workspace access, also fencing
84
+ * an exact earlier onboarding operation whether or not it has reached the API. */
85
+ export const CancelExternalWorkspaceMemberGrantRequest = /* @__PURE__ */ defineSchema(() =>
86
+ z
87
+ .object({
88
+ operationId: z.string().uuid(),
89
+ cancelGrantOperationId: z.string().uuid(),
90
+ })
91
+ .strict()
92
+ .refine((value) => value.operationId !== value.cancelGrantOperationId, {
93
+ message: "Revocation and grant must use different operation identities",
94
+ }),
95
+ );
96
+ export type CancelExternalWorkspaceMemberGrantRequest = z.infer<
97
+ typeof CancelExternalWorkspaceMemberGrantRequest
98
+ >;
99
+ export const CancelExternalWorkspaceMemberGrantResponse = /* @__PURE__ */ defineSchema(() =>
100
+ z
101
+ .object({
102
+ removed: z.boolean(),
103
+ replay: z.boolean(),
104
+ fencedGrantOperationId: z.string().uuid(),
105
+ })
106
+ .strict(),
107
+ );
108
+ export type CancelExternalWorkspaceMemberGrantResponse = z.infer<
109
+ typeof CancelExternalWorkspaceMemberGrantResponse
110
+ >;
111
+
112
+ /** Replace an existing external member's permissions in one shared workspace.
113
+ * Keyed and idempotent like a grant; narrowing forces live authority to
114
+ * re-check but never cancels or tears down work. */
115
+ export const UpdateExternalWorkspaceMemberRequest = /* @__PURE__ */ defineSchema(() =>
116
+ z
117
+ .object({
118
+ permissions: z.array(Permission).min(1).max(Permission.options.length),
119
+ operationId: z.string().uuid(),
120
+ })
121
+ .strict(),
122
+ );
123
+ export type UpdateExternalWorkspaceMemberRequest = z.infer<
124
+ typeof UpdateExternalWorkspaceMemberRequest
125
+ >;
126
+ export const UpdateExternalWorkspaceMemberResponse = /* @__PURE__ */ defineSchema(() =>
127
+ z
128
+ .object({
129
+ subjectId: z.string(),
130
+ organizationMembershipId: z.string().uuid(),
131
+ permissions: z.array(Permission),
132
+ /** True when a previously held permission was removed. */
133
+ narrowed: z.boolean(),
134
+ replay: z.boolean(),
135
+ })
136
+ .strict(),
137
+ );
138
+ export type UpdateExternalWorkspaceMemberResponse = z.infer<
139
+ typeof UpdateExternalWorkspaceMemberResponse
140
+ >;
141
+
51
142
  /** Uses the organization membership ID returned by lazy identity admission.
52
143
  * Reactivation restores admission only, not revoked work or workspace grants. */
53
- export const UpdateExternalIdentityMembershipRequest = z
54
- .object({
55
- kind: z.enum(["suspend", "reactivate", "offboard"]),
56
- expectedAuthorizationRevision: z.number().int().positive().safe(),
57
- operationId: z.string().uuid(),
58
- reason: z.string().max(512).optional(),
59
- })
60
- .strict();
144
+ export const UpdateExternalIdentityMembershipRequest = /* @__PURE__ */ defineSchema(() =>
145
+ z
146
+ .object({
147
+ kind: z.enum(["suspend", "reactivate", "offboard"]),
148
+ expectedAuthorizationRevision: z.number().int().positive().safe(),
149
+ operationId: z.string().uuid(),
150
+ reason: z.string().max(512).optional(),
151
+ })
152
+ .strict(),
153
+ );
61
154
  export type UpdateExternalIdentityMembershipRequest = z.infer<
62
155
  typeof UpdateExternalIdentityMembershipRequest
63
156
  >;
64
157
 
65
- export const ExternalActorSelection = z.discriminatedUnion("mode", [
66
- z.object({ mode: z.literal("external"), identity: ExternalIdentityReference }).strict(),
158
+ export const ExternalActorSelection = /* @__PURE__ */ defineSchema(() =>
159
+ z.discriminatedUnion("mode", [
160
+ z.object({ mode: z.literal("external"), identity: ExternalIdentityReference }).strict(),
161
+ z
162
+ .object({
163
+ mode: z.literal("linked_native"),
164
+ identity: ExternalIdentityReference,
165
+ linkId: z.string().uuid(),
166
+ expectedLinkRevision: z.number().int().positive().safe(),
167
+ })
168
+ .strict(),
169
+ ]),
170
+ );
171
+ export type ExternalActorSelection = z.infer<typeof ExternalActorSelection>;
172
+
173
+ export const ExternalIdentity = /* @__PURE__ */ defineSchema(() =>
67
174
  z
68
175
  .object({
69
- mode: z.literal("linked_native"),
70
- identity: ExternalIdentityReference,
71
- linkId: z.string().uuid(),
72
- expectedLinkRevision: z.number().int().positive().safe(),
176
+ id: z.string().uuid(),
177
+ accountId: z.string().uuid(),
178
+ source,
179
+ externalId,
180
+ subjectId: externalSubject,
181
+ organizationMembershipId: z.string().uuid(),
182
+ personalWorkspaceId: z.string().uuid(),
183
+ status: z.enum(["active", "disabled", "revoked"]),
184
+ authorizationRevision: z.number().int().positive().safe(),
73
185
  })
74
186
  .strict(),
75
- ]);
76
- export type ExternalActorSelection = z.infer<typeof ExternalActorSelection>;
77
-
78
- export const ExternalIdentity = z
79
- .object({
80
- id: z.string().uuid(),
81
- accountId: z.string().uuid(),
82
- source,
83
- externalId,
84
- subjectId: externalSubject,
85
- organizationMembershipId: z.string().uuid(),
86
- personalWorkspaceId: z.string().uuid(),
87
- status: z.enum(["active", "disabled", "revoked"]),
88
- authorizationRevision: z.number().int().positive().safe(),
89
- })
90
- .strict();
187
+ );
91
188
  export type ExternalIdentity = z.infer<typeof ExternalIdentity>;
92
189
 
93
190
  // Audit attribution, not authentication. Only the canonical access resolver
94
191
  // may establish provenance; accepting this JSON from a browser proves nothing.
95
- export const ExternalActorAttribution = z
96
- .object({
97
- accountId: z.string().uuid(),
98
- authenticatingApiKeyId: z.string().uuid(),
99
- externalIdentityId: z.string().uuid(),
100
- externalSubjectId: externalSubject,
101
- externalAuthorizationRevision: z.number().int().positive().safe(),
102
- effectiveSubjectId: z.string().min(1).max(1024),
103
- actingMode: z.enum(["external", "linked_native"]),
104
- linkId: z.string().uuid().optional(),
105
- linkRevision: z.number().int().positive().safe().optional(),
106
- })
107
- .strict()
108
- .superRefine((value, context) => {
109
- if (value.actingMode === "external") {
110
- if (
111
- value.effectiveSubjectId !== value.externalSubjectId ||
112
- value.linkId !== undefined ||
113
- value.linkRevision !== undefined
192
+ export const ExternalActorAttribution = /* @__PURE__ */ defineSchema(() =>
193
+ z
194
+ .object({
195
+ accountId: z.string().uuid(),
196
+ authenticatingApiKeyId: z.string().uuid(),
197
+ externalIdentityId: z.string().uuid(),
198
+ externalSubjectId: externalSubject,
199
+ externalAuthorizationRevision: z.number().int().positive().safe(),
200
+ effectiveSubjectId: z.string().min(1).max(1024),
201
+ actingMode: z.enum(["external", "linked_native"]),
202
+ linkId: z.string().uuid().optional(),
203
+ linkRevision: z.number().int().positive().safe().optional(),
204
+ })
205
+ .strict()
206
+ .superRefine((value, context) => {
207
+ if (value.actingMode === "external") {
208
+ if (
209
+ value.effectiveSubjectId !== value.externalSubjectId ||
210
+ value.linkId !== undefined ||
211
+ value.linkRevision !== undefined
212
+ ) {
213
+ context.addIssue({
214
+ code: "custom",
215
+ message: "External mode cannot delegate native identity",
216
+ });
217
+ }
218
+ } else if (
219
+ !value.linkId ||
220
+ !value.linkRevision ||
221
+ !nativeSubject.safeParse(value.effectiveSubjectId).success
114
222
  ) {
115
223
  context.addIssue({
116
224
  code: "custom",
117
- message: "External mode cannot delegate native identity",
225
+ message: "Linked mode requires exact native delegation provenance",
118
226
  });
119
227
  }
120
- } else if (
121
- !value.linkId ||
122
- !value.linkRevision ||
123
- !nativeSubject.safeParse(value.effectiveSubjectId).success
124
- ) {
125
- context.addIssue({
126
- code: "custom",
127
- message: "Linked mode requires exact native delegation provenance",
128
- });
129
- }
130
- });
228
+ }),
229
+ );
131
230
  export type ExternalActorAttribution = z.infer<typeof ExternalActorAttribution>;
132
231
 
133
232
  /** Server-signed/encrypted continuation data, never sufficient live authority. */
134
- export const ExternalActorContinuation = z
135
- .object({
136
- identity: ExternalIdentityReference,
137
- actor: ExternalActorAttribution,
138
- })
139
- .strict();
233
+ export const ExternalActorContinuation = /* @__PURE__ */ defineSchema(() =>
234
+ z
235
+ .object({
236
+ identity: ExternalIdentityReference,
237
+ actor: ExternalActorAttribution,
238
+ })
239
+ .strict(),
240
+ );
140
241
  export type ExternalActorContinuation = z.infer<typeof ExternalActorContinuation>;
141
242
 
142
- export const ExternalIdentityLink = z
143
- .object({
144
- id: z.string().uuid(),
145
- accountId: z.string().uuid(),
146
- externalIdentityId: z.string().uuid(),
147
- externalIdentity: ExternalIdentityReference.optional(),
148
- nativeSubjectId: nativeSubject.nullable(),
149
- status: z.enum(["pending", "active", "revoked", "expired"]),
150
- revision: z.number().int().positive().safe(),
151
- permissions: z.array(Permission).max(Permission.options.length),
152
- expiresAt: z.string().datetime({ offset: true }).nullable(),
153
- })
154
- .strict()
155
- .refine(
156
- (value) => value.status !== "active" || value.nativeSubjectId !== null,
157
- "An active link requires a confirmed native identity",
158
- );
243
+ export const ExternalIdentityLink = /* @__PURE__ */ defineSchema(() =>
244
+ z
245
+ .object({
246
+ id: z.string().uuid(),
247
+ accountId: z.string().uuid(),
248
+ externalIdentityId: z.string().uuid(),
249
+ externalIdentity: ExternalIdentityReference.optional(),
250
+ nativeSubjectId: nativeSubject.nullable(),
251
+ status: z.enum(["pending", "active", "revoked", "expired"]),
252
+ revision: z.number().int().positive().safe(),
253
+ permissions: z.array(Permission).max(Permission.options.length),
254
+ expiresAt: z.string().datetime({ offset: true }).nullable(),
255
+ })
256
+ .strict()
257
+ .refine(
258
+ (value) => value.status !== "active" || value.nativeSubjectId !== null,
259
+ "An active link requires a confirmed native identity",
260
+ ),
261
+ );
159
262
  export type ExternalIdentityLink = z.infer<typeof ExternalIdentityLink>;
160
263
 
161
- export const ExternalIdentityLinkPage = z
162
- .object({
163
- links: z.array(ExternalIdentityLink).max(50),
164
- nextCursor: z.string().uuid().nullable(),
165
- })
166
- .strict();
264
+ export const ExternalIdentityLinkPage = /* @__PURE__ */ defineSchema(() =>
265
+ z
266
+ .object({
267
+ links: z.array(ExternalIdentityLink).max(50),
268
+ nextCursor: z.string().uuid().nullable(),
269
+ })
270
+ .strict(),
271
+ );
167
272
  export type ExternalIdentityLinkPage = z.infer<typeof ExternalIdentityLinkPage>;
168
273
 
169
274
  /** A native confirmation may narrow this request, never broaden it. The
170
275
  * challenge is delivered once to the host and is not an authentication token. */
171
- export const BeginExternalIdentityLinkRequest = z
172
- .object({
173
- permissions: z.array(Permission).min(1).max(Permission.options.length),
174
- expiresAt: z.string().datetime({ offset: true }).nullable().default(null),
175
- })
176
- .strict();
276
+ export const BeginExternalIdentityLinkRequest = /* @__PURE__ */ defineSchema(() =>
277
+ z
278
+ .object({
279
+ permissions: z.array(Permission).min(1).max(Permission.options.length),
280
+ expiresAt: z.string().datetime({ offset: true }).nullable().default(null),
281
+ })
282
+ .strict(),
283
+ );
177
284
  export type BeginExternalIdentityLinkRequest = z.input<typeof BeginExternalIdentityLinkRequest>;
178
- export const ConfirmExternalIdentityLinkRequest = z
179
- .object({
180
- challenge: z.string().regex(/^[A-Za-z0-9_-]{43}$/),
181
- expectedRevision: z.number().int().positive().safe(),
182
- permissions: z.array(Permission).min(1).max(Permission.options.length),
183
- })
184
- .strict();
285
+ export const ConfirmExternalIdentityLinkRequest = /* @__PURE__ */ defineSchema(() =>
286
+ z
287
+ .object({
288
+ challenge: z.string().regex(/^[A-Za-z0-9_-]{43}$/),
289
+ expectedRevision: z.number().int().positive().safe(),
290
+ permissions: z.array(Permission).min(1).max(Permission.options.length),
291
+ })
292
+ .strict(),
293
+ );
185
294
  export type ConfirmExternalIdentityLinkRequest = z.infer<typeof ConfirmExternalIdentityLinkRequest>;
186
- export const BeginExternalIdentityLinkResponse = z
187
- .object({
188
- link: ExternalIdentityLink,
189
- challenge: z.string().regex(/^[A-Za-z0-9_-]{43}$/),
190
- confirmBefore: z.string().datetime({ offset: true }),
191
- })
192
- .strict();
295
+ export const BeginExternalIdentityLinkResponse = /* @__PURE__ */ defineSchema(() =>
296
+ z
297
+ .object({
298
+ link: ExternalIdentityLink,
299
+ challenge: z.string().regex(/^[A-Za-z0-9_-]{43}$/),
300
+ confirmBefore: z.string().datetime({ offset: true }),
301
+ })
302
+ .strict(),
303
+ );
193
304
  export type BeginExternalIdentityLinkResponse = z.infer<typeof BeginExternalIdentityLinkResponse>;
194
- export const ExternalIdentityLinkPreview = z
195
- .object({
196
- link: ExternalIdentityLink,
197
- externalIdentity: ExternalIdentityReference,
198
- nativeSubjectId: nativeSubject,
199
- organizationId: z.string().uuid(),
200
- })
201
- .strict();
305
+ export const ExternalIdentityLinkPreview = /* @__PURE__ */ defineSchema(() =>
306
+ z
307
+ .object({
308
+ link: ExternalIdentityLink,
309
+ externalIdentity: ExternalIdentityReference,
310
+ nativeSubjectId: nativeSubject,
311
+ organizationId: z.string().uuid(),
312
+ })
313
+ .strict(),
314
+ );
202
315
  export type ExternalIdentityLinkPreview = z.infer<typeof ExternalIdentityLinkPreview>;
203
316
 
204
317
  /** Immutable accepted-work restriction, not a browser credential. Original key
205
318
  * identity remains audit-only; durable use validates the live link and members. */
206
- export const ExternalLinkWorkSnapshot = z
207
- .object({
208
- identity: ExternalIdentityReference,
209
- actor: ExternalActorAttribution.refine((value) => value.actingMode === "linked_native"),
210
- permissions: z.array(Permission).max(Permission.options.length),
211
- })
212
- .strict();
319
+ export const ExternalLinkWorkSnapshot = /* @__PURE__ */ defineSchema(() =>
320
+ z
321
+ .object({
322
+ identity: ExternalIdentityReference,
323
+ actor: ExternalActorAttribution.refine((value) => value.actingMode === "linked_native"),
324
+ permissions: z.array(Permission).max(Permission.options.length),
325
+ /** Absent on historical snapshots, whose legacy semantics are preserved. */
326
+ permissionMode: z.enum(["legacy", "explicit"]).optional(),
327
+ })
328
+ .strict(),
329
+ );
213
330
  export type ExternalLinkWorkSnapshot = z.infer<typeof ExternalLinkWorkSnapshot>;
package/src/feedback.ts CHANGED
@@ -1,39 +1,52 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
- export const FeedbackSentiment = z.enum(["positive", "negative"]);
4
+ export const FeedbackSentiment = /* @__PURE__ */ defineSchema(() =>
5
+ z.enum(["positive", "negative"]),
6
+ );
4
7
  export type FeedbackSentiment = z.infer<typeof FeedbackSentiment>;
5
8
 
6
9
  /** A new key means a new submission; retry the same payload with the same key. */
7
- export const CreateFeedbackRequest = z
8
- .object({
9
- idempotencyKey: z.string().uuid(),
10
- sessionId: z.string().uuid().optional(),
11
- turnId: z.string().uuid().optional(),
12
- sentiment: FeedbackSentiment.optional(),
13
- comment: z.string().max(4000).optional(),
14
- })
15
- .strict()
16
- .superRefine((value, ctx) => {
17
- if (value.turnId && !value.sessionId)
18
- ctx.addIssue({ code: "custom", path: ["turnId"], message: "turnId requires sessionId" });
19
- if (value.sentiment && !value.sessionId)
20
- ctx.addIssue({ code: "custom", path: ["sentiment"], message: "Ratings require a session" });
21
- if (!value.sentiment && !value.comment?.trim())
22
- ctx.addIssue({ code: "custom", path: ["comment"], message: "Provide a rating or a comment" });
23
- });
10
+ export const CreateFeedbackRequest = /* @__PURE__ */ defineSchema(() =>
11
+ z
12
+ .object({
13
+ idempotencyKey: z.string().uuid(),
14
+ sessionId: z.string().uuid().optional(),
15
+ turnId: z.string().uuid().optional(),
16
+ sentiment: FeedbackSentiment.optional(),
17
+ comment: z.string().max(4000).optional(),
18
+ })
19
+ .strict()
20
+ .superRefine((value, ctx) => {
21
+ if (value.turnId && !value.sessionId)
22
+ ctx.addIssue({ code: "custom", path: ["turnId"], message: "turnId requires sessionId" });
23
+ if (value.sentiment && !value.sessionId)
24
+ ctx.addIssue({ code: "custom", path: ["sentiment"], message: "Ratings require a session" });
25
+ if (!value.sentiment && !value.comment?.trim())
26
+ ctx.addIssue({
27
+ code: "custom",
28
+ path: ["comment"],
29
+ message: "Provide a rating or a comment",
30
+ });
31
+ }),
32
+ );
24
33
  export type CreateFeedbackRequest = z.infer<typeof CreateFeedbackRequest>;
25
34
 
26
- export const Feedback = z.object({
27
- id: z.string().uuid(),
28
- workspaceId: z.string().uuid(),
29
- subjectId: z.string(),
30
- principalKind: z.string().nullable(),
31
- sessionId: z.string().uuid().nullable(),
32
- turnId: z.string().uuid().nullable(),
33
- sentiment: FeedbackSentiment.nullable(),
34
- comment: z.string().nullable(),
35
- createdAt: z.string().datetime(),
36
- });
35
+ export const Feedback = /* @__PURE__ */ defineSchema(() =>
36
+ z.object({
37
+ id: z.string().uuid(),
38
+ workspaceId: z.string().uuid(),
39
+ subjectId: z.string(),
40
+ principalKind: z.string().nullable(),
41
+ sessionId: z.string().uuid().nullable(),
42
+ turnId: z.string().uuid().nullable(),
43
+ sentiment: FeedbackSentiment.nullable(),
44
+ comment: z.string().nullable(),
45
+ createdAt: z.string().datetime(),
46
+ }),
47
+ );
37
48
  export type Feedback = z.infer<typeof Feedback>;
38
- export const FeedbackSubmissionResponse = z.object({ feedback: Feedback, replayed: z.boolean() });
49
+ export const FeedbackSubmissionResponse = /* @__PURE__ */ defineSchema(() =>
50
+ z.object({ feedback: Feedback, replayed: z.boolean() }),
51
+ );
39
52
  export type FeedbackSubmissionResponse = z.infer<typeof FeedbackSubmissionResponse>;