@opengeni/contracts 0.50.0 → 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 (369) 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 +26 -12
  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/chunk-2ACYHZFB.js +292 -0
  25. package/dist/chunk-2ACYHZFB.js.map +1 -0
  26. package/dist/chunk-2VORLN2R.js +353 -0
  27. package/dist/chunk-2VORLN2R.js.map +1 -0
  28. package/dist/{chunk-Y3MLSLB4.js → chunk-3SIZGL3O.js} +42 -30
  29. package/dist/chunk-3SIZGL3O.js.map +1 -0
  30. package/dist/chunk-46KLD2UH.js +186 -0
  31. package/dist/chunk-46KLD2UH.js.map +1 -0
  32. package/dist/chunk-4JGHSSB7.js +11 -0
  33. package/dist/chunk-4JGHSSB7.js.map +1 -0
  34. package/dist/{chunk-M5ZGRVIQ.js → chunk-5IXYF6XN.js} +14 -5
  35. package/dist/chunk-5IXYF6XN.js.map +1 -0
  36. package/dist/chunk-BCS7WHCK.js +139 -0
  37. package/dist/chunk-BCS7WHCK.js.map +1 -0
  38. package/dist/chunk-EK7NDGFR.js +128 -0
  39. package/dist/chunk-EK7NDGFR.js.map +1 -0
  40. package/dist/{chunk-5UDNP7AO.js → chunk-FZ6BXQHL.js} +78 -38
  41. package/dist/chunk-FZ6BXQHL.js.map +1 -0
  42. package/dist/{chunk-CM6BMECR.js → chunk-GRG7PHWQ.js} +2 -1
  43. package/dist/chunk-GRG7PHWQ.js.map +1 -0
  44. package/dist/chunk-KHHZTBP7.js +11 -0
  45. package/dist/chunk-KHHZTBP7.js.map +1 -0
  46. package/dist/chunk-KR2V42UZ.js +187 -0
  47. package/dist/chunk-KR2V42UZ.js.map +1 -0
  48. package/dist/chunk-MZLBPKFE.js +168 -0
  49. package/dist/chunk-MZLBPKFE.js.map +1 -0
  50. package/dist/{chunk-LW7OH6CS.js → chunk-NRMCVHAU.js} +6 -5
  51. package/dist/chunk-NRMCVHAU.js.map +1 -0
  52. package/dist/{chunk-TZ6YEYN4.js → chunk-NVJMJWLL.js} +3 -1
  53. package/dist/chunk-NVJMJWLL.js.map +1 -0
  54. package/dist/chunk-O77VSFYZ.js +70 -0
  55. package/dist/chunk-O77VSFYZ.js.map +1 -0
  56. package/dist/chunk-PX3VCKAU.js +29 -0
  57. package/dist/chunk-PX3VCKAU.js.map +1 -0
  58. package/dist/chunk-QR5D2IQC.js +61 -0
  59. package/dist/chunk-QR5D2IQC.js.map +1 -0
  60. package/dist/chunk-RJ76DRPO.js +117 -0
  61. package/dist/chunk-RJ76DRPO.js.map +1 -0
  62. package/dist/chunk-RKX3NQYS.js +28 -0
  63. package/dist/chunk-RKX3NQYS.js.map +1 -0
  64. package/dist/{chunk-JBCIY7QD.js → chunk-SIOU2K4U.js} +45 -22
  65. package/dist/chunk-SIOU2K4U.js.map +1 -0
  66. package/dist/chunk-TSCDAGET.js +75 -0
  67. package/dist/chunk-TSCDAGET.js.map +1 -0
  68. package/dist/{chunk-LSB7GRLG.js → chunk-TXTQIYCV.js} +15 -11
  69. package/dist/chunk-TXTQIYCV.js.map +1 -0
  70. package/dist/chunk-X7ETVO4P.js +26544 -0
  71. package/dist/chunk-X7ETVO4P.js.map +1 -0
  72. package/dist/{chunk-CADSX6UN.js → chunk-Y3KNXVTD.js} +2 -2
  73. package/dist/chunk-YBW5JSA3.js +251 -0
  74. package/dist/chunk-YBW5JSA3.js.map +1 -0
  75. package/dist/chunk-YRXAWWCU.js +45 -0
  76. package/dist/chunk-YRXAWWCU.js.map +1 -0
  77. package/dist/claude-provider-account-authority.d.ts +18 -0
  78. package/dist/claude-subscription-oauth.d.ts +42 -0
  79. package/dist/claude-subscription-usage.d.ts +159 -0
  80. package/dist/client-error-report.d.ts +109 -0
  81. package/dist/client-error-report.js +87 -0
  82. package/dist/client-error-report.js.map +1 -0
  83. package/dist/code-search.d.ts +52 -0
  84. package/dist/code-search.js +40 -0
  85. package/dist/code-search.js.map +1 -0
  86. package/dist/company-brain-governed-writes.d.ts +475 -0
  87. package/dist/company-brain.d.ts +336 -0
  88. package/dist/company-profile.d.ts +566 -0
  89. package/dist/connect.d.ts +325 -0
  90. package/dist/connect.js +191 -0
  91. package/dist/connect.js.map +1 -0
  92. package/dist/connection-account-label.d.ts +2 -0
  93. package/dist/connection-account-label.js +35 -0
  94. package/dist/connection-account-label.js.map +1 -0
  95. package/dist/connection-authority.d.ts +193 -0
  96. package/dist/connection-authority.js +50 -0
  97. package/dist/connection-authority.js.map +1 -0
  98. package/dist/connector-attachments.d.ts +95 -0
  99. package/dist/connector-attachments.js +51 -0
  100. package/dist/connector-attachments.js.map +1 -0
  101. package/dist/connector-tool-permissions.d.ts +73 -0
  102. package/dist/direct-model-provider.d.ts +36 -0
  103. package/dist/editable-artifact-codec-registry.d.ts +16 -7
  104. package/dist/editable-artifact-codec-registry.js +18 -8
  105. package/dist/editable-artifact-committed-transaction.d.ts +2 -2
  106. package/dist/editable-artifact-committed-transaction.js +2 -2
  107. package/dist/editable-artifact-live.d.ts +11 -12
  108. package/dist/editable-artifact-live.js +110 -45
  109. package/dist/editable-artifact-live.js.map +1 -1
  110. package/dist/editable-artifact-serialized-commit.d.ts +2 -1
  111. package/dist/editable-artifact-serialized-commit.js +8 -7
  112. package/dist/editable-artifact-versions.d.ts +20 -5
  113. package/dist/editable-artifact-versions.js +23 -5
  114. package/dist/editable-artifacts.d.ts +2 -0
  115. package/dist/editable-artifacts.js +47 -35
  116. package/dist/external-identities.d.ts +784 -0
  117. package/dist/external-identities.js +44 -0
  118. package/dist/external-identities.js.map +1 -0
  119. package/dist/feedback.d.ts +51 -0
  120. package/dist/github-repository-contracts.d.ts +36 -0
  121. package/dist/github-repository-contracts.js +59 -0
  122. package/dist/github-repository-contracts.js.map +1 -0
  123. package/dist/github-repository.d.ts +14 -0
  124. package/dist/github-repository.js +36 -0
  125. package/dist/github-repository.js.map +1 -0
  126. package/dist/google-drive.d.ts +90 -1
  127. package/dist/google-drive.js +90 -16
  128. package/dist/google-drive.js.map +1 -1
  129. package/dist/governed-learning-activation.d.ts +154 -0
  130. package/dist/governed-learning-evaluator.d.ts +152 -0
  131. package/dist/host-mcp-bindings.d.ts +326 -0
  132. package/dist/host-mcp-bindings.js +252 -0
  133. package/dist/host-mcp-bindings.js.map +1 -0
  134. package/dist/image-generation.d.ts +1 -0
  135. package/dist/index.d.ts +32396 -11386
  136. package/dist/index.js +2198 -164
  137. package/dist/insights-usage.d.ts +877 -0
  138. package/dist/insights-usage.js +509 -0
  139. package/dist/insights-usage.js.map +1 -0
  140. package/dist/interaction.d.ts +344 -0
  141. package/dist/knowledge-entries.d.ts +982 -0
  142. package/dist/knowledge-preparation.d.ts +237 -0
  143. package/dist/knowledge.d.ts +197 -0
  144. package/dist/managed-auth-session-sets.d.ts +241 -0
  145. package/dist/managed-auth-session-sets.js +191 -0
  146. package/dist/managed-auth-session-sets.js.map +1 -0
  147. package/dist/managed-sign-in-methods.d.ts +56 -0
  148. package/dist/managed-sign-in-methods.js +46 -0
  149. package/dist/managed-sign-in-methods.js.map +1 -0
  150. package/dist/mcp-catalog-limits.d.ts +2 -0
  151. package/dist/mcp-endpoint.d.ts +7 -0
  152. package/dist/mcp-endpoint.js +9 -0
  153. package/dist/mcp-endpoint.js.map +1 -0
  154. package/dist/mcp-oauth.d.ts +71 -0
  155. package/dist/modal-native-proof-v2.d.ts +587 -0
  156. package/dist/modal-native-proof-v2.js +37 -0
  157. package/dist/modal-native-proof-v2.js.map +1 -0
  158. package/dist/model-availability.d.ts +15 -0
  159. package/dist/model-connection-access.d.ts +24 -0
  160. package/dist/model-context-inspector.d.ts +329 -0
  161. package/dist/model-display.d.ts +38 -0
  162. package/dist/model-display.js +134 -0
  163. package/dist/model-display.js.map +1 -0
  164. package/dist/model-picker-order.d.ts +25 -0
  165. package/dist/model-picker-order.js +42 -0
  166. package/dist/model-picker-order.js.map +1 -0
  167. package/dist/organization-access.d.ts +231 -0
  168. package/dist/organization-access.js +34 -0
  169. package/dist/organization-access.js.map +1 -0
  170. package/dist/organization-integration-policy.d.ts +27 -0
  171. package/dist/organization-membership-lifecycle.d.ts +1022 -0
  172. package/dist/organization-model-usage.d.ts +146 -0
  173. package/dist/organization-model-usage.js +67 -0
  174. package/dist/organization-model-usage.js.map +1 -0
  175. package/dist/organization-recovery.d.ts +337 -0
  176. package/dist/organization-recovery.js +37 -0
  177. package/dist/organization-recovery.js.map +1 -0
  178. package/dist/organization-usage.d.ts +138 -0
  179. package/dist/permissions.d.ts +54 -0
  180. package/dist/personal-github.d.ts +320 -0
  181. package/dist/personal-github.js +222 -0
  182. package/dist/personal-github.js.map +1 -0
  183. package/dist/plugin-discovery.d.ts +35 -0
  184. package/dist/plugin-discovery.js +7 -0
  185. package/dist/plugin-discovery.js.map +1 -0
  186. package/dist/preference-registry.d.ts +44 -1
  187. package/dist/product-analytics.d.ts +113 -0
  188. package/dist/product-lifecycle-facts.d.ts +73 -0
  189. package/dist/remember.d.ts +350 -0
  190. package/dist/retained-output.d.ts +8 -0
  191. package/dist/sandbox-file-artifacts.d.ts +57 -0
  192. package/dist/sandbox-provider-command.d.ts +113 -0
  193. package/dist/sandbox-recovery.d.ts +146 -0
  194. package/dist/sandbox-snapshots.d.ts +39 -0
  195. package/dist/session-final-reply.d.ts +6 -0
  196. package/dist/session-final-reply.js +9 -0
  197. package/dist/session-final-reply.js.map +1 -0
  198. package/dist/session-goal-reports.d.ts +21 -0
  199. package/dist/session-history-import.d.ts +947 -0
  200. package/dist/session-list-entries.d.ts +4 -0
  201. package/dist/session-list-entries.js +51 -0
  202. package/dist/session-list-entries.js.map +1 -0
  203. package/dist/session-mcp-projections.d.ts +215 -0
  204. package/dist/session-message-search.d.ts +68 -0
  205. package/dist/session-titles.d.ts +68 -0
  206. package/dist/session-titles.js +25 -0
  207. package/dist/session-titles.js.map +1 -0
  208. package/dist/session-topology-primitives.d.ts +22 -0
  209. package/dist/signup-attribution.d.ts +39 -0
  210. package/dist/site-request-headers.test.d.ts +1 -0
  211. package/dist/site-session-http.d.ts +11 -0
  212. package/dist/site-session-http.js +11 -0
  213. package/dist/site-session-http.js.map +1 -0
  214. package/dist/skill-catalog-context.d.ts +7 -0
  215. package/dist/skill-files.d.ts +12 -0
  216. package/dist/skill-metadata.d.ts +9 -0
  217. package/dist/skill-use.d.ts +61 -0
  218. package/dist/skills.d.ts +185 -0
  219. package/dist/slack-bot-scopes.d.ts +46 -21
  220. package/dist/slack-bot-scopes.js +14 -3
  221. package/dist/slack-rest-mcp.d.ts +31 -0
  222. package/dist/slack-rest-mcp.js +19 -0
  223. package/dist/slack-rest-mcp.js.map +1 -0
  224. package/dist/spreadsheet-artifact-commands.d.ts +2 -3
  225. package/dist/spreadsheet-artifact-commands.js +4 -2
  226. package/dist/spreadsheet-artifact-query.js +3 -2
  227. package/dist/subscription-account-pools.d.ts +292 -0
  228. package/dist/task-notes.d.ts +42 -1
  229. package/dist/tool-catalog.d.ts +286 -0
  230. package/dist/tool-result-spill.d.ts +16 -0
  231. package/dist/usage-allowances.d.ts +285 -0
  232. package/dist/usage-allowances.js +49 -0
  233. package/dist/usage-allowances.js.map +1 -0
  234. package/dist/video-generation.d.ts +3 -0
  235. package/dist/video-generation.js +1 -1
  236. package/dist/work-claims.d.ts +411 -0
  237. package/dist/workspace-instruction-policies.d.ts +94 -0
  238. package/dist/workspace-integration-wire.d.ts +36 -0
  239. package/dist/workspace-integration-wire.js +23 -0
  240. package/dist/workspace-integration-wire.js.map +1 -0
  241. package/dist/workspace-integrations.d.ts +948 -0
  242. package/dist/workspace-learning-administration.d.ts +289 -0
  243. package/dist/workspace-learning-policy.d.ts +1 -1
  244. package/dist/workspace-state.d.ts +85 -416
  245. package/dist/xai-provider-account-authority.d.ts +3 -0
  246. package/dist/xai-provider-account-authority.js +1 -1
  247. package/package.json +134 -1
  248. package/src/agent-authored-durable-text.ts +116 -0
  249. package/src/agent-config.ts +1527 -0
  250. package/src/agent-instruction-changes.ts +98 -0
  251. package/src/agent-learning.ts +161 -0
  252. package/src/agent-topology.ts +69 -0
  253. package/src/allowance-refusal.ts +81 -0
  254. package/src/analytics-consent-report.ts +20 -0
  255. package/src/api-key-presets.ts +25 -0
  256. package/src/artifact-catalog.ts +60 -0
  257. package/src/artifacts.ts +146 -18
  258. package/src/atlassian-native-retirement.ts +33 -0
  259. package/src/browser-storage.ts +10 -0
  260. package/src/bundled-skills.ts +73 -0
  261. package/src/claude-provider-account-authority.ts +12 -0
  262. package/src/claude-subscription-oauth.ts +62 -0
  263. package/src/claude-subscription-usage.ts +59 -0
  264. package/src/client-error-report.ts +184 -0
  265. package/src/code-search.ts +105 -0
  266. package/src/company-brain-governed-writes.ts +356 -0
  267. package/src/company-brain.ts +201 -0
  268. package/src/company-profile.ts +167 -1
  269. package/src/connect.ts +202 -0
  270. package/src/connection-account-label.ts +46 -0
  271. package/src/connection-authority.ts +213 -0
  272. package/src/connector-attachments.ts +327 -0
  273. package/src/connector-tool-permissions.ts +60 -0
  274. package/src/direct-model-provider.ts +98 -0
  275. package/src/editable-artifact-codec-registry.ts +55 -17
  276. package/src/editable-artifact-committed-transaction.ts +44 -31
  277. package/src/editable-artifact-live.ts +123 -57
  278. package/src/editable-artifact-serialized-commit.ts +2 -1
  279. package/src/editable-artifact-versions.ts +26 -5
  280. package/src/editable-artifacts.ts +2 -0
  281. package/src/external-identities.ts +285 -0
  282. package/src/feedback.ts +39 -0
  283. package/src/github-repository-contracts.ts +85 -0
  284. package/src/github-repository.ts +59 -0
  285. package/src/google-drive.ts +76 -4
  286. package/src/governed-learning-activation.ts +191 -0
  287. package/src/governed-learning-evaluator.ts +176 -0
  288. package/src/host-mcp-bindings.ts +298 -0
  289. package/src/image-generation.ts +8 -2
  290. package/src/index.ts +7093 -1466
  291. package/src/insights-usage.ts +679 -0
  292. package/src/interaction.ts +220 -5
  293. package/src/knowledge-entries.ts +375 -0
  294. package/src/knowledge-preparation.ts +50 -0
  295. package/src/knowledge.ts +134 -6
  296. package/src/managed-auth-session-sets.ts +253 -0
  297. package/src/managed-sign-in-methods.ts +37 -0
  298. package/src/mcp-catalog-limits.ts +2 -0
  299. package/src/mcp-endpoint.ts +30 -0
  300. package/src/mcp-oauth.ts +66 -0
  301. package/src/modal-native-proof-v2.ts +398 -0
  302. package/src/model-availability.ts +22 -0
  303. package/src/model-connection-access.ts +17 -0
  304. package/src/model-context-inspector.ts +139 -0
  305. package/src/model-display.ts +195 -0
  306. package/src/model-picker-order.ts +97 -0
  307. package/src/organization-access.ts +176 -0
  308. package/src/organization-integration-policy.ts +54 -0
  309. package/src/organization-membership-lifecycle.ts +559 -0
  310. package/src/organization-model-usage.ts +72 -0
  311. package/src/organization-recovery.ts +186 -0
  312. package/src/organization-usage.ts +79 -0
  313. package/src/permissions.ts +58 -0
  314. package/src/personal-github.ts +267 -0
  315. package/src/plugin-discovery.ts +33 -0
  316. package/src/preference-registry.ts +20 -1
  317. package/src/product-analytics.ts +253 -0
  318. package/src/product-lifecycle-facts.ts +121 -0
  319. package/src/remember.ts +243 -0
  320. package/src/retained-output.ts +20 -3
  321. package/src/sandbox-file-artifacts.ts +73 -0
  322. package/src/sandbox-provider-command.ts +82 -0
  323. package/src/sandbox-recovery.ts +116 -0
  324. package/src/sandbox-snapshots.ts +142 -0
  325. package/src/session-final-reply.ts +16 -0
  326. package/src/session-goal-reports.ts +55 -0
  327. package/src/session-history-import.ts +159 -0
  328. package/src/session-list-entries.ts +91 -0
  329. package/src/session-mcp-projections.ts +273 -0
  330. package/src/session-message-search.ts +54 -0
  331. package/src/session-titles.ts +467 -0
  332. package/src/session-topology-primitives.ts +21 -0
  333. package/src/signup-attribution.ts +81 -0
  334. package/src/site-request-headers.test.ts +28 -0
  335. package/src/site-session-http.ts +63 -0
  336. package/src/skill-catalog-context.ts +50 -0
  337. package/src/skill-files.ts +52 -0
  338. package/src/skill-metadata.ts +40 -0
  339. package/src/skill-use.ts +77 -0
  340. package/src/skills.ts +136 -0
  341. package/src/slack-bot-scopes.ts +106 -42
  342. package/src/slack-rest-mcp.ts +194 -0
  343. package/src/spreadsheet-artifact-commands.ts +12 -13
  344. package/src/subscription-account-pools.ts +44 -0
  345. package/src/task-notes.ts +14 -1
  346. package/src/tool-catalog.ts +155 -0
  347. package/src/tool-result-spill.ts +35 -0
  348. package/src/usage-allowances.ts +187 -0
  349. package/src/work-claims.ts +266 -0
  350. package/src/workspace-instruction-policies.ts +31 -0
  351. package/src/workspace-integration-wire.ts +99 -0
  352. package/src/workspace-integrations.ts +640 -0
  353. package/src/workspace-learning-administration.ts +88 -0
  354. package/src/workspace-learning-policy.ts +4 -3
  355. package/src/workspace-state.ts +16 -126
  356. package/src/xai-provider-account-authority.ts +1 -0
  357. package/dist/chunk-5UDNP7AO.js.map +0 -1
  358. package/dist/chunk-BVGIYW7D.js +0 -11
  359. package/dist/chunk-BVGIYW7D.js.map +0 -1
  360. package/dist/chunk-CM6BMECR.js.map +0 -1
  361. package/dist/chunk-JBCIY7QD.js.map +0 -1
  362. package/dist/chunk-LSB7GRLG.js.map +0 -1
  363. package/dist/chunk-LW7OH6CS.js.map +0 -1
  364. package/dist/chunk-M5ZGRVIQ.js.map +0 -1
  365. package/dist/chunk-Q6A7XT2N.js +0 -16734
  366. package/dist/chunk-Q6A7XT2N.js.map +0 -1
  367. package/dist/chunk-TZ6YEYN4.js.map +0 -1
  368. package/dist/chunk-Y3MLSLB4.js.map +0 -1
  369. /package/dist/{chunk-CADSX6UN.js.map → chunk-Y3KNXVTD.js.map} +0 -0
@@ -0,0 +1,222 @@
1
+ import {
2
+ ConnectionMetadata
3
+ } from "./chunk-X7ETVO4P.js";
4
+ import "./chunk-5IXYF6XN.js";
5
+ import "./chunk-NRMCVHAU.js";
6
+ import "./chunk-WYBDERIY.js";
7
+ import "./chunk-4JGHSSB7.js";
8
+ import "./chunk-EK7NDGFR.js";
9
+ import "./chunk-O77VSFYZ.js";
10
+ import "./chunk-NVJMJWLL.js";
11
+ import "./chunk-SIOU2K4U.js";
12
+ import "./chunk-YRKRZ6OF.js";
13
+ import "./chunk-2VORLN2R.js";
14
+ import "./chunk-FZ6BXQHL.js";
15
+ import "./chunk-GRG7PHWQ.js";
16
+ import "./chunk-YRXAWWCU.js";
17
+ import "./chunk-2ACYHZFB.js";
18
+ import "./chunk-KHHZTBP7.js";
19
+ import "./chunk-YBW5JSA3.js";
20
+ import "./chunk-RJ76DRPO.js";
21
+ import "./chunk-QR5D2IQC.js";
22
+ import "./chunk-3SIZGL3O.js";
23
+ import "./chunk-RIY7GYQS.js";
24
+ import "./chunk-JUFK3T4Q.js";
25
+ import "./chunk-TSCDAGET.js";
26
+ import "./chunk-BCS7WHCK.js";
27
+ import "./chunk-D2HKF2EF.js";
28
+ import "./chunk-MYBZRDTY.js";
29
+ import "./chunk-MZLBPKFE.js";
30
+ import "./chunk-RKX3NQYS.js";
31
+ import "./chunk-Y3KNXVTD.js";
32
+ import "./chunk-TXTQIYCV.js";
33
+ import "./chunk-PX3VCKAU.js";
34
+
35
+ // src/personal-github.ts
36
+ import { z } from "zod";
37
+ var PERSONAL_GITHUB_PROVIDER_DOMAIN = "github.com";
38
+ var PERSONAL_GITHUB_PROVIDER_FAMILY = "github";
39
+ var PERSONAL_GITHUB_CREDENTIAL_ROLE = "opengeni_github_personal";
40
+ var PERSONAL_GITHUB_CONNECTION_SURFACE_ID = "github:personal";
41
+ var PERSONAL_GITHUB_REQUESTED_SCOPES = ["repo"];
42
+ var PERSONAL_GITHUB_AUTHORIZATION_URL = "https://github.com/login/oauth/authorize";
43
+ var PERSONAL_GITHUB_TOKEN_URL = "https://github.com/login/oauth/access_token";
44
+ var PERSONAL_GITHUB_USER_URL = "https://api.github.com/user";
45
+ var PERSONAL_GITHUB_API_ORIGIN = "https://api.github.com";
46
+ var PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX = 100;
47
+ var PersonalGitHubRepositoryId = z.string().regex(/^[1-9]\d*$/u);
48
+ var PersonalGitHubRepositoryAccess = z.enum(["read", "write"]);
49
+ var PersonalGitHubRepositoryPermissions = z.object({
50
+ pull: z.boolean(),
51
+ push: z.boolean(),
52
+ admin: z.boolean(),
53
+ maintain: z.boolean(),
54
+ triage: z.boolean()
55
+ }).strict();
56
+ var PersonalGitHubRepositoryVisibility = z.enum(["public", "private", "internal"]);
57
+ var PersonalGitHubRepositoryFullName = z.string().min(3).max(140).regex(/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})\/[A-Za-z0-9_.-]{1,100}$/u);
58
+ function canonicalPersonalGitHubRepositoryUrl(fullName) {
59
+ return `https://github.com/${fullName}`;
60
+ }
61
+ var PersonalGitHubRepository = z.object({
62
+ repositoryId: PersonalGitHubRepositoryId,
63
+ fullName: PersonalGitHubRepositoryFullName,
64
+ canonicalUrl: z.string().url().max(512),
65
+ defaultBranch: z.string().min(1).max(255),
66
+ visibility: PersonalGitHubRepositoryVisibility,
67
+ private: z.boolean(),
68
+ archived: z.boolean(),
69
+ disabled: z.boolean(),
70
+ permissions: PersonalGitHubRepositoryPermissions
71
+ }).strict().superRefine((repository, context) => {
72
+ if (repository.canonicalUrl !== canonicalPersonalGitHubRepositoryUrl(repository.fullName)) {
73
+ context.addIssue({
74
+ code: "custom",
75
+ path: ["canonicalUrl"],
76
+ message: "canonicalUrl must be derived from fullName"
77
+ });
78
+ }
79
+ if (repository.private !== (repository.visibility === "private")) {
80
+ context.addIssue({
81
+ code: "custom",
82
+ path: ["private"],
83
+ message: "private must agree with visibility"
84
+ });
85
+ }
86
+ });
87
+ var PersonalGitHubSelectedRepository = PersonalGitHubRepository.safeExtend({
88
+ selectedAccess: PersonalGitHubRepositoryAccess,
89
+ selectionGeneration: z.number().int().positive(),
90
+ selectedAt: z.string().datetime({ offset: true }),
91
+ lastVerifiedAt: z.string().datetime({ offset: true })
92
+ }).strict();
93
+ var PersonalGitHubRepositorySelectionState = z.object({
94
+ connectionAuthorityGeneration: z.number().int().positive(),
95
+ credentialBindingId: z.string().uuid(),
96
+ providerPrincipalId: PersonalGitHubRepositoryId,
97
+ selectionGeneration: z.number().int().nonnegative(),
98
+ repositories: z.array(PersonalGitHubSelectedRepository).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX)
99
+ }).strict();
100
+ var ListPersonalGitHubRepositoriesQuery = z.object({
101
+ cursor: z.coerce.number().int().positive().max(1e4).default(1),
102
+ limit: z.coerce.number().int().min(1).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX).default(50)
103
+ }).strict();
104
+ var PersonalGitHubRepositoryCatalogItem = PersonalGitHubRepository.safeExtend({
105
+ selectedAccess: PersonalGitHubRepositoryAccess.nullable()
106
+ }).strict();
107
+ var ListPersonalGitHubRepositoriesResponse = z.object({
108
+ repositories: z.array(PersonalGitHubRepositoryCatalogItem).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),
109
+ nextCursor: z.number().int().positive().nullable(),
110
+ selection: PersonalGitHubRepositorySelectionState
111
+ }).strict();
112
+ var PersonalGitHubRepositorySelectionInput = z.object({
113
+ repositoryId: PersonalGitHubRepositoryId,
114
+ fullName: PersonalGitHubRepositoryFullName,
115
+ access: PersonalGitHubRepositoryAccess
116
+ }).strict();
117
+ var ReplacePersonalGitHubRepositorySelectionsRequest = z.object({
118
+ expectedConnectionAuthorityGeneration: z.number().int().positive(),
119
+ expectedSelectionGeneration: z.number().int().nonnegative(),
120
+ idempotencyKey: z.string().trim().min(1).max(200),
121
+ repositories: z.array(PersonalGitHubRepositorySelectionInput).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX)
122
+ }).strict().superRefine((request, context) => {
123
+ const repositoryIds = /* @__PURE__ */ new Set();
124
+ const fullNames = /* @__PURE__ */ new Set();
125
+ request.repositories.forEach((repository, index) => {
126
+ const normalizedFullName = repository.fullName.toLowerCase();
127
+ if (repositoryIds.has(repository.repositoryId)) {
128
+ context.addIssue({
129
+ code: "custom",
130
+ path: ["repositories", index, "repositoryId"],
131
+ message: "repositoryId must be unique"
132
+ });
133
+ }
134
+ if (fullNames.has(normalizedFullName)) {
135
+ context.addIssue({
136
+ code: "custom",
137
+ path: ["repositories", index, "fullName"],
138
+ message: "fullName must be unique"
139
+ });
140
+ }
141
+ repositoryIds.add(repository.repositoryId);
142
+ fullNames.add(normalizedFullName);
143
+ });
144
+ });
145
+ var VerifyPersonalGitHubRepositorySelectionsRequest = z.object({
146
+ expectedConnectionAuthorityGeneration: z.number().int().positive(),
147
+ expectedSelectionGeneration: z.number().int().nonnegative(),
148
+ idempotencyKey: z.string().trim().min(1).max(200)
149
+ }).strict();
150
+ var PersonalGitHubConnectionMetadata = z.object({
151
+ credentialRole: z.literal(PERSONAL_GITHUB_CREDENTIAL_ROLE),
152
+ providerFamily: z.literal(PERSONAL_GITHUB_PROVIDER_FAMILY),
153
+ providerPrincipalId: z.string().regex(/^\d+$/u),
154
+ githubUserId: z.string().regex(/^\d+$/u),
155
+ githubLogin: z.string().min(1).max(100),
156
+ oauthEnvironment: z.string().min(1).max(128),
157
+ oauthClientMarker: z.string().regex(/^[a-f0-9]{32}$/u),
158
+ credentialBindingId: z.string().uuid(),
159
+ connectedAt: z.string().datetime({ offset: true }),
160
+ lastVerifiedAt: z.string().datetime({ offset: true }),
161
+ disconnectedAt: z.string().datetime({ offset: true }).nullable().optional(),
162
+ refreshTokenExpiresAt: z.string().datetime({ offset: true }).nullable().optional()
163
+ }).passthrough();
164
+ var PersonalGitHubOAuthStartRequest = z.object({
165
+ /** Existing exact connection generation to re-authorize in place. */
166
+ connectionId: z.string().uuid().optional(),
167
+ /** Same-workspace UI path restored after the callback. */
168
+ returnPath: z.string().min(1).max(2048).optional()
169
+ }).strict();
170
+ var PersonalGitHubOAuthStartResponse = z.object({
171
+ authorizationUrl: z.string().url(),
172
+ expiresAt: z.string().datetime({ offset: true })
173
+ }).strict();
174
+ var PersonalGitHubConnectionStatusResponse = z.object({
175
+ enabled: z.boolean(),
176
+ connection: ConnectionMetadata.nullable(),
177
+ reviewUrl: z.string().url().nullable()
178
+ }).strict();
179
+ var PersonalGitHubDisconnectRequest = z.object({
180
+ expectedVersion: z.number().int().positive(),
181
+ idempotencyKey: z.string().trim().min(1).max(200)
182
+ }).strict();
183
+ function isPersonalGitHubConnection(connection) {
184
+ return connection.providerDomain.toLowerCase() === PERSONAL_GITHUB_PROVIDER_DOMAIN && connection.kind === "oauth2" && PersonalGitHubConnectionMetadata.safeParse(connection.metadata).success;
185
+ }
186
+ function hasReservedPersonalGitHubMetadata(metadata) {
187
+ return metadata?.credentialRole === PERSONAL_GITHUB_CREDENTIAL_ROLE;
188
+ }
189
+ export {
190
+ ListPersonalGitHubRepositoriesQuery,
191
+ ListPersonalGitHubRepositoriesResponse,
192
+ PERSONAL_GITHUB_API_ORIGIN,
193
+ PERSONAL_GITHUB_AUTHORIZATION_URL,
194
+ PERSONAL_GITHUB_CONNECTION_SURFACE_ID,
195
+ PERSONAL_GITHUB_CREDENTIAL_ROLE,
196
+ PERSONAL_GITHUB_PROVIDER_DOMAIN,
197
+ PERSONAL_GITHUB_PROVIDER_FAMILY,
198
+ PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX,
199
+ PERSONAL_GITHUB_REQUESTED_SCOPES,
200
+ PERSONAL_GITHUB_TOKEN_URL,
201
+ PERSONAL_GITHUB_USER_URL,
202
+ PersonalGitHubConnectionMetadata,
203
+ PersonalGitHubConnectionStatusResponse,
204
+ PersonalGitHubDisconnectRequest,
205
+ PersonalGitHubOAuthStartRequest,
206
+ PersonalGitHubOAuthStartResponse,
207
+ PersonalGitHubRepository,
208
+ PersonalGitHubRepositoryAccess,
209
+ PersonalGitHubRepositoryCatalogItem,
210
+ PersonalGitHubRepositoryId,
211
+ PersonalGitHubRepositoryPermissions,
212
+ PersonalGitHubRepositorySelectionInput,
213
+ PersonalGitHubRepositorySelectionState,
214
+ PersonalGitHubRepositoryVisibility,
215
+ PersonalGitHubSelectedRepository,
216
+ ReplacePersonalGitHubRepositorySelectionsRequest,
217
+ VerifyPersonalGitHubRepositorySelectionsRequest,
218
+ canonicalPersonalGitHubRepositoryUrl,
219
+ hasReservedPersonalGitHubMetadata,
220
+ isPersonalGitHubConnection
221
+ };
222
+ //# sourceMappingURL=personal-github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/personal-github.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { ConnectionMetadata } from \"./index\";\n\nexport const PERSONAL_GITHUB_PROVIDER_DOMAIN = \"github.com\" as const;\nexport const PERSONAL_GITHUB_PROVIDER_FAMILY = \"github\" as const;\nexport const PERSONAL_GITHUB_CREDENTIAL_ROLE = \"opengeni_github_personal\" as const;\nexport const PERSONAL_GITHUB_CONNECTION_SURFACE_ID = \"github:personal\" as const;\nexport const PERSONAL_GITHUB_REQUESTED_SCOPES = [\"repo\"] as const;\nexport const PERSONAL_GITHUB_AUTHORIZATION_URL =\n \"https://github.com/login/oauth/authorize\" as const;\nexport const PERSONAL_GITHUB_TOKEN_URL = \"https://github.com/login/oauth/access_token\" as const;\nexport const PERSONAL_GITHUB_USER_URL = \"https://api.github.com/user\" as const;\nexport const PERSONAL_GITHUB_API_ORIGIN = \"https://api.github.com\" as const;\nexport const PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX = 100 as const;\n\nexport const PersonalGitHubRepositoryId = z.string().regex(/^[1-9]\\d*$/u);\nexport type PersonalGitHubRepositoryId = z.infer<typeof PersonalGitHubRepositoryId>;\n\nexport const PersonalGitHubRepositoryAccess = z.enum([\"read\", \"write\"]);\nexport type PersonalGitHubRepositoryAccess = z.infer<typeof PersonalGitHubRepositoryAccess>;\n\nexport const PersonalGitHubRepositoryPermissions = z\n .object({\n pull: z.boolean(),\n push: z.boolean(),\n admin: z.boolean(),\n maintain: z.boolean(),\n triage: z.boolean(),\n })\n .strict();\nexport type PersonalGitHubRepositoryPermissions = z.infer<\n typeof PersonalGitHubRepositoryPermissions\n>;\n\nexport const PersonalGitHubRepositoryVisibility = z.enum([\"public\", \"private\", \"internal\"]);\nexport type PersonalGitHubRepositoryVisibility = z.infer<typeof PersonalGitHubRepositoryVisibility>;\n\nconst PersonalGitHubRepositoryFullName = z\n .string()\n .min(3)\n .max(140)\n .regex(/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})\\/[A-Za-z0-9_.-]{1,100}$/u);\n\nexport function canonicalPersonalGitHubRepositoryUrl(fullName: string): string {\n return `https://github.com/${fullName}`;\n}\n\n/** A bounded, credential-free projection verified directly against GitHub. */\nexport const PersonalGitHubRepository = z\n .object({\n repositoryId: PersonalGitHubRepositoryId,\n fullName: PersonalGitHubRepositoryFullName,\n canonicalUrl: z.string().url().max(512),\n defaultBranch: z.string().min(1).max(255),\n visibility: PersonalGitHubRepositoryVisibility,\n private: z.boolean(),\n archived: z.boolean(),\n disabled: z.boolean(),\n permissions: PersonalGitHubRepositoryPermissions,\n })\n .strict()\n .superRefine((repository, context) => {\n if (repository.canonicalUrl !== canonicalPersonalGitHubRepositoryUrl(repository.fullName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"canonicalUrl\"],\n message: \"canonicalUrl must be derived from fullName\",\n });\n }\n if (repository.private !== (repository.visibility === \"private\")) {\n context.addIssue({\n code: \"custom\",\n path: [\"private\"],\n message: \"private must agree with visibility\",\n });\n }\n });\nexport type PersonalGitHubRepository = z.infer<typeof PersonalGitHubRepository>;\n\nexport const PersonalGitHubSelectedRepository = PersonalGitHubRepository.safeExtend({\n selectedAccess: PersonalGitHubRepositoryAccess,\n selectionGeneration: z.number().int().positive(),\n selectedAt: z.string().datetime({ offset: true }),\n lastVerifiedAt: z.string().datetime({ offset: true }),\n}).strict();\nexport type PersonalGitHubSelectedRepository = z.infer<typeof PersonalGitHubSelectedRepository>;\n\nexport const PersonalGitHubRepositorySelectionState = z\n .object({\n connectionAuthorityGeneration: z.number().int().positive(),\n credentialBindingId: z.string().uuid(),\n providerPrincipalId: PersonalGitHubRepositoryId,\n selectionGeneration: z.number().int().nonnegative(),\n repositories: z\n .array(PersonalGitHubSelectedRepository)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n })\n .strict();\nexport type PersonalGitHubRepositorySelectionState = z.infer<\n typeof PersonalGitHubRepositorySelectionState\n>;\n\nexport const ListPersonalGitHubRepositoriesQuery = z\n .object({\n cursor: z.coerce.number().int().positive().max(10_000).default(1),\n limit: z.coerce.number().int().min(1).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX).default(50),\n })\n .strict();\nexport type ListPersonalGitHubRepositoriesQuery = z.infer<\n typeof ListPersonalGitHubRepositoriesQuery\n>;\n\nexport const PersonalGitHubRepositoryCatalogItem = PersonalGitHubRepository.safeExtend({\n selectedAccess: PersonalGitHubRepositoryAccess.nullable(),\n}).strict();\nexport type PersonalGitHubRepositoryCatalogItem = z.infer<\n typeof PersonalGitHubRepositoryCatalogItem\n>;\n\nexport const ListPersonalGitHubRepositoriesResponse = z\n .object({\n repositories: z\n .array(PersonalGitHubRepositoryCatalogItem)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n nextCursor: z.number().int().positive().nullable(),\n selection: PersonalGitHubRepositorySelectionState,\n })\n .strict();\nexport type ListPersonalGitHubRepositoriesResponse = z.infer<\n typeof ListPersonalGitHubRepositoriesResponse\n>;\n\nexport const PersonalGitHubRepositorySelectionInput = z\n .object({\n repositoryId: PersonalGitHubRepositoryId,\n fullName: PersonalGitHubRepositoryFullName,\n access: PersonalGitHubRepositoryAccess,\n })\n .strict();\nexport type PersonalGitHubRepositorySelectionInput = z.infer<\n typeof PersonalGitHubRepositorySelectionInput\n>;\n\nexport const ReplacePersonalGitHubRepositorySelectionsRequest = z\n .object({\n expectedConnectionAuthorityGeneration: z.number().int().positive(),\n expectedSelectionGeneration: z.number().int().nonnegative(),\n idempotencyKey: z.string().trim().min(1).max(200),\n repositories: z\n .array(PersonalGitHubRepositorySelectionInput)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n })\n .strict()\n .superRefine((request, context) => {\n const repositoryIds = new Set<string>();\n const fullNames = new Set<string>();\n request.repositories.forEach((repository, index) => {\n const normalizedFullName = repository.fullName.toLowerCase();\n if (repositoryIds.has(repository.repositoryId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"repositories\", index, \"repositoryId\"],\n message: \"repositoryId must be unique\",\n });\n }\n if (fullNames.has(normalizedFullName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"repositories\", index, \"fullName\"],\n message: \"fullName must be unique\",\n });\n }\n repositoryIds.add(repository.repositoryId);\n fullNames.add(normalizedFullName);\n });\n });\nexport type ReplacePersonalGitHubRepositorySelectionsRequest = z.infer<\n typeof ReplacePersonalGitHubRepositorySelectionsRequest\n>;\n\nexport const VerifyPersonalGitHubRepositorySelectionsRequest = z\n .object({\n expectedConnectionAuthorityGeneration: z.number().int().positive(),\n expectedSelectionGeneration: z.number().int().nonnegative(),\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type VerifyPersonalGitHubRepositorySelectionsRequest = z.infer<\n typeof VerifyPersonalGitHubRepositorySelectionsRequest\n>;\n\n/**\n * Owner-visible, credential-free metadata for one dedicated personal GitHub\n * OAuth connection. Repository selections are a separate authority and never\n * live in this credential record.\n */\nexport const PersonalGitHubConnectionMetadata = z\n .object({\n credentialRole: z.literal(PERSONAL_GITHUB_CREDENTIAL_ROLE),\n providerFamily: z.literal(PERSONAL_GITHUB_PROVIDER_FAMILY),\n providerPrincipalId: z.string().regex(/^\\d+$/u),\n githubUserId: z.string().regex(/^\\d+$/u),\n githubLogin: z.string().min(1).max(100),\n oauthEnvironment: z.string().min(1).max(128),\n oauthClientMarker: z.string().regex(/^[a-f0-9]{32}$/u),\n credentialBindingId: z.string().uuid(),\n connectedAt: z.string().datetime({ offset: true }),\n lastVerifiedAt: z.string().datetime({ offset: true }),\n disconnectedAt: z.string().datetime({ offset: true }).nullable().optional(),\n refreshTokenExpiresAt: z.string().datetime({ offset: true }).nullable().optional(),\n })\n .passthrough();\nexport type PersonalGitHubConnectionMetadata = z.infer<typeof PersonalGitHubConnectionMetadata>;\n\nexport const PersonalGitHubOAuthStartRequest = z\n .object({\n /** Existing exact connection generation to re-authorize in place. */\n connectionId: z.string().uuid().optional(),\n /** Same-workspace UI path restored after the callback. */\n returnPath: z.string().min(1).max(2048).optional(),\n })\n .strict();\nexport type PersonalGitHubOAuthStartRequest = z.infer<typeof PersonalGitHubOAuthStartRequest>;\n\nexport const PersonalGitHubOAuthStartResponse = z\n .object({\n authorizationUrl: z.string().url(),\n expiresAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport type PersonalGitHubOAuthStartResponse = z.infer<typeof PersonalGitHubOAuthStartResponse>;\n\nexport const PersonalGitHubConnectionStatusResponse = z\n .object({\n enabled: z.boolean(),\n connection: ConnectionMetadata.nullable(),\n reviewUrl: z.string().url().nullable(),\n })\n .strict();\nexport type PersonalGitHubConnectionStatusResponse = z.infer<\n typeof PersonalGitHubConnectionStatusResponse\n>;\n\nexport const PersonalGitHubDisconnectRequest = z\n .object({\n expectedVersion: z.number().int().positive(),\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type PersonalGitHubDisconnectRequest = z.infer<typeof PersonalGitHubDisconnectRequest>;\n\nexport function isPersonalGitHubConnection(\n connection: Pick<z.infer<typeof ConnectionMetadata>, \"providerDomain\" | \"kind\" | \"metadata\">,\n): boolean {\n return (\n connection.providerDomain.toLowerCase() === PERSONAL_GITHUB_PROVIDER_DOMAIN &&\n connection.kind === \"oauth2\" &&\n PersonalGitHubConnectionMetadata.safeParse(connection.metadata).success\n );\n}\n\nexport function hasReservedPersonalGitHubMetadata(\n metadata: Record<string, unknown> | undefined,\n): boolean {\n return metadata?.credentialRole === PERSONAL_GITHUB_CREDENTIAL_ROLE;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,35 @@
1
+ /** Public discovery metadata; listing does not imply runtime compatibility. */
2
+ export { pluginMcpUnavailableReason } from "./mcp-endpoint.js";
3
+ export type PluginDiscoveryItem = {
4
+ id: string;
5
+ name: string;
6
+ displayName: string;
7
+ description: string;
8
+ longDescription: string;
9
+ provider: string;
10
+ category: string | null;
11
+ logoUrl: string | null;
12
+ darkLogoUrl: string | null;
13
+ sourceUrl: string | null;
14
+ author: {
15
+ name?: string;
16
+ } | null;
17
+ version: string | null;
18
+ skills?: {
19
+ name: string;
20
+ sourceUrl: string;
21
+ }[] | null;
22
+ mcpServers?: {
23
+ name: string;
24
+ transport: string;
25
+ requiresConfiguration?: boolean;
26
+ endpoint: string | null;
27
+ }[] | null;
28
+ components: string[] | null;
29
+ installation: string;
30
+ };
31
+ export type PluginDiscoveryPage = {
32
+ items: PluginDiscoveryItem[];
33
+ total: number;
34
+ nextOffset: number | null;
35
+ };
@@ -0,0 +1,7 @@
1
+ import {
2
+ pluginMcpUnavailableReason
3
+ } from "./chunk-RKX3NQYS.js";
4
+ export {
5
+ pluginMcpUnavailableReason
6
+ };
7
+ //# sourceMappingURL=plugin-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const PREFERENCE_REGISTRY_CONTENT_MAX_CHARS = 262144;
3
- export declare const PREFERENCE_REGISTRY_DESCRIPTOR_DESCRIPTION_MAX_CHARS = 240;
3
+ export declare const PREFERENCE_REGISTRY_DESCRIPTOR_DESCRIPTION_MAX_CHARS = 1024;
4
4
  export declare const PREFERENCE_REGISTRY_DESCRIPTOR_MAX_COUNT = 64;
5
5
  export declare const PREFERENCE_REGISTRY_DESCRIPTOR_MAX_UTF8_BYTES = 16384;
6
6
  export declare const PREFERENCE_REGISTRY_REASON_MAX_CHARS = 4096;
@@ -23,12 +23,14 @@ export declare const PreferenceRegistryStatus: z.ZodEnum<{
23
23
  }>;
24
24
  export type PreferenceRegistryStatus = z.infer<typeof PreferenceRegistryStatus>;
25
25
  export declare const PreferenceRegistryProvenanceSource: z.ZodEnum<{
26
+ agent: "agent";
26
27
  call_transcript: "call_transcript";
27
28
  human: "human";
28
29
  imported_document: "imported_document";
29
30
  knowledge_proposal: "knowledge_proposal";
30
31
  meeting_transcript: "meeting_transcript";
31
32
  onboarding: "onboarding";
33
+ portable_skill: "portable_skill";
32
34
  slack: "slack";
33
35
  }>;
34
36
  export type PreferenceRegistryProvenanceSource = z.infer<typeof PreferenceRegistryProvenanceSource>;
@@ -87,12 +89,14 @@ export declare const PreferenceRegistryPrecedence: z.ZodObject<{
87
89
  export type PreferenceRegistryPrecedence = z.infer<typeof PreferenceRegistryPrecedence>;
88
90
  export declare const PreferenceRegistryProvenance: z.ZodObject<{
89
91
  source: z.ZodEnum<{
92
+ agent: "agent";
90
93
  call_transcript: "call_transcript";
91
94
  human: "human";
92
95
  imported_document: "imported_document";
93
96
  knowledge_proposal: "knowledge_proposal";
94
97
  meeting_transcript: "meeting_transcript";
95
98
  onboarding: "onboarding";
99
+ portable_skill: "portable_skill";
96
100
  slack: "slack";
97
101
  }>;
98
102
  sourceId: z.ZodNullable<z.ZodString>;
@@ -106,12 +110,14 @@ export declare const PreferenceRegistryProvenance: z.ZodObject<{
106
110
  export type PreferenceRegistryProvenance = z.infer<typeof PreferenceRegistryProvenance>;
107
111
  export declare const PreferenceRegistryDescriptorProvenance: z.ZodObject<{
108
112
  source: z.ZodEnum<{
113
+ agent: "agent";
109
114
  call_transcript: "call_transcript";
110
115
  human: "human";
111
116
  imported_document: "imported_document";
112
117
  knowledge_proposal: "knowledge_proposal";
113
118
  meeting_transcript: "meeting_transcript";
114
119
  onboarding: "onboarding";
120
+ portable_skill: "portable_skill";
115
121
  slack: "slack";
116
122
  }>;
117
123
  sourceIdHash: z.ZodNullable<z.ZodString>;
@@ -147,12 +153,14 @@ export declare const PreferenceRegistryRevisionSummary: z.ZodObject<{
147
153
  }, z.core.$strip>;
148
154
  provenance: z.ZodObject<{
149
155
  source: z.ZodEnum<{
156
+ agent: "agent";
150
157
  call_transcript: "call_transcript";
151
158
  human: "human";
152
159
  imported_document: "imported_document";
153
160
  knowledge_proposal: "knowledge_proposal";
154
161
  meeting_transcript: "meeting_transcript";
155
162
  onboarding: "onboarding";
163
+ portable_skill: "portable_skill";
156
164
  slack: "slack";
157
165
  }>;
158
166
  sourceId: z.ZodNullable<z.ZodString>;
@@ -216,12 +224,14 @@ export declare const PreferenceRegistryRecord: z.ZodObject<{
216
224
  }, z.core.$strip>;
217
225
  provenance: z.ZodObject<{
218
226
  source: z.ZodEnum<{
227
+ agent: "agent";
219
228
  call_transcript: "call_transcript";
220
229
  human: "human";
221
230
  imported_document: "imported_document";
222
231
  knowledge_proposal: "knowledge_proposal";
223
232
  meeting_transcript: "meeting_transcript";
224
233
  onboarding: "onboarding";
234
+ portable_skill: "portable_skill";
225
235
  slack: "slack";
226
236
  }>;
227
237
  sourceId: z.ZodNullable<z.ZodString>;
@@ -283,6 +293,11 @@ export declare const PreferenceRegistryEvent: z.ZodObject<{
283
293
  createdAt: z.ZodString;
284
294
  }, z.core.$strip>;
285
295
  export type PreferenceRegistryEvent = z.infer<typeof PreferenceRegistryEvent>;
296
+ export declare const PreferenceRegistryActivationAuthority: z.ZodEnum<{
297
+ automatic: "automatic";
298
+ human_confirmed: "human_confirmed";
299
+ }>;
300
+ export type PreferenceRegistryActivationAuthority = z.infer<typeof PreferenceRegistryActivationAuthority>;
286
301
  export declare const PreferenceRegistryDescriptor: z.ZodObject<{
287
302
  id: z.ZodString;
288
303
  stableKey: z.ZodString;
@@ -313,12 +328,14 @@ export declare const PreferenceRegistryDescriptor: z.ZodObject<{
313
328
  }, z.core.$strip>;
314
329
  provenance: z.ZodObject<{
315
330
  source: z.ZodEnum<{
331
+ agent: "agent";
316
332
  call_transcript: "call_transcript";
317
333
  human: "human";
318
334
  imported_document: "imported_document";
319
335
  knowledge_proposal: "knowledge_proposal";
320
336
  meeting_transcript: "meeting_transcript";
321
337
  onboarding: "onboarding";
338
+ portable_skill: "portable_skill";
322
339
  slack: "slack";
323
340
  }>;
324
341
  sourceIdHash: z.ZodNullable<z.ZodString>;
@@ -329,6 +346,10 @@ export declare const PreferenceRegistryDescriptor: z.ZodObject<{
329
346
  workspace_managed: "workspace_managed";
330
347
  }>;
331
348
  }, z.core.$strip>;
349
+ activationAuthority: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
350
+ automatic: "automatic";
351
+ human_confirmed: "human_confirmed";
352
+ }>>>;
332
353
  expiresAt: z.ZodNullable<z.ZodString>;
333
354
  retrievalHandle: z.ZodString;
334
355
  }, z.core.$strip>;
@@ -372,12 +393,14 @@ export declare const PreferenceRegistrySnapshot: z.ZodObject<{
372
393
  }, z.core.$strip>;
373
394
  provenance: z.ZodObject<{
374
395
  source: z.ZodEnum<{
396
+ agent: "agent";
375
397
  call_transcript: "call_transcript";
376
398
  human: "human";
377
399
  imported_document: "imported_document";
378
400
  knowledge_proposal: "knowledge_proposal";
379
401
  meeting_transcript: "meeting_transcript";
380
402
  onboarding: "onboarding";
403
+ portable_skill: "portable_skill";
381
404
  slack: "slack";
382
405
  }>;
383
406
  sourceIdHash: z.ZodNullable<z.ZodString>;
@@ -388,6 +411,10 @@ export declare const PreferenceRegistrySnapshot: z.ZodObject<{
388
411
  workspace_managed: "workspace_managed";
389
412
  }>;
390
413
  }, z.core.$strip>;
414
+ activationAuthority: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
415
+ automatic: "automatic";
416
+ human_confirmed: "human_confirmed";
417
+ }>>>;
391
418
  expiresAt: z.ZodNullable<z.ZodString>;
392
419
  retrievalHandle: z.ZodString;
393
420
  }, z.core.$strip>>;
@@ -426,12 +453,14 @@ export declare const PreferenceRegistryFullContent: z.ZodObject<{
426
453
  }, z.core.$strip>;
427
454
  provenance: z.ZodObject<{
428
455
  source: z.ZodEnum<{
456
+ agent: "agent";
429
457
  call_transcript: "call_transcript";
430
458
  human: "human";
431
459
  imported_document: "imported_document";
432
460
  knowledge_proposal: "knowledge_proposal";
433
461
  meeting_transcript: "meeting_transcript";
434
462
  onboarding: "onboarding";
463
+ portable_skill: "portable_skill";
435
464
  slack: "slack";
436
465
  }>;
437
466
  sourceIdHash: z.ZodNullable<z.ZodString>;
@@ -442,6 +471,10 @@ export declare const PreferenceRegistryFullContent: z.ZodObject<{
442
471
  workspace_managed: "workspace_managed";
443
472
  }>;
444
473
  }, z.core.$strip>;
474
+ activationAuthority: z.ZodDefault<z.ZodNullable<z.ZodEnum<{
475
+ automatic: "automatic";
476
+ human_confirmed: "human_confirmed";
477
+ }>>>;
445
478
  expiresAt: z.ZodNullable<z.ZodString>;
446
479
  retrievalHandle: z.ZodString;
447
480
  }, z.core.$strip>;
@@ -468,12 +501,14 @@ export declare const CreatePreferenceRegistryProposalRequest: z.ZodObject<{
468
501
  workspace: "workspace";
469
502
  }>;
470
503
  provenanceSource: z.ZodDefault<z.ZodEnum<{
504
+ agent: "agent";
471
505
  call_transcript: "call_transcript";
472
506
  human: "human";
473
507
  imported_document: "imported_document";
474
508
  knowledge_proposal: "knowledge_proposal";
475
509
  meeting_transcript: "meeting_transcript";
476
510
  onboarding: "onboarding";
511
+ portable_skill: "portable_skill";
477
512
  slack: "slack";
478
513
  }>>;
479
514
  provenanceSourceId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -598,12 +633,14 @@ export declare const PreferenceRegistryListResponse: z.ZodObject<{
598
633
  }, z.core.$strip>;
599
634
  provenance: z.ZodObject<{
600
635
  source: z.ZodEnum<{
636
+ agent: "agent";
601
637
  call_transcript: "call_transcript";
602
638
  human: "human";
603
639
  imported_document: "imported_document";
604
640
  knowledge_proposal: "knowledge_proposal";
605
641
  meeting_transcript: "meeting_transcript";
606
642
  onboarding: "onboarding";
643
+ portable_skill: "portable_skill";
607
644
  slack: "slack";
608
645
  }>;
609
646
  sourceId: z.ZodNullable<z.ZodString>;
@@ -674,12 +711,14 @@ export declare const PreferenceRegistryDetailResponse: z.ZodObject<{
674
711
  }, z.core.$strip>;
675
712
  provenance: z.ZodObject<{
676
713
  source: z.ZodEnum<{
714
+ agent: "agent";
677
715
  call_transcript: "call_transcript";
678
716
  human: "human";
679
717
  imported_document: "imported_document";
680
718
  knowledge_proposal: "knowledge_proposal";
681
719
  meeting_transcript: "meeting_transcript";
682
720
  onboarding: "onboarding";
721
+ portable_skill: "portable_skill";
683
722
  slack: "slack";
684
723
  }>;
685
724
  sourceId: z.ZodNullable<z.ZodString>;
@@ -724,12 +763,14 @@ export declare const PreferenceRegistryDetailResponse: z.ZodObject<{
724
763
  }, z.core.$strip>;
725
764
  provenance: z.ZodObject<{
726
765
  source: z.ZodEnum<{
766
+ agent: "agent";
727
767
  call_transcript: "call_transcript";
728
768
  human: "human";
729
769
  imported_document: "imported_document";
730
770
  knowledge_proposal: "knowledge_proposal";
731
771
  meeting_transcript: "meeting_transcript";
732
772
  onboarding: "onboarding";
773
+ portable_skill: "portable_skill";
733
774
  slack: "slack";
734
775
  }>;
735
776
  sourceId: z.ZodNullable<z.ZodString>;
@@ -834,12 +875,14 @@ export declare const PreferenceRegistryMutationResponse: z.ZodObject<{
834
875
  }, z.core.$strip>;
835
876
  provenance: z.ZodObject<{
836
877
  source: z.ZodEnum<{
878
+ agent: "agent";
837
879
  call_transcript: "call_transcript";
838
880
  human: "human";
839
881
  imported_document: "imported_document";
840
882
  knowledge_proposal: "knowledge_proposal";
841
883
  meeting_transcript: "meeting_transcript";
842
884
  onboarding: "onboarding";
885
+ portable_skill: "portable_skill";
843
886
  slack: "slack";
844
887
  }>;
845
888
  sourceId: z.ZodNullable<z.ZodString>;
@@ -0,0 +1,113 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * The product surface through which a turn's request entered OpenGeni.
4
+ *
5
+ * - `web`: the OpenGeni web app (managed cookie or the local browser context).
6
+ * - `slack`: a Slack mention, command, DM, shortcut, thread reply, or reaction.
7
+ * - `api_key`: an API key or configured key, including the SDK and scripts.
8
+ * - `embedded`: a host that embeds OpenGeni through signed delegation or an
9
+ * organization key acting for an external user.
10
+ * - `scheduled`: a scheduled-task occurrence.
11
+ * - `agent`: another agent (a child session, an agent message, or Agent Steer).
12
+ * - `voice`: a realtime voice delegation or its end-of-call handoff.
13
+ * - `site`: a published workspace Site.
14
+ * - `automation`: an event-triggered automation run.
15
+ * - `mcp`: an external MCP client connected through workspace MCP OAuth.
16
+ * - `system`: OpenGeni's own maintenance work with no human entry.
17
+ *
18
+ * Turns that no new request entered (goal continuations, child results,
19
+ * command results, wait timeouts, compaction) inherit the surface of the
20
+ * session's latest started turn. Null means no surface was captured: rows
21
+ * written before capture existed, or machine work in a session that has
22
+ * never started a turn with one.
23
+ */
24
+ export declare const SESSION_TURN_SURFACES: readonly ["web", "slack", "api_key", "embedded", "scheduled", "agent", "voice", "site", "automation", "mcp", "system"];
25
+ export declare const SessionTurnSurface: z.ZodEnum<{
26
+ agent: "agent";
27
+ api_key: "api_key";
28
+ automation: "automation";
29
+ embedded: "embedded";
30
+ mcp: "mcp";
31
+ scheduled: "scheduled";
32
+ site: "site";
33
+ slack: "slack";
34
+ system: "system";
35
+ voice: "voice";
36
+ web: "web";
37
+ }>;
38
+ export type SessionTurnSurface = z.infer<typeof SessionTurnSurface>;
39
+ /**
40
+ * Request header the first-party web console sends while its tab is visible
41
+ * and the person interacted with it in the last few minutes. The API records
42
+ * server-side presence (`opengeni_active_users`, `user.active`) only for
43
+ * canonical managed browser sessions carrying this exact value, so an idle open
44
+ * tab, background polling and stream re-authorization never count as activity.
45
+ * Analytics only: it never grants or narrows access.
46
+ */
47
+ export declare const OPENGENI_USER_ACTIVITY_HEADER = "x-opengeni-user-activity";
48
+ export declare const OPENGENI_USER_ACTIVITY_ACTIVE = "active";
49
+ /** Interaction recency, in milliseconds, behind the activity header. */
50
+ export declare const OPENGENI_USER_ACTIVITY_WINDOW_MS: number;
51
+ /** Parse a stored value; anything outside the fixed list is treated as absent. */
52
+ export declare function sessionTurnSurfaceOrNull(value: unknown): SessionTurnSurface | null;
53
+ /**
54
+ * Model provider families exported for analytics. Reserved OpenGeni provider
55
+ * ids pass through unchanged; every operator-configured registry provider is
56
+ * reported as `registry` so a deployment's own naming never leaves it.
57
+ * `opengeni_private.analytics_model_provider` (migration 0533) mirrors this.
58
+ */
59
+ export declare const ANALYTICS_MODEL_PROVIDERS: readonly ["openai", "azure", "codex-subscription", "supergrok-subscription", "opengeni-gateway", "workspace-gateway", "organization-gateway", "openrouter", "workspace-openrouter", "organization-openrouter", "registry"];
60
+ export declare const AnalyticsModelProvider: z.ZodEnum<{
61
+ azure: "azure";
62
+ "codex-subscription": "codex-subscription";
63
+ openai: "openai";
64
+ "opengeni-gateway": "opengeni-gateway";
65
+ openrouter: "openrouter";
66
+ "organization-gateway": "organization-gateway";
67
+ "organization-openrouter": "organization-openrouter";
68
+ registry: "registry";
69
+ "supergrok-subscription": "supergrok-subscription";
70
+ "workspace-gateway": "workspace-gateway";
71
+ "workspace-openrouter": "workspace-openrouter";
72
+ }>;
73
+ export type AnalyticsModelProvider = z.infer<typeof AnalyticsModelProvider>;
74
+ /** Map an accepted turn's execution-policy provider id to its analytics family. */
75
+ export declare function analyticsModelProvider(providerId: string | null | undefined): AnalyticsModelProvider | null;
76
+ /**
77
+ * Tool family on a tool-call fact: an OpenGeni first-party tool name,
78
+ * `integration:<catalog domain>` for a reviewed catalog integration, or
79
+ * `custom` for any other MCP server (a workspace's own server, a self-hosted
80
+ * provider, or an unreviewed catalog entry). The domain part is limited to
81
+ * {@link TOOL_FAMILY_INTEGRATION_DOMAINS}, so a tenant's own host name is
82
+ * never exported.
83
+ */
84
+ export declare const ToolFamily: z.ZodString;
85
+ export type ToolFamily = z.infer<typeof ToolFamily>;
86
+ /**
87
+ * Reviewed integration domains that may appear as `integration:<domain>`:
88
+ * OpenGeni's native provider domains plus the MCP host of every curated
89
+ * catalog entry (`data/catalog/curated.json`). A test keeps the curated part
90
+ * in sync. Any other domain is reported as `custom`.
91
+ */
92
+ export declare const TOOL_FAMILY_INTEGRATION_DOMAINS: readonly ["github.com", "gitlab.com", "dev.azure.com", "slack.com", "chatgpt.com", "x.com", "reddit.com", "fiken.no", "api.atlassian.com", "googleapis.com", "gmailmcp.googleapis.com", "mcp.slack.com", "api.mobbin.com", "mcp.linear.app", "mcp.asana.com", "mcp.stripe.com", "mcp.figma.com", "mcp.canva.com", "mcp.sentry.dev", "mcp.vercel.com", "bindings.mcp.cloudflare.com", "mcp.paypal.com", "mcp.monday.com", "mcp.airtable.com", "mcp.zapier.com", "mcp.webflow.com", "mcp.supabase.com", "mcp.clickup.com", "mcp.calendly.com", "mcp.box.com", "mcp.dropbox.com", "mcp.amplitude.com", "mcp.posthog.com", "mcp.pagerduty.com", "mcp.apollo.io", "api.ahrefs.com", "mcp.semrush.com", "mcp.frontapp.com", "mcp.otter.ai", "mcp.notion.com", "mcp.hubspot.com", "mcp.atlassian.com", "mcp.intercom.com"];
93
+ /**
94
+ * Tool family for an MCP server that is not first-party. The first candidate
95
+ * domain on the reviewed list wins; otherwise the server is `custom`.
96
+ */
97
+ export declare function integrationToolFamily(candidateDomains: readonly (string | null | undefined)[]): ToolFamily;
98
+ /**
99
+ * First-party tools the runtime exposes outside any MCP server: base sandbox
100
+ * and runtime tools, progressive-disclosure routers, media generation, and
101
+ * provider-hosted tool calls as the event stream names them.
102
+ */
103
+ export declare const FIRST_PARTY_FUNCTION_TOOL_FAMILY_NAMES: readonly ["exec_command", "write_stdin", "view_image", "apply_patch", "skill_read", "repository_skill_read", "request_human_input", "list_models", "code_search", "tool_search", "tool_list", "tool_invoke", "generate_image", "generate_video", "get_video_generation_capabilities", "computer_screenshot", "web_search_call", "image_generation_call", "code_interpreter_call", "file_search_call", "computer_call", "local_shell_call", "shell_call", "apply_patch_call"];
104
+ /**
105
+ * First-party tools served by in-process attempt definitions or the dedicated
106
+ * `files` server rather than the public `opengeni` MCP catalog.
107
+ */
108
+ export declare const FIRST_PARTY_ATTEMPT_TOOL_FAMILY_NAMES: readonly ["skill_checkout", "skill_publish", "skill_install", "skill_remove", "skill_save", "skill_search", "operation_read", "knowledge_source_fetch", "knowledge_source_read", "files_get_download_url"];
109
+ /**
110
+ * OpenGeni's in-process integration tools that are not registry MCP servers,
111
+ * keyed by their catalog server id, with the provider domain they act on.
112
+ */
113
+ export declare const IN_PROCESS_INTEGRATION_TOOL_FAMILY_DOMAINS: Readonly<Record<string, string>>;