managed-deepagents 0.4.2 → 0.4.3-dev.95
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/README.md +78 -35
- package/dist/channels/assistant-text.js +1 -1
- package/dist/channels/assistant-text.js.map +1 -1
- package/dist/channels/binding.d.ts.map +1 -1
- package/dist/channels/binding.js +3 -1
- package/dist/channels/binding.js.map +1 -1
- package/dist/channels/index.d.ts +7 -8
- package/dist/channels/index.d.ts.map +1 -1
- package/dist/channels/index.js +6 -5
- package/dist/channels/index.js.map +1 -1
- package/dist/channels/manifest.d.ts +7 -4
- package/dist/channels/manifest.d.ts.map +1 -1
- package/dist/channels/messaging-registry.d.ts +21 -0
- package/dist/channels/messaging-registry.d.ts.map +1 -0
- package/dist/channels/messaging-registry.js +50 -0
- package/dist/channels/messaging-registry.js.map +1 -0
- package/dist/channels/registry-types.d.ts +1 -1
- package/dist/channels/registry.d.ts +4 -3
- package/dist/channels/registry.d.ts.map +1 -1
- package/dist/channels/registry.js +5 -6
- package/dist/channels/registry.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +4 -1
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +3 -1
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/adapter.d.ts +1 -2
- package/dist/channels/slack/adapter.d.ts.map +1 -1
- package/dist/channels/slack/adapter.js +0 -2
- package/dist/channels/slack/adapter.js.map +1 -1
- package/dist/channels/slack/http.d.ts +7 -39
- package/dist/channels/slack/http.d.ts.map +1 -1
- package/dist/channels/slack/http.js +64 -122
- package/dist/channels/slack/http.js.map +1 -1
- package/dist/channels/slack/index.d.ts +94 -8
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +144 -6
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/normalize.d.ts +6 -4
- package/dist/channels/slack/normalize.d.ts.map +1 -1
- package/dist/channels/slack/normalize.js +61 -28
- package/dist/channels/slack/normalize.js.map +1 -1
- package/dist/channels/slack/transport.d.ts.map +1 -1
- package/dist/channels/slack/transport.js +3 -2
- package/dist/channels/slack/transport.js.map +1 -1
- package/dist/channels/store.d.ts +14 -0
- package/dist/channels/store.d.ts.map +1 -1
- package/dist/channels/store.js +41 -27
- package/dist/channels/store.js.map +1 -1
- package/dist/connectors/marketplace/catalog.d.ts +96 -0
- package/dist/connectors/marketplace/catalog.d.ts.map +1 -0
- package/dist/connectors/marketplace/catalog.js +213 -0
- package/dist/connectors/marketplace/catalog.js.map +1 -0
- package/dist/connectors/marketplace/fleet-mcp.d.ts +62 -0
- package/dist/connectors/marketplace/fleet-mcp.d.ts.map +1 -0
- package/dist/connectors/marketplace/fleet-mcp.js +215 -0
- package/dist/connectors/marketplace/fleet-mcp.js.map +1 -0
- package/dist/connectors/marketplace/index.d.ts +31 -0
- package/dist/connectors/marketplace/index.d.ts.map +1 -0
- package/dist/connectors/marketplace/index.js +39 -0
- package/dist/connectors/marketplace/index.js.map +1 -0
- package/dist/connectors/marketplace/load.d.ts +14 -0
- package/dist/connectors/marketplace/load.d.ts.map +1 -0
- package/dist/connectors/marketplace/load.js +206 -0
- package/dist/connectors/marketplace/load.js.map +1 -0
- package/dist/connectors/mcp/index.d.ts +13 -20
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +92 -112
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/load.d.ts.map +1 -1
- package/dist/connectors/mcp/load.js +16 -40
- package/dist/connectors/mcp/load.js.map +1 -1
- package/dist/connectors/slack/index.d.ts +24 -0
- package/dist/connectors/slack/index.d.ts.map +1 -0
- package/dist/connectors/slack/index.js +64 -0
- package/dist/connectors/slack/index.js.map +1 -0
- package/dist/connectors/tool-selection.d.ts +55 -0
- package/dist/connectors/tool-selection.d.ts.map +1 -0
- package/dist/connectors/tool-selection.js +112 -0
- package/dist/connectors/tool-selection.js.map +1 -0
- package/dist/connectors/toolserver/catalog.d.ts +326 -0
- package/dist/connectors/toolserver/catalog.d.ts.map +1 -0
- package/dist/connectors/toolserver/catalog.js +415 -0
- package/dist/connectors/toolserver/catalog.js.map +1 -0
- package/dist/connectors/toolserver/connectors.d.ts +698 -0
- package/dist/connectors/toolserver/connectors.d.ts.map +1 -0
- package/dist/connectors/toolserver/connectors.js +13 -0
- package/dist/connectors/toolserver/connectors.js.map +1 -0
- package/dist/connectors/toolserver/index.d.ts +142 -0
- package/dist/connectors/toolserver/index.d.ts.map +1 -0
- package/dist/connectors/toolserver/index.js +105 -0
- package/dist/connectors/toolserver/index.js.map +1 -0
- package/dist/connectors/toolserver/integrations.d.ts +103 -0
- package/dist/connectors/toolserver/integrations.d.ts.map +1 -0
- package/dist/connectors/toolserver/integrations.js +288 -0
- package/dist/connectors/toolserver/integrations.js.map +1 -0
- package/dist/connectors/toolserver/load.d.ts +55 -0
- package/dist/connectors/toolserver/load.d.ts.map +1 -0
- package/dist/connectors/toolserver/load.js +289 -0
- package/dist/connectors/toolserver/load.js.map +1 -0
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +9 -3
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/extension.d.ts +69 -0
- package/dist/extension.d.ts.map +1 -0
- package/dist/extension.js +108 -0
- package/dist/extension.js.map +1 -0
- package/dist/identity/actor-subject.d.ts +60 -0
- package/dist/identity/actor-subject.d.ts.map +1 -0
- package/dist/identity/actor-subject.js +107 -0
- package/dist/identity/actor-subject.js.map +1 -0
- package/dist/identity/byo-oauth.d.ts +105 -0
- package/dist/identity/byo-oauth.d.ts.map +1 -0
- package/dist/identity/byo-oauth.js +190 -0
- package/dist/identity/byo-oauth.js.map +1 -0
- package/dist/identity/claims.d.ts +16 -0
- package/dist/identity/claims.d.ts.map +1 -0
- package/dist/identity/claims.js +33 -0
- package/dist/identity/claims.js.map +1 -0
- package/dist/identity/connect-inference.d.ts +37 -0
- package/dist/identity/connect-inference.d.ts.map +1 -0
- package/dist/identity/connect-inference.js +53 -0
- package/dist/identity/connect-inference.js.map +1 -0
- package/dist/identity/connect-provider-types.d.ts +35 -6
- package/dist/identity/connect-provider-types.d.ts.map +1 -1
- package/dist/identity/connect-provider-types.js +3 -1
- package/dist/identity/connect-provider-types.js.map +1 -1
- package/dist/identity/connect-provider.d.ts +9 -4
- package/dist/identity/connect-provider.d.ts.map +1 -1
- package/dist/identity/connect-provider.js +39 -13
- package/dist/identity/connect-provider.js.map +1 -1
- package/dist/identity/credential-resolvers.d.ts +33 -0
- package/dist/identity/credential-resolvers.d.ts.map +1 -0
- package/dist/identity/credential-resolvers.js +62 -0
- package/dist/identity/credential-resolvers.js.map +1 -0
- package/dist/identity/define-fleet-connect.d.ts +53 -0
- package/dist/identity/define-fleet-connect.d.ts.map +1 -0
- package/dist/identity/define-fleet-connect.js +76 -0
- package/dist/identity/define-fleet-connect.js.map +1 -0
- package/dist/identity/fleet-connect-hint.d.ts +41 -0
- package/dist/identity/fleet-connect-hint.d.ts.map +1 -0
- package/dist/identity/fleet-connect-hint.js +190 -0
- package/dist/identity/fleet-connect-hint.js.map +1 -0
- package/dist/identity/fleet-connect.d.ts +93 -0
- package/dist/identity/fleet-connect.d.ts.map +1 -0
- package/dist/identity/fleet-connect.js +256 -0
- package/dist/identity/fleet-connect.js.map +1 -0
- package/dist/identity/fleet-integration-connect.d.ts +32 -0
- package/dist/identity/fleet-integration-connect.d.ts.map +1 -0
- package/dist/identity/fleet-integration-connect.js +35 -0
- package/dist/identity/fleet-integration-connect.js.map +1 -0
- package/dist/identity/fleet.d.ts +56 -0
- package/dist/identity/fleet.d.ts.map +1 -0
- package/dist/identity/fleet.js +131 -0
- package/dist/identity/fleet.js.map +1 -0
- package/dist/identity/github/connect-http.d.ts +8 -4
- package/dist/identity/github/connect-http.d.ts.map +1 -1
- package/dist/identity/github/connect-http.js +32 -15
- package/dist/identity/github/connect-http.js.map +1 -1
- package/dist/identity/github/credentials-store.d.ts +10 -10
- package/dist/identity/github/credentials-store.d.ts.map +1 -1
- package/dist/identity/github/credentials-store.js +62 -49
- package/dist/identity/github/credentials-store.js.map +1 -1
- package/dist/identity/github/credentials.d.ts +16 -13
- package/dist/identity/github/credentials.d.ts.map +1 -1
- package/dist/identity/github/credentials.js +43 -23
- package/dist/identity/github/credentials.js.map +1 -1
- package/dist/identity/github/index.d.ts +1 -4
- package/dist/identity/github/index.d.ts.map +1 -1
- package/dist/identity/github/index.js +0 -3
- package/dist/identity/github/index.js.map +1 -1
- package/dist/identity/github/oauth.d.ts +18 -20
- package/dist/identity/github/oauth.d.ts.map +1 -1
- package/dist/identity/github/oauth.js +90 -109
- package/dist/identity/github/oauth.js.map +1 -1
- package/dist/identity/google/connect-http.d.ts +37 -0
- package/dist/identity/google/connect-http.d.ts.map +1 -0
- package/dist/identity/google/connect-http.js +42 -0
- package/dist/identity/google/connect-http.js.map +1 -0
- package/dist/identity/google/index.d.ts +7 -0
- package/dist/identity/google/index.d.ts.map +1 -0
- package/dist/identity/google/index.js +6 -0
- package/dist/identity/google/index.js.map +1 -0
- package/dist/identity/google/oauth.d.ts +22 -0
- package/dist/identity/google/oauth.d.ts.map +1 -0
- package/dist/identity/google/oauth.js +48 -0
- package/dist/identity/google/oauth.js.map +1 -0
- package/dist/identity/index.d.ts +40 -64
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +104 -243
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/linkedin/connect-http.d.ts +37 -0
- package/dist/identity/linkedin/connect-http.d.ts.map +1 -0
- package/dist/identity/linkedin/connect-http.js +41 -0
- package/dist/identity/linkedin/connect-http.js.map +1 -0
- package/dist/identity/linkedin/index.d.ts +7 -0
- package/dist/identity/linkedin/index.d.ts.map +1 -0
- package/dist/identity/linkedin/index.js +6 -0
- package/dist/identity/linkedin/index.js.map +1 -0
- package/dist/identity/linkedin/oauth.d.ts +22 -0
- package/dist/identity/linkedin/oauth.d.ts.map +1 -0
- package/dist/identity/linkedin/oauth.js +47 -0
- package/dist/identity/linkedin/oauth.js.map +1 -0
- package/dist/identity/loopback.d.ts +27 -2
- package/dist/identity/loopback.d.ts.map +1 -1
- package/dist/identity/loopback.js +61 -8
- package/dist/identity/loopback.js.map +1 -1
- package/dist/identity/marketplace/connect-hint.d.ts +31 -0
- package/dist/identity/marketplace/connect-hint.d.ts.map +1 -0
- package/dist/identity/marketplace/connect-hint.js +59 -0
- package/dist/identity/marketplace/connect-hint.js.map +1 -0
- package/dist/identity/marketplace/connect.d.ts +51 -0
- package/dist/identity/marketplace/connect.d.ts.map +1 -0
- package/dist/identity/marketplace/connect.js +88 -0
- package/dist/identity/marketplace/connect.js.map +1 -0
- package/dist/identity/marketplace/index.d.ts +9 -0
- package/dist/identity/marketplace/index.d.ts.map +1 -0
- package/dist/identity/marketplace/index.js +9 -0
- package/dist/identity/marketplace/index.js.map +1 -0
- package/dist/identity/microsoft/connect-http.d.ts +38 -0
- package/dist/identity/microsoft/connect-http.d.ts.map +1 -0
- package/dist/identity/microsoft/connect-http.js +42 -0
- package/dist/identity/microsoft/connect-http.js.map +1 -0
- package/dist/identity/microsoft/index.d.ts +7 -0
- package/dist/identity/microsoft/index.d.ts.map +1 -0
- package/dist/identity/microsoft/index.js +6 -0
- package/dist/identity/microsoft/index.js.map +1 -0
- package/dist/identity/microsoft/oauth.d.ts +24 -0
- package/dist/identity/microsoft/oauth.d.ts.map +1 -0
- package/dist/identity/microsoft/oauth.js +65 -0
- package/dist/identity/microsoft/oauth.js.map +1 -0
- package/dist/identity/oauth-env.d.ts +43 -0
- package/dist/identity/oauth-env.d.ts.map +1 -0
- package/dist/identity/oauth-env.js +66 -0
- package/dist/identity/oauth-env.js.map +1 -0
- package/dist/identity/oauth-tickets.d.ts +37 -0
- package/dist/identity/oauth-tickets.d.ts.map +1 -0
- package/dist/identity/oauth-tickets.js +114 -0
- package/dist/identity/oauth-tickets.js.map +1 -0
- package/dist/identity/options.d.ts +35 -0
- package/dist/identity/options.d.ts.map +1 -0
- package/dist/identity/options.js +80 -0
- package/dist/identity/options.js.map +1 -0
- package/dist/identity/slack/connect-http.d.ts +6 -4
- package/dist/identity/slack/connect-http.d.ts.map +1 -1
- package/dist/identity/slack/connect-http.js +27 -17
- package/dist/identity/slack/connect-http.js.map +1 -1
- package/dist/identity/slack/index.d.ts +1 -2
- package/dist/identity/slack/index.d.ts.map +1 -1
- package/dist/identity/slack/index.js +1 -2
- package/dist/identity/slack/index.js.map +1 -1
- package/dist/identity/slack/links.d.ts +18 -17
- package/dist/identity/slack/links.d.ts.map +1 -1
- package/dist/identity/slack/links.js +75 -61
- package/dist/identity/slack/links.js.map +1 -1
- package/dist/identity/slack/oauth.d.ts +3 -35
- package/dist/identity/slack/oauth.d.ts.map +1 -1
- package/dist/identity/slack/oauth.js +9 -115
- package/dist/identity/slack/oauth.js.map +1 -1
- package/dist/identity/supabase.js +9 -9
- package/dist/identity/supabase.js.map +1 -1
- package/dist/identity/types.d.ts +91 -54
- package/dist/identity/types.d.ts.map +1 -1
- package/dist/identity/x/connect-http.d.ts +38 -0
- package/dist/identity/x/connect-http.d.ts.map +1 -0
- package/dist/identity/x/connect-http.js +41 -0
- package/dist/identity/x/connect-http.js.map +1 -0
- package/dist/identity/x/index.d.ts +6 -0
- package/dist/identity/x/index.d.ts.map +1 -0
- package/dist/identity/x/index.js +5 -0
- package/dist/identity/x/index.js.map +1 -0
- package/dist/index.d.ts +9 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -11
- package/dist/index.js.map +1 -1
- package/dist/ingress/index.d.ts +52 -0
- package/dist/ingress/index.d.ts.map +1 -0
- package/dist/ingress/index.js +139 -0
- package/dist/ingress/index.js.map +1 -0
- package/dist/memory/define-memory.d.ts +39 -0
- package/dist/memory/define-memory.d.ts.map +1 -0
- package/dist/memory/define-memory.js +78 -0
- package/dist/memory/define-memory.js.map +1 -0
- package/dist/memory/index.d.ts +9 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +8 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/memory/instructions-middleware.d.ts +74 -0
- package/dist/memory/instructions-middleware.d.ts.map +1 -0
- package/dist/memory/instructions-middleware.js +115 -0
- package/dist/memory/instructions-middleware.js.map +1 -0
- package/dist/memory/slices.d.ts +21 -0
- package/dist/memory/slices.d.ts.map +1 -0
- package/dist/memory/slices.js +61 -0
- package/dist/memory/slices.js.map +1 -0
- package/dist/memory/types.d.ts +71 -0
- package/dist/memory/types.d.ts.map +1 -0
- package/dist/memory/types.js +10 -0
- package/dist/memory/types.js.map +1 -0
- package/dist/namespaces.d.ts +262 -0
- package/dist/namespaces.d.ts.map +1 -0
- package/dist/namespaces.js +101 -0
- package/dist/namespaces.js.map +1 -0
- package/dist/runtime/auth.d.ts +46 -32
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +234 -125
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +1 -1
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +26 -5
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/channel.d.ts +91 -0
- package/dist/runtime/channel.d.ts.map +1 -0
- package/dist/runtime/channel.js +98 -0
- package/dist/runtime/channel.js.map +1 -0
- package/dist/runtime/connector.d.ts +66 -23
- package/dist/runtime/connector.d.ts.map +1 -1
- package/dist/runtime/connector.js +67 -27
- package/dist/runtime/connector.js.map +1 -1
- package/dist/runtime/cors.d.ts +12 -3
- package/dist/runtime/cors.d.ts.map +1 -1
- package/dist/runtime/cors.js +23 -5
- package/dist/runtime/cors.js.map +1 -1
- package/dist/runtime/credentials.d.ts +8 -8
- package/dist/runtime/credentials.d.ts.map +1 -1
- package/dist/runtime/credentials.js +46 -23
- package/dist/runtime/credentials.js.map +1 -1
- package/dist/runtime/http.d.ts +46 -0
- package/dist/runtime/http.d.ts.map +1 -0
- package/dist/runtime/http.js +53 -0
- package/dist/runtime/http.js.map +1 -0
- package/dist/runtime/identity-http.d.ts +13 -20
- package/dist/runtime/identity-http.d.ts.map +1 -1
- package/dist/runtime/identity-http.js +158 -75
- package/dist/runtime/identity-http.js.map +1 -1
- package/dist/runtime/identity-runtime.d.ts +12 -28
- package/dist/runtime/identity-runtime.d.ts.map +1 -1
- package/dist/runtime/identity-runtime.js +35 -72
- package/dist/runtime/identity-runtime.js.map +1 -1
- package/dist/runtime/index.d.ts +89 -225
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +92 -61
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +0 -2
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +0 -2
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +4 -12
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +9 -20
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/recursion-limit.d.ts +22 -0
- package/dist/runtime/recursion-limit.d.ts.map +1 -0
- package/dist/runtime/recursion-limit.js +46 -0
- package/dist/runtime/recursion-limit.js.map +1 -0
- package/dist/runtime/sandbox-manager.d.ts +60 -3
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +326 -26
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/sandbox-stream-retry.d.ts +18 -0
- package/dist/runtime/sandbox-stream-retry.d.ts.map +1 -0
- package/dist/runtime/sandbox-stream-retry.js +90 -0
- package/dist/runtime/sandbox-stream-retry.js.map +1 -0
- package/dist/runtime/setup-script.d.ts.map +1 -1
- package/dist/runtime/setup-script.js +16 -2
- package/dist/runtime/setup-script.js.map +1 -1
- package/dist/runtime/types.d.ts +16 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/runtime/validated-token.d.ts +9 -14
- package/dist/runtime/validated-token.d.ts.map +1 -1
- package/dist/runtime/validated-token.js +79 -106
- package/dist/runtime/validated-token.js.map +1 -1
- package/dist/sandbox.d.ts +17 -42
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js +11 -32
- package/dist/sandbox.js.map +1 -1
- package/dist/schedules.js +8 -9
- package/dist/schedules.js.map +1 -1
- package/dist/types.d.ts +4 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +22 -29
- package/dist/channels/collect.d.ts +0 -26
- package/dist/channels/collect.d.ts.map +0 -1
- package/dist/channels/collect.js +0 -42
- package/dist/channels/collect.js.map +0 -1
- package/dist/channels/github/adapter-core.d.ts +0 -6
- package/dist/channels/github/adapter-core.d.ts.map +0 -1
- package/dist/channels/github/adapter-core.js +0 -27
- package/dist/channels/github/adapter-core.js.map +0 -1
- package/dist/channels/github/adapter.d.ts +0 -16
- package/dist/channels/github/adapter.d.ts.map +0 -1
- package/dist/channels/github/adapter.js +0 -52
- package/dist/channels/github/adapter.js.map +0 -1
- package/dist/channels/github/define.d.ts +0 -198
- package/dist/channels/github/define.d.ts.map +0 -1
- package/dist/channels/github/define.js +0 -166
- package/dist/channels/github/define.js.map +0 -1
- package/dist/channels/github/http.d.ts +0 -25
- package/dist/channels/github/http.d.ts.map +0 -1
- package/dist/channels/github/http.js +0 -147
- package/dist/channels/github/http.js.map +0 -1
- package/dist/channels/github/index.d.ts +0 -12
- package/dist/channels/github/index.d.ts.map +0 -1
- package/dist/channels/github/index.js +0 -10
- package/dist/channels/github/index.js.map +0 -1
- package/dist/channels/github/normalize.d.ts +0 -32
- package/dist/channels/github/normalize.d.ts.map +0 -1
- package/dist/channels/github/normalize.js +0 -152
- package/dist/channels/github/normalize.js.map +0 -1
- package/dist/channels/github/source-thread.d.ts +0 -24
- package/dist/channels/github/source-thread.d.ts.map +0 -1
- package/dist/channels/github/source-thread.js +0 -54
- package/dist/channels/github/source-thread.js.map +0 -1
- package/dist/channels/github/transport.d.ts +0 -19
- package/dist/channels/github/transport.d.ts.map +0 -1
- package/dist/channels/github/transport.js +0 -92
- package/dist/channels/github/transport.js.map +0 -1
- package/dist/channels/plugin.d.ts +0 -61
- package/dist/channels/plugin.d.ts.map +0 -1
- package/dist/channels/plugin.js +0 -80
- package/dist/channels/plugin.js.map +0 -1
- package/dist/channels/slack/define.d.ts +0 -74
- package/dist/channels/slack/define.d.ts.map +0 -1
- package/dist/channels/slack/define.js +0 -160
- package/dist/channels/slack/define.js.map +0 -1
- package/dist/connectors/github/index.d.ts +0 -78
- package/dist/connectors/github/index.d.ts.map +0 -1
- package/dist/connectors/github/index.js +0 -106
- package/dist/connectors/github/index.js.map +0 -1
- package/dist/connectors/github/sandbox.d.ts +0 -54
- package/dist/connectors/github/sandbox.d.ts.map +0 -1
- package/dist/connectors/github/sandbox.js +0 -515
- package/dist/connectors/github/sandbox.js.map +0 -1
- package/dist/connectors/langsmith/index.d.ts +0 -385
- package/dist/connectors/langsmith/index.d.ts.map +0 -1
- package/dist/connectors/langsmith/index.js +0 -431
- package/dist/connectors/langsmith/index.js.map +0 -1
- package/dist/connectors/langsmith/routes.d.ts +0 -247
- package/dist/connectors/langsmith/routes.d.ts.map +0 -1
- package/dist/connectors/langsmith/routes.js +0 -1182
- package/dist/connectors/langsmith/routes.js.map +0 -1
- package/dist/runtime/memory/seed.d.ts +0 -21
- package/dist/runtime/memory/seed.d.ts.map +0 -1
- package/dist/runtime/memory/seed.js +0 -160
- package/dist/runtime/memory/seed.js.map +0 -1
- package/dist/runtime/memory/user-repo.d.ts +0 -19
- package/dist/runtime/memory/user-repo.d.ts.map +0 -1
- package/dist/runtime/memory/user-repo.js +0 -57
- package/dist/runtime/memory/user-repo.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-deep-agent.d.ts","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,OAAO,SAAS,qBAAqB,EACzE,MAAM,EAAE,OAAO,GACd,mBAAmB,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"define-deep-agent.d.ts","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EAEtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,OAAO,SAAS,qBAAqB,EACzE,MAAM,EAAE,OAAO,GACd,mBAAmB,CAAC,OAAO,CAAC,CAoD9B"}
|
|
@@ -44,9 +44,15 @@ export function defineDeepAgent(config) {
|
|
|
44
44
|
"Write your agent's system prompt in instructions.md next to agent.ts; " +
|
|
45
45
|
"the CLI embeds it at deploy time.");
|
|
46
46
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
// Memory is no longer a knob on the agent definition: it is declared once, in
|
|
48
|
+
// `memory.ts`. Rejecting the old flag outright (rather than treating it as a
|
|
49
|
+
// redundant "off") keeps `disableMemory: false` from silently meaning the
|
|
50
|
+
// opposite of what it used to.
|
|
51
|
+
if ("disableMemory" in provided) {
|
|
52
|
+
throw new Error("disableMemory is no longer supported in defineDeepAgent(...). Durable " +
|
|
53
|
+
"memory is opt-in and declared in memory.ts: export `memory` with " +
|
|
54
|
+
'`defineMemory({ scope: "agent" })` to enable it, or leave the file out ' +
|
|
55
|
+
"to keep no memory (the default). Remove `disableMemory` here.");
|
|
50
56
|
}
|
|
51
57
|
const managed = ["backend", "store", "checkpointer", "memory", "skills"].filter((key) => key in provided);
|
|
52
58
|
if (managed.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define-deep-agent.js","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAe;IAEf,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,MAAiC,CAAC;IAEnD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,kEAAkE;YAClE,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,wEAAwE;YACxE,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"define-deep-agent.js","sourceRoot":"","sources":["../src/define-deep-agent.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAe;IAEf,+EAA+E;IAC/E,6EAA6E;IAC7E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,MAAiC,CAAC;IAEnD,IAAI,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CACb,iEAAiE;YAC/D,kEAAkE;YAClE,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IAED,IAAI,cAAc,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,4EAA4E;YAC1E,wEAAwE;YACxE,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,0EAA0E;IAC1E,+BAA+B;IAC/B,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,wEAAwE;YACtE,mEAAmE;YACnE,yEAAyE;YACzE,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GACX,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,CACxD,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,CAA0B,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB;YAC1E,2EAA2E;YAC3E,6EAA6E,CAChF,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,MAAM;KACyB,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The contribution API behind the extensible MDA primitives.
|
|
3
|
+
*
|
|
4
|
+
* `defineExtension(kind, options)` returns the factory a connector namespace
|
|
5
|
+
* calls, such as `connectors.slack({ … })`. Argument parsing, branding, and
|
|
6
|
+
* manifest stamping are shared.
|
|
7
|
+
*
|
|
8
|
+
* Every kind declares its input through `args`, which takes a schema from any
|
|
9
|
+
* [Standard Schema](https://standardschema.dev) library — Zod, Valibot,
|
|
10
|
+
* ArkType — or a plain function where a schema does not fit. Validating through
|
|
11
|
+
* that interface keeps the vendor out of this package's dependencies, so a
|
|
12
|
+
* contributor picks whichever library they already use.
|
|
13
|
+
*
|
|
14
|
+
* This module is deliberately absent from the package barrel. Only the
|
|
15
|
+
* first-party namespaces in `namespaces.ts` contribute primitives, so an agent
|
|
16
|
+
* project cannot mount its own adapter or HTTP route into the managed runtime.
|
|
17
|
+
* Opening it up to third-party packages is a later step.
|
|
18
|
+
*
|
|
19
|
+
* The `auth`, `credentials`, and `connect` primitives are extended by plain
|
|
20
|
+
* factories rather than through here: they return inert configuration objects
|
|
21
|
+
* with no brand, hooks, or normalization to share. They gain an envelope when
|
|
22
|
+
* this API is exported and their inputs need validating at the boundary.
|
|
23
|
+
*/
|
|
24
|
+
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
25
|
+
import type { ChannelTransport } from "./channels/runtime.js";
|
|
26
|
+
import { type Connector, type ConnectorRequirements, type ConnectorToolList, type EventsContext, type HttpContext, type SandboxContext, type ToolContext } from "./runtime/connector.js";
|
|
27
|
+
/** The primitives that carry a shared construction envelope. */
|
|
28
|
+
export type ExtensionKind = "connector";
|
|
29
|
+
/**
|
|
30
|
+
* How author input becomes the arguments a primitive is built from.
|
|
31
|
+
*
|
|
32
|
+
* Either a schema from any [Standard Schema](https://standardschema.dev)
|
|
33
|
+
* library — Zod, Valibot, ArkType, … — or a plain function for the cases a
|
|
34
|
+
* schema cannot express. Both run at module load, so misconfiguration surfaces
|
|
35
|
+
* at build or dev startup rather than mid-run. Defaults and coercions belong
|
|
36
|
+
* here too: whatever this produces is what the primitive carries.
|
|
37
|
+
*/
|
|
38
|
+
export type ExtensionArgs<TInput, TArgs> = StandardSchemaV1<TInput, TArgs> | ((input: TInput) => TArgs);
|
|
39
|
+
/** Shared by every kind: how the factory's input is validated, and its name. */
|
|
40
|
+
interface ExtensionEnvelope<TInput, TArgs> {
|
|
41
|
+
args: ExtensionArgs<TInput, TArgs>;
|
|
42
|
+
/**
|
|
43
|
+
* How the factory is spelled in an agent project, e.g. `"connectors.mcp"`.
|
|
44
|
+
* Prefixes validation errors, which is the only place an author sees it.
|
|
45
|
+
*/
|
|
46
|
+
label: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A connector contributes tools, HTTP routes, sandbox provisioning, inbound
|
|
50
|
+
* events, and/or a named messaging surface. Hooks receive the built connector,
|
|
51
|
+
* so they can read the parsed arguments spread onto it.
|
|
52
|
+
*/
|
|
53
|
+
export interface ConnectorExtensionOptions<TInput, TArgs extends object, TKind extends string> extends ExtensionEnvelope<TInput, TArgs> {
|
|
54
|
+
/** Diagnostic label (e.g. `"mcp_servers"`). Mounts use the file-stem name. */
|
|
55
|
+
kind: TKind;
|
|
56
|
+
tools?(ctx: ToolContext, self: ConnectorInstance<TArgs, TKind>): ConnectorToolList | Promise<ConnectorToolList>;
|
|
57
|
+
http?(ctx: HttpContext, self: ConnectorInstance<TArgs, TKind>): void | Promise<void>;
|
|
58
|
+
sandbox?(ctx: SandboxContext, self: ConnectorInstance<TArgs, TKind>): void | Promise<void>;
|
|
59
|
+
events?(ctx: EventsContext, self: ConnectorInstance<TArgs, TKind>): Response | Promise<Response>;
|
|
60
|
+
messaging?(env: NodeJS.ProcessEnv, self: ConnectorInstance<TArgs, TKind>): ChannelTransport | undefined;
|
|
61
|
+
requirements?(name: string, self: ConnectorInstance<TArgs, TKind>): ConnectorRequirements;
|
|
62
|
+
}
|
|
63
|
+
/** The connector a `"connector"` extension builds: its brand, kind, and args. */
|
|
64
|
+
export type ConnectorInstance<TArgs extends object, TKind extends string> = Connector & TArgs & {
|
|
65
|
+
readonly kind: TKind;
|
|
66
|
+
};
|
|
67
|
+
export declare function defineExtension<TInput, TArgs extends object, TKind extends string>(kind: "connector", options: ConnectorExtensionOptions<TInput, TArgs, TKind>): (input: TInput) => ConnectorInstance<TArgs, TKind>;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAEhC,gEAAgE;AAChE,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,IACnC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/B,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC;AAE/B,gFAAgF;AAChF,UAAU,iBAAiB,CAAC,MAAM,EAAE,KAAK;IACvC,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB,CACxC,MAAM,EACN,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,MAAM,CACpB,SAAQ,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;IACxC,8EAA8E;IAC9E,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,CACJ,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACpC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,CAAC,CACH,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACpC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,CAAC,CACN,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACpC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,CAAC,CACL,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACpC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,CAAC,CACR,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACpC,gBAAgB,GAAG,SAAS,CAAC;IAChC,YAAY,CAAC,CACX,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,GACpC,qBAAqB,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,MAAM,IAClB,SAAS,GAAG,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC;AAEjD,wBAAgB,eAAe,CAC7B,MAAM,EACN,KAAK,SAAS,MAAM,EACpB,KAAK,SAAS,MAAM,EAEpB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,yBAAyB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,GACvD,CAAC,KAAK,EAAE,MAAM,KAAK,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The contribution API behind the extensible MDA primitives.
|
|
3
|
+
*
|
|
4
|
+
* `defineExtension(kind, options)` returns the factory a connector namespace
|
|
5
|
+
* calls, such as `connectors.slack({ … })`. Argument parsing, branding, and
|
|
6
|
+
* manifest stamping are shared.
|
|
7
|
+
*
|
|
8
|
+
* Every kind declares its input through `args`, which takes a schema from any
|
|
9
|
+
* [Standard Schema](https://standardschema.dev) library — Zod, Valibot,
|
|
10
|
+
* ArkType — or a plain function where a schema does not fit. Validating through
|
|
11
|
+
* that interface keeps the vendor out of this package's dependencies, so a
|
|
12
|
+
* contributor picks whichever library they already use.
|
|
13
|
+
*
|
|
14
|
+
* This module is deliberately absent from the package barrel. Only the
|
|
15
|
+
* first-party namespaces in `namespaces.ts` contribute primitives, so an agent
|
|
16
|
+
* project cannot mount its own adapter or HTTP route into the managed runtime.
|
|
17
|
+
* Opening it up to third-party packages is a later step.
|
|
18
|
+
*
|
|
19
|
+
* The `auth`, `credentials`, and `connect` primitives are extended by plain
|
|
20
|
+
* factories rather than through here: they return inert configuration objects
|
|
21
|
+
* with no brand, hooks, or normalization to share. They gain an envelope when
|
|
22
|
+
* this API is exported and their inputs need validating at the boundary.
|
|
23
|
+
*/
|
|
24
|
+
import { CONNECTOR_BRAND, } from "./runtime/connector.js";
|
|
25
|
+
export function defineExtension(kind, options) {
|
|
26
|
+
switch (kind) {
|
|
27
|
+
case "connector":
|
|
28
|
+
return connectorExtension(options);
|
|
29
|
+
default:
|
|
30
|
+
throw new TypeError(`Unknown extension kind: ${String(kind)}`);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function connectorExtension(options) {
|
|
34
|
+
const parse = parser(options);
|
|
35
|
+
return (input) => {
|
|
36
|
+
const args = parse(input);
|
|
37
|
+
const self = { kind: options.kind, ...args };
|
|
38
|
+
// Hooks and the brand stay non-enumerable so a connector still spreads and
|
|
39
|
+
// serializes as its plain configuration.
|
|
40
|
+
hide(self, CONNECTOR_BRAND, true);
|
|
41
|
+
if (options.tools) {
|
|
42
|
+
const tools = options.tools;
|
|
43
|
+
hide(self, "tools", (ctx) => tools(ctx, self));
|
|
44
|
+
}
|
|
45
|
+
if (options.http) {
|
|
46
|
+
const http = options.http;
|
|
47
|
+
hide(self, "http", (ctx) => http(ctx, self));
|
|
48
|
+
}
|
|
49
|
+
if (options.sandbox) {
|
|
50
|
+
const sandbox = options.sandbox;
|
|
51
|
+
hide(self, "sandbox", (ctx) => sandbox(ctx, self));
|
|
52
|
+
}
|
|
53
|
+
if (options.events) {
|
|
54
|
+
const events = options.events;
|
|
55
|
+
hide(self, "events", (ctx) => events(ctx, self));
|
|
56
|
+
}
|
|
57
|
+
if (options.messaging) {
|
|
58
|
+
const messaging = options.messaging;
|
|
59
|
+
hide(self, "messaging", (env) => messaging(env, self));
|
|
60
|
+
}
|
|
61
|
+
if (options.requirements) {
|
|
62
|
+
const requirements = options.requirements;
|
|
63
|
+
hide(self, "requirements", (name) => requirements(name, self));
|
|
64
|
+
}
|
|
65
|
+
return self;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolve `args` into the function the factory runs on its input.
|
|
70
|
+
*
|
|
71
|
+
* A schema is validated through the Standard Schema interface, so the vendor
|
|
72
|
+
* (Zod, Valibot, …) never has to be a dependency of this package.
|
|
73
|
+
*/
|
|
74
|
+
function parser(options) {
|
|
75
|
+
const { args, label } = options;
|
|
76
|
+
if (typeof args === "function") {
|
|
77
|
+
return args;
|
|
78
|
+
}
|
|
79
|
+
const { validate } = args["~standard"];
|
|
80
|
+
return (input) => {
|
|
81
|
+
const result = validate(input);
|
|
82
|
+
if (result instanceof Promise) {
|
|
83
|
+
throw new TypeError(`${label}(...) needs a schema that validates synchronously, because ` +
|
|
84
|
+
"primitives are declared at module load. Drop the async refinement " +
|
|
85
|
+
"or validate inside a hook instead.");
|
|
86
|
+
}
|
|
87
|
+
if (result.issues) {
|
|
88
|
+
throw new Error(`${label}(...) ${describeIssues(result.issues)}`);
|
|
89
|
+
}
|
|
90
|
+
return result.value;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** Render schema issues as `path: message`, in the order the vendor reported. */
|
|
94
|
+
function describeIssues(issues) {
|
|
95
|
+
const lines = issues.map((issue) => {
|
|
96
|
+
const path = (issue.path ?? [])
|
|
97
|
+
.map((segment) => String(typeof segment === "object" ? segment.key : segment))
|
|
98
|
+
.join(".");
|
|
99
|
+
return path.length > 0 ? `${path}: ${issue.message}` : issue.message;
|
|
100
|
+
});
|
|
101
|
+
return lines.length === 1
|
|
102
|
+
? `received invalid configuration — ${lines[0]}.`
|
|
103
|
+
: `received invalid configuration:\n - ${lines.join("\n - ")}`;
|
|
104
|
+
}
|
|
105
|
+
function hide(target, key, value) {
|
|
106
|
+
Object.defineProperty(target, key, { value, enumerable: false });
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic LangSmith agent_id for an MDA actor's Fleet vault subject.
|
|
3
|
+
*
|
|
4
|
+
* Tokens imported via Connect-with-X and toolserver `?agent_id=` must use the
|
|
5
|
+
* same derivation so each caller reaches their own vault connections. One
|
|
6
|
+
* actor has one agent_id; multiple Fleet OAuth integrations attach as distinct
|
|
7
|
+
* `provider_id`s on that subject.
|
|
8
|
+
*/
|
|
9
|
+
import { type FleetOAuthIntegration } from "../connectors/toolserver/integrations.js";
|
|
10
|
+
import type { IdentityConnectMountContext } from "./connect-provider-types.js";
|
|
11
|
+
/**
|
|
12
|
+
* Fixed namespace for MDA actor vault subjects (UUID form).
|
|
13
|
+
* Stable across releases so reconnects hit the same vault row.
|
|
14
|
+
*/
|
|
15
|
+
export declare const NAMESPACE_MDA_ACTOR = "c0ffee00-0da0-4111-8111-000000000001";
|
|
16
|
+
export interface AgentIdFromActorOptions {
|
|
17
|
+
/**
|
|
18
|
+
* Workspace discriminator so ids do not collide across workspaces.
|
|
19
|
+
* Defaults to {@link resolveActorDeploymentId} (`LANGSMITH_WORKSPACE_ID`).
|
|
20
|
+
*/
|
|
21
|
+
deploymentId?: string;
|
|
22
|
+
/** Override process env (tests). */
|
|
23
|
+
env?: NodeJS.ProcessEnv;
|
|
24
|
+
/** Override the UUID namespace (tests). */
|
|
25
|
+
namespace?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolve the workspace slice for {@link agentIdFromActor}.
|
|
29
|
+
*
|
|
30
|
+
* Uses `LANGSMITH_WORKSPACE_ID`, else `"local"`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveActorDeploymentId(env?: NodeJS.ProcessEnv): string;
|
|
33
|
+
/**
|
|
34
|
+
* Derive the vault `agent_id` for an authenticated MDA actor.
|
|
35
|
+
*
|
|
36
|
+
* `uuidv5(`${workspaceId}:${userId}`, NAMESPACE_MDA_ACTOR)`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function agentIdFromActor(userId: string, options?: AgentIdFromActorOptions): string;
|
|
39
|
+
/** Enable actor-subject routing for a Fleet OAuth integration. */
|
|
40
|
+
export declare function enableActorSubjectIntegration(integrationId: string): void;
|
|
41
|
+
/** True when actor-subject routing is on for `integrationId`. */
|
|
42
|
+
export declare function isActorSubjectIntegrationEnabled(integrationId: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* True when `slug` belongs to an enabled Fleet OAuth integration (per-actor
|
|
45
|
+
* `?agent_id=` routing).
|
|
46
|
+
*/
|
|
47
|
+
export declare function isActorSubjectSlugEnabled(slug: string | undefined): boolean;
|
|
48
|
+
/** Enabled integration ids (for connect-hint middleware, etc.). */
|
|
49
|
+
export declare function enabledActorSubjectIntegrations(): readonly string[];
|
|
50
|
+
/**
|
|
51
|
+
* Enable actor-subject mode for every Fleet integration implied by connectors on a
|
|
52
|
+
* user-scoped deployment. Agent-scoped deployments keep the shared
|
|
53
|
+
* `MDA_TOOLSERVER_AGENT_ID` subject.
|
|
54
|
+
*/
|
|
55
|
+
export declare function enableActorSubjectIntegrationsFromConnectors(connectorKinds: readonly (string | undefined)[] | undefined, scope?: IdentityConnectMountContext["scope"]): void;
|
|
56
|
+
/** Enable a specific integration when connectors imply it (user-scoped only). */
|
|
57
|
+
export declare function enableActorSubjectIntegrationFromConnectors(integration: FleetOAuthIntegration, connectorKinds: readonly (string | undefined)[] | undefined, scope?: IdentityConnectMountContext["scope"]): void;
|
|
58
|
+
/** Test-only reset. */
|
|
59
|
+
export declare function resetActorSubjectEnabledForTests(): void;
|
|
60
|
+
//# sourceMappingURL=actor-subject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actor-subject.d.ts","sourceRoot":"","sources":["../../src/identity/actor-subject.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAY/E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAE1E,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAUR;AAKD,kEAAkE;AAClE,wBAAgB,6BAA6B,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAKzE;AAED,iEAAiE;AACjE,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,MAAM,GACpB,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAG3E;AAED,mEAAmE;AACnE,wBAAgB,+BAA+B,IAAI,SAAS,MAAM,EAAE,CAEnE;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,cAAc,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,EAC3D,KAAK,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC3C,IAAI,CAcN;AAED,iFAAiF;AACjF,wBAAgB,2CAA2C,CACzD,WAAW,EAAE,qBAAqB,EAClC,cAAc,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,SAAS,EAC3D,KAAK,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,GAC3C,IAAI,CAON;AAED,uBAAuB;AACvB,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic LangSmith agent_id for an MDA actor's Fleet vault subject.
|
|
3
|
+
*
|
|
4
|
+
* Tokens imported via Connect-with-X and toolserver `?agent_id=` must use the
|
|
5
|
+
* same derivation so each caller reaches their own vault connections. One
|
|
6
|
+
* actor has one agent_id; multiple Fleet OAuth integrations attach as distinct
|
|
7
|
+
* `provider_id`s on that subject.
|
|
8
|
+
*/
|
|
9
|
+
import { v5 as uuidv5 } from "uuid";
|
|
10
|
+
import { MARKETPLACE_MCP_INTEGRATIONS, hasMarketplaceConnector, } from "../connectors/marketplace/catalog.js";
|
|
11
|
+
import { FLEET_OAUTH_INTEGRATIONS, integrationForSlug, hasIntegrationToolServerConnector, } from "../connectors/toolserver/integrations.js";
|
|
12
|
+
function isUserScoped(scope) {
|
|
13
|
+
if (!scope) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
// Per-caller Connect / actor-subject vault ownership. Memory is unrelated.
|
|
17
|
+
return scope.credentials === "user" || scope.credentials === "custom";
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Fixed namespace for MDA actor vault subjects (UUID form).
|
|
21
|
+
* Stable across releases so reconnects hit the same vault row.
|
|
22
|
+
*/
|
|
23
|
+
export const NAMESPACE_MDA_ACTOR = "c0ffee00-0da0-4111-8111-000000000001";
|
|
24
|
+
/**
|
|
25
|
+
* Resolve the workspace slice for {@link agentIdFromActor}.
|
|
26
|
+
*
|
|
27
|
+
* Uses `LANGSMITH_WORKSPACE_ID`, else `"local"`.
|
|
28
|
+
*/
|
|
29
|
+
export function resolveActorDeploymentId(env = process.env) {
|
|
30
|
+
return trimmed(env.LANGSMITH_WORKSPACE_ID) ?? "local";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Derive the vault `agent_id` for an authenticated MDA actor.
|
|
34
|
+
*
|
|
35
|
+
* `uuidv5(`${workspaceId}:${userId}`, NAMESPACE_MDA_ACTOR)`.
|
|
36
|
+
*/
|
|
37
|
+
export function agentIdFromActor(userId, options = {}) {
|
|
38
|
+
const id = userId.trim();
|
|
39
|
+
if (!id) {
|
|
40
|
+
throw new Error("agentIdFromActor requires a non-empty userId");
|
|
41
|
+
}
|
|
42
|
+
const deploymentId = options.deploymentId?.trim() ||
|
|
43
|
+
resolveActorDeploymentId(options.env ?? process.env);
|
|
44
|
+
const namespace = options.namespace ?? NAMESPACE_MDA_ACTOR;
|
|
45
|
+
return uuidv5(`${deploymentId}:${id}`, namespace);
|
|
46
|
+
}
|
|
47
|
+
/** Integrations with per-actor toolserver subject routing enabled in this process. */
|
|
48
|
+
const enabledIntegrations = new Set();
|
|
49
|
+
/** Enable actor-subject routing for a Fleet OAuth integration. */
|
|
50
|
+
export function enableActorSubjectIntegration(integrationId) {
|
|
51
|
+
const id = integrationId.trim();
|
|
52
|
+
if (id) {
|
|
53
|
+
enabledIntegrations.add(id);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** True when actor-subject routing is on for `integrationId`. */
|
|
57
|
+
export function isActorSubjectIntegrationEnabled(integrationId) {
|
|
58
|
+
return enabledIntegrations.has(integrationId);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* True when `slug` belongs to an enabled Fleet OAuth integration (per-actor
|
|
62
|
+
* `?agent_id=` routing).
|
|
63
|
+
*/
|
|
64
|
+
export function isActorSubjectSlugEnabled(slug) {
|
|
65
|
+
const integration = integrationForSlug(slug);
|
|
66
|
+
return integration != null && enabledIntegrations.has(integration.id);
|
|
67
|
+
}
|
|
68
|
+
/** Enabled integration ids (for connect-hint middleware, etc.). */
|
|
69
|
+
export function enabledActorSubjectIntegrations() {
|
|
70
|
+
return [...enabledIntegrations];
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Enable actor-subject mode for every Fleet integration implied by connectors on a
|
|
74
|
+
* user-scoped deployment. Agent-scoped deployments keep the shared
|
|
75
|
+
* `MDA_TOOLSERVER_AGENT_ID` subject.
|
|
76
|
+
*/
|
|
77
|
+
export function enableActorSubjectIntegrationsFromConnectors(connectorKinds, scope) {
|
|
78
|
+
if (!isUserScoped(scope)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
for (const integration of FLEET_OAUTH_INTEGRATIONS) {
|
|
82
|
+
if (hasIntegrationToolServerConnector(integration, connectorKinds)) {
|
|
83
|
+
enableActorSubjectIntegration(integration.id);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const integration of MARKETPLACE_MCP_INTEGRATIONS) {
|
|
87
|
+
if (hasMarketplaceConnector(integration.id, connectorKinds)) {
|
|
88
|
+
enableActorSubjectIntegration(integration.id);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Enable a specific integration when connectors imply it (user-scoped only). */
|
|
93
|
+
export function enableActorSubjectIntegrationFromConnectors(integration, connectorKinds, scope) {
|
|
94
|
+
if (hasIntegrationToolServerConnector(integration, connectorKinds) &&
|
|
95
|
+
isUserScoped(scope)) {
|
|
96
|
+
enableActorSubjectIntegration(integration.id);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/** Test-only reset. */
|
|
100
|
+
export function resetActorSubjectEnabledForTests() {
|
|
101
|
+
enabledIntegrations.clear();
|
|
102
|
+
}
|
|
103
|
+
function trimmed(value) {
|
|
104
|
+
const v = value?.trim();
|
|
105
|
+
return v ? v : undefined;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=actor-subject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actor-subject.js","sourceRoot":"","sources":["../../src/identity/actor-subject.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory for optional BYO (bring-your-own) OAuth clients used when Fleet
|
|
3
|
+
* auth-sessions are unavailable.
|
|
4
|
+
*
|
|
5
|
+
* Vendor modules supply endpoints, authorize extras, and userinfo parsing;
|
|
6
|
+
* this module owns config env reading, authorize URL construction, token
|
|
7
|
+
* exchange, and the {@link FleetVaultByoOauth} adapter.
|
|
8
|
+
*/
|
|
9
|
+
import type { FleetVaultByoOauth, FleetVaultByoTokenResult } from "./fleet-connect.js";
|
|
10
|
+
import { type OauthTickets } from "./oauth-tickets.js";
|
|
11
|
+
import { resolveOauthRedirectBase } from "./oauth-env.js";
|
|
12
|
+
export { MDA_PUBLIC_API_URL_ENV, MDA_PUBLIC_APP_URL_ENV, OAUTH_STATE_SIGNING_KEY_ENV, readOauthStateSigningKey, resolveOauthRedirectBase, resolveSlackOauthRedirectBase, } from "./oauth-env.js";
|
|
13
|
+
/** Shared BYO OAuth client configuration. */
|
|
14
|
+
export interface ByoOauthConfig {
|
|
15
|
+
clientId: string;
|
|
16
|
+
clientSecret: string;
|
|
17
|
+
publicAppUrl: string;
|
|
18
|
+
scopes: string;
|
|
19
|
+
authUrl: string;
|
|
20
|
+
tokenUrl: string;
|
|
21
|
+
userInfoUrl: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ByoOauthEndpoints {
|
|
24
|
+
authUrl: string;
|
|
25
|
+
tokenUrl: string;
|
|
26
|
+
userInfoUrl: string;
|
|
27
|
+
/** Space-separated default scopes when env override is absent. */
|
|
28
|
+
defaultScopes: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ByoOauthUserInfo {
|
|
31
|
+
email?: string;
|
|
32
|
+
subject?: string;
|
|
33
|
+
/** Extra vault / provider metadata merged with {@link CreateByoOauthClientOptions.subjectMetadataKey}. */
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
}
|
|
36
|
+
export interface CreateByoOauthClientOptions {
|
|
37
|
+
/** Connect / ticket provider id, e.g. `"google"`. */
|
|
38
|
+
providerId: string;
|
|
39
|
+
/** Human label for error messages ("Google", "Microsoft"). */
|
|
40
|
+
displayName: string;
|
|
41
|
+
/**
|
|
42
|
+
* Env prefix without trailing underscore, e.g. `"GOOGLE_OAUTH"`.
|
|
43
|
+
* Reads `${prefix}_CLIENT_ID`, `_CLIENT_SECRET`, `_SCOPES`, `_AUTH_URL`,
|
|
44
|
+
* `_TOKEN_URL`, `_USERINFO_URL` unless overridden by {@link envKeys}.
|
|
45
|
+
*/
|
|
46
|
+
envPrefix: string;
|
|
47
|
+
/** Override individual env key names after prefix derivation (e.g. GitHub). */
|
|
48
|
+
envKeys?: Partial<ByoOauthEnvKeys>;
|
|
49
|
+
/** Default endpoints + scopes (may read extra env, e.g. tenant). */
|
|
50
|
+
defaultEndpoints: (env: NodeJS.ProcessEnv) => ByoOauthEndpoints;
|
|
51
|
+
/**
|
|
52
|
+
* Extra authorize query params merged after the shared OAuth code-grant
|
|
53
|
+
* fields. Defaults include `prompt=consent` unless {@link defaultPrompt} is
|
|
54
|
+
* `false`.
|
|
55
|
+
*/
|
|
56
|
+
authorizeParams?: Record<string, string>;
|
|
57
|
+
/**
|
|
58
|
+
* Default authorize `prompt` value. Set `false` to omit (GitHub).
|
|
59
|
+
* @default "consent"
|
|
60
|
+
*/
|
|
61
|
+
defaultPrompt?: string | false;
|
|
62
|
+
/**
|
|
63
|
+
* Token exchange request shape. GitHub needs JSON + `Accept: application/json`;
|
|
64
|
+
* most IdPs use form-urlencoded.
|
|
65
|
+
*/
|
|
66
|
+
tokenRequest?: {
|
|
67
|
+
format?: "form" | "json";
|
|
68
|
+
headers?: Record<string, string>;
|
|
69
|
+
};
|
|
70
|
+
/** UserInfo /profile request options. */
|
|
71
|
+
userInfoRequest?: {
|
|
72
|
+
headers?: Record<string, string>;
|
|
73
|
+
/** When true, a failed or incomplete userinfo response throws. */
|
|
74
|
+
required?: boolean;
|
|
75
|
+
};
|
|
76
|
+
/** Map a userinfo /me JSON body to email + subject (+ optional metadata). */
|
|
77
|
+
parseUserInfo: (json: Record<string, unknown>) => ByoOauthUserInfo;
|
|
78
|
+
/** Vault metadata key for the IdP subject (e.g. `google_sub`). */
|
|
79
|
+
subjectMetadataKey: string;
|
|
80
|
+
}
|
|
81
|
+
export interface ByoOauthEnvKeys {
|
|
82
|
+
clientId: string;
|
|
83
|
+
clientSecret: string;
|
|
84
|
+
scopes: string;
|
|
85
|
+
authUrl: string;
|
|
86
|
+
tokenUrl: string;
|
|
87
|
+
userInfoUrl: string;
|
|
88
|
+
}
|
|
89
|
+
/** BYO OAuth client produced by {@link createByoOauthClient}. */
|
|
90
|
+
export interface ByoOauthClient {
|
|
91
|
+
providerId: string;
|
|
92
|
+
displayName: string;
|
|
93
|
+
env: ByoOauthEnvKeys;
|
|
94
|
+
tickets: OauthTickets;
|
|
95
|
+
resolveRedirectBase: typeof resolveOauthRedirectBase;
|
|
96
|
+
readConfig(env?: NodeJS.ProcessEnv): ByoOauthConfig | null;
|
|
97
|
+
buildAuthorizeUrl(config: ByoOauthConfig, state: string, redirectUri: string, scopes?: string): string;
|
|
98
|
+
exchangeCode(config: ByoOauthConfig, code: string, redirectUri: string, fetchImpl?: typeof fetch): Promise<FleetVaultByoTokenResult>;
|
|
99
|
+
/** Ready for `createFleetVaultConnectProvider({ byo })`. */
|
|
100
|
+
byo: FleetVaultByoOauth;
|
|
101
|
+
resolvePublicAppUrl(env?: NodeJS.ProcessEnv): string | undefined;
|
|
102
|
+
}
|
|
103
|
+
/** Build a BYO OAuth client for one Fleet vault Connect integration. */
|
|
104
|
+
export declare function createByoOauthClient(options: CreateByoOauthClientOptions): ByoOauthClient;
|
|
105
|
+
//# sourceMappingURL=byo-oauth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"byo-oauth.d.ts","sourceRoot":"","sources":["../../src/identity/byo-oauth.ts"],"names":[],"mappings":"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"}
|