stitchkit 0.100.1 → 0.100.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.
- package/CHANGELOG.md +13 -0
- package/dist/application/process-lifecycle-transitions.d.ts +13 -2
- package/dist/application/process-lifecycle-transitions.d.ts.map +1 -1
- package/dist/application/process-lifecycle.d.ts +2 -1
- package/dist/application/process-lifecycle.d.ts.map +1 -1
- package/dist/entrypoints/application.d.ts +1 -1
- package/dist/entrypoints/application.d.ts.map +1 -1
- package/dist/entrypoints/application.js +10 -4
- package/llms/application.2.txt +26 -1
- package/llms/application.txt +18 -27
- package/llms-full.txt +19 -3
- package/llms.txt +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -15,6 +15,19 @@ additive**; the first breaking change landed in 0.10.0. Grep the file for
|
|
|
15
15
|
|
|
16
16
|
## [Unreleased]
|
|
17
17
|
|
|
18
|
+
## [0.100.2] — 2026-09-28
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- `stitchkit/application` — `versionChangeOverlap: 'abnormal'` on
|
|
23
|
+
`createProcessLifecycleLedger` (and `TransitionStartInput`) declares that
|
|
24
|
+
builds never overlap: one process per deployment, the old one stopped before
|
|
25
|
+
the new one starts. An open predecessor of another build is then a crash —
|
|
26
|
+
`previousExit: 'abnormal'` (or `startup-failed`), closed at the new start,
|
|
27
|
+
`ReadyFact.downtimeMs: null` instead of `0` — while `previousVersion` and
|
|
28
|
+
`versionChanged` still describe the release. The default stays `handoff`;
|
|
29
|
+
the type is `VersionChangeOverlap`.
|
|
30
|
+
|
|
18
31
|
## [0.100.1] — 2026-09-28
|
|
19
32
|
|
|
20
33
|
### Fixed
|
|
@@ -144,10 +144,20 @@ export declare function normalizeLifecycleState(state: LifecycleState | null, re
|
|
|
144
144
|
* without recording its exit — one process per deployment, a restart after a
|
|
145
145
|
* kill. `handoff`: processes of one build overlap on purpose (a cluster, a
|
|
146
146
|
* zero-downtime reload of the same build), so every open run stays open and
|
|
147
|
-
* records its own shutdown later. A
|
|
148
|
-
*
|
|
147
|
+
* records its own shutdown later. A version of `unknown` on either side is
|
|
148
|
+
* never a version change.
|
|
149
149
|
*/
|
|
150
150
|
export type SameVersionOverlap = 'abnormal' | 'handoff';
|
|
151
|
+
/**
|
|
152
|
+
* What a start means when the newest run is still open under another pid
|
|
153
|
+
* **and a different version**. `handoff` (default): a release starts the new
|
|
154
|
+
* build before the old one stops, so the predecessor stays open and records
|
|
155
|
+
* its own shutdown. `abnormal`: builds never overlap — one process per
|
|
156
|
+
* deployment, the old one is stopped before the new one starts — so an open
|
|
157
|
+
* predecessor of another build died without recording its exit, most often
|
|
158
|
+
* killed during the release itself.
|
|
159
|
+
*/
|
|
160
|
+
export type VersionChangeOverlap = 'abnormal' | 'handoff';
|
|
151
161
|
export interface TransitionStartInput {
|
|
152
162
|
readonly runId: string;
|
|
153
163
|
readonly pid: number;
|
|
@@ -155,6 +165,7 @@ export interface TransitionStartInput {
|
|
|
155
165
|
readonly now: string;
|
|
156
166
|
readonly retain?: number;
|
|
157
167
|
readonly sameVersionOverlap?: SameVersionOverlap;
|
|
168
|
+
readonly versionChangeOverlap?: VersionChangeOverlap;
|
|
158
169
|
}
|
|
159
170
|
/** Apply one process start without touching persistence or application events. */
|
|
160
171
|
export declare function transitionProcessStart(source: LifecycleState | null, input: TransitionStartInput): LifecycleTransition<StartFact>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-lifecycle-transitions.d.ts","sourceRoot":"","sources":["../../src/application/process-lifecycle-transitions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"process-lifecycle-transitions.d.ts","sourceRoot":"","sources":["../../src/application/process-lifecycle-transitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;EAQrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;kBAiBpB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;kBAKtB,CAAC;AACZ,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,eAAO,MAAM,kBAAkB;;;;;;;;EAQ7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iEAAiE;IACjE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,gBAAgB,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;AAEvF,MAAM,WAAW,mBAAmB,CAAC,KAAK,SAAS,oBAAoB;IACrE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;CACtB;AAOD,eAAO,MAAM,SAAS,QAAS,YAAY,KAAG,OACkB,CAAC;AAEjE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,MAAM,EAAE,MAAM,GACb,cAAc,CAQhB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AAExD;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CACtD;AA2DD,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,KAAK,EAAE,oBAAoB,GAC1B,mBAAmB,CAAC,SAAS,CAAC,CA+ChC;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAgCD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,SAAS,CAAC,CAoChC;AAED,0EAA0E;AAC1E,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,KAAK,EAAE,kBAAkB,GACxB,mBAAmB,CAAC,YAAY,CAAC,CAiCnC;AAED,MAAM,WAAW,uBAAwB,SAAQ,kBAAkB;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,KAAK,EAAE,uBAAuB,GAC7B,mBAAmB,CAAC,YAAY,CAAC,CAwCnC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type DrainingFact, type LifecycleRun, type LifecycleState, type ProcessLifecycleFact, type ReadyFact, type SameVersionOverlap, type ShutdownFact, type StartFact } from './process-lifecycle-transitions.js';
|
|
1
|
+
import { type DrainingFact, type LifecycleRun, type LifecycleState, type ProcessLifecycleFact, type ReadyFact, type SameVersionOverlap, type ShutdownFact, type StartFact, type VersionChangeOverlap } from './process-lifecycle-transitions.js';
|
|
2
2
|
import { type ManagedResource } from './resource.js';
|
|
3
3
|
import type { StateStore } from './state-store.js';
|
|
4
4
|
export interface ProcessLifecycleLedger {
|
|
@@ -22,6 +22,7 @@ export interface ProcessLifecycleLedgerConfig {
|
|
|
22
22
|
readonly retain?: number;
|
|
23
23
|
readonly runId?: string | (() => string);
|
|
24
24
|
readonly sameVersionOverlap?: SameVersionOverlap;
|
|
25
|
+
readonly versionChangeOverlap?: VersionChangeOverlap;
|
|
25
26
|
readonly onSubscriberError?: (error: unknown, fact: ProcessLifecycleFact) => void | Promise<void>;
|
|
26
27
|
}
|
|
27
28
|
export declare function createProcessLifecycleLedger(config: ProcessLifecycleLedgerConfig): ProcessLifecycleLedger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../src/application/process-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../src/application/process-lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEnB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,EAKd,KAAK,oBAAoB,EAC1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAClC,kEAAkE;IAClE,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,cAAc,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7E,OAAO,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,IAAI,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IACzC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CACvF;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IACrD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAC3B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,oBAAoB,KACvB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,4BAA4B,GACnC,sBAAsB,CAuGxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,uBAAwB,SAAQ,eAAe;IAC9D,KAAK,IAAI,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,sBAAsB,EAC9B,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CAsCzB"}
|
|
@@ -14,7 +14,7 @@ export { type ApplicationSnapshotSink, type ApplicationSnapshotSinkConfig, type
|
|
|
14
14
|
export { type NotificationDeliveryConfig, type NotificationDeliveryState, NotificationDeliveryStateSchema, NotificationPlanVersionError, type NotificationProjection, } from '../application/notification-delivery.js';
|
|
15
15
|
export { createNotificationOutbox, type DroppedNotification, type EnqueueNotification, type NotificationFailureClassification, type NotificationOutbox, type NotificationOutboxConfig, type NotificationOutboxItem, type NotificationOutboxReceipt, type NotificationOutboxResource, type NotificationOutboxResourceConfig, type NotificationOutboxState, type NotificationSend, notificationOutboxResource, notificationOutboxStateSchema, } from '../application/notification-outbox.js';
|
|
16
16
|
export { createProcessLifecycleLedger, type LifecycleLedgerResource, type LifecycleLedgerResourceConfig, lifecycleLedgerResource, type ProcessLifecycleLedger, type ProcessLifecycleLedgerConfig, } from '../application/process-lifecycle.js';
|
|
17
|
-
export { type DrainingFact, type LifecycleRun, LifecycleRunSchema, type LifecycleState, LifecycleStateSchema, type LifecycleTermination, LifecycleTerminationSchema, type LifecycleTransition, type PreviousExit, PreviousExitSchema, type ProcessLifecycleFact, type ReadyFact, type SameVersionOverlap, type ShutdownFact, type StartFact, type TransitionRunInput, type TransitionShutdownInput, type TransitionStartInput, transitionProcessDraining, transitionProcessReady, transitionProcessShutdown, transitionProcessStart, } from '../application/process-lifecycle-transitions.js';
|
|
17
|
+
export { type DrainingFact, type LifecycleRun, LifecycleRunSchema, type LifecycleState, LifecycleStateSchema, type LifecycleTermination, LifecycleTerminationSchema, type LifecycleTransition, type PreviousExit, PreviousExitSchema, type ProcessLifecycleFact, type ReadyFact, type SameVersionOverlap, type ShutdownFact, type StartFact, type TransitionRunInput, type TransitionShutdownInput, type TransitionStartInput, transitionProcessDraining, transitionProcessReady, transitionProcessShutdown, transitionProcessStart, type VersionChangeOverlap, } from '../application/process-lifecycle-transitions.js';
|
|
18
18
|
export { defineManagedResource, type ManagedResource, type ManagedResourceAdmission, type ManagedResourceContext, type ManagedResourceDependency, type ManagedResourcePublished, type ManagedResourcePublishesNoValue, type ManagedResourceStartResult, managedResourceDependencyId, } from '../application/resource.js';
|
|
19
19
|
export { createRevisionSignal, type RevisionSignal, type RevisionSignalAdvanceResult, RevisionSignalAdvanceResultSchema, type RevisionSignalClock, type RevisionSignalConfig, type RevisionSignalSnapshot, RevisionSignalSnapshotSchema, type RevisionSignalState, RevisionSignalStateSchema, type RevisionSignalTimer, type RevisionSignalWaitOptions, type RevisionSignalWaitOutcome, RevisionSignalWaitOutcomeSchema, type RevisionSignalWaitResult, RevisionSignalWaitResultSchema, } from '../application/revision-signal.js';
|
|
20
20
|
export { createManagedSchedule, type ManagedSchedule, type ManagedScheduleClock, type ManagedScheduleConfig, type ManagedScheduleDescriptor, ManagedScheduleDescriptorSchema, type ManagedScheduleErrorPolicy, ManagedScheduleErrorPolicySchema, type ManagedScheduleOverlap, ManagedScheduleOverlapSchema, type ManagedScheduleRunContext, type ManagedScheduleStatus, ManagedScheduleStatusSchema, type ManagedScheduleTimer, } from '../application/schedule.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/entrypoints/application.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,aAAa,EAClB,kBAAkB,EAClB,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EAChC,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,0BAA0B,GAC3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,KAAK,cAAc,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,4BAA4B,EACjC,kCAAkC,EAClC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,KAAK,8BAA8B,EACnC,oCAAoC,EACpC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,iCAAiC,EACjC,kCAAkC,GACnC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,yBAAyB,GAC1B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,+BAA+B,EACpC,qCAAqC,EACrC,KAAK,8BAA8B,EACnC,KAAK,qCAAqC,EAC1C,2CAA2C,EAC3C,8BAA8B,EAC9B,oCAAoC,GACrC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC7B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,wBAAwB,EAC7B,8BAA8B,EAC9B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,KAAK,0BAA0B,EAC/B,gCAAgC,GACjC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,2BAA2B,EAChC,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,mCAAmC,EACnC,6BAA6B,EAC7B,KAAK,6BAA6B,GACnC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACxB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iCAAiC,EACtC,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,0BAA0B,EAC1B,6BAA6B,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,4BAA4B,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/entrypoints/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -1613,7 +1613,8 @@ function previousExitOf(previous, run, overlap) {
|
|
|
1613
1613
|
return ended;
|
|
1614
1614
|
if (previous.pid === run.pid)
|
|
1615
1615
|
return "hot-reload";
|
|
1616
|
-
|
|
1616
|
+
const declared = isVersionChange(previous.version, run.version) ? overlap.versionChange : overlap.sameVersion;
|
|
1617
|
+
if (declared === "handoff")
|
|
1617
1618
|
return "handoff";
|
|
1618
1619
|
return previous.readyAt === null ? "startup-failed" : "abnormal";
|
|
1619
1620
|
}
|
|
@@ -1623,7 +1624,8 @@ function closeAbandoned(candidate, previous, previousExit, run, overlap) {
|
|
|
1623
1624
|
const closed = { ...candidate, stoppedAt: run.startedAt };
|
|
1624
1625
|
if (candidate.pid === run.pid)
|
|
1625
1626
|
return { ...closed, termination: "hot-reload" };
|
|
1626
|
-
|
|
1627
|
+
const overlapsThisBuild = overlap.versionChange === "handoff" || !isVersionChange(candidate.version, run.version);
|
|
1628
|
+
if (overlap.sameVersion === "handoff" && overlapsThisBuild)
|
|
1627
1629
|
return candidate;
|
|
1628
1630
|
if (candidate.runId === previous?.runId && previousExit === "handoff")
|
|
1629
1631
|
return candidate;
|
|
@@ -1634,7 +1636,10 @@ function closeAbandoned(candidate, previous, previousExit, run, overlap) {
|
|
|
1634
1636
|
}
|
|
1635
1637
|
function transitionProcessStart(source, input) {
|
|
1636
1638
|
const retain = RetainSchema.parse(input.retain ?? 20);
|
|
1637
|
-
const overlap =
|
|
1639
|
+
const overlap = {
|
|
1640
|
+
sameVersion: input.sameVersionOverlap ?? "abnormal",
|
|
1641
|
+
versionChange: input.versionChangeOverlap ?? "handoff"
|
|
1642
|
+
};
|
|
1638
1643
|
const state = normalizeLifecycleState(source, 1000);
|
|
1639
1644
|
const run = LifecycleRunSchema.parse({
|
|
1640
1645
|
runId: input.runId,
|
|
@@ -1815,7 +1820,8 @@ function createProcessLifecycleLedger(config) {
|
|
|
1815
1820
|
version,
|
|
1816
1821
|
now: clock().toISOString(),
|
|
1817
1822
|
retain,
|
|
1818
|
-
sameVersionOverlap: config.sameVersionOverlap
|
|
1823
|
+
sameVersionOverlap: config.sameVersionOverlap,
|
|
1824
|
+
versionChangeOverlap: config.versionChangeOverlap
|
|
1819
1825
|
});
|
|
1820
1826
|
return { state: transition.state, result: transition.fact };
|
|
1821
1827
|
});
|
package/llms/application.2.txt
CHANGED
|
@@ -11,6 +11,31 @@ Parts of this slice:
|
|
|
11
11
|
# Guide: Managed application kernel (docs/guide/application-kernel.md) (continued)
|
|
12
12
|
==============================================================================
|
|
13
13
|
|
|
14
|
+
## Recovering change subscriptions
|
|
15
|
+
|
|
16
|
+
`changeSubscriptionResource` is an optional resource over a consumer-owned driver.
|
|
17
|
+
It uses a finite declared key set, subscribes before reading, reconciles after
|
|
18
|
+
reconnect and periodically repairs lost hints. `reconcileIntervalMs` is explicit;
|
|
19
|
+
notifications alone cannot prove freshness. Within a key, hints coalesce into one
|
|
20
|
+
trailing read and a failed read retries with backoff. Use the supplied
|
|
21
|
+
`context.commit(() => publish(value))` after awaits to reject an obsolete connection.
|
|
22
|
+
|
|
23
|
+
Drivers implement `connect(signal)` and return `subscribe({ signal, hint,
|
|
24
|
+
disconnected })` plus `close()`. Subscribe must establish the notification boundary
|
|
25
|
+
before resolving. A database LISTEN driver owns its connection, channels, decoding
|
|
26
|
+
and transaction ordering; no SQL or database driver is included here. The resource
|
|
27
|
+
owns reconnect, deadlines and shutdown. Drivers must honor abort. If one ignores it,
|
|
28
|
+
its slot remains occupied until settlement; deadlines cannot safely manufacture
|
|
29
|
+
successful cleanup or permit an overlapping connection.
|
|
30
|
+
|
|
31
|
+
For watched reads, set `reconcileIntervalMs` on the existing `createWatchHub` rather
|
|
32
|
+
than building a second read loop. Its per-key machinery is shared with managed
|
|
33
|
+
subscriptions. Limits default to 1024 sources and 1024 subscribers per hub; set
|
|
34
|
+
explicit finite values for larger workloads. Supply a server-verified admission
|
|
35
|
+
scope to `attach` and abort it on logout, permission revocation or session replacement.
|
|
36
|
+
The read callback receives the trusted scope as its third argument. A client owner
|
|
37
|
+
ID in arguments is not authentication.
|
|
38
|
+
|
|
14
39
|
## Multi-action notification delivery
|
|
15
40
|
|
|
16
41
|
Opt into `delivery: { version, actions, project }` on `createNotificationOutbox`.
|
|
@@ -328,7 +353,7 @@ cutovers are covered by the executable
|
|
|
328
353
|
| `LifecycleRunSchema` / `LifecycleRun` / `LifecycleStateSchema` / `LifecycleState` / `LifecycleTerminationSchema` / `LifecycleTermination` | schema / _type_ | versioned process-run state — open (`active`, `draining` with `unavailableAt`) and ended (`clean`, `forced`, `startup-failed`, `hot-reload`, `abnormal`) |
|
|
329
354
|
| `PreviousExitSchema` / `PreviousExit` / `StartFact` / `ReadyFact` / `DrainingFact` / `ShutdownFact` / `ProcessLifecycleFact` | schema / _type_ | first-boot, hot-reload, clean, forced, startup-failed, handoff and abnormal lifecycle facts; `processGapMs` on start, `downtimeMs` (unavailable → ready) on ready |
|
|
330
355
|
| `transitionProcessStart` / `transitionProcessReady` / `transitionProcessDraining` / `transitionProcessShutdown` | function | pure idempotent runId+pid-owned transitions |
|
|
331
|
-
| `LifecycleTransition` / `TransitionStartInput` / `TransitionRunInput` / `TransitionShutdownInput` / `SameVersionOverlap` | _type_ | pure transition inputs (`TransitionRunInput` for ready and draining, extended with `forced` for shutdown), the same-build overlap policy (`abnormal` default / `handoff`) and state+fact result |
|
|
356
|
+
| `LifecycleTransition` / `TransitionStartInput` / `TransitionRunInput` / `TransitionShutdownInput` / `SameVersionOverlap` / `VersionChangeOverlap` | _type_ | pure transition inputs (`TransitionRunInput` for ready and draining, extended with `forced` for shutdown), the same-build overlap policy (`abnormal` default / `handoff`), the version-change overlap policy (`handoff` default / `abnormal`) and state+fact result |
|
|
332
357
|
| `lifecycleLedgerResource` / `LifecycleLedgerResource` / `LifecycleLedgerResourceConfig` | function / _type_ | managed-resource adapter that records start, readiness, admission stop (draining) and shutdown |
|
|
333
358
|
| `createNotificationOutbox` / `NotificationOutbox` / `NotificationOutboxConfig` | function / _type_ | bounded at-least-once queue with durable claims, leases, retries and supersede |
|
|
334
359
|
| `NotificationOutboxItem` / `NotificationOutboxReceipt` / `NotificationOutboxState` / `NotificationSend` / `NotificationFailureClassification` / `DroppedNotification` / `EnqueueNotification` | _type_ | versioned queue records, stable send identity and delivery decisions |
|
package/llms/application.txt
CHANGED
|
@@ -876,7 +876,8 @@ ever became ready:
|
|
|
876
876
|
| none | — | — | `first-boot` | — |
|
|
877
877
|
| recorded `stoppedAt` | — | — | `clean` / `forced` / `startup-failed` / `abnormal` as recorded | unchanged |
|
|
878
878
|
| still open | yes | — | `hot-reload` | `hot-reload`, closed at the new start |
|
|
879
|
-
| still open | no | changed | `handoff` | stays open; it records its own stop later |
|
|
879
|
+
| still open | no | changed | `handoff` (default) | stays open; it records its own stop later |
|
|
880
|
+
| still open | no | changed, `versionChangeOverlap: 'abnormal'` | `abnormal` / `startup-failed` | closed at the new start, as for the same version |
|
|
880
881
|
| still open, was ready | no | same | `abnormal` (default) | `abnormal`, closed at the new start — an upper bound, the crash time is unknown |
|
|
881
882
|
| still open, never ready | no | same | `startup-failed` (default) | `startup-failed`, closed at the new start |
|
|
882
883
|
|
|
@@ -918,7 +919,22 @@ zero-downtime reload of the same build — pass `sameVersionOverlap: 'handoff'`
|
|
|
918
919
|
to the ledger, and every open run stays open until it records its own
|
|
919
920
|
shutdown. The cost of that setting is symmetric: a real crash under it is
|
|
920
921
|
reported as a handoff and the dead run stays open in the ledger until
|
|
921
|
-
retention drops it.
|
|
922
|
+
retention drops it.
|
|
923
|
+
|
|
924
|
+
A version change is the other axis, and its default is the opposite:
|
|
925
|
+
`handoff`, because a release that starts the new build before stopping the
|
|
926
|
+
old one is the common zero-downtime shape. Where builds never overlap — one
|
|
927
|
+
process per deployment (a pm2 fork, a systemd unit, one container), the old
|
|
928
|
+
one stopped before the new one starts — pass `versionChangeOverlap:
|
|
929
|
+
'abnormal'`. An open predecessor of another build then died without
|
|
930
|
+
recording its exit, most often killed during the release itself: it is closed
|
|
931
|
+
as `abnormal` (or `startup-failed`) at the new start, `downtimeMs` is `null`
|
|
932
|
+
instead of `0`, and `previousVersion` / `versionChanged` still describe the
|
|
933
|
+
release. A predecessor that did record its stop is read as before, and its
|
|
934
|
+
downtime is measured. The two settings compose: `sameVersionOverlap:
|
|
935
|
+
'handoff'` keeps open only the runs of a build allowed to overlap the new one.
|
|
936
|
+
|
|
937
|
+
The list is kept in the order the transitions wrote it —
|
|
922
938
|
every write goes through one atomic update, so that order is the causal one,
|
|
923
939
|
and a successor whose clock lags its predecessor still finds it at the head;
|
|
924
940
|
`startedAt` is data, not the sort key. Retention (`retain`, default 20) drops
|
|
@@ -991,28 +1007,3 @@ so a scheduler stall on a loaded host cannot pull a live lock from under its
|
|
|
991
1007
|
holder — after which the heartbeat wins and the lock is abandoned. Temporary files a crashed writer left beside the state are swept on
|
|
992
1008
|
the store's first update. Ledger corruption may be declared reconstructable;
|
|
993
1009
|
an outbox must fail closed rather than silently discard pending delivery.
|
|
994
|
-
|
|
995
|
-
## Recovering change subscriptions
|
|
996
|
-
|
|
997
|
-
`changeSubscriptionResource` is an optional resource over a consumer-owned driver.
|
|
998
|
-
It uses a finite declared key set, subscribes before reading, reconciles after
|
|
999
|
-
reconnect and periodically repairs lost hints. `reconcileIntervalMs` is explicit;
|
|
1000
|
-
notifications alone cannot prove freshness. Within a key, hints coalesce into one
|
|
1001
|
-
trailing read and a failed read retries with backoff. Use the supplied
|
|
1002
|
-
`context.commit(() => publish(value))` after awaits to reject an obsolete connection.
|
|
1003
|
-
|
|
1004
|
-
Drivers implement `connect(signal)` and return `subscribe({ signal, hint,
|
|
1005
|
-
disconnected })` plus `close()`. Subscribe must establish the notification boundary
|
|
1006
|
-
before resolving. A database LISTEN driver owns its connection, channels, decoding
|
|
1007
|
-
and transaction ordering; no SQL or database driver is included here. The resource
|
|
1008
|
-
owns reconnect, deadlines and shutdown. Drivers must honor abort. If one ignores it,
|
|
1009
|
-
its slot remains occupied until settlement; deadlines cannot safely manufacture
|
|
1010
|
-
successful cleanup or permit an overlapping connection.
|
|
1011
|
-
|
|
1012
|
-
For watched reads, set `reconcileIntervalMs` on the existing `createWatchHub` rather
|
|
1013
|
-
than building a second read loop. Its per-key machinery is shared with managed
|
|
1014
|
-
subscriptions. Limits default to 1024 sources and 1024 subscribers per hub; set
|
|
1015
|
-
explicit finite values for larger workloads. Supply a server-verified admission
|
|
1016
|
-
scope to `attach` and abort it on logout, permission revocation or session replacement.
|
|
1017
|
-
The read callback receives the trusted scope as its third argument. A client owner
|
|
1018
|
-
ID in arguments is not authentication.
|
package/llms-full.txt
CHANGED
|
@@ -7290,7 +7290,8 @@ ever became ready:
|
|
|
7290
7290
|
| none | — | — | `first-boot` | — |
|
|
7291
7291
|
| recorded `stoppedAt` | — | — | `clean` / `forced` / `startup-failed` / `abnormal` as recorded | unchanged |
|
|
7292
7292
|
| still open | yes | — | `hot-reload` | `hot-reload`, closed at the new start |
|
|
7293
|
-
| still open | no | changed | `handoff` | stays open; it records its own stop later |
|
|
7293
|
+
| still open | no | changed | `handoff` (default) | stays open; it records its own stop later |
|
|
7294
|
+
| still open | no | changed, `versionChangeOverlap: 'abnormal'` | `abnormal` / `startup-failed` | closed at the new start, as for the same version |
|
|
7294
7295
|
| still open, was ready | no | same | `abnormal` (default) | `abnormal`, closed at the new start — an upper bound, the crash time is unknown |
|
|
7295
7296
|
| still open, never ready | no | same | `startup-failed` (default) | `startup-failed`, closed at the new start |
|
|
7296
7297
|
|
|
@@ -7332,7 +7333,22 @@ zero-downtime reload of the same build — pass `sameVersionOverlap: 'handoff'`
|
|
|
7332
7333
|
to the ledger, and every open run stays open until it records its own
|
|
7333
7334
|
shutdown. The cost of that setting is symmetric: a real crash under it is
|
|
7334
7335
|
reported as a handoff and the dead run stays open in the ledger until
|
|
7335
|
-
retention drops it.
|
|
7336
|
+
retention drops it.
|
|
7337
|
+
|
|
7338
|
+
A version change is the other axis, and its default is the opposite:
|
|
7339
|
+
`handoff`, because a release that starts the new build before stopping the
|
|
7340
|
+
old one is the common zero-downtime shape. Where builds never overlap — one
|
|
7341
|
+
process per deployment (a pm2 fork, a systemd unit, one container), the old
|
|
7342
|
+
one stopped before the new one starts — pass `versionChangeOverlap:
|
|
7343
|
+
'abnormal'`. An open predecessor of another build then died without
|
|
7344
|
+
recording its exit, most often killed during the release itself: it is closed
|
|
7345
|
+
as `abnormal` (or `startup-failed`) at the new start, `downtimeMs` is `null`
|
|
7346
|
+
instead of `0`, and `previousVersion` / `versionChanged` still describe the
|
|
7347
|
+
release. A predecessor that did record its stop is read as before, and its
|
|
7348
|
+
downtime is measured. The two settings compose: `sameVersionOverlap:
|
|
7349
|
+
'handoff'` keeps open only the runs of a build allowed to overlap the new one.
|
|
7350
|
+
|
|
7351
|
+
The list is kept in the order the transitions wrote it —
|
|
7336
7352
|
every write goes through one atomic update, so that order is the causal one,
|
|
7337
7353
|
and a successor whose clock lags its predecessor still finds it at the head;
|
|
7338
7354
|
`startedAt` is data, not the sort key. Retention (`retain`, default 20) drops
|
|
@@ -17811,7 +17827,7 @@ cutovers are covered by the executable
|
|
|
17811
17827
|
| `LifecycleRunSchema` / `LifecycleRun` / `LifecycleStateSchema` / `LifecycleState` / `LifecycleTerminationSchema` / `LifecycleTermination` | schema / _type_ | versioned process-run state — open (`active`, `draining` with `unavailableAt`) and ended (`clean`, `forced`, `startup-failed`, `hot-reload`, `abnormal`) |
|
|
17812
17828
|
| `PreviousExitSchema` / `PreviousExit` / `StartFact` / `ReadyFact` / `DrainingFact` / `ShutdownFact` / `ProcessLifecycleFact` | schema / _type_ | first-boot, hot-reload, clean, forced, startup-failed, handoff and abnormal lifecycle facts; `processGapMs` on start, `downtimeMs` (unavailable → ready) on ready |
|
|
17813
17829
|
| `transitionProcessStart` / `transitionProcessReady` / `transitionProcessDraining` / `transitionProcessShutdown` | function | pure idempotent runId+pid-owned transitions |
|
|
17814
|
-
| `LifecycleTransition` / `TransitionStartInput` / `TransitionRunInput` / `TransitionShutdownInput` / `SameVersionOverlap` | _type_ | pure transition inputs (`TransitionRunInput` for ready and draining, extended with `forced` for shutdown), the same-build overlap policy (`abnormal` default / `handoff`) and state+fact result |
|
|
17830
|
+
| `LifecycleTransition` / `TransitionStartInput` / `TransitionRunInput` / `TransitionShutdownInput` / `SameVersionOverlap` / `VersionChangeOverlap` | _type_ | pure transition inputs (`TransitionRunInput` for ready and draining, extended with `forced` for shutdown), the same-build overlap policy (`abnormal` default / `handoff`), the version-change overlap policy (`handoff` default / `abnormal`) and state+fact result |
|
|
17815
17831
|
| `lifecycleLedgerResource` / `LifecycleLedgerResource` / `LifecycleLedgerResourceConfig` | function / _type_ | managed-resource adapter that records start, readiness, admission stop (draining) and shutdown |
|
|
17816
17832
|
| `createNotificationOutbox` / `NotificationOutbox` / `NotificationOutboxConfig` | function / _type_ | bounded at-least-once queue with durable claims, leases, retries and supersede |
|
|
17817
17833
|
| `NotificationOutboxItem` / `NotificationOutboxReceipt` / `NotificationOutboxState` / `NotificationSend` / `NotificationFailureClassification` / `DroppedNotification` / `EnqueueNotification` | _type_ | versioned queue records, stable send identity and delivery decisions |
|
package/llms.txt
CHANGED
|
@@ -30,7 +30,7 @@ Load the slice for each entrypoint your code imports — `import … from 'stitc
|
|
|
30
30
|
- **stitchkit/agent-runtime/openrouter**: [llms/agent-runtime-openrouter.txt](llms/agent-runtime-openrouter.txt) 1.1 KB
|
|
31
31
|
- **stitchkit/agent-runtime/sqlite/bun**: [llms/agent-runtime-sqlite-bun.txt](llms/agent-runtime-sqlite-bun.txt) 1.8 KB
|
|
32
32
|
- **stitchkit/agent-runtime/sqlite/node**: [llms/agent-runtime-sqlite-node.txt](llms/agent-runtime-sqlite-node.txt) 1.7 KB
|
|
33
|
-
- **stitchkit/application**: [llms/application.txt](llms/application.txt) 46.
|
|
33
|
+
- **stitchkit/application**: [llms/application.txt](llms/application.txt) 46.0 KB → [llms/application.2.txt](llms/application.2.txt) 40.0 KB
|
|
34
34
|
- **stitchkit/application/grammy**: [llms/application-grammy.txt](llms/application-grammy.txt) 2.3 KB
|
|
35
35
|
- **stitchkit/application/opentelemetry**: [llms/application-opentelemetry.txt](llms/application-opentelemetry.txt) 1.6 KB
|
|
36
36
|
- **stitchkit/application/directory-inbox**: [llms/application-directory-inbox.txt](llms/application-directory-inbox.txt) 0.3 KB
|
package/package.json
CHANGED