@executor-js/sdk 1.5.6 → 1.5.7

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 (67) hide show
  1. package/dist/blob.d.ts +4 -0
  2. package/dist/blob.d.ts.map +1 -1
  3. package/dist/{chunk-VAJYYP2A.js → chunk-ARH4MAGG.js} +2 -2
  4. package/dist/{chunk-777N6JVG.js → chunk-I3X6242Q.js} +1 -1
  5. package/dist/chunk-I3X6242Q.js.map +1 -0
  6. package/dist/{chunk-3RRMGXEN.js → chunk-UKOTOKXM.js} +1 -1
  7. package/dist/{chunk-3RRMGXEN.js.map → chunk-UKOTOKXM.js.map} +1 -1
  8. package/dist/{chunk-WN6EB76P.js → chunk-YPVKRUZV.js} +50 -16
  9. package/dist/chunk-YPVKRUZV.js.map +1 -0
  10. package/dist/core-schema.d.ts +7 -0
  11. package/dist/core-schema.d.ts.map +1 -1
  12. package/dist/core.js +175 -9
  13. package/dist/core.js.map +1 -1
  14. package/dist/executor-fuma-db.d.ts +8 -0
  15. package/dist/executor-fuma-db.d.ts.map +1 -1
  16. package/dist/executor.d.ts +8 -0
  17. package/dist/executor.d.ts.map +1 -1
  18. package/dist/host-internal.js +3 -3
  19. package/dist/http-auth/auth-method.d.ts +81 -0
  20. package/dist/http-auth/auth-method.d.ts.map +1 -0
  21. package/dist/http-auth/auth-method.test.d.ts +2 -0
  22. package/dist/http-auth/auth-method.test.d.ts.map +1 -0
  23. package/dist/http-auth/authoring.d.ts +52 -0
  24. package/dist/http-auth/authoring.d.ts.map +1 -0
  25. package/dist/http-auth/authoring.test.d.ts +2 -0
  26. package/dist/http-auth/authoring.test.d.ts.map +1 -0
  27. package/dist/http-auth/index.d.ts +5 -0
  28. package/dist/http-auth/index.d.ts.map +1 -0
  29. package/dist/http-auth/legacy.d.ts +42 -0
  30. package/dist/http-auth/legacy.d.ts.map +1 -0
  31. package/dist/http-auth/migrate.d.ts +30 -0
  32. package/dist/http-auth/migrate.d.ts.map +1 -0
  33. package/dist/http-auth/migrate.test.d.ts +2 -0
  34. package/dist/http-auth/migrate.test.d.ts.map +1 -0
  35. package/dist/http-auth.js +288 -0
  36. package/dist/http-auth.js.map +1 -0
  37. package/dist/index.d.ts +7 -4
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +2 -4
  40. package/dist/index.js.map +1 -1
  41. package/dist/integration.d.ts +8 -0
  42. package/dist/integration.d.ts.map +1 -1
  43. package/dist/oauth-client.d.ts +3 -2
  44. package/dist/oauth-client.d.ts.map +1 -1
  45. package/dist/plugin.d.ts +18 -5
  46. package/dist/plugin.d.ts.map +1 -1
  47. package/dist/promise.d.ts +1 -1
  48. package/dist/promise.d.ts.map +1 -1
  49. package/dist/shared.js +1 -1
  50. package/dist/sqlite-config-blob-migration.d.ts +23 -0
  51. package/dist/sqlite-config-blob-migration.d.ts.map +1 -0
  52. package/dist/sqlite-config-blob-migration.test.d.ts +2 -0
  53. package/dist/sqlite-config-blob-migration.test.d.ts.map +1 -0
  54. package/dist/sqlite-data-migrations.d.ts +50 -0
  55. package/dist/sqlite-data-migrations.d.ts.map +1 -0
  56. package/dist/sqlite-data-migrations.test.d.ts +2 -0
  57. package/dist/sqlite-data-migrations.test.d.ts.map +1 -0
  58. package/dist/sqlite-test-db-KBW52UM6.js +9 -0
  59. package/dist/testing.js +7 -7
  60. package/dist/tool-result.d.ts +15 -1
  61. package/dist/tool-result.d.ts.map +1 -1
  62. package/package.json +8 -2
  63. package/dist/chunk-777N6JVG.js.map +0 -1
  64. package/dist/chunk-WN6EB76P.js.map +0 -1
  65. package/dist/sqlite-test-db-AMRR6VZ6.js +0 -9
  66. /package/dist/{chunk-VAJYYP2A.js.map → chunk-ARH4MAGG.js.map} +0 -0
  67. /package/dist/{sqlite-test-db-AMRR6VZ6.js.map → sqlite-test-db-KBW52UM6.js.map} +0 -0
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/promise-executor.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// @executor-js/sdk/promise — thin Promise façade over the Effect SDK.\n//\n// Consumer goal: use executors + plugins without touching Effect. The\n// façade wraps `createExecutor` so it returns a Promise, and proxies\n// every method on the returned executor to unwrap its Effect into a\n// Promise. Plugin factories are Effect-native but consumers never see\n// that — the proxy flattens plugin extension methods too.\n//\n// Not a goal: authoring plugins in Promise style. The plugin model\n// (storage, schema, staticSources, Effect ctx) is Effect-only. Bring\n// your own `@executor-js/plugin-*` from the Effect side.\n// ---------------------------------------------------------------------------\n\nimport { Brand, Effect } from \"effect\";\n\nimport {\n collectTables,\n createExecutor as createEffectExecutor,\n type Executor as EffectExecutor,\n type InvokeOptions as EffectInvokeOptions,\n type OnElicitation,\n} from \"./executor\";\nimport type { ElicitationContext, ElicitationResponse } from \"./elicitation\";\nimport type { FumaDb, FumaTables } from \"./fuma-runtime\";\nimport { Subject, Tenant } from \"./ids\";\nimport type { AnyPlugin } from \"./plugin\";\nimport type { CredentialProvider } from \"./provider\";\n\n// ---------------------------------------------------------------------------\n// Types\n//\n// Promise consumers shouldn't need to construct Effect `Brand`s to call into\n// the executor — branded ids (`SecretId`, `ScopeId`, `ToolId`, `PolicyId`,\n// `ConnectionId`) are typed as `string & Brand<...>` on the Effect side, but\n// at runtime they're plain strings. `Unbrand` strips brand tags from\n// parameter types (recursively, so it walks into object fields like\n// `secrets.set({ id, scope })`) so consumers can pass plain strings. Return\n// types are passed through unchanged — caller code that reads `.id` etc.\n// off a returned ref still gets the branded type for use as an opaque token.\n// ---------------------------------------------------------------------------\n\ntype Unbrand<T> =\n T extends Brand.Brand<string>\n ? string\n : T extends readonly (infer U)[]\n ? readonly Unbrand<U>[]\n : T extends ReadonlyMap<infer K, infer V>\n ? ReadonlyMap<Unbrand<K>, Unbrand<V>>\n : T extends ReadonlySet<infer U>\n ? ReadonlySet<Unbrand<U>>\n : T extends Date\n ? T\n : T extends (...args: infer A) => infer R\n ? (...args: { [I in keyof A]: Unbrand<A[I]> }) => Unbrand<R>\n : T extends object\n ? { readonly [K in keyof T]: Unbrand<T[K]> }\n : T;\n\nexport type PromiseOnElicitation =\n | \"accept-all\"\n | ((ctx: Unbrand<ElicitationContext>) => ElicitationResponse | Promise<ElicitationResponse>);\n\nexport interface PromiseInvokeOptions {\n readonly onElicitation?: PromiseOnElicitation;\n}\n\ntype PromisifiedArg<T> = T extends EffectInvokeOptions | undefined\n ? PromiseInvokeOptions | undefined\n : Unbrand<T>;\n\ntype PromisifiedArgs<TArgs extends readonly unknown[]> = {\n [I in keyof TArgs]: PromisifiedArg<TArgs[I]>;\n};\n\nexport type Promisified<T> = T extends (...args: infer A) => Effect.Effect<infer R, infer _E>\n ? (...args: PromisifiedArgs<A>) => Promise<R>\n : T extends readonly unknown[]\n ? T\n : T extends object\n ? { readonly [K in keyof T]: Promisified<T[K]> }\n : T;\n\nexport type Executor<TPlugins extends readonly AnyPlugin[] = readonly []> = Promisified<\n EffectExecutor<TPlugins>\n>;\n\nexport interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = readonly []> {\n /** The org / workspace this executor binds to. Optional — defaults to\n * `\"default-tenant\"`. `owner: \"org\"` rows file here. */\n readonly tenant?: string;\n /** The acting member. Omit for a pure-org executor (no `owner:\"user\"`). */\n readonly subject?: string;\n readonly plugins?: TPlugins;\n /**\n * Config-level credential providers, merged with every\n * `plugin.credentialProviders`. Config providers register first, so the\n * default (first writable) store is selected from them when present. A\n * writable provider is required before `connections.create({ value })` can\n * store an inline credential. Providers are Effect-native objects (their\n * `get`/`set` return `Effect`s) — bring them from `@executor-js/sdk/core`.\n */\n readonly providers?: readonly CredentialProvider[];\n /**\n * FumaDB ORM handle, or a factory that receives the executor-owned table\n * map. Public consumers usually want the factory form so `collectTables()`\n * stays inside `createExecutor`.\n */\n readonly db?:\n | FumaDb\n | { readonly db: FumaDb; readonly close?: () => Promise<void> | void }\n | ((config: { readonly tables: FumaTables }) =>\n | FumaDb\n | { readonly db: FumaDb; readonly close?: () => Promise<void> | void }\n | Promise<\n | FumaDb\n | {\n readonly db: FumaDb;\n readonly close?: () => Promise<void> | void;\n }\n >);\n /**\n * How to respond when a tool requests user input mid-invocation. Pass\n * `\"accept-all\"` for tests / non-interactive hosts, or a handler\n * `(ctx) => Promise<ElicitationResponse>` for interactive ones.\n * Required at construction so per-invoke calls don't have to thread\n * an options arg.\n */\n readonly onElicitation: PromiseOnElicitation;\n}\n\n// ---------------------------------------------------------------------------\n// Promisify proxy — walks nested objects, converts Effect-returning methods\n// into Promise-returning methods. Non-Effect return values pass through.\n// ---------------------------------------------------------------------------\n\nconst isPlainObject = (v: unknown): v is Record<string | symbol, unknown> =>\n v !== null &&\n typeof v === \"object\" &&\n !Array.isArray(v) &&\n !(v instanceof Date) &&\n !(v instanceof Promise);\n\nconst isPromiseOnElicitation = (value: unknown): value is PromiseOnElicitation =>\n value === \"accept-all\" || typeof value === \"function\";\n\nconst toEffectOnElicitation = (handler: PromiseOnElicitation): OnElicitation =>\n handler === \"accept-all\"\n ? \"accept-all\"\n : (ctx) => Effect.promise(() => Promise.resolve(handler(ctx)));\n\nconst adaptPromiseInvokeOptions = (value: unknown): unknown => {\n if (!isPlainObject(value) || !Object.hasOwn(value, \"onElicitation\")) return value;\n const onElicitation = value.onElicitation;\n if (onElicitation === undefined || !isPromiseOnElicitation(onElicitation)) return value;\n return {\n ...value,\n onElicitation: toEffectOnElicitation(onElicitation),\n };\n};\n\nconst adaptPromiseArgs = (args: readonly unknown[]): unknown[] =>\n args.map((arg) => adaptPromiseInvokeOptions(arg));\n\nconst promisifyDeep = <T>(value: T): Promisified<T> => {\n if (typeof value === \"function\") {\n return ((...args: unknown[]) => {\n const result = (value as (...a: unknown[]) => unknown).apply(\n undefined,\n adaptPromiseArgs(args),\n );\n if (Effect.isEffect(result)) {\n return Effect.runPromise(result as Effect.Effect<unknown, unknown>);\n }\n return result;\n }) as Promisified<T>;\n }\n\n if (!isPlainObject(value)) return value as Promisified<T>;\n\n return new Proxy(value, {\n get(target, prop, receiver) {\n const v = Reflect.get(target, prop, receiver);\n if (typeof v === \"function\") {\n return (...args: unknown[]) => {\n const result = (v as (...a: unknown[]) => unknown).apply(target, adaptPromiseArgs(args));\n if (Effect.isEffect(result)) {\n return Effect.runPromise(result as Effect.Effect<unknown, unknown>);\n }\n return result;\n };\n }\n if (isPlainObject(v)) return promisifyDeep(v);\n return v;\n },\n }) as Promisified<T>;\n};\n\n// ---------------------------------------------------------------------------\n// createExecutor — Promise wrapper over the Effect createExecutor.\n// ---------------------------------------------------------------------------\n\nexport const createExecutor = async <const TPlugins extends readonly AnyPlugin[] = readonly []>(\n config: ExecutorConfig<TPlugins>,\n): Promise<Executor<TPlugins>> => {\n const plugins = (config?.plugins ?? []) as TPlugins;\n const db =\n typeof config.db === \"function\" ? await config.db({ tables: collectTables() }) : config.db;\n\n const effectConfig = {\n tenant: Tenant.make(config.tenant ?? \"default-tenant\"),\n ...(config.subject !== undefined ? { subject: Subject.make(config.subject) } : {}),\n plugins,\n ...(config.providers ? { providers: config.providers } : {}),\n onElicitation: toEffectOnElicitation(config.onElicitation),\n ...(db ? { db } : {}),\n };\n\n // The SDK has no observability requirement; storage failures surface\n // as raw `StorageError` / `UniqueViolationError` in the typed channel.\n // `Effect.runPromise` turns them into Promise rejections — consumers\n // get the tagged error as the rejected value. See\n // notes/promise-sdk-typed-errors.md for the planned `runPromiseExit`\n // rewrite that exposes the full error union to consumers.\n const effectExecutor = await Effect.runPromise(createEffectExecutor(effectConfig));\n\n const executor = promisifyDeep(effectExecutor) as Executor<TPlugins>;\n return {\n ...executor,\n close: async () => {\n await Effect.runPromise(effectExecutor.close());\n },\n } as Executor<TPlugins>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAgB,cAAc;AA0H9B,IAAM,gBAAgB,CAAC,MACrB,MAAM,QACN,OAAO,MAAM,YACb,CAAC,MAAM,QAAQ,CAAC,KAChB,EAAE,aAAa,SACf,EAAE,aAAa;AAEjB,IAAM,yBAAyB,CAAC,UAC9B,UAAU,gBAAgB,OAAO,UAAU;AAE7C,IAAM,wBAAwB,CAAC,YAC7B,YAAY,eACR,eACA,CAAC,QAAQ,OAAO,QAAQ,MAAM,QAAQ,QAAQ,QAAQ,GAAG,CAAC,CAAC;AAEjE,IAAM,4BAA4B,CAAC,UAA4B;AAC7D,MAAI,CAAC,cAAc,KAAK,KAAK,CAAC,OAAO,OAAO,OAAO,eAAe,EAAG,QAAO;AAC5E,QAAM,gBAAgB,MAAM;AAC5B,MAAI,kBAAkB,UAAa,CAAC,uBAAuB,aAAa,EAAG,QAAO;AAClF,SAAO;AAAA,IACL,GAAG;AAAA,IACH,eAAe,sBAAsB,aAAa;AAAA,EACpD;AACF;AAEA,IAAM,mBAAmB,CAAC,SACxB,KAAK,IAAI,CAAC,QAAQ,0BAA0B,GAAG,CAAC;AAElD,IAAM,gBAAgB,CAAI,UAA6B;AACrD,MAAI,OAAO,UAAU,YAAY;AAC/B,YAAQ,IAAI,SAAoB;AAC9B,YAAM,SAAU,MAAuC;AAAA,QACrD;AAAA,QACA,iBAAiB,IAAI;AAAA,MACvB;AACA,UAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,eAAO,OAAO,WAAW,MAAyC;AAAA,MACpE;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,CAAC,cAAc,KAAK,EAAG,QAAO;AAElC,SAAO,IAAI,MAAM,OAAO;AAAA,IACtB,IAAI,QAAQ,MAAM,UAAU;AAC1B,YAAM,IAAI,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAC5C,UAAI,OAAO,MAAM,YAAY;AAC3B,eAAO,IAAI,SAAoB;AAC7B,gBAAM,SAAU,EAAmC,MAAM,QAAQ,iBAAiB,IAAI,CAAC;AACvF,cAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,mBAAO,OAAO,WAAW,MAAyC;AAAA,UACpE;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,cAAc,CAAC,EAAG,QAAO,cAAc,CAAC;AAC5C,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAMO,IAAMA,kBAAiB,OAC5B,WACgC;AAChC,QAAM,UAAW,QAAQ,WAAW,CAAC;AACrC,QAAM,KACJ,OAAO,OAAO,OAAO,aAAa,MAAM,OAAO,GAAG,EAAE,QAAQ,cAAc,EAAE,CAAC,IAAI,OAAO;AAE1F,QAAM,eAAe;AAAA,IACnB,QAAQ,OAAO,KAAK,OAAO,UAAU,gBAAgB;AAAA,IACrD,GAAI,OAAO,YAAY,SAAY,EAAE,SAAS,QAAQ,KAAK,OAAO,OAAO,EAAE,IAAI,CAAC;AAAA,IAChF;AAAA,IACA,GAAI,OAAO,YAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,IAC1D,eAAe,sBAAsB,OAAO,aAAa;AAAA,IACzD,GAAI,KAAK,EAAE,GAAG,IAAI,CAAC;AAAA,EACrB;AAQA,QAAM,iBAAiB,MAAM,OAAO,WAAW,eAAqB,YAAY,CAAC;AAEjF,QAAM,WAAW,cAAc,cAAc;AAC7C,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,YAAY;AACjB,YAAM,OAAO,WAAW,eAAe,MAAM,CAAC;AAAA,IAChD;AAAA,EACF;AACF;","names":["createExecutor"]}
1
+ {"version":3,"sources":["../src/promise-executor.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// @executor-js/sdk/promise — thin Promise façade over the Effect SDK.\n//\n// Consumer goal: use executors + plugins without touching Effect. The\n// façade wraps `createExecutor` so it returns a Promise, and proxies\n// every method on the returned executor to unwrap its Effect into a\n// Promise. Plugin factories are Effect-native but consumers never see\n// that — the proxy flattens plugin extension methods too.\n//\n// Not a goal: authoring plugins in Promise style. The plugin model\n// (storage, schema, staticSources, Effect ctx) is Effect-only. Bring\n// your own `@executor-js/plugin-*` from the Effect side.\n// ---------------------------------------------------------------------------\n\nimport { Brand, Effect } from \"effect\";\n\nimport {\n collectTables,\n createExecutor as createEffectExecutor,\n type Executor as EffectExecutor,\n type InvokeOptions as EffectInvokeOptions,\n type OnElicitation,\n} from \"./executor\";\nimport type { ElicitationContext, ElicitationResponse } from \"./elicitation\";\nimport type { FumaDb, FumaTables } from \"./fuma-runtime\";\nimport { Subject, Tenant } from \"./ids\";\nimport type { AnyPlugin } from \"./plugin\";\nimport type { CredentialProvider } from \"./provider\";\n\n// ---------------------------------------------------------------------------\n// Types\n//\n// Promise consumers shouldn't need to construct Effect `Brand`s to call into\n// the executor — branded ids (`SecretId`, `ScopeId`, `ToolId`, `PolicyId`,\n// `ConnectionId`) are typed as `string & Brand<...>` on the Effect side, but\n// at runtime they're plain strings. `Unbrand` strips brand tags from\n// parameter types (recursively, so it walks into object fields like\n// `secrets.set({ id, scope })`) so consumers can pass plain strings. Return\n// types are passed through unchanged — caller code that reads `.id` etc.\n// off a returned ref still gets the branded type for use as an opaque token.\n// ---------------------------------------------------------------------------\n\ntype Unbrand<T> =\n T extends Brand.Brand<string>\n ? string\n : T extends readonly (infer U)[]\n ? readonly Unbrand<U>[]\n : T extends ReadonlyMap<infer K, infer V>\n ? ReadonlyMap<Unbrand<K>, Unbrand<V>>\n : T extends ReadonlySet<infer U>\n ? ReadonlySet<Unbrand<U>>\n : T extends Date\n ? T\n : T extends (...args: infer A) => infer R\n ? (...args: { [I in keyof A]: Unbrand<A[I]> }) => Unbrand<R>\n : T extends object\n ? { readonly [K in keyof T]: Unbrand<T[K]> }\n : T;\n\nexport type PromiseOnElicitation =\n | \"accept-all\"\n | ((ctx: Unbrand<ElicitationContext>) => ElicitationResponse | Promise<ElicitationResponse>);\n\nexport interface PromiseInvokeOptions {\n readonly onElicitation?: PromiseOnElicitation;\n}\n\ntype PromisifiedArg<T> = T extends EffectInvokeOptions | undefined\n ? PromiseInvokeOptions | undefined\n : Unbrand<T>;\n\ntype PromisifiedArgs<TArgs extends readonly unknown[]> = {\n [I in keyof TArgs]: PromisifiedArg<TArgs[I]>;\n};\n\nexport type Promisified<T> = T extends (...args: infer A) => Effect.Effect<infer R, infer _E>\n ? (...args: PromisifiedArgs<A>) => Promise<R>\n : T extends readonly unknown[]\n ? T\n : T extends object\n ? { readonly [K in keyof T]: Promisified<T[K]> }\n : T;\n\nexport type Executor<TPlugins extends readonly AnyPlugin[] = readonly []> = Promisified<\n EffectExecutor<TPlugins>\n>;\n\nexport interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = readonly []> {\n /** The org / workspace this executor binds to. Optional — defaults to\n * `\"default-tenant\"`. `owner: \"org\"` rows file here. */\n readonly tenant?: string;\n /** The acting member. Omit for a pure-org executor (no `owner:\"user\"`). */\n readonly subject?: string;\n readonly plugins?: TPlugins;\n /**\n * Config-level credential providers, merged with every\n * `plugin.credentialProviders`. Config providers register first, so the\n * default (first writable) store is selected from them when present. A\n * writable provider is required before `connections.create({ value })` can\n * store an inline credential. Providers are Effect-native objects (their\n * `get`/`set` return `Effect`s) — bring them from `@executor-js/sdk/core`.\n */\n readonly providers?: readonly CredentialProvider[];\n /**\n * FumaDB ORM handle, or a factory that receives the executor-owned table\n * map. Public consumers usually want the factory form so `collectTables()`\n * stays inside `createExecutor`.\n */\n readonly db?:\n | FumaDb\n | { readonly db: FumaDb; readonly close?: () => Promise<void> | void }\n | ((config: { readonly tables: FumaTables }) =>\n | FumaDb\n | { readonly db: FumaDb; readonly close?: () => Promise<void> | void }\n | Promise<\n | FumaDb\n | {\n readonly db: FumaDb;\n readonly close?: () => Promise<void> | void;\n }\n >);\n /**\n * How to respond when a tool requests user input mid-invocation. Pass\n * `\"accept-all\"` for tests / non-interactive hosts, or a handler\n * `(ctx) => Promise<ElicitationResponse>` for interactive ones.\n * Required at construction so per-invoke calls don't have to thread\n * an options arg.\n */\n readonly onElicitation: PromiseOnElicitation;\n}\n\n// ---------------------------------------------------------------------------\n// Promisify proxy — walks nested objects, converts Effect-returning methods\n// into Promise-returning methods. Non-Effect return values pass through.\n// ---------------------------------------------------------------------------\n\nconst isPlainObject = (v: unknown): v is Record<string | symbol, unknown> =>\n v !== null &&\n typeof v === \"object\" &&\n !Array.isArray(v) &&\n !(v instanceof Date) &&\n !(v instanceof Promise);\n\nconst isPromiseOnElicitation = (value: unknown): value is PromiseOnElicitation =>\n value === \"accept-all\" || typeof value === \"function\";\n\nconst toEffectOnElicitation = (handler: PromiseOnElicitation): OnElicitation =>\n handler === \"accept-all\"\n ? \"accept-all\"\n : (ctx) => Effect.promise(() => Promise.resolve(handler(ctx)));\n\nconst adaptPromiseInvokeOptions = (value: unknown): unknown => {\n if (!isPlainObject(value) || !Object.hasOwn(value, \"onElicitation\")) return value;\n const onElicitation = value.onElicitation;\n if (onElicitation === undefined || !isPromiseOnElicitation(onElicitation)) return value;\n return {\n ...value,\n onElicitation: toEffectOnElicitation(onElicitation),\n };\n};\n\nconst adaptPromiseArgs = (args: readonly unknown[]): unknown[] =>\n args.map((arg) => adaptPromiseInvokeOptions(arg));\n\nconst promisifyDeep = <T>(value: T): Promisified<T> => {\n if (typeof value === \"function\") {\n return ((...args: unknown[]) => {\n const result = (value as (...a: unknown[]) => unknown).apply(\n undefined,\n adaptPromiseArgs(args),\n );\n if (Effect.isEffect(result)) {\n return Effect.runPromise(result as Effect.Effect<unknown, unknown>);\n }\n return result;\n }) as Promisified<T>;\n }\n\n if (!isPlainObject(value)) return value as Promisified<T>;\n\n return new Proxy(value, {\n get(target, prop, receiver) {\n const v = Reflect.get(target, prop, receiver);\n if (typeof v === \"function\") {\n return (...args: unknown[]) => {\n const result = (v as (...a: unknown[]) => unknown).apply(target, adaptPromiseArgs(args));\n if (Effect.isEffect(result)) {\n return Effect.runPromise(result as Effect.Effect<unknown, unknown>);\n }\n return result;\n };\n }\n if (isPlainObject(v)) return promisifyDeep(v);\n return v;\n },\n }) as Promisified<T>;\n};\n\n// ---------------------------------------------------------------------------\n// createExecutor — Promise wrapper over the Effect createExecutor.\n// ---------------------------------------------------------------------------\n\nexport const createExecutor = async <const TPlugins extends readonly AnyPlugin[] = readonly []>(\n config: ExecutorConfig<TPlugins>,\n): Promise<Executor<TPlugins>> => {\n const plugins = (config?.plugins ?? []) as TPlugins;\n const db =\n typeof config.db === \"function\" ? await config.db({ tables: collectTables() }) : config.db;\n\n const effectConfig = {\n tenant: Tenant.make(config.tenant ?? \"default-tenant\"),\n ...(config.subject !== undefined ? { subject: Subject.make(config.subject) } : {}),\n plugins,\n ...(config.providers ? { providers: config.providers } : {}),\n onElicitation: toEffectOnElicitation(config.onElicitation),\n ...(db ? { db } : {}),\n };\n\n // The SDK has no observability requirement; storage failures surface\n // as raw `StorageError` / `UniqueViolationError` in the typed channel.\n // `Effect.runPromise` turns them into Promise rejections — consumers\n // get the tagged error as the rejected value. See\n // notes/promise-sdk-typed-errors.md for the planned `runPromiseExit`\n // rewrite that exposes the full error union to consumers.\n const effectExecutor = await Effect.runPromise(createEffectExecutor(effectConfig));\n\n const executor = promisifyDeep(effectExecutor) as Executor<TPlugins>;\n return {\n ...executor,\n close: async () => {\n await Effect.runPromise(effectExecutor.close());\n },\n } as Executor<TPlugins>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,SAAgB,cAAc;AA0H9B,IAAM,gBAAgB,CAAC,MACrB,MAAM,QACN,OAAO,MAAM,YACb,CAAC,MAAM,QAAQ,CAAC,KAChB,EAAE,aAAa,SACf,EAAE,aAAa;AAEjB,IAAM,yBAAyB,CAAC,UAC9B,UAAU,gBAAgB,OAAO,UAAU;AAE7C,IAAM,wBAAwB,CAAC,YAC7B,YAAY,eACR,eACA,CAAC,QAAQ,OAAO,QAAQ,MAAM,QAAQ,QAAQ,QAAQ,GAAG,CAAC,CAAC;AAEjE,IAAM,4BAA4B,CAAC,UAA4B;AAC7D,MAAI,CAAC,cAAc,KAAK,KAAK,CAAC,OAAO,OAAO,OAAO,eAAe,EAAG,QAAO;AAC5E,QAAM,gBAAgB,MAAM;AAC5B,MAAI,kBAAkB,UAAa,CAAC,uBAAuB,aAAa,EAAG,QAAO;AAClF,SAAO;AAAA,IACL,GAAG;AAAA,IACH,eAAe,sBAAsB,aAAa;AAAA,EACpD;AACF;AAEA,IAAM,mBAAmB,CAAC,SACxB,KAAK,IAAI,CAAC,QAAQ,0BAA0B,GAAG,CAAC;AAElD,IAAM,gBAAgB,CAAI,UAA6B;AACrD,MAAI,OAAO,UAAU,YAAY;AAC/B,YAAQ,IAAI,SAAoB;AAC9B,YAAM,SAAU,MAAuC;AAAA,QACrD;AAAA,QACA,iBAAiB,IAAI;AAAA,MACvB;AACA,UAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,eAAO,OAAO,WAAW,MAAyC;AAAA,MACpE;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAEA,MAAI,CAAC,cAAc,KAAK,EAAG,QAAO;AAElC,SAAO,IAAI,MAAM,OAAO;AAAA,IACtB,IAAI,QAAQ,MAAM,UAAU;AAC1B,YAAM,IAAI,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAC5C,UAAI,OAAO,MAAM,YAAY;AAC3B,eAAO,IAAI,SAAoB;AAC7B,gBAAM,SAAU,EAAmC,MAAM,QAAQ,iBAAiB,IAAI,CAAC;AACvF,cAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,mBAAO,OAAO,WAAW,MAAyC;AAAA,UACpE;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AACA,UAAI,cAAc,CAAC,EAAG,QAAO,cAAc,CAAC;AAC5C,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AAMO,IAAMA,kBAAiB,OAC5B,WACgC;AAChC,QAAM,UAAW,QAAQ,WAAW,CAAC;AACrC,QAAM,KACJ,OAAO,OAAO,OAAO,aAAa,MAAM,OAAO,GAAG,EAAE,QAAQ,cAAc,EAAE,CAAC,IAAI,OAAO;AAE1F,QAAM,eAAe;AAAA,IACnB,QAAQ,OAAO,KAAK,OAAO,UAAU,gBAAgB;AAAA,IACrD,GAAI,OAAO,YAAY,SAAY,EAAE,SAAS,QAAQ,KAAK,OAAO,OAAO,EAAE,IAAI,CAAC;AAAA,IAChF;AAAA,IACA,GAAI,OAAO,YAAY,EAAE,WAAW,OAAO,UAAU,IAAI,CAAC;AAAA,IAC1D,eAAe,sBAAsB,OAAO,aAAa;AAAA,IACzD,GAAI,KAAK,EAAE,GAAG,IAAI,CAAC;AAAA,EACrB;AAQA,QAAM,iBAAiB,MAAM,OAAO,WAAW,eAAqB,YAAY,CAAC;AAEjF,QAAM,WAAW,cAAc,cAAc;AAC7C,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,YAAY;AACjB,YAAM,OAAO,WAAW,eAAe,MAAM,CAAC;AAAA,IAChD;AAAA,EACF;AACF;","names":["createExecutor"]}
@@ -14,6 +14,10 @@ export interface AuthPlacementDescriptor {
14
14
  * methods; a distinct name per input for multi-input ones (e.g. Datadog).
15
15
  * Absent → treated as `token`. */
16
16
  readonly variable?: string;
17
+ /** Set when the placement renders this exact value instead of a credential
18
+ * (a static header/param the method carries). Such placements reference no
19
+ * input variable. */
20
+ readonly literal?: string;
17
21
  }
18
22
  /** OAuth specifics for an `oauth` auth method. For probe-at-connect providers
19
23
  * (MCP) only `discoveryUrl` + `supportsDynamicRegistration` are known up front;
@@ -66,6 +70,10 @@ export interface Integration {
66
70
  * owning plugin writes it at register time and reads it back at execute time to
67
71
  * render auth / produce tools. Core treats it as an opaque JSON blob. */
68
72
  export type IntegrationConfig = unknown;
73
+ export declare const freshCustomAuthSlug: (taken: ReadonlySet<string>) => string;
74
+ export declare const mergeAuthTemplates: <T extends {
75
+ readonly slug: string;
76
+ }>(existing: readonly T[], incoming: readonly T[]) => readonly T[];
69
77
  /** What a plugin's extension method passes to `ctx.core.integrations.register`.
70
78
  * The v2 analog of v1's `SourceInput`, minus the per-source tool list (tools are
71
79
  * produced per-connection now). */
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAqB7C,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;4BAC4B;AAC5B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;uCAEmC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;8EAG8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC;sDACkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;4EACwE;IACxE,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtD,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;CAC5C;AAED;4DAC4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;8EAC0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;mCAC+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;gFAC4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;0EAE0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAExC;;oCAEoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B"}
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAqB7C,MAAM,WAAW,4BAA4B;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;4BAC4B;AAC5B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;uCAEmC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;0BAEsB;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;8EAG8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC;sDACkD;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;4EACwE;IACxE,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;CAChD;AAED,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtD,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACzD,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;CAC5C;AAED;4DAC4D;AAC5D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;8EAC0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B;mCAC+B;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B;gFAC4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACtD;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;0EAE0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAYxC,eAAO,MAAM,mBAAmB,GAAI,OAAO,WAAW,CAAC,MAAM,CAAC,KAAG,MAIhE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACpE,UAAU,SAAS,CAAC,EAAE,EACtB,UAAU,SAAS,CAAC,EAAE,KACrB,SAAS,CAAC,EAoBZ,CAAC;AAEF;;oCAEoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B"}
@@ -5,10 +5,11 @@ import type { StorageFailure } from "./fuma-runtime";
5
5
  import { type AuthTemplateSlug, type ConnectionName, type IntegrationSlug, OAuthClientSlug, OAuthState, type Owner } from "./ids";
6
6
  export type OAuthGrant = "authorization_code" | "client_credentials";
7
7
  /** Provider OAuth config an integration declares as one of its auth templates —
8
- * what to request. (The flow itself runs off the self-contained OAuthClient.) */
8
+ * what to request. (The flow itself runs off the self-contained OAuthClient.)
9
+ * Keyed `kind: "oauth2"` like every auth method across the plugins. */
9
10
  export interface OAuthAuthentication {
10
11
  readonly slug: AuthTemplateSlug;
11
- readonly type: "oauth";
12
+ readonly kind: "oauth2";
12
13
  readonly authorizationUrl: string;
13
14
  readonly tokenUrl: string;
14
15
  readonly scopes: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../src/oauth-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-client.d.ts","sourceRoot":"","sources":["../src/oauth-client.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -7,7 +7,7 @@ import type { StorageFailure } from "./fuma-runtime";
7
7
  import type { PluginBlobStore } from "./blob";
8
8
  import type { Connection, ConnectionRef, CreateConnectionInput } from "./connection";
9
9
  import type { AuthMethodDescriptor, Integration, IntegrationConfig, IntegrationDisplayDescriptor, RegisterIntegrationInput } from "./integration";
10
- import type { ToolRow } from "./core-schema";
10
+ import type { ToolInvocationRow } from "./core-schema";
11
11
  import type { AuthTemplateSlug, ConnectionName, IntegrationSlug, Owner, ProviderKey, Subject, Tenant } from "./ids";
12
12
  import type { IntegrationDetectionResult } from "./types";
13
13
  import type { ElicitationDeclinedError, ElicitationHandler, ElicitationRequest, ElicitationResponse } from "./elicitation";
@@ -83,16 +83,29 @@ export interface PluginCtx<TStore = unknown> {
83
83
  * core integration/tool writes). */
84
84
  readonly transaction: <A, E>(effect: Effect.Effect<A, E>) => Effect.Effect<A, E | StorageFailure>;
85
85
  }
86
- export interface ResolveToolsInput {
86
+ export interface ResolveToolsInput<TStore = unknown> {
87
87
  /** The catalog record (public projection) whose connection is being resolved. */
88
88
  readonly integration: Integration;
89
89
  /** The plugin's stored opaque config for that integration. */
90
90
  readonly config: IntegrationConfig;
91
+ /** The plugin's typed store — the same instance the extension ctx sees.
92
+ * Lets spec-derived plugins load build artifacts kept behind the storage
93
+ * facades (e.g. a content-addressed spec blob) instead of inlining them
94
+ * in `config`. */
95
+ readonly storage: TStore;
91
96
  /** The connection whose tools are being resolved. */
92
97
  readonly connection: ConnectionRef;
98
+ /** Which of the integration's declared auth methods the connection binds
99
+ * (`connection.template`), so multi-method integrations render the right
100
+ * one during discovery. `null` when the connection row isn't persisted yet. */
101
+ readonly template: AuthTemplateSlug | null;
93
102
  /** Lazily resolve the connection's credential value via its provider — only
94
103
  * the kinds that actually call out (mcp) pay for it. */
95
104
  readonly getValue: () => Effect.Effect<string | null, StorageFailure>;
105
+ /** Lazily resolve every credential input (`variable → value`) — the
106
+ * multi-input analog of `getValue`, for methods whose placements reference
107
+ * more than one variable. Empty map when the connection isn't persisted. */
108
+ readonly getValues: () => Effect.Effect<Record<string, string | null>, StorageFailure>;
96
109
  }
97
110
  export interface ResolveToolsResult {
98
111
  readonly tools: readonly ToolDef[];
@@ -156,7 +169,7 @@ export interface InvokeToolInput<TStore = unknown> {
156
169
  readonly ctx: PluginCtx<TStore>;
157
170
  /** Already-loaded per-connection tool row (carries integration, connection,
158
171
  * owner, name, schemas). */
159
- readonly toolRow: ToolRow;
172
+ readonly toolRow: ToolInvocationRow;
160
173
  /** The resolved credential to apply to the outbound request. */
161
174
  readonly credential: ToolInvocationCredential;
162
175
  readonly args: unknown;
@@ -230,7 +243,7 @@ export interface PluginSpec<TId extends string = string, TExtension extends obje
230
243
  * registering per-source tools — called by the executor at connection
231
244
  * create / refresh / oauth.complete; the result is stamped with addresses
232
245
  * and persisted per-connection. Omit for plugins with no dynamic tools. */
233
- readonly resolveTools?: (input: ResolveToolsInput) => Effect.Effect<ResolveToolsResult, StorageFailure>;
246
+ readonly resolveTools?: (input: ResolveToolsInput<TStore>) => Effect.Effect<ResolveToolsResult, StorageFailure>;
234
247
  /** Invoke a dynamic tool. Called when the static-handler map doesn't have the
235
248
  * address. The plugin applies `input.credential` to the outbound request. */
236
249
  readonly invokeTool?: (input: InvokeToolInput<TStore>) => Effect.Effect<unknown, unknown>;
@@ -239,7 +252,7 @@ export interface PluginSpec<TId extends string = string, TExtension extends obje
239
252
  readonly ctx: PluginCtx<TStore>;
240
253
  readonly integration: IntegrationSlug;
241
254
  readonly connection: ConnectionName;
242
- readonly toolRows: readonly ToolRow[];
255
+ readonly toolRows: readonly ToolInvocationRow[];
243
256
  }) => Effect.Effect<Record<string, ToolAnnotations>, unknown>;
244
257
  /** Plugin-side cleanup when a connection is removed. */
245
258
  readonly removeConnection?: (input: ConnectionLifecycleInput<TStore>) => Effect.Effect<void, unknown>;
@@ -1 +1 @@
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,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,KAAK,EACL,WAAW,EACX,OAAO,EACP,MAAM,EACP,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EACV,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,uBAAuB,EACvB,oCAAoC,EACpC,wBAAwB,EACxB,iCAAiC,EACjC,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAS7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAQD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;CAC7C;AAQD,MAAM,MAAM,MAAM,GAAG,CACnB,OAAO,EAAE,kBAAkB,KACxB,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAC;AAOlE,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AASD,MAAM,WAAW,SAAS,CAAC,MAAM,GAAG,OAAO;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,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,YAAY,EAAE;YACrB,mEAAmE;YACnE,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC5F,QAAQ,CAAC,MAAM,EAAE,CACf,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE;gBAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;aAAE,KAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,EAAE,EAAE,cAAc,CAAC,CAAC;YAC3E,QAAQ,CAAC,GAAG,EAAE,CACZ,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,iBAAiB,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;YAC7D,QAAQ,CAAC,MAAM,EAAE,CACf,IAAI,EAAE,eAAe,KAClB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iCAAiC,GAAG,cAAc,CAAC,CAAC;YAC7E,QAAQ,CAAC,MAAM,EAAE,CACf,GAAG,EAAE,MAAM,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,0BAA0B,EAAE,EAAE,cAAc,CAAC,CAAC;YAC1E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,SAAS,0BAA0B,EAAE,CAAC;YACvE,QAAQ,CAAC,OAAO,EAAE,MAAM,SAAS,6BAA6B,EAAE,CAAC;SAClE,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;KACH,CAAC;IAEF;kEAC8D;IAC9D,QAAQ,CAAC,WAAW,EAAE;QACpB,QAAQ,CAAC,MAAM,EAAE,CACf,KAAK,EAAE,qBAAqB,KACzB,MAAM,CAAC,MAAM,CAChB,UAAU,EACR,wBAAwB,GACxB,oCAAoC,GACpC,2BAA2B,GAC3B,cAAc,CACjB,CAAC;QACF,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;YACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;SACxB,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,UAAU,EAAE,EAAE,cAAc,CAAC,CAAC;QAC3D,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;QACvF,QAAQ,CAAC,MAAM,EAAE,CACf,GAAG,EAAE,aAAa,KACf,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAAC,CAAC;QACnE,QAAQ,CAAC,OAAO,EAAE,CAChB,GAAG,EAAE,aAAa,KACf,MAAM,CAAC,MAAM,CAChB,SAAS,IAAI,EAAE,EACf,uBAAuB,GAAG,wBAAwB,GAAG,cAAc,CACpE,CAAC;QACF;sDAC8C;QAC9C,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;KAC7F,CAAC;IAEF,iFAAiF;IACjF,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;QAC3D,QAAQ,CAAC,KAAK,EAAE,CACd,QAAQ,EAAE,WAAW,KAClB,MAAM,CAAC,MAAM,CAAC,SAAS,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;KAC9D,CAAC;IAEF,4BAA4B;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAE7B;yCACqC;IACrC,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;AAQD,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC;6DACyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAOD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;8DAC0D;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;4EAGwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/C,+DAA+D;IAC/D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;CACpC;AAMD,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,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,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,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,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,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;iCAC6B;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;2CAE2C;AAC3C,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,OAAO;IACxD,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;CACpC;AAED,MAAM,WAAW,gCAAgC,CAAC,MAAM,GAAG,OAAO;IAChE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB,CAAC,MAAM,GAAG,OAAO;IACxD,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,gCAAgC,CAAC,MAAM,CAAC,KAC5C,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,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,iBAAiB;IAChC,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,6BAA8B,SAAQ,iBAAiB;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAOD,MAAM,WAAW,UAAU,CACzB,GAAG,SAAS,MAAM,GAAG,MAAM,EAE3B,UAAU,SAAS,MAAM,GAAG,GAAG,EAE/B,MAAM,GAAG,GAAG,EAEZ,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;+CAC2C;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC;IAEhD,8CAA8C;IAC9C,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAC;IAE7C,8EAA8E;IAC9E,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEhC,6EAA6E;IAC7E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAE3D;;yCAEqC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;IAE5D,2EAA2E;IAC3E,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,SAAS,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;IAE5F,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IAE/B,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,cAAc,CAAC;IAEzC,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IAE9C;;;gFAG4E;IAC5E,QAAQ,CAAC,YAAY,CAAC,EAAE,CACtB,KAAK,EAAE,iBAAiB,KACrB,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;IAEvD;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE1F,4EAA4E;IAC5E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE;QACpC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;QACtC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;QACpC,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,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC1B,KAAK,EAAE,wBAAwB,CAAC,MAAM,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAElC,+DAA+D;IAC/D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEjE;;;iFAG6E;IAC7E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC7B,WAAW,EAAE,iBAAiB,KAC3B,SAAS,oBAAoB,EAAE,CAAC;IAErC;;6DAEyD;IACzD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CACpC,WAAW,EAAE,iBAAiB,KAC3B,4BAA4B,CAAC;IAElC,6CAA6C;IAC7C,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,0BAA0B,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAEhE;iDAC6C;IAC7C,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,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,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC;CAAG;AAM3F,MAAM,MAAM,gBAAgB,CAC1B,GAAG,SAAS,MAAM,EAClB,UAAU,SAAS,MAAM,EACzB,MAAM,EACN,QAAQ,SAAS,MAAM,EAEvB,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,KAAK,MAAM,CAAC;CAClD,KACE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAGhF,wBAAgB,YAAY,CAC1B,GAAG,SAAS,MAAM,EAClB,UAAU,SAAS,MAAM,EACzB,MAAM,EACN,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,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,GAClF,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,CAAC,CAkBhG;AAMD,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;AAGF,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/promise.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { createExecutor, type Executor, type ExecutorConfig, type PromiseInvokeOptions, type PromiseOnElicitation, type Promisified, } from "./promise-executor";
2
- export { Tenant, Subject, Owner, IntegrationSlug, ConnectionName, AuthTemplateSlug, ProviderKey, ProviderItemId, ToolAddress, ToolName, ElicitationId, PolicyId, } from "./ids";
2
+ export { Tenant, Subject, Owner, IntegrationSlug, ConnectionName, AuthTemplateSlug, ProviderKey, ProviderItemId, ToolAddress, ToolName, PolicyId, } from "./ids";
3
3
  export type { Integration } from "./integration";
4
4
  export type { Connection, ConnectionRef, CreateConnectionInput, ConnectionValueInput, } from "./connection";
5
5
  export type { CredentialProvider, ProviderEntry } from "./provider";
@@ -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,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,QAAQ,EACR,aAAa,EACb,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAItB,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC7E,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;AAIvB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,oCAAoC,EACpC,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,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,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,QAAQ,EACR,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,YAAY,EACV,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAItB,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACpE,YAAY,EACV,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AACrE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAC7E,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;AAIvB,OAAO,EAAE,oBAAoB,EAAE,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAGxE,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,oCAAoC,EACpC,yBAAyB,EACzB,wBAAwB,EACxB,iCAAiC,EACjC,KAAK,aAAa,GACnB,MAAM,UAAU,CAAC"}
package/dist/shared.js CHANGED
@@ -42,7 +42,7 @@ import {
42
42
  effectivePolicyFromSorted,
43
43
  isValidPattern,
44
44
  matchPattern
45
- } from "./chunk-3RRMGXEN.js";
45
+ } from "./chunk-UKOTOKXM.js";
46
46
  import {
47
47
  AuthTemplateSlug,
48
48
  ConnectionAddress,
@@ -0,0 +1,23 @@
1
+ import { Effect } from "effect";
2
+ import { DataMigrationError, type SqliteDataMigrationClient } from "./sqlite-data-migrations";
3
+ export interface SqliteConfigBlobMigrationOptions {
4
+ /** The ledger entry name, for error attribution. */
5
+ readonly migrationName: string;
6
+ /** Rows whose `plugin_id` equals this are candidates. */
7
+ readonly pluginId: string;
8
+ /** The config field holding the inline text to move (e.g. `spec`). */
9
+ readonly inlineField: string;
10
+ /** The config field that will carry the content hash (e.g. `specHash`). */
11
+ readonly hashField: string;
12
+ /** Blob key prefix; the key is `<prefix>/<sha256>` (e.g. `spec`). */
13
+ readonly blobKeyPrefix: string;
14
+ }
15
+ /**
16
+ * Move every inline `options.inlineField` in this plugin's integration
17
+ * configs into the blob table and rewrite the config to carry
18
+ * `options.hashField`. Returns the number of rows rewritten. The
19
+ * `integration` table may not exist yet on a fresh database — that counts
20
+ * as nothing to migrate.
21
+ */
22
+ export declare const runSqliteConfigBlobMigration: (client: SqliteDataMigrationClient, options: SqliteConfigBlobMigrationOptions) => Effect.Effect<number, DataMigrationError>;
23
+ //# sourceMappingURL=sqlite-config-blob-migration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-config-blob-migration.d.ts","sourceRoot":"","sources":["../src/sqlite-config-blob-migration.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAE9F,MAAM,WAAW,gCAAgC;IAC/C,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,yDAAyD;IACzD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAOD;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GACvC,QAAQ,yBAAyB,EACjC,SAAS,gCAAgC,KACxC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CA8EvC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sqlite-config-blob-migration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-config-blob-migration.test.d.ts","sourceRoot":"","sources":["../src/sqlite-config-blob-migration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { Effect } from "effect";
2
+ /** Structural client interface so this module stays dependency-free;
3
+ * `@libsql/client` satisfies it. */
4
+ export interface SqliteDataMigrationClient {
5
+ execute(stmt: string | {
6
+ readonly sql: string;
7
+ readonly args: readonly unknown[];
8
+ }): Promise<{
9
+ readonly rows: readonly Record<string, unknown>[];
10
+ }>;
11
+ }
12
+ declare const DataMigrationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
13
+ readonly _tag: "DataMigrationError";
14
+ } & Readonly<A>;
15
+ export declare class DataMigrationError extends DataMigrationError_base<{
16
+ /** The migration that failed, or null when the ledger itself did. */
17
+ readonly migration: string | null;
18
+ readonly cause: unknown;
19
+ }> {
20
+ }
21
+ declare const DuplicateDataMigrationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
22
+ readonly _tag: "DuplicateDataMigrationError";
23
+ } & Readonly<A>;
24
+ export declare class DuplicateDataMigrationError extends DuplicateDataMigrationError_base<{
25
+ readonly name: string;
26
+ }> {
27
+ }
28
+ export interface SqliteDataMigration {
29
+ /** Stable unique id, date-prefixed so the registry reads in order
30
+ * (e.g. "2026-06-05-auth-config-placements"). Renaming an applied
31
+ * migration re-runs it — never rename. */
32
+ readonly name: string;
33
+ readonly run: (client: SqliteDataMigrationClient) => Effect.Effect<void, DataMigrationError>;
34
+ }
35
+ /** Wrap a promise-shaped migration body as a registry entry. */
36
+ export declare const sqliteDataMigration: (name: string, run: (client: SqliteDataMigrationClient) => Promise<unknown>) => SqliteDataMigration;
37
+ /**
38
+ * Run every registry entry whose name has no stamp row, in registry order,
39
+ * stamping each on success. Returns the applied names.
40
+ *
41
+ * Atomicity is the migration's own job (the existing migrations run their
42
+ * rewrites inside BEGIN…COMMIT), so the runner does not wrap them — SQLite
43
+ * has no nested transactions. The stamp is written after the migration
44
+ * succeeds; a crash between the two re-runs the (idempotent) migration on
45
+ * the next boot, which is a no-op. A failed migration leaves no stamp and
46
+ * fails the boot.
47
+ */
48
+ export declare const runSqliteDataMigrations: (client: SqliteDataMigrationClient, migrations: readonly SqliteDataMigration[]) => Effect.Effect<readonly string[], DataMigrationError | DuplicateDataMigrationError>;
49
+ export {};
50
+ //# sourceMappingURL=sqlite-data-migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-data-migrations.d.ts","sourceRoot":"","sources":["../src/sqlite-data-migrations.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEtC;qCACqC;AACrC,MAAM,WAAW,yBAAyB;IACxC,OAAO,CACL,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,CAAA;KAAE,GACzE,OAAO,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;CACnE;;;;AAED,qBAAa,kBAAmB,SAAQ,wBAAuC;IAC7E,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;CAAG;;;;AAEL,qBAAa,2BAA4B,SAAQ,iCAAgD;IAC/F,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;CAAG;AAEL,MAAM,WAAW,mBAAmB;IAClC;;+CAE2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;CAC9F;AAcD,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,KAAK,CAAC,MAAM,EAAE,yBAAyB,KAAK,OAAO,CAAC,OAAO,CAAC,KAC3D,mBAOD,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,yBAAyB,EACjC,YAAY,SAAS,mBAAmB,EAAE,KACzC,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,EAAE,kBAAkB,GAAG,2BAA2B,CAmChF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sqlite-data-migrations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-data-migrations.test.d.ts","sourceRoot":"","sources":["../src/sqlite-data-migrations.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import {
2
+ createSqliteTestFumaDb
3
+ } from "./chunk-ARH4MAGG.js";
4
+ import "./chunk-I3X6242Q.js";
5
+ import "./chunk-7D4SUZUM.js";
6
+ export {
7
+ createSqliteTestFumaDb
8
+ };
9
+ //# sourceMappingURL=sqlite-test-db-KBW52UM6.js.map
package/dist/testing.js CHANGED
@@ -1,9 +1,13 @@
1
+ import {
2
+ createSqliteTestFumaDb
3
+ } from "./chunk-ARH4MAGG.js";
1
4
  import {
2
5
  collectTables,
3
6
  createExecutor,
4
7
  definePlugin
5
- } from "./chunk-WN6EB76P.js";
6
- import "./chunk-3RRMGXEN.js";
8
+ } from "./chunk-YPVKRUZV.js";
9
+ import "./chunk-UKOTOKXM.js";
10
+ import "./chunk-I3X6242Q.js";
7
11
  import "./chunk-EIHWBY6T.js";
8
12
  import {
9
13
  ProviderItemId,
@@ -11,10 +15,6 @@ import {
11
15
  Subject,
12
16
  Tenant
13
17
  } from "./chunk-7GJMCW76.js";
14
- import {
15
- createSqliteTestFumaDb
16
- } from "./chunk-VAJYYP2A.js";
17
- import "./chunk-777N6JVG.js";
18
18
  import {
19
19
  __commonJS,
20
20
  __require,
@@ -225939,7 +225939,7 @@ var makeLazyTestFumaDb = (options) => {
225939
225939
  let started;
225940
225940
  const start = () => {
225941
225941
  if (!started) {
225942
- started = import("./sqlite-test-db-AMRR6VZ6.js").then(
225942
+ started = import("./sqlite-test-db-KBW52UM6.js").then(
225943
225943
  ({ createSqliteTestFumaDb: createSqliteTestFumaDb2 }) => createSqliteTestFumaDb2({
225944
225944
  tables: options.tables,
225945
225945
  namespace: "executor_test",
@@ -7,15 +7,29 @@ export declare const ToolErrorSchema: Schema.Struct<{
7
7
  readonly retryable: Schema.optional<Schema.Boolean>;
8
8
  }>;
9
9
  export type ToolError = typeof ToolErrorSchema.Type;
10
+ export declare const ToolHttpMetaSchema: Schema.Struct<{
11
+ readonly status: Schema.Number;
12
+ readonly headers: Schema.$Record<Schema.String, Schema.String>;
13
+ }>;
14
+ /**
15
+ * Transport metadata for HTTP-backed tools (OpenAPI). Kept beside `data`
16
+ * rather than wrapped around it: `data` stays the upstream payload, while
17
+ * cross-cutting transport facts (pagination Link headers, rate-limit
18
+ * headers) remain reachable for callers that need them.
19
+ */
20
+ export type ToolHttpMeta = typeof ToolHttpMetaSchema.Type;
10
21
  export type ToolResult<T> = {
11
22
  readonly ok: true;
12
23
  readonly data: T;
24
+ readonly http?: ToolHttpMeta;
13
25
  } | {
14
26
  readonly ok: false;
15
27
  readonly error: ToolError;
16
28
  };
17
29
  export declare const ToolResult: {
18
- readonly ok: <T>(data: T) => ToolResult<T>;
30
+ readonly ok: <T>(data: T, meta?: {
31
+ readonly http?: ToolHttpMeta;
32
+ }) => ToolResult<T>;
19
33
  readonly fail: <T = never>(error: ToolError) => ToolResult<T>;
20
34
  };
21
35
  export declare const isToolResult: (value: unknown) => value is ToolResult<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-result.d.ts","sourceRoot":"","sources":["../src/tool-result.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAEpD,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GACvC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD,eAAO,MAAM,UAAU;kBAChB,CAAC,QAAQ,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC;oBACxB,CAAC,iBAAiB,SAAS,KAAG,UAAU,CAAC,CAAC,CAAC;CAC1C,CAAC;AASX,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAAU,CAAC,OAAO,CAC7C,CAAC"}
1
+ {"version":3,"file":"tool-result.d.ts","sourceRoot":"","sources":["../src/tool-result.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAEpD,eAAO,MAAM,kBAAkB;;;EAG7B,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,kBAAkB,CAAC,IAAI,CAAC;AAE1D,MAAM,MAAM,UAAU,CAAC,CAAC,IACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD,eAAO,MAAM,UAAU;kBAChB,CAAC,QAAQ,CAAC,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAA;KAAE,KAAG,UAAU,CAAC,CAAC,CAAC;oBAKjE,CAAC,iBAAiB,SAAS,KAAG,UAAU,CAAC,CAAC,CAAC;CAC1C,CAAC;AAaX,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,UAAU,CAAC,OAAO,CAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@executor-js/sdk",
3
- "version": "1.5.6",
3
+ "version": "1.5.7",
4
4
  "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/sdk",
5
5
  "bugs": {
6
6
  "url": "https://github.com/RhysSullivan/executor/issues"
@@ -57,6 +57,12 @@
57
57
  "types": "./dist/migration-spec.d.ts",
58
58
  "default": "./dist/migration-spec.js"
59
59
  }
60
+ },
61
+ "./http-auth": {
62
+ "import": {
63
+ "types": "./dist/http-auth.d.ts",
64
+ "default": "./dist/http-auth.js"
65
+ }
60
66
  }
61
67
  },
62
68
  "publishConfig": {
@@ -69,9 +75,9 @@
69
75
  "typecheck:slow": "tsc --noEmit"
70
76
  },
71
77
  "dependencies": {
78
+ "@executor-js/fumadb": "1.5.7",
72
79
  "@standard-schema/spec": "^1.1.0",
73
80
  "fractional-indexing": "^3.2.0",
74
- "@executor-js/fumadb": "1.5.6",
75
81
  "oauth4webapi": "^3.8.5"
76
82
  },
77
83
  "devDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/executor-fuma-db.ts"],"sourcesContent":["// ---------------------------------------------------------------------------\n// Shared FumaDB assembly (pure, driver-agnostic).\n//\n// Every host (self-host, local, sdk-test, cloud) historically hand-rolled the\n// same driver-agnostic FumaDB wiring: build a fumadb factory from the latest\n// schema, bind it to an already-opened drizzle handle through `drizzleAdapter`,\n// and expose `{ db: fuma.orm(version), fuma }`. `createExecutorFumaDb` owns ONLY\n// that assembly — the caller still opens its own driver (libSQL for SQLite,\n// postgres-js for Postgres), applies its own PRAGMAs, and runs its own schema\n// bring-up. The factory is dialect-generic via the `provider` param.\n//\n// This is a pure helper, not the `DbProvider` Effect seam. The seam\n// (`DbProvider` / `dbProviderLayer`) is host-composition and lives in the host\n// layer (`@executor-js/api/server`). This assembly stays in the SDK because the\n// SDK's own sqlite test backend (`sqlite-test-db.ts`) builds its handle with it;\n// hosts reach it (and the seam) through `@executor-js/api/server`, which\n// re-exports `createExecutorFumaDb` from here. It is NOT on the plugin-author\n// root barrel — host code imports it from `@executor-js/sdk/host-internal`.\n// ---------------------------------------------------------------------------\n\nimport { fumadb, type FumaDB } from \"@executor-js/fumadb\";\nimport { type DrizzleRuntimeProvider } from \"@executor-js/fumadb/adapters/drizzle\";\nimport { drizzleAdapter } from \"@executor-js/fumadb/adapters/drizzle\";\nimport { schema as fumaSchema, type RelationsMap } from \"@executor-js/fumadb/schema\";\n\nimport type { FumaDb, FumaTables } from \"./fuma-runtime\";\n\n// The FumaDB provider both the runtime-schema generator and the drizzle adapter\n// understand. SQLite (libSQL) and PostgreSQL (postgres-js) are the only\n// dialects in use today.\nexport type ExecutorDbProvider = DrizzleRuntimeProvider;\n\nexport type ExecutorFumaSchema<TTables extends FumaTables> = ReturnType<\n typeof fumaSchema<string, TTables, RelationsMap<TTables>>\n>;\n\nexport interface ExecutorFumaDb<TTables extends FumaTables = FumaTables> {\n readonly db: FumaDb<ExecutorFumaSchema<TTables>>;\n readonly fuma: FumaDB<ExecutorFumaSchema<TTables>[]>;\n}\n\nexport interface CreateExecutorFumaDbOptions<TTables extends FumaTables = FumaTables> {\n readonly tables: TTables;\n readonly namespace: string;\n readonly version: string;\n readonly provider: ExecutorDbProvider;\n /**\n * Whether the engine supports interactive transactions (BEGIN/COMMIT).\n * Defaults to `true`. Cloudflare D1 must pass `false` — it rejects\n * interactive transactions, so the adapter runs transaction callbacks\n * directly (auto-commit per statement). libSQL/Postgres keep real\n * transactions.\n */\n readonly interactiveTransactions?: boolean;\n /**\n * Maximum bound parameters per query (Cloudflare D1: 100). When set,\n * `createMany` batches so `rows * columns` stays within it. Unset for\n * libSQL/Postgres (no tight cap).\n */\n readonly maxBoundParameters?: number;\n}\n\n/**\n * Driver-agnostic FumaDB assembly. The caller passes an already-opened drizzle\n * handle (it owns the driver, PRAGMAs, and schema bring-up); this wires the\n * fumadb client over it and returns the `{ db, fuma }` query surface.\n *\n * NOTE: the drizzle `db` must already have its runtime schema attached (via\n * `createDrizzleRuntimeSchemaFromTables`) for SQLite/Postgres relational\n * queries to resolve — that schema generation stays caller-side because it is\n * coupled to the caller's drizzle() construction.\n */\nexport const createExecutorFumaDb = <const TTables extends FumaTables>(\n drizzleDb: unknown,\n options: CreateExecutorFumaDbOptions<TTables>,\n): ExecutorFumaDb<TTables> => {\n const latestSchema = fumaSchema({\n version: options.version,\n tables: options.tables,\n });\n const factory = fumadb({\n namespace: options.namespace,\n schemas: [latestSchema],\n });\n const fuma = factory.client(\n drizzleAdapter({\n db: drizzleDb,\n provider: options.provider,\n interactiveTransactions: options.interactiveTransactions,\n maxBoundParameters: options.maxBoundParameters,\n }),\n );\n\n return {\n db: fuma.orm(options.version),\n fuma,\n };\n};\n\n// The uniform handle each host exposes through the `DbProvider` Layer (defined\n// in the host layer). The `db`/`fuma` come from `createExecutorFumaDb`; `close`\n// releases the host's own driver. Hosts that keep extra connection objects (the\n// raw sqlite handle, the postgres `sql`) layer those into their own concrete\n// handle type and still satisfy this contract.\nexport interface ExecutorDbHandle<\n TTables extends FumaTables = FumaTables,\n> extends ExecutorFumaDb<TTables> {\n readonly close: () => Promise<void>;\n}\n"],"mappings":";AAoBA,SAAS,cAA2B;AAEpC,SAAS,sBAAsB;AAC/B,SAAS,UAAU,kBAAqC;AAiDjD,IAAM,uBAAuB,CAClC,WACA,YAC4B;AAC5B,QAAM,eAAe,WAAW;AAAA,IAC9B,SAAS,QAAQ;AAAA,IACjB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AACD,QAAM,UAAU,OAAO;AAAA,IACrB,WAAW,QAAQ;AAAA,IACnB,SAAS,CAAC,YAAY;AAAA,EACxB,CAAC;AACD,QAAM,OAAO,QAAQ;AAAA,IACnB,eAAe;AAAA,MACb,IAAI;AAAA,MACJ,UAAU,QAAQ;AAAA,MAClB,yBAAyB,QAAQ;AAAA,MACjC,oBAAoB,QAAQ;AAAA,IAC9B,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,IAAI,KAAK,IAAI,QAAQ,OAAO;AAAA,IAC5B;AAAA,EACF;AACF;","names":[]}