@executor-js/sdk 0.0.1-beta.5 → 0.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy-engine.d.ts","sourceRoot":"","sources":["../../src/in-memory/policy-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,wBAAwB;oBAKjB,OAAO;oBAIP,gBAAgB;kBAElB,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAAC;uBAO3B,QAAQ;CAG9B,CAAC"}
1
+ {"version":3,"file":"policy-engine.d.ts","sourceRoot":"","sources":["../../src/in-memory/policy-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE5D,eAAO,MAAM,wBAAwB;oBAKjB,OAAO;oBAEP,gBAAgB;kBAClB,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAAC;uBAO3B,QAAQ;CAE9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../../src/in-memory/secret-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5E,eAAO,MAAM,0BAA0B,QAAO,cAU7C,CAAC;AAMF,eAAO,MAAM,uBAAuB;oBA8BhB,OAAO;oBAKP,QAAQ;wBAKJ,QAAQ,YAAY,OAAO;uBAe5B,QAAQ,YAAY,OAAO;iBAMjC,cAAc;uBAwBR,QAAQ;4BAeH,cAAc;;CAMzC,CAAC"}
1
+ {"version":3,"file":"secret-store.d.ts","sourceRoot":"","sources":["../../src/in-memory/secret-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5E,eAAO,MAAM,0BAA0B,QAAO,cAa7C,CAAC;AAMF,eAAO,MAAM,uBAAuB;oBA8BhB,OAAO;oBAGP,QAAQ;wBAKJ,QAAQ,YAAY,OAAO;uBAe5B,QAAQ,YAAY,OAAO;iBAMjC,cAAc;uBAwBR,QAAQ;4BAeH,cAAc;;CAOzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/in-memory/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,wBAAwB;oBAmBjB,cAAc;;;;;;;qBA4Bb,MAAM;;;;;;;;;gCAsCK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;uCAOhB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0CAOpB,SAAS,MAAM,EAAE;iCAO1B,MAAM,WAAW,WAAW;iCAK5B,MAAM;qBAalB,MAAM,QAAQ,OAAO,WAAW,aAAa;yBAoBzC,SAAS,gBAAgB,EAAE;gCAWpB,SAAS,gBAAgB,EAAE;qCAWtB,MAAM,WAAW,kBAAkB;iCAKvC,SAAS,MAAM,EAAE;0BAQxB,SAAS,MAAM,EAAE;mCASR,MAAM;CAexC,CAAC"}
1
+ {"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/in-memory/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAIlB,eAAO,MAAM,wBAAwB;oBAmBjB,cAAc;;;;;;;qBA0Bb,MAAM;;;;;;;;;gCAsCK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;uCAOhB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;0CAOpB,SAAS,MAAM,EAAE;iCAO1B,MAAM,WAAW,WAAW;iCAK5B,MAAM;qBAalB,MAAM,QAAQ,OAAO,WAAW,aAAa;yBAoBzC,SAAS,gBAAgB,EAAE;gCAWpB,SAAS,gBAAgB,EAAE;qCAWtB,MAAM,WAAW,kBAAkB;iCAKvC,SAAS,MAAM,EAAE;0BAQxB,SAAS,MAAM,EAAE;mCASR,MAAM;CAexC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { SecretRef, SetSecretInput, SecretStore, type SecretProvider } from "./s
7
7
  export { Policy, PolicyAction, PolicyCheckInput, PolicyEngine } from "./policies";
8
8
  export { Scope } from "./scope";
9
9
  export { definePlugin, type ExecutorPlugin, type PluginContext, type PluginHandle, type PluginExtensions, } from "./plugin";
10
- export { createExecutor, type Executor, type ExecutorConfig, } from "./executor";
10
+ export { createExecutor, type Executor, type ExecutorConfig } from "./executor";
11
11
  export { inMemoryToolsPlugin, tool, type MemoryToolDefinition, type MemoryToolContext, type MemoryToolSdkAccess, type InMemoryToolsPluginExtension, } from "./plugins/in-memory-tools";
12
12
  export { hoistDefinitions, collectRefs, reattachDefs, normalizeRefs } from "./schema-refs";
13
13
  export { schemaToTypeScriptPreview, schemaToTypeScriptPreviewWithDefs, buildToolTypeScriptPreview, type TypeScriptRenderOptions, type TypeScriptSchemaPreview, } from "./schema-types";
@@ -16,5 +16,5 @@ export { makeInMemoryToolRegistry } from "./in-memory/tool-registry";
16
16
  export { makeInMemorySecretStore, makeInMemorySecretProvider } from "./in-memory/secret-store";
17
17
  export { makeInMemoryPolicyEngine } from "./in-memory/policy-engine";
18
18
  export { makeTestConfig } from "./testing";
19
- export { type Kv, type ScopedKv, scopeKv, makeInMemoryScopedKv } from "./plugin-kv";
19
+ export { type Kv, type KvEntry, type ScopedKv, scopeKv, makeInMemoryScopedKv } from "./plugin-kv";
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,cAAc,EACd,0BAA0B,EAC1B,KAAK,aAAa,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGxF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,mBAAmB,EACnB,IAAI,EACJ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,GAClC,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5D,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,aAAa,GACnB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,cAAc,EACd,0BAA0B,EAC1B,KAAK,aAAa,GACnB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAGxF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,OAAO,EACL,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAGhF,OAAO,EACL,mBAAmB,EACnB,IAAI,EACJ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,GAClC,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EACL,yBAAyB,EACzB,iCAAiC,EACjC,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import {
3
3
  ElicitationResponse,
4
4
  FormElicitation,
5
5
  Policy,
6
+ PolicyCheckInput,
6
7
  PolicyDeniedError,
7
8
  PolicyId,
8
9
  Scope,
@@ -28,24 +29,35 @@ import {
28
29
  makeInMemorySecretStore,
29
30
  makeInMemorySourceRegistry,
30
31
  makeInMemoryToolRegistry
31
- } from "./chunk-ECOS3HQG.js";
32
+ } from "./chunk-D7CT3UMO.js";
32
33
 
33
34
  // src/promise-executor.ts
34
- import { Effect } from "effect";
35
+ import { Data, Effect } from "effect";
35
36
  var run = (effect) => Effect.runPromise(effect);
36
- var fromPromise = (fn) => Effect.tryPromise({ try: fn, catch: (e) => e instanceof Error ? e : new Error(String(e)) });
37
+ var PromiseAdapterError = class extends Data.TaggedError("PromiseAdapterError") {
38
+ };
39
+ var fromPromise = (fn) => Effect.tryPromise({
40
+ try: fn,
41
+ catch: (cause) => new PromiseAdapterError({ cause })
42
+ });
37
43
  var fromPromiseDying = (fn) => Effect.orDie(fromPromise(fn));
38
- var toEffectElicitationHandler = (handler) => (ctx) => Effect.tryPromise({
39
- try: () => handler(ctx),
40
- catch: (e) => e
41
- }).pipe(
44
+ var fromPromiseTagged = (fn, tags) => fromPromise(fn).pipe(
45
+ Effect.catchAll((err) => {
46
+ const cause = err.cause;
47
+ if (cause !== null && typeof cause === "object" && "_tag" in cause && typeof cause._tag === "string" && tags.includes(cause._tag)) {
48
+ return Effect.fail(cause);
49
+ }
50
+ return Effect.die(cause);
51
+ })
52
+ );
53
+ var toEffectElicitationHandler = (handler) => (ctx) => fromPromise(() => handler(ctx)).pipe(
42
54
  Effect.map(
43
55
  (r) => new ElicitationResponse({
44
56
  action: r.action,
45
57
  content: r.content
46
58
  })
47
59
  ),
48
- Effect.catchAll((e) => Effect.die(e))
60
+ Effect.catchAll((e) => Effect.die(e.cause))
49
61
  );
50
62
  var toEffectInvokeOptions = (options) => ({
51
63
  onElicitation: options.onElicitation === "accept-all" ? "accept-all" : toEffectElicitationHandler(options.onElicitation)
@@ -61,31 +73,39 @@ var effectToPromiseInvokeOptions = (options) => {
61
73
  };
62
74
  };
63
75
  var toEffectInvoker = (invoker) => ({
64
- invoke: (toolId, args, options) => fromPromise(() => invoker.invoke(toolId, args, effectToPromiseInvokeOptions(options))),
65
- resolveAnnotations: invoker.resolveAnnotations ? (toolId) => fromPromise(() => invoker.resolveAnnotations(toolId)) : void 0
76
+ invoke: (toolId, args, options) => fromPromiseTagged(
77
+ () => invoker.invoke(toolId, args, effectToPromiseInvokeOptions(options)),
78
+ ["ToolInvocationError", "ElicitationDeclinedError"]
79
+ ),
80
+ resolveAnnotations: invoker.resolveAnnotations ? (toolId) => fromPromiseDying(() => invoker.resolveAnnotations(toolId)) : void 0
66
81
  });
67
82
  var toEffectRuntimeHandler = (handler) => ({
68
- invoke: (args, options) => fromPromise(() => handler.invoke(args, effectToPromiseInvokeOptions(options))),
69
- resolveAnnotations: handler.resolveAnnotations ? () => fromPromise(() => handler.resolveAnnotations()) : void 0
83
+ invoke: (args, options) => fromPromiseTagged(
84
+ () => handler.invoke(args, effectToPromiseInvokeOptions(options)),
85
+ ["ToolInvocationError", "ElicitationDeclinedError"]
86
+ ),
87
+ resolveAnnotations: handler.resolveAnnotations ? () => fromPromiseDying(() => handler.resolveAnnotations()) : void 0
70
88
  });
71
89
  var toEffectSourceManager = (manager) => ({
72
90
  kind: manager.kind,
73
- list: () => fromPromise(() => manager.list()),
74
- remove: (sourceId) => fromPromise(() => manager.remove(sourceId)),
75
- refresh: manager.refresh ? (sourceId) => fromPromise(() => manager.refresh(sourceId)) : void 0,
76
- detect: manager.detect ? (url) => fromPromise(() => manager.detect(url)) : void 0
91
+ list: () => fromPromiseDying(() => manager.list()),
92
+ remove: (sourceId) => fromPromiseDying(() => manager.remove(sourceId)),
93
+ refresh: manager.refresh ? (sourceId) => fromPromiseDying(() => manager.refresh(sourceId)) : void 0,
94
+ detect: manager.detect ? (url) => fromPromiseDying(() => manager.detect(url)) : void 0
77
95
  });
78
96
  var toEffectSecretProvider = (provider) => ({
79
97
  key: provider.key,
80
98
  writable: provider.writable,
81
- get: (key) => fromPromise(() => provider.get(key)),
82
- set: provider.set ? (key, value) => fromPromise(() => provider.set(key, value)) : void 0,
83
- delete: provider.delete ? (key) => fromPromise(() => provider.delete(key)) : void 0,
84
- list: provider.list ? () => fromPromise(() => provider.list()) : void 0
99
+ get: (key) => fromPromiseDying(() => provider.get(key)),
100
+ set: provider.set ? (key, value) => fromPromiseDying(() => provider.set(key, value)) : void 0,
101
+ delete: provider.delete ? (key) => fromPromiseDying(() => provider.delete(key)) : void 0,
102
+ list: provider.list ? () => fromPromiseDying(() => provider.list()) : void 0
85
103
  });
86
104
  var toPromiseInvoker = (invoker) => ({
87
- invoke: (toolId, args, options) => run(invoker.invoke(toolId, args, toEffectInvokeOptions(options))),
88
- resolveAnnotations: invoker.resolveAnnotations ? (toolId) => run(invoker.resolveAnnotations(toolId)) : void 0
105
+ invoke: (toolId, args, options) => run(
106
+ invoker.invoke(ToolId.make(toolId), args, toEffectInvokeOptions(options))
107
+ ),
108
+ resolveAnnotations: invoker.resolveAnnotations ? (toolId) => run(invoker.resolveAnnotations(ToolId.make(toolId))) : void 0
89
109
  });
90
110
  var toPromiseRuntimeHandler = (handler) => ({
91
111
  invoke: (args, options) => run(handler.invoke(args, toEffectInvokeOptions(options))),
@@ -108,15 +128,16 @@ var toPromiseSecretProvider = (provider) => ({
108
128
  });
109
129
  var toEffectToolRegistry = (r) => ({
110
130
  list: (filter) => fromPromiseDying(() => r.list(filter)),
111
- schema: (toolId) => fromPromise(() => r.schema(toolId)),
131
+ schema: (toolId) => fromPromiseTagged(() => r.schema(toolId), ["ToolNotFoundError"]),
112
132
  definitions: () => fromPromiseDying(() => r.definitions()),
113
133
  registerDefinitions: (defs) => fromPromiseDying(() => r.registerDefinitions(defs)),
114
134
  registerRuntimeDefinitions: (defs) => fromPromiseDying(() => r.registerRuntimeDefinitions(defs)),
115
135
  unregisterRuntimeDefinitions: (names) => fromPromiseDying(() => r.unregisterRuntimeDefinitions(names)),
116
136
  registerInvoker: (pluginKey, effectInvoker) => fromPromiseDying(() => r.registerInvoker(pluginKey, toPromiseInvoker(effectInvoker))),
117
137
  resolveAnnotations: (toolId) => fromPromiseDying(() => r.resolveAnnotations(toolId)),
118
- invoke: (toolId, args, options) => fromPromise(
119
- () => r.invoke(toolId, args, effectToPromiseInvokeOptions(options))
138
+ invoke: (toolId, args, options) => fromPromiseTagged(
139
+ () => r.invoke(toolId, args, effectToPromiseInvokeOptions(options)),
140
+ ["ToolNotFoundError", "ToolInvocationError", "ElicitationDeclinedError"]
120
141
  ),
121
142
  register: (tools) => fromPromiseDying(() => r.register(tools)),
122
143
  registerRuntime: (tools) => fromPromiseDying(() => r.registerRuntime(tools)),
@@ -138,18 +159,31 @@ var toEffectSourceRegistry = (r) => ({
138
159
  });
139
160
  var toEffectSecretStore = (s) => ({
140
161
  list: (scopeId) => fromPromiseDying(() => s.list(scopeId)),
141
- get: (secretId) => fromPromise(() => s.get(secretId)),
142
- resolve: (secretId, scopeId) => fromPromise(() => s.resolve(secretId, scopeId)),
162
+ get: (secretId) => fromPromiseTagged(
163
+ () => s.get(secretId),
164
+ ["SecretNotFoundError"]
165
+ ),
166
+ resolve: (secretId, scopeId) => fromPromiseTagged(
167
+ () => s.resolve(secretId, scopeId),
168
+ ["SecretNotFoundError", "SecretResolutionError"]
169
+ ),
143
170
  status: (secretId, scopeId) => fromPromiseDying(() => s.status(secretId, scopeId)),
144
- set: (input) => fromPromise(() => s.set(input)),
145
- remove: (secretId) => fromPromise(() => s.remove(secretId)),
171
+ set: (input) => fromPromiseTagged(
172
+ () => s.set(input),
173
+ ["SecretResolutionError"]
174
+ ),
175
+ remove: (secretId) => fromPromiseTagged(
176
+ () => s.remove(secretId),
177
+ ["SecretNotFoundError"]
178
+ ),
146
179
  addProvider: (provider) => fromPromiseDying(() => s.addProvider(toPromiseSecretProvider(provider))),
147
180
  providers: () => fromPromiseDying(() => s.providers())
148
181
  });
149
182
  var toEffectPolicyEngine = (p) => ({
150
183
  list: (scopeId) => fromPromiseDying(() => p.list(scopeId)),
151
- check: (input) => fromPromise(
152
- () => p.check({ scopeId: input.scopeId, toolId: input.toolId })
184
+ check: (input) => fromPromiseTagged(
185
+ () => p.check({ scopeId: input.scopeId, toolId: input.toolId }),
186
+ ["PolicyDeniedError"]
153
187
  ),
154
188
  add: (policy) => fromPromiseDying(() => p.add(policy)),
155
189
  remove: (policyId) => fromPromiseDying(() => p.remove(policyId))
@@ -157,20 +191,20 @@ var toEffectPolicyEngine = (p) => ({
157
191
  var wrapPluginContext = (ctx) => ({
158
192
  scope: ctx.scope,
159
193
  tools: {
160
- list: (filter) => run(ctx.tools.list(filter)),
161
- schema: (toolId) => run(ctx.tools.schema(toolId)),
162
- invoke: (toolId, args, options) => run(ctx.tools.invoke(toolId, args, toEffectInvokeOptions(options))),
194
+ list: (filter) => run(ctx.tools.list(filter ? new ToolListFilter(filter) : void 0)),
195
+ schema: (toolId) => run(ctx.tools.schema(ToolId.make(toolId))),
196
+ invoke: (toolId, args, options) => run(ctx.tools.invoke(ToolId.make(toolId), args, toEffectInvokeOptions(options))),
163
197
  definitions: () => run(ctx.tools.definitions()),
164
198
  registerDefinitions: (defs) => run(ctx.tools.registerDefinitions(defs)),
165
199
  registerRuntimeDefinitions: (defs) => run(ctx.tools.registerRuntimeDefinitions(defs)),
166
200
  unregisterRuntimeDefinitions: (names) => run(ctx.tools.unregisterRuntimeDefinitions(names)),
167
201
  registerInvoker: (pluginKey, invoker) => run(ctx.tools.registerInvoker(pluginKey, toEffectInvoker(invoker))),
168
- resolveAnnotations: (toolId) => run(ctx.tools.resolveAnnotations(toolId)),
202
+ resolveAnnotations: (toolId) => run(ctx.tools.resolveAnnotations(ToolId.make(toolId))),
169
203
  register: (tools) => run(ctx.tools.register(tools)),
170
204
  registerRuntime: (tools) => run(ctx.tools.registerRuntime(tools)),
171
- registerRuntimeHandler: (toolId, handler) => run(ctx.tools.registerRuntimeHandler(toolId, toEffectRuntimeHandler(handler))),
172
- unregisterRuntime: (toolIds) => run(ctx.tools.unregisterRuntime(toolIds)),
173
- unregister: (toolIds) => run(ctx.tools.unregister(toolIds)),
205
+ registerRuntimeHandler: (toolId, handler) => run(ctx.tools.registerRuntimeHandler(ToolId.make(toolId), toEffectRuntimeHandler(handler))),
206
+ unregisterRuntime: (toolIds) => run(ctx.tools.unregisterRuntime(toolIds.map((id) => ToolId.make(id)))),
207
+ unregister: (toolIds) => run(ctx.tools.unregister(toolIds.map((id) => ToolId.make(id)))),
174
208
  unregisterBySource: (sourceId) => run(ctx.tools.unregisterBySource(sourceId))
175
209
  },
176
210
  sources: {
@@ -183,20 +217,27 @@ var wrapPluginContext = (ctx) => ({
183
217
  detect: (url) => run(ctx.sources.detect(url))
184
218
  },
185
219
  secrets: {
186
- list: (scopeId) => run(ctx.secrets.list(scopeId)),
187
- get: (secretId) => run(ctx.secrets.get(secretId)),
188
- resolve: (secretId, scopeId) => run(ctx.secrets.resolve(secretId, scopeId)),
189
- status: (secretId, scopeId) => run(ctx.secrets.status(secretId, scopeId)),
220
+ list: (scopeId) => run(ctx.secrets.list(ScopeId.make(scopeId))),
221
+ get: (secretId) => run(ctx.secrets.get(SecretId.make(secretId))),
222
+ resolve: (secretId, scopeId) => run(ctx.secrets.resolve(SecretId.make(secretId), ScopeId.make(scopeId))),
223
+ status: (secretId, scopeId) => run(ctx.secrets.status(SecretId.make(secretId), ScopeId.make(scopeId))),
190
224
  set: (input) => run(ctx.secrets.set(input)),
191
- remove: (secretId) => run(ctx.secrets.remove(secretId)),
225
+ remove: (secretId) => run(ctx.secrets.remove(SecretId.make(secretId))),
192
226
  addProvider: (provider) => run(ctx.secrets.addProvider(toEffectSecretProvider(provider))),
193
227
  providers: () => run(ctx.secrets.providers())
194
228
  },
195
229
  policies: {
196
- list: (scopeId) => run(ctx.policies.list(scopeId)),
197
- check: (input) => run(ctx.policies.check(input)),
230
+ list: (scopeId) => run(ctx.policies.list(ScopeId.make(scopeId))),
231
+ check: (input) => run(
232
+ ctx.policies.check(
233
+ new PolicyCheckInput({
234
+ scopeId: ScopeId.make(input.scopeId),
235
+ toolId: ToolId.make(input.toolId)
236
+ })
237
+ )
238
+ ),
198
239
  add: (policy) => run(ctx.policies.add(policy)),
199
- remove: (policyId) => run(ctx.policies.remove(policyId))
240
+ remove: (policyId) => run(ctx.policies.remove(PolicyId.make(policyId)))
200
241
  }
201
242
  });
202
243
  var definePlugin = (plugin) => ({ ...plugin, _promise: true });
@@ -222,7 +263,8 @@ function promisifyObject(obj) {
222
263
  return result;
223
264
  };
224
265
  }
225
- if (value !== null && typeof value === "object" && !Array.isArray(value)) return promisifyObject(value);
266
+ if (value !== null && typeof value === "object" && !Array.isArray(value))
267
+ return promisifyObject(value);
226
268
  return value;
227
269
  }
228
270
  });
@@ -248,7 +290,7 @@ var createExecutor2 = async (config = {}) => {
248
290
  const base = {
249
291
  scope: executor.scope,
250
292
  tools: {
251
- list: (filter) => run(executor.tools.list(filter)),
293
+ list: (filter) => run(executor.tools.list(filter ? new ToolListFilter(filter) : void 0)),
252
294
  schema: (toolId) => run(executor.tools.schema(toolId)),
253
295
  definitions: () => run(executor.tools.definitions()),
254
296
  invoke: (toolId, args, options) => run(executor.tools.invoke(toolId, args, toEffectInvokeOptions(options)))
@@ -266,10 +308,10 @@ var createExecutor2 = async (config = {}) => {
266
308
  },
267
309
  secrets: {
268
310
  list: () => run(executor.secrets.list()),
269
- resolve: (secretId) => run(executor.secrets.resolve(secretId)),
270
- status: (secretId) => run(executor.secrets.status(secretId)),
271
- set: (input) => run(executor.secrets.set(input)),
272
- remove: (secretId) => run(executor.secrets.remove(secretId)),
311
+ resolve: (secretId) => run(executor.secrets.resolve(SecretId.make(secretId))),
312
+ status: (secretId) => run(executor.secrets.status(SecretId.make(secretId))),
313
+ set: (input) => run(executor.secrets.set({ ...input, id: SecretId.make(input.id) })),
314
+ remove: (secretId) => run(executor.secrets.remove(SecretId.make(secretId))),
273
315
  addProvider: (provider) => run(executor.secrets.addProvider(toEffectSecretProvider(provider))),
274
316
  providers: () => run(executor.secrets.providers())
275
317
  },
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/promise-executor.ts"],"sourcesContent":["import { Context, Effect } from \"effect\";\n\nimport {\n createExecutor as createEffectExecutor,\n ElicitationResponse as ElicitationResponseClass,\n makeInMemoryToolRegistry,\n makeInMemorySecretStore,\n makeInMemoryPolicyEngine,\n makeInMemorySourceRegistry,\n ScopeId,\n type ToolRegistry as CoreToolRegistry,\n type SourceRegistry as CoreSourceRegistry,\n type SecretStore as CoreSecretStore,\n type PolicyEngine as CorePolicyEngine,\n type ExecutorConfig as EffectExecutorConfig,\n type ExecutorPlugin,\n type PluginContext as EffectPluginContext,\n type ElicitationContext,\n type InvokeOptions as EffectInvokeOptions,\n type ToolInvocationResult,\n type ToolMetadata,\n type ToolAnnotations,\n type ToolSchema,\n type ToolInvoker as EffectToolInvoker,\n type RuntimeToolHandler as EffectRuntimeToolHandler,\n type Source,\n type SourceDetectionResult,\n type SourceManager as EffectSourceManager,\n type Policy,\n type SecretRef,\n type SecretProvider as EffectSecretProvider,\n type SetSecretInput,\n type Scope,\n type ToolId,\n type SecretId,\n type ScopeId as ScopeIdType,\n type PolicyId,\n type ToolNotFoundError,\n type ToolInvocationError,\n type SecretNotFoundError,\n type SecretResolutionError,\n type PolicyDeniedError,\n type ElicitationDeclinedError,\n} from \"./index\";\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nconst run = <A, E>(effect: Effect.Effect<A, E>): Promise<A> =>\n Effect.runPromise(effect as Effect.Effect<A, never>);\n\nconst fromPromise = <A>(fn: () => Promise<A>): Effect.Effect<A, Error> =>\n Effect.tryPromise({ try: fn, catch: (e) => (e instanceof Error ? e : new Error(String(e))) });\n\n/**\n * Wrap a promise-returning function as an Effect whose error channel is\n * `never`. Unexpected rejections become unhandled defects. Used by the store\n * adapters where the Effect-layer service interface forbids a typed error\n * channel.\n */\nconst fromPromiseDying = <A>(fn: () => Promise<A>): Effect.Effect<A, never> =>\n Effect.orDie(fromPromise(fn));\n\n// ---------------------------------------------------------------------------\n// Type derivation — derive Promise-based SDK types from core Effect types\n// ---------------------------------------------------------------------------\n\n/** Replace branded IDs with plain strings in parameter types */\ntype UnbrandParam<T> =\n T extends ToolId ? string :\n T extends SecretId ? string :\n T extends ScopeIdType ? string :\n T extends PolicyId ? string :\n T extends readonly (infer U)[] ? readonly UnbrandParam<U>[] :\n T;\n\n/** Convert an Effect service interface to Promise-based, unbranding ID params */\ntype PromisifyService<T> = {\n readonly [K in keyof T]: NonNullable<T[K]> extends (...args: infer A) => Effect.Effect<infer R, infer _E>\n ? (...args: { [I in keyof A]: UnbrandParam<A[I]> }) => Promise<R>\n : T[K];\n};\n\ntype CoreToolRegistryService = Context.Tag.Service<typeof CoreToolRegistry>;\ntype CoreSourceRegistryService = Context.Tag.Service<typeof CoreSourceRegistry>;\ntype CoreSecretStoreService = Context.Tag.Service<typeof CoreSecretStore>;\ntype CorePolicyEngineService = Context.Tag.Service<typeof CorePolicyEngine>;\n\n// ---------------------------------------------------------------------------\n// Elicitation\n// ---------------------------------------------------------------------------\n\nexport interface ElicitationResponse {\n readonly action: \"accept\" | \"decline\" | \"cancel\";\n readonly content?: Record<string, unknown>;\n}\n\nexport type ElicitationHandler = (\n ctx: ElicitationContext,\n) => Promise<ElicitationResponse>;\n\nexport interface InvokeOptions {\n readonly onElicitation: ElicitationHandler | \"accept-all\";\n}\n\nconst toEffectElicitationHandler = (handler: ElicitationHandler) =>\n (ctx: ElicitationContext) =>\n Effect.tryPromise({\n try: () => handler(ctx),\n catch: (e) => e as Error,\n }).pipe(\n Effect.map(\n (r) =>\n new ElicitationResponseClass({\n action: r.action,\n content: r.content,\n }),\n ),\n Effect.catchAll((e) => Effect.die(e)),\n );\n\nconst toEffectInvokeOptions = (options: InvokeOptions): EffectInvokeOptions => ({\n onElicitation:\n options.onElicitation === \"accept-all\"\n ? (\"accept-all\" as const)\n : toEffectElicitationHandler(options.onElicitation),\n});\n\n// ---------------------------------------------------------------------------\n// Plugin callback types\n// ---------------------------------------------------------------------------\n\nexport interface ToolInvoker {\n readonly invoke: (toolId: string, args: unknown, options: InvokeOptions) => Promise<ToolInvocationResult>;\n readonly resolveAnnotations?: (toolId: string) => Promise<ToolAnnotations | undefined>;\n}\n\nexport interface RuntimeToolHandler {\n readonly invoke: (args: unknown, options: InvokeOptions) => Promise<ToolInvocationResult>;\n readonly resolveAnnotations?: () => Promise<ToolAnnotations | undefined>;\n}\n\nexport type SourceManager = PromisifyService<EffectSourceManager>;\n\nexport type SecretProvider = PromisifyService<EffectSecretProvider>;\n\n// --- Adapters ---\n\nconst effectToPromiseInvokeOptions = (options?: EffectInvokeOptions): InvokeOptions => {\n if (!options || options.onElicitation === \"accept-all\") return { onElicitation: \"accept-all\" };\n const handler = options.onElicitation;\n return {\n onElicitation: async (ctx) => {\n const r = await run(handler(ctx));\n return { action: r.action, content: r.content ?? undefined };\n },\n };\n};\n\nconst toEffectInvoker = (invoker: ToolInvoker): EffectToolInvoker => ({\n invoke: (toolId, args, options) =>\n fromPromise(() => invoker.invoke(toolId, args, effectToPromiseInvokeOptions(options))) as Effect.Effect<ToolInvocationResult, any>,\n resolveAnnotations: invoker.resolveAnnotations\n ? (toolId) => fromPromise(() => invoker.resolveAnnotations!(toolId)) as Effect.Effect<ToolAnnotations | undefined>\n : undefined,\n});\n\nconst toEffectRuntimeHandler = (handler: RuntimeToolHandler): EffectRuntimeToolHandler => ({\n invoke: (args, options) =>\n fromPromise(() => handler.invoke(args, effectToPromiseInvokeOptions(options))) as Effect.Effect<ToolInvocationResult, any>,\n resolveAnnotations: handler.resolveAnnotations\n ? () => fromPromise(() => handler.resolveAnnotations!()) as Effect.Effect<ToolAnnotations | undefined>\n : undefined,\n});\n\nconst toEffectSourceManager = (manager: SourceManager): EffectSourceManager => ({\n kind: manager.kind,\n list: () => fromPromise(() => manager.list()) as Effect.Effect<readonly Source[]>,\n remove: (sourceId) => fromPromise(() => manager.remove(sourceId)) as Effect.Effect<void>,\n refresh: manager.refresh ? (sourceId) => fromPromise(() => manager.refresh!(sourceId)) as Effect.Effect<void> : undefined,\n detect: manager.detect ? (url) => fromPromise(() => manager.detect!(url)) as Effect.Effect<SourceDetectionResult | null> : undefined,\n});\n\nconst toEffectSecretProvider = (provider: SecretProvider): EffectSecretProvider => ({\n key: provider.key,\n writable: provider.writable,\n get: (key) => fromPromise(() => provider.get(key)) as Effect.Effect<string | null>,\n set: provider.set ? (key, value) => fromPromise(() => provider.set!(key, value)) as Effect.Effect<void> : undefined,\n delete: provider.delete ? (key) => fromPromise(() => provider.delete!(key)) as Effect.Effect<boolean> : undefined,\n list: provider.list ? () => fromPromise(() => provider.list!()) as Effect.Effect<readonly { id: string; name: string }[]> : undefined,\n});\n\n// --- Reverse adapters (Effect -> Promise) for callbacks handed to user stores ---\n//\n// When the Effect core hands us an Effect-shaped ToolInvoker / ToolHandler /\n// SourceManager / SecretProvider (e.g. from a plugin), we need to convert it\n// into the promise-shaped equivalent before passing it to a user-supplied\n// promise-based store implementation.\n\nconst toPromiseInvoker = (invoker: EffectToolInvoker): ToolInvoker => ({\n invoke: (toolId, args, options) =>\n run(invoker.invoke(toolId as ToolId, args, toEffectInvokeOptions(options))) as Promise<ToolInvocationResult>,\n resolveAnnotations: invoker.resolveAnnotations\n ? (toolId) => run(invoker.resolveAnnotations!(toolId as ToolId))\n : undefined,\n});\n\nconst toPromiseRuntimeHandler = (handler: EffectRuntimeToolHandler): RuntimeToolHandler => ({\n invoke: (args, options) =>\n run(handler.invoke(args, toEffectInvokeOptions(options))) as Promise<ToolInvocationResult>,\n resolveAnnotations: handler.resolveAnnotations\n ? () => run(handler.resolveAnnotations!())\n : undefined,\n});\n\nconst toPromiseSourceManager = (manager: EffectSourceManager): SourceManager => ({\n kind: manager.kind,\n list: () => run(manager.list()),\n remove: (sourceId) => run(manager.remove(sourceId)),\n refresh: manager.refresh ? (sourceId) => run(manager.refresh!(sourceId)) : undefined,\n detect: manager.detect ? (url) => run(manager.detect!(url)) : undefined,\n});\n\nconst toPromiseSecretProvider = (provider: EffectSecretProvider): SecretProvider => ({\n key: provider.key,\n writable: provider.writable,\n get: (key) => run(provider.get(key)),\n set: provider.set ? (key, value) => run(provider.set!(key, value)) : undefined,\n delete: provider.delete ? (key) => run(provider.delete!(key)) : undefined,\n list: provider.list ? () => run(provider.list!()) : undefined,\n});\n\n// --- Main store adapters (Promise -> Effect) ---\n//\n// Users implementing a pluggable store (e.g. a Postgres-backed tool registry)\n// write against the promise-shaped ToolRegistry / SourceRegistry / SecretStore\n// / PolicyEngine interfaces declared below. These adapters wrap the user impl\n// so the Effect core layer sees a native Effect service.\n\nconst toEffectToolRegistry = (r: ToolRegistry): CoreToolRegistryService => ({\n list: (filter) => fromPromiseDying(() => r.list(filter)),\n schema: (toolId) =>\n fromPromise(() => r.schema(toolId)) as Effect.Effect<ToolSchema, ToolNotFoundError>,\n definitions: () => fromPromiseDying(() => r.definitions()),\n registerDefinitions: (defs) => fromPromiseDying(() => r.registerDefinitions(defs)),\n registerRuntimeDefinitions: (defs) =>\n fromPromiseDying(() => r.registerRuntimeDefinitions(defs)),\n unregisterRuntimeDefinitions: (names) =>\n fromPromiseDying(() => r.unregisterRuntimeDefinitions(names)),\n registerInvoker: (pluginKey, effectInvoker) =>\n fromPromiseDying(() => r.registerInvoker(pluginKey, toPromiseInvoker(effectInvoker))),\n resolveAnnotations: (toolId) =>\n fromPromiseDying(() => r.resolveAnnotations(toolId)),\n invoke: (toolId, args, options) =>\n fromPromise(() =>\n r.invoke(toolId, args, effectToPromiseInvokeOptions(options)),\n ) as Effect.Effect<\n ToolInvocationResult,\n ToolNotFoundError | ToolInvocationError | ElicitationDeclinedError\n >,\n register: (tools) => fromPromiseDying(() => r.register(tools)),\n registerRuntime: (tools) => fromPromiseDying(() => r.registerRuntime(tools)),\n registerRuntimeHandler: (toolId, effectHandler) =>\n fromPromiseDying(() =>\n r.registerRuntimeHandler(toolId, toPromiseRuntimeHandler(effectHandler)),\n ),\n unregisterRuntime: (toolIds) => fromPromiseDying(() => r.unregisterRuntime(toolIds)),\n unregister: (toolIds) => fromPromiseDying(() => r.unregister(toolIds)),\n unregisterBySource: (sourceId) => fromPromiseDying(() => r.unregisterBySource(sourceId)),\n});\n\nconst toEffectSourceRegistry = (r: SourceRegistry): CoreSourceRegistryService => ({\n addManager: (manager) =>\n fromPromiseDying(() => r.addManager(toPromiseSourceManager(manager))),\n registerRuntime: (source) => fromPromiseDying(() => r.registerRuntime(source)),\n unregisterRuntime: (sourceId) => fromPromiseDying(() => r.unregisterRuntime(sourceId)),\n list: () => fromPromiseDying(() => r.list()),\n remove: (sourceId) => fromPromiseDying(() => r.remove(sourceId)),\n refresh: (sourceId) => fromPromiseDying(() => r.refresh(sourceId)),\n detect: (url) => fromPromiseDying(() => r.detect(url)),\n});\n\nconst toEffectSecretStore = (s: SecretStore): CoreSecretStoreService => ({\n list: (scopeId) => fromPromiseDying(() => s.list(scopeId)),\n get: (secretId) =>\n fromPromise(() => s.get(secretId)) as Effect.Effect<SecretRef, SecretNotFoundError>,\n resolve: (secretId, scopeId) =>\n fromPromise(() => s.resolve(secretId, scopeId)) as Effect.Effect<\n string,\n SecretNotFoundError | SecretResolutionError\n >,\n status: (secretId, scopeId) =>\n fromPromiseDying(() => s.status(secretId, scopeId)),\n set: (input) =>\n fromPromise(() => s.set(input)) as Effect.Effect<SecretRef, SecretResolutionError>,\n remove: (secretId) =>\n fromPromise(() => s.remove(secretId)) as Effect.Effect<boolean, SecretNotFoundError>,\n addProvider: (provider) =>\n fromPromiseDying(() => s.addProvider(toPromiseSecretProvider(provider))),\n providers: () => fromPromiseDying(() => s.providers()),\n});\n\nconst toEffectPolicyEngine = (p: PolicyEngine): CorePolicyEngineService => ({\n list: (scopeId) => fromPromiseDying(() => p.list(scopeId)),\n check: (input) =>\n fromPromise(() =>\n p.check({ scopeId: input.scopeId, toolId: input.toolId }),\n ) as Effect.Effect<void, PolicyDeniedError>,\n add: (policy) => fromPromiseDying(() => p.add(policy)),\n remove: (policyId) => fromPromiseDying(() => p.remove(policyId)),\n});\n\n// ---------------------------------------------------------------------------\n// Plugin context\n// ---------------------------------------------------------------------------\n\nexport interface PluginContext {\n readonly scope: Scope;\n readonly tools: ToolRegistry;\n readonly sources: SourceRegistry;\n readonly secrets: SecretStore;\n readonly policies: PolicyEngine;\n}\n\nexport interface ToolRegistry extends Omit<\n PromisifyService<CoreToolRegistryService>,\n 'list' | 'invoke' | 'registerInvoker' | 'registerRuntimeHandler'\n> {\n readonly list: (filter?: { sourceId?: string; query?: string }) => Promise<readonly ToolMetadata[]>;\n readonly invoke: (toolId: string, args: unknown, options: InvokeOptions) => Promise<ToolInvocationResult>;\n readonly registerInvoker: (pluginKey: string, invoker: ToolInvoker) => Promise<void>;\n readonly registerRuntimeHandler: (toolId: string, handler: RuntimeToolHandler) => Promise<void>;\n}\n\nexport interface SourceRegistry extends Omit<PromisifyService<CoreSourceRegistryService>, 'addManager'> {\n readonly addManager: (manager: SourceManager) => Promise<void>;\n}\n\nexport interface SecretStore extends Omit<PromisifyService<CoreSecretStoreService>, 'set' | 'addProvider'> {\n readonly set: (input: { readonly id: string; readonly scopeId: string; readonly name: string; readonly value: string; readonly provider?: string; readonly purpose?: string }) => Promise<SecretRef>;\n readonly addProvider: (provider: SecretProvider) => Promise<void>;\n}\n\nexport interface PolicyEngine extends Omit<PromisifyService<CorePolicyEngineService>, 'check'> {\n readonly check: (input: { scopeId: string; toolId: string }) => Promise<void>;\n}\n\nconst wrapPluginContext = (ctx: EffectPluginContext): PluginContext => ({\n scope: ctx.scope,\n tools: {\n list: (filter?) => run(ctx.tools.list(filter as any)),\n schema: (toolId) => run(ctx.tools.schema(toolId as ToolId)),\n invoke: (toolId, args, options) => run(ctx.tools.invoke(toolId as ToolId, args, toEffectInvokeOptions(options))),\n definitions: () => run(ctx.tools.definitions()),\n registerDefinitions: (defs) => run(ctx.tools.registerDefinitions(defs)),\n registerRuntimeDefinitions: (defs) => run(ctx.tools.registerRuntimeDefinitions(defs)),\n unregisterRuntimeDefinitions: (names) => run(ctx.tools.unregisterRuntimeDefinitions(names)),\n registerInvoker: (pluginKey, invoker) => run(ctx.tools.registerInvoker(pluginKey, toEffectInvoker(invoker))),\n resolveAnnotations: (toolId) => run(ctx.tools.resolveAnnotations(toolId as ToolId)),\n register: (tools) => run(ctx.tools.register(tools)),\n registerRuntime: (tools) => run(ctx.tools.registerRuntime(tools)),\n registerRuntimeHandler: (toolId, handler) => run(ctx.tools.registerRuntimeHandler(toolId as ToolId, toEffectRuntimeHandler(handler))),\n unregisterRuntime: (toolIds) => run(ctx.tools.unregisterRuntime(toolIds as readonly ToolId[])),\n unregister: (toolIds) => run(ctx.tools.unregister(toolIds as readonly ToolId[])),\n unregisterBySource: (sourceId) => run(ctx.tools.unregisterBySource(sourceId)),\n },\n sources: {\n addManager: (manager) => run(ctx.sources.addManager(toEffectSourceManager(manager))),\n registerRuntime: (source) => run(ctx.sources.registerRuntime(source)),\n unregisterRuntime: (sourceId) => run(ctx.sources.unregisterRuntime(sourceId)),\n list: () => run(ctx.sources.list()),\n remove: (sourceId) => run(ctx.sources.remove(sourceId)),\n refresh: (sourceId) => run(ctx.sources.refresh(sourceId)),\n detect: (url) => run(ctx.sources.detect(url)),\n },\n secrets: {\n list: (scopeId) => run(ctx.secrets.list(scopeId as ScopeIdType)),\n get: (secretId) => run(ctx.secrets.get(secretId as SecretId)),\n resolve: (secretId, scopeId) => run(ctx.secrets.resolve(secretId as SecretId, scopeId as ScopeIdType)),\n status: (secretId, scopeId) => run(ctx.secrets.status(secretId as SecretId, scopeId as ScopeIdType)),\n set: (input) => run(ctx.secrets.set(input as SetSecretInput)),\n remove: (secretId) => run(ctx.secrets.remove(secretId as SecretId)),\n addProvider: (provider) => run(ctx.secrets.addProvider(toEffectSecretProvider(provider))),\n providers: () => run(ctx.secrets.providers()),\n },\n policies: {\n list: (scopeId) => run(ctx.policies.list(scopeId as ScopeIdType)),\n check: (input) => run(ctx.policies.check(input as any)),\n add: (policy) => run(ctx.policies.add(policy)),\n remove: (policyId) => run(ctx.policies.remove(policyId as PolicyId)),\n },\n});\n\n// ---------------------------------------------------------------------------\n// Plugin definition\n// ---------------------------------------------------------------------------\n\nexport interface Plugin<TKey extends string = string, TExtension extends object = object> {\n readonly key: TKey;\n /** @internal */\n readonly _promise?: true;\n readonly init: (ctx: PluginContext) => Promise<PluginHandle<TExtension>>;\n}\n\nexport interface PluginHandle<TExtension extends object = object> {\n readonly extension: TExtension;\n readonly close?: () => Promise<void>;\n}\n\nexport const definePlugin = <const TKey extends string, TExtension extends object>(\n plugin: Plugin<TKey, TExtension>,\n): Plugin<TKey, TExtension> => ({ ...plugin, _promise: true as const });\n\nconst isPromisePlugin = (plugin: { _promise?: boolean }): boolean => plugin._promise === true;\n\nconst toEffectPlugin = <TKey extends string, TExtension extends object>(\n plugin: Plugin<TKey, TExtension>,\n): ExecutorPlugin<TKey, TExtension> => ({\n key: plugin.key,\n init: (ctx) =>\n fromPromise(async () => {\n const handle = await plugin.init(wrapPluginContext(ctx));\n return {\n extension: handle.extension,\n close: handle.close ? () => fromPromise(() => handle.close!()) as Effect.Effect<void> : undefined,\n };\n }) as Effect.Effect<any, Error>,\n});\n\n// ---------------------------------------------------------------------------\n// Executor type\n// ---------------------------------------------------------------------------\n\ntype Promisified<T> = T extends (...args: infer A) => Effect.Effect<infer R, infer _E>\n ? (...args: A) => Promise<R>\n : T extends object ? { readonly [K in keyof T]: Promisified<T[K]> } : T;\n\nexport type AnyPlugin = Plugin<string, object> | ExecutorPlugin<string, object>;\n\nexport type Executor<TPlugins extends readonly AnyPlugin[] = []> = {\n readonly scope: Scope;\n readonly tools: Pick<ToolRegistry, 'list' | 'schema' | 'definitions' | 'invoke'>;\n readonly sources: Pick<SourceRegistry, 'list' | 'remove' | 'refresh' | 'detect'>;\n readonly policies: {\n readonly list: () => Promise<readonly Policy[]>;\n readonly add: (policy: Omit<Policy, \"id\" | \"createdAt\">) => Promise<Policy>;\n readonly remove: (policyId: string) => Promise<boolean>;\n };\n readonly secrets: {\n readonly list: () => Promise<readonly SecretRef[]>;\n readonly resolve: (secretId: string) => Promise<string>;\n readonly status: (secretId: string) => Promise<\"resolved\" | \"missing\">;\n readonly set: (input: { readonly id: string; readonly name: string; readonly value: string; readonly provider?: string; readonly purpose?: string }) => Promise<SecretRef>;\n readonly remove: (secretId: string) => Promise<boolean>;\n readonly addProvider: (provider: SecretProvider) => Promise<void>;\n readonly providers: () => Promise<readonly string[]>;\n };\n readonly close: () => Promise<void>;\n} & PluginExtensions<TPlugins>;\n\ntype PluginExtensions<TPlugins extends readonly AnyPlugin[]> = {\n readonly [P in TPlugins[number] as P[\"key\"]]: P extends Plugin<string, infer TExt>\n ? TExt\n : P extends ExecutorPlugin<string, infer TExt> ? Promisified<TExt> : never;\n};\n\nfunction promisifyObject<T extends object>(obj: T): Promisified<T> {\n return new Proxy(obj, {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return (...args: unknown[]) => {\n const result = value.apply(target, args);\n if (Effect.isEffect(result)) return run(result as Effect.Effect<unknown, unknown>);\n return result;\n };\n }\n if (value !== null && typeof value === \"object\" && !Array.isArray(value)) return promisifyObject(value as object);\n return value;\n },\n }) as Promisified<T>;\n}\n\n// ---------------------------------------------------------------------------\n// Config & createExecutor\n// ---------------------------------------------------------------------------\n\nexport interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = []> {\n readonly scope?: { readonly id?: string; readonly name?: string };\n readonly plugins?: TPlugins;\n /**\n * Custom tool registry implementation. Defaults to an in-memory store.\n * Implement the promise-shaped `ToolRegistry` interface to persist tool\n * metadata to a database, remote service, etc.\n */\n readonly tools?: ToolRegistry;\n /** Custom source registry implementation. Defaults to an in-memory store. */\n readonly sources?: SourceRegistry;\n /**\n * Custom secret store implementation. Defaults to an in-memory store.\n * For most use cases, prefer passing a custom `SecretProvider` via\n * `executor.secrets.addProvider(...)` — only replace the whole store if you\n * need to persist the `SecretRef` metadata itself.\n */\n readonly secrets?: SecretStore;\n /** Custom policy engine implementation. Defaults to an in-memory store. */\n readonly policies?: PolicyEngine;\n}\n\nconst KNOWN_KEYS = new Set([\"scope\", \"tools\", \"sources\", \"policies\", \"secrets\", \"close\"]);\n\nexport const createExecutor = async <const TPlugins extends readonly AnyPlugin[] = []>(\n config: ExecutorConfig<TPlugins> = {},\n): Promise<Executor<TPlugins>> => {\n const effectPlugins = (config.plugins ?? []).map((p) =>\n isPromisePlugin(p as any)\n ? toEffectPlugin(p as Plugin<string, object>)\n : (p as unknown as ExecutorPlugin<string, object>),\n );\n\n const effectConfig: EffectExecutorConfig<ExecutorPlugin<string, object>[]> = {\n scope: {\n id: ScopeId.make(config.scope?.id ?? \"default\"),\n name: config.scope?.name ?? \"default\",\n createdAt: new Date(),\n },\n tools: config.tools ? toEffectToolRegistry(config.tools) : makeInMemoryToolRegistry(),\n sources: config.sources\n ? toEffectSourceRegistry(config.sources)\n : makeInMemorySourceRegistry(),\n secrets: config.secrets ? toEffectSecretStore(config.secrets) : makeInMemorySecretStore(),\n policies: config.policies\n ? toEffectPolicyEngine(config.policies)\n : makeInMemoryPolicyEngine(),\n plugins: effectPlugins,\n };\n\n const executor = await run(createEffectExecutor(effectConfig));\n\n const base: Record<string, unknown> = {\n scope: executor.scope,\n tools: {\n list: (filter?: { sourceId?: string; query?: string }) => run(executor.tools.list(filter as any)),\n schema: (toolId: string) => run(executor.tools.schema(toolId)),\n definitions: () => run(executor.tools.definitions()),\n invoke: (toolId: string, args: unknown, options: InvokeOptions) =>\n run(executor.tools.invoke(toolId, args, toEffectInvokeOptions(options))),\n },\n sources: {\n list: () => run(executor.sources.list()),\n remove: (sourceId: string) => run(executor.sources.remove(sourceId)),\n refresh: (sourceId: string) => run(executor.sources.refresh(sourceId)),\n detect: (url: string) => run(executor.sources.detect(url)),\n },\n policies: {\n list: () => run(executor.policies.list()),\n add: (policy: Omit<Policy, \"id\" | \"createdAt\">) => run(executor.policies.add(policy)),\n remove: (policyId: string) => run(executor.policies.remove(policyId)),\n },\n secrets: {\n list: () => run(executor.secrets.list()),\n resolve: (secretId: string) => run(executor.secrets.resolve(secretId as SecretId)),\n status: (secretId: string) => run(executor.secrets.status(secretId as SecretId)),\n set: (input: { readonly id: string; readonly name: string; readonly value: string; readonly provider?: string; readonly purpose?: string }) =>\n run(executor.secrets.set(input as any)),\n remove: (secretId: string) => run(executor.secrets.remove(secretId as SecretId)),\n addProvider: (provider: SecretProvider) => run(executor.secrets.addProvider(toEffectSecretProvider(provider))),\n providers: () => run(executor.secrets.providers()),\n },\n close: () => run(executor.close()),\n };\n\n for (const key of Object.keys(executor)) {\n if (!KNOWN_KEYS.has(key)) {\n const ext = (executor as Record<string, unknown>)[key];\n if (ext !== null && typeof ext === \"object\") base[key] = promisifyObject(ext as object);\n else base[key] = ext;\n }\n }\n\n return base as Executor<TPlugins>;\n};\n"],"mappings":"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","names":["createExecutor"]}
1
+ {"version":3,"sources":["../src/promise-executor.ts"],"sourcesContent":["import { Context, Data, Effect } from \"effect\";\n\nimport {\n createExecutor as createEffectExecutor,\n ElicitationResponse as ElicitationResponseClass,\n makeInMemoryToolRegistry,\n makeInMemorySecretStore,\n makeInMemoryPolicyEngine,\n makeInMemorySourceRegistry,\n ScopeId,\n ToolId,\n SecretId,\n PolicyId,\n type ToolRegistry as CoreToolRegistry,\n type SourceRegistry as CoreSourceRegistry,\n type SecretStore as CoreSecretStore,\n type PolicyEngine as CorePolicyEngine,\n type ExecutorConfig as EffectExecutorConfig,\n type ExecutorPlugin,\n type PluginContext as EffectPluginContext,\n type PluginHandle as EffectPluginHandle,\n type ElicitationContext,\n type InvokeOptions as EffectInvokeOptions,\n type ToolInvocationResult,\n type ToolMetadata,\n type ToolAnnotations,\n type ToolSchema,\n type ToolInvoker as EffectToolInvoker,\n type RuntimeToolHandler as EffectRuntimeToolHandler,\n type SourceManager as EffectSourceManager,\n type Policy,\n type SecretRef,\n type SecretProvider as EffectSecretProvider,\n type SetSecretInput,\n type Scope,\n type ToolId as ToolIdType,\n type SecretId as SecretIdType,\n type ScopeId as ScopeIdType,\n type PolicyId as PolicyIdType,\n type ToolNotFoundError,\n type ToolInvocationError,\n type SecretNotFoundError,\n type SecretResolutionError,\n type PolicyDeniedError,\n type ElicitationDeclinedError,\n ToolListFilter,\n PolicyCheckInput,\n} from \"./index\";\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nconst run = <A, E>(effect: Effect.Effect<A, E>): Promise<A> =>\n Effect.runPromise(effect as Effect.Effect<A, never>);\n\n/**\n * Tagged error produced by the Promise→Effect adapter layer. User-supplied\n * Promise-based store implementations can reject with anything; we wrap the\n * raw rejection in `cause` so downstream code can inspect or re-throw it.\n */\nclass PromiseAdapterError extends Data.TaggedError(\"PromiseAdapterError\")<{\n readonly cause: unknown;\n}> {}\n\nconst fromPromise = <A>(fn: () => Promise<A>): Effect.Effect<A, PromiseAdapterError> =>\n Effect.tryPromise({\n try: fn,\n catch: (cause) => new PromiseAdapterError({ cause }),\n });\n\n/**\n * Wrap a promise-returning function as an Effect whose error channel is\n * `never`. Unexpected rejections become unhandled defects. Used by the store\n * adapters where the Effect-layer service interface forbids a typed error\n * channel.\n */\nconst fromPromiseDying = <A>(fn: () => Promise<A>): Effect.Effect<A, never> =>\n Effect.orDie(fromPromise(fn));\n\n/**\n * Wrap a promise-returning function as an Effect whose error channel contains\n * only the expected tagged errors listed in `tags`. If the promise rejects\n * with anything whose `_tag` isn't in the list, the rejection becomes an\n * unhandled defect — users of the promise-shaped store interfaces are expected\n * to throw the documented tagged error types from core.\n */\nconst fromPromiseTagged = <E extends { readonly _tag: string }, A>(\n fn: () => Promise<A>,\n tags: readonly E[\"_tag\"][],\n): Effect.Effect<A, E> =>\n fromPromise(fn).pipe(\n Effect.catchAll((err) => {\n const cause = err.cause;\n if (\n cause !== null &&\n typeof cause === \"object\" &&\n \"_tag\" in cause &&\n typeof (cause as { _tag: unknown })._tag === \"string\" &&\n (tags as readonly string[]).includes((cause as { _tag: string })._tag)\n ) {\n return Effect.fail(cause as E);\n }\n return Effect.die(cause);\n }),\n );\n\n// ---------------------------------------------------------------------------\n// Type derivation — derive Promise-based SDK types from core Effect types\n// ---------------------------------------------------------------------------\n\n/** Replace branded IDs with plain strings in parameter types */\ntype UnbrandParam<T> = T extends ToolIdType\n ? string\n : T extends SecretIdType\n ? string\n : T extends ScopeIdType\n ? string\n : T extends PolicyIdType\n ? string\n : T extends readonly (infer U)[]\n ? readonly UnbrandParam<U>[]\n : T;\n\n/** Convert an Effect service interface to Promise-based, unbranding ID params */\ntype PromisifyService<T> = {\n readonly [K in keyof T]: NonNullable<T[K]> extends (\n ...args: infer A\n ) => Effect.Effect<infer R, infer _E>\n ? (...args: { [I in keyof A]: UnbrandParam<A[I]> }) => Promise<R>\n : T[K];\n};\n\ntype CoreToolRegistryService = Context.Tag.Service<typeof CoreToolRegistry>;\ntype CoreSourceRegistryService = Context.Tag.Service<typeof CoreSourceRegistry>;\ntype CoreSecretStoreService = Context.Tag.Service<typeof CoreSecretStore>;\ntype CorePolicyEngineService = Context.Tag.Service<typeof CorePolicyEngine>;\n\n// ---------------------------------------------------------------------------\n// Elicitation\n// ---------------------------------------------------------------------------\n\nexport interface ElicitationResponse {\n readonly action: \"accept\" | \"decline\" | \"cancel\";\n readonly content?: Record<string, unknown>;\n}\n\nexport type ElicitationHandler = (ctx: ElicitationContext) => Promise<ElicitationResponse>;\n\nexport interface InvokeOptions {\n readonly onElicitation: ElicitationHandler | \"accept-all\";\n}\n\nconst toEffectElicitationHandler = (handler: ElicitationHandler) => (ctx: ElicitationContext) =>\n fromPromise(() => handler(ctx)).pipe(\n Effect.map(\n (r) =>\n new ElicitationResponseClass({\n action: r.action,\n content: r.content,\n }),\n ),\n Effect.catchAll((e) => Effect.die(e.cause)),\n );\n\nconst toEffectInvokeOptions = (options: InvokeOptions): EffectInvokeOptions => ({\n onElicitation:\n options.onElicitation === \"accept-all\"\n ? (\"accept-all\" as const)\n : toEffectElicitationHandler(options.onElicitation),\n});\n\n// ---------------------------------------------------------------------------\n// Plugin callback types\n// ---------------------------------------------------------------------------\n\nexport interface ToolInvoker {\n readonly invoke: (\n toolId: string,\n args: unknown,\n options: InvokeOptions,\n ) => Promise<ToolInvocationResult>;\n readonly resolveAnnotations?: (toolId: string) => Promise<ToolAnnotations | undefined>;\n}\n\nexport interface RuntimeToolHandler {\n readonly invoke: (args: unknown, options: InvokeOptions) => Promise<ToolInvocationResult>;\n readonly resolveAnnotations?: () => Promise<ToolAnnotations | undefined>;\n}\n\nexport type SourceManager = PromisifyService<EffectSourceManager>;\n\nexport type SecretProvider = PromisifyService<EffectSecretProvider>;\n\n// --- Adapters ---\n\nconst effectToPromiseInvokeOptions = (options?: EffectInvokeOptions): InvokeOptions => {\n if (!options || options.onElicitation === \"accept-all\") return { onElicitation: \"accept-all\" };\n const handler = options.onElicitation;\n return {\n onElicitation: async (ctx) => {\n const r = await run(handler(ctx));\n return { action: r.action, content: r.content ?? undefined };\n },\n };\n};\n\nconst toEffectInvoker = (invoker: ToolInvoker): EffectToolInvoker => ({\n invoke: (toolId, args, options) =>\n fromPromiseTagged<ToolInvocationError | ElicitationDeclinedError, ToolInvocationResult>(\n () => invoker.invoke(toolId, args, effectToPromiseInvokeOptions(options)),\n [\"ToolInvocationError\", \"ElicitationDeclinedError\"],\n ),\n resolveAnnotations: invoker.resolveAnnotations\n ? (toolId) => fromPromiseDying(() => invoker.resolveAnnotations!(toolId))\n : undefined,\n});\n\nconst toEffectRuntimeHandler = (handler: RuntimeToolHandler): EffectRuntimeToolHandler => ({\n invoke: (args, options) =>\n fromPromiseTagged<ToolInvocationError | ElicitationDeclinedError, ToolInvocationResult>(\n () => handler.invoke(args, effectToPromiseInvokeOptions(options)),\n [\"ToolInvocationError\", \"ElicitationDeclinedError\"],\n ),\n resolveAnnotations: handler.resolveAnnotations\n ? () => fromPromiseDying(() => handler.resolveAnnotations!())\n : undefined,\n});\n\nconst toEffectSourceManager = (manager: SourceManager): EffectSourceManager => ({\n kind: manager.kind,\n list: () => fromPromiseDying(() => manager.list()),\n remove: (sourceId) => fromPromiseDying(() => manager.remove(sourceId)),\n refresh: manager.refresh\n ? (sourceId) => fromPromiseDying(() => manager.refresh!(sourceId))\n : undefined,\n detect: manager.detect ? (url) => fromPromiseDying(() => manager.detect!(url)) : undefined,\n});\n\nconst toEffectSecretProvider = (provider: SecretProvider): EffectSecretProvider => ({\n key: provider.key,\n writable: provider.writable,\n get: (key) => fromPromiseDying(() => provider.get(key)),\n set: provider.set ? (key, value) => fromPromiseDying(() => provider.set!(key, value)) : undefined,\n delete: provider.delete ? (key) => fromPromiseDying(() => provider.delete!(key)) : undefined,\n list: provider.list ? () => fromPromiseDying(() => provider.list!()) : undefined,\n});\n\n// --- Reverse adapters (Effect -> Promise) for callbacks handed to user stores ---\n//\n// When the Effect core hands us an Effect-shaped ToolInvoker / ToolHandler /\n// SourceManager / SecretProvider (e.g. from a plugin), we need to convert it\n// into the promise-shaped equivalent before passing it to a user-supplied\n// promise-based store implementation.\n\nconst toPromiseInvoker = (invoker: EffectToolInvoker): ToolInvoker => ({\n invoke: (toolId, args, options) =>\n run(\n invoker.invoke(ToolId.make(toolId), args, toEffectInvokeOptions(options)),\n ) as Promise<ToolInvocationResult>,\n resolveAnnotations: invoker.resolveAnnotations\n ? (toolId) => run(invoker.resolveAnnotations!(ToolId.make(toolId)))\n : undefined,\n});\n\nconst toPromiseRuntimeHandler = (handler: EffectRuntimeToolHandler): RuntimeToolHandler => ({\n invoke: (args, options) =>\n run(handler.invoke(args, toEffectInvokeOptions(options))) as Promise<ToolInvocationResult>,\n resolveAnnotations: handler.resolveAnnotations\n ? () => run(handler.resolveAnnotations!())\n : undefined,\n});\n\nconst toPromiseSourceManager = (manager: EffectSourceManager): SourceManager => ({\n kind: manager.kind,\n list: () => run(manager.list()),\n remove: (sourceId) => run(manager.remove(sourceId)),\n refresh: manager.refresh ? (sourceId) => run(manager.refresh!(sourceId)) : undefined,\n detect: manager.detect ? (url) => run(manager.detect!(url)) : undefined,\n});\n\nconst toPromiseSecretProvider = (provider: EffectSecretProvider): SecretProvider => ({\n key: provider.key,\n writable: provider.writable,\n get: (key) => run(provider.get(key)),\n set: provider.set ? (key, value) => run(provider.set!(key, value)) : undefined,\n delete: provider.delete ? (key) => run(provider.delete!(key)) : undefined,\n list: provider.list ? () => run(provider.list!()) : undefined,\n});\n\n// --- Main store adapters (Promise -> Effect) ---\n//\n// Users implementing a pluggable store (e.g. a Postgres-backed tool registry)\n// write against the promise-shaped ToolRegistry / SourceRegistry / SecretStore\n// / PolicyEngine interfaces declared below. These adapters wrap the user impl\n// so the Effect core layer sees a native Effect service.\n\nconst toEffectToolRegistry = (r: ToolRegistry): CoreToolRegistryService => ({\n list: (filter) => fromPromiseDying(() => r.list(filter)),\n schema: (toolId) =>\n fromPromiseTagged<ToolNotFoundError, ToolSchema>(() => r.schema(toolId), [\"ToolNotFoundError\"]),\n definitions: () => fromPromiseDying(() => r.definitions()),\n registerDefinitions: (defs) => fromPromiseDying(() => r.registerDefinitions(defs)),\n registerRuntimeDefinitions: (defs) => fromPromiseDying(() => r.registerRuntimeDefinitions(defs)),\n unregisterRuntimeDefinitions: (names) =>\n fromPromiseDying(() => r.unregisterRuntimeDefinitions(names)),\n registerInvoker: (pluginKey, effectInvoker) =>\n fromPromiseDying(() => r.registerInvoker(pluginKey, toPromiseInvoker(effectInvoker))),\n resolveAnnotations: (toolId) => fromPromiseDying(() => r.resolveAnnotations(toolId)),\n invoke: (toolId, args, options) =>\n fromPromiseTagged<\n ToolNotFoundError | ToolInvocationError | ElicitationDeclinedError,\n ToolInvocationResult\n >(\n () => r.invoke(toolId, args, effectToPromiseInvokeOptions(options)),\n [\"ToolNotFoundError\", \"ToolInvocationError\", \"ElicitationDeclinedError\"],\n ),\n register: (tools) => fromPromiseDying(() => r.register(tools)),\n registerRuntime: (tools) => fromPromiseDying(() => r.registerRuntime(tools)),\n registerRuntimeHandler: (toolId, effectHandler) =>\n fromPromiseDying(() =>\n r.registerRuntimeHandler(toolId, toPromiseRuntimeHandler(effectHandler)),\n ),\n unregisterRuntime: (toolIds) => fromPromiseDying(() => r.unregisterRuntime(toolIds)),\n unregister: (toolIds) => fromPromiseDying(() => r.unregister(toolIds)),\n unregisterBySource: (sourceId) => fromPromiseDying(() => r.unregisterBySource(sourceId)),\n});\n\nconst toEffectSourceRegistry = (r: SourceRegistry): CoreSourceRegistryService => ({\n addManager: (manager) => fromPromiseDying(() => r.addManager(toPromiseSourceManager(manager))),\n registerRuntime: (source) => fromPromiseDying(() => r.registerRuntime(source)),\n unregisterRuntime: (sourceId) => fromPromiseDying(() => r.unregisterRuntime(sourceId)),\n list: () => fromPromiseDying(() => r.list()),\n remove: (sourceId) => fromPromiseDying(() => r.remove(sourceId)),\n refresh: (sourceId) => fromPromiseDying(() => r.refresh(sourceId)),\n detect: (url) => fromPromiseDying(() => r.detect(url)),\n});\n\nconst toEffectSecretStore = (s: SecretStore): CoreSecretStoreService => ({\n list: (scopeId) => fromPromiseDying(() => s.list(scopeId)),\n get: (secretId) =>\n fromPromiseTagged<SecretNotFoundError, SecretRef>(\n () => s.get(secretId),\n [\"SecretNotFoundError\"],\n ),\n resolve: (secretId, scopeId) =>\n fromPromiseTagged<SecretNotFoundError | SecretResolutionError, string>(\n () => s.resolve(secretId, scopeId),\n [\"SecretNotFoundError\", \"SecretResolutionError\"],\n ),\n status: (secretId, scopeId) => fromPromiseDying(() => s.status(secretId, scopeId)),\n set: (input) =>\n fromPromiseTagged<SecretResolutionError, SecretRef>(\n () => s.set(input),\n [\"SecretResolutionError\"],\n ),\n remove: (secretId) =>\n fromPromiseTagged<SecretNotFoundError, boolean>(\n () => s.remove(secretId),\n [\"SecretNotFoundError\"],\n ),\n addProvider: (provider) =>\n fromPromiseDying(() => s.addProvider(toPromiseSecretProvider(provider))),\n providers: () => fromPromiseDying(() => s.providers()),\n});\n\nconst toEffectPolicyEngine = (p: PolicyEngine): CorePolicyEngineService => ({\n list: (scopeId) => fromPromiseDying(() => p.list(scopeId)),\n check: (input) =>\n fromPromiseTagged<PolicyDeniedError, void>(\n () => p.check({ scopeId: input.scopeId, toolId: input.toolId }),\n [\"PolicyDeniedError\"],\n ),\n add: (policy) => fromPromiseDying(() => p.add(policy)),\n remove: (policyId) => fromPromiseDying(() => p.remove(policyId)),\n});\n\n// ---------------------------------------------------------------------------\n// Plugin context\n// ---------------------------------------------------------------------------\n\nexport interface PluginContext {\n readonly scope: Scope;\n readonly tools: ToolRegistry;\n readonly sources: SourceRegistry;\n readonly secrets: SecretStore;\n readonly policies: PolicyEngine;\n}\n\nexport interface ToolRegistry extends Omit<\n PromisifyService<CoreToolRegistryService>,\n \"list\" | \"invoke\" | \"registerInvoker\" | \"registerRuntimeHandler\"\n> {\n readonly list: (filter?: {\n sourceId?: string;\n query?: string;\n }) => Promise<readonly ToolMetadata[]>;\n readonly invoke: (\n toolId: string,\n args: unknown,\n options: InvokeOptions,\n ) => Promise<ToolInvocationResult>;\n readonly registerInvoker: (pluginKey: string, invoker: ToolInvoker) => Promise<void>;\n readonly registerRuntimeHandler: (toolId: string, handler: RuntimeToolHandler) => Promise<void>;\n}\n\nexport interface SourceRegistry extends Omit<\n PromisifyService<CoreSourceRegistryService>,\n \"addManager\"\n> {\n readonly addManager: (manager: SourceManager) => Promise<void>;\n}\n\nexport interface SecretStore extends Omit<\n PromisifyService<CoreSecretStoreService>,\n \"set\" | \"addProvider\"\n> {\n readonly set: (input: {\n readonly id: string;\n readonly scopeId: string;\n readonly name: string;\n readonly value: string;\n readonly provider?: string;\n readonly purpose?: string;\n }) => Promise<SecretRef>;\n readonly addProvider: (provider: SecretProvider) => Promise<void>;\n}\n\nexport interface PolicyEngine extends Omit<PromisifyService<CorePolicyEngineService>, \"check\"> {\n readonly check: (input: { scopeId: string; toolId: string }) => Promise<void>;\n}\n\nconst wrapPluginContext = (ctx: EffectPluginContext): PluginContext => ({\n scope: ctx.scope,\n tools: {\n list: (filter?) => run(ctx.tools.list(filter ? new ToolListFilter(filter) : undefined)),\n schema: (toolId) => run(ctx.tools.schema(ToolId.make(toolId))),\n invoke: (toolId, args, options) =>\n run(ctx.tools.invoke(ToolId.make(toolId), args, toEffectInvokeOptions(options))),\n definitions: () => run(ctx.tools.definitions()),\n registerDefinitions: (defs) => run(ctx.tools.registerDefinitions(defs)),\n registerRuntimeDefinitions: (defs) => run(ctx.tools.registerRuntimeDefinitions(defs)),\n unregisterRuntimeDefinitions: (names) => run(ctx.tools.unregisterRuntimeDefinitions(names)),\n registerInvoker: (pluginKey, invoker) =>\n run(ctx.tools.registerInvoker(pluginKey, toEffectInvoker(invoker))),\n resolveAnnotations: (toolId) => run(ctx.tools.resolveAnnotations(ToolId.make(toolId))),\n register: (tools) => run(ctx.tools.register(tools)),\n registerRuntime: (tools) => run(ctx.tools.registerRuntime(tools)),\n registerRuntimeHandler: (toolId, handler) =>\n run(ctx.tools.registerRuntimeHandler(ToolId.make(toolId), toEffectRuntimeHandler(handler))),\n unregisterRuntime: (toolIds) =>\n run(ctx.tools.unregisterRuntime(toolIds.map((id) => ToolId.make(id)))),\n unregister: (toolIds) => run(ctx.tools.unregister(toolIds.map((id) => ToolId.make(id)))),\n unregisterBySource: (sourceId) => run(ctx.tools.unregisterBySource(sourceId)),\n },\n sources: {\n addManager: (manager) => run(ctx.sources.addManager(toEffectSourceManager(manager))),\n registerRuntime: (source) => run(ctx.sources.registerRuntime(source)),\n unregisterRuntime: (sourceId) => run(ctx.sources.unregisterRuntime(sourceId)),\n list: () => run(ctx.sources.list()),\n remove: (sourceId) => run(ctx.sources.remove(sourceId)),\n refresh: (sourceId) => run(ctx.sources.refresh(sourceId)),\n detect: (url) => run(ctx.sources.detect(url)),\n },\n secrets: {\n list: (scopeId) => run(ctx.secrets.list(ScopeId.make(scopeId))),\n get: (secretId) => run(ctx.secrets.get(SecretId.make(secretId))),\n resolve: (secretId, scopeId) =>\n run(ctx.secrets.resolve(SecretId.make(secretId), ScopeId.make(scopeId))),\n status: (secretId, scopeId) =>\n run(ctx.secrets.status(SecretId.make(secretId), ScopeId.make(scopeId))),\n set: (input) => run(ctx.secrets.set(input as SetSecretInput)),\n remove: (secretId) => run(ctx.secrets.remove(SecretId.make(secretId))),\n addProvider: (provider) => run(ctx.secrets.addProvider(toEffectSecretProvider(provider))),\n providers: () => run(ctx.secrets.providers()),\n },\n policies: {\n list: (scopeId) => run(ctx.policies.list(ScopeId.make(scopeId))),\n check: (input) =>\n run(\n ctx.policies.check(\n new PolicyCheckInput({\n scopeId: ScopeId.make(input.scopeId),\n toolId: ToolId.make(input.toolId),\n }),\n ),\n ),\n add: (policy) => run(ctx.policies.add(policy)),\n remove: (policyId) => run(ctx.policies.remove(PolicyId.make(policyId))),\n },\n});\n\n// ---------------------------------------------------------------------------\n// Plugin definition\n// ---------------------------------------------------------------------------\n\nexport interface Plugin<TKey extends string = string, TExtension extends object = object> {\n readonly key: TKey;\n /** @internal */\n readonly _promise?: true;\n readonly init: (ctx: PluginContext) => Promise<PluginHandle<TExtension>>;\n}\n\nexport interface PluginHandle<TExtension extends object = object> {\n readonly extension: TExtension;\n readonly close?: () => Promise<void>;\n}\n\nexport const definePlugin = <const TKey extends string, TExtension extends object>(\n plugin: Plugin<TKey, TExtension>,\n): Plugin<TKey, TExtension> => ({ ...plugin, _promise: true as const });\n\nconst isPromisePlugin = (plugin: { _promise?: boolean }): boolean => plugin._promise === true;\n\nconst toEffectPlugin = <TKey extends string, TExtension extends object>(\n plugin: Plugin<TKey, TExtension>,\n): ExecutorPlugin<TKey, TExtension> => ({\n key: plugin.key,\n init: (ctx) =>\n fromPromise(async () => {\n const handle = await plugin.init(wrapPluginContext(ctx));\n return {\n extension: handle.extension,\n close: handle.close\n ? () => fromPromise(() => handle.close!()) as Effect.Effect<void>\n : undefined,\n };\n }) as Effect.Effect<EffectPluginHandle<TExtension>, PromiseAdapterError>,\n});\n\n// ---------------------------------------------------------------------------\n// Executor type\n// ---------------------------------------------------------------------------\n\ntype Promisified<T> = T extends (...args: infer A) => Effect.Effect<infer R, infer _E>\n ? (...args: A) => Promise<R>\n : T extends object\n ? { readonly [K in keyof T]: Promisified<T[K]> }\n : T;\n\nexport type AnyPlugin = Plugin<string, object> | ExecutorPlugin<string, object>;\n\nexport type Executor<TPlugins extends readonly AnyPlugin[] = []> = {\n readonly scope: Scope;\n readonly tools: Pick<ToolRegistry, \"list\" | \"schema\" | \"definitions\" | \"invoke\">;\n readonly sources: Pick<SourceRegistry, \"list\" | \"remove\" | \"refresh\" | \"detect\">;\n readonly policies: {\n readonly list: () => Promise<readonly Policy[]>;\n readonly add: (policy: Omit<Policy, \"id\" | \"createdAt\">) => Promise<Policy>;\n readonly remove: (policyId: string) => Promise<boolean>;\n };\n readonly secrets: {\n readonly list: () => Promise<readonly SecretRef[]>;\n readonly resolve: (secretId: string) => Promise<string>;\n readonly status: (secretId: string) => Promise<\"resolved\" | \"missing\">;\n readonly set: (input: {\n readonly id: string;\n readonly name: string;\n readonly value: string;\n readonly provider?: string;\n readonly purpose?: string;\n }) => Promise<SecretRef>;\n readonly remove: (secretId: string) => Promise<boolean>;\n readonly addProvider: (provider: SecretProvider) => Promise<void>;\n readonly providers: () => Promise<readonly string[]>;\n };\n readonly close: () => Promise<void>;\n} & PluginExtensions<TPlugins>;\n\ntype PluginExtensions<TPlugins extends readonly AnyPlugin[]> = {\n readonly [P in TPlugins[number] as P[\"key\"]]: P extends Plugin<string, infer TExt>\n ? TExt\n : P extends ExecutorPlugin<string, infer TExt>\n ? Promisified<TExt>\n : never;\n};\n\nfunction promisifyObject<T extends object>(obj: T): Promisified<T> {\n return new Proxy(obj, {\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return (...args: unknown[]) => {\n const result = value.apply(target, args);\n if (Effect.isEffect(result)) return run(result as Effect.Effect<unknown, unknown>);\n return result;\n };\n }\n if (value !== null && typeof value === \"object\" && !Array.isArray(value))\n return promisifyObject(value as object);\n return value;\n },\n }) as Promisified<T>;\n}\n\n// ---------------------------------------------------------------------------\n// Config & createExecutor\n// ---------------------------------------------------------------------------\n\nexport interface ExecutorConfig<TPlugins extends readonly AnyPlugin[] = []> {\n readonly scope?: { readonly id?: string; readonly name?: string };\n readonly plugins?: TPlugins;\n /**\n * Custom tool registry implementation. Defaults to an in-memory store.\n * Implement the promise-shaped `ToolRegistry` interface to persist tool\n * metadata to a database, remote service, etc.\n */\n readonly tools?: ToolRegistry;\n /** Custom source registry implementation. Defaults to an in-memory store. */\n readonly sources?: SourceRegistry;\n /**\n * Custom secret store implementation. Defaults to an in-memory store.\n * For most use cases, prefer passing a custom `SecretProvider` via\n * `executor.secrets.addProvider(...)` — only replace the whole store if you\n * need to persist the `SecretRef` metadata itself.\n */\n readonly secrets?: SecretStore;\n /** Custom policy engine implementation. Defaults to an in-memory store. */\n readonly policies?: PolicyEngine;\n}\n\nconst KNOWN_KEYS = new Set([\"scope\", \"tools\", \"sources\", \"policies\", \"secrets\", \"close\"]);\n\nexport const createExecutor = async <const TPlugins extends readonly AnyPlugin[] = []>(\n config: ExecutorConfig<TPlugins> = {},\n): Promise<Executor<TPlugins>> => {\n const effectPlugins = (config.plugins ?? []).map((p) =>\n isPromisePlugin(p as { _promise?: boolean })\n ? toEffectPlugin(p as Plugin<string, object>)\n : (p as unknown as ExecutorPlugin<string, object>),\n );\n\n const effectConfig: EffectExecutorConfig<ExecutorPlugin<string, object>[]> = {\n scope: {\n id: ScopeId.make(config.scope?.id ?? \"default\"),\n name: config.scope?.name ?? \"default\",\n createdAt: new Date(),\n },\n tools: config.tools ? toEffectToolRegistry(config.tools) : makeInMemoryToolRegistry(),\n sources: config.sources ? toEffectSourceRegistry(config.sources) : makeInMemorySourceRegistry(),\n secrets: config.secrets ? toEffectSecretStore(config.secrets) : makeInMemorySecretStore(),\n policies: config.policies ? toEffectPolicyEngine(config.policies) : makeInMemoryPolicyEngine(),\n plugins: effectPlugins,\n };\n\n const executor = await run(createEffectExecutor(effectConfig));\n\n const base: Record<string, unknown> = {\n scope: executor.scope,\n tools: {\n list: (filter?: { sourceId?: string; query?: string }) =>\n run(executor.tools.list(filter ? new ToolListFilter(filter) : undefined)),\n schema: (toolId: string) => run(executor.tools.schema(toolId)),\n definitions: () => run(executor.tools.definitions()),\n invoke: (toolId: string, args: unknown, options: InvokeOptions) =>\n run(executor.tools.invoke(toolId, args, toEffectInvokeOptions(options))),\n },\n sources: {\n list: () => run(executor.sources.list()),\n remove: (sourceId: string) => run(executor.sources.remove(sourceId)),\n refresh: (sourceId: string) => run(executor.sources.refresh(sourceId)),\n detect: (url: string) => run(executor.sources.detect(url)),\n },\n policies: {\n list: () => run(executor.policies.list()),\n add: (policy: Omit<Policy, \"id\" | \"createdAt\">) => run(executor.policies.add(policy)),\n remove: (policyId: string) => run(executor.policies.remove(policyId)),\n },\n secrets: {\n list: () => run(executor.secrets.list()),\n resolve: (secretId: string) => run(executor.secrets.resolve(SecretId.make(secretId))),\n status: (secretId: string) => run(executor.secrets.status(SecretId.make(secretId))),\n set: (input: {\n readonly id: string;\n readonly name: string;\n readonly value: string;\n readonly provider?: string;\n readonly purpose?: string;\n }) => run(executor.secrets.set({ ...input, id: SecretId.make(input.id) })),\n remove: (secretId: string) => run(executor.secrets.remove(SecretId.make(secretId))),\n addProvider: (provider: SecretProvider) =>\n run(executor.secrets.addProvider(toEffectSecretProvider(provider))),\n providers: () => run(executor.secrets.providers()),\n },\n close: () => run(executor.close()),\n };\n\n for (const key of Object.keys(executor)) {\n if (!KNOWN_KEYS.has(key)) {\n const ext = (executor as Record<string, unknown>)[key];\n if (ext !== null && typeof ext === \"object\") base[key] = promisifyObject(ext as object);\n else base[key] = ext;\n }\n }\n\n return base as Executor<TPlugins>;\n};\n"],"mappings":"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","names":["createExecutor"]}
@@ -1,12 +1,18 @@
1
1
  import { Effect } from "effect";
2
+ export interface KvEntry {
3
+ readonly key: string;
4
+ readonly value: string;
5
+ }
2
6
  /**
3
7
  * Global KV — requires a namespace on every call.
4
8
  * Implementations: makeSqliteKv, makeInMemoryKv
5
9
  */
6
10
  export interface Kv {
7
11
  readonly get: (namespace: string, key: string) => Effect.Effect<string | null>;
8
- readonly set: (namespace: string, key: string, value: string) => Effect.Effect<void>;
9
- readonly delete: (namespace: string, key: string) => Effect.Effect<boolean>;
12
+ /** Batch upsert inserts or updates one or more key-value pairs. */
13
+ readonly set: (namespace: string, entries: readonly KvEntry[]) => Effect.Effect<void>;
14
+ /** Batch delete — removes one or more keys. */
15
+ readonly delete: (namespace: string, keys: readonly string[]) => Effect.Effect<number>;
10
16
  readonly list: (namespace: string) => Effect.Effect<readonly {
11
17
  key: string;
12
18
  value: string;
@@ -20,8 +26,10 @@ export interface Kv {
20
26
  */
21
27
  export interface ScopedKv {
22
28
  readonly get: (key: string) => Effect.Effect<string | null>;
23
- readonly set: (key: string, value: string) => Effect.Effect<void>;
24
- readonly delete: (key: string) => Effect.Effect<boolean>;
29
+ /** Batch upsert inserts or updates one or more key-value pairs. */
30
+ readonly set: (entries: readonly KvEntry[]) => Effect.Effect<void>;
31
+ /** Batch delete — removes one or more keys. */
32
+ readonly delete: (keys: readonly string[]) => Effect.Effect<number>;
25
33
  readonly list: () => Effect.Effect<readonly {
26
34
  key: string;
27
35
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-kv.d.ts","sourceRoot":"","sources":["../src/plugin-kv.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;;GAGG;AACH,MAAM,WAAW,EAAE;IACjB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/E,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5E,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,EAAE,EAAE,WAAW,MAAM,KAAG,QAOlD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAO,QAkBvC,CAAC"}
1
+ {"version":3,"file":"plugin-kv.d.ts","sourceRoot":"","sources":["../src/plugin-kv.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,EAAE;IACjB,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/E,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,OAAO,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtF,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACvF,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC/F,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjE,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5D,qEAAqE;IACrE,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnE,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpE,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,IAAI,EAAE,EAAE,WAAW,MAAM,KAAG,QAOlD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAO,QAuBvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7D;AAMD,MAAM,WAAW,cAAc,CAC7B,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,UAAU,SAAS,MAAM,GAAG,MAAM;IAElC,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAClD,YAAY,CAAC,UAAU,CAAC,EACxB,KAAK,CACN,CAAC;CACH;AAED,MAAM,WAAW,YAAY,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC5C;AAMD,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,CAC1B,QAAQ,SAAS,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IACxD;IACF,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CACpE,MAAM,EACN,MAAM,IAAI,CACX,GACG,IAAI,GACJ,KAAK;CACV,CAAC;AAGF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMtC,eAAO,MAAM,YAAY,GACvB,KAAK,CAAC,IAAI,SAAS,MAAM,EACzB,UAAU,SAAS,MAAM,EAEzB,QAAQ,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,KACvC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAW,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,cAAc,CAAC,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7D;AAMD,MAAM,WAAW,cAAc,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,UAAU,SAAS,MAAM,GAAG,MAAM;IAC9F,kEAAkE;IAClE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,YAAY,CAAC,UAAU,SAAS,MAAM,GAAG,MAAM;IAC9D,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC5C;AAMD,sEAAsE;AACtE,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI;IACzF,QAAQ,EAAE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,GACtF,IAAI,GACJ,KAAK;CACV,CAAC;AAGF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAMtC,eAAO,MAAM,YAAY,GAAI,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,UAAU,SAAS,MAAM,EAC/E,QAAQ,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,KACvC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory-tools.d.ts","sourceRoot":"","sources":["../../src/plugins/in-memory-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"in-memory-tools.d.ts","sourceRoot":"","sources":["../../src/plugins/in-memory-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAU,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,YAAY,uDAAsD,CAAC;AAChF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,qBAAa,MAAO,SAAQ,WAW1B;CAAG;;;;;;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAGpC;CAAG;;mBAKc,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC;oBACrD,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;kBACrE,CACZ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAAC,KACrC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBACT,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;AARnE,qBAAa,YAAa,SAAQ,iBAU/B;CAAG"}
1
+ {"version":3,"file":"policies.d.ts","sourceRoot":"","sources":["../src/policies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAU,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,eAAO,MAAM,YAAY,uDAAsD,CAAC;AAChF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpD,qBAAa,MAAO,SAAQ,WAW1B;CAAG;;;;;;;;;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAGpC;CAAG;;mBAKc,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,EAAE,CAAC;oBACrD,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC;kBACrE,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,GAAG,WAAW,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBAChE,CAAC,QAAQ,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;;AANnE,qBAAa,YAAa,SAAQ,iBAQ/B;CAAG"}