@executor-js/sdk 1.4.29 → 1.4.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/blob.d.ts +2 -1
  2. package/dist/blob.d.ts.map +1 -1
  3. package/dist/chunk-2LU3SC64.js +7 -0
  4. package/dist/chunk-2LU3SC64.js.map +1 -0
  5. package/dist/chunk-7D4SUZUM.js +38 -0
  6. package/dist/chunk-7D4SUZUM.js.map +1 -0
  7. package/dist/chunk-B4YGTZF6.js +22 -0
  8. package/dist/chunk-B4YGTZF6.js.map +1 -0
  9. package/dist/chunk-BZNIRSMG.js +7873 -0
  10. package/dist/chunk-BZNIRSMG.js.map +1 -0
  11. package/dist/chunk-ECMCGZYE.js +5814 -0
  12. package/dist/chunk-ECMCGZYE.js.map +1 -0
  13. package/dist/{chunk-6SQWMOM4.js → chunk-MLNVNVRI.js} +2 -6
  14. package/dist/chunk-MLNVNVRI.js.map +1 -0
  15. package/dist/chunk-P2WKYAC5.js +1 -0
  16. package/dist/chunk-P2WKYAC5.js.map +1 -0
  17. package/dist/chunk-ZANQD7E2.js +1035 -0
  18. package/dist/chunk-ZANQD7E2.js.map +1 -0
  19. package/dist/client.d.ts +3 -0
  20. package/dist/client.d.ts.map +1 -1
  21. package/dist/client.js +2 -0
  22. package/dist/client.js.map +1 -1
  23. package/dist/config.d.ts +3 -7
  24. package/dist/config.d.ts.map +1 -1
  25. package/dist/core-schema.d.ts +283 -408
  26. package/dist/core-schema.d.ts.map +1 -1
  27. package/dist/core-tools.d.ts +6 -0
  28. package/dist/core-tools.d.ts.map +1 -0
  29. package/dist/core.js +120 -168
  30. package/dist/core.js.map +1 -1
  31. package/dist/credential-bindings.d.ts +86 -24
  32. package/dist/credential-bindings.d.ts.map +1 -1
  33. package/dist/errors.d.ts +1 -0
  34. package/dist/errors.d.ts.map +1 -1
  35. package/dist/executor.d.ts +46 -12
  36. package/dist/executor.d.ts.map +1 -1
  37. package/dist/fuma-runtime.d.ts +50 -0
  38. package/dist/fuma-runtime.d.ts.map +1 -0
  39. package/dist/http-source.d.ts +109 -0
  40. package/dist/http-source.d.ts.map +1 -0
  41. package/dist/http-source.js +155 -0
  42. package/dist/http-source.js.map +1 -0
  43. package/dist/index.d.ts +17 -12
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +44 -21
  46. package/dist/index.js.map +1 -1
  47. package/dist/oauth-service.d.ts +2 -10
  48. package/dist/oauth-service.d.ts.map +1 -1
  49. package/dist/oauth.d.ts +9 -1
  50. package/dist/oauth.d.ts.map +1 -1
  51. package/dist/plugin-storage.d.ts +40 -0
  52. package/dist/plugin-storage.d.ts.map +1 -0
  53. package/dist/plugin.d.ts +110 -34
  54. package/dist/plugin.d.ts.map +1 -1
  55. package/dist/promise-executor.d.ts +33 -8
  56. package/dist/promise-executor.d.ts.map +1 -1
  57. package/dist/promise.d.ts +3 -3
  58. package/dist/promise.d.ts.map +1 -1
  59. package/dist/schema-refs.d.ts +1 -0
  60. package/dist/schema-refs.d.ts.map +1 -1
  61. package/dist/schema-refs.test.d.ts +2 -0
  62. package/dist/schema-refs.test.d.ts.map +1 -0
  63. package/dist/schema-types.d.ts +22 -8
  64. package/dist/schema-types.d.ts.map +1 -1
  65. package/dist/scope-policy.d.ts +23 -0
  66. package/dist/scope-policy.d.ts.map +1 -0
  67. package/dist/scope-policy.test.d.ts +2 -0
  68. package/dist/scope-policy.test.d.ts.map +1 -0
  69. package/dist/scope.d.ts +10 -0
  70. package/dist/scope.d.ts.map +1 -1
  71. package/dist/secrets.d.ts +1 -1
  72. package/dist/secrets.d.ts.map +1 -1
  73. package/dist/shared.d.ts +13 -0
  74. package/dist/shared.d.ts.map +1 -0
  75. package/dist/shared.js +103 -0
  76. package/dist/shared.js.map +1 -0
  77. package/dist/sqlite-test-db-OK2WQNR5.js +8 -0
  78. package/dist/sqlite-test-db-OK2WQNR5.js.map +1 -0
  79. package/dist/sqlite-test-db.d.ts +22 -0
  80. package/dist/sqlite-test-db.d.ts.map +1 -0
  81. package/dist/test-config.d.ts +45 -4
  82. package/dist/test-config.d.ts.map +1 -1
  83. package/dist/testing/oauth-test-server.d.ts +80 -0
  84. package/dist/testing/oauth-test-server.d.ts.map +1 -0
  85. package/dist/testing.d.ts +4 -1
  86. package/dist/testing.d.ts.map +1 -1
  87. package/dist/testing.js +706 -18
  88. package/dist/testing.js.map +1 -1
  89. package/dist/testing.test.d.ts +2 -0
  90. package/dist/testing.test.d.ts.map +1 -0
  91. package/dist/tool-result.d.ts +22 -0
  92. package/dist/tool-result.d.ts.map +1 -0
  93. package/dist/tool-result.test.d.ts +2 -0
  94. package/dist/tool-result.test.d.ts.map +1 -0
  95. package/dist/types.d.ts +1 -0
  96. package/dist/types.d.ts.map +1 -1
  97. package/dist/vendor/json-schema-to-typescript/applySchemaTyping.d.ts +3 -0
  98. package/dist/vendor/json-schema-to-typescript/applySchemaTyping.d.ts.map +1 -0
  99. package/dist/vendor/json-schema-to-typescript/compat.d.ts +10 -0
  100. package/dist/vendor/json-schema-to-typescript/compat.d.ts.map +1 -0
  101. package/dist/vendor/json-schema-to-typescript/formatter.d.ts +3 -0
  102. package/dist/vendor/json-schema-to-typescript/formatter.d.ts.map +1 -0
  103. package/dist/vendor/json-schema-to-typescript/generator.d.ts +7 -0
  104. package/dist/vendor/json-schema-to-typescript/generator.d.ts.map +1 -0
  105. package/dist/vendor/json-schema-to-typescript/index.d.ts +93 -0
  106. package/dist/vendor/json-schema-to-typescript/index.d.ts.map +1 -0
  107. package/dist/vendor/json-schema-to-typescript/linker.d.ts +8 -0
  108. package/dist/vendor/json-schema-to-typescript/linker.d.ts.map +1 -0
  109. package/dist/vendor/json-schema-to-typescript/normalizer.d.ts +5 -0
  110. package/dist/vendor/json-schema-to-typescript/normalizer.d.ts.map +1 -0
  111. package/dist/vendor/json-schema-to-typescript/optimizer.d.ts +4 -0
  112. package/dist/vendor/json-schema-to-typescript/optimizer.d.ts.map +1 -0
  113. package/dist/vendor/json-schema-to-typescript/optionValidator.d.ts +3 -0
  114. package/dist/vendor/json-schema-to-typescript/optionValidator.d.ts.map +1 -0
  115. package/dist/vendor/json-schema-to-typescript/parser.d.ts +8 -0
  116. package/dist/vendor/json-schema-to-typescript/parser.d.ts.map +1 -0
  117. package/dist/vendor/json-schema-to-typescript/resolver.d.ts +7 -0
  118. package/dist/vendor/json-schema-to-typescript/resolver.d.ts.map +1 -0
  119. package/dist/vendor/json-schema-to-typescript/types/AST.d.ts +108 -0
  120. package/dist/vendor/json-schema-to-typescript/types/AST.d.ts.map +1 -0
  121. package/dist/vendor/json-schema-to-typescript/types/JSONSchema.d.ts +103 -0
  122. package/dist/vendor/json-schema-to-typescript/types/JSONSchema.d.ts.map +1 -0
  123. package/dist/vendor/json-schema-to-typescript/types/json-schema.d.ts +34 -0
  124. package/dist/vendor/json-schema-to-typescript/types/json-schema.d.ts.map +1 -0
  125. package/dist/vendor/json-schema-to-typescript/typesOfSchema.d.ts +11 -0
  126. package/dist/vendor/json-schema-to-typescript/typesOfSchema.d.ts.map +1 -0
  127. package/dist/vendor/json-schema-to-typescript/utils.d.ts +30 -0
  128. package/dist/vendor/json-schema-to-typescript/utils.d.ts.map +1 -0
  129. package/dist/vendor/json-schema-to-typescript/validator.d.ts +3 -0
  130. package/dist/vendor/json-schema-to-typescript/validator.d.ts.map +1 -0
  131. package/package.json +17 -2
  132. package/dist/chunk-6SQWMOM4.js.map +0 -1
  133. package/dist/chunk-I2OEQ2GJ.js +0 -103
  134. package/dist/chunk-I2OEQ2GJ.js.map +0 -1
  135. package/dist/chunk-OIJL6F6M.js +0 -5507
  136. package/dist/chunk-OIJL6F6M.js.map +0 -1
  137. package/dist/error-handling.test.d.ts +0 -2
  138. package/dist/error-handling.test.d.ts.map +0 -1
  139. package/dist/scoped-adapter.d.ts +0 -28
  140. package/dist/scoped-adapter.d.ts.map +0 -1
  141. package/dist/scoped-adapter.test.d.ts +0 -2
  142. package/dist/scoped-adapter.test.d.ts.map +0 -1
package/dist/plugin.d.ts CHANGED
@@ -1,51 +1,48 @@
1
- import { Effect } from "effect";
1
+ import { Effect, type Schema as EffectSchema } from "effect";
2
2
  import type { Context, Layer } from "effect";
3
3
  import type { HttpClient } from "effect/unstable/http";
4
4
  import type { HttpApiGroup } from "effect/unstable/httpapi";
5
5
  import type { StandardJSONSchemaV1, StandardSchemaV1 } from "@standard-schema/spec";
6
- import type { DBSchema, StorageFailure } from "@executor-js/storage-core";
6
+ import type { FumaTables, IFumaClient, StorageFailure, TablesToFumaSchema } from "./fuma-runtime";
7
7
  import type { PluginBlobStore } from "./blob";
8
8
  import type { ConnectionProvider, ConnectionRef, ConnectionRefreshError, CreateConnectionInput, RemoveConnectionInput, UpdateConnectionTokensInput } from "./connections";
9
- import type { CredentialBindingsFacade } from "./credential-bindings";
9
+ import type { CredentialBindingRef, CredentialBindingsFacade, RemoveSourceCredentialBindingInput, SetSourceCredentialBindingInput, SourceCredentialBindingSlotInput, SourceCredentialBindingSourceInput } from "./credential-bindings";
10
10
  import type { DefinitionsInput, SourceInput, ToolAnnotations, ToolRow } from "./core-schema";
11
- import type { RemoveSourceInput, SourceDetectionResult } from "./types";
11
+ import type { ScopeId } from "./ids";
12
+ import type { RefreshSourceInput, RemoveSourceInput, Source, SourceDetectionResult } from "./types";
12
13
  import type { ElicitationDeclinedError, ElicitationHandler, ElicitationRequest, ElicitationResponse } from "./elicitation";
13
- import type { ConnectionInUseError, ConnectionNotFoundError, ConnectionProviderNotRegisteredError, ConnectionReauthRequiredError, ConnectionRefreshNotSupportedError, SecretInUseError, SecretOwnedByConnectionError } from "./errors";
14
+ import type { ConnectionInUseError, ConnectionNotFoundError, ConnectionProviderNotRegisteredError, ConnectionReauthRequiredError, ConnectionRefreshNotSupportedError, SecretInUseError, SecretOwnedByConnectionError, SourceRemovalNotAllowedError } from "./errors";
14
15
  import type { OAuthService } from "./oauth";
16
+ import type { PluginStorageFacade } from "./plugin-storage";
17
+ import type { CreateToolPolicyInput, RemoveToolPolicyInput, ToolPolicy, UpdateToolPolicyInput } from "./policies";
15
18
  import type { Scope } from "./scope";
16
- import type { ScopedDBAdapter, ScopedTypedAdapter } from "./scoped-adapter";
17
19
  import type { RemoveSecretInput, SecretProvider, SecretRef, SetSecretInput } from "./secrets";
18
20
  import type { Usage, UsagesForConnectionInput, UsagesForSecretInput } from "./usages";
19
- export interface StorageDeps<TSchema extends DBSchema | undefined = undefined> {
21
+ export interface StorageDeps<TTables extends FumaTables | undefined = FumaTables> {
20
22
  /**
21
23
  * Precedence-ordered scope stack visible to this executor. Innermost
22
24
  * first. Reads on scoped tables walk every scope; writes require the
23
25
  * plugin to name a target scope explicitly (via `scope_id` on the
24
- * adapter payload, via `options.scope` on the blob store).
26
+ * row payload, via `options.scope` on the blob store).
25
27
  */
26
28
  readonly scopes: readonly Scope[];
27
- /**
28
- * Plugin-facing typed adapter. Failures surface as raw `StorageFailure`
29
- * (`StorageError` | `UniqueViolationError`). Plugins can
30
- * `catchTag("UniqueViolationError", …)` to translate to their own
31
- * user-facing errors. `StorageError` bubbles up; the HTTP edge (see
32
- * `@executor-js/api` `withCapture`) is the one place that
33
- * translates it to the opaque `InternalError({ traceId })`.
34
- */
35
- readonly adapter: TSchema extends DBSchema ? ScopedTypedAdapter<TSchema> : ScopedDBAdapter;
29
+ /** Plugin-facing FumaDB query boundary. */
30
+ readonly fuma: IFumaClient<TablesToFumaSchema<TTables>>;
36
31
  readonly blobs: PluginBlobStore;
32
+ readonly pluginStorage: PluginStorageFacade;
37
33
  }
38
- export declare const defineSchema: <const S extends DBSchema>(schema: S) => S;
39
34
  export type Elicit = (request: ElicitationRequest) => Effect.Effect<ElicitationResponse, ElicitationDeclinedError>;
40
35
  export interface PluginCtx<TStore = unknown> {
41
36
  /**
42
37
  * Precedence-ordered scope stack visible to this executor. Innermost
43
38
  * first. Plugins that write scoped rows must pick an element of
44
- * `scopes` as the `scope`/`scope_id` they stamp; reads through the
45
- * adapter or `ctx.secrets` automatically fall through the stack.
39
+ * `scopes` as the `scope`/`scope_id` they stamp; reads should apply
40
+ * explicit FumaDB scope predicates or use `ctx.secrets` / `ctx.connections`
41
+ * helpers.
46
42
  */
47
43
  readonly scopes: readonly Scope[];
48
44
  readonly storage: TStore;
45
+ readonly pluginStorage: PluginStorageFacade;
49
46
  readonly httpClientLayer: Layer.Layer<HttpClient.HttpClient>;
50
47
  readonly core: {
51
48
  readonly sources: {
@@ -57,12 +54,41 @@ export interface PluginCtx<TStore = unknown> {
57
54
  readonly name?: string;
58
55
  readonly url?: string | null;
59
56
  }) => Effect.Effect<void, StorageFailure>;
57
+ readonly list: () => Effect.Effect<readonly Source[], StorageFailure>;
58
+ readonly remove: (input: RemoveSourceInput) => Effect.Effect<void, SourceRemovalNotAllowedError | StorageFailure>;
59
+ readonly refresh: (input: RefreshSourceInput) => Effect.Effect<void, StorageFailure>;
60
+ readonly detect: (url: string) => Effect.Effect<readonly SourceDetectionResult[], StorageFailure>;
61
+ readonly configure: (input: {
62
+ readonly source: {
63
+ readonly id: string;
64
+ readonly scope: ScopeId | string;
65
+ };
66
+ readonly scope: ScopeId | string;
67
+ readonly type?: string;
68
+ readonly config: unknown;
69
+ }) => Effect.Effect<unknown, StorageFailure>;
70
+ readonly listBindings: (input: SourceCredentialBindingSourceInput) => Effect.Effect<readonly CredentialBindingRef[], StorageFailure>;
71
+ readonly resolveBinding: (input: SourceCredentialBindingSlotInput) => Effect.Effect<CredentialBindingRef | null, StorageFailure>;
72
+ readonly setBinding: (input: SetSourceCredentialBindingInput) => Effect.Effect<CredentialBindingRef, StorageFailure>;
73
+ readonly removeBinding: (input: RemoveSourceCredentialBindingInput) => Effect.Effect<void, StorageFailure>;
74
+ /** Source configuration declarations for every plugin that
75
+ * supports `executor.sources.configure`. Exposed to core tools
76
+ * so agent-facing configuration surfaces can describe the
77
+ * plugin-specific payload shape before dispatching a write. */
78
+ readonly configureSchemas: () => readonly SourceConfigureSchema[];
79
+ readonly presets: () => readonly SourcePresetCatalogEntry[];
80
+ };
81
+ readonly policies: {
82
+ readonly list: () => Effect.Effect<readonly ToolPolicy[], StorageFailure>;
83
+ readonly create: (input: CreateToolPolicyInput) => Effect.Effect<ToolPolicy, StorageFailure>;
84
+ readonly update: (input: UpdateToolPolicyInput) => Effect.Effect<ToolPolicy, StorageFailure>;
85
+ readonly remove: (input: RemoveToolPolicyInput) => Effect.Effect<void, StorageFailure>;
60
86
  };
61
87
  /** Register shared JSON-schema `$defs` for a source. Tool
62
88
  * input/output schemas registered via `sources.register` can carry
63
89
  * `$ref: "#/$defs/X"` pointers; `executor.tools.schema(toolId)`
64
- * attaches matching defs to the returned schema. Call inside the
65
- * same `ctx.transaction` as `sources.register` for atomicity.
90
+ * returns matching reachable defs alongside the schema roots. Call
91
+ * inside the same `ctx.transaction` as `sources.register` for atomicity.
66
92
  * Replaces any existing defs for the given sourceId. */
67
93
  readonly definitions: {
68
94
  readonly register: (input: DefinitionsInput) => Effect.Effect<void, StorageFailure>;
@@ -76,9 +102,13 @@ export interface PluginCtx<TStore = unknown> {
76
102
  * clutter the UI — users see the Connection instead. */
77
103
  readonly list: () => Effect.Effect<readonly {
78
104
  readonly id: string;
105
+ readonly scopeId: ScopeId;
79
106
  readonly name: string;
80
107
  readonly provider: string;
81
108
  }[], StorageFailure>;
109
+ readonly status: (id: string) => Effect.Effect<"resolved" | "missing", StorageFailure>;
110
+ readonly usages: (id: string) => Effect.Effect<readonly Usage[], StorageFailure>;
111
+ readonly providers: () => Effect.Effect<readonly string[], never>;
82
112
  /** Write a secret value through a provider. Used by plugins that
83
113
  * mint secrets on behalf of the user (OAuth2 token storage,
84
114
  * interactive onboarding flows). Normally writes go through
@@ -103,6 +133,8 @@ export interface PluginCtx<TStore = unknown> {
103
133
  readonly get: (id: string) => Effect.Effect<ConnectionRef | null, StorageFailure>;
104
134
  readonly getAtScope: (id: string, scope: string) => Effect.Effect<ConnectionRef | null, StorageFailure>;
105
135
  readonly list: () => Effect.Effect<readonly ConnectionRef[], StorageFailure>;
136
+ readonly usages: (id: string) => Effect.Effect<readonly Usage[], StorageFailure>;
137
+ readonly providers: () => Effect.Effect<readonly string[], never>;
106
138
  readonly create: (input: CreateConnectionInput) => Effect.Effect<ConnectionRef, ConnectionProviderNotRegisteredError | StorageFailure>;
107
139
  readonly updateTokens: (input: UpdateConnectionTokensInput) => Effect.Effect<ConnectionRef, ConnectionNotFoundError | StorageFailure>;
108
140
  readonly setIdentityLabel: (id: string, label: string | null) => Effect.Effect<void, ConnectionNotFoundError | StorageFailure>;
@@ -120,8 +152,7 @@ export interface PluginCtx<TStore = unknown> {
120
152
  /** Shared OAuth service. Plugins use this to probe/start/complete OAuth
121
153
  * flows; invocation should still resolve tokens via `connections.accessToken`. */
122
154
  readonly oauth: OAuthService;
123
- /** Run `effect` inside a database transaction. Wraps the underlying
124
- * adapter's transaction method. Use this in extension methods that
155
+ /** Run `effect` inside a FumaDB transaction. Use this in extension methods that
125
156
  * need atomicity across plugin storage writes AND core source/tool
126
157
  * registration. */
127
158
  readonly transaction: <A, E>(effect: Effect.Effect<A, E>) => Effect.Effect<A, E | StorageFailure>;
@@ -195,13 +226,46 @@ export interface SourceLifecycleInput<TStore = unknown> {
195
226
  * SDK's `sources.remove` / `sources.refresh` via innermost-wins lookup
196
227
  * across the executor's scope stack. Plugins that own a side table
197
228
  * keyed by (id, scope_id) must pin their own cleanup to this scope;
198
- * relying on the scoped adapter's `scope_id IN (stack)` fall-through
229
+ * relying on stack-wide scope fall-through
199
230
  * would widen the mutation across the whole stack and wipe a
200
231
  * shadowed outer-scope row.
201
232
  */
202
233
  readonly scope: string;
203
234
  }
204
- export interface PluginSpec<TId extends string = string, TExtension extends object = any, TStore = any, TSchema extends DBSchema | undefined = any, TExtensionService extends Context.Service<any, any> | undefined = any, THandlersLayer extends Layer.Layer<any, any, any> = any, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any> {
235
+ export interface ConfigureSourceHandlerInput<TStore = unknown> {
236
+ readonly ctx: PluginCtx<TStore>;
237
+ readonly sourceId: string;
238
+ readonly sourceScope: string;
239
+ readonly targetScope: string;
240
+ readonly config: unknown;
241
+ }
242
+ export interface SourceConfigureDecl<TStore = unknown> {
243
+ readonly type: string;
244
+ readonly schema?: StaticToolSchema | EffectSchema.Decoder<unknown, never>;
245
+ readonly configure: (input: ConfigureSourceHandlerInput<TStore>) => Effect.Effect<unknown, unknown>;
246
+ }
247
+ export interface SourceConfigureSchema {
248
+ readonly pluginId: string;
249
+ readonly type: string;
250
+ readonly schema?: unknown;
251
+ }
252
+ export interface SourcePreset {
253
+ readonly id: string;
254
+ readonly name: string;
255
+ readonly summary: string;
256
+ readonly url?: string;
257
+ readonly endpoint?: string;
258
+ readonly icon?: string;
259
+ readonly featured?: boolean;
260
+ readonly transport?: "remote" | "stdio";
261
+ readonly command?: string;
262
+ readonly args?: readonly string[];
263
+ readonly env?: Readonly<Record<string, string>>;
264
+ }
265
+ export interface SourcePresetCatalogEntry extends SourcePreset {
266
+ readonly pluginId: string;
267
+ }
268
+ export interface PluginSpec<TId extends string = string, TExtension extends object = any, TStore = any, TSchema extends FumaTables | undefined = any, TExtensionService extends Context.Service<any, any> | undefined = any, THandlersLayer extends Layer.Layer<any, any, any> = any, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any> {
205
269
  readonly id: TId;
206
270
  /** npm package name. The Vite plugin uses this to derive the
207
271
  * `./client` import path for the frontend bundle (so the same
@@ -212,12 +276,12 @@ export interface PluginSpec<TId extends string = string, TExtension extends obje
212
276
  * plugins (no client bundle = nothing to resolve). */
213
277
  readonly packageName?: string;
214
278
  /** Plugin-declared schema. Merged with coreSchema and other plugins'
215
- * schemas at executor startup via `collectSchemas`. The type flows
216
- * into the `storage` factory's `deps.adapter` as a `TypedAdapter<TSchema>`
217
- * so plugins get narrowed model names + typed rows for free. */
279
+ * tables at executor startup via `collectTables`. The type flows
280
+ * into the `storage` factory's `deps.fuma` as a FumaDB query boundary so
281
+ * plugins get narrowed table names + typed rows for free. */
218
282
  readonly schema?: TSchema;
219
- /** Build the plugin's typed store from backing. `deps.adapter` is
220
- * already narrowed to this plugin's schema; `deps.blobs` is already
283
+ /** Build the plugin's typed store from backing. `deps.fuma` is
284
+ * already narrowed to this plugin's tables; `deps.blobs` is already
221
285
  * scoped to the plugin id so key collisions across plugins are
222
286
  * structurally impossible. */
223
287
  readonly storage: (deps: StorageDeps<TSchema>) => TStore;
@@ -234,6 +298,11 @@ export interface PluginSpec<TId extends string = string, TExtension extends obje
234
298
  * with no runtime fetch and no parallel client-side flag to keep in
235
299
  * sync. */
236
300
  readonly clientConfig?: unknown;
301
+ /** Source presets shown by the web UI's "Popular sources" list and
302
+ * exposed through core tools for agents. Keep this server-safe:
303
+ * no React components, only JSON-serializable metadata and optional
304
+ * add-flow hints such as URL or stdio command. */
305
+ readonly sourcePresets?: readonly SourcePreset[];
237
306
  /** Build the plugin's extension API. The returned object becomes
238
307
  * `executor[plugin.id]` and is also the `self` passed to
239
308
  * `staticSources`. Field order matters: `extension` MUST appear
@@ -344,6 +413,13 @@ export interface PluginSpec<TId extends string = string, TExtension extends obje
344
413
  * returns, inside the same transaction. */
345
414
  readonly removeSource?: (input: SourceLifecycleInput<TStore>) => Effect.Effect<void, unknown>;
346
415
  readonly refreshSource?: (input: SourceLifecycleInput<TStore>) => Effect.Effect<void, unknown>;
416
+ /** Core-dispatched source configuration. The executor resolves the
417
+ * source row, finds the owning plugin, and calls this handler with
418
+ * an explicit source scope plus explicit target scope for credential
419
+ * values. Plugin-native `openapi.configure` style methods can call
420
+ * the same implementation, but callers do not need to know about
421
+ * low-level credential bindings. */
422
+ readonly sourceConfigure?: SourceConfigureDecl<TStore>;
347
423
  /** URL autodetection hook. When the user pastes a URL in the
348
424
  * onboarding UI, `executor.sources.detect(url)` fans out to every
349
425
  * plugin's `detect`. Return a `SourceDetectionResult` if you
@@ -370,12 +446,12 @@ export interface PluginSpec<TId extends string = string, TExtension extends obje
370
446
  readonly connectionProviders?: readonly ConnectionProvider[] | ((ctx: PluginCtx<TStore>) => readonly ConnectionProvider[]) | ((ctx: PluginCtx<TStore>) => Effect.Effect<readonly ConnectionProvider[]>);
371
447
  readonly close?: () => Effect.Effect<void, unknown>;
372
448
  }
373
- export interface Plugin<TId extends string = string, TExtension extends object = any, TStore = any, TSchema extends DBSchema | undefined = any, TExtensionService extends Context.Service<any, any> | undefined = any, THandlersLayer extends Layer.Layer<any, any, any> = any, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any> extends PluginSpec<TId, TExtension, TStore, TSchema, TExtensionService, THandlersLayer, TGroup> {
449
+ export interface Plugin<TId extends string = string, TExtension extends object = any, TStore = any, TSchema extends FumaTables | undefined = any, TExtensionService extends Context.Service<any, any> | undefined = any, THandlersLayer extends Layer.Layer<any, any, any> = any, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any> extends PluginSpec<TId, TExtension, TStore, TSchema, TExtensionService, THandlersLayer, TGroup> {
374
450
  }
375
- export type ConfiguredPlugin<TId extends string, TExtension extends object, TStore, TOptions extends object, TSchema extends DBSchema | undefined, TExtensionService extends Context.Service<any, any> | undefined = undefined, THandlersLayer extends Layer.Layer<any, any, any> = Layer.Layer<unknown, never, never>, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any> = (options?: TOptions & {
451
+ export type ConfiguredPlugin<TId extends string, TExtension extends object, TStore, TOptions extends object, TSchema extends FumaTables | undefined, TExtensionService extends Context.Service<any, any> | undefined = undefined, THandlersLayer extends Layer.Layer<any, any, any> = Layer.Layer<unknown, never, never>, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any> = (options?: TOptions & {
376
452
  readonly storage?: (deps: StorageDeps<TSchema>) => TStore;
377
453
  }) => Plugin<TId, TExtension, TStore, TSchema, TExtensionService, THandlersLayer, TGroup>;
378
- export declare function definePlugin<TId extends string, TExtension extends object, TStore, TSchema extends DBSchema | undefined = undefined, TOptions extends object = {}, TExtensionService extends Context.Service<any, any> | undefined = undefined, THandlersLayer extends Layer.Layer<any, any, any> = Layer.Layer<unknown, never, never>, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any>(authorFactory: (options?: TOptions) => PluginSpec<TId, TExtension, TStore, TSchema, TExtensionService, THandlersLayer, TGroup>): ConfiguredPlugin<TId, TExtension, TStore, TOptions, TSchema, TExtensionService, THandlersLayer, TGroup>;
454
+ export declare function definePlugin<TId extends string, TExtension extends object, TStore, TSchema extends FumaTables | undefined = undefined, TOptions extends object = {}, TExtensionService extends Context.Service<any, any> | undefined = undefined, THandlersLayer extends Layer.Layer<any, any, any> = Layer.Layer<unknown, never, never>, TGroup extends HttpApiGroup.Any = HttpApiGroup.Any>(authorFactory: (options?: TOptions) => PluginSpec<TId, TExtension, TStore, TSchema, TExtensionService, THandlersLayer, TGroup>): ConfiguredPlugin<TId, TExtension, TStore, TOptions, TSchema, TExtensionService, THandlersLayer, TGroup>;
379
455
  export type AnyPlugin = Plugin<string>;
380
456
  export type PluginExtensions<TPlugins extends readonly AnyPlugin[]> = {
381
457
  readonly [P in TPlugins[number] as P["id"]]: P extends Plugin<string, infer TExt> ? TExt : never;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAElG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,kCAAkC,EAClC,+BAA+B,EAC/B,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,oCAAoC,EACpC,6BAA6B,EAC7B,kCAAkC,EAClC,gBAAgB,EAChB,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAStF,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,UAAU,GAAG,SAAS,GAAG,UAAU;IAC9E;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;CAC7C;AASD,MAAM,MAAM,MAAM,GAAG,CACnB,OAAO,EAAE,kBAAkB,KACxB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;AAQlE,MAAM,WAAW,SAAS,CAAC,MAAM,GAAG,OAAO;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAE7D,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC/E,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACvF,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;gBACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;gBACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;aAC9B,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;YACtE,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,iBAAiB,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,GAAG,cAAc,CAAC,CAAC;YACxE,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACrF,QAAQ,CAAC,MAAM,EAAE,CACf,GAAG,EAAE,MAAM,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,qBAAqB,EAAE,EAAE,cAAc,CAAC,CAAC;YACrE,QAAQ,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE;gBAC1B,QAAQ,CAAC,MAAM,EAAE;oBACf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;oBACpB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;iBAClC,CAAC;gBACF,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;aAC1B,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;YAC7C,QAAQ,CAAC,YAAY,EAAE,CACrB,KAAK,EAAE,kCAAkC,KACtC,MAAM,CAAC,MAAM,CAAC,SAAS,oBAAoB,EAAE,EAAE,cAAc,CAAC,CAAC;YACpE,QAAQ,CAAC,cAAc,EAAE,CACvB,KAAK,EAAE,gCAAgC,KACpC,MAAM,CAAC,MAAM,CAAC,oBAAoB,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;YAChE,QAAQ,CAAC,UAAU,EAAE,CACnB,KAAK,EAAE,+BAA+B,KACnC,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACzD,QAAQ,CAAC,aAAa,EAAE,CACtB,KAAK,EAAE,kCAAkC,KACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACzC;;;4EAGgE;YAChE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,SAAS,qBAAqB,EAAE,CAAC;YAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,wBAAwB,EAAE,CAAC;SAC7D,CAAC;QACF,QAAQ,CAAC,QAAQ,EAAE;YACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,UAAU,EAAE,EAAE,cAAc,CAAC,CAAC;YAC1E,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7F,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAC7F,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SACxF,CAAC;QACF;;;;;iEAKyD;QACzD,QAAQ,CAAC,WAAW,EAAE;YACpB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;SACrF,CAAC;KACH,CAAC;IAEF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,GAAG,EAAE,CACZ,EAAE,EAAE,MAAM,KACP,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,4BAA4B,GAAG,cAAc,CAAC,CAAC;QACjF,QAAQ,CAAC,UAAU,EAAE,CACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,4BAA4B,GAAG,cAAc,CAAC,CAAC;QACjF;;iEAEyD;QACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAChC,SAAS;YACP,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;YAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC3B,EAAE,EACH,cAAc,CACf,CAAC;QACF,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,SAAS,EAAE,cAAc,CAAC,CAAC;QACvF,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;QACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE;;;;;gEAKwD;QACxD,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAClF;;;;;2DAKmD;QACnD,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,iBAAiB,KACrB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,4BAA4B,GAAG,gBAAgB,GAAG,cAAc,CAAC,CAAC;KAC5F,CAAC;IAEF;;;;2CAIuC;IACvC,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;QAClF,QAAQ,CAAC,UAAU,EAAE,CACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;QAC7E,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,cAAc,CAAC,CAAC;QACjF,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,qBAAqB,KACzB,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,oCAAoC,GAAG,cAAc,CAAC,CAAC;QACzF,QAAQ,CAAC,YAAY,EAAE,CACrB,KAAK,EAAE,2BAA2B,KAC/B,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,uBAAuB,GAAG,cAAc,CAAC,CAAC;QAC5E,QAAQ,CAAC,gBAAgB,EAAE,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAAC,CAAC;QACnE;;mCAE2B;QAC3B,QAAQ,CAAC,WAAW,EAAE,CACpB,EAAE,EAAE,MAAM,KACP,MAAM,CAAC,MAAM,CAChB,MAAM,EACJ,uBAAuB,GACvB,oCAAoC,GACpC,kCAAkC,GAClC,6BAA6B,GAC7B,sBAAsB,GACtB,cAAc,CACjB,CAAC;QACF,QAAQ,CAAC,kBAAkB,EAAE,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAChB,MAAM,EACJ,uBAAuB,GACvB,oCAAoC,GACpC,kCAAkC,GAClC,6BAA6B,GAC7B,sBAAsB,GACtB,cAAc,CACjB,CAAC;QACF;;oBAEY;QACZ,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,qBAAqB,KACzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,cAAc,CAAC,CAAC;KACjE,CAAC;IAEF,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IAEtD;uFACmF;IACnF,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B;;wBAEoB;IACpB,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC;CACnG;AAcD,MAAM,WAAW,sBAAsB,CAAC,MAAM,GAAG,OAAO;IACtD,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;yDACqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,OAAO;IACxD,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC;yDACqD;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,GAC7F,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAEtC,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC;;;sEAGkE;IAClE,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CAC9F;AAcD,MAAM,WAAW,eAAe,CAC9B,MAAM,GAAG,OAAO,EAChB,YAAY,SAAS,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS;IAEhF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC;yEACqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,CAChB,IAAI,EAAE,YAAY,SAAS,gBAAgB,GACvC,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,GAC1C,OAAO,EACX,OAAO,EAAE,wBAAwB,CAAC,MAAM,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,eAAO,MAAM,IAAI,GACf,MAAM,GAAG,OAAO,EAChB,YAAY,SAAS,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,EAEhF,OAAO,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,KAC3C,cAAc,CAAC,MAAM,CAiBtB,CAAC;AAEH,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,OAAO;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;iDAE6C;IAC7C,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;CACnD;AAMD,MAAM,WAAW,eAAe,CAAC,MAAM,GAAG,OAAO;IAC/C,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC;;uBAEmB;IACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;kEAC8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM,GAAG,OAAO;IACpD,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B,CAAC,MAAM,GAAG,OAAO;IAC3D,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,OAAO;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,CAClB,KAAK,EAAE,2BAA2B,CAAC,MAAM,CAAC,KACvC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,wBAAyB,SAAQ,YAAY;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAeD,MAAM,WAAW,UAAU,CACzB,GAAG,SAAS,MAAM,GAAG,MAAM,EAE3B,UAAU,SAAS,MAAM,GAAG,GAAG,EAE/B,MAAM,GAAG,GAAG,EAEZ,OAAO,SAAS,UAAU,GAAG,SAAS,GAAG,GAAG,EAE5C,iBAAiB,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,EAErE,cAAc,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EACvD,MAAM,SAAS,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG;IAElD,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB;;;;;;2DAMuD;IACvD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;kEAG8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B;;;mCAG+B;IAC/B,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;IAEzD;;;;;;;;;;;gBAWY;IACZ,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC;;;uDAGmD;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAEjD;;;;6EAIyE;IACzE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;IAE5D;;;;8CAI0C;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;IAE5F;;;;;;;;;;;;;;qEAciE;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IAE/B;;;;;;;;;;;;;;;;gEAgB4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,cAAc,CAAC;IAEzC;;;;;;;;;;;wBAWoB;IACpB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAE9C;;;yCAGqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1F;;;;;;;;;;;;;;;;uBAgBmB;IACnB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;KACvC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,CAAC,CAAC;IAE9D;;;;;;;;uEAQmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QACjC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;KACrC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAE/C,gEAAgE;IAChE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE;QACrC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;KACzC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAE/C;;;gDAG4C;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE9F,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/F;;;;;yCAKqC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAEvD;;;;;sDAKkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE;QACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;KACtB,KAAK,MAAM,CAAC,MAAM,CAAC,qBAAqB,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3D;;;;;;iBAMa;IACb,QAAQ,CAAC,eAAe,CAAC,EACrB,SAAS,cAAc,EAAE,GACzB,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,cAAc,EAAE,CAAC,GACvD,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,cAAc,EAAE,CAAC,CAAC,CAAC;IAE3E;;;;6DAIyD;IACzD,QAAQ,CAAC,mBAAmB,CAAC,EACzB,SAAS,kBAAkB,EAAE,GAC7B,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,SAAS,kBAAkB,EAAE,CAAC,GAC3D,CAAC,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAE/E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,MAAM,CACrB,GAAG,SAAS,MAAM,GAAG,MAAM,EAE3B,UAAU,SAAS,MAAM,GAAG,GAAG,EAE/B,MAAM,GAAG,GAAG,EAEZ,OAAO,SAAS,UAAU,GAAG,SAAS,GAAG,GAAG,EAE5C,iBAAiB,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,EAErE,cAAc,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,EACvD,MAAM,SAAS,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAClD,SAAQ,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC;CAAG;AAQpG,MAAM,MAAM,gBAAgB,CAC1B,GAAG,SAAS,MAAM,EAClB,UAAU,SAAS,MAAM,EACzB,MAAM,EACN,QAAQ,SAAS,MAAM,EACvB,OAAO,SAAS,UAAU,GAAG,SAAS,EAEtC,iBAAiB,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAE3E,cAAc,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EACtF,MAAM,SAAS,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,IAChD,CACF,OAAO,CAAC,EAAE,QAAQ,GAAG;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC;CAC3D,KACE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAGzF,wBAAgB,YAAY,CAC1B,GAAG,SAAS,MAAM,EAClB,UAAU,SAAS,MAAM,EACzB,MAAM,EACN,OAAO,SAAS,UAAU,GAAG,SAAS,GAAG,SAAS,EAClD,QAAQ,SAAS,MAAM,GAAG,EAAE,EAE5B,iBAAiB,SAAS,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,SAAS,EAE3E,cAAc,SAAS,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EACtF,MAAM,SAAS,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,EAElD,aAAa,EAAE,CACb,OAAO,CAAC,EAAE,QAAQ,KACf,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,GAC3F,gBAAgB,CACjB,GAAG,EACH,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,MAAM,CACP,CAkBA;AASD,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAEvC,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,IAAI;IACpE,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK;CACjG,CAAC;AAEF,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAGD,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1,18 +1,26 @@
1
1
  import { Brand, Effect } from "effect";
2
- import { type Executor as EffectExecutor, type OnElicitation } from "./executor";
2
+ import { type Executor as EffectExecutor, type InvokeOptions as EffectInvokeOptions } from "./executor";
3
+ import type { ElicitationContext, ElicitationResponse } from "./elicitation";
4
+ import type { FumaDb, FumaTables } from "./fuma-runtime";
3
5
  import type { AnyPlugin } from "./plugin";
4
6
  type Unbrand<T> = T extends Brand.Brand<string> ? string : T extends readonly (infer U)[] ? readonly Unbrand<U>[] : T extends ReadonlyMap<infer K, infer V> ? ReadonlyMap<Unbrand<K>, Unbrand<V>> : T extends ReadonlySet<infer U> ? ReadonlySet<Unbrand<U>> : T extends Date ? T : T extends (...args: infer A) => infer R ? (...args: {
5
7
  [I in keyof A]: Unbrand<A[I]>;
6
8
  }) => Unbrand<R> : T extends object ? {
7
9
  readonly [K in keyof T]: Unbrand<T[K]>;
8
10
  } : T;
9
- export type Promisified<T> = T extends (...args: infer A) => Effect.Effect<infer R, infer _E> ? (...args: {
10
- [I in keyof A]: Unbrand<A[I]>;
11
- }) => Promise<R> : T extends readonly unknown[] ? T : T extends object ? {
11
+ export type PromiseOnElicitation = "accept-all" | ((ctx: Unbrand<ElicitationContext>) => ElicitationResponse | Promise<ElicitationResponse>);
12
+ export interface PromiseInvokeOptions {
13
+ readonly onElicitation?: PromiseOnElicitation;
14
+ }
15
+ type PromisifiedArg<T> = T extends EffectInvokeOptions | undefined ? PromiseInvokeOptions | undefined : Unbrand<T>;
16
+ type PromisifiedArgs<TArgs extends readonly unknown[]> = {
17
+ [I in keyof TArgs]: PromisifiedArg<TArgs[I]>;
18
+ };
19
+ export type Promisified<T> = T extends (...args: infer A) => Effect.Effect<infer R, infer _E> ? (...args: PromisifiedArgs<A>) => Promise<R> : T extends readonly unknown[] ? T : T extends object ? {
12
20
  readonly [K in keyof T]: Promisified<T[K]>;
13
21
  } : T;
14
- export type Executor<TPlugins extends readonly AnyPlugin[] = []> = Promisified<EffectExecutor<TPlugins>>;
15
- export interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = []> {
22
+ export type Executor<TPlugins extends readonly AnyPlugin[] = readonly []> = Promisified<EffectExecutor<TPlugins>>;
23
+ export interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = readonly []> {
16
24
  /**
17
25
  * Precedence-ordered scope stack (innermost first). Optional — defaults
18
26
  * to a single-element stack with id "default-scope". Pass an array of
@@ -23,6 +31,23 @@ export interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = []> {
23
31
  readonly name?: string;
24
32
  }[];
25
33
  readonly plugins?: TPlugins;
34
+ /**
35
+ * FumaDB ORM handle, or a factory that receives the full Executor table
36
+ * map after plugins have been applied. Public consumers usually want the
37
+ * factory form so `collectTables(plugins)` stays inside `createExecutor`.
38
+ */
39
+ readonly db?: FumaDb | {
40
+ readonly db: FumaDb;
41
+ readonly close?: () => Promise<void> | void;
42
+ } | ((config: {
43
+ readonly tables: FumaTables;
44
+ }) => FumaDb | {
45
+ readonly db: FumaDb;
46
+ readonly close?: () => Promise<void> | void;
47
+ } | Promise<FumaDb | {
48
+ readonly db: FumaDb;
49
+ readonly close?: () => Promise<void> | void;
50
+ }>);
26
51
  /**
27
52
  * How to respond when a tool requests user input mid-invocation. Pass
28
53
  * `"accept-all"` for tests / non-interactive hosts, or a handler
@@ -30,8 +55,8 @@ export interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = []> {
30
55
  * Required at construction so per-invoke calls don't have to thread
31
56
  * an options arg.
32
57
  */
33
- readonly onElicitation: OnElicitation;
58
+ readonly onElicitation: PromiseOnElicitation;
34
59
  }
35
- export declare const createExecutor: <const TPlugins extends readonly AnyPlugin[] = []>(config: ExecutorConfig<TPlugins>) => Promise<Executor<TPlugins>>;
60
+ export declare const createExecutor: <const TPlugins extends readonly AnyPlugin[] = readonly []>(config: ExecutorConfig<TPlugins>) => Promise<Executor<TPlugins>>;
36
61
  export {};
37
62
  //# sourceMappingURL=promise-executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise-executor.d.ts","sourceRoot":"","sources":["../src/promise-executor.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKvC,OAAO,EAGL,KAAK,QAAQ,IAAI,cAAc,EAC/B,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAgB1C,KAAK,OAAO,CAAC,CAAC,IACZ,CAAC,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GACzB,MAAM,GACN,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5B,SAAS,OAAO,CAAC,CAAC,CAAC,EAAE,GACrB,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GACnC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAC5B,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACvB,CAAC,SAAS,IAAI,GACZ,CAAC,GACD,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACrC,CAAC,GAAG,IAAI,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1D,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC1C,CAAC,CAAC;AAEpB,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GACzF,CAAC,GAAG,IAAI,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1D,CAAC,SAAS,SAAS,OAAO,EAAE,GAC1B,CAAC,GACD,CAAC,SAAS,MAAM,GACd;IAAE,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC9C,CAAC,CAAC;AAEV,MAAM,MAAM,QAAQ,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,GAAG,EAAE,IAAI,WAAW,CAC5E,cAAc,CAAC,QAAQ,CAAC,CACzB,CAAC;AAEF,MAAM,WAAW,cAAc,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,GAAG,EAAE;IACxE;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9E,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;CACvC;AAmDD,eAAO,MAAM,cAAc,GAAU,KAAK,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,GAAG,EAAE,EACnF,QAAQ,cAAc,CAAC,QAAQ,CAAC,KAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAsC5B,CAAC"}
1
+ {"version":3,"file":"promise-executor.d.ts","sourceRoot":"","sources":["../src/promise-executor.ts"],"names":[],"mappings":"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"}
package/dist/promise.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { createExecutor, type Executor, type ExecutorConfig, type Promisified, } from "./promise-executor";
1
+ export { createExecutor, type Executor, type ExecutorConfig, type PromiseInvokeOptions, type PromiseOnElicitation, type Promisified, } from "./promise-executor";
2
2
  export { ScopeId, ToolId, SecretId, PolicyId } from "./ids";
3
3
  export { Scope } from "./scope";
4
4
  export { RemoveConnectionInput } from "./connections";
@@ -7,9 +7,9 @@ export type { CreateToolPolicyInput, RemoveToolPolicyInput, UpdateToolPolicyInpu
7
7
  export { ToolSchema, SourceDetectionResult, type RefreshSourceInput, type RemoveSourceInput, type Source, type Tool, type ToolListFilter, } from "./types";
8
8
  export type { ToolAnnotations } from "./core-schema";
9
9
  export type { AnyPlugin, PluginExtensions } from "./plugin";
10
- export type { OnElicitation, InvokeOptions } from "./executor";
10
+ export type { PromiseOnElicitation as OnElicitation, PromiseInvokeOptions as InvokeOptions, } from "./promise-executor";
11
11
  export { FormElicitation, UrlElicitation, ElicitationAction, ElicitationResponse, type ElicitationRequest, type ElicitationContext, type ElicitationHandler, } from "./elicitation";
12
12
  export { SecretBackedValue, SecretBackedMap, isSecretBackedRef, resolveSecretBackedMap, type ResolveSecretBackedMapOptions, } from "./secret-backed-value";
13
- export { defineExecutorConfig, type ExecutorCliConfig, type ExecutorDialect } from "./config";
13
+ export { defineExecutorConfig, type ExecutorCliConfig } from "./config";
14
14
  export { ToolNotFoundError, ToolInvocationError, NoHandlerError, SourceNotFoundError, SourceRemovalNotAllowedError, PluginNotLoadedError, SecretNotFoundError, SecretResolutionError, type ExecutorError, } from "./errors";
15
15
  //# sourceMappingURL=promise.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,IAAI,EACT,KAAK,cAAc,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI/D,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAG9F,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../src/promise.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACzE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,MAAM,EACX,KAAK,IAAI,EACT,KAAK,cAAc,GACpB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5D,YAAY,EACV,oBAAoB,IAAI,aAAa,EACrC,oBAAoB,IAAI,aAAa,GACtC,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,6BAA6B,GACnC,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,4BAA4B,EAC5B,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC"}
@@ -17,6 +17,7 @@ export declare const hoistDefinitions: (schema: unknown) => {
17
17
  * e.g. "#/$defs/Address" → "Address", and if Address references City, both.
18
18
  */
19
19
  export declare const collectRefs: (node: unknown, defs: ReadonlyMap<string, unknown>, found?: Set<string>) => Set<string>;
20
+ export declare const collectReferencedDefinitions: (roots: readonly unknown[], defs: ReadonlyMap<string, unknown>) => Record<string, unknown>;
20
21
  /**
21
22
  * Re-attach only the referenced shared definitions into a schema,
22
23
  * so the caller gets a self-contained, usable JSON Schema.
@@ -1 +1 @@
1
- {"version":3,"file":"schema-refs.d.ts","sourceRoot":"","sources":["../src/schema-refs.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,OA+B7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,OAAO,KACd;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAqBpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,OAAO,EACb,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAO,GAAG,CAAC,MAAM,CAAa,KAC7B,GAAG,CAAC,MAAM,CAwBZ,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAYlF,CAAC"}
1
+ {"version":3,"file":"schema-refs.d.ts","sourceRoot":"","sources":["../src/schema-refs.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,OA+B7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,OAAO,KACd;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAqBpD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GACtB,MAAM,OAAO,EACb,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAO,GAAG,CAAC,MAAM,CAAa,KAC7B,GAAG,CAAC,MAAM,CAwBZ,CAAC;AAEF,eAAO,MAAM,4BAA4B,GACvC,OAAO,SAAS,OAAO,EAAE,EACzB,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KACjC,MAAM,CAAC,MAAM,EAAE,OAAO,CAYxB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,EAAE,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAMlF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=schema-refs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-refs.test.d.ts","sourceRoot":"","sources":["../src/schema-refs.test.ts"],"names":[],"mappings":""}
@@ -1,16 +1,29 @@
1
+ type CompilerFormatOptions = {
2
+ [key: string]: unknown;
3
+ printWidth?: number;
4
+ semi?: boolean;
5
+ singleQuote?: boolean;
6
+ trailingComma?: "none" | "es5" | "all";
7
+ };
8
+ type SchemaCompilerOptions = {
9
+ [key: string]: unknown;
10
+ additionalProperties?: boolean;
11
+ bannerComment?: string;
12
+ enableConstEnums?: boolean;
13
+ format?: boolean;
14
+ style?: CompilerFormatOptions;
15
+ unknownAny?: boolean;
16
+ unreachableDefinitions?: boolean;
17
+ };
1
18
  export type TypeScriptRenderOptions = {
2
- maxLength?: number;
3
- maxDepth?: number;
4
- maxProperties?: number;
5
- maxRefDepth?: number;
6
- maxCompositeMembers?: number;
19
+ compilerOptions?: Partial<SchemaCompilerOptions>;
7
20
  };
8
21
  export type TypeScriptSchemaPreview = {
9
22
  readonly type: string;
10
23
  readonly definitions: Record<string, string>;
11
24
  };
12
- export declare const schemaToTypeScriptPreview: (schema: unknown, options?: TypeScriptRenderOptions) => TypeScriptSchemaPreview;
13
- export declare const schemaToTypeScriptPreviewWithDefs: (schema: unknown, defs: ReadonlyMap<string, unknown>, options?: TypeScriptRenderOptions) => TypeScriptSchemaPreview;
25
+ export declare const schemaToTypeScriptPreview: (schema: unknown, options?: TypeScriptRenderOptions) => Promise<TypeScriptSchemaPreview>;
26
+ export declare const schemaToTypeScriptPreviewWithDefs: (schema: unknown, defs: ReadonlyMap<string, unknown>, options?: TypeScriptRenderOptions) => Promise<TypeScriptSchemaPreview>;
14
27
  export type ToolTypeScriptPreview = {
15
28
  inputTypeScript?: string;
16
29
  outputTypeScript?: string;
@@ -21,5 +34,6 @@ export declare const buildToolTypeScriptPreview: (input: {
21
34
  outputSchema?: unknown;
22
35
  defs: ReadonlyMap<string, unknown>;
23
36
  options?: TypeScriptRenderOptions;
24
- }) => ToolTypeScriptPreview;
37
+ }) => Promise<ToolTypeScriptPreview>;
38
+ export {};
25
39
  //# sourceMappingURL=schema-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../src/schema-types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C,CAAC;AAwFF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,OAAO,EACf,UAAS,uBAA4B,KACpC,uBAGF,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,OAAO,EACf,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAS,uBAA4B,KACpC,uBAmPF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,OAAO;IAChD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,KAAG,qBAsBH,CAAC"}
1
+ {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../src/schema-types.ts"],"names":[],"mappings":"AAKA,KAAK,qBAAqB,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;CACxC,CAAC;AACF,KAAK,qBAAqB,GAAG;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C,CAAC;AA4tBF,eAAO,MAAM,yBAAyB,GACpC,QAAQ,OAAO,EACf,UAAS,uBAA4B,KACpC,OAAO,CAAC,uBAAuB,CAKjC,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,OAAO,EACf,MAAM,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,UAAS,uBAA4B,KACpC,OAAO,CAAC,uBAAuB,CAO/B,CAAC;AAEJ,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAU,OAAO;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC,KAAG,OAAO,CAAC,qBAAqB,CAsBhC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type Condition } from "fumadb/query";
2
+ import type { AnyTable } from "fumadb/schema";
3
+ export declare const executorScopePolicyName = "executor.scope";
4
+ export declare const executorUnscopedPolicyName = "executor.unscoped";
5
+ export interface ExecutorScopePolicyContext {
6
+ readonly allowedScopeIds: ReadonlySet<string>;
7
+ }
8
+ export type ExecutorScopePolicyAccess = "read" | "write" | "delete";
9
+ export type ExecutorScopeValue = string | null | undefined;
10
+ export type ExecutorScopeTargetColumn = "scope_id" | "source_scope_id";
11
+ export interface ExecutorScopeTarget {
12
+ readonly column: ExecutorScopeTargetColumn;
13
+ readonly value: string;
14
+ }
15
+ export declare const hasExecutorScopePolicy: (table: AnyTable) => boolean;
16
+ export declare function assertExecutorScopePolicyTable(table: AnyTable, tableKey?: string): void;
17
+ export declare const isExecutorScopeAllowed: (tableName: string, access: ExecutorScopePolicyAccess, value: ExecutorScopeValue, context: ExecutorScopePolicyContext | undefined) => boolean;
18
+ export declare const executorScopeIds: (tableName: string, access: ExecutorScopePolicyAccess, context: ExecutorScopePolicyContext | undefined) => string[];
19
+ export declare const requireExecutorScopeTarget: (tableName: string, access: Extract<ExecutorScopePolicyAccess, "write" | "delete">, where: Condition | undefined, context: ExecutorScopePolicyContext | undefined, columns?: readonly ExecutorScopeTargetColumn[]) => ExecutorScopeTarget;
20
+ export declare const assertExecutorScopeAllowed: (tableName: string, access: ExecutorScopePolicyAccess, value: ExecutorScopeValue, context: ExecutorScopePolicyContext | undefined) => void;
21
+ export declare const assertExecutorScopeTargetValue: (tableName: string, access: Extract<ExecutorScopePolicyAccess, "write" | "delete">, value: ExecutorScopeValue, target: ExecutorScopeTarget, context: ExecutorScopePolicyContext | undefined) => void;
22
+ export declare const assertAnyExecutorScopeAllowed: (tableName: string, access: ExecutorScopePolicyAccess, values: readonly ExecutorScopeValue[], context: ExecutorScopePolicyContext | undefined) => void;
23
+ //# sourceMappingURL=scope-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-policy.d.ts","sourceRoot":"","sources":["../src/scope-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AACxD,eAAO,MAAM,0BAA0B,sBAAsB,CAAC;AAG9D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,yBAAyB,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,sBAAsB,GAAI,OAAO,QAAQ,KAAG,OACiB,CAAC;AAO3E,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBvF;AAaD,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,QAAQ,yBAAyB,EACjC,OAAO,kBAAkB,EACzB,SAAS,0BAA0B,GAAG,SAAS,KAC9C,OAGF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,QAAQ,yBAAyB,EACjC,SAAS,0BAA0B,GAAG,SAAS,KAC9C,MAAM,EAAkF,CAAC;AAqB5F,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,QAAQ,OAAO,CAAC,yBAAyB,EAAE,OAAO,GAAG,QAAQ,CAAC,EAC9D,OAAO,SAAS,GAAG,SAAS,EAC5B,SAAS,0BAA0B,GAAG,SAAS,EAC/C,UAAS,SAAS,yBAAyB,EAAiB,KAC3D,mBAQF,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,WAAW,MAAM,EACjB,QAAQ,yBAAyB,EACjC,OAAO,kBAAkB,EACzB,SAAS,0BAA0B,GAAG,SAAS,KAC9C,IAKF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,WAAW,MAAM,EACjB,QAAQ,OAAO,CAAC,yBAAyB,EAAE,OAAO,GAAG,QAAQ,CAAC,EAC9D,OAAO,kBAAkB,EACzB,QAAQ,mBAAmB,EAC3B,SAAS,0BAA0B,GAAG,SAAS,KAC9C,IAOF,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,WAAW,MAAM,EACjB,QAAQ,yBAAyB,EACjC,QAAQ,SAAS,kBAAkB,EAAE,EACrC,SAAS,0BAA0B,GAAG,SAAS,KAC9C,IAKF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scope-policy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope-policy.test.d.ts","sourceRoot":"","sources":["../src/scope-policy.test.ts"],"names":[],"mappings":""}
package/dist/scope.d.ts CHANGED
@@ -1,8 +1,18 @@
1
1
  import { Schema } from "effect";
2
+ import { ScopeId } from "./ids";
2
3
  export declare const Scope: Schema.Struct<{
3
4
  readonly id: Schema.brand<Schema.String, "ScopeId">;
4
5
  readonly name: Schema.String;
5
6
  readonly createdAt: Schema.Date;
6
7
  }>;
7
8
  export type Scope = typeof Scope.Type;
9
+ /**
10
+ * Source-add flows that do not expose a user-facing placement choice install
11
+ * sources at the outermost visible scope. Local executors have one scope, while
12
+ * cloud executors use an innermost personal scope plus an outer organization
13
+ * scope where shared sources live.
14
+ */
15
+ export declare const defaultSourceInstallScopeId: (scopes: readonly {
16
+ readonly id: ScopeId | string;
17
+ }[]) => string | null;
8
18
  //# sourceMappingURL=scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,KAAK;;;;EAIhB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../src/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,eAAO,MAAM,KAAK;;;;EAIhB,CAAC;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,IAAI,CAAC;AAEtC;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,EAAE,KACnD,MAAM,GAAG,IAGX,CAAC"}
package/dist/secrets.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Effect, Schema } from "effect";
2
- import type { StorageFailure } from "@executor-js/storage-core";
2
+ import type { StorageFailure } from "./fuma-runtime";
3
3
  export interface SecretProvider {
4
4
  /** Unique key (e.g. "keychain", "env", "1password", "memory"). */
5
5
  readonly key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAehE,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;6DAEyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;;4EAOwE;IACxE,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1F;;sEAEkE;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACrF;;2DAEuD;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACjG;iDAC6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACxF;yDACqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CACjC,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EACzD,cAAc,CACf,CAAC;IACF;;uDAEmD;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD,eAAO,MAAM,SAAS;;;IAGpB,yDAAyD;;IAEzD,qCAAqC;;;EAGrC,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAa9C,eAAO,MAAM,cAAc;;IAEzB;6BACyB;;IAEzB,4CAA4C;;IAE5C,sEAAsE;;IAEtE;mDAC+C;;EAE/C,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,iBAAiB;;IAE5B;4CACwC;;EAExC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAerD,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB;;6DAEyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;;;;;;4EAOwE;IACxE,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1F;;sEAEkE;IAClE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACrF;;2DAEuD;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACjG;iDAC6C;IAC7C,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACxF;yDACqD;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CACjC,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,EACzD,cAAc,CACf,CAAC;IACF;;uDAEmD;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAQD,eAAO,MAAM,SAAS;;;IAGpB,yDAAyD;;IAEzD,qCAAqC;;;EAGrC,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,IAAI,CAAC;AAa9C,eAAO,MAAM,cAAc;;IAEzB;6BACyB;;IAEzB,4CAA4C;;IAE5C,sEAAsE;;IAEtE;mDAC+C;;EAE/C,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,iBAAiB;;IAE5B;4CACwC;;EAExC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC"}