@arki/dot 0.1.4 → 0.3.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 (59) hide show
  1. package/README.md +57 -0
  2. package/dist/cli/index.d.ts +8 -0
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +46 -2
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/cli/render-graph.d.ts +36 -0
  7. package/dist/cli/render-graph.d.ts.map +1 -0
  8. package/dist/cli/render-graph.js +70 -0
  9. package/dist/cli/render-graph.js.map +1 -0
  10. package/dist/cli/render-openapi.d.ts +38 -0
  11. package/dist/cli/render-openapi.d.ts.map +1 -0
  12. package/dist/cli/render-openapi.js +131 -0
  13. package/dist/cli/render-openapi.js.map +1 -0
  14. package/dist/define-app.d.ts +10 -0
  15. package/dist/define-app.d.ts.map +1 -1
  16. package/dist/define-app.js +2 -0
  17. package/dist/define-app.js.map +1 -1
  18. package/dist/index.d.ts +5 -3
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +2 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/kernel/app-instance.d.ts +2 -0
  23. package/dist/kernel/app-instance.d.ts.map +1 -1
  24. package/dist/kernel/app-instance.js +67 -17
  25. package/dist/kernel/app-instance.js.map +1 -1
  26. package/dist/lifecycle.d.ts +2 -0
  27. package/dist/lifecycle.d.ts.map +1 -1
  28. package/dist/lifecycle.js +2 -0
  29. package/dist/lifecycle.js.map +1 -1
  30. package/dist/manifest.d.ts +19 -0
  31. package/dist/manifest.d.ts.map +1 -1
  32. package/dist/pip-contract.d.ts +24 -2
  33. package/dist/pip-contract.d.ts.map +1 -1
  34. package/dist/pip-contract.js +0 -25
  35. package/dist/pip-contract.js.map +1 -1
  36. package/dist/pip.d.ts +1 -1
  37. package/dist/pip.d.ts.map +1 -1
  38. package/dist/pip.js.map +1 -1
  39. package/dist/signals.d.ts +65 -0
  40. package/dist/signals.d.ts.map +1 -0
  41. package/dist/signals.js +97 -0
  42. package/dist/signals.js.map +1 -0
  43. package/dist/test-harness.d.ts +75 -1
  44. package/dist/test-harness.d.ts.map +1 -1
  45. package/dist/test-harness.js +71 -0
  46. package/dist/test-harness.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/cli/index.ts +68 -3
  49. package/src/cli/render-graph.ts +88 -0
  50. package/src/cli/render-openapi.ts +147 -0
  51. package/src/define-app.ts +13 -0
  52. package/src/index.ts +6 -2
  53. package/src/kernel/app-instance.ts +113 -51
  54. package/src/lifecycle.ts +2 -0
  55. package/src/manifest.ts +19 -0
  56. package/src/pip-contract.ts +31 -3
  57. package/src/pip.ts +1 -0
  58. package/src/signals.ts +134 -0
  59. package/src/test-harness.ts +140 -1
@@ -1 +1 @@
1
- {"version":3,"file":"define-app.js","sourceRoot":"","sources":["../src/define-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"define-app.js","sourceRoot":"","sources":["../src/define-app.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@
12
12
  export { defineApp } from './define-app.js';
13
13
  export type { DotApp, DotAppBuilder, DotAppConfigured, UseGuard } from './define-app.js';
14
14
  export { isLazy, lazy, lazyOf, pip, provide, rename, service, token, DotPipError } from './pip-contract.js';
15
- export type { AnyPip, CtxOf, DotConfigureContext, EmptyShape, KernelCtx, Lazy, LazyService, NeedsShape, Pip, PipNeeds, PipProvides, RenamedProvides, Service, ServiceRecord, Token, WireNeeds, } from './pip-contract.js';
15
+ export type { AnyPip, CtxOf, DotConfigureContext, EmptyShape, InferredProvides, KernelCtx, Lazy, LazyService, NeedsShape, Pip, PipNeeds, PipProvides, RenamedProvides, Service, ServiceRecord, Token, WireNeeds, } from './pip-contract.js';
16
16
  export { DotLifecycleError, DotLifecycleErrorCode, DOT_LIFECYCLE_HOOKS, } from './lifecycle.js';
17
17
  export type { DotLifecycleHook, DotLifecycleState, DotLifecyclePipFailure, DotLifecycleErrorCodeValue, } from './lifecycle.js';
18
18
  export type { DotAppManifest, PipManifest, RouteManifest, ServiceManifest, LifecycleManifest, DependencyEdge, DependencyEdgeKind, ServiceKind, RouteTransport, } from './manifest.js';
@@ -20,7 +20,9 @@ export type { DotDiagnosticsSnapshot, PipDiagnostic, RouteDiagnostic, ServiceDia
20
20
  export type { DotLifecycleEvent, DotLifecycleEventStatus, DotLifecycleObserver, DotPhaseLifecycleEvent, DotPipHookLifecycleEvent, } from './lifecycle-observer.js';
21
21
  export { renderTimeline } from './timeline.js';
22
22
  export type { RenderTimelineOptions } from './timeline.js';
23
- export { testApp, bootTestApp } from './test-harness.js';
24
- export type { TestAppOptions } from './test-harness.js';
23
+ export { testApp, bootTestApp, testPip } from './test-harness.js';
24
+ export type { TestAppOptions, TestPipBuilder } from './test-harness.js';
25
+ export { hookSignals } from './signals.js';
26
+ export type { HookSignalsOptions, SignalTarget } from './signals.js';
25
27
  export type { DotCliEnvelope, DotCliEnvelopeStatus } from './cli/render-explain.js';
26
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5G,YAAY,EACV,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,IAAI,EACJ,WAAW,EACX,UAAU,EACV,GAAG,EACH,QAAQ,EACR,WAAW,EACX,eAAe,EACf,OAAO,EACP,aAAa,EACb,KAAK,EACL,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5G,YAAY,EACV,MAAM,EACN,KAAK,EACL,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,IAAI,EACJ,WAAW,EACX,UAAU,EACV,GAAG,EACH,QAAQ,EACR,WAAW,EACX,eAAe,EACf,OAAO,EACP,aAAa,EACb,KAAK,EACL,SAAS,GACV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAClE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIrE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ export { defineApp } from './define-app.js';
14
14
  export { isLazy, lazy, lazyOf, pip, provide, rename, service, token, DotPipError } from './pip-contract.js';
15
15
  export { DotLifecycleError, DotLifecycleErrorCode, DOT_LIFECYCLE_HOOKS, } from './lifecycle.js';
16
16
  export { renderTimeline } from './timeline.js';
17
- export { testApp, bootTestApp } from './test-harness.js';
17
+ export { testApp, bootTestApp, testPip } from './test-harness.js';
18
+ export { hookSignals } from './signals.js';
18
19
  // #endregion
19
20
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,kCAAkC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAoB5G,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAuCxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMzD,aAAa"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,kCAAkC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAqB5G,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAuCxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAM3C,aAAa"}
@@ -21,6 +21,8 @@ export type DotAppInternalConfig = {
21
21
  * happen before there's a public seam to call `subscribe()` on.
22
22
  */
23
23
  observers?: readonly DotLifecycleObserver[];
24
+ /** Per-hook watchdog budget in ms — see `defineApp`'s option of the same name. */
25
+ hookTimeoutMs?: number;
24
26
  };
25
27
  /**
26
28
  * Internal app implementation. Public consumers see the `DotApp` interface
@@ -1 +1 @@
1
- {"version":3,"file":"app-instance.d.ts","sourceRoot":"","sources":["../../src/kernel/app-instance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAEV,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,KAAK,EAA4C,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAA4C,MAAM,oBAAoB,CAAC;AAkE3F,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,sDAAsD;IACtD,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAU;;gBAmET,MAAM,EAAE,oBAAoB;IAoExC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAuIrD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtC;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,IAAI,WAAW,IAAI,sBAAsB,CAExC;IAED;;;;OAIG;IACH,YAAY,IAAI,IAAI;IA8KpB,oDAAoD;IAC9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiR3B,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+H5B,mDAAmD;IAC7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoH3B,sDAAsD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA2T/B;AA0BD,kFAAkF;AAElF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"app-instance.d.ts","sourceRoot":"","sources":["../../src/kernel/app-instance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAEV,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAqB,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,KAAK,EAA4C,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,KAAK,EAEV,cAAc,EAKf,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,EAA4C,MAAM,oBAAoB,CAAC;AAkE3F,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,sDAAsD;IACtD,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5C,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,qBAAa,UAAU;;gBAsET,MAAM,EAAE,oBAAoB;IAqExC;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,IAAI;IAuIrD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED,IAAI,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEtC;IAED,IAAI,QAAQ,IAAI,cAAc,CAE7B;IAED,IAAI,WAAW,IAAI,sBAAsB,CAExC;IAED;;;;OAIG;IACH,YAAY,IAAI,IAAI;IA8KpB,oDAAoD;IAC9C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8T3B,2EAA2E;IACrE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsI5B,mDAAmD;IAC7C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsH3B,sDAAsD;IAChD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA6T/B;AA0BD,kFAAkF;AAElF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,oBAAoB,CAAC"}
@@ -42,6 +42,8 @@ export class DotAppImpl {
42
42
  #records;
43
43
  /** Macro-state of the app. */
44
44
  #state = 'defined';
45
+ /** Per-hook watchdog budget (ms); `undefined` = no watchdog. */
46
+ #hookTimeoutMs;
45
47
  /** Manifest finalised after `configure`. */
46
48
  #manifest;
47
49
  /** Wire-keyed services map — populated as pips boot. */
@@ -91,6 +93,7 @@ export class DotAppImpl {
91
93
  constructor(config) {
92
94
  this.#appName = config.appName;
93
95
  this.#appVersion = config.appVersion;
96
+ this.#hookTimeoutMs = config.hookTimeoutMs;
94
97
  this.#config = Object.freeze({ ...config.config });
95
98
  this.#logger = new Logger('arki:dot:lifecycle', { 'dot.app.name': config.appName });
96
99
  this.#observers = new Set(config.observers);
@@ -547,6 +550,43 @@ export class DotAppImpl {
547
550
  }
548
551
  return ctx;
549
552
  }
553
+ /**
554
+ * Race one hook invocation against the app's `hookTimeoutMs` watchdog.
555
+ * No budget configured → plain pass-through. On timeout the returned
556
+ * promise rejects with `DOT_LIFECYCLE_E015` naming the pip and hook,
557
+ * and the call site's existing catch path applies the phase's normal
558
+ * failure rules (boot rollback, start cascade, teardown aggregation).
559
+ * The hook's own promise cannot be cancelled — the watchdog makes a
560
+ * hang visible and bounded; it does not kill the hung work.
561
+ */
562
+ async #withHookBudget(pipName, hook, run) {
563
+ const budget = this.#hookTimeoutMs;
564
+ if (budget === undefined)
565
+ return run();
566
+ let timer;
567
+ const watchdog = new Promise((_resolve, reject) => {
568
+ timer = setTimeout(() => {
569
+ reject(new DotLifecycleError({
570
+ code: DotLifecycleErrorCode.HookTimeout,
571
+ phase: hook,
572
+ pip: pipName,
573
+ message: `${hook} hook of pip "${pipName}" exceeded the ${budget.toString()}ms hookTimeoutMs watchdog. ` +
574
+ `The kernel treats the hook as failed and applies its normal rollback/aggregation rules, but ` +
575
+ `cannot cancel the hook's promise — find the hang (a missing await? a connection that never ` +
576
+ `settles?) or raise the budget in defineApp(name, { hookTimeoutMs }).`,
577
+ }));
578
+ }, budget);
579
+ // A pending watchdog must never keep an otherwise-finished process alive.
580
+ timer.unref?.();
581
+ });
582
+ try {
583
+ return await Promise.race([Promise.resolve(run()), watchdog]);
584
+ }
585
+ finally {
586
+ if (timer !== undefined)
587
+ clearTimeout(timer);
588
+ }
589
+ }
550
590
  /**
551
591
  * Inner boot loop. Separated from `#runBoot` so the phase span wrapper
552
592
  * stays thin and the loop body — which orchestrates rollback on
@@ -627,7 +667,7 @@ export class DotAppImpl {
627
667
  this.#emitHook('boot', pip.name, record.order, 'starting');
628
668
  let result;
629
669
  try {
630
- result = await withPipHookSpan({
670
+ result = await this.#withHookBudget(pip.name, 'boot', () => withPipHookSpan({
631
671
  appName: this.#appName,
632
672
  pipName: pip.name,
633
673
  pipVersion: pip.version,
@@ -637,15 +677,20 @@ export class DotAppImpl {
637
677
  },
638
678
  // Erasure boundary: hooks are stored as `(ctx: never) => ...`;
639
679
  // the kernel is the one caller allowed to cross it.
640
- () => pip.hooks.boot(ctx));
680
+ () => pip.hooks.boot(ctx)));
641
681
  }
642
682
  catch (error) {
683
+ const timedOut = error instanceof DotLifecycleError && error.code === DotLifecycleErrorCode.HookTimeout;
643
684
  return fail({
644
685
  record,
645
- code: DotLifecycleErrorCode.BootFailed,
646
- message: `boot hook threw for pip "${pip.name}": ${stringifyError(error)}`,
647
- remediation: `Fix the error in the boot() hook of "${pip.name}". If boot opens partial resources before throwing, clean them up locally — DOT only disposes pips whose boot completed.`,
648
- docsAnchor: 'boot-failed',
686
+ code: timedOut ? DotLifecycleErrorCode.HookTimeout : DotLifecycleErrorCode.BootFailed,
687
+ message: timedOut
688
+ ? error.message
689
+ : `boot hook threw for pip "${pip.name}": ${stringifyError(error)}`,
690
+ remediation: timedOut
691
+ ? `Find the hang in the boot() hook of "${pip.name}" — a missing await or a connection that never settles — or raise defineApp's hookTimeoutMs.`
692
+ : `Fix the error in the boot() hook of "${pip.name}". If boot opens partial resources before throwing, clean them up locally — DOT only disposes pips whose boot completed.`,
693
+ docsAnchor: timedOut ? 'hook-timeout' : 'boot-failed',
649
694
  durationMs: performance.now() - started,
650
695
  cause: error,
651
696
  rollback: bootedRecords,
@@ -759,23 +804,28 @@ export class DotAppImpl {
759
804
  const startedAt = performance.now();
760
805
  this.#emitHook('start', pip.name, record.order, 'starting');
761
806
  try {
762
- await withPipHookSpan({
807
+ await this.#withHookBudget(pip.name, 'start', () => withPipHookSpan({
763
808
  appName: this.#appName,
764
809
  pipName: pip.name,
765
810
  pipVersion: pip.version,
766
811
  hook: 'start',
767
812
  order: record.order,
768
813
  logger: pipLogger,
769
- }, () => pip.hooks.start(ctx));
814
+ }, () => pip.hooks.start(ctx)));
770
815
  }
771
816
  catch (error) {
772
817
  const durationMs = performance.now() - startedAt;
818
+ const timedOut = error instanceof DotLifecycleError && error.code === DotLifecycleErrorCode.HookTimeout;
773
819
  const issue = makeIssue({
774
- code: DotLifecycleErrorCode.StartFailed,
820
+ code: timedOut ? DotLifecycleErrorCode.HookTimeout : DotLifecycleErrorCode.StartFailed,
775
821
  pip: pip.name,
776
- message: `start hook threw for pip "${pip.name}": ${stringifyError(error)}`,
777
- remediation: `Fix the error in the start() hook of "${pip.name}". DOT will stop all already-started pips and dispose all booted pips in reverse order.`,
778
- docsAnchor: 'start-failed',
822
+ message: timedOut
823
+ ? error.message
824
+ : `start hook threw for pip "${pip.name}": ${stringifyError(error)}`,
825
+ remediation: timedOut
826
+ ? `Find the hang in the start() hook of "${pip.name}" — or raise defineApp's hookTimeoutMs. DOT rolls back as for any start failure.`
827
+ : `Fix the error in the start() hook of "${pip.name}". DOT will stop all already-started pips and dispose all booted pips in reverse order.`,
828
+ docsAnchor: timedOut ? 'hook-timeout' : 'start-failed',
779
829
  });
780
830
  record.issues.push(issue);
781
831
  record.lifecycleDiagnostics.push({
@@ -797,7 +847,7 @@ export class DotAppImpl {
797
847
  this.#manifest = this.#buildManifest();
798
848
  const failures = [...stopFailures, ...disposeFailures];
799
849
  throw new DotLifecycleError({
800
- code: DotLifecycleErrorCode.StartFailed,
850
+ code: timedOut ? DotLifecycleErrorCode.HookTimeout : DotLifecycleErrorCode.StartFailed,
801
851
  phase: 'start',
802
852
  pip: pip.name,
803
853
  message: issue.message,
@@ -885,14 +935,14 @@ export class DotAppImpl {
885
935
  const startedAt = performance.now();
886
936
  this.#emitHook('stop', record.pip.name, record.order, 'starting');
887
937
  try {
888
- await withPipHookSpan({
938
+ await this.#withHookBudget(record.pip.name, 'stop', () => withPipHookSpan({
889
939
  appName: this.#appName,
890
940
  pipName: record.pip.name,
891
941
  pipVersion: record.pip.version,
892
942
  hook: 'stop',
893
943
  order: record.order,
894
944
  logger: pipLogger,
895
- }, () => record.pip.hooks.stop(ctx));
945
+ }, () => record.pip.hooks.stop(ctx)));
896
946
  record.started = false;
897
947
  const durationMs = performance.now() - startedAt;
898
948
  record.lifecycleDiagnostics.push({
@@ -1081,14 +1131,14 @@ export class DotAppImpl {
1081
1131
  const startedAt = performance.now();
1082
1132
  this.#emitHook('dispose', record.pip.name, record.order, 'starting');
1083
1133
  try {
1084
- await withPipHookSpan({
1134
+ await this.#withHookBudget(record.pip.name, 'dispose', () => withPipHookSpan({
1085
1135
  appName: this.#appName,
1086
1136
  pipName: record.pip.name,
1087
1137
  pipVersion: record.pip.version,
1088
1138
  hook: 'dispose',
1089
1139
  order: record.order,
1090
1140
  logger: pipLogger,
1091
- }, () => record.pip.hooks.dispose(ctx));
1141
+ }, () => record.pip.hooks.dispose(ctx)));
1092
1142
  record.booted = false;
1093
1143
  const durationMs = performance.now() - startedAt;
1094
1144
  record.lifecycleDiagnostics.push({
@@ -1 +1 @@
1
- {"version":3,"file":"app-instance.js","sourceRoot":"","sources":["../../src/kernel/app-instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-instance.js","sourceRoot":"","sources":["../../src/kernel/app-instance.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,8 @@ export declare const DotLifecycleErrorCode: {
62
62
  readonly ServiceCollision: "DOT_LIFECYCLE_E013";
63
63
  /** A needs alias, publish key, or rename target uses the reserved `$` prefix. */
64
64
  readonly ReservedServiceKey: "DOT_LIFECYCLE_E014";
65
+ /** A lifecycle hook exceeded the app's `hookTimeoutMs` watchdog. */
66
+ readonly HookTimeout: "DOT_LIFECYCLE_E015";
65
67
  };
66
68
  export type DotLifecycleErrorCodeValue = (typeof DotLifecycleErrorCode)[keyof typeof DotLifecycleErrorCode];
67
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAMjD,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpH,iDAAiD;AACjD,eAAO,MAAM,qBAAqB;IAChC,oEAAoE;;IAEpE,gCAAgC;;IAEhC,2BAA2B;;IAE3B,4BAA4B;;IAE5B,kDAAkD;;IAElD,qDAAqD;;IAErD,mDAAmD;;IAEnD,8DAA8D;;IAM9D,4BAA4B;;IAE5B,uEAAuE;;IAEvE,uEAAuE;;IAEvE,iFAAiF;;CAEzE,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAE5G;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,SAAkB,KAAK,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;gBAE1C,IAAI,EAAE;QAChB,IAAI,EAAE,0BAA0B,CAAC;QACjC,KAAK,EAAE,gBAAgB,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;KAC9C;CASF;AAED,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAEnF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAMjD,CAAC;AAEX;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEpH,iDAAiD;AACjD,eAAO,MAAM,qBAAqB;IAChC,oEAAoE;;IAEpE,gCAAgC;;IAEhC,2BAA2B;;IAE3B,4BAA4B;;IAE5B,kDAAkD;;IAElD,qDAAqD;;IAErD,mDAAmD;;IAEnD,8DAA8D;;IAM9D,4BAA4B;;IAE5B,uEAAuE;;IAEvE,uEAAuE;;IAEvE,iFAAiF;;IAEjF,oEAAoE;;CAE5D,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAE5G;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,SAAkB,KAAK,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;gBAE1C,IAAI,EAAE;QAChB,IAAI,EAAE,0BAA0B,CAAC;QACjC,KAAK,EAAE,gBAAgB,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;KAC9C;CASF;AAED,6EAA6E;AAC7E,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC"}
package/dist/lifecycle.js CHANGED
@@ -56,6 +56,8 @@ export const DotLifecycleErrorCode = {
56
56
  ServiceCollision: 'DOT_LIFECYCLE_E013',
57
57
  /** A needs alias, publish key, or rename target uses the reserved `$` prefix. */
58
58
  ReservedServiceKey: 'DOT_LIFECYCLE_E014',
59
+ /** A lifecycle hook exceeded the app's `hookTimeoutMs` watchdog. */
60
+ HookTimeout: 'DOT_LIFECYCLE_E015',
59
61
  };
60
62
  /**
61
63
  * Structured error thrown for any lifecycle failure or misuse.
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,WAAW;IACX,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;CACD,CAAC;AAiBX,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,oEAAoE;IACpE,cAAc,EAAE,oBAAoB;IACpC,gCAAgC;IAChC,eAAe,EAAE,oBAAoB;IACrC,2BAA2B;IAC3B,UAAU,EAAE,oBAAoB;IAChC,4BAA4B;IAC5B,WAAW,EAAE,oBAAoB;IACjC,kDAAkD;IAClD,UAAU,EAAE,oBAAoB;IAChC,qDAAqD;IACrD,aAAa,EAAE,oBAAoB;IACnC,mDAAmD;IACnD,iBAAiB,EAAE,oBAAoB;IACvC,8DAA8D;IAC9D,iBAAiB,EAAE,oBAAoB;IACvC,2EAA2E;IAC3E,mEAAmE;IACnE,sEAAsE;IACtE,2BAA2B;IAC3B,4BAA4B;IAC5B,YAAY,EAAE,oBAAoB;IAClC,uEAAuE;IACvE,eAAe,EAAE,oBAAoB;IACrC,uEAAuE;IACvE,gBAAgB,EAAE,oBAAoB;IACtC,iFAAiF;IACjF,kBAAkB,EAAE,oBAAoB;CAChC,CAAC;AAIX;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAA6B;IACjC,KAAK,CAAmB;IACxB,GAAG,CAAU;IACJ,KAAK,CAAW;IACzB,QAAQ,CAAqC;IAEtD,YAAY,IAOX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,WAAW;IACX,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;CACD,CAAC;AAiBX,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,oEAAoE;IACpE,cAAc,EAAE,oBAAoB;IACpC,gCAAgC;IAChC,eAAe,EAAE,oBAAoB;IACrC,2BAA2B;IAC3B,UAAU,EAAE,oBAAoB;IAChC,4BAA4B;IAC5B,WAAW,EAAE,oBAAoB;IACjC,kDAAkD;IAClD,UAAU,EAAE,oBAAoB;IAChC,qDAAqD;IACrD,aAAa,EAAE,oBAAoB;IACnC,mDAAmD;IACnD,iBAAiB,EAAE,oBAAoB;IACvC,8DAA8D;IAC9D,iBAAiB,EAAE,oBAAoB;IACvC,2EAA2E;IAC3E,mEAAmE;IACnE,sEAAsE;IACtE,2BAA2B;IAC3B,4BAA4B;IAC5B,YAAY,EAAE,oBAAoB;IAClC,uEAAuE;IACvE,eAAe,EAAE,oBAAoB;IACrC,uEAAuE;IACvE,gBAAgB,EAAE,oBAAoB;IACtC,iFAAiF;IACjF,kBAAkB,EAAE,oBAAoB;IACxC,oEAAoE;IACpE,WAAW,EAAE,oBAAoB;CACzB,CAAC;AAIX;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACjC,IAAI,CAA6B;IACjC,KAAK,CAAmB;IACxB,GAAG,CAAU;IACJ,KAAK,CAAW;IACzB,QAAQ,CAAqC;IAEtD,YAAY,IAOX;QACC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAChC,CAAC;CACF"}
@@ -54,6 +54,25 @@ export type RouteManifest = {
54
54
  method?: string;
55
55
  path?: string;
56
56
  transport: RouteTransport;
57
+ /** Human summary, rendered into docs/OpenAPI output. */
58
+ description?: string;
59
+ /**
60
+ * JSON Schema for the request inputs, keyed by location. Adapters
61
+ * convert their validation schemas (e.g. zod) at `configure` time so the
62
+ * manifest stays plain serializable data — `dot explain --openapi`
63
+ * renders straight from here without booting.
64
+ */
65
+ input?: {
66
+ readonly query?: Readonly<Record<string, unknown>>;
67
+ readonly body?: Readonly<Record<string, unknown>>;
68
+ };
69
+ /** JSON Schema for the success response (or per-event schema when `streaming`). */
70
+ output?: Readonly<Record<string, unknown>>;
71
+ /**
72
+ * The response is an open stream (e.g. `text/event-stream`) rather than
73
+ * a single JSON document.
74
+ */
75
+ streaming?: boolean;
57
76
  };
58
77
  /** Single service published by a pip. */
59
78
  export type ServiceManifest = {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,aAAa,GACb,aAAa,GACb,QAAQ,CAAC;AAEb,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzE,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACpC,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,OAAO,GACP,MAAM,GACN,OAAO,GACP,QAAQ,GACR,aAAa,GACb,aAAa,GACb,QAAQ,CAAC;AAEb,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEzE,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE;QACH,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD,CAAC;IACF,mFAAmF;IACnF,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,mDAAmD;AACnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACpC,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;CAC1B,CAAC"}
@@ -202,12 +202,24 @@ export type DotConfigureContext = {
202
202
  * is returned from the `boot` hook.
203
203
  */
204
204
  registerService(name: string, kind: ServiceKind): void;
205
- /** Register a route this pip exposes. */
205
+ /**
206
+ * Register a route this pip exposes. The optional `description`,
207
+ * `input`/`output` JSON Schemas, and `streaming` flag flow into
208
+ * `manifest.routes` untouched — `dot explain --openapi` renders from
209
+ * them without booting the app.
210
+ */
206
211
  registerRoute(route: {
207
212
  id: string;
208
213
  method?: string;
209
214
  path?: string;
210
215
  transport: RouteTransport;
216
+ description?: string;
217
+ input?: {
218
+ readonly query?: Readonly<Record<string, unknown>>;
219
+ readonly body?: Readonly<Record<string, unknown>>;
220
+ };
221
+ output?: Readonly<Record<string, unknown>>;
222
+ streaming?: boolean;
211
223
  }): void;
212
224
  /** Mark the pip as participating in a lifecycle hook. */
213
225
  registerLifecycleHook(hook: 'configure' | 'boot' | 'start' | 'stop' | 'dispose'): void;
@@ -278,6 +290,16 @@ export type AnyPip = Pip<ServiceRecord, ServiceRecord>;
278
290
  * });
279
291
  * ```
280
292
  */
293
+ /**
294
+ * A `boot` that returns `void` gives `TProvides` no inference candidate,
295
+ * and TypeScript then substitutes the CONSTRAINT (`ServiceRecord & …`,
296
+ * whose `keyof` is `string`) rather than the declared default. That wide
297
+ * record would poison the app builder's collision check for every later
298
+ * `.use()` — `keyof TAvail & string` is never empty. Detect the fallback
299
+ * by its tell (a full string index signature — no `pip()`-authored
300
+ * provides record has one) and collapse it to "provides nothing".
301
+ */
302
+ export type InferredProvides<TP extends ServiceRecord> = string extends keyof TP ? EmptyShape : TP;
281
303
  export declare function pip<TShape extends NeedsShape & NoReservedKeys = EmptyShape, TProvides extends ServiceRecord & NoReservedKeys = EmptyShape>(def: {
282
304
  readonly name: string;
283
305
  readonly version?: string;
@@ -287,7 +309,7 @@ export declare function pip<TShape extends NeedsShape & NoReservedKeys = EmptySh
287
309
  readonly start?: (ctx: CtxOf<TShape> & TProvides & KernelCtx) => MaybePromise<void>;
288
310
  readonly stop?: (ctx: CtxOf<TShape> & TProvides & KernelCtx) => MaybePromise<void>;
289
311
  readonly dispose?: (ctx: CtxOf<TShape> & TProvides & KernelCtx) => MaybePromise<void>;
290
- }): Pip<WireNeeds<TShape>, TProvides>;
312
+ }): Pip<WireNeeds<TShape>, InferredProvides<TProvides>>;
291
313
  /** Rename a pip's published wire keys — the multi-instance primitive. */
292
314
  export type RenamedProvides<TP, M> = {
293
315
  [K in keyof TP as K extends keyof M ? (M[K] extends string ? M[K] : K) : K]: TP[K];