stitchkit 0.76.0 → 0.76.2

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 (48) hide show
  1. package/dist/agent-runtime-coding-tools.js +1 -2
  2. package/dist/agent-runtime-harness.js +4 -5
  3. package/dist/agent-runtime.js +7 -8
  4. package/dist/application/keyspace.d.ts +37 -0
  5. package/dist/application/keyspace.d.ts.map +1 -1
  6. package/dist/application/watch-hub.d.ts +1 -1
  7. package/dist/application/watch-hub.d.ts.map +1 -1
  8. package/dist/application.d.ts +1 -1
  9. package/dist/application.d.ts.map +1 -1
  10. package/dist/application.js +31 -8
  11. package/dist/cli.js +6 -7
  12. package/dist/contract/index.js +1 -2
  13. package/dist/{index-v5dm4bwq.js → index-58jzmnn4.js} +1 -1
  14. package/dist/{index-885chjxq.js → index-7qy2ex0m.js} +1 -1
  15. package/dist/index-a916km3r.js +45 -0
  16. package/dist/{index-28jsdwt1.js → index-aczggrty.js} +1 -1
  17. package/dist/{index-65kathdm.js → index-da1aqnhb.js} +4 -6
  18. package/dist/{index-xgahrwdf.js → index-ezmn6ac6.js} +3 -3
  19. package/dist/{index-4kp4fxvp.js → index-f6n5n7nz.js} +18 -4
  20. package/dist/{index-6wr9f6qm.js → index-jqtsc9mj.js} +2 -2
  21. package/dist/{index-9c5dbr5q.js → index-k2zczx1g.js} +1 -1
  22. package/dist/{index-v7xjfy10.js → index-m668wzyc.js} +1 -1
  23. package/dist/{index-e0a57ymn.js → index-nemjkxjp.js} +1 -1
  24. package/dist/{index-9my2n66s.js → index-s2rchahr.js} +4 -4
  25. package/dist/{index-k68e5jz0.js → index-s4c8wy8m.js} +2 -2
  26. package/dist/{index-52400rdd.js → index-t8qyvrvg.js} +3 -3
  27. package/dist/{index-endzd8sj.js → index-vbf2p6me.js} +1 -1
  28. package/dist/{index-hsz2mmk0.js → index-vj3vvpaa.js} +17 -1
  29. package/dist/index.js +1 -2
  30. package/dist/internal/stable-digest.d.ts +40 -6
  31. package/dist/internal/stable-digest.d.ts.map +1 -1
  32. package/dist/live/watch-client.d.ts +52 -5
  33. package/dist/live/watch-client.d.ts.map +1 -1
  34. package/dist/live.d.ts +1 -1
  35. package/dist/live.d.ts.map +1 -1
  36. package/dist/live.js +44 -57
  37. package/dist/node.js +4 -5
  38. package/dist/observability/index.js +3 -4
  39. package/dist/primitives.js +1 -2
  40. package/dist/remote.js +2 -3
  41. package/dist/server/index.js +5 -6
  42. package/dist/testing.js +2 -3
  43. package/dist/tool-invoker.js +5 -6
  44. package/dist/tools.js +13 -14
  45. package/llms-full.txt +37 -5
  46. package/package.json +1 -1
  47. package/dist/index-rxfy4cq7.js +0 -17
  48. package/dist/index-vdvmcy7r.js +0 -22
@@ -16,8 +16,7 @@ import {
16
16
  } from "./index-wwst0td5.js";
17
17
  import"./index-22by16v6.js";
18
18
  import"./index-cby4ar3v.js";
19
- import"./index-hsz2mmk0.js";
20
- import"./index-rxfy4cq7.js";
19
+ import"./index-vj3vvpaa.js";
21
20
  import {
22
21
  AppError,
23
22
  conflict,
@@ -3,7 +3,7 @@ import {
3
3
  composeAgentPrompt,
4
4
  createAgentRuntime,
5
5
  createAgentRuntimeEventSink
6
- } from "./index-v7xjfy10.js";
6
+ } from "./index-m668wzyc.js";
7
7
  import {
8
8
  walkContainedFiles
9
9
  } from "./index-rqpdar1e.js";
@@ -16,8 +16,8 @@ import"./index-3xnq72rz.js";
16
16
  import {
17
17
  defineRuntimeTool
18
18
  } from "./index-wwst0td5.js";
19
- import"./index-k68e5jz0.js";
20
- import"./index-e0a57ymn.js";
19
+ import"./index-s4c8wy8m.js";
20
+ import"./index-nemjkxjp.js";
21
21
  import {
22
22
  AgentMessagePartSchema,
23
23
  AgentSnapshotSchema
@@ -25,8 +25,7 @@ import {
25
25
  import"./index-22by16v6.js";
26
26
  import"./index-cby4ar3v.js";
27
27
  import"./index-nt1mp8km.js";
28
- import"./index-hsz2mmk0.js";
29
- import"./index-rxfy4cq7.js";
28
+ import"./index-vj3vvpaa.js";
30
29
  import"./index-0w9abg87.js";
31
30
  import"./index-qyrqwr4c.js";
32
31
  import"./index-6k1937bx.js";
@@ -27,7 +27,7 @@ import {
27
27
  registerDeferredToolRepair,
28
28
  repairedSearchCall,
29
29
  selectAgentHistory
30
- } from "./index-v7xjfy10.js";
30
+ } from "./index-m668wzyc.js";
31
31
  import {
32
32
  AgentModelCapabilitySchema,
33
33
  AgentModelCatalogEntrySchema,
@@ -86,15 +86,15 @@ import {
86
86
  import {
87
87
  buildToolManifest,
88
88
  mountAgent
89
- } from "./index-xgahrwdf.js";
89
+ } from "./index-ezmn6ac6.js";
90
90
  import"./index-3xnq72rz.js";
91
- import"./index-9c5dbr5q.js";
91
+ import"./index-k2zczx1g.js";
92
92
  import {
93
93
  defineRuntimeTool
94
94
  } from "./index-wwst0td5.js";
95
- import"./index-885chjxq.js";
96
- import"./index-k68e5jz0.js";
97
- import"./index-e0a57ymn.js";
95
+ import"./index-7qy2ex0m.js";
96
+ import"./index-s4c8wy8m.js";
97
+ import"./index-nemjkxjp.js";
98
98
  import {
99
99
  AgentAssistantPlaceholderSchema,
100
100
  AgentControlPartSchema,
@@ -134,8 +134,7 @@ import {
134
134
  childSpan,
135
135
  createTraceContext
136
136
  } from "./index-nt1mp8km.js";
137
- import"./index-hsz2mmk0.js";
138
- import"./index-rxfy4cq7.js";
137
+ import"./index-vj3vvpaa.js";
139
138
  import"./index-0w9abg87.js";
140
139
  import {
141
140
  executableAgentRuntimeTools,
@@ -29,6 +29,18 @@
29
29
  * and the owner's to configure. Saying "durable" without saying whose durability
30
30
  * would be the more comfortable lie.
31
31
  *
32
+ * ## Two ways in, because there are two lifecycles
33
+ *
34
+ * {@link keyspaceResource} declares it to the application kernel, which is right
35
+ * whenever there is a kernel: it closes after everything that writes to it,
36
+ * because a writer that depends on it is stopped first.
37
+ *
38
+ * {@link openKeyspace} opens one directly, for an application that owns its own
39
+ * lifecycle — a server that binds its signals and closes what it holds in an
40
+ * order it wrote itself. The resource is a thin wrapper over exactly this, not a
41
+ * second implementation: without it the only way to open a keyspace would be to
42
+ * have a kernel, which is a requirement nothing about a keyspace justifies.
43
+ *
32
44
  * ## It is a resource, not a global
33
45
  *
34
46
  * A keyspace is opened as a {@link ManagedResource} and its handle is read with
@@ -127,6 +139,31 @@ export declare function defineKeyspace<TValue>(name: string, declaration: {
127
139
  schema: z.ZodType<TValue>;
128
140
  key: (value: TValue) => string;
129
141
  }): KeyspaceDeclaration<TValue>;
142
+ /**
143
+ * An opened keyspace, plus the lifecycle its owner drives.
144
+ *
145
+ * The same four phases a {@link ManagedResource} has, because they are the same
146
+ * four phases — an application without a kernel calls them in the order it
147
+ * chose, and one with a kernel gets them called for it.
148
+ */
149
+ export interface OpenedKeyspace<TValue> {
150
+ readonly keyspace: OpenKeyspace<TValue>;
151
+ /** Refuse new writes. The queued ones still finish. */
152
+ stopAdmission(): void;
153
+ /** Wait for every accepted write to reach the backend. */
154
+ drain(): Promise<void>;
155
+ /** Report anything still unwritten, then close the backend. */
156
+ close(): Promise<void>;
157
+ }
158
+ /**
159
+ * Open a keyspace directly, for an application that owns its own lifecycle.
160
+ *
161
+ * Loads every stored record before it returns, so `get` and `list` are
162
+ * answerable from the first call. Where there is a kernel, prefer
163
+ * {@link keyspaceResource} — it gets the ordering right without anyone
164
+ * remembering to.
165
+ */
166
+ export declare function openKeyspace<TValue>(declaration: KeyspaceDeclaration<TValue>, config: KeyspaceResourceConfig<TValue>): Promise<OpenedKeyspace<TValue>>;
130
167
  /**
131
168
  * A keyspace as a managed resource. Its `start` publishes the {@link OpenKeyspace}.
132
169
  */
@@ -1 +1 @@
1
- {"version":3,"file":"keyspace.d.ts","sourceRoot":"","sources":["../../src/application/keyspace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,eAAe,EAA0B,MAAM,YAAY,CAAC;AAE1E,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,oFAAoF;IACpF,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,kDAAkD;IAClD,IAAI,IAAI,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IACpC,8DAA8D;IAC9D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,wEAAwE;IACxE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,+EAA+E;IAC/E,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,YAAY,CAAC,MAAM;IAClC,yEAAyE;IACzE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,qDAAqD;IACrD,IAAI,IAAI,SAAS,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,gFAAgF;IAChF,aAAa,IAAI,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc,CAAC,MAAM;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAC;CACnC;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM;IAC5C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC9D;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,kDAAkD;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACnD;AAED,wBAAgB,cAAc,CAAC,MAAM,EACnC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE;IAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GACzE,mBAAmB,CAAC,MAAM,CAAC,CAK7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EACrC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACxC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,GACrC,eAAe,CAsGjB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAWvD"}
1
+ {"version":3,"file":"keyspace.d.ts","sourceRoot":"","sources":["../../src/application/keyspace.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,6 @@ export interface WatchHub {
129
129
  * Exported because the client has to produce exactly this, and two
130
130
  * implementations of one key is the failure the digest exists to prevent.
131
131
  */
132
- export declare function watchKey(operation: WatchOperation, args: unknown): Promise<WatchKey>;
132
+ export declare function watchKey(operation: WatchOperation, args: unknown): WatchKey;
133
133
  export declare function createWatchHub(config: WatchHubConfig): WatchHub;
134
134
  //# sourceMappingURL=watch-hub.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watch-hub.d.ts","sourceRoot":"","sources":["../../src/application/watch-hub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,oDAAoD;IACpD,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,gFAAgF;IAChF,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC;IAC9C;;;;;;;;;OASG;IACH,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;IAC3E,mFAAmF;IACnF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC3D,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,yFAAyF;IACzF,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACjD,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,CAAC;IACrD;;;;;;OAMG;IACH,SAAS,IAAI,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,IAAI,MAAM,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACf;AAqBD;;;;;GAKG;AACH,wBAAsB,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAU1F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CA4M/D"}
1
+ {"version":3,"file":"watch-hub.d.ts","sourceRoot":"","sources":["../../src/application/watch-hub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,KAAK,aAAa,EAAiB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,yDAAyD;IACzD,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,oDAAoD;IACpD,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,KAAK,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,yEAAyE;IACzE,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;;;;;OAeG;IACH,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjE,gFAAgF;IAChF,SAAS,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAAC;IAC9C;;;;;;;;;OASG;IACH,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;IAC3E,mFAAmF;IACnF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC3D,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,yFAAyF;IACzF,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACjD,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,CAAC;IACrD;;;;;;OAMG;IACH,SAAS,IAAI,MAAM,CAAC;IACpB,qEAAqE;IACrE,IAAI,IAAI,MAAM,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACf;AAqBD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAU3E;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ,CA4M/D"}
@@ -6,7 +6,7 @@ export { type DiagnosticJournal, type DiagnosticJournalCloseResult, DiagnosticJo
6
6
  export { type ApplicationEventSink, type ApplicationEventSinkConfig, type ApplicationLifecycleEvent, ApplicationLifecycleEventSchema, applicationLifecycleEvent, createApplicationEventSink, } from './application/events.js';
7
7
  export { type ApplicationHealthHandlerOptions, ApplicationHealthHandlerOptionsSchema, type ApplicationOperationalHandlers, type ApplicationOperationalHandlersOptions, ApplicationOperationalHandlersOptionsSchema, createApplicationHealthHandler, createApplicationOperationalHandlers, } from './application/health.js';
8
8
  export { type ApplicationAdmission, ApplicationAdmissionError, type ApplicationConfig, type ApplicationHandle, type ApplicationOperationLease, type ApplicationResourceFailure, type ApplicationResourcePhase, type ApplicationShutdownBudget, ApplicationShutdownBudgetSchema, type ApplicationShutdownOptions, ApplicationShutdownOptionsSchema, createApplication, } from './application/kernel.js';
9
- export { defineKeyspace, type KeyspaceBackend, type KeyspaceChange, type KeyspaceDeclaration, type KeyspaceResourceConfig, keyspaceResource, memoryKeyspaceBackend, type OpenKeyspace, } from './application/keyspace.js';
9
+ export { defineKeyspace, type KeyspaceBackend, type KeyspaceChange, type KeyspaceDeclaration, type KeyspaceResourceConfig, keyspaceResource, memoryKeyspaceBackend, type OpenedKeyspace, type OpenKeyspace, openKeyspace, } from './application/keyspace.js';
10
10
  export { type SqliteKeyspaceBackendConfig, sqliteKeyspaceBackend, } from './application/keyspace-sqlite.js';
11
11
  export { type ApplicationSnapshotSink, type ApplicationSnapshotSinkConfig, type ApplicationSnapshotSinkError, type ApplicationSnapshotSinkStatus, ApplicationSnapshotSinkStatusSchema, createApplicationSnapshotSink, type RevisionedApplicationSnapshot, } from './application/latest-sink.js';
12
12
  export { defineManagedResource, type ManagedResource, type ManagedResourceContext, type ManagedResourceDependency, type ManagedResourcePublished, type ManagedResourcePublishesNoValue, type ManagedResourceStartResult, managedResourceDependencyId, } from './application/resource.js';
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  argumentsDigest,
29
29
  stableValue
30
- } from "./index-vdvmcy7r.js";
30
+ } from "./index-a916km3r.js";
31
31
  import {
32
32
  ApplicationAdmissionError,
33
33
  ApplicationShutdownBudgetSchema,
@@ -52,7 +52,6 @@ import {
52
52
  projectApplicationStatus
53
53
  } from "./index-8eywc9zv.js";
54
54
  import"./index-3z73fh2c.js";
55
- import"./index-rxfy4cq7.js";
56
55
  import"./index-0w9abg87.js";
57
56
  import {
58
57
  isRecord
@@ -1223,7 +1222,32 @@ function defineKeyspace(name, declaration) {
1223
1222
  }
1224
1223
  return { name, schema: declaration.schema, key: declaration.key };
1225
1224
  }
1225
+ async function openKeyspace(declaration, config) {
1226
+ const machine = keyspaceMachine(declaration, config);
1227
+ await machine.load();
1228
+ return {
1229
+ keyspace: machine.keyspace,
1230
+ stopAdmission: machine.stopAdmission,
1231
+ drain: machine.drain,
1232
+ close: machine.close
1233
+ };
1234
+ }
1226
1235
  function keyspaceResource(declaration, config) {
1236
+ const machine = keyspaceMachine(declaration, config);
1237
+ return {
1238
+ id: config.id ?? `keyspace:${declaration.name}`,
1239
+ ...config.dependsOn && { dependsOn: config.dependsOn },
1240
+ async start(_context) {
1241
+ await machine.load();
1242
+ return { value: machine.keyspace };
1243
+ },
1244
+ stopAdmission: machine.stopAdmission,
1245
+ drain: machine.drain,
1246
+ close: machine.close,
1247
+ force: machine.force
1248
+ };
1249
+ }
1250
+ function keyspaceMachine(declaration, config) {
1227
1251
  const maxPending = config.maxPendingWrites ?? 1024;
1228
1252
  const records = new Map;
1229
1253
  let admitting = true;
@@ -1281,14 +1305,12 @@ function keyspaceResource(declaration, config) {
1281
1305
  config.onUnwritten?.(pending);
1282
1306
  }
1283
1307
  return {
1284
- id: config.id ?? `keyspace:${declaration.name}`,
1285
- ...config.dependsOn && { dependsOn: config.dependsOn },
1286
- async start(_context) {
1308
+ keyspace,
1309
+ async load() {
1287
1310
  for (const stored of await config.backend.load()) {
1288
1311
  const value = declaration.schema.parse(stored);
1289
1312
  records.set(declaration.key(value), value);
1290
1313
  }
1291
- return { value: keyspace };
1292
1314
  },
1293
1315
  stopAdmission() {
1294
1316
  admitting = false;
@@ -1512,12 +1534,12 @@ function watchKeyString(key) {
1512
1534
 
1513
1535
  // src/application/watch-hub.ts
1514
1536
  var DEFAULT_BACKOFF = { minDelayMs: 250, maxDelayMs: 30000, jitter: 0.2 };
1515
- async function watchKey(operation, args) {
1537
+ function watchKey(operation, args) {
1516
1538
  const record = typeof args === "object" && args !== null && !Array.isArray(args) ? args : { value: args };
1517
1539
  return {
1518
1540
  service: operation.service,
1519
1541
  action: operation.action,
1520
- digest: await argumentsDigest(record)
1542
+ digest: argumentsDigest(record)
1521
1543
  };
1522
1544
  }
1523
1545
  function createWatchHub(config) {
@@ -1724,6 +1746,7 @@ export {
1724
1746
  sqliteKeyspaceBackend,
1725
1747
  readDiagnosticJournalLockDiagnosis,
1726
1748
  projectApplicationStatus,
1749
+ openKeyspace,
1727
1750
  memoryKeyspaceBackend,
1728
1751
  managedServerResource,
1729
1752
  managedResourceDependencyId,
package/dist/cli.js CHANGED
@@ -5,18 +5,17 @@ import {
5
5
  emitResult,
6
6
  parseCliArgs,
7
7
  pollUntilDone
8
- } from "./index-9my2n66s.js";
9
- import"./index-9c5dbr5q.js";
8
+ } from "./index-s2rchahr.js";
9
+ import"./index-k2zczx1g.js";
10
10
  import"./index-wwst0td5.js";
11
- import"./index-885chjxq.js";
12
- import"./index-k68e5jz0.js";
13
- import"./index-e0a57ymn.js";
11
+ import"./index-7qy2ex0m.js";
12
+ import"./index-s4c8wy8m.js";
13
+ import"./index-nemjkxjp.js";
14
14
  import"./index-sbdmyz75.js";
15
15
  import"./index-22by16v6.js";
16
16
  import"./index-cby4ar3v.js";
17
17
  import"./index-nt1mp8km.js";
18
- import"./index-hsz2mmk0.js";
19
- import"./index-rxfy4cq7.js";
18
+ import"./index-vj3vvpaa.js";
20
19
  import"./index-0w9abg87.js";
21
20
  import"./index-qyrqwr4c.js";
22
21
  import"./index-6k1937bx.js";
@@ -20,8 +20,7 @@ import {
20
20
  paginatedSchema,
21
21
  rateLimited,
22
22
  unauthorized
23
- } from "../index-4kp4fxvp.js";
24
- import"../index-rxfy4cq7.js";
23
+ } from "../index-f6n5n7nz.js";
25
24
  import"../index-ksp6e2ye.js";
26
25
  export {
27
26
  unauthorized,
@@ -8,7 +8,7 @@ import {
8
8
  ContractStreamFrameSchema,
9
9
  DEFAULT_CONTRACT_STREAM_FRAME_BYTES,
10
10
  parseTrailingWildcard
11
- } from "./index-hsz2mmk0.js";
11
+ } from "./index-vj3vvpaa.js";
12
12
  import {
13
13
  isRecord,
14
14
  mapObject,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  executeToolMethod
3
- } from "./index-k68e5jz0.js";
3
+ } from "./index-s4c8wy8m.js";
4
4
  import {
5
5
  assertToolExtensionCompatible,
6
6
  mergeSchemas,
@@ -0,0 +1,45 @@
1
+ // src/internal/stable-digest.ts
2
+ function stableValue(value) {
3
+ if (Array.isArray(value))
4
+ return value.map(stableValue);
5
+ if (value === null || typeof value !== "object")
6
+ return value;
7
+ const result = {};
8
+ for (const key of Object.keys(value).sort()) {
9
+ result[key] = stableValue(Reflect.get(value, key));
10
+ }
11
+ return result;
12
+ }
13
+ function mix128(input) {
14
+ let a = 2654435769;
15
+ let b = 2246822507;
16
+ let c = 3266489909;
17
+ let d = 668265263;
18
+ for (let index = 0;index < input.length; index += 1) {
19
+ const code = input.charCodeAt(index);
20
+ a = Math.imul(a ^ code, 2246822519);
21
+ b = Math.imul(b ^ code, 3266489917);
22
+ c = Math.imul(c ^ code, 668265263);
23
+ d = Math.imul(d ^ code, 374761393);
24
+ a = a << 13 | a >>> 19;
25
+ b = b << 17 | b >>> 15;
26
+ c = c << 7 | c >>> 25;
27
+ d = d << 11 | d >>> 21;
28
+ }
29
+ a ^= b >>> 15;
30
+ b ^= c >>> 13;
31
+ c ^= d >>> 11;
32
+ d ^= a >>> 9;
33
+ return [
34
+ Math.imul(a ^ a >>> 16, 575075507) >>> 0,
35
+ Math.imul(b ^ b >>> 13, 2654435761) >>> 0,
36
+ Math.imul(c ^ c >>> 16, 2246822507) >>> 0,
37
+ Math.imul(d ^ d >>> 15, 3266489909) >>> 0
38
+ ];
39
+ }
40
+ function argumentsDigest(args) {
41
+ const lanes = mix128(JSON.stringify(stableValue(args)) ?? "undefined");
42
+ return lanes.map((lane) => lane.toString(16).padStart(8, "0")).join("");
43
+ }
44
+
45
+ export { stableValue, argumentsDigest };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isUnsafeKey
3
- } from "./index-hsz2mmk0.js";
3
+ } from "./index-vj3vvpaa.js";
4
4
  import {
5
5
  isRecord
6
6
  } from "./index-qyrqwr4c.js";
@@ -2,15 +2,13 @@ import {
2
2
  contextContributionDelta,
3
3
  mergeContextContribution,
4
4
  prepareContextContribution
5
- } from "./index-endzd8sj.js";
5
+ } from "./index-vbf2p6me.js";
6
6
  import {
7
+ base64UrlToBytes,
8
+ bytesToBase64Url,
7
9
  isUnsafeKey,
8
10
  safeJsonParse
9
- } from "./index-hsz2mmk0.js";
10
- import {
11
- base64UrlToBytes,
12
- bytesToBase64Url
13
- } from "./index-rxfy4cq7.js";
11
+ } from "./index-vj3vvpaa.js";
14
12
  import {
15
13
  forbidden,
16
14
  unauthorized
@@ -3,15 +3,15 @@ import {
3
3
  } from "./index-3xnq72rz.js";
4
4
  import {
5
5
  collectToolSurface
6
- } from "./index-9c5dbr5q.js";
6
+ } from "./index-k2zczx1g.js";
7
7
  import {
8
8
  createToolRunner,
9
9
  formatToolError
10
- } from "./index-885chjxq.js";
10
+ } from "./index-7qy2ex0m.js";
11
11
  import {
12
12
  isToolExecutionControlError,
13
13
  toolResultFromError
14
- } from "./index-k68e5jz0.js";
14
+ } from "./index-s4c8wy8m.js";
15
15
  import {
16
16
  isRecord
17
17
  } from "./index-qyrqwr4c.js";
@@ -1,7 +1,3 @@
1
- import {
2
- base64UrlToBytes,
3
- bytesToBase64Url
4
- } from "./index-rxfy4cq7.js";
5
1
  import {
6
2
  mapObjectTypeBoundary
7
3
  } from "./index-ksp6e2ye.js";
@@ -435,6 +431,24 @@ var ManagedFileRefSchema = z3.object({
435
431
  });
436
432
  // src/contract/pagination.ts
437
433
  import { z as z4 } from "zod";
434
+
435
+ // src/internal/base64url.ts
436
+ function bytesToBase64Url(bytes) {
437
+ let binary = "";
438
+ for (const byte of bytes)
439
+ binary += String.fromCharCode(byte);
440
+ return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
441
+ }
442
+ function base64UrlToBytes(segment) {
443
+ if (!/^[A-Za-z0-9_-]*$/.test(segment) || segment.length % 4 === 1) {
444
+ throw new Error("invalid base64url segment");
445
+ }
446
+ const b64 = segment.replace(/-/g, "+").replace(/_/g, "/");
447
+ const padded = b64.padEnd(Math.ceil(b64.length / 4) * 4, "=");
448
+ return Uint8Array.from(atob(padded), (c) => c.charCodeAt(0));
449
+ }
450
+
451
+ // src/contract/pagination.ts
438
452
  function paginatedSchema(itemSchema) {
439
453
  return z4.object({
440
454
  items: z4.array(itemSchema),
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  collectTools,
3
3
  createToolRunner
4
- } from "./index-885chjxq.js";
4
+ } from "./index-7qy2ex0m.js";
5
5
  import {
6
6
  toolErrorFromResult
7
- } from "./index-k68e5jz0.js";
7
+ } from "./index-s4c8wy8m.js";
8
8
  import {
9
9
  assertUniqueToolName
10
10
  } from "./index-22by16v6.js";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./index-wwst0td5.js";
4
4
  import {
5
5
  contractToolMountable
6
- } from "./index-885chjxq.js";
6
+ } from "./index-7qy2ex0m.js";
7
7
  import {
8
8
  projectToolSurface
9
9
  } from "./index-22by16v6.js";
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  ToolExecutionControlError,
17
17
  isToolExecutionControlError
18
- } from "./index-k68e5jz0.js";
18
+ } from "./index-s4c8wy8m.js";
19
19
  import {
20
20
  AgentAssistantPlaceholderSchema,
21
21
  AgentJsonObjectSchema,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./index-nt1mp8km.js";
4
4
  import {
5
5
  isUnsafeKey
6
- } from "./index-hsz2mmk0.js";
6
+ } from "./index-vj3vvpaa.js";
7
7
  import {
8
8
  isRecord
9
9
  } from "./index-qyrqwr4c.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  collectToolSurface
3
- } from "./index-9c5dbr5q.js";
3
+ } from "./index-k2zczx1g.js";
4
4
  import {
5
5
  createToolRunner,
6
6
  formatToolError
7
- } from "./index-885chjxq.js";
7
+ } from "./index-7qy2ex0m.js";
8
8
  import {
9
9
  coerceJsonArgs,
10
10
  toolResultFromError
11
- } from "./index-k68e5jz0.js";
11
+ } from "./index-s4c8wy8m.js";
12
12
  import {
13
13
  isWithinDir
14
14
  } from "./index-sbdmyz75.js";
@@ -27,7 +27,7 @@ import {
27
27
  import {
28
28
  isUnsafeKey,
29
29
  safeJsonParse
30
- } from "./index-hsz2mmk0.js";
30
+ } from "./index-vj3vvpaa.js";
31
31
  import {
32
32
  isRecord
33
33
  } from "./index-qyrqwr4c.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRequestContext,
3
3
  runWithRequestContext
4
- } from "./index-e0a57ymn.js";
4
+ } from "./index-nemjkxjp.js";
5
5
  import {
6
6
  objectShapeKeys
7
7
  } from "./index-22by16v6.js";
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  isUnsafeKey,
15
15
  safeJsonParse
16
- } from "./index-hsz2mmk0.js";
16
+ } from "./index-vj3vvpaa.js";
17
17
  import {
18
18
  AppError,
19
19
  STITCH_ERROR_STATUS,
@@ -7,7 +7,7 @@ import {
7
7
  defaultSignalSource,
8
8
  guardSignalCallback,
9
9
  reportSignalError
10
- } from "./index-endzd8sj.js";
10
+ } from "./index-vbf2p6me.js";
11
11
  import {
12
12
  extractIp,
13
13
  getClientInfo,
@@ -18,7 +18,7 @@ import {
18
18
  runWithRequestContext,
19
19
  setRequestEndpoint,
20
20
  setRequestError
21
- } from "./index-e0a57ymn.js";
21
+ } from "./index-nemjkxjp.js";
22
22
  import {
23
23
  ShutdownOptionsSchema,
24
24
  isStreamCancellation,
@@ -39,7 +39,7 @@ import {
39
39
  joinRoutePath,
40
40
  parseTrailingWildcard,
41
41
  safeJsonParse
42
- } from "./index-hsz2mmk0.js";
42
+ } from "./index-vj3vvpaa.js";
43
43
  import {
44
44
  AppError,
45
45
  badRequest
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  isUnsafeKey,
3
3
  mergeMeta
4
- } from "./index-hsz2mmk0.js";
4
+ } from "./index-vj3vvpaa.js";
5
5
  import {
6
6
  callRuntimeHandler,
7
7
  isRecord,
@@ -272,6 +272,22 @@ function mergeMeta(contractMeta, endpointMeta) {
272
272
  import { z as z2 } from "zod";
273
273
  // src/contract/pagination.ts
274
274
  import { z as z3 } from "zod";
275
+
276
+ // src/internal/base64url.ts
277
+ function bytesToBase64Url(bytes) {
278
+ let binary = "";
279
+ for (const byte of bytes)
280
+ binary += String.fromCharCode(byte);
281
+ return btoa(binary).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
282
+ }
283
+ function base64UrlToBytes(segment) {
284
+ if (!/^[A-Za-z0-9_-]*$/.test(segment) || segment.length % 4 === 1) {
285
+ throw new Error("invalid base64url segment");
286
+ }
287
+ const b64 = segment.replace(/-/g, "+").replace(/_/g, "/");
288
+ const padded = b64.padEnd(Math.ceil(b64.length / 4) * 4, "=");
289
+ return Uint8Array.from(atob(padded), (c) => c.charCodeAt(0));
290
+ }
275
291
  // src/contract/stream.ts
276
292
  import { z as z4 } from "zod";
277
293
  var DEFAULT_CONTRACT_STREAM_FRAME_BYTES = 256 * 1024;
@@ -288,4 +304,4 @@ var ContractStreamFrameSchema = z4.discriminatedUnion("type", [
288
304
  }).strict(),
289
305
  z4.object({ type: z4.literal("end") }).strict()
290
306
  ]);
291
- export { joinRoutePath, parseTrailingWildcard, isUnsafeKey, safeJsonParse, defineContract, mergeMeta, DEFAULT_CONTRACT_STREAM_FRAME_BYTES, ContractStreamFrameSchema };
307
+ export { joinRoutePath, parseTrailingWildcard, isUnsafeKey, safeJsonParse, defineContract, mergeMeta, bytesToBase64Url, base64UrlToBytes, DEFAULT_CONTRACT_STREAM_FRAME_BYTES, ContractStreamFrameSchema };
package/dist/index.js CHANGED
@@ -27,8 +27,7 @@ import {
27
27
  parseTrailingWildcard,
28
28
  rateLimited,
29
29
  unauthorized
30
- } from "./index-4kp4fxvp.js";
31
- import"./index-rxfy4cq7.js";
30
+ } from "./index-f6n5n7nz.js";
32
31
  import {
33
32
  isRecord,
34
33
  mapObject,