stitchkit 0.81.0 → 0.83.0

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 (40) hide show
  1. package/CHANGELOG.md +6613 -0
  2. package/README.md +4 -0
  3. package/dist/agent-runtime/events.d.ts +9 -2
  4. package/dist/agent-runtime/events.d.ts.map +1 -1
  5. package/dist/agent-runtime/observability.d.ts +9 -2
  6. package/dist/agent-runtime/observability.d.ts.map +1 -1
  7. package/dist/agent-runtime-harness.js +2 -2
  8. package/dist/agent-runtime.js +4 -4
  9. package/dist/application/events.d.ts +9 -2
  10. package/dist/application/events.d.ts.map +1 -1
  11. package/dist/application/latest-sink.d.ts +12 -2
  12. package/dist/application/latest-sink.d.ts.map +1 -1
  13. package/dist/application-opentelemetry.js +2 -1
  14. package/dist/application.js +4 -4
  15. package/dist/{index-6s7n2v50.js → index-64ew0vnj.js} +15 -10
  16. package/dist/{index-a59da114.js → index-7z1h3kbr.js} +61 -15
  17. package/dist/{index-1dd82z59.js → index-pq7ak4k8.js} +3 -3
  18. package/dist/internal/observability-sink.d.ts +49 -2
  19. package/dist/internal/observability-sink.d.ts.map +1 -1
  20. package/dist/internal/upgrade-plan.d.ts +18 -0
  21. package/dist/internal/upgrade-plan.d.ts.map +1 -0
  22. package/dist/observability/audit.d.ts +20 -4
  23. package/dist/observability/audit.d.ts.map +1 -1
  24. package/dist/observability/index.d.ts +1 -1
  25. package/dist/observability/index.d.ts.map +1 -1
  26. package/dist/observability/index.js +30 -15
  27. package/dist/observability/status.d.ts +1 -0
  28. package/dist/observability/status.d.ts.map +1 -1
  29. package/dist/release/socket.d.ts +14 -1
  30. package/dist/release/socket.d.ts.map +1 -1
  31. package/dist/tracking/contract.d.ts +11 -0
  32. package/dist/tracking/contract.d.ts.map +1 -1
  33. package/dist/tracking-server.d.ts +1 -0
  34. package/dist/tracking-server.d.ts.map +1 -1
  35. package/dist/tracking.js +1 -0
  36. package/dist/upgrade-cli.d.ts +27 -0
  37. package/dist/upgrade-cli.d.ts.map +1 -0
  38. package/dist/upgrade-cli.js +177 -0
  39. package/llms-full.txt +185 -17
  40. package/package.json +6 -2
package/README.md CHANGED
@@ -506,6 +506,10 @@ The full guide and API reference, in [`docs/`](./docs/README.md):
506
506
  [multi-tenant](./docs/guide/multi-tenant.md) ·
507
507
  [upgrading](./docs/guide/upgrading.md)
508
508
  - **[API reference](./docs/api/reference.md)** — every export, by entrypoint.
509
+ - **Moving to a newer version?** Run `bunx stitchkit@latest upgrade` inside your
510
+ project. It reads the version you have from `node_modules` and the changelog
511
+ from inside the package, and prints every breaking change between the two —
512
+ oldest first, each with who must act. Nothing to clone, nobody to ask.
509
513
  - **Coding agent?** The package ships **`llms.txt`** (a curated index) and
510
514
  **`llms-full.txt`** (the whole guide inlined) — your agent reads them from
511
515
  `node_modules/stitchkit/`. For Claude Code, the repo also provides a
@@ -1,3 +1,4 @@
1
+ import { type ObservabilityDrainBound } from '../internal/observability-sink.js';
1
2
  import type { ObservabilitySinkStatus } from '../observability/status.js';
2
3
  import { type AgentRuntimeEvent, type AgentRuntimePublisher } from './event-schema.js';
3
4
  export * from './event-schema.js';
@@ -17,9 +18,15 @@ export interface AgentRuntimeEventSinkConfig {
17
18
  }
18
19
  export interface AgentRuntimeEventSink {
19
20
  publish: AgentRuntimePublisher;
20
- flush(): Promise<void>;
21
+ /** Whether the generation admitted before this call settled inside the bound. */
22
+ flush(bound?: ObservabilityDrainBound): Promise<boolean>;
21
23
  getStatus(): ObservabilitySinkStatus;
22
- close(): Promise<ObservabilitySinkStatus>;
24
+ /**
25
+ * Stop admission and drain. Bounded the same way as every other drain here:
26
+ * without a bound it waits however long the sink takes, which is what used to
27
+ * consume an entire application shutdown budget when a write never settled.
28
+ */
29
+ close(bound?: ObservabilityDrainBound): Promise<ObservabilitySinkStatus>;
23
30
  }
24
31
  /** Bounded, failure-isolated transport-neutral delivery lifecycle. */
25
32
  export declare function createAgentRuntimeEventSink(config: AgentRuntimeEventSinkConfig): AgentRuntimeEventSink;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/events.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AAExB,cAAc,gBAAgB,CAAC;AAE/B,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,CAAC,CAAC,KAAK,EAAE;QACb,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;QAC9B,KAAK,EAAE,iBAAiB,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,IAAI,uBAAuB,CAAC;IACrC,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC3C;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,2BAA2B,GAClC,qBAAqB,CAiBvB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,qBAAqB,EAC3B,MAAM,gBAAgB,CAAC;AAExB,cAAc,gBAAgB,CAAC;AAE/B,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,MAAM,CAAC,CAAC,KAAK,EAAE;QACb,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;QAC9B,KAAK,EAAE,iBAAiB,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,iFAAiF;IACjF,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,SAAS,IAAI,uBAAuB,CAAC;IACrC;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC1E;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,2BAA2B,GAClC,qBAAqB,CAiBvB"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { type ObservabilityDrainBound } from '../internal/observability-sink.js';
2
3
  import type { ObservabilitySinkStatus } from '../observability/status.js';
3
4
  export declare const AgentRunStartedEventSchema: z.ZodObject<{
4
5
  schemaVersion: z.ZodLiteral<1>;
@@ -448,9 +449,15 @@ export interface AgentObservability {
448
449
  parentSpanId?: string;
449
450
  };
450
451
  emit(event: AgentRunEvent): void;
451
- flush(): Promise<void>;
452
+ /** Whether the generation admitted before this call settled inside the bound. */
453
+ flush(bound?: ObservabilityDrainBound): Promise<boolean>;
452
454
  getStatus(): ObservabilitySinkStatus;
453
- close(): Promise<ObservabilitySinkStatus>;
455
+ /**
456
+ * Stop admission and drain. Bounded the same way as every other drain here:
457
+ * without a bound it waits however long the sink takes, which is what used to
458
+ * consume an entire application shutdown budget when a write never settled.
459
+ */
460
+ close(bound?: ObservabilityDrainBound): Promise<ObservabilitySinkStatus>;
454
461
  }
455
462
  export declare function createAgentObservability(config: AgentRunSinkConfig): AgentObservability;
456
463
  //# sourceMappingURL=observability.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/observability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AA2BvE,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMvC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBtC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAI9B,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG;QACvD,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,IAAI,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,IAAI,uBAAuB,CAAC;IACrC,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC3C;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,kBAAkB,CAkDvF"}
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../../src/agent-runtime/observability.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@ import {
2
2
  composeAgentPrompt,
3
3
  createAgentRuntime,
4
4
  createAgentRuntimeEventSink
5
- } from "./index-1dd82z59.js";
5
+ } from "./index-pq7ak4k8.js";
6
6
  import {
7
7
  AgentModelDescriptorSchema
8
8
  } from "./index-tg3m2ec5.js";
9
9
  import"./index-y2s6h5bf.js";
10
- import"./index-a59da114.js";
10
+ import"./index-7z1h3kbr.js";
11
11
  import {
12
12
  walkContainedFiles
13
13
  } from "./index-rqpdar1e.js";
@@ -48,7 +48,7 @@ import {
48
48
  registerDeferredToolRepair,
49
49
  repairedSearchCall,
50
50
  selectAgentHistory
51
- } from "./index-1dd82z59.js";
51
+ } from "./index-pq7ak4k8.js";
52
52
  import {
53
53
  AgentModelCapabilitySchema,
54
54
  AgentModelCatalogEntrySchema,
@@ -72,7 +72,7 @@ import {
72
72
  } from "./index-y2s6h5bf.js";
73
73
  import {
74
74
  createBoundedSinkManager
75
- } from "./index-a59da114.js";
75
+ } from "./index-7z1h3kbr.js";
76
76
  import {
77
77
  AgentAdmissionEventSchema,
78
78
  AgentCheckpointEventSchema,
@@ -688,9 +688,9 @@ function createAgentObservability(config) {
688
688
  return AgentRunTerminalEventSchema.omit({ internalCause: true }).parse(parsed);
689
689
  });
690
690
  },
691
- flush: () => manager.flush(),
691
+ flush: (bound) => manager.flush(bound),
692
692
  getStatus: () => manager.getStatus(),
693
- close: () => manager.close()
693
+ close: (bound) => manager.close(bound)
694
694
  };
695
695
  }
696
696
  // src/agent-runtime/protocol.ts
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { type ObservabilityDrainBound } from '../internal/observability-sink.js';
2
3
  import type { ObservabilitySinkStatus } from '../observability/status.js';
3
4
  import { type ApplicationSnapshot } from './schemas.js';
4
5
  export declare const ApplicationLifecycleEventSchema: z.ZodReadonly<z.ZodObject<{
@@ -56,9 +57,15 @@ export interface ApplicationEventSinkConfig {
56
57
  }
57
58
  export interface ApplicationEventSink {
58
59
  publish(snapshot: ApplicationSnapshot): void;
59
- flush(): Promise<void>;
60
+ /** Whether the generation admitted before this call settled inside the bound. */
61
+ flush(bound?: ObservabilityDrainBound): Promise<boolean>;
60
62
  getStatus(): ObservabilitySinkStatus;
61
- close(): Promise<ObservabilitySinkStatus>;
63
+ /**
64
+ * Stop admission and drain. Bounded the same way as every other drain here:
65
+ * without a bound it waits however long the sink takes, which is what used to
66
+ * consume an entire application shutdown budget when a write never settled.
67
+ */
68
+ close(bound?: ObservabilityDrainBound): Promise<ObservabilitySinkStatus>;
62
69
  }
63
70
  /** Failure-isolated operator event delivery; canonical truth remains the absolute snapshot. */
64
71
  export declare function createApplicationEventSink(config: ApplicationEventSinkConfig): ApplicationEventSink;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/application/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAIL,KAAK,mBAAmB,EAEzB,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAa/B,CAAC;AACd,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,GAC5B,yBAAyB,CAY3B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,CAAC,OAAO,EAAE;QACpB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,yBAAyB,CAAC;KACnC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,IAAI,uBAAuB,CAAC;IACrC,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC3C;AAED,+FAA+F;AAC/F,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,0BAA0B,GACjC,oBAAoB,CActB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/application/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAIL,KAAK,mBAAmB,EAEzB,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAa/B,CAAC;AACd,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,mBAAmB,GAC5B,yBAAyB,CAY3B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,CAAC,OAAO,EAAE;QACpB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,yBAAyB,CAAC;KACnC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC7C,iFAAiF;IACjF,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,SAAS,IAAI,uBAAuB,CAAC;IACrC;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC1E;AAED,+FAA+F;AAC/F,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,0BAA0B,GACjC,oBAAoB,CActB"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { type ObservabilityDrainBound } from '../internal/observability-sink.js';
2
3
  export declare const ApplicationSnapshotSinkStatusSchema: z.ZodReadonly<z.ZodObject<{
3
4
  accepting: z.ZodBoolean;
4
5
  received: z.ZodNumber;
@@ -28,8 +29,17 @@ export interface ApplicationSnapshotSink<TSnapshot extends RevisionedApplication
28
29
  /** Admit a newer absolute snapshot. Returns false after close or for a stale revision. */
29
30
  publish(snapshot: TSnapshot): boolean;
30
31
  getStatus(): ApplicationSnapshotSinkStatus;
31
- /** Close admission and deliver the newest snapshot accepted before this boundary. */
32
- close(): Promise<ApplicationSnapshotSinkStatus>;
32
+ /**
33
+ * Close admission and deliver the newest snapshot accepted before this
34
+ * boundary.
35
+ *
36
+ * Bounded like every other drain here. The application-kernel guide puts this
37
+ * call in a cleanup path, which is the same position — and the same failure —
38
+ * as the shutdown that spent its whole budget waiting on a write that never
39
+ * settled. The status is read after the wait ends, so `inFlight` and the
40
+ * queue say what was not delivered.
41
+ */
42
+ close(bound?: ObservabilityDrainBound): Promise<ApplicationSnapshotSinkStatus>;
33
43
  }
34
44
  /**
35
45
  * Deliver absolute state without growing a queue: one write runs while one newer
@@ -1 +1 @@
1
- {"version":3,"file":"latest-sink.d.ts","sourceRoot":"","sources":["../../src/application/latest-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mCAAmC;;;;;;;;;;;;mBAenC,CAAC;AACd,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B,CAAC,SAAS;IACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B,CAC5C,SAAS,SAAS,6BAA6B;IAE/C,KAAK,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,WAAW,CAAC,CAAC,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,uBAAuB,CAAC,SAAS,SAAS,6BAA6B;IACtF,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IACtC,SAAS,IAAI,6BAA6B,CAAC;IAC3C,qFAAqF;IACrF,KAAK,IAAI,OAAO,CAAC,6BAA6B,CAAC,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,SAAS,6BAA6B,EAC3F,MAAM,EAAE,6BAA6B,CAAC,SAAS,CAAC,GAC/C,uBAAuB,CAAC,SAAS,CAAC,CAgHpC"}
1
+ {"version":3,"file":"latest-sink.d.ts","sourceRoot":"","sources":["../../src/application/latest-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,uBAAuB,EAE7B,MAAM,gCAAgC,CAAC;AAKxC,eAAO,MAAM,mCAAmC;;;;;;;;;;;;mBAenC,CAAC;AACd,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,mCAAmC,CAC3C,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B,CAAC,SAAS;IACrD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;CAC9B;AAED,MAAM,WAAW,6BAA6B,CAC5C,SAAS,SAAS,6BAA6B;IAE/C,KAAK,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,WAAW,CAAC,CAAC,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,uBAAuB,CAAC,SAAS,SAAS,6BAA6B;IACtF,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;IACtC,SAAS,IAAI,6BAA6B,CAAC;IAC3C;;;;;;;;;OASG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;CAChF;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,SAAS,6BAA6B,EAC3F,MAAM,EAAE,6BAA6B,CAAC,SAAS,CAAC,GAC/C,uBAAuB,CAAC,SAAS,CAAC,CAoHpC"}
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  ActivitySnapshotSchema,
3
3
  ManagedScheduleStatusSchema
4
- } from "./index-6s7n2v50.js";
4
+ } from "./index-64ew0vnj.js";
5
5
  import {
6
6
  ApplicationSnapshotSchema
7
7
  } from "./index-3gye9wzb.js";
8
+ import"./index-7z1h3kbr.js";
8
9
  import"./index-7gnkny4z.js";
9
10
 
10
11
  // src/application/opentelemetry.ts
@@ -26,7 +26,7 @@ import {
26
26
  createActivityProjection,
27
27
  createApplicationSnapshotSink,
28
28
  createManagedSchedule
29
- } from "./index-6s7n2v50.js";
29
+ } from "./index-64ew0vnj.js";
30
30
  import {
31
31
  DiagnosticJournalCloseResultSchema,
32
32
  DiagnosticJournalFailurePhaseSchema,
@@ -60,7 +60,7 @@ import {
60
60
  import"./index-3z73fh2c.js";
61
61
  import {
62
62
  createBoundedSinkManager
63
- } from "./index-a59da114.js";
63
+ } from "./index-7z1h3kbr.js";
64
64
  import {
65
65
  backoffDelay,
66
66
  createBackoff
@@ -576,9 +576,9 @@ function createApplicationEventSink(config) {
576
576
  publish(snapshot) {
577
577
  manager.submit(() => applicationLifecycleEvent(snapshot));
578
578
  },
579
- flush: () => manager.flush(),
579
+ flush: (bound) => manager.flush(bound),
580
580
  getStatus: () => manager.getStatus(),
581
- close: () => manager.close()
581
+ close: (bound) => manager.close(bound)
582
582
  };
583
583
  }
584
584
  // src/application/health.ts
@@ -1,6 +1,10 @@
1
1
  import {
2
2
  ApplicationIdSchema
3
3
  } from "./index-3gye9wzb.js";
4
+ import {
5
+ assertDrainBound,
6
+ withinBound
7
+ } from "./index-7z1h3kbr.js";
4
8
  import {
5
9
  createBoundedChannel
6
10
  } from "./index-7gnkny4z.js";
@@ -111,16 +115,17 @@ function createApplicationSnapshotSink(config) {
111
115
  return true;
112
116
  },
113
117
  getStatus,
114
- close() {
115
- if (closePromise)
116
- return closePromise;
117
- accepting = false;
118
- pending.close({ mode: "drain" });
119
- closePromise = new Promise((resolve) => {
120
- resolveClose = resolve;
121
- settleCloseIfIdle();
122
- });
123
- return closePromise;
118
+ close(bound) {
119
+ assertDrainBound(bound);
120
+ if (!closePromise) {
121
+ accepting = false;
122
+ pending.close({ mode: "drain" });
123
+ closePromise = new Promise((resolve) => {
124
+ resolveClose = resolve;
125
+ settleCloseIfIdle();
126
+ });
127
+ }
128
+ return withinBound(closePromise, bound).then(() => getStatus());
124
129
  }
125
130
  };
126
131
  }
@@ -21,7 +21,8 @@ var ObservabilityStatusObjectSchema = z.object({
21
21
  });
22
22
  var ObservabilityStatusSchema = ObservabilityStatusObjectSchema.readonly();
23
23
  var ObservabilityDrainReportSchema = ObservabilityStatusObjectSchema.extend({
24
- durationMs: z.number().nonnegative()
24
+ durationMs: z.number().nonnegative(),
25
+ drained: z.boolean()
25
26
  }).readonly();
26
27
  var SUMMED_STATUS_KEYS = [
27
28
  "capacity",
@@ -56,6 +57,43 @@ function aggregateObservabilityStatus(surfaces, closed) {
56
57
  }
57
58
 
58
59
  // src/internal/observability-sink.ts
60
+ function assertDrainBound(bound) {
61
+ const timeoutMs = bound?.timeoutMs;
62
+ if (timeoutMs === undefined)
63
+ return;
64
+ if (!Number.isFinite(timeoutMs) || timeoutMs < 0) {
65
+ throw new TypeError("Observability drain timeoutMs must be a non-negative finite number");
66
+ }
67
+ }
68
+ function withinBound(work, bound) {
69
+ assertDrainBound(bound);
70
+ const { timeoutMs, signal } = bound ?? {};
71
+ if (timeoutMs === undefined && !signal)
72
+ return work.then(() => true);
73
+ let timer;
74
+ let onAbort;
75
+ const reached = new Promise((resolve) => {
76
+ const give = () => resolve(false);
77
+ if (signal?.aborted) {
78
+ give();
79
+ return;
80
+ }
81
+ if (signal) {
82
+ onAbort = give;
83
+ signal.addEventListener("abort", onAbort, { once: true });
84
+ }
85
+ if (timeoutMs !== undefined) {
86
+ timer = setTimeout(give, timeoutMs);
87
+ timer.unref?.();
88
+ }
89
+ });
90
+ return Promise.race([work.then(() => true), reached]).finally(() => {
91
+ if (timer !== undefined)
92
+ clearTimeout(timer);
93
+ if (onAbort && signal)
94
+ signal.removeEventListener("abort", onAbort);
95
+ });
96
+ }
59
97
  var DEFAULT_MAX_PENDING = 1000;
60
98
  function invokeIsolated(callback) {
61
99
  if (!callback)
@@ -76,7 +114,7 @@ function createBoundedSinkManager(config) {
76
114
  let dropped = 0;
77
115
  let failed = 0;
78
116
  let preparationFailed = 0;
79
- let closePromise;
117
+ let drain;
80
118
  const preparing = new Map;
81
119
  const writes = new Map;
82
120
  const reportError = (error, event) => {
@@ -102,12 +140,16 @@ function createBoundedSinkManager(config) {
102
140
  return;
103
141
  }
104
142
  accepted += 1;
105
- const write = Promise.resolve().then(() => config.write(event)).then(() => {
143
+ const settle = (record) => {
144
+ record();
145
+ writes.delete(id);
146
+ };
147
+ const write = Promise.resolve().then(() => config.write(event)).then(() => settle(() => {
106
148
  completed += 1;
107
- }).catch((error) => {
149
+ }), (error) => settle(() => {
108
150
  failed += 1;
109
151
  reportError(error, event);
110
- }).finally(() => writes.delete(id));
152
+ }));
111
153
  writes.set(id, write);
112
154
  };
113
155
  const awaitGeneration = async (boundary) => {
@@ -129,22 +171,26 @@ function createBoundedSinkManager(config) {
129
171
  });
130
172
  return;
131
173
  }
132
- const preparation = Promise.resolve().then(produce).then((event) => admit(id, event)).catch((error) => {
174
+ const preparation = Promise.resolve().then(produce).then((event) => {
175
+ preparing.delete(id);
176
+ admit(id, event);
177
+ }, (error) => {
178
+ preparing.delete(id);
133
179
  preparationFailed += 1;
134
180
  reportError(error);
135
- }).finally(() => preparing.delete(id));
181
+ });
136
182
  preparing.set(id, preparation);
137
183
  },
138
- flush() {
139
- return awaitGeneration(sequence);
184
+ flush(bound) {
185
+ assertDrainBound(bound);
186
+ return withinBound(awaitGeneration(sequence), bound);
140
187
  },
141
188
  getStatus,
142
- close() {
143
- if (closePromise)
144
- return closePromise;
189
+ close(bound) {
190
+ assertDrainBound(bound);
191
+ drain ??= awaitGeneration(sequence);
145
192
  closed = true;
146
- closePromise = awaitGeneration(sequence).then(getStatus);
147
- return closePromise;
193
+ return withinBound(drain, bound).then(getStatus);
148
194
  }
149
195
  };
150
196
  function getStatus() {
@@ -164,4 +210,4 @@ function createBoundedSinkManager(config) {
164
210
  }
165
211
  }
166
212
 
167
- export { ObservabilitySinkStatusSchema, ObservabilityStatusSchema, ObservabilityDrainReportSchema, aggregateObservabilityStatus, createBoundedSinkManager };
213
+ export { ObservabilitySinkStatusSchema, ObservabilityStatusSchema, ObservabilityDrainReportSchema, aggregateObservabilityStatus, assertDrainBound, withinBound, createBoundedSinkManager };
@@ -8,7 +8,7 @@ import {
8
8
  } from "./index-y2s6h5bf.js";
9
9
  import {
10
10
  createBoundedSinkManager
11
- } from "./index-a59da114.js";
11
+ } from "./index-7z1h3kbr.js";
12
12
  import {
13
13
  AgentRuntimeEventSchema,
14
14
  agentDurableEventId
@@ -201,9 +201,9 @@ function createAgentRuntimeEventSink(config) {
201
201
  if (projected)
202
202
  manager.submit(() => AgentRuntimeEventSchema.parse(projected));
203
203
  },
204
- flush: () => manager.flush(),
204
+ flush: (bound) => manager.flush(bound),
205
205
  getStatus: () => manager.getStatus(),
206
- close: () => manager.close()
206
+ close: (bound) => manager.close(bound)
207
207
  };
208
208
  }
209
209
 
@@ -16,11 +16,58 @@ export interface BoundedSinkConfig<EVENT> {
16
16
  onSinkError?(failure: BoundedSinkError<EVENT>): void | Promise<void>;
17
17
  onDrop?(drop: BoundedSinkDrop<EVENT>): void | Promise<void>;
18
18
  }
19
+ /**
20
+ * A caller's limit on how long a drain may WAIT.
21
+ *
22
+ * Unbounded, a drain waits for every accepted event however long the sink
23
+ * takes — correct when the sink is healthy, fatal when it is not. One write
24
+ * that never settles, a database that has stopped answering, held `close()`
25
+ * forever; an application whose shutdown graph gives every other step a
26
+ * deadline then spent its whole budget here and exited by force. A drain that
27
+ * cannot be bounded cannot take part in a shutdown budget: it either fits, or
28
+ * it cancels the budget.
29
+ *
30
+ * The bound ends the WAITING, not the writes: a sink's `write` is handed no
31
+ * cancellation, so an outstanding one keeps running against whatever the caller
32
+ * closes next. And it is a bound on waiting for I/O, not on wall time — no
33
+ * bound can preempt a `write` that occupies the event loop.
34
+ */
35
+ export interface ObservabilityDrainBound {
36
+ /** Give up waiting after this many milliseconds. */
37
+ timeoutMs?: number;
38
+ /** Give up waiting when this signal aborts. */
39
+ signal?: AbortSignal;
40
+ }
41
+ /**
42
+ * Refuse a nonsensical bound BEFORE anything is mutated, so a call that throws
43
+ * has no effect — admission stays open rather than half-closed.
44
+ */
45
+ export declare function assertDrainBound(bound: ObservabilityDrainBound | undefined): void;
46
+ /**
47
+ * Wait for `work`, but not past `bound`. Resolves `true` when the work settled
48
+ * first, `false` when the bound did.
49
+ *
50
+ * Composed by hand rather than with `AbortSignal.any`, because the composite it
51
+ * returns registers itself on the caller's signal and is never released: on Bun
52
+ * that is a dependent leaked per drain against a process-lifetime signal, and
53
+ * `flush({ signal })` per batch is exactly the shape that accumulates them.
54
+ * A listener and a timer, both disposed here, cost nothing and leave nothing.
55
+ *
56
+ * The timer is unref'd: a drain bound must never be the thing keeping a process
57
+ * alive when the whole point is shutting down.
58
+ */
59
+ export declare function withinBound(work: Promise<unknown>, bound: ObservabilityDrainBound | undefined): Promise<boolean>;
19
60
  export interface BoundedSinkManager<EVENT> {
20
61
  submit(produce: () => EVENT | Promise<EVENT>): void;
21
- flush(): Promise<void>;
62
+ /** Whether the generation admitted before this call settled inside the bound. */
63
+ flush(bound?: ObservabilityDrainBound): Promise<boolean>;
22
64
  getStatus(): ObservabilitySinkStatus;
23
- close(): Promise<ObservabilitySinkStatus>;
65
+ /**
66
+ * Stop admission and drain. The status is read AFTER the wait ends, so
67
+ * `pending` and `preparing` say what the sink had not written — including
68
+ * when the bound ended the wait early.
69
+ */
70
+ close(bound?: ObservabilityDrainBound): Promise<ObservabilitySinkStatus>;
24
71
  }
25
72
  export declare function createBoundedSinkManager<EVENT>(config: BoundedSinkConfig<EVENT>): BoundedSinkManager<EVENT>;
26
73
  //# sourceMappingURL=observability-sink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability-sink.d.ts","sourceRoot":"","sources":["../../src/internal/observability-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,gBAAgB,CAAC,KAAK;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,SAAS,IAAI,uBAAuB,CAAC;IACrC,KAAK,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC3C;AAaD,wBAAgB,wBAAwB,CAAC,KAAK,EAC5C,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAC/B,kBAAkB,CAAC,KAAK,CAAC,CA8H3B"}
1
+ {"version":3,"file":"observability-sink.d.ts","sourceRoot":"","sources":["../../src/internal/observability-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,gBAAgB,CAAC,KAAK;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACtC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,uBAAuB;IACtC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI,CAMjF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,KAAK,EAAE,uBAAuB,GAAG,SAAS,GACzC,OAAO,CAAC,OAAO,CAAC,CA8BlB;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACvC,MAAM,CAAC,OAAO,EAAE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACpD,iFAAiF;IACjF,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,SAAS,IAAI,uBAAuB,CAAC;IACrC;;;;OAIG;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAC1E;AAaD,wBAAgB,wBAAwB,CAAC,KAAK,EAC5C,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,GAC/B,kBAAkB,CAAC,KAAK,CAAC,CAuJ3B"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The consumer upgrade plan: every `### ⚠️ Breaking changes` section an
3
+ * installed → target range crosses, oldest first.
4
+ *
5
+ * Pure over the changelog text. The reader is `stitchkit upgrade`, the binary
6
+ * this package installs; the changelog it reads ships in the package, so a
7
+ * consumer recovers the plan without cloning the repository or being told the
8
+ * range by whoever cut the release.
9
+ */
10
+ export interface UpgradeBreakingChange {
11
+ version: string;
12
+ whoMustAct: string;
13
+ markdown: string;
14
+ }
15
+ /** Extract every breaking section crossed by an exact `from` (exclusive) → `to` (inclusive) upgrade. */
16
+ export declare function planUpgrade(changelog: string, from: string, to: string): UpgradeBreakingChange[];
17
+ export declare function renderUpgradePlan(changes: readonly UpgradeBreakingChange[], from: string, to: string): string;
18
+ //# sourceMappingURL=upgrade-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgrade-plan.d.ts","sourceRoot":"","sources":["../../src/internal/upgrade-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAsBD,wGAAwG;AACxG,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,qBAAqB,EAAE,CAgCzB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,qBAAqB,EAAE,EACzC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,MAAM,CASR"}
@@ -4,6 +4,7 @@
4
4
  * Both are normalised into `RequestEvent` without nested fetch wrappers.
5
5
  */
6
6
  import type { RuntimeContext } from '../contract/index.js';
7
+ import { type ObservabilityDrainBound } from '../internal/observability-sink.js';
7
8
  import type { MethodDef } from '../server/types.js';
8
9
  import type { ToolCallHooks } from '../tools/execute.js';
9
10
  import { type DimensionCollision, type RequestContext } from './context.js';
@@ -66,13 +67,28 @@ export interface HttpRequestObserver {
66
67
  export interface Observability {
67
68
  request?: HttpRequestObserver;
68
69
  toolCall: ToolCallHooks;
69
- /** Wait for events admitted before this call. */
70
- flush(): Promise<void>;
70
+ /**
71
+ * Wait for events admitted before this call; `true` when they settled inside
72
+ * the bound.
73
+ *
74
+ * The outcome is RETURNED rather than left to `getStatus()`, which cannot
75
+ * answer it: flush waits on the generation admitted before this call, while
76
+ * the status counts everything alive right now — so a nonzero `pending` after
77
+ * a complete flush and after an expired one look identical.
78
+ */
79
+ flush(bound?: ObservabilityDrainBound): Promise<boolean>;
71
80
  /** Read an immutable snapshot of each enabled sink and their aggregate. */
72
81
  getStatus(): ObservabilityStatus;
73
- /** Stop admission and drain every previously accepted event. Idempotent. */
74
- close(): Promise<ObservabilityDrainReport>;
82
+ /**
83
+ * Stop admission and drain every previously accepted event. Idempotent.
84
+ *
85
+ * With a bound, returns a report rather than waiting past it; `drained` says
86
+ * which happened. The drain itself is started once and shared, so a second
87
+ * call with a shorter bound observes the same drain under its own limit.
88
+ */
89
+ close(bound?: ObservabilityDrainBound): Promise<ObservabilityDrainReport>;
75
90
  }
91
+ export type { ObservabilityDrainBound };
76
92
  export type ProjectedDimensions = Readonly<Record<string, string | undefined>>;
77
93
  /** Typed, explicit attribution rules composed into an application's hooks. */
78
94
  export interface DimensionsProjectorConfig<TContext extends RuntimeContext, TResult> {
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/observability/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/observability/audit.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  * framework-owned HTTP completion plus canonical tool hooks into independent
7
7
  * sinks.
8
8
  */
9
- export { createDimensionsProjector, createObservability, type DimensionsProjector, type DimensionsProjectorConfig, type HttpRequestCompletion, type HttpRequestObserver, type Observability, type ObservabilityConfig, type ProjectedDimensions, type RequestEventSinkConfig, type RequestObservabilityConfig, type SinkDrop, type SinkDropReason, type SinkError, } from './audit.js';
9
+ export { createDimensionsProjector, createObservability, type DimensionsProjector, type DimensionsProjectorConfig, type HttpRequestCompletion, type HttpRequestObserver, type Observability, type ObservabilityConfig, type ObservabilityDrainBound, type ProjectedDimensions, type RequestEventSinkConfig, type RequestObservabilityConfig, type SinkDrop, type SinkDropReason, type SinkError, } from './audit.js';
10
10
  export { type BoundedLoggerBounds, type BoundedLoggerOptions, createBoundedLogger, DEFAULT_REDACT_PATHS, } from './bounded-logger.js';
11
11
  export { type DimensionCollision, getRequestContext, getTraceId, getUserId, type RequestContext, runWithRequestContext, type SetRequestDimensionsOptions, setRequestDimensions, setRequestEndpoint, setRequestError, setRequestUser, type WrapRequestContextOptions, wrapInRequestContext, } from './context.js';
12
12
  export type { RequestEvent } from './event.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,KAAK,yBAAyB,EAC9B,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EACL,KAAK,SAAS,EACd,WAAW,EACX,MAAM,EACN,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,KAAK,yBAAyB,EAC9B,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EACL,KAAK,SAAS,EACd,WAAW,EACX,MAAM,EACN,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,eAAe,EACf,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC"}