@opengeni/contracts 5.5.0 → 5.5.2-canary.40656248492001
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.
- package/dist/agent-authored-durable-text.d.ts +9 -9
- package/dist/agent-config.d.ts +148 -37
- package/dist/api-key-presets.d.ts +19 -0
- package/dist/app-action-catalog-types.d.ts +32 -0
- package/dist/app-action-catalog.gen.d.ts +2 -0
- package/dist/app-actions.d.ts +91 -0
- package/dist/app-actions.js +10130 -0
- package/dist/app-actions.js.map +1 -0
- package/dist/app-shot.d.ts +55 -0
- package/dist/artifact-catalog.d.ts +33 -0
- package/dist/artifacts.d.ts +166 -0
- package/dist/atlassian-native-retirement.d.ts +16 -0
- package/dist/atlassian-native-retirement.js +30 -0
- package/dist/atlassian-native-retirement.js.map +1 -0
- package/dist/atlassian.js +48 -23
- package/dist/automation-templates.d.ts +434 -0
- package/dist/automation-templates.js +31 -0
- package/dist/automation-templates.js.map +1 -0
- package/dist/billing-subscriptions.d.ts +61 -0
- package/dist/bots.d.ts +583 -0
- package/dist/bundled-skills.d.ts +58 -2
- package/dist/canonical-human-identities.js +3 -1
- package/dist/child-lifecycle-notice-protocol.d.ts +45 -0
- package/dist/chunk-2QKIEAGY.js +396 -0
- package/dist/chunk-2QKIEAGY.js.map +1 -0
- package/dist/chunk-2WOWEWXV.js +426 -0
- package/dist/chunk-2WOWEWXV.js.map +1 -0
- package/dist/chunk-2ZIHHL72.js +153 -0
- package/dist/chunk-2ZIHHL72.js.map +1 -0
- package/dist/chunk-32U6NKQQ.js +389 -0
- package/dist/chunk-32U6NKQQ.js.map +1 -0
- package/dist/chunk-4YDDHSO2.js +799 -0
- package/dist/chunk-4YDDHSO2.js.map +1 -0
- package/dist/chunk-56SNIMDO.js +9 -0
- package/dist/chunk-56SNIMDO.js.map +1 -0
- package/dist/chunk-5RWB6QVL.js +101 -0
- package/dist/chunk-5RWB6QVL.js.map +1 -0
- package/dist/chunk-5UGUOT3L.js +243 -0
- package/dist/chunk-5UGUOT3L.js.map +1 -0
- package/dist/chunk-6LAT33BH.js +130 -0
- package/dist/chunk-6LAT33BH.js.map +1 -0
- package/dist/chunk-7272KVWZ.js +60 -0
- package/dist/chunk-7272KVWZ.js.map +1 -0
- package/dist/chunk-72QC2GTL.js +36 -0
- package/dist/chunk-72QC2GTL.js.map +1 -0
- package/dist/chunk-7EQGGZBY.js +105 -0
- package/dist/chunk-7EQGGZBY.js.map +1 -0
- package/dist/chunk-A3LXWVYU.js +382 -0
- package/dist/chunk-A3LXWVYU.js.map +1 -0
- package/dist/chunk-AQYDZUJV.js +34 -0
- package/dist/chunk-AQYDZUJV.js.map +1 -0
- package/dist/chunk-BHCEVVUP.js +93 -0
- package/dist/chunk-BHCEVVUP.js.map +1 -0
- package/dist/chunk-BMUTAZX5.js +486 -0
- package/dist/chunk-BMUTAZX5.js.map +1 -0
- package/dist/chunk-DGG6IBBK.js +150 -0
- package/dist/chunk-DGG6IBBK.js.map +1 -0
- package/dist/{chunk-YBW5JSA3.js → chunk-FBCTUMHI.js} +123 -102
- package/dist/chunk-FBCTUMHI.js.map +1 -0
- package/dist/chunk-G2KJTFIC.js +97 -0
- package/dist/chunk-G2KJTFIC.js.map +1 -0
- package/dist/chunk-G4RKARXZ.js +1167 -0
- package/dist/chunk-G4RKARXZ.js.map +1 -0
- package/dist/chunk-H6UJJIUM.js +350 -0
- package/dist/chunk-H6UJJIUM.js.map +1 -0
- package/dist/chunk-JOTHDW4H.js +18 -0
- package/dist/chunk-JOTHDW4H.js.map +1 -0
- package/dist/chunk-L4GUEP7K.js +56480 -0
- package/dist/chunk-L4GUEP7K.js.map +1 -0
- package/dist/{chunk-SIOU2K4U.js → chunk-LJH2EYGT.js} +23 -23
- package/dist/chunk-MTJKSIGA.js +161 -0
- package/dist/chunk-MTJKSIGA.js.map +1 -0
- package/dist/chunk-MYHMB6GZ.js +202 -0
- package/dist/chunk-MYHMB6GZ.js.map +1 -0
- package/dist/chunk-PI5VIKJY.js +660 -0
- package/dist/chunk-PI5VIKJY.js.map +1 -0
- package/dist/{chunk-RIY7GYQS.js → chunk-PTSROVDG.js} +2 -2
- package/dist/chunk-PUIUXIOL.js +189 -0
- package/dist/chunk-PUIUXIOL.js.map +1 -0
- package/dist/chunk-R6VXJIMB.js +19 -0
- package/dist/chunk-R6VXJIMB.js.map +1 -0
- package/dist/chunk-RLJUNVAM.js +15 -0
- package/dist/chunk-RLJUNVAM.js.map +1 -0
- package/dist/chunk-RR6APCBK.js +213 -0
- package/dist/chunk-RR6APCBK.js.map +1 -0
- package/dist/{chunk-TXTQIYCV.js → chunk-RUQ4I6DO.js} +59 -13
- package/dist/chunk-RUQ4I6DO.js.map +1 -0
- package/dist/{chunk-WYBDERIY.js → chunk-RWEEUDHD.js} +53 -42
- package/dist/chunk-RWEEUDHD.js.map +1 -0
- package/dist/chunk-S7MSQQL6.js +158 -0
- package/dist/chunk-S7MSQQL6.js.map +1 -0
- package/dist/{chunk-5Q54VCCH.js → chunk-SHO4YO4B.js} +20 -36
- package/dist/chunk-SHO4YO4B.js.map +1 -0
- package/dist/{chunk-HHZSZYYF.js → chunk-T3HSWMA5.js} +20 -4
- package/dist/chunk-T3HSWMA5.js.map +1 -0
- package/dist/{chunk-YRKRZ6OF.js → chunk-TOOJIBJC.js} +2 -2
- package/dist/chunk-UCUOTRS6.js +431 -0
- package/dist/chunk-UCUOTRS6.js.map +1 -0
- package/dist/chunk-UH4K7GP7.js +424 -0
- package/dist/chunk-UH4K7GP7.js.map +1 -0
- package/dist/chunk-UIZWGPHV.js +120 -0
- package/dist/chunk-UIZWGPHV.js.map +1 -0
- package/dist/chunk-VLUKBV6Y.js +1170 -0
- package/dist/chunk-VLUKBV6Y.js.map +1 -0
- package/dist/chunk-W2QQ5Y6K.js +55 -0
- package/dist/chunk-W2QQ5Y6K.js.map +1 -0
- package/dist/{chunk-Y3KNXVTD.js → chunk-W3NBPR4E.js} +131 -31
- package/dist/chunk-W3NBPR4E.js.map +1 -0
- package/dist/{chunk-NRMCVHAU.js → chunk-WMGO4HJU.js} +11 -9
- package/dist/chunk-WMGO4HJU.js.map +1 -0
- package/dist/{chunk-MYBZRDTY.js → chunk-WQI7VNN4.js} +19 -9
- package/dist/chunk-WQI7VNN4.js.map +1 -0
- package/dist/{chunk-PX3VCKAU.js → chunk-WVCFSOUZ.js} +1 -1
- package/dist/{chunk-PX3VCKAU.js.map → chunk-WVCFSOUZ.js.map} +1 -1
- package/dist/chunk-XB6GQLBH.js +76 -0
- package/dist/chunk-XB6GQLBH.js.map +1 -0
- package/dist/{chunk-D2HKF2EF.js → chunk-XP5M3IKT.js} +2 -2
- package/dist/{chunk-O77VSFYZ.js → chunk-ZMPU5BWE.js} +12 -2
- package/dist/chunk-ZMPU5BWE.js.map +1 -0
- package/dist/{chunk-3SIZGL3O.js → chunk-ZYVEJFNU.js} +22 -18
- package/dist/chunk-ZYVEJFNU.js.map +1 -0
- package/dist/claude-provider-account-authority.d.ts +18 -0
- package/dist/claude-subscription-oauth.d.ts +25 -0
- package/dist/claude-subscription-usage.d.ts +95 -1
- package/dist/client-error-report.d.ts +154 -8
- package/dist/client-error-report.js +157 -2
- package/dist/client-error-report.js.map +1 -1
- package/dist/code-search.d.ts +1 -1
- package/dist/code-search.js.map +1 -1
- package/dist/codex-provider-account-authority.js +23 -12
- package/dist/codex-provider-account-authority.js.map +1 -1
- package/dist/company-profile.d.ts +144 -0
- package/dist/connect.d.ts +38 -0
- package/dist/connect.js +244 -164
- package/dist/connect.js.map +1 -1
- package/dist/connection-account-label.d.ts +2 -0
- package/dist/connection-account-label.js +34 -0
- package/dist/connection-account-label.js.map +1 -0
- package/dist/connection-authority.js +49 -24
- package/dist/connector-attachments.js +3 -1
- package/dist/connector-destinations.js +3 -1
- package/dist/connector-tool-permissions.d.ts +68 -4
- package/dist/credential-profiles.d.ts +166 -0
- package/dist/cua-desktop-tools.d.ts +19 -0
- package/dist/define-schema.d.ts +8 -0
- package/dist/desktop-app.d.ts +28 -0
- package/dist/direct-model-provider.d.ts +38 -0
- package/dist/document-artifact-commands.js +2 -2
- package/dist/document-artifact-query.js +2 -2
- package/dist/editable-artifact-binary.d.ts +7 -0
- package/dist/editable-artifact-causal-frontier.js +2 -2
- package/dist/editable-artifact-codec-registry.js +7 -7
- package/dist/editable-artifact-committed-transaction.js +4 -2
- package/dist/editable-artifact-live.js +8 -8
- package/dist/editable-artifact-serialized-commit.js +9 -9
- package/dist/editable-artifact-versions.d.ts +7 -1
- package/dist/editable-artifact-versions.js +1 -1
- package/dist/editable-artifacts.js +49 -43
- package/dist/event-preview.d.ts +22 -0
- package/dist/event-triggers.d.ts +1253 -0
- package/dist/event-triggers.js +148 -0
- package/dist/event-triggers.js.map +1 -0
- package/dist/external-identities.d.ts +34 -0
- package/dist/external-identities.js +4 -2
- package/dist/feedback.d.ts +181 -0
- package/dist/file-access.d.ts +23 -0
- package/dist/first-party-tool-authorization.d.ts +852 -0
- package/dist/github-repository-contracts.js +64 -43
- package/dist/github-repository-contracts.js.map +1 -1
- package/dist/google-drive-native-retirement.d.ts +12 -0
- package/dist/google-drive-native-retirement.js +20 -0
- package/dist/google-drive-native-retirement.js.map +1 -0
- package/dist/google-drive.d.ts +1 -1
- package/dist/google-drive.js +323 -239
- package/dist/google-drive.js.map +1 -1
- package/dist/host-mcp-bindings.js +250 -198
- package/dist/host-mcp-bindings.js.map +1 -1
- package/dist/index.d.ts +29072 -20593
- package/dist/index.js +2432 -366
- package/dist/inference-residency.d.ts +22 -0
- package/dist/insights-usage.d.ts +948 -0
- package/dist/insights-usage.js +608 -0
- package/dist/insights-usage.js.map +1 -0
- package/dist/integration-capability-id.d.ts +8 -0
- package/dist/interaction-action-deadline.d.ts +48 -0
- package/dist/interaction-driver-diagnostic.d.ts +28 -0
- package/dist/interaction.d.ts +2126 -881
- package/dist/knowledge-entries.d.ts +38 -0
- package/dist/knowledge-preparation.d.ts +4 -0
- package/dist/learning-refusal.d.ts +43 -0
- package/dist/learning-refusal.js +49 -0
- package/dist/learning-refusal.js.map +1 -0
- package/dist/managed-auth-session-sets.d.ts +1 -0
- package/dist/managed-auth-session-sets.js +207 -146
- package/dist/managed-auth-session-sets.js.map +1 -1
- package/dist/managed-sign-in-methods.d.ts +96 -0
- package/dist/managed-sign-in-methods.js +157 -35
- package/dist/managed-sign-in-methods.js.map +1 -1
- package/dist/mcp-structured-content.d.ts +25 -0
- package/dist/message-time-zone.d.ts +38 -0
- package/dist/message-time-zone.js +19 -0
- package/dist/message-time-zone.js.map +1 -0
- package/dist/modal-native-proof-v2.d.ts +587 -0
- package/dist/modal-native-proof-v2.js +39 -0
- package/dist/modal-native-proof-v2.js.map +1 -0
- package/dist/model-account-choice.d.ts +237 -0
- package/dist/model-account-settings.d.ts +422 -0
- package/dist/model-availability.d.ts +15 -0
- package/dist/model-connection-access.d.ts +13 -0
- package/dist/model-context-inspector.d.ts +8 -0
- package/dist/model-display.d.ts +43 -0
- package/dist/model-display.js +17 -0
- package/dist/model-display.js.map +1 -0
- package/dist/model-picker-order.js.map +1 -1
- package/dist/model-residency.d.ts +304 -0
- package/dist/organization-access.d.ts +416 -0
- package/dist/organization-access.js +40 -0
- package/dist/organization-access.js.map +1 -0
- package/dist/organization-integration-policy.d.ts +18 -0
- package/dist/organization-membership-lifecycle.d.ts +66 -0
- package/dist/organization-model-usage.d.ts +146 -0
- package/dist/organization-model-usage.js +87 -0
- package/dist/organization-model-usage.js.map +1 -0
- package/dist/organization-recovery.js +3 -1
- package/dist/organization-usage.d.ts +12 -0
- package/dist/passkey-only-account.d.ts +14 -0
- package/dist/passkey-only-account.js +13 -0
- package/dist/passkey-only-account.js.map +1 -0
- package/dist/permissions.d.ts +19 -0
- package/dist/personal-github.js +220 -148
- package/dist/personal-github.js.map +1 -1
- package/dist/personal-integration-setup.d.ts +81 -0
- package/dist/personal-integration-setup.js +42 -0
- package/dist/personal-integration-setup.js.map +1 -0
- package/dist/prepared-mcp-setup.d.ts +54 -0
- package/dist/prepared-mcp-setup.js +13 -0
- package/dist/prepared-mcp-setup.js.map +1 -0
- package/dist/presentation-artifact-commands.js +2 -2
- package/dist/presentation-artifact-query.js +2 -2
- package/dist/primitives.d.ts +18 -0
- package/dist/product-analytics.d.ts +27 -10
- package/dist/product-lifecycle-facts.d.ts +26 -3
- package/dist/prompt-cache-diagnostics.d.ts +92 -0
- package/dist/recordings.d.ts +1371 -0
- package/dist/remember.d.ts +98 -2
- package/dist/retained-output.d.ts +4 -2
- package/dist/sandbox-file-artifacts.d.ts +19 -2
- package/dist/sandbox-provider-command.d.ts +5 -44
- package/dist/sandbox-recovery.d.ts +139 -8
- package/dist/secret-generator.d.ts +44 -0
- package/dist/secret-mask-strings.d.ts +32 -0
- package/dist/secret-references.d.ts +90 -0
- package/dist/secret-resolution.d.ts +143 -0
- package/dist/secret-shape-masking.d.ts +52 -0
- package/dist/secret-shape-masking.js +19 -0
- package/dist/secret-shape-masking.js.map +1 -0
- package/dist/secret-totp.d.ts +41 -0
- package/dist/secret-use-approval-question.d.ts +11 -0
- package/dist/secret-use-approval-question.js +11 -0
- package/dist/secret-use-approval-question.js.map +1 -0
- package/dist/secret-use-approvals.d.ts +106 -0
- package/dist/secret-value-masking.d.ts +299 -0
- package/dist/secret-value-masking.js +62 -0
- package/dist/secret-value-masking.js.map +1 -0
- package/dist/secret-value.d.ts +19 -0
- package/dist/session-history-import.d.ts +444 -8
- package/dist/session-history.d.ts +111 -0
- package/dist/session-history.js +35 -0
- package/dist/session-history.js.map +1 -0
- package/dist/session-list-entries.d.ts +8 -0
- package/dist/session-list-entries.js +61 -0
- package/dist/session-list-entries.js.map +1 -0
- package/dist/session-mcp-projections.d.ts +13 -1
- package/dist/session-mcp-tool-permissions.d.ts +62 -0
- package/dist/session-target.d.ts +18 -0
- package/dist/session-titles.d.ts +8 -0
- package/dist/session-titles.js +5 -1
- package/dist/session-usage-limit-refusal.d.ts +34 -0
- package/dist/session-usage-limit-refusal.js +15 -0
- package/dist/session-usage-limit-refusal.js.map +1 -0
- package/dist/session-usage-limits.d.ts +127 -0
- package/dist/session-usage-limits.js +43 -0
- package/dist/session-usage-limits.js.map +1 -0
- package/dist/site-data.d.ts +286 -0
- package/dist/site-operations.d.ts +39 -0
- package/dist/site-publishing.d.ts +813 -0
- package/dist/site-session-http.d.ts +103 -4
- package/dist/site-session-http.js +27 -1
- package/dist/site-sql.d.ts +425 -0
- package/dist/skills.d.ts +38 -0
- package/dist/slack-bot-scopes.d.ts +9 -7
- package/dist/slack-bot-scopes.js +6 -3
- package/dist/slack-rest-mcp.d.ts +36 -0
- package/dist/slack-rest-mcp.js +25 -0
- package/dist/slack-rest-mcp.js.map +1 -0
- package/dist/spreadsheet-artifact-commands.d.ts +14 -1
- package/dist/spreadsheet-artifact-commands.js +9 -2
- package/dist/spreadsheet-artifact-query.d.ts +13 -6
- package/dist/spreadsheet-artifact-query.js +4 -3
- package/dist/subscription-account-actions.d.ts +83 -0
- package/dist/subscription-account-pools.d.ts +326 -0
- package/dist/subscription-personal-authority-v2.d.ts +28 -0
- package/dist/subscription-personal-authority-v2.js +13 -0
- package/dist/subscription-personal-authority-v2.js.map +1 -0
- package/dist/subscription-plans.d.ts +38 -0
- package/dist/subscription-usage-pool.d.ts +89 -0
- package/dist/tool-action-review.d.ts +141 -0
- package/dist/tool-catalog.d.ts +479 -0
- package/dist/tool-policy.d.ts +5 -0
- package/dist/tool-review-presentation.d.ts +29 -0
- package/dist/tool-review-presentation.js +21 -0
- package/dist/tool-review-presentation.js.map +1 -0
- package/dist/turn-serving-policy.d.ts +223 -0
- package/dist/usage-allowances.d.ts +30 -0
- package/dist/usage-allowances.js +5 -1
- package/dist/values.d.ts +11 -0
- package/dist/values.js +19 -0
- package/dist/values.js.map +1 -0
- package/dist/vault-provider-wire.d.ts +907 -0
- package/dist/vault-provider-wire.js +74 -0
- package/dist/vault-provider-wire.js.map +1 -0
- package/dist/vaults.d.ts +2185 -0
- package/dist/video-generation.d.ts +75 -0
- package/dist/video-generation.js +8 -1
- package/dist/workspace-control-event.d.ts +18 -0
- package/dist/workspace-control-event.js +18 -0
- package/dist/workspace-control-event.js.map +1 -0
- package/dist/workspace-governance-context.d.ts +18 -0
- package/dist/workspace-integration-wire.d.ts +1 -1
- package/dist/workspace-integration-wire.js +1 -1
- package/dist/workspace-integrations.d.ts +212 -12
- package/dist/xai-provider-account-authority.js +3 -1
- package/package.json +121 -4
- package/src/agent-authored-durable-text.ts +14 -11
- package/src/agent-config.ts +382 -203
- package/src/agent-instruction-changes.ts +94 -74
- package/src/agent-learning.ts +94 -66
- package/src/agent-topology.ts +58 -52
- package/src/api-key-presets.ts +28 -0
- package/src/app-action-catalog-types.ts +32 -0
- package/src/app-action-catalog.gen.ts +9905 -0
- package/src/app-actions.ts +365 -0
- package/src/app-shot.ts +176 -0
- package/src/artifact-catalog.ts +81 -46
- package/src/artifacts.ts +360 -227
- package/src/atlassian-native-retirement.ts +33 -0
- package/src/atlassian.ts +136 -108
- package/src/automation-templates.ts +201 -0
- package/src/billing-subscriptions.ts +48 -0
- package/src/bots.ts +238 -0
- package/src/bundled-skills.ts +79 -22
- package/src/canonical-human-identities.ts +65 -62
- package/src/child-lifecycle-notice-protocol.gen.json +1310 -0
- package/src/child-lifecycle-notice-protocol.ts +224 -0
- package/src/claude-provider-account-authority.ts +12 -0
- package/src/claude-subscription-oauth.ts +61 -19
- package/src/claude-subscription-usage.ts +64 -35
- package/src/client-error-report.ts +344 -9
- package/src/code-search.ts +1 -1
- package/src/codex-provider-account-authority.ts +22 -16
- package/src/company-brain-governed-writes.ts +265 -244
- package/src/company-brain.ts +165 -154
- package/src/company-profile.ts +362 -297
- package/src/connect.ts +222 -173
- package/src/connection-account-label.ts +45 -0
- package/src/connection-authority.ts +172 -152
- package/src/connector-attachments.ts +139 -123
- package/src/connector-destinations.ts +48 -43
- package/src/connector-tool-permissions.ts +104 -46
- package/src/credential-profiles.ts +161 -0
- package/src/cua-desktop-tools.gen.json +6722 -0
- package/src/cua-desktop-tools.linux.gen.json +6798 -0
- package/src/cua-desktop-tools.ts +42 -0
- package/src/cua-desktop-tools.windows.gen.json +6739 -0
- package/src/define-schema.ts +10 -0
- package/src/desktop-app.ts +50 -0
- package/src/direct-model-provider.ts +112 -0
- package/src/editable-artifact-binary.ts +29 -8
- package/src/editable-artifact-committed-transaction.ts +19 -18
- package/src/editable-artifact-serialized-commit.ts +8 -2
- package/src/editable-artifact-versions.ts +7 -1
- package/src/event-preview.ts +53 -3
- package/src/event-triggers.ts +891 -0
- package/src/external-identities.ts +239 -195
- package/src/feedback.ts +125 -30
- package/src/file-access.ts +26 -0
- package/src/first-party-tool-authorization.ts +383 -0
- package/src/github-repository-contracts.ts +78 -64
- package/src/google-drive-native-retirement.ts +20 -0
- package/src/google-drive.ts +286 -234
- package/src/governed-learning-activation.ts +159 -137
- package/src/governed-learning-evaluator.ts +141 -133
- package/src/host-mcp-bindings.ts +244 -221
- package/src/image-generation.ts +105 -95
- package/src/index.ts +13928 -9899
- package/src/inference-residency.ts +36 -0
- package/src/insights-usage.ts +774 -0
- package/src/integration-capability-id.ts +16 -0
- package/src/interaction-action-deadline.ts +143 -0
- package/src/interaction-driver-diagnostic.ts +89 -0
- package/src/interaction.ts +3527 -2427
- package/src/knowledge-entries.ts +386 -299
- package/src/knowledge-preparation.ts +49 -41
- package/src/knowledge.ts +242 -213
- package/src/learning-refusal.ts +90 -0
- package/src/managed-auth-session-sets.ts +180 -133
- package/src/managed-sign-in-methods.ts +156 -34
- package/src/mcp-oauth.ts +58 -46
- package/src/mcp-receipts.ts +199 -194
- package/src/mcp-structured-content.ts +81 -0
- package/src/memory-slack-delivery.ts +172 -142
- package/src/message-time-zone.ts +109 -0
- package/src/modal-native-proof-v2.ts +430 -0
- package/src/model-account-choice.ts +178 -0
- package/src/model-account-settings.ts +210 -0
- package/src/model-availability.ts +22 -0
- package/src/model-connection-access.ts +62 -14
- package/src/model-context-inspector.ts +130 -109
- package/src/model-display.ts +221 -0
- package/src/model-picker-order.ts +1 -1
- package/src/model-residency.ts +535 -0
- package/src/organization-access.ts +216 -0
- package/src/organization-integration-policy.ts +47 -28
- package/src/organization-membership-lifecycle.ts +558 -384
- package/src/organization-model-usage.ts +82 -0
- package/src/organization-recovery.ts +148 -135
- package/src/organization-usage.ts +84 -52
- package/src/passkey-only-account.ts +29 -0
- package/src/permissions.ts +94 -52
- package/src/personal-github.ts +211 -171
- package/src/personal-integration-setup.ts +150 -0
- package/src/preference-registry.ts +319 -263
- package/src/prepared-mcp-setup.ts +190 -0
- package/src/primitives.ts +22 -0
- package/src/product-analytics.ts +40 -15
- package/src/product-lifecycle-facts.ts +50 -20
- package/src/prompt-cache-diagnostics.ts +212 -0
- package/src/recordings.ts +1153 -0
- package/src/remember.ts +184 -172
- package/src/retained-output.ts +181 -168
- package/src/sandbox-file-artifacts.ts +78 -57
- package/src/sandbox-provider-command.ts +55 -72
- package/src/sandbox-recovery.ts +163 -77
- package/src/scoped-knowledge.ts +62 -43
- package/src/secret-generator.ts +156 -0
- package/src/secret-mask-strings.ts +175 -0
- package/src/secret-references.ts +414 -0
- package/src/secret-resolution.ts +322 -0
- package/src/secret-shape-masking.ts +573 -0
- package/src/secret-totp.ts +188 -0
- package/src/secret-use-approval-question.ts +22 -0
- package/src/secret-use-approvals.ts +219 -0
- package/src/secret-value-masking.ts +1283 -0
- package/src/secret-value.ts +22 -0
- package/src/session-goal-reports.ts +55 -49
- package/src/session-history-import.ts +84 -68
- package/src/session-history.ts +197 -0
- package/src/session-list-entries.ts +106 -0
- package/src/session-mcp-projections.ts +21 -3
- package/src/session-mcp-tool-permissions.ts +109 -0
- package/src/session-message-search.ts +46 -38
- package/src/session-target.ts +58 -0
- package/src/session-titles.ts +40 -4
- package/src/session-topology-primitives.ts +20 -12
- package/src/session-usage-limit-refusal.ts +101 -0
- package/src/session-usage-limits.ts +169 -0
- package/src/signup-attribution.ts +20 -15
- package/src/site-data.ts +337 -0
- package/src/site-operations.ts +154 -0
- package/src/site-publishing.ts +903 -0
- package/src/site-session-http.ts +344 -16
- package/src/site-sql.ts +1120 -0
- package/src/skill-use.ts +18 -17
- package/src/skills.ts +105 -50
- package/src/slack-bot-scopes.ts +18 -35
- package/src/slack-rest-mcp.ts +222 -0
- package/src/slack-task-policy.ts +97 -73
- package/src/spreadsheet-artifact-commands.ts +74 -13
- package/src/spreadsheet-artifact-query.ts +188 -50
- package/src/subscription-account-actions.ts +103 -0
- package/src/subscription-account-pools.ts +74 -0
- package/src/subscription-personal-authority-v2.ts +69 -0
- package/src/subscription-plans.ts +51 -0
- package/src/subscription-usage-pool.ts +44 -0
- package/src/task-notes.ts +70 -68
- package/src/tool-action-review.ts +271 -0
- package/src/tool-catalog.ts +694 -379
- package/src/tool-policy.ts +82 -0
- package/src/tool-result-spill.ts +13 -9
- package/src/tool-review-presentation.ts +643 -0
- package/src/turn-serving-policy.ts +167 -0
- package/src/usage-allowances.ts +212 -136
- package/src/values.ts +25 -0
- package/src/vault-provider-wire.ts +580 -0
- package/src/vaults.ts +1296 -0
- package/src/video-generation.ts +430 -361
- package/src/work-claims.ts +183 -166
- package/src/workspace-control-event.ts +134 -0
- package/src/workspace-governance-context.ts +63 -0
- package/src/workspace-instruction-policies.ts +346 -279
- package/src/workspace-integration-wire.ts +10 -0
- package/src/workspace-integrations.ts +488 -398
- package/src/workspace-learning-administration.ts +58 -44
- package/src/workspace-learning-policy.ts +126 -99
- package/src/workspace-state.ts +239 -220
- package/src/xai-provider-account-authority.ts +23 -17
- package/dist/chunk-3SIZGL3O.js.map +0 -1
- package/dist/chunk-566IFOVP.js +0 -26133
- package/dist/chunk-566IFOVP.js.map +0 -1
- package/dist/chunk-5IXYF6XN.js +0 -728
- package/dist/chunk-5IXYF6XN.js.map +0 -1
- package/dist/chunk-5Q54VCCH.js.map +0 -1
- package/dist/chunk-BCS7WHCK.js +0 -139
- package/dist/chunk-BCS7WHCK.js.map +0 -1
- package/dist/chunk-EK7NDGFR.js +0 -128
- package/dist/chunk-EK7NDGFR.js.map +0 -1
- package/dist/chunk-GRG7PHWQ.js +0 -25
- package/dist/chunk-GRG7PHWQ.js.map +0 -1
- package/dist/chunk-HHZSZYYF.js.map +0 -1
- package/dist/chunk-ICDZGUX2.js +0 -186
- package/dist/chunk-ICDZGUX2.js.map +0 -1
- package/dist/chunk-JUFK3T4Q.js +0 -80
- package/dist/chunk-JUFK3T4Q.js.map +0 -1
- package/dist/chunk-MYBZRDTY.js.map +0 -1
- package/dist/chunk-NRMCVHAU.js.map +0 -1
- package/dist/chunk-O77VSFYZ.js.map +0 -1
- package/dist/chunk-P3HLDT77.js +0 -59
- package/dist/chunk-P3HLDT77.js.map +0 -1
- package/dist/chunk-TXTQIYCV.js.map +0 -1
- package/dist/chunk-WYBDERIY.js.map +0 -1
- package/dist/chunk-Y3KNXVTD.js.map +0 -1
- package/dist/chunk-YBW5JSA3.js.map +0 -1
- package/dist/chunk-YRXAWWCU.js +0 -45
- package/dist/chunk-YRXAWWCU.js.map +0 -1
- package/dist/chunk-YWMOIZ6A.js +0 -185
- package/dist/chunk-YWMOIZ6A.js.map +0 -1
- package/dist/site-request-headers.test.d.ts +0 -1
- package/dist/transcription-recordings.d.ts +0 -300
- package/src/transcription-recordings.ts +0 -169
- /package/dist/{chunk-SIOU2K4U.js.map → chunk-LJH2EYGT.js.map} +0 -0
- /package/dist/{chunk-RIY7GYQS.js.map → chunk-PTSROVDG.js.map} +0 -0
- /package/dist/{chunk-YRKRZ6OF.js.map → chunk-TOOJIBJC.js.map} +0 -0
- /package/dist/{chunk-D2HKF2EF.js.map → chunk-XP5M3IKT.js.map} +0 -0
|
@@ -0,0 +1,660 @@
|
|
|
1
|
+
import {
|
|
2
|
+
defineSchema
|
|
3
|
+
} from "./chunk-56SNIMDO.js";
|
|
4
|
+
|
|
5
|
+
// src/event-triggers.ts
|
|
6
|
+
import { z } from "zod";
|
|
7
|
+
var EVENT_SOURCE_KINDS = [
|
|
8
|
+
"webhook",
|
|
9
|
+
"github",
|
|
10
|
+
"slack",
|
|
11
|
+
"gmail",
|
|
12
|
+
"mcp",
|
|
13
|
+
"workspace"
|
|
14
|
+
];
|
|
15
|
+
var EventSourceKind = /* @__PURE__ */ defineSchema(() => z.enum(EVENT_SOURCE_KINDS));
|
|
16
|
+
var WEBHOOK_EVENT_ADAPTERS = ["standard", "linear", "sentry", "custom"];
|
|
17
|
+
var WebhookEventAdapter = /* @__PURE__ */ defineSchema(
|
|
18
|
+
() => z.enum(WEBHOOK_EVENT_ADAPTERS)
|
|
19
|
+
);
|
|
20
|
+
var WebhookHeaderName = /* @__PURE__ */ defineSchema(
|
|
21
|
+
() => z.string().regex(/^[!#$%&'*+.^_`|~0-9A-Za-z-]{1,100}$/u, "A header name such as X-Signature")
|
|
22
|
+
);
|
|
23
|
+
var WebhookJsonPath = /* @__PURE__ */ defineSchema(
|
|
24
|
+
() => z.string().max(200).regex(/^[^.\s]+(?:\.[^.\s]+)*$/u, "A dot-separated path such as data.object.id")
|
|
25
|
+
);
|
|
26
|
+
var WebhookValueSource = /* @__PURE__ */ defineSchema(
|
|
27
|
+
() => z.union([
|
|
28
|
+
z.object({ path: WebhookJsonPath }).strict(),
|
|
29
|
+
z.object({ header: WebhookHeaderName }).strict()
|
|
30
|
+
])
|
|
31
|
+
);
|
|
32
|
+
var WebhookSignatureFormat = /* @__PURE__ */ defineSchema(
|
|
33
|
+
() => z.discriminatedUnion("scheme", [
|
|
34
|
+
z.object({ scheme: z.literal("standard_webhooks") }).strict(),
|
|
35
|
+
z.object({
|
|
36
|
+
scheme: z.literal("hmac_sha256"),
|
|
37
|
+
header: WebhookHeaderName,
|
|
38
|
+
encoding: z.enum(["hex", "base64"]).default("hex"),
|
|
39
|
+
prefix: z.string().max(32).default("")
|
|
40
|
+
}).strict(),
|
|
41
|
+
z.object({
|
|
42
|
+
scheme: z.literal("timestamped_hmac_sha256"),
|
|
43
|
+
header: WebhookHeaderName,
|
|
44
|
+
toleranceSeconds: z.number().int().min(60).max(3600).default(300)
|
|
45
|
+
}).strict(),
|
|
46
|
+
z.object({
|
|
47
|
+
scheme: z.literal("token"),
|
|
48
|
+
header: WebhookHeaderName,
|
|
49
|
+
prefix: z.string().max(32).default("")
|
|
50
|
+
}).strict()
|
|
51
|
+
])
|
|
52
|
+
);
|
|
53
|
+
var EventSourceStatus = /* @__PURE__ */ defineSchema(
|
|
54
|
+
() => z.enum(["active", "disabled", "blocked"])
|
|
55
|
+
);
|
|
56
|
+
var EVENT_STATUS_REASON_CODES = [
|
|
57
|
+
"turned_off",
|
|
58
|
+
"awaiting_secret",
|
|
59
|
+
"reconnect",
|
|
60
|
+
"missing_permission",
|
|
61
|
+
"app_not_enabled",
|
|
62
|
+
"account_changed",
|
|
63
|
+
"connector_removed",
|
|
64
|
+
"host_sign_in",
|
|
65
|
+
"events_unsupported",
|
|
66
|
+
"event_type_gone",
|
|
67
|
+
"forbidden",
|
|
68
|
+
"invalid_arguments",
|
|
69
|
+
"needs_public_address",
|
|
70
|
+
"push_only",
|
|
71
|
+
"delivery_mode_unsupported",
|
|
72
|
+
"callback_unreachable",
|
|
73
|
+
"not_answering",
|
|
74
|
+
"github_event_not_subscribed",
|
|
75
|
+
"unavailable"
|
|
76
|
+
];
|
|
77
|
+
function isEventStatusReasonCode(code) {
|
|
78
|
+
return typeof code === "string" && EVENT_STATUS_REASON_CODES.includes(code);
|
|
79
|
+
}
|
|
80
|
+
var EventSourceVisibility = /* @__PURE__ */ defineSchema(
|
|
81
|
+
() => z.enum(["private", "workspace"])
|
|
82
|
+
);
|
|
83
|
+
var EVENT_SOURCE_NAME_MAX_LENGTH = 120;
|
|
84
|
+
var EVENT_TYPE_MAX_LENGTH = 200;
|
|
85
|
+
var EVENT_SUMMARY_MAX_LENGTH = 500;
|
|
86
|
+
var EVENT_SUBJECT_MAX_LENGTH = 300;
|
|
87
|
+
var EVENT_DATA_MAX_BYTES = 64 * 1024;
|
|
88
|
+
var EVENT_DELIVERY_BODY_MAX_BYTES = 1024 * 1024;
|
|
89
|
+
var EVENT_TRIGGERS_PER_AUTOMATION_MAX = 16;
|
|
90
|
+
var EVENT_TRIGGER_TYPES_MAX = 32;
|
|
91
|
+
var EVENT_TRIGGER_CONDITIONS_MAX = 16;
|
|
92
|
+
var DEFAULT_EVENT_RUNS_PER_HOUR = 30;
|
|
93
|
+
var MAX_EVENT_RUNS_PER_HOUR = 1e3;
|
|
94
|
+
var EVENT_DELIVERY_BODY_RETENTION_DAYS = 7;
|
|
95
|
+
var EVENT_RETENTION_DAYS = 30;
|
|
96
|
+
var Uuid = /* @__PURE__ */ defineSchema(() => z.string().uuid());
|
|
97
|
+
var Timestamp = /* @__PURE__ */ defineSchema(() => z.string());
|
|
98
|
+
var EventSourceName = /* @__PURE__ */ defineSchema(
|
|
99
|
+
() => z.string().trim().min(1).max(EVENT_SOURCE_NAME_MAX_LENGTH)
|
|
100
|
+
);
|
|
101
|
+
var EventTypeName = /* @__PURE__ */ defineSchema(
|
|
102
|
+
() => z.string().min(1).max(EVENT_TYPE_MAX_LENGTH).regex(/^[\x21-\x7e]+$/u, "Event types are printable ASCII without spaces")
|
|
103
|
+
);
|
|
104
|
+
var WebhookFormat = /* @__PURE__ */ defineSchema(
|
|
105
|
+
() => z.object({
|
|
106
|
+
/** The preset that filled this in, such as `tailscale`: names the app and its documented event types. */
|
|
107
|
+
preset: z.string().regex(/^[a-z0-9][a-z0-9-]{0,63}$/u).optional(),
|
|
108
|
+
signature: WebhookSignatureFormat,
|
|
109
|
+
/**
|
|
110
|
+
* Present when one delivery holds several events: the body is a JSON
|
|
111
|
+
* list of them, or holds one at `path`. Absent: the body is one event.
|
|
112
|
+
*/
|
|
113
|
+
batch: z.object({ path: WebhookJsonPath.optional() }).strict().optional(),
|
|
114
|
+
/** The event type: a path or header, or one `value` for every delivery. */
|
|
115
|
+
type: z.union([
|
|
116
|
+
z.object({ path: WebhookJsonPath }).strict(),
|
|
117
|
+
z.object({ header: WebhookHeaderName }).strict(),
|
|
118
|
+
z.object({ value: EventTypeName }).strict()
|
|
119
|
+
]),
|
|
120
|
+
/** The delivery's id, so a retried delivery is kept once; else the body's hash. */
|
|
121
|
+
deliveryId: WebhookValueSource.optional(),
|
|
122
|
+
/** Each event's own id, so an event delivered twice runs automations once. */
|
|
123
|
+
eventId: WebhookJsonPath.optional(),
|
|
124
|
+
/** When it happened: an ISO time or Unix seconds or milliseconds. */
|
|
125
|
+
occurredAt: WebhookJsonPath.optional(),
|
|
126
|
+
/** A one-line description; the event type when absent. */
|
|
127
|
+
summary: WebhookJsonPath.optional(),
|
|
128
|
+
/** What it is about, such as a device or order name. */
|
|
129
|
+
subject: WebhookJsonPath.optional(),
|
|
130
|
+
/** A link to it in the app. */
|
|
131
|
+
url: WebhookJsonPath.optional(),
|
|
132
|
+
/** Who did it. */
|
|
133
|
+
actor: WebhookJsonPath.optional()
|
|
134
|
+
}).strict()
|
|
135
|
+
);
|
|
136
|
+
var WEBHOOK_FORMAT_PRESETS = {
|
|
137
|
+
/** Tailscale: a JSON list of events, signed `t=…,v1=…` over `<t>.<body>`. */
|
|
138
|
+
tailscale: {
|
|
139
|
+
preset: "tailscale",
|
|
140
|
+
signature: { scheme: "timestamped_hmac_sha256", header: "Tailscale-Webhook-Signature" },
|
|
141
|
+
batch: {},
|
|
142
|
+
type: { path: "type" },
|
|
143
|
+
occurredAt: "timestamp",
|
|
144
|
+
summary: "message",
|
|
145
|
+
subject: "data.deviceName",
|
|
146
|
+
url: "data.url",
|
|
147
|
+
actor: "data.actor"
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
var EventSourceMcpBinding = /* @__PURE__ */ defineSchema(
|
|
151
|
+
() => z.object({
|
|
152
|
+
/** The MCP server id as configured for the workspace. */
|
|
153
|
+
serverId: z.string().min(1).max(256),
|
|
154
|
+
/** The owner's connection used for every events/* request. */
|
|
155
|
+
connectionId: Uuid.nullable()
|
|
156
|
+
}).strict()
|
|
157
|
+
);
|
|
158
|
+
var EventSource = /* @__PURE__ */ defineSchema(
|
|
159
|
+
() => z.object({
|
|
160
|
+
id: Uuid,
|
|
161
|
+
workspaceId: Uuid,
|
|
162
|
+
kind: EventSourceKind,
|
|
163
|
+
/** Webhook sources only. */
|
|
164
|
+
adapter: WebhookEventAdapter.nullable(),
|
|
165
|
+
/** How a `custom` webhook source reads its app's deliveries; null otherwise. */
|
|
166
|
+
format: WebhookFormat.nullable().default(null),
|
|
167
|
+
name: z.string(),
|
|
168
|
+
/** The person the source belongs to; null for workspace app sources. */
|
|
169
|
+
ownerSubjectId: z.string().nullable(),
|
|
170
|
+
visibility: EventSourceVisibility,
|
|
171
|
+
status: EventSourceStatus,
|
|
172
|
+
/** Why the source is blocked or disabled, in plain language. */
|
|
173
|
+
statusReason: z.string().nullable(),
|
|
174
|
+
/**
|
|
175
|
+
* The same reason as a code (`EVENT_STATUS_REASON_CODES`) a client words
|
|
176
|
+
* in its own language; null when active or from an older server.
|
|
177
|
+
*/
|
|
178
|
+
statusReasonCode: z.string().nullable().default(null),
|
|
179
|
+
/** What the app or server said about it, verbatim, when it said something. */
|
|
180
|
+
statusReasonDetail: z.string().nullable().default(null),
|
|
181
|
+
/** The URL to paste into the sending app. Webhook sources only. */
|
|
182
|
+
webhookUrl: z.string().nullable(),
|
|
183
|
+
/**
|
|
184
|
+
* A Linear, Sentry or custom webhook whose secret is not pasted yet: it
|
|
185
|
+
* refuses deliveries until the secret is set with an update.
|
|
186
|
+
*/
|
|
187
|
+
awaitingSigningSecret: z.boolean().default(false),
|
|
188
|
+
/** MCP sources only. */
|
|
189
|
+
mcp: EventSourceMcpBinding.nullable(),
|
|
190
|
+
lastDeliveryAt: Timestamp.nullable(),
|
|
191
|
+
createdAt: Timestamp,
|
|
192
|
+
updatedAt: Timestamp,
|
|
193
|
+
/**
|
|
194
|
+
* What the reading person can do with the source: `manage` (its owner or
|
|
195
|
+
* a workspace admin: edit, rotate, test, replay, delete) or `use` (point
|
|
196
|
+
* triggers at it and read its log). Set on REST reads.
|
|
197
|
+
*/
|
|
198
|
+
viewerAccess: z.enum(["manage", "use"]).optional()
|
|
199
|
+
})
|
|
200
|
+
);
|
|
201
|
+
var EventSourceSigningSecretInput = /* @__PURE__ */ defineSchema(
|
|
202
|
+
() => z.string().min(8).max(512)
|
|
203
|
+
);
|
|
204
|
+
var CreateEventSourceRequest = /* @__PURE__ */ defineSchema(
|
|
205
|
+
() => z.discriminatedUnion("kind", [
|
|
206
|
+
z.object({
|
|
207
|
+
kind: z.literal("webhook"),
|
|
208
|
+
adapter: WebhookEventAdapter,
|
|
209
|
+
name: EventSourceName,
|
|
210
|
+
visibility: EventSourceVisibility.default("private"),
|
|
211
|
+
signingSecret: EventSourceSigningSecretInput.optional(),
|
|
212
|
+
/** Required for, and only for, the `custom` adapter. */
|
|
213
|
+
format: WebhookFormat.optional()
|
|
214
|
+
}).strict(),
|
|
215
|
+
z.object({
|
|
216
|
+
kind: z.enum(["github", "slack"]),
|
|
217
|
+
name: EventSourceName.optional()
|
|
218
|
+
}).strict(),
|
|
219
|
+
z.object({
|
|
220
|
+
kind: z.literal("gmail"),
|
|
221
|
+
/** The mailbox connection; defaults to the caller's only Gmail connection. */
|
|
222
|
+
connectionId: Uuid.optional(),
|
|
223
|
+
name: EventSourceName.optional()
|
|
224
|
+
}).strict(),
|
|
225
|
+
z.object({
|
|
226
|
+
kind: z.literal("mcp"),
|
|
227
|
+
serverId: z.string().min(1).max(256),
|
|
228
|
+
connectionId: Uuid.optional(),
|
|
229
|
+
name: EventSourceName.optional()
|
|
230
|
+
}).strict(),
|
|
231
|
+
z.object({
|
|
232
|
+
/**
|
|
233
|
+
* The caller's own "This workspace" source. There is one per person,
|
|
234
|
+
* so creating it again returns the existing one.
|
|
235
|
+
*/
|
|
236
|
+
kind: z.literal("workspace"),
|
|
237
|
+
name: EventSourceName.optional()
|
|
238
|
+
}).strict()
|
|
239
|
+
]).superRefine((value, context) => {
|
|
240
|
+
if (value.kind === "webhook" && value.adapter === "standard" && value.signingSecret !== void 0) {
|
|
241
|
+
context.addIssue({
|
|
242
|
+
code: "custom",
|
|
243
|
+
path: ["signingSecret"],
|
|
244
|
+
message: "Opengeni generates the signing secret for standard webhooks"
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
if (value.kind === "webhook" && value.adapter === "custom" !== (value.format !== void 0)) {
|
|
248
|
+
context.addIssue({
|
|
249
|
+
code: "custom",
|
|
250
|
+
path: ["format"],
|
|
251
|
+
message: value.adapter === "custom" ? "A custom webhook needs a format" : "Only a custom webhook takes a format"
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
})
|
|
255
|
+
);
|
|
256
|
+
var CreateEventSourceResponse = /* @__PURE__ */ defineSchema(
|
|
257
|
+
() => z.object({
|
|
258
|
+
source: EventSource,
|
|
259
|
+
/** Standard webhook sources only; shown once. */
|
|
260
|
+
signingSecret: z.string().optional()
|
|
261
|
+
}).strict()
|
|
262
|
+
);
|
|
263
|
+
var UpdateEventSourceRequest = /* @__PURE__ */ defineSchema(
|
|
264
|
+
() => z.object({
|
|
265
|
+
name: EventSourceName.optional(),
|
|
266
|
+
visibility: EventSourceVisibility.optional(),
|
|
267
|
+
status: z.enum(["active", "disabled"]).optional(),
|
|
268
|
+
/** Replace a pasted Linear, Sentry or custom webhook secret. */
|
|
269
|
+
signingSecret: EventSourceSigningSecretInput.optional(),
|
|
270
|
+
/** Replace a custom webhook's format. */
|
|
271
|
+
format: WebhookFormat.optional()
|
|
272
|
+
}).strict().refine((value) => Object.keys(value).length > 0, "Supply at least one field")
|
|
273
|
+
);
|
|
274
|
+
var RotateEventSourceSecretResponse = /* @__PURE__ */ defineSchema(
|
|
275
|
+
() => z.object({ signingSecret: z.string() }).strict()
|
|
276
|
+
);
|
|
277
|
+
var ListEventSourcesResponse = /* @__PURE__ */ defineSchema(
|
|
278
|
+
() => z.object({ sources: z.array(EventSource) }).strict()
|
|
279
|
+
);
|
|
280
|
+
var READY_EVENT_SOURCE_KINDS = ["mcp", "gmail", "workspace"];
|
|
281
|
+
var MCP_SERVER_KEY_PREFIX = "mcp-server:";
|
|
282
|
+
var GMAIL_KEY_PREFIX = "gmail:";
|
|
283
|
+
var WORKSPACE_KEY = "workspace";
|
|
284
|
+
var UUID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu;
|
|
285
|
+
var SERVER_ID_MAX_LENGTH = 256;
|
|
286
|
+
function readyEventSourceKey(request) {
|
|
287
|
+
if (request.kind === "mcp") return `${MCP_SERVER_KEY_PREFIX}${request.serverId}`;
|
|
288
|
+
if (request.kind === "gmail") return `${GMAIL_KEY_PREFIX}${request.connectionId}`;
|
|
289
|
+
return WORKSPACE_KEY;
|
|
290
|
+
}
|
|
291
|
+
function readyEventSourceRequest(key) {
|
|
292
|
+
if (key === WORKSPACE_KEY) return { kind: "workspace" };
|
|
293
|
+
if (key.startsWith(MCP_SERVER_KEY_PREFIX)) {
|
|
294
|
+
const serverId = key.slice(MCP_SERVER_KEY_PREFIX.length);
|
|
295
|
+
return serverId.length > 0 && serverId.length <= SERVER_ID_MAX_LENGTH ? { kind: "mcp", serverId } : null;
|
|
296
|
+
}
|
|
297
|
+
if (key.startsWith(GMAIL_KEY_PREFIX)) {
|
|
298
|
+
const connectionId = key.slice(GMAIL_KEY_PREFIX.length);
|
|
299
|
+
return UUID_PATTERN.test(connectionId) ? { kind: "gmail", connectionId } : null;
|
|
300
|
+
}
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
303
|
+
var ReadyEventSource = /* @__PURE__ */ defineSchema(
|
|
304
|
+
() => z.object({
|
|
305
|
+
/** Use it wherever a trigger names a source; see `readyEventSourceRequest`. */
|
|
306
|
+
key: z.string(),
|
|
307
|
+
kind: z.enum(READY_EVENT_SOURCE_KINDS),
|
|
308
|
+
name: z.string()
|
|
309
|
+
}).strict()
|
|
310
|
+
);
|
|
311
|
+
var ListReadyEventSourcesResponse = /* @__PURE__ */ defineSchema(
|
|
312
|
+
() => z.object({ sources: z.array(ReadyEventSource) }).strict()
|
|
313
|
+
);
|
|
314
|
+
var EventSourceRef = /* @__PURE__ */ defineSchema(
|
|
315
|
+
() => z.string().min(1).max(MCP_SERVER_KEY_PREFIX.length + SERVER_ID_MAX_LENGTH).refine(
|
|
316
|
+
(ref) => UUID_PATTERN.test(ref) || readyEventSourceRequest(ref) !== null,
|
|
317
|
+
"Use an event source's id or a ready source's key"
|
|
318
|
+
)
|
|
319
|
+
);
|
|
320
|
+
function isReadyEventSourceKey(ref) {
|
|
321
|
+
return !UUID_PATTERN.test(ref) && readyEventSourceRequest(ref) !== null;
|
|
322
|
+
}
|
|
323
|
+
var EventActorKind = /* @__PURE__ */ defineSchema(
|
|
324
|
+
() => z.enum(["person", "bot", "opengeni", "unknown"])
|
|
325
|
+
);
|
|
326
|
+
var EventActor = /* @__PURE__ */ defineSchema(
|
|
327
|
+
() => z.object({
|
|
328
|
+
kind: EventActorKind,
|
|
329
|
+
name: z.string().max(200).nullable()
|
|
330
|
+
}).strict()
|
|
331
|
+
);
|
|
332
|
+
var InboundEvent = /* @__PURE__ */ defineSchema(
|
|
333
|
+
() => z.object({
|
|
334
|
+
id: Uuid,
|
|
335
|
+
sourceId: Uuid,
|
|
336
|
+
sourceKind: EventSourceKind,
|
|
337
|
+
type: z.string(),
|
|
338
|
+
occurredAt: Timestamp,
|
|
339
|
+
receivedAt: Timestamp,
|
|
340
|
+
/** What the event is about, such as `acme/api#42`. */
|
|
341
|
+
subject: z.string().nullable(),
|
|
342
|
+
/** One line a person or agent can read. */
|
|
343
|
+
summary: z.string(),
|
|
344
|
+
/** A link to the thing in its app, when known. */
|
|
345
|
+
url: z.string().nullable(),
|
|
346
|
+
actor: EventActor,
|
|
347
|
+
data: z.record(z.string(), z.unknown()),
|
|
348
|
+
/** The source's data was larger than the stored budget and was cut. */
|
|
349
|
+
dataTruncated: z.boolean(),
|
|
350
|
+
/** Events from this source may have been missed just before this one. */
|
|
351
|
+
gapBefore: z.boolean()
|
|
352
|
+
})
|
|
353
|
+
);
|
|
354
|
+
var InboundEventSummary = /* @__PURE__ */ defineSchema(
|
|
355
|
+
() => InboundEvent.pick({
|
|
356
|
+
id: true,
|
|
357
|
+
sourceId: true,
|
|
358
|
+
sourceKind: true,
|
|
359
|
+
type: true,
|
|
360
|
+
occurredAt: true,
|
|
361
|
+
subject: true,
|
|
362
|
+
summary: true,
|
|
363
|
+
url: true,
|
|
364
|
+
actor: true
|
|
365
|
+
})
|
|
366
|
+
);
|
|
367
|
+
var ListInboundEventsResponse = /* @__PURE__ */ defineSchema(
|
|
368
|
+
() => z.object({
|
|
369
|
+
events: z.array(InboundEvent),
|
|
370
|
+
nextCursor: z.string().nullable()
|
|
371
|
+
}).strict()
|
|
372
|
+
);
|
|
373
|
+
var EventDeliveryStatus = /* @__PURE__ */ defineSchema(
|
|
374
|
+
() => z.enum(["accepted", "ignored", "rejected", "failed"])
|
|
375
|
+
);
|
|
376
|
+
var EventDelivery = /* @__PURE__ */ defineSchema(
|
|
377
|
+
() => z.object({
|
|
378
|
+
id: Uuid,
|
|
379
|
+
sourceId: Uuid,
|
|
380
|
+
receivedAt: Timestamp,
|
|
381
|
+
status: EventDeliveryStatus,
|
|
382
|
+
/** Why a delivery was ignored, rejected or failed, in plain language. */
|
|
383
|
+
reason: z.string().nullable(),
|
|
384
|
+
eventIds: z.array(Uuid),
|
|
385
|
+
/** The types of the events it became, each once, in order. */
|
|
386
|
+
eventTypes: z.array(z.string()),
|
|
387
|
+
bodyBytes: z.number().int().nonnegative(),
|
|
388
|
+
/** The raw body is kept for a few days so a delivery can be replayed. */
|
|
389
|
+
bodyRetained: z.boolean(),
|
|
390
|
+
/** How many times the sender delivered this same delivery again. */
|
|
391
|
+
duplicateCount: z.number().int().nonnegative(),
|
|
392
|
+
replayOfDeliveryId: Uuid.nullable()
|
|
393
|
+
})
|
|
394
|
+
);
|
|
395
|
+
var ListEventDeliveriesResponse = /* @__PURE__ */ defineSchema(
|
|
396
|
+
() => z.object({
|
|
397
|
+
deliveries: z.array(EventDelivery),
|
|
398
|
+
nextCursor: z.string().nullable()
|
|
399
|
+
}).strict()
|
|
400
|
+
);
|
|
401
|
+
var ReplayEventDeliveryResponse = /* @__PURE__ */ defineSchema(
|
|
402
|
+
() => z.object({ delivery: EventDelivery }).strict()
|
|
403
|
+
);
|
|
404
|
+
var SendTestEventRequest = /* @__PURE__ */ defineSchema(
|
|
405
|
+
() => z.object({
|
|
406
|
+
type: EventTypeName.default("opengeni.test"),
|
|
407
|
+
data: z.record(z.string(), z.unknown()).default({})
|
|
408
|
+
}).strict()
|
|
409
|
+
);
|
|
410
|
+
var SendTestEventResponse = /* @__PURE__ */ defineSchema(
|
|
411
|
+
() => z.object({ event: InboundEvent, matchedAutomationIds: z.array(Uuid) }).strict()
|
|
412
|
+
);
|
|
413
|
+
var EVENT_CONDITION_FIELD_PATTERN = /^(?:type|subject|summary|url|actor\.kind|actor\.name|data(?:\.[A-Za-z0-9_@$-]{1,64}){1,8})$/u;
|
|
414
|
+
var EventConditionOperator = /* @__PURE__ */ defineSchema(
|
|
415
|
+
() => z.enum(["equals", "not_equals", "in", "not_in", "contains", "exists", "not_exists"])
|
|
416
|
+
);
|
|
417
|
+
var EventConditionScalar = /* @__PURE__ */ defineSchema(
|
|
418
|
+
() => z.union([z.string().max(500), z.number().finite(), z.boolean(), z.null()])
|
|
419
|
+
);
|
|
420
|
+
var EventCondition = /* @__PURE__ */ defineSchema(
|
|
421
|
+
() => z.object({
|
|
422
|
+
/** `type`, `subject`, `summary`, `url`, `actor.kind`, `actor.name`, or `data.<path>`. */
|
|
423
|
+
field: z.string().regex(EVENT_CONDITION_FIELD_PATTERN, "Unsupported event field"),
|
|
424
|
+
op: EventConditionOperator,
|
|
425
|
+
value: z.union([EventConditionScalar, z.array(EventConditionScalar).max(50)]).optional()
|
|
426
|
+
}).strict().superRefine((condition, context) => {
|
|
427
|
+
const presence = condition.op === "exists" || condition.op === "not_exists";
|
|
428
|
+
const list = condition.op === "in" || condition.op === "not_in";
|
|
429
|
+
if (presence && condition.value !== void 0) {
|
|
430
|
+
context.addIssue({
|
|
431
|
+
code: "custom",
|
|
432
|
+
path: ["value"],
|
|
433
|
+
message: `${condition.op} takes no value`
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
if (!presence && condition.value === void 0) {
|
|
437
|
+
context.addIssue({
|
|
438
|
+
code: "custom",
|
|
439
|
+
path: ["value"],
|
|
440
|
+
message: `${condition.op} needs a value`
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
if (list && !Array.isArray(condition.value)) {
|
|
444
|
+
context.addIssue({
|
|
445
|
+
code: "custom",
|
|
446
|
+
path: ["value"],
|
|
447
|
+
message: `${condition.op} needs a list`
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
if (!list && Array.isArray(condition.value)) {
|
|
451
|
+
context.addIssue({
|
|
452
|
+
code: "custom",
|
|
453
|
+
path: ["value"],
|
|
454
|
+
message: `${condition.op} needs one value`
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
})
|
|
458
|
+
);
|
|
459
|
+
var EventTriggerInput = /* @__PURE__ */ defineSchema(
|
|
460
|
+
() => z.object({
|
|
461
|
+
/** The source's id, or a ready source's key: the owner's source is added on first use. */
|
|
462
|
+
sourceId: EventSourceRef,
|
|
463
|
+
/** Event types that fire the trigger. An MCP trigger names exactly one. */
|
|
464
|
+
eventTypes: z.array(EventTypeName).min(1).max(EVENT_TRIGGER_TYPES_MAX),
|
|
465
|
+
/** All conditions must hold. */
|
|
466
|
+
conditions: z.array(EventCondition).max(EVENT_TRIGGER_CONDITIONS_MAX).default([]),
|
|
467
|
+
/** Also fire on events made by Opengeni's own bots. */
|
|
468
|
+
includeOwnEvents: z.boolean().default(false),
|
|
469
|
+
/** MCP subscription arguments, validated against the event type's inputSchema. */
|
|
470
|
+
arguments: z.record(z.string(), z.unknown()).optional()
|
|
471
|
+
}).strict()
|
|
472
|
+
);
|
|
473
|
+
var EventTriggerStatus = /* @__PURE__ */ defineSchema(
|
|
474
|
+
() => z.enum(["active", "blocked", "disabled"])
|
|
475
|
+
);
|
|
476
|
+
var EventTrigger = /* @__PURE__ */ defineSchema(
|
|
477
|
+
() => z.object({
|
|
478
|
+
id: Uuid,
|
|
479
|
+
sourceId: Uuid,
|
|
480
|
+
sourceKind: EventSourceKind,
|
|
481
|
+
eventTypes: z.array(z.string()),
|
|
482
|
+
conditions: z.array(EventCondition),
|
|
483
|
+
includeOwnEvents: z.boolean(),
|
|
484
|
+
arguments: z.record(z.string(), z.unknown()).nullable(),
|
|
485
|
+
status: EventTriggerStatus,
|
|
486
|
+
statusReason: z.string().nullable(),
|
|
487
|
+
/** The reason as a code a client words itself; see `EVENT_STATUS_REASON_CODES`. */
|
|
488
|
+
statusReasonCode: z.string().nullable().default(null),
|
|
489
|
+
/** What the source's server said about it, verbatim, when it said something. */
|
|
490
|
+
statusReasonDetail: z.string().nullable().default(null),
|
|
491
|
+
createdAt: Timestamp,
|
|
492
|
+
updatedAt: Timestamp
|
|
493
|
+
})
|
|
494
|
+
);
|
|
495
|
+
var SessionAutomationWaitSummary = /* @__PURE__ */ defineSchema(() => {
|
|
496
|
+
const waitEvent = z.object({
|
|
497
|
+
source: z.object({ kind: EventSourceKind, name: z.string() }).strict().nullable(),
|
|
498
|
+
eventTypes: z.array(z.string())
|
|
499
|
+
}).strict();
|
|
500
|
+
return z.object({
|
|
501
|
+
/** The soonest scheduled run into the chat, or null when none is ahead. */
|
|
502
|
+
nextRunAt: z.string().datetime({ offset: true }).nullable(),
|
|
503
|
+
/**
|
|
504
|
+
* The first active event trigger that can start a run: its event types
|
|
505
|
+
* and its source, null when the reader can't see the source. Null when
|
|
506
|
+
* no event can start a run. `events` names them all.
|
|
507
|
+
*/
|
|
508
|
+
event: waitEvent.nullable(),
|
|
509
|
+
/**
|
|
510
|
+
* Every event that can start a run, one entry per source in the order
|
|
511
|
+
* the automations were made: the event types its active triggers wait
|
|
512
|
+
* for (just `*` when one takes every event). Sources the reader can't
|
|
513
|
+
* see share one entry with a null source. Empty when no event can start
|
|
514
|
+
* a run; absent from servers that only send `event`.
|
|
515
|
+
*/
|
|
516
|
+
events: z.array(waitEvent).optional(),
|
|
517
|
+
/** How many automations can still start a run in the chat, this one included. */
|
|
518
|
+
automations: z.number().int().positive()
|
|
519
|
+
}).strict();
|
|
520
|
+
});
|
|
521
|
+
var ScheduledTaskEventsInput = /* @__PURE__ */ defineSchema(
|
|
522
|
+
() => z.object({
|
|
523
|
+
triggers: z.array(EventTriggerInput).max(EVENT_TRIGGERS_PER_AUTOMATION_MAX),
|
|
524
|
+
/** Storm guard: at most this many event runs in a rolling hour. */
|
|
525
|
+
maxRunsPerHour: z.number().int().min(1).max(MAX_EVENT_RUNS_PER_HOUR).optional(),
|
|
526
|
+
/** Finish the automation after its first run, whichever trigger fires first. */
|
|
527
|
+
once: z.boolean().optional()
|
|
528
|
+
}).strict()
|
|
529
|
+
);
|
|
530
|
+
var ScheduledTaskEvents = /* @__PURE__ */ defineSchema(
|
|
531
|
+
() => z.object({
|
|
532
|
+
triggers: z.array(EventTrigger),
|
|
533
|
+
maxRunsPerHour: z.number().int(),
|
|
534
|
+
once: z.boolean(),
|
|
535
|
+
/** When a once-automation finished. */
|
|
536
|
+
completedAt: Timestamp.nullable(),
|
|
537
|
+
/** When the storm guard last held events back; null when it is not holding any. */
|
|
538
|
+
throttledSince: Timestamp.nullable()
|
|
539
|
+
})
|
|
540
|
+
);
|
|
541
|
+
var ScheduledTaskRunEventOccurrence = /* @__PURE__ */ defineSchema(
|
|
542
|
+
() => z.object({
|
|
543
|
+
triggerIds: z.array(Uuid),
|
|
544
|
+
eventCount: z.number().int().nonnegative(),
|
|
545
|
+
events: z.array(InboundEventSummary)
|
|
546
|
+
})
|
|
547
|
+
);
|
|
548
|
+
var SCHEDULED_OCCURRENCE_EVENTS_MAX_BYTES = 12 * 1024;
|
|
549
|
+
var SCHEDULED_OCCURRENCE_EVENT_DATA_MAX_BYTES = 2 * 1024;
|
|
550
|
+
var ScheduledOccurrenceEvent = /* @__PURE__ */ defineSchema(
|
|
551
|
+
() => InboundEventSummary.extend({
|
|
552
|
+
data: z.record(z.string(), z.unknown()),
|
|
553
|
+
/** The data was cut to fit; the stored event has more. */
|
|
554
|
+
dataTruncated: z.boolean()
|
|
555
|
+
})
|
|
556
|
+
);
|
|
557
|
+
var ScheduledOccurrenceEvents = /* @__PURE__ */ defineSchema(
|
|
558
|
+
() => z.object({
|
|
559
|
+
occurrenceId: Uuid,
|
|
560
|
+
eventCount: z.number().int().nonnegative(),
|
|
561
|
+
events: z.array(ScheduledOccurrenceEvent),
|
|
562
|
+
/** The source may have missed events just before these. */
|
|
563
|
+
gapBefore: z.boolean()
|
|
564
|
+
})
|
|
565
|
+
);
|
|
566
|
+
var EventTypeDescriptor = /* @__PURE__ */ defineSchema(
|
|
567
|
+
() => z.object({
|
|
568
|
+
type: z.string(),
|
|
569
|
+
description: z.string(),
|
|
570
|
+
/** Fields worth matching in conditions, such as `data.repository`. */
|
|
571
|
+
fields: z.array(z.object({ field: z.string(), description: z.string() })),
|
|
572
|
+
/** MCP sources: the subscription arguments the server accepts. */
|
|
573
|
+
argumentsSchema: z.record(z.string(), z.unknown()).nullable(),
|
|
574
|
+
/** False when Opengeni cannot receive this type from this source. */
|
|
575
|
+
available: z.boolean(),
|
|
576
|
+
unavailableReason: z.string().nullable(),
|
|
577
|
+
/** The reason as a code a client words itself; see `EVENT_STATUS_REASON_CODES`. */
|
|
578
|
+
unavailableReasonCode: z.string().nullable().default(null),
|
|
579
|
+
/** What the reason names, such as the GitHub App event to subscribe to. */
|
|
580
|
+
unavailableReasonDetail: z.string().nullable().default(null)
|
|
581
|
+
})
|
|
582
|
+
);
|
|
583
|
+
var ListEventTypesResponse = /* @__PURE__ */ defineSchema(
|
|
584
|
+
() => z.object({ sourceId: Uuid, eventTypes: z.array(EventTypeDescriptor) }).strict()
|
|
585
|
+
);
|
|
586
|
+
|
|
587
|
+
export {
|
|
588
|
+
EVENT_SOURCE_KINDS,
|
|
589
|
+
EventSourceKind,
|
|
590
|
+
WEBHOOK_EVENT_ADAPTERS,
|
|
591
|
+
WebhookEventAdapter,
|
|
592
|
+
WebhookHeaderName,
|
|
593
|
+
WebhookJsonPath,
|
|
594
|
+
WebhookValueSource,
|
|
595
|
+
WebhookSignatureFormat,
|
|
596
|
+
EventSourceStatus,
|
|
597
|
+
EVENT_STATUS_REASON_CODES,
|
|
598
|
+
isEventStatusReasonCode,
|
|
599
|
+
EventSourceVisibility,
|
|
600
|
+
EVENT_SOURCE_NAME_MAX_LENGTH,
|
|
601
|
+
EVENT_TYPE_MAX_LENGTH,
|
|
602
|
+
EVENT_SUMMARY_MAX_LENGTH,
|
|
603
|
+
EVENT_SUBJECT_MAX_LENGTH,
|
|
604
|
+
EVENT_DATA_MAX_BYTES,
|
|
605
|
+
EVENT_DELIVERY_BODY_MAX_BYTES,
|
|
606
|
+
EVENT_TRIGGERS_PER_AUTOMATION_MAX,
|
|
607
|
+
EVENT_TRIGGER_TYPES_MAX,
|
|
608
|
+
EVENT_TRIGGER_CONDITIONS_MAX,
|
|
609
|
+
DEFAULT_EVENT_RUNS_PER_HOUR,
|
|
610
|
+
MAX_EVENT_RUNS_PER_HOUR,
|
|
611
|
+
EVENT_DELIVERY_BODY_RETENTION_DAYS,
|
|
612
|
+
EVENT_RETENTION_DAYS,
|
|
613
|
+
EventSourceName,
|
|
614
|
+
EventTypeName,
|
|
615
|
+
WebhookFormat,
|
|
616
|
+
WEBHOOK_FORMAT_PRESETS,
|
|
617
|
+
EventSourceMcpBinding,
|
|
618
|
+
EventSource,
|
|
619
|
+
EventSourceSigningSecretInput,
|
|
620
|
+
CreateEventSourceRequest,
|
|
621
|
+
CreateEventSourceResponse,
|
|
622
|
+
UpdateEventSourceRequest,
|
|
623
|
+
RotateEventSourceSecretResponse,
|
|
624
|
+
ListEventSourcesResponse,
|
|
625
|
+
READY_EVENT_SOURCE_KINDS,
|
|
626
|
+
readyEventSourceKey,
|
|
627
|
+
readyEventSourceRequest,
|
|
628
|
+
ReadyEventSource,
|
|
629
|
+
ListReadyEventSourcesResponse,
|
|
630
|
+
EventSourceRef,
|
|
631
|
+
isReadyEventSourceKey,
|
|
632
|
+
EventActorKind,
|
|
633
|
+
EventActor,
|
|
634
|
+
InboundEvent,
|
|
635
|
+
InboundEventSummary,
|
|
636
|
+
ListInboundEventsResponse,
|
|
637
|
+
EventDeliveryStatus,
|
|
638
|
+
EventDelivery,
|
|
639
|
+
ListEventDeliveriesResponse,
|
|
640
|
+
ReplayEventDeliveryResponse,
|
|
641
|
+
SendTestEventRequest,
|
|
642
|
+
SendTestEventResponse,
|
|
643
|
+
EVENT_CONDITION_FIELD_PATTERN,
|
|
644
|
+
EventConditionOperator,
|
|
645
|
+
EventCondition,
|
|
646
|
+
EventTriggerInput,
|
|
647
|
+
EventTriggerStatus,
|
|
648
|
+
EventTrigger,
|
|
649
|
+
SessionAutomationWaitSummary,
|
|
650
|
+
ScheduledTaskEventsInput,
|
|
651
|
+
ScheduledTaskEvents,
|
|
652
|
+
ScheduledTaskRunEventOccurrence,
|
|
653
|
+
SCHEDULED_OCCURRENCE_EVENTS_MAX_BYTES,
|
|
654
|
+
SCHEDULED_OCCURRENCE_EVENT_DATA_MAX_BYTES,
|
|
655
|
+
ScheduledOccurrenceEvent,
|
|
656
|
+
ScheduledOccurrenceEvents,
|
|
657
|
+
EventTypeDescriptor,
|
|
658
|
+
ListEventTypesResponse
|
|
659
|
+
};
|
|
660
|
+
//# sourceMappingURL=chunk-PI5VIKJY.js.map
|