@opengeni/contracts 3.1.0-canary.2 → 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 (429) 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 +0 -2
  4. package/dist/allowance-refusal.d.ts +9 -0
  5. package/dist/allowance-refusal.js +50 -0
  6. package/dist/allowance-refusal.js.map +1 -0
  7. package/dist/analytics-consent-report.d.ts +19 -0
  8. package/dist/analytics-consent-report.js +10 -0
  9. package/dist/analytics-consent-report.js.map +1 -0
  10. package/dist/api-key-presets.d.ts +19 -0
  11. package/dist/artifact-catalog.d.ts +188 -0
  12. package/dist/artifacts.d.ts +86 -0
  13. package/dist/atlassian-native-retirement.d.ts +16 -0
  14. package/dist/atlassian-native-retirement.js +30 -0
  15. package/dist/atlassian-native-retirement.js.map +1 -0
  16. package/dist/atlassian.d.ts +1 -0
  17. package/dist/atlassian.js +34 -19
  18. package/dist/browser-storage.d.ts +5 -0
  19. package/dist/browser-storage.js +9 -0
  20. package/dist/browser-storage.js.map +1 -0
  21. package/dist/bundled-skills.d.ts +24 -1
  22. package/dist/canonical-human-identities.js +2 -1
  23. package/dist/chunk-2ZIHHL72.js +153 -0
  24. package/dist/chunk-2ZIHHL72.js.map +1 -0
  25. package/dist/{chunk-5LYFSZ7O.js → chunk-352X6ENP.js} +31 -31
  26. package/dist/chunk-4JGHSSB7.js +11 -0
  27. package/dist/chunk-4JGHSSB7.js.map +1 -0
  28. package/dist/chunk-4QO6GJUX.js +85 -0
  29. package/dist/chunk-4QO6GJUX.js.map +1 -0
  30. package/dist/chunk-4VDMHLLL.js +49 -0
  31. package/dist/chunk-4VDMHLLL.js.map +1 -0
  32. package/dist/chunk-56SNIMDO.js +9 -0
  33. package/dist/chunk-56SNIMDO.js.map +1 -0
  34. package/dist/chunk-6C2HKFTU.js +207 -0
  35. package/dist/chunk-6C2HKFTU.js.map +1 -0
  36. package/dist/chunk-6IXO76Z6.js +72 -0
  37. package/dist/chunk-6IXO76Z6.js.map +1 -0
  38. package/dist/chunk-7272KVWZ.js +60 -0
  39. package/dist/chunk-7272KVWZ.js.map +1 -0
  40. package/dist/{chunk-7ABONTXE.js → chunk-E3GGUBHS.js} +49 -5
  41. package/dist/chunk-E3GGUBHS.js.map +1 -0
  42. package/dist/chunk-EFZYKUE2.js +767 -0
  43. package/dist/chunk-EFZYKUE2.js.map +1 -0
  44. package/dist/chunk-EKWNTOG3.js +154 -0
  45. package/dist/chunk-EKWNTOG3.js.map +1 -0
  46. package/dist/chunk-HABQ7ADB.js +234 -0
  47. package/dist/chunk-HABQ7ADB.js.map +1 -0
  48. package/dist/chunk-HRRU4QPI.js +91 -0
  49. package/dist/chunk-HRRU4QPI.js.map +1 -0
  50. package/dist/{chunk-3SIZGL3O.js → chunk-IK36LXKC.js} +18 -2
  51. package/dist/chunk-IK36LXKC.js.map +1 -0
  52. package/dist/{chunk-TXTQIYCV.js → chunk-ILJ72KPO.js} +56 -3
  53. package/dist/chunk-ILJ72KPO.js.map +1 -0
  54. package/dist/chunk-J4HQ3UKY.js +93 -0
  55. package/dist/chunk-J4HQ3UKY.js.map +1 -0
  56. package/dist/chunk-KHHZTBP7.js +11 -0
  57. package/dist/chunk-KHHZTBP7.js.map +1 -0
  58. package/dist/{chunk-WYBDERIY.js → chunk-LZ2LAHIX.js} +47 -41
  59. package/dist/chunk-LZ2LAHIX.js.map +1 -0
  60. package/dist/chunk-NDZHPTCL.js +400 -0
  61. package/dist/chunk-NDZHPTCL.js.map +1 -0
  62. package/dist/chunk-OF6OKOBF.js +54793 -0
  63. package/dist/chunk-OF6OKOBF.js.map +1 -0
  64. package/dist/chunk-OL23ARTF.js +94 -0
  65. package/dist/chunk-OL23ARTF.js.map +1 -0
  66. package/dist/chunk-PUIUXIOL.js +189 -0
  67. package/dist/chunk-PUIUXIOL.js.map +1 -0
  68. package/dist/{chunk-Y3KNXVTD.js → chunk-RMWXDZEO.js} +128 -21
  69. package/dist/chunk-RMWXDZEO.js.map +1 -0
  70. package/dist/{chunk-MRWYRAS5.js → chunk-SHO4YO4B.js} +27 -35
  71. package/dist/chunk-SHO4YO4B.js.map +1 -0
  72. package/dist/chunk-SWRN2DJ3.js +153 -0
  73. package/dist/chunk-SWRN2DJ3.js.map +1 -0
  74. package/dist/chunk-TCXCRBPF.js +267 -0
  75. package/dist/chunk-TCXCRBPF.js.map +1 -0
  76. package/dist/chunk-TLU3UEMD.js +324 -0
  77. package/dist/chunk-TLU3UEMD.js.map +1 -0
  78. package/dist/chunk-TSWWZMUS.js +186 -0
  79. package/dist/chunk-TSWWZMUS.js.map +1 -0
  80. package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
  81. package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
  82. package/dist/chunk-XDLAGX66.js +127 -0
  83. package/dist/chunk-XDLAGX66.js.map +1 -0
  84. package/dist/chunk-YKZ4WU4P.js +33 -0
  85. package/dist/chunk-YKZ4WU4P.js.map +1 -0
  86. package/dist/{chunk-O5LEQHDM.js → chunk-Z7WEVGCL.js} +3 -3
  87. package/dist/{chunk-YBW5JSA3.js → chunk-ZDCRWCGZ.js} +119 -101
  88. package/dist/chunk-ZDCRWCGZ.js.map +1 -0
  89. package/dist/claude-provider-account-authority.d.ts +18 -0
  90. package/dist/claude-subscription-oauth.d.ts +42 -0
  91. package/dist/claude-subscription-usage.d.ts +159 -0
  92. package/dist/client-error-report.d.ts +158 -0
  93. package/dist/client-error-report.js +164 -0
  94. package/dist/client-error-report.js.map +1 -0
  95. package/dist/code-search.d.ts +52 -0
  96. package/dist/code-search.js +40 -0
  97. package/dist/code-search.js.map +1 -0
  98. package/dist/codex-provider-account-authority.js +20 -12
  99. package/dist/codex-provider-account-authority.js.map +1 -1
  100. package/dist/company-profile.d.ts +144 -6
  101. package/dist/connect.d.ts +37 -0
  102. package/dist/connect.js +216 -159
  103. package/dist/connect.js.map +1 -1
  104. package/dist/connection-account-label.d.ts +2 -0
  105. package/dist/connection-account-label.js +35 -0
  106. package/dist/connection-account-label.js.map +1 -0
  107. package/dist/connection-authority.d.ts +9 -317
  108. package/dist/connection-authority.js +37 -42
  109. package/dist/connector-attachments.js +2 -1
  110. package/dist/connector-destinations.js +2 -1
  111. package/dist/connector-tool-permissions.d.ts +137 -0
  112. package/dist/cua-desktop-tools.d.ts +17 -0
  113. package/dist/define-schema.d.ts +8 -0
  114. package/dist/direct-model-provider.d.ts +36 -0
  115. package/dist/editable-artifact-codec-registry.js +5 -5
  116. package/dist/editable-artifact-committed-transaction.js +3 -2
  117. package/dist/editable-artifact-live.js +5 -5
  118. package/dist/editable-artifact-serialized-commit.js +6 -6
  119. package/dist/editable-artifact-versions.d.ts +7 -1
  120. package/dist/editable-artifact-versions.js +1 -1
  121. package/dist/editable-artifacts.js +62 -56
  122. package/dist/event-preview.d.ts +22 -0
  123. package/dist/external-identities.d.ts +138 -0
  124. package/dist/external-identities.js +9 -4
  125. package/dist/first-party-tool-authorization.d.ts +815 -0
  126. package/dist/github-repository-contracts.js +60 -43
  127. package/dist/github-repository-contracts.js.map +1 -1
  128. package/dist/google-drive.d.ts +2 -1
  129. package/dist/google-drive.js +305 -238
  130. package/dist/google-drive.js.map +1 -1
  131. package/dist/host-mcp-bindings.d.ts +5 -0
  132. package/dist/host-mcp-bindings.js +233 -170
  133. package/dist/host-mcp-bindings.js.map +1 -1
  134. package/dist/image-generation.d.ts +1 -0
  135. package/dist/index.d.ts +16761 -5946
  136. package/dist/index.js +1973 -260
  137. package/dist/insights-usage.d.ts +877 -0
  138. package/dist/insights-usage.js +559 -0
  139. package/dist/insights-usage.js.map +1 -0
  140. package/dist/interaction.d.ts +1176 -829
  141. package/dist/knowledge-entries.d.ts +81 -2
  142. package/dist/knowledge-preparation.d.ts +239 -0
  143. package/dist/managed-auth-session-sets.d.ts +7 -0
  144. package/dist/managed-auth-session-sets.js +198 -132
  145. package/dist/managed-auth-session-sets.js.map +1 -1
  146. package/dist/managed-sign-in-methods.d.ts +56 -0
  147. package/dist/managed-sign-in-methods.js +64 -0
  148. package/dist/managed-sign-in-methods.js.map +1 -0
  149. package/dist/mcp-catalog-limits.d.ts +2 -0
  150. package/dist/mcp-oauth.d.ts +2 -2
  151. package/dist/mcp-structured-content.d.ts +25 -0
  152. package/dist/modal-native-proof-v2.d.ts +587 -0
  153. package/dist/modal-native-proof-v2.js +38 -0
  154. package/dist/modal-native-proof-v2.js.map +1 -0
  155. package/dist/model-account-choice.d.ts +235 -0
  156. package/dist/model-account-settings.d.ts +422 -0
  157. package/dist/model-availability.d.ts +15 -0
  158. package/dist/model-connection-access.d.ts +13 -0
  159. package/dist/model-context-inspector.d.ts +98 -0
  160. package/dist/model-display.d.ts +43 -0
  161. package/dist/model-display.js +17 -0
  162. package/dist/model-display.js.map +1 -0
  163. package/dist/model-picker-order.d.ts +3 -1
  164. package/dist/model-picker-order.js +3 -0
  165. package/dist/model-picker-order.js.map +1 -1
  166. package/dist/organization-access.d.ts +412 -0
  167. package/dist/organization-access.js +39 -0
  168. package/dist/organization-access.js.map +1 -0
  169. package/dist/organization-integration-policy.d.ts +27 -0
  170. package/dist/organization-membership-lifecycle.d.ts +38 -0
  171. package/dist/organization-model-usage.d.ts +146 -0
  172. package/dist/organization-model-usage.js +78 -0
  173. package/dist/organization-model-usage.js.map +1 -0
  174. package/dist/organization-recovery.js +2 -1
  175. package/dist/organization-usage.d.ts +138 -0
  176. package/dist/permissions.d.ts +18 -0
  177. package/dist/personal-github.d.ts +1 -0
  178. package/dist/personal-github.js +199 -144
  179. package/dist/personal-github.js.map +1 -1
  180. package/dist/prepared-mcp-setup.d.ts +54 -0
  181. package/dist/prepared-mcp-setup.js +12 -0
  182. package/dist/prepared-mcp-setup.js.map +1 -0
  183. package/dist/product-analytics.d.ts +116 -0
  184. package/dist/product-lifecycle-facts.d.ts +73 -0
  185. package/dist/remember.d.ts +98 -6
  186. package/dist/retained-output.d.ts +8 -0
  187. package/dist/sandbox-file-artifacts.d.ts +1 -0
  188. package/dist/sandbox-provider-command.d.ts +91 -1
  189. package/dist/sandbox-recovery.d.ts +146 -0
  190. package/dist/secret-generator.d.ts +44 -0
  191. package/dist/secret-references.d.ts +90 -0
  192. package/dist/secret-resolution.d.ts +111 -0
  193. package/dist/secret-totp.d.ts +41 -0
  194. package/dist/session-final-reply.d.ts +6 -0
  195. package/dist/session-final-reply.js +9 -0
  196. package/dist/session-final-reply.js.map +1 -0
  197. package/dist/session-goal-reports.d.ts +21 -0
  198. package/dist/session-history-import.d.ts +1272 -0
  199. package/dist/session-list-entries.d.ts +4 -0
  200. package/dist/session-list-entries.js +56 -0
  201. package/dist/session-list-entries.js.map +1 -0
  202. package/dist/session-mcp-projections.d.ts +6 -0
  203. package/dist/session-mcp-tool-permissions.d.ts +62 -0
  204. package/dist/session-message-search.d.ts +68 -0
  205. package/dist/session-target.d.ts +18 -0
  206. package/dist/session-titles.d.ts +8 -0
  207. package/dist/session-titles.js +5 -1
  208. package/dist/session-usage-limit-refusal.d.ts +34 -0
  209. package/dist/session-usage-limit-refusal.js +15 -0
  210. package/dist/session-usage-limit-refusal.js.map +1 -0
  211. package/dist/session-usage-limits.d.ts +127 -0
  212. package/dist/session-usage-limits.js +41 -0
  213. package/dist/session-usage-limits.js.map +1 -0
  214. package/dist/signup-attribution.d.ts +39 -0
  215. package/dist/site-data.d.ts +286 -0
  216. package/dist/site-operations.d.ts +39 -0
  217. package/dist/site-publishing.d.ts +778 -0
  218. package/dist/site-session-http.d.ts +89 -4
  219. package/dist/site-session-http.js +25 -1
  220. package/dist/site-sql.d.ts +421 -0
  221. package/dist/skill-catalog-context.d.ts +7 -0
  222. package/dist/skill-files.d.ts +1 -1
  223. package/dist/skill-use.d.ts +61 -0
  224. package/dist/skills.d.ts +15 -0
  225. package/dist/slack-bot-scopes.d.ts +17 -12
  226. package/dist/slack-bot-scopes.js +10 -3
  227. package/dist/slack-rest-mcp.d.ts +36 -0
  228. package/dist/slack-rest-mcp.js +25 -0
  229. package/dist/slack-rest-mcp.js.map +1 -0
  230. package/dist/spreadsheet-artifact-commands.d.ts +14 -1
  231. package/dist/spreadsheet-artifact-commands.js +8 -2
  232. package/dist/spreadsheet-artifact-query.d.ts +13 -6
  233. package/dist/spreadsheet-artifact-query.js +3 -3
  234. package/dist/subscription-account-actions.d.ts +64 -0
  235. package/dist/subscription-account-pools.d.ts +292 -0
  236. package/dist/subscription-personal-authority-v2.d.ts +28 -0
  237. package/dist/subscription-personal-authority-v2.js +12 -0
  238. package/dist/subscription-personal-authority-v2.js.map +1 -0
  239. package/dist/tool-action-review.d.ts +132 -0
  240. package/dist/tool-catalog.d.ts +408 -0
  241. package/dist/tool-policy.d.ts +5 -0
  242. package/dist/tool-review-presentation.d.ts +12 -0
  243. package/dist/tool-review-presentation.js +17 -0
  244. package/dist/tool-review-presentation.js.map +1 -0
  245. package/dist/transcription-recordings.d.ts +21 -0
  246. package/dist/turn-serving-policy.d.ts +221 -0
  247. package/dist/usage-allowances.d.ts +314 -0
  248. package/dist/usage-allowances.js +52 -0
  249. package/dist/usage-allowances.js.map +1 -0
  250. package/dist/vaults.d.ts +1286 -0
  251. package/dist/video-generation.d.ts +3 -0
  252. package/dist/video-generation.js +2 -1
  253. package/dist/workspace-integration-wire.d.ts +36 -0
  254. package/dist/workspace-integration-wire.js +23 -0
  255. package/dist/workspace-integration-wire.js.map +1 -0
  256. package/dist/workspace-integrations.d.ts +1028 -0
  257. package/dist/xai-provider-account-authority.js +2 -1
  258. package/package.json +93 -5
  259. package/src/agent-authored-durable-text.ts +14 -11
  260. package/src/agent-config.ts +1698 -0
  261. package/src/agent-instruction-changes.ts +91 -74
  262. package/src/agent-learning.ts +94 -67
  263. package/src/agent-topology.ts +57 -52
  264. package/src/allowance-refusal.ts +81 -0
  265. package/src/analytics-consent-report.ts +20 -0
  266. package/src/api-key-presets.ts +28 -0
  267. package/src/artifact-catalog.ts +82 -0
  268. package/src/artifacts.ts +299 -227
  269. package/src/atlassian-native-retirement.ts +33 -0
  270. package/src/atlassian.ts +135 -108
  271. package/src/browser-storage.ts +10 -0
  272. package/src/bundled-skills.ts +60 -17
  273. package/src/canonical-human-identities.ts +60 -58
  274. package/src/claude-provider-account-authority.ts +12 -0
  275. package/src/claude-subscription-oauth.ts +73 -0
  276. package/src/claude-subscription-usage.ts +68 -0
  277. package/src/client-error-report.ts +343 -0
  278. package/src/code-search.ts +105 -0
  279. package/src/codex-provider-account-authority.ts +21 -16
  280. package/src/company-brain-governed-writes.ts +255 -233
  281. package/src/company-brain.ts +164 -153
  282. package/src/company-profile.ts +365 -292
  283. package/src/connect.ts +212 -173
  284. package/src/connection-account-label.ts +46 -0
  285. package/src/connection-authority.ts +183 -364
  286. package/src/connector-attachments.ts +137 -122
  287. package/src/connector-destinations.ts +46 -42
  288. package/src/connector-tool-permissions.ts +117 -0
  289. package/src/cua-desktop-tools.gen.json +6512 -0
  290. package/src/cua-desktop-tools.linux.gen.json +6600 -0
  291. package/src/cua-desktop-tools.ts +36 -0
  292. package/src/cua-desktop-tools.windows.gen.json +6353 -0
  293. package/src/define-schema.ts +10 -0
  294. package/src/direct-model-provider.ts +108 -0
  295. package/src/editable-artifact-committed-transaction.ts +17 -0
  296. package/src/editable-artifact-versions.ts +7 -1
  297. package/src/event-preview.ts +53 -3
  298. package/src/external-identities.ts +249 -176
  299. package/src/feedback.ts +43 -30
  300. package/src/first-party-tool-authorization.ts +356 -0
  301. package/src/github-repository-contracts.ts +78 -64
  302. package/src/google-drive.ts +285 -234
  303. package/src/governed-learning-activation.ts +152 -131
  304. package/src/governed-learning-evaluator.ts +140 -133
  305. package/src/host-mcp-bindings.ts +252 -198
  306. package/src/image-generation.ts +104 -95
  307. package/src/index.ts +13235 -8687
  308. package/src/insights-usage.ts +727 -0
  309. package/src/interaction.ts +3070 -2326
  310. package/src/knowledge-entries.ts +361 -276
  311. package/src/knowledge-preparation.ts +57 -0
  312. package/src/knowledge.ts +246 -213
  313. package/src/managed-auth-session-sets.ts +220 -144
  314. package/src/managed-sign-in-methods.ts +52 -0
  315. package/src/mcp-catalog-limits.ts +2 -0
  316. package/src/mcp-oauth.ts +43 -34
  317. package/src/mcp-receipts.ts +192 -192
  318. package/src/mcp-structured-content.ts +81 -0
  319. package/src/memory-slack-delivery.ts +171 -142
  320. package/src/modal-native-proof-v2.ts +429 -0
  321. package/src/model-account-choice.ts +177 -0
  322. package/src/model-account-settings.ts +210 -0
  323. package/src/model-availability.ts +22 -0
  324. package/src/model-connection-access.ts +61 -14
  325. package/src/model-context-inspector.ts +133 -99
  326. package/src/model-display.ts +221 -0
  327. package/src/model-picker-order.ts +12 -1
  328. package/src/organization-access.ts +217 -0
  329. package/src/organization-integration-policy.ts +63 -0
  330. package/src/organization-membership-lifecycle.ts +528 -382
  331. package/src/organization-model-usage.ts +81 -0
  332. package/src/organization-recovery.ts +147 -135
  333. package/src/organization-usage.ts +94 -0
  334. package/src/permissions.ts +88 -52
  335. package/src/personal-github.ts +210 -171
  336. package/src/preference-registry.ts +314 -258
  337. package/src/prepared-mcp-setup.ts +189 -0
  338. package/src/product-analytics.ts +261 -0
  339. package/src/product-lifecycle-facts.ts +122 -0
  340. package/src/remember.ts +181 -167
  341. package/src/retained-output.ts +194 -165
  342. package/src/sandbox-file-artifacts.ts +60 -47
  343. package/src/sandbox-provider-command.ts +88 -20
  344. package/src/sandbox-recovery.ts +129 -0
  345. package/src/scoped-knowledge.ts +61 -43
  346. package/src/secret-generator.ts +155 -0
  347. package/src/secret-references.ts +414 -0
  348. package/src/secret-resolution.ts +274 -0
  349. package/src/secret-totp.ts +188 -0
  350. package/src/session-final-reply.ts +16 -0
  351. package/src/session-goal-reports.ts +64 -0
  352. package/src/session-history-import.ts +177 -0
  353. package/src/session-list-entries.ts +96 -0
  354. package/src/session-mcp-projections.ts +11 -0
  355. package/src/session-mcp-tool-permissions.ts +108 -0
  356. package/src/session-message-search.ts +61 -0
  357. package/src/session-target.ts +57 -0
  358. package/src/session-titles.ts +80 -10
  359. package/src/session-topology-primitives.ts +19 -12
  360. package/src/session-usage-limit-refusal.ts +101 -0
  361. package/src/session-usage-limits.ts +171 -0
  362. package/src/signup-attribution.ts +86 -0
  363. package/src/site-data.ts +339 -0
  364. package/src/site-operations.ts +154 -0
  365. package/src/site-publishing.ts +876 -0
  366. package/src/site-session-http.ts +294 -16
  367. package/src/site-sql.ts +1123 -0
  368. package/src/skill-catalog-context.ts +50 -0
  369. package/src/skill-files.ts +3 -3
  370. package/src/skill-use.ts +80 -0
  371. package/src/skills.ts +82 -54
  372. package/src/slack-bot-scopes.ts +31 -39
  373. package/src/slack-rest-mcp.ts +222 -0
  374. package/src/slack-task-policy.ts +96 -73
  375. package/src/spreadsheet-artifact-commands.ts +73 -2
  376. package/src/spreadsheet-artifact-query.ts +187 -39
  377. package/src/subscription-account-actions.ts +84 -0
  378. package/src/subscription-account-pools.ts +53 -0
  379. package/src/subscription-personal-authority-v2.ts +66 -0
  380. package/src/task-notes.ts +55 -51
  381. package/src/tool-action-review.ts +258 -0
  382. package/src/tool-catalog.ts +609 -372
  383. package/src/tool-policy.ts +82 -0
  384. package/src/tool-result-spill.ts +12 -9
  385. package/src/tool-review-presentation.ts +385 -0
  386. package/src/transcription-recordings.ts +145 -131
  387. package/src/turn-serving-policy.ts +166 -0
  388. package/src/usage-allowances.ts +248 -0
  389. package/src/vaults.ts +850 -0
  390. package/src/video-generation.ts +385 -360
  391. package/src/work-claims.ts +173 -149
  392. package/src/workspace-instruction-policies.ts +349 -276
  393. package/src/workspace-integration-wire.ts +101 -0
  394. package/src/workspace-integrations.ts +724 -0
  395. package/src/workspace-learning-administration.ts +57 -44
  396. package/src/workspace-learning-policy.ts +127 -96
  397. package/src/workspace-state.ts +250 -220
  398. package/src/xai-provider-account-authority.ts +22 -17
  399. package/dist/chunk-2AC63F4S.js +0 -171
  400. package/dist/chunk-2AC63F4S.js.map +0 -1
  401. package/dist/chunk-3SIZGL3O.js.map +0 -1
  402. package/dist/chunk-7ABONTXE.js.map +0 -1
  403. package/dist/chunk-BCS7WHCK.js +0 -139
  404. package/dist/chunk-BCS7WHCK.js.map +0 -1
  405. package/dist/chunk-GRG7PHWQ.js +0 -25
  406. package/dist/chunk-GRG7PHWQ.js.map +0 -1
  407. package/dist/chunk-JUFK3T4Q.js +0 -80
  408. package/dist/chunk-JUFK3T4Q.js.map +0 -1
  409. package/dist/chunk-M5ZGRVIQ.js +0 -719
  410. package/dist/chunk-M5ZGRVIQ.js.map +0 -1
  411. package/dist/chunk-MRWYRAS5.js.map +0 -1
  412. package/dist/chunk-OVFORMPW.js +0 -348
  413. package/dist/chunk-OVFORMPW.js.map +0 -1
  414. package/dist/chunk-P3HLDT77.js +0 -59
  415. package/dist/chunk-P3HLDT77.js.map +0 -1
  416. package/dist/chunk-QQUJ6NPW.js +0 -23093
  417. package/dist/chunk-QQUJ6NPW.js.map +0 -1
  418. package/dist/chunk-TXTQIYCV.js.map +0 -1
  419. package/dist/chunk-WYBDERIY.js.map +0 -1
  420. package/dist/chunk-Y3KNXVTD.js.map +0 -1
  421. package/dist/chunk-YBW5JSA3.js.map +0 -1
  422. package/dist/chunk-YRXAWWCU.js +0 -45
  423. package/dist/chunk-YRXAWWCU.js.map +0 -1
  424. package/dist/host-mcp-resolvers.d.ts +0 -32
  425. package/dist/host-mcp-resolvers.js +0 -34
  426. package/dist/host-mcp-resolvers.js.map +0 -1
  427. package/src/host-mcp-resolvers.ts +0 -50
  428. /package/dist/{chunk-5LYFSZ7O.js.map → chunk-352X6ENP.js.map} +0 -0
  429. /package/dist/{chunk-O5LEQHDM.js.map → chunk-Z7WEVGCL.js.map} +0 -0
@@ -0,0 +1,356 @@
1
+ import type { FirstPartyMcpToolName } from "./index";
2
+ import type { Permission } from "./permissions";
3
+
4
+ export type FirstPartyToolAuthorization = {
5
+ sessionRequired?: true;
6
+ /**
7
+ * Registered only while the session has admin access (live, per request),
8
+ * whatever its tool selection; the tool then acts as the person who gave it.
9
+ */
10
+ adminAccessRequired?: true;
11
+ allOf?: readonly Permission[];
12
+ anyOf?: readonly Permission[];
13
+ };
14
+
15
+ /**
16
+ * Authorization is deliberately complete and separate from visibility. The
17
+ * `satisfies Record` check makes every catalog addition choose an explicit
18
+ * registration predicate before it can compile.
19
+ *
20
+ * The API's first-party MCP server registers a tool only when this predicate
21
+ * passes for the attempt's grant. The worker reads the same table to know which
22
+ * selected tools a permission ceiling can never admit (prompt rendering only).
23
+ */
24
+ export const FIRST_PARTY_TOOL_AUTHORIZATION = {
25
+ set_session_title: { sessionRequired: true, allOf: ["sessions:control"] },
26
+ notify_user: { sessionRequired: true, allOf: ["sessions:control"] },
27
+ notification_withdraw: { sessionRequired: true, allOf: ["sessions:control"] },
28
+ inbox_tidy: { sessionRequired: true, allOf: ["sessions:control"] },
29
+ goal_set: { sessionRequired: true, allOf: ["goals:manage"] },
30
+ goal_update: { sessionRequired: true, allOf: ["goals:manage"] },
31
+ goal_progress: { sessionRequired: true, allOf: ["goals:manage"] },
32
+ wait_for_input: { sessionRequired: true, allOf: ["sessions:control"] },
33
+ goal_complete: { sessionRequired: true, allOf: ["goals:manage"] },
34
+ goal_pause: { sessionRequired: true, allOf: ["goals:manage"] },
35
+ goal_resume: { sessionRequired: true, allOf: ["goals:manage"] },
36
+ knowledge_search: { sessionRequired: true, allOf: ["documents:search"] },
37
+ knowledge_prepare_save: { sessionRequired: true, allOf: ["documents:search"] },
38
+ knowledge_get: { sessionRequired: true, allOf: ["documents:search"] },
39
+ knowledge_browse: { sessionRequired: true, allOf: ["documents:search"] },
40
+ knowledge_retain_file: { sessionRequired: true, allOf: ["documents:search", "files:read"] },
41
+ knowledge_retain_message: { sessionRequired: true, allOf: ["documents:search", "sessions:read"] },
42
+ knowledge_save: { sessionRequired: true, allOf: ["documents:search"] },
43
+ knowledge_archive: { sessionRequired: true, allOf: ["documents:search"] },
44
+ instruction_policy_save: { sessionRequired: true, allOf: ["documents:search"] },
45
+ instruction_policy_get: { sessionRequired: true, allOf: ["documents:search"] },
46
+ memory_search: { sessionRequired: true, allOf: ["documents:search"] },
47
+ memory_save: { sessionRequired: true, allOf: ["documents:search"] },
48
+ memory_correct: { sessionRequired: true, allOf: ["documents:search"] },
49
+ preference_registry_summary: {
50
+ sessionRequired: true,
51
+ allOf: ["workspace:read"],
52
+ },
53
+ preference_registry_get: { sessionRequired: true, allOf: ["workspace:read"] },
54
+ task_notes_list: { sessionRequired: true, allOf: ["sessions:read"] },
55
+ task_note_save: { sessionRequired: true, allOf: ["sessions:control"] },
56
+ task_note_archive: { sessionRequired: true, allOf: ["sessions:control"] },
57
+ task_note_replace: { sessionRequired: true, allOf: ["sessions:control"] },
58
+ work_claim_upsert: { sessionRequired: true, allOf: ["sessions:control"] },
59
+ work_claim_release: { sessionRequired: true, allOf: ["sessions:control"] },
60
+ knowledge_propose: { sessionRequired: true, allOf: ["documents:search"] },
61
+ knowledge_correct: { sessionRequired: true, allOf: ["documents:search"] },
62
+ task_note_promote_knowledge: {
63
+ sessionRequired: true,
64
+ allOf: ["documents:search", "sessions:control"],
65
+ },
66
+ task_note_promote_instruction_policy: {
67
+ sessionRequired: true,
68
+ allOf: ["documents:search", "sessions:control", "workspace:read"],
69
+ },
70
+ task_note_promote_preference: {
71
+ sessionRequired: true,
72
+ allOf: ["documents:search", "sessions:control", "workspace:read"],
73
+ },
74
+ instruction_policy_propose: {
75
+ sessionRequired: true,
76
+ allOf: ["documents:search", "workspace:read"],
77
+ },
78
+ preference_propose: {
79
+ sessionRequired: true,
80
+ allOf: ["documents:search", "workspace:read"],
81
+ },
82
+ // Explicit user-directed remember composes task-note evidence with the
83
+ // governed promotion path, so it needs the union of both permission sets.
84
+ remember: {
85
+ sessionRequired: true,
86
+ allOf: ["documents:search", "sessions:control", "workspace:read"],
87
+ },
88
+ remember_confirm: {
89
+ sessionRequired: true,
90
+ allOf: ["documents:search", "sessions:control", "workspace:read"],
91
+ },
92
+ company_profile_propose: {
93
+ sessionRequired: true,
94
+ allOf: ["sessions:control", "workspace:read"],
95
+ },
96
+ company_profile_confirm: {
97
+ sessionRequired: true,
98
+ allOf: ["sessions:control", "workspace:read"],
99
+ },
100
+ sandboxes_list: { sessionRequired: true, allOf: ["sessions:read"] },
101
+ sandbox_attach: { sessionRequired: true, allOf: ["sessions:control"] },
102
+ sandbox_swap: { sessionRequired: true, allOf: ["sessions:control"] },
103
+ run_on: { sessionRequired: true, allOf: ["sessions:control"] },
104
+ sandbox_provision: { sessionRequired: true, allOf: ["sessions:control"] },
105
+ connected_machine_remove: { allOf: ["enrollments:manage"] },
106
+ connected_machine_enroll_token: { allOf: ["enrollments:manage"] },
107
+ connected_machine_enable_screen_control: { allOf: ["enrollments:manage"] },
108
+ rig_list: { allOf: ["rigs:use"] },
109
+ rig_get: { allOf: ["rigs:use"] },
110
+ rig_propose_change: { allOf: ["rigs:use"] },
111
+ rig_verify: { allOf: ["rigs:use"] },
112
+ rig_promote: { allOf: ["rigs:manage"] },
113
+ sessions_list: { allOf: ["sessions:read"] },
114
+ session_get: { allOf: ["sessions:read"] },
115
+ session_set_model: { allOf: ["sessions:control"] },
116
+ session_events: { allOf: ["sessions:read"] },
117
+ // Blocking wait inside a running turn: the live attempt's own session is the
118
+ // self target, so the tool exists only for session-scoped grants.
119
+ session_wait: { sessionRequired: true, allOf: ["sessions:read"] },
120
+ command_wait: { sessionRequired: true, allOf: ["sessions:read"] },
121
+ command_read: { sessionRequired: true, allOf: ["sessions:read"] },
122
+ session_create: { allOf: ["sessions:create"] },
123
+ session_send_message: { allOf: ["sessions:control"] },
124
+ session_message_status: { sessionRequired: true, allOf: ["sessions:read"] },
125
+ session_target_get: { sessionRequired: true, allOf: ["sessions:read"] },
126
+ session_target_set: { sessionRequired: true, allOf: ["sessions:read", "sessions:control"] },
127
+ session_pause: { allOf: ["sessions:control"] },
128
+ session_resume: { allOf: ["sessions:control"] },
129
+ session_steer: { sessionRequired: true, allOf: ["sessions:control"] },
130
+ // A live attempt may answer another session's structured human-input
131
+ // request (never a tool approval, which stays human-only).
132
+ session_human_input_respond: { sessionRequired: true, allOf: ["sessions:control"] },
133
+ set_other_session_title: { allOf: ["sessions:control"] },
134
+ interaction_discover: { sessionRequired: true, allOf: ["sessions:read"] },
135
+ browser_open: { sessionRequired: true, allOf: ["sessions:control"] },
136
+ browser_tabs: { sessionRequired: true, allOf: ["sessions:control"] },
137
+ browser_observe: { sessionRequired: true, allOf: ["sessions:read"] },
138
+ browser_read: { sessionRequired: true, allOf: ["sessions:read"] },
139
+ browser_screenshot: { sessionRequired: true, allOf: ["sessions:read"] },
140
+ browser_act: { sessionRequired: true, allOf: ["sessions:control"] },
141
+ browser_clipboard: { sessionRequired: true, allOf: ["sessions:read"] },
142
+ browser_debug: { sessionRequired: true, allOf: ["sessions:read"] },
143
+ browser_downloads: { sessionRequired: true, allOf: ["sessions:read"] },
144
+ browser_download_save: {
145
+ sessionRequired: true,
146
+ allOf: ["sessions:control", "files:upload"],
147
+ },
148
+ browser_auth: { sessionRequired: true, allOf: ["sessions:control"] },
149
+ interaction_request_human: {
150
+ sessionRequired: true,
151
+ allOf: ["sessions:control"],
152
+ },
153
+ browser_identity: { sessionRequired: true, allOf: ["sessions:control"] },
154
+ browser_publish: { sessionRequired: true, allOf: ["sessions:control"] },
155
+ browser_lifecycle: { sessionRequired: true, allOf: ["sessions:control"] },
156
+ computer_open: { sessionRequired: true, allOf: ["sessions:control"] },
157
+ computer_targets: { sessionRequired: true, allOf: ["sessions:read"] },
158
+ computer_observe: { sessionRequired: true, allOf: ["sessions:read"] },
159
+ computer_clipboard: { sessionRequired: true, allOf: ["sessions:read"] },
160
+ computer_act: { sessionRequired: true, allOf: ["sessions:control"] },
161
+ computer_lifecycle: { sessionRequired: true, allOf: ["sessions:control"] },
162
+ secret_search: { sessionRequired: true, allOf: ["secrets:list"] },
163
+ secret_save: { sessionRequired: true, allOf: ["secrets:write"] },
164
+ // Plaintext read: registered only for a literal `secrets:read` grant.
165
+ secret_get: { sessionRequired: true, allOf: ["secrets:read"] },
166
+ secret_move: { sessionRequired: true, allOf: ["secrets:write"] },
167
+ secret_delete: { sessionRequired: true, allOf: ["secrets:write"] },
168
+ // Retired (RETIRED_SECRET_TOOL_NAMES): never registered; kept for stored selections.
169
+ variable_set_list: { allOf: ["variable-sets:list", "secrets:list"] },
170
+ environment_list: { allOf: ["variable-sets:list", "secrets:list"] },
171
+ variable_set_get_variable: {
172
+ sessionRequired: true,
173
+ allOf: ["variable-sets:read", "secrets:read"],
174
+ },
175
+ variable_set_set_variable: {
176
+ allOf: ["variable-sets:write", "secrets:write"],
177
+ },
178
+ environment_set_variable: { allOf: ["variable-sets:write", "secrets:write"] },
179
+ capability_catalog_search: {
180
+ sessionRequired: true,
181
+ allOf: ["workspace:read"],
182
+ },
183
+ capability_authorization_request: {
184
+ sessionRequired: true,
185
+ allOf: ["workspace:read"],
186
+ },
187
+ custom_mcp_setup_request: {
188
+ sessionRequired: true,
189
+ allOf: ["workspace:read"],
190
+ },
191
+ github_connect_link: { allOf: ["github:use"] },
192
+ github_repositories_list: { allOf: ["github:use"] },
193
+ social_connections_list: { allOf: ["connections:read"] },
194
+ social_posts_recent: { allOf: ["connections:read"] },
195
+ social_daily_analysis_context: { allOf: ["connections:read"] },
196
+ social_search_live: { allOf: ["connections:read"] },
197
+ social_mentions_live: { allOf: ["connections:read"] },
198
+ social_thread_fetch: { allOf: ["connections:read"] },
199
+ // Writes the social_posts store, so it takes the write scope like the REST
200
+ // equivalent (POST /social/posts is workspace:admin).
201
+ social_posts_sync: { allOf: ["connections:write"] },
202
+ // Publishes under the user's identity: connections:write keeps it out of the
203
+ // default agent permission set, unlike the read-only social tools above.
204
+ social_post_reply: { allOf: ["connections:write"] },
205
+ x_accounts_list: { allOf: ["connections:read"] },
206
+ x_search_live: { allOf: ["connections:read"] },
207
+ x_mentions_live: { allOf: ["connections:read"] },
208
+ x_thread_fetch: { allOf: ["connections:read"] },
209
+ x_posts_sync: { allOf: ["connections:write"] },
210
+ x_post_reply: { allOf: ["connections:write"] },
211
+ reddit_accounts_list: { allOf: ["connections:read"] },
212
+ reddit_search_live: { allOf: ["connections:read"] },
213
+ reddit_mentions_live: { allOf: ["connections:read"] },
214
+ reddit_thread_fetch: { allOf: ["connections:read"] },
215
+ reddit_posts_sync: { allOf: ["connections:write"] },
216
+ reddit_post_reply: { allOf: ["connections:write"] },
217
+ scheduled_tasks_list: {
218
+ anyOf: ["scheduled_tasks:manage", "scheduled_tasks:run"],
219
+ },
220
+ scheduled_tasks_get: {
221
+ anyOf: ["scheduled_tasks:manage", "scheduled_tasks:run"],
222
+ },
223
+ scheduled_tasks_create: { allOf: ["scheduled_tasks:manage"] },
224
+ scheduled_tasks_update: { allOf: ["scheduled_tasks:manage"] },
225
+ scheduled_tasks_pause: { allOf: ["scheduled_tasks:manage"] },
226
+ scheduled_tasks_resume: { allOf: ["scheduled_tasks:manage"] },
227
+ scheduled_tasks_trigger: { allOf: ["scheduled_tasks:run"] },
228
+ scheduled_tasks_delete: { allOf: ["scheduled_tasks:manage"] },
229
+ scheduled_task_runs_list: {
230
+ anyOf: ["scheduled_tasks:manage", "scheduled_tasks:run"],
231
+ },
232
+ slack_bot_list_channels: { allOf: ["connections:read"] },
233
+ slack_bot_search: { allOf: ["connections:read"] },
234
+ slack_bot_channel_history: { allOf: ["connections:read"] },
235
+ slack_bot_thread_replies: { allOf: ["connections:read"] },
236
+ slack_bot_list_users: { allOf: ["connections:read"] },
237
+ slack_bot_list_files: { allOf: ["connections:read"] },
238
+ slack_bot_file_info: { allOf: ["connections:read"] },
239
+ slack_bot_file_content: { allOf: ["connections:read"] },
240
+ slack_bot_upload_file: { sessionRequired: true, allOf: ["connections:read", "files:read"] },
241
+ slack_bot_post_message: { allOf: ["connections:read"] },
242
+ // Scheduled runs only; the destination is the task's human-chosen channel.
243
+ slack_bot_prepare_message: { sessionRequired: true, allOf: ["connections:read"] },
244
+ slack_bot_send_prepared_message: { sessionRequired: true, allOf: ["connections:read"] },
245
+ slack_bot_delete_message: { allOf: ["connections:read"] },
246
+ fiken_companies_list: { allOf: ["connections:read"] },
247
+ fiken_contacts_list: { allOf: ["connections:read"] },
248
+ fiken_products_list: { allOf: ["connections:read"] },
249
+ fiken_invoices_list: { allOf: ["connections:read"] },
250
+ fiken_invoice_get: { allOf: ["connections:read"] },
251
+ fiken_bank_accounts_list: { allOf: ["connections:read"] },
252
+ fiken_purchases_list: { allOf: ["connections:read"] },
253
+ fiken_sales_list: { allOf: ["connections:read"] },
254
+ // Writes into the workspace's real accounting ledger surface take the write
255
+ // scope, keeping them out of the default agent permission set.
256
+ fiken_contact_create: { allOf: ["connections:write"] },
257
+ fiken_invoice_draft_create: { allOf: ["connections:write"] },
258
+ atlassian_sources_list: { allOf: ["connections:read"] },
259
+ atlassian_search: { allOf: ["connections:read"] },
260
+ atlassian_get: { allOf: ["connections:read"] },
261
+ artifacts_list: { allOf: ["artifacts:read"] },
262
+ artifacts_get_source: { sessionRequired: true, allOf: ["artifacts:read"] },
263
+ artifacts_prepare_upload: { sessionRequired: true, allOf: ["artifacts:publish"] },
264
+ artifacts_create: { sessionRequired: true, allOf: ["artifacts:publish"] },
265
+ artifacts_publish: { sessionRequired: true, allOf: ["artifacts:publish"] },
266
+ artifacts_rollback: { sessionRequired: true, allOf: ["artifacts:publish"] },
267
+ artifacts_archive: { sessionRequired: true, allOf: ["artifacts:publish"] },
268
+ artifacts_restore: { sessionRequired: true, allOf: ["artifacts:publish"] },
269
+ site_data_describe: { sessionRequired: true, allOf: ["artifacts:read"] },
270
+ site_data_define_collection: { sessionRequired: true, allOf: ["artifacts:publish"] },
271
+ site_data_query: { sessionRequired: true, allOf: ["artifacts:read"] },
272
+ site_data_write: { sessionRequired: true, allOf: ["artifacts:publish"] },
273
+ site_data_import: { sessionRequired: true, allOf: ["artifacts:publish"] },
274
+ site_data_export: { sessionRequired: true, allOf: ["artifacts:read"] },
275
+ site_data_reset: { sessionRequired: true, allOf: ["artifacts:publish"] },
276
+ site_files_list: { sessionRequired: true, allOf: ["artifacts:read"] },
277
+ site_files_upload: { sessionRequired: true, allOf: ["artifacts:publish"] },
278
+ site_files_delete: { sessionRequired: true, allOf: ["artifacts:publish"] },
279
+ site_publication_get: { sessionRequired: true, allOf: ["artifacts:read"] },
280
+ site_publication_update: { sessionRequired: true, allOf: ["artifacts:publish"] },
281
+ site_publication_apply_fix: { sessionRequired: true, allOf: ["artifacts:publish"] },
282
+ site_hostname_check: { sessionRequired: true, allOf: ["artifacts:read"] },
283
+ site_sql_inspect: { sessionRequired: true, allOf: ["artifacts:read"] },
284
+ site_sql_enable: { sessionRequired: true, allOf: ["artifacts:publish"] },
285
+ site_sql_migrate: { sessionRequired: true, allOf: ["artifacts:publish"] },
286
+ site_sql_define_query: { sessionRequired: true, allOf: ["artifacts:publish"] },
287
+ site_sql_query: { sessionRequired: true, allOf: ["artifacts:read"] },
288
+ site_sql_run: { sessionRequired: true, allOf: ["artifacts:read"] },
289
+ site_sql_execute: { sessionRequired: true, allOf: ["artifacts:publish"] },
290
+ site_sql_export: { sessionRequired: true, allOf: ["artifacts:read"] },
291
+ site_sql_import: { sessionRequired: true, allOf: ["artifacts:publish"] },
292
+ site_sql_reset: { sessionRequired: true, allOf: ["artifacts:publish"] },
293
+ sandbox_file_publish: {
294
+ sessionRequired: true,
295
+ allOf: ["files:read", "files:upload"],
296
+ },
297
+ editable_artifact_list: { sessionRequired: true, allOf: ["artifacts:read"] },
298
+ editable_artifact_create: {
299
+ sessionRequired: true,
300
+ allOf: ["artifacts:publish"],
301
+ },
302
+ editable_artifact_import: {
303
+ sessionRequired: true,
304
+ allOf: ["artifacts:publish", "files:read"],
305
+ },
306
+ editable_artifact_get: { sessionRequired: true, allOf: ["artifacts:read"] },
307
+ editable_artifact_inspect: {
308
+ sessionRequired: true,
309
+ allOf: ["artifacts:read"],
310
+ },
311
+ editable_artifact_apply: {
312
+ sessionRequired: true,
313
+ allOf: ["artifacts:publish"],
314
+ },
315
+ editable_artifact_export: {
316
+ sessionRequired: true,
317
+ allOf: ["artifacts:read"],
318
+ },
319
+ editable_artifact_export_status: {
320
+ sessionRequired: true,
321
+ allOf: ["artifacts:read", "files:upload"],
322
+ },
323
+ project_list: { allOf: ["sessions:read"] },
324
+ project_get: { allOf: ["sessions:read"] },
325
+ project_create: { allOf: ["sessions:create"] },
326
+ project_update: { allOf: ["sessions:create"] },
327
+ project_reorder: { allOf: ["sessions:create"] },
328
+ project_delete: { allOf: ["sessions:create"] },
329
+ session_set_project: { allOf: ["sessions:control"] },
330
+ admin_actions_search: { sessionRequired: true, adminAccessRequired: true },
331
+ admin_action_describe: { sessionRequired: true, adminAccessRequired: true },
332
+ admin_action_call: { sessionRequired: true, adminAccessRequired: true },
333
+ } satisfies Record<FirstPartyMcpToolName, FirstPartyToolAuthorization>;
334
+
335
+ /**
336
+ * The permissions a session's first-party tool selection can possibly
337
+ * exercise, derived from the same per-tool registration data that gates the
338
+ * MCP surface. A caller that only proxies REST handlers on behalf of a
339
+ * selection (the Codemode SDK proxy) must never hold more than this: a
340
+ * selection without any session_* orchestration tool cannot need
341
+ * sessions:create or sessions:control, so a delegated token for it must not
342
+ * carry them either. `anyOf` alternatives are all counted because any one of
343
+ * them could be the permission the selection actually holds.
344
+ */
345
+ export function permissionsRequiredByFirstPartyTools(
346
+ tools: readonly FirstPartyMcpToolName[],
347
+ ): Permission[] {
348
+ const required = new Set<Permission>();
349
+ for (const tool of tools) {
350
+ const policy: FirstPartyToolAuthorization | undefined = FIRST_PARTY_TOOL_AUTHORIZATION[tool];
351
+ if (!policy) continue;
352
+ for (const permission of policy.allOf ?? []) required.add(permission);
353
+ for (const permission of policy.anyOf ?? []) required.add(permission);
354
+ }
355
+ return [...required];
356
+ }
@@ -1,85 +1,99 @@
1
+ import { defineSchema } from "./define-schema";
1
2
  import { z } from "zod";
2
3
 
3
- export const VerifyPublicGitHubRepositoryRefRequest = z
4
- .object({
5
- url: z.string().min(1).max(2048),
6
- ref: z
7
- .string()
8
- .trim()
9
- .min(1)
10
- .max(1024)
11
- .refine((value) => !/[\u0000-\u001f\u007f]/u.test(value), "ref contains control characters"),
12
- })
13
- .strict();
4
+ export const VerifyPublicGitHubRepositoryRefRequest = /* @__PURE__ */ defineSchema(() =>
5
+ z
6
+ .object({
7
+ url: z.string().min(1).max(2048),
8
+ ref: z
9
+ .string()
10
+ .trim()
11
+ .min(1)
12
+ .max(1024)
13
+ .refine(
14
+ (value) => !/[\u0000-\u001f\u007f]/u.test(value),
15
+ "ref contains control characters",
16
+ ),
17
+ })
18
+ .strict(),
19
+ );
14
20
  export type VerifyPublicGitHubRepositoryRefRequest = z.infer<
15
21
  typeof VerifyPublicGitHubRepositoryRefRequest
16
22
  >;
17
23
 
18
- export const VerifyPublicGitHubRepositoryRefResponse = z
19
- .object({
20
- owner: z.string().min(1).max(39),
21
- name: z.string().min(1).max(100),
22
- fullName: z.string().min(3).max(140),
23
- canonicalUrl: z.string().url(),
24
- cloneUrl: z.string().url(),
25
- defaultBranch: z.string().min(1).max(1024),
26
- ref: z.string().min(1).max(1024),
27
- commitSha: z.string().regex(/^[0-9a-f]{40}$/u),
28
- })
29
- .strict();
24
+ export const VerifyPublicGitHubRepositoryRefResponse = /* @__PURE__ */ defineSchema(() =>
25
+ z
26
+ .object({
27
+ owner: z.string().min(1).max(39),
28
+ name: z.string().min(1).max(100),
29
+ fullName: z.string().min(3).max(140),
30
+ canonicalUrl: z.string().url(),
31
+ cloneUrl: z.string().url(),
32
+ defaultBranch: z.string().min(1).max(1024),
33
+ ref: z.string().min(1).max(1024),
34
+ commitSha: z.string().regex(/^[0-9a-f]{40}$/u),
35
+ })
36
+ .strict(),
37
+ );
30
38
  export type VerifyPublicGitHubRepositoryRefResponse = z.infer<
31
39
  typeof VerifyPublicGitHubRepositoryRefResponse
32
40
  >;
33
41
 
34
42
  export const GITHUB_REPOSITORY_BRANCH_PAGE_MAX = 100 as const;
35
43
 
36
- export const ListGitHubRepositoryBranchesQuery = z
37
- .object({
38
- cursor: z.coerce.number().int().positive().max(10_000).default(1),
39
- limit: z.coerce
40
- .number()
41
- .int()
42
- .min(1)
43
- .max(GITHUB_REPOSITORY_BRANCH_PAGE_MAX)
44
- .default(GITHUB_REPOSITORY_BRANCH_PAGE_MAX),
45
- })
46
- .strict();
44
+ export const ListGitHubRepositoryBranchesQuery = /* @__PURE__ */ defineSchema(() =>
45
+ z
46
+ .object({
47
+ cursor: z.coerce.number().int().positive().max(10_000).default(1),
48
+ limit: z.coerce
49
+ .number()
50
+ .int()
51
+ .min(1)
52
+ .max(GITHUB_REPOSITORY_BRANCH_PAGE_MAX)
53
+ .default(GITHUB_REPOSITORY_BRANCH_PAGE_MAX),
54
+ })
55
+ .strict(),
56
+ );
47
57
  export type ListGitHubRepositoryBranchesQuery = z.infer<typeof ListGitHubRepositoryBranchesQuery>;
48
58
 
49
- export const GitHubRepositoryBranch = z
50
- .object({
51
- name: z.string().min(1).max(1024),
52
- isDefault: z.boolean(),
53
- })
54
- .strict();
59
+ export const GitHubRepositoryBranch = /* @__PURE__ */ defineSchema(() =>
60
+ z
61
+ .object({
62
+ name: z.string().min(1).max(1024),
63
+ isDefault: z.boolean(),
64
+ })
65
+ .strict(),
66
+ );
55
67
  export type GitHubRepositoryBranch = z.infer<typeof GitHubRepositoryBranch>;
56
68
 
57
- export const GitHubRepositoryBranchesResponse = z
58
- .object({
59
- branches: z.array(GitHubRepositoryBranch).max(GITHUB_REPOSITORY_BRANCH_PAGE_MAX),
60
- nextCursor: z.number().int().positive().max(10_000).nullable(),
61
- })
62
- .strict()
63
- .superRefine((response, context) => {
64
- const names = new Set<string>();
65
- let defaultCount = 0;
66
- response.branches.forEach((branch, index) => {
67
- if (names.has(branch.name)) {
69
+ export const GitHubRepositoryBranchesResponse = /* @__PURE__ */ defineSchema(() =>
70
+ z
71
+ .object({
72
+ branches: z.array(GitHubRepositoryBranch).max(GITHUB_REPOSITORY_BRANCH_PAGE_MAX),
73
+ nextCursor: z.number().int().positive().max(10_000).nullable(),
74
+ })
75
+ .strict()
76
+ .superRefine((response, context) => {
77
+ const names = new Set<string>();
78
+ let defaultCount = 0;
79
+ response.branches.forEach((branch, index) => {
80
+ if (names.has(branch.name)) {
81
+ context.addIssue({
82
+ code: "custom",
83
+ path: ["branches", index, "name"],
84
+ message: "branch names must be unique",
85
+ });
86
+ }
87
+ names.add(branch.name);
88
+ if (branch.isDefault) defaultCount += 1;
89
+ });
90
+ if (defaultCount > 1) {
68
91
  context.addIssue({
69
92
  code: "custom",
70
- path: ["branches", index, "name"],
71
- message: "branch names must be unique",
93
+ path: ["branches"],
94
+ message: "at most one branch may be marked as default",
72
95
  });
73
96
  }
74
- names.add(branch.name);
75
- if (branch.isDefault) defaultCount += 1;
76
- });
77
- if (defaultCount > 1) {
78
- context.addIssue({
79
- code: "custom",
80
- path: ["branches"],
81
- message: "at most one branch may be marked as default",
82
- });
83
- }
84
- });
97
+ }),
98
+ );
85
99
  export type GitHubRepositoryBranchesResponse = z.infer<typeof GitHubRepositoryBranchesResponse>;