@jini-ai/daemon 0.1.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 (142) hide show
  1. package/LICENSE +201 -0
  2. package/dist/agent-executor.d.ts +458 -0
  3. package/dist/agent-executor.d.ts.map +1 -0
  4. package/dist/agent-executor.js +1277 -0
  5. package/dist/agent-executor.js.map +1 -0
  6. package/dist/artifacts/index.d.ts +14 -0
  7. package/dist/artifacts/index.d.ts.map +1 -0
  8. package/dist/artifacts/index.js +14 -0
  9. package/dist/artifacts/index.js.map +1 -0
  10. package/dist/artifacts/manifest.d.ts +90 -0
  11. package/dist/artifacts/manifest.d.ts.map +1 -0
  12. package/dist/artifacts/manifest.js +229 -0
  13. package/dist/artifacts/manifest.js.map +1 -0
  14. package/dist/artifacts/publication-guard.d.ts +28 -0
  15. package/dist/artifacts/publication-guard.d.ts.map +1 -0
  16. package/dist/artifacts/publication-guard.js +77 -0
  17. package/dist/artifacts/publication-guard.js.map +1 -0
  18. package/dist/artifacts/runtime-compat.d.ts +37 -0
  19. package/dist/artifacts/runtime-compat.d.ts.map +1 -0
  20. package/dist/artifacts/runtime-compat.js +33 -0
  21. package/dist/artifacts/runtime-compat.js.map +1 -0
  22. package/dist/artifacts/store.d.ts +85 -0
  23. package/dist/artifacts/store.d.ts.map +1 -0
  24. package/dist/artifacts/store.js +92 -0
  25. package/dist/artifacts/store.js.map +1 -0
  26. package/dist/artifacts/stub-guard.d.ts +73 -0
  27. package/dist/artifacts/stub-guard.d.ts.map +1 -0
  28. package/dist/artifacts/stub-guard.js +198 -0
  29. package/dist/artifacts/stub-guard.js.map +1 -0
  30. package/dist/artifacts/text-suppression.d.ts +68 -0
  31. package/dist/artifacts/text-suppression.d.ts.map +1 -0
  32. package/dist/artifacts/text-suppression.js +184 -0
  33. package/dist/artifacts/text-suppression.js.map +1 -0
  34. package/dist/close-status.d.ts +86 -0
  35. package/dist/close-status.d.ts.map +1 -0
  36. package/dist/close-status.js +91 -0
  37. package/dist/close-status.js.map +1 -0
  38. package/dist/continuation/continuation-transport.d.ts +41 -0
  39. package/dist/continuation/continuation-transport.d.ts.map +1 -0
  40. package/dist/continuation/continuation-transport.js +18 -0
  41. package/dist/continuation/continuation-transport.js.map +1 -0
  42. package/dist/continuation/index.d.ts +4 -0
  43. package/dist/continuation/index.d.ts.map +1 -0
  44. package/dist/continuation/index.js +4 -0
  45. package/dist/continuation/index.js.map +1 -0
  46. package/dist/continuation/journal.d.ts +37 -0
  47. package/dist/continuation/journal.d.ts.map +1 -0
  48. package/dist/continuation/journal.js +23 -0
  49. package/dist/continuation/journal.js.map +1 -0
  50. package/dist/continuation/run-start-handler.d.ts +75 -0
  51. package/dist/continuation/run-start-handler.d.ts.map +1 -0
  52. package/dist/continuation/run-start-handler.js +32 -0
  53. package/dist/continuation/run-start-handler.js.map +1 -0
  54. package/dist/delegated-tool-bridge.d.ts +53 -0
  55. package/dist/delegated-tool-bridge.d.ts.map +1 -0
  56. package/dist/delegated-tool-bridge.js +92 -0
  57. package/dist/delegated-tool-bridge.js.map +1 -0
  58. package/dist/event-log.d.ts +134 -0
  59. package/dist/event-log.d.ts.map +1 -0
  60. package/dist/event-log.js +108 -0
  61. package/dist/event-log.js.map +1 -0
  62. package/dist/frontend-capability-tools.d.ts +102 -0
  63. package/dist/frontend-capability-tools.d.ts.map +1 -0
  64. package/dist/frontend-capability-tools.js +68 -0
  65. package/dist/frontend-capability-tools.js.map +1 -0
  66. package/dist/frontend-session-registry.d.ts +127 -0
  67. package/dist/frontend-session-registry.d.ts.map +1 -0
  68. package/dist/frontend-session-registry.js +180 -0
  69. package/dist/frontend-session-registry.js.map +1 -0
  70. package/dist/index.d.ts +38 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +38 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/legacy-data-migration.d.ts +104 -0
  75. package/dist/legacy-data-migration.d.ts.map +1 -0
  76. package/dist/legacy-data-migration.js +239 -0
  77. package/dist/legacy-data-migration.js.map +1 -0
  78. package/dist/routines/index.d.ts +12 -0
  79. package/dist/routines/index.d.ts.map +1 -0
  80. package/dist/routines/index.js +12 -0
  81. package/dist/routines/index.js.map +1 -0
  82. package/dist/routines/routine-store.d.ts +77 -0
  83. package/dist/routines/routine-store.d.ts.map +1 -0
  84. package/dist/routines/routine-store.js +162 -0
  85. package/dist/routines/routine-store.js.map +1 -0
  86. package/dist/routines/schedule.d.ts +72 -0
  87. package/dist/routines/schedule.d.ts.map +1 -0
  88. package/dist/routines/schedule.js +263 -0
  89. package/dist/routines/schedule.js.map +1 -0
  90. package/dist/routines/scheduler.d.ts +34 -0
  91. package/dist/routines/scheduler.d.ts.map +1 -0
  92. package/dist/routines/scheduler.js +330 -0
  93. package/dist/routines/scheduler.js.map +1 -0
  94. package/dist/routines/types.d.ts +131 -0
  95. package/dist/routines/types.d.ts.map +1 -0
  96. package/dist/routines/types.js +9 -0
  97. package/dist/routines/types.js.map +1 -0
  98. package/dist/run/core/failure-taxonomy.d.ts +27 -0
  99. package/dist/run/core/failure-taxonomy.d.ts.map +1 -0
  100. package/dist/run/core/failure-taxonomy.js +16 -0
  101. package/dist/run/core/failure-taxonomy.js.map +1 -0
  102. package/dist/run/core/index.d.ts +5 -0
  103. package/dist/run/core/index.d.ts.map +1 -0
  104. package/dist/run/core/index.js +5 -0
  105. package/dist/run/core/index.js.map +1 -0
  106. package/dist/run/core/result.d.ts +25 -0
  107. package/dist/run/core/result.d.ts.map +1 -0
  108. package/dist/run/core/result.js +52 -0
  109. package/dist/run/core/result.js.map +1 -0
  110. package/dist/run/core/retry.d.ts +106 -0
  111. package/dist/run/core/retry.d.ts.map +1 -0
  112. package/dist/run/core/retry.js +210 -0
  113. package/dist/run/core/retry.js.map +1 -0
  114. package/dist/run/diagnostics/diagnostics.d.ts +86 -0
  115. package/dist/run/diagnostics/diagnostics.d.ts.map +1 -0
  116. package/dist/run/diagnostics/diagnostics.js +211 -0
  117. package/dist/run/diagnostics/diagnostics.js.map +1 -0
  118. package/dist/run/diagnostics/index.d.ts +3 -0
  119. package/dist/run/diagnostics/index.d.ts.map +1 -0
  120. package/dist/run/diagnostics/index.js +3 -0
  121. package/dist/run/diagnostics/index.js.map +1 -0
  122. package/dist/run/index.d.ts +16 -0
  123. package/dist/run/index.d.ts.map +1 -0
  124. package/dist/run/index.js +16 -0
  125. package/dist/run/index.js.map +1 -0
  126. package/dist/run-lifecycle.d.ts +118 -0
  127. package/dist/run-lifecycle.d.ts.map +1 -0
  128. package/dist/run-lifecycle.js +451 -0
  129. package/dist/run-lifecycle.js.map +1 -0
  130. package/dist/terminal-session.d.ts +139 -0
  131. package/dist/terminal-session.d.ts.map +1 -0
  132. package/dist/terminal-session.js +316 -0
  133. package/dist/terminal-session.js.map +1 -0
  134. package/dist/tokens.d.ts +9 -0
  135. package/dist/tokens.d.ts.map +1 -0
  136. package/dist/tokens.js +19 -0
  137. package/dist/tokens.js.map +1 -0
  138. package/dist/tool-executor.d.ts +97 -0
  139. package/dist/tool-executor.d.ts.map +1 -0
  140. package/dist/tool-executor.js +198 -0
  141. package/dist/tool-executor.js.map +1 -0
  142. package/package.json +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-executor.js","sourceRoot":"","sources":["../src/agent-executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @module artifacts
3
+ *
4
+ * The generic artifact-store kernel port, ported from OD's
5
+ * `apps/daemon/src/artifacts/` (6 files). See `source-map.md` for full
6
+ * per-file provenance and the design decisions behind each generalization.
7
+ */
8
+ export * from './manifest.js';
9
+ export * from './store.js';
10
+ export * from './publication-guard.js';
11
+ export * from './runtime-compat.js';
12
+ export * from './stub-guard.js';
13
+ export * from './text-suppression.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/artifacts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @module artifacts
3
+ *
4
+ * The generic artifact-store kernel port, ported from OD's
5
+ * `apps/daemon/src/artifacts/` (6 files). See `source-map.md` for full
6
+ * per-file provenance and the design decisions behind each generalization.
7
+ */
8
+ export * from './manifest.js';
9
+ export * from './store.js';
10
+ export * from './publication-guard.js';
11
+ export * from './runtime-compat.js';
12
+ export * from './stub-guard.js';
13
+ export * from './text-suppression.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/artifacts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @module artifacts/manifest
3
+ *
4
+ * Generic artifact-manifest validation: bounded-length string checks, path-
5
+ * traversal rejection on `entry`/`primary`/`supportingFiles`, a JSON-size
6
+ * cap on `metadata`, and version/timestamp stamping. Ported from OD's
7
+ * `apps/daemon/src/artifacts/manifest.ts`.
8
+ *
9
+ * De-branded: the origin's `kind`/`renderer` fields were validated against
10
+ * hardcoded `ALLOWED_KINDS`/`ALLOWED_RENDERERS` sets that bake in OD's own
11
+ * artifact taxonomy — including a literal `'design-system'` kind, OD's own
12
+ * product concept, not a generic engine noun. Both sets are now a
13
+ * caller-supplied {@link ArtifactManifestTaxonomy} instead of module
14
+ * constants — a host (like an OD adapter) supplies its own kind/renderer/
15
+ * export vocabulary; the validation *mechanism* (bounded strings, traversal
16
+ * rejection, size caps, version stamping) is what this module owns. `status`
17
+ * (`'streaming' | 'complete' | 'error'`) is kept as a fixed literal union —
18
+ * that's a generic artifact-lifecycle concept, not a product taxonomy.
19
+ */
20
+ export type ArtifactStatus = 'streaming' | 'complete' | 'error';
21
+ /**
22
+ * A host's own artifact-kind/renderer/export vocabulary. The engine treats
23
+ * every value as an opaque string it only bounds-checks and validates
24
+ * membership against — it assigns no meaning to any particular kind name.
25
+ */
26
+ export interface ArtifactManifestTaxonomy {
27
+ readonly allowedKinds: ReadonlySet<string>;
28
+ readonly allowedRenderers: ReadonlySet<string>;
29
+ readonly allowedExports: ReadonlySet<string>;
30
+ }
31
+ /** A taxonomy that accepts nothing — forces a host to supply its own before any manifest can validate. */
32
+ export declare const emptyArtifactManifestTaxonomy: ArtifactManifestTaxonomy;
33
+ export interface ArtifactManifest {
34
+ readonly version: number;
35
+ readonly kind: string;
36
+ readonly title: string;
37
+ readonly entry: string;
38
+ readonly renderer: string;
39
+ readonly status: ArtifactStatus;
40
+ readonly exports: readonly string[];
41
+ readonly primary?: string | true;
42
+ readonly supportingFiles?: readonly string[];
43
+ readonly createdAt: string;
44
+ readonly updatedAt: string;
45
+ /** Generic "what produced or relates to this artifact" reference (OD: a skill id). Opaque to the engine. */
46
+ readonly sourceContextId?: string;
47
+ readonly metadata?: Readonly<Record<string, unknown>>;
48
+ }
49
+ type JsonRecord = Record<string, unknown>;
50
+ type ValidationResult = {
51
+ ok: true;
52
+ value: ArtifactManifest | null;
53
+ } | {
54
+ ok: false;
55
+ error: string;
56
+ };
57
+ export interface ValidateManifestOptions {
58
+ /** Keep an existing `updatedAt` instead of stamping the current time (used when re-parsing a persisted manifest). */
59
+ preserveUpdatedAt?: boolean;
60
+ }
61
+ /**
62
+ * Validates a freeform manifest payload against `taxonomy`, returning a
63
+ * sanitized, stamped {@link ArtifactManifest} on success. `manifest == null`
64
+ * is a valid "no manifest supplied" outcome (`{ ok: true, value: null }`) —
65
+ * callers that require a manifest check for `value === null` themselves
66
+ * (see `store.ts`'s `resolveArtifactManifest`).
67
+ */
68
+ export declare function validateArtifactManifestInput(manifest: unknown, entry: unknown, taxonomy: ArtifactManifestTaxonomy, options?: ValidateManifestOptions): ValidationResult;
69
+ /** Normalizes a validated manifest payload into the stamped, canonical {@link ArtifactManifest} shape. */
70
+ export declare function sanitizeManifest(manifest: JsonRecord, entry: string, options?: ValidateManifestOptions): ArtifactManifest;
71
+ /**
72
+ * Re-validates a manifest read back from persistence (e.g. a sidecar file),
73
+ * preserving its original `updatedAt`. Returns `null` on any validation
74
+ * failure or version mismatch/parse error rather than throwing — a corrupt
75
+ * or stale sidecar should degrade to "no manifest", not crash the reader.
76
+ */
77
+ export declare function parsePersistedManifest(raw: string, fallbackEntry: string, taxonomy: ArtifactManifestTaxonomy): ArtifactManifest | null;
78
+ /**
79
+ * Injectable seam for a host's own "what kind of artifact is this path"
80
+ * heuristic (OD: extension-based HTML/deck/markdown/svg inference). The
81
+ * engine has no default beyond "infer nothing" — see
82
+ * {@link noopManifestInferrer} — a host wires in its own file-kind
83
+ * classification (per the task brief: "keep OD's file-kind classification
84
+ * as adapter").
85
+ */
86
+ export type ManifestInferrer = (entry: string) => Partial<ArtifactManifest> | null;
87
+ /** Infers nothing — every create call must supply an explicit manifest. */
88
+ export declare const noopManifestInferrer: ManifestInferrer;
89
+ export {};
90
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/artifacts/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AASH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAIhE;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,0GAA0G;AAC1G,eAAO,MAAM,6BAA6B,EAAE,wBAI3C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1C,KAAK,gBAAgB,GACjB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAAE,GAC5C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,MAAM,WAAW,uBAAuB;IACtC,qHAAqH;IACrH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuCD;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,wBAAwB,EAClC,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CA6GlB;AAED,0GAA0G;AAC1G,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,UAAU,EACpB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAgClB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,wBAAwB,GACjC,gBAAgB,GAAG,IAAI,CAUzB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;AAEnF,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,EAAE,gBAA6B,CAAC"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * @module artifacts/manifest
3
+ *
4
+ * Generic artifact-manifest validation: bounded-length string checks, path-
5
+ * traversal rejection on `entry`/`primary`/`supportingFiles`, a JSON-size
6
+ * cap on `metadata`, and version/timestamp stamping. Ported from OD's
7
+ * `apps/daemon/src/artifacts/manifest.ts`.
8
+ *
9
+ * De-branded: the origin's `kind`/`renderer` fields were validated against
10
+ * hardcoded `ALLOWED_KINDS`/`ALLOWED_RENDERERS` sets that bake in OD's own
11
+ * artifact taxonomy — including a literal `'design-system'` kind, OD's own
12
+ * product concept, not a generic engine noun. Both sets are now a
13
+ * caller-supplied {@link ArtifactManifestTaxonomy} instead of module
14
+ * constants — a host (like an OD adapter) supplies its own kind/renderer/
15
+ * export vocabulary; the validation *mechanism* (bounded strings, traversal
16
+ * rejection, size caps, version stamping) is what this module owns. `status`
17
+ * (`'streaming' | 'complete' | 'error'`) is kept as a fixed literal union —
18
+ * that's a generic artifact-lifecycle concept, not a product taxonomy.
19
+ */
20
+ const MANIFEST_VERSION = 1;
21
+ const MAX_TITLE_LENGTH = 200;
22
+ const MAX_SOURCE_CONTEXT_ID_LENGTH = 128;
23
+ const MAX_SUPPORTING_FILE_LENGTH = 260;
24
+ const MAX_SUPPORTING_FILES = 128;
25
+ const MAX_METADATA_BYTES = 16 * 1024;
26
+ const ALLOWED_STATUS = new Set(['streaming', 'complete', 'error']);
27
+ /** A taxonomy that accepts nothing — forces a host to supply its own before any manifest can validate. */
28
+ export const emptyArtifactManifestTaxonomy = {
29
+ allowedKinds: new Set(),
30
+ allowedRenderers: new Set(),
31
+ allowedExports: new Set(),
32
+ };
33
+ function isPlainObject(value) {
34
+ if (!value || typeof value !== 'object' || Array.isArray(value))
35
+ return false;
36
+ const proto = Object.getPrototypeOf(value);
37
+ return proto === Object.prototype || proto === null;
38
+ }
39
+ function validateBoundedString(value, field, maxLen, { allowEmpty = false } = {}) {
40
+ if (typeof value !== 'string')
41
+ return `${field} must be a string`;
42
+ if (!allowEmpty && value.length === 0)
43
+ return `${field} is required`;
44
+ if (value.length > maxLen)
45
+ return `${field} exceeds max length (${maxLen})`;
46
+ return null;
47
+ }
48
+ function validateSupportingPath(value) {
49
+ if (typeof value !== 'string')
50
+ return 'supportingFiles entries must be strings';
51
+ if (value.length === 0)
52
+ return 'supportingFiles entries cannot be empty';
53
+ if (value.length > MAX_SUPPORTING_FILE_LENGTH) {
54
+ return `supportingFiles entries exceed max length (${MAX_SUPPORTING_FILE_LENGTH})`;
55
+ }
56
+ if (/^[A-Za-z]:/.test(value) || value.startsWith('/')) {
57
+ return 'supportingFiles cannot contain absolute paths';
58
+ }
59
+ if (value.includes('\u0000'))
60
+ return 'supportingFiles cannot contain null bytes';
61
+ const normalized = value.replace(/\\/g, '/');
62
+ if (normalized.includes('..'))
63
+ return 'supportingFiles cannot contain traversal segments';
64
+ const parts = normalized.split('/').filter(Boolean);
65
+ if (parts.length === 0 || parts.some((p) => p === '.' || p === '..')) {
66
+ return 'supportingFiles cannot contain traversal segments';
67
+ }
68
+ return null;
69
+ }
70
+ /**
71
+ * Validates a freeform manifest payload against `taxonomy`, returning a
72
+ * sanitized, stamped {@link ArtifactManifest} on success. `manifest == null`
73
+ * is a valid "no manifest supplied" outcome (`{ ok: true, value: null }`) —
74
+ * callers that require a manifest check for `value === null` themselves
75
+ * (see `store.ts`'s `resolveArtifactManifest`).
76
+ */
77
+ export function validateArtifactManifestInput(manifest, entry, taxonomy, options = {}) {
78
+ if (manifest == null)
79
+ return { ok: true, value: null };
80
+ if (!isPlainObject(manifest)) {
81
+ return { ok: false, error: 'artifactManifest must be an object' };
82
+ }
83
+ const kindErr = validateBoundedString(manifest.kind, 'artifactManifest.kind', 64);
84
+ if (kindErr)
85
+ return { ok: false, error: kindErr };
86
+ // Cast, not a runtime guard: validateBoundedString's first check is
87
+ // `typeof value !== 'string'`, which already returned above for any
88
+ // non-string `kind` — this only narrows the type for `taxonomy.allowedKinds.has`.
89
+ if (!taxonomy.allowedKinds.has(manifest.kind)) {
90
+ return { ok: false, error: 'artifactManifest.kind is not allowed' };
91
+ }
92
+ const rendererErr = validateBoundedString(manifest.renderer, 'artifactManifest.renderer', 64);
93
+ if (rendererErr)
94
+ return { ok: false, error: rendererErr };
95
+ // Same reasoning as `kind` above.
96
+ if (!taxonomy.allowedRenderers.has(manifest.renderer)) {
97
+ return { ok: false, error: 'artifactManifest.renderer is not allowed' };
98
+ }
99
+ if (!Array.isArray(manifest.exports) || manifest.exports.length === 0) {
100
+ return { ok: false, error: 'artifactManifest.exports must be a non-empty array' };
101
+ }
102
+ for (const exp of manifest.exports) {
103
+ if (typeof exp !== 'string') {
104
+ return { ok: false, error: 'artifactManifest.exports must contain strings' };
105
+ }
106
+ if (!taxonomy.allowedExports.has(exp)) {
107
+ return { ok: false, error: `artifactManifest.exports contains unsupported value: ${exp}` };
108
+ }
109
+ }
110
+ if (manifest.status !== undefined) {
111
+ if (typeof manifest.status !== 'string') {
112
+ return { ok: false, error: 'artifactManifest.status must be a string' };
113
+ }
114
+ if (!ALLOWED_STATUS.has(manifest.status)) {
115
+ return { ok: false, error: 'artifactManifest.status is not allowed' };
116
+ }
117
+ }
118
+ if (manifest.primary !== undefined) {
119
+ if (manifest.primary !== true) {
120
+ const primaryErr = validateSupportingPath(manifest.primary);
121
+ if (primaryErr)
122
+ return { ok: false, error: `artifactManifest.primary ${primaryErr}` };
123
+ }
124
+ }
125
+ if (manifest.supportingFiles !== undefined) {
126
+ if (!Array.isArray(manifest.supportingFiles)) {
127
+ return { ok: false, error: 'artifactManifest.supportingFiles must be an array' };
128
+ }
129
+ if (manifest.supportingFiles.length > MAX_SUPPORTING_FILES) {
130
+ return {
131
+ ok: false,
132
+ error: `artifactManifest.supportingFiles exceeds max items (${MAX_SUPPORTING_FILES})`,
133
+ };
134
+ }
135
+ for (const rel of manifest.supportingFiles) {
136
+ const relErr = validateSupportingPath(rel);
137
+ if (relErr)
138
+ return { ok: false, error: relErr };
139
+ }
140
+ }
141
+ if (manifest.title !== undefined) {
142
+ const titleErr = validateBoundedString(manifest.title, 'artifactManifest.title', MAX_TITLE_LENGTH, {
143
+ allowEmpty: false,
144
+ });
145
+ if (titleErr)
146
+ return { ok: false, error: titleErr };
147
+ }
148
+ if (manifest.sourceContextId !== undefined) {
149
+ const sourceErr = validateBoundedString(manifest.sourceContextId, 'artifactManifest.sourceContextId', MAX_SOURCE_CONTEXT_ID_LENGTH, { allowEmpty: true });
150
+ if (sourceErr)
151
+ return { ok: false, error: sourceErr };
152
+ }
153
+ if (manifest.metadata !== undefined) {
154
+ if (!isPlainObject(manifest.metadata)) {
155
+ return { ok: false, error: 'artifactManifest.metadata must be a plain object' };
156
+ }
157
+ // JSON.stringify always returns a string (never undefined) when called
158
+ // directly on a plain object — undefined-return only happens when the
159
+ // top-level argument itself is a function/symbol/undefined, which
160
+ // isPlainObject above already rejected.
161
+ const serialized = JSON.stringify(manifest.metadata);
162
+ if (Buffer.byteLength(serialized, 'utf8') > MAX_METADATA_BYTES) {
163
+ return {
164
+ ok: false,
165
+ error: `artifactManifest.metadata exceeds max size (${MAX_METADATA_BYTES} bytes)`,
166
+ };
167
+ }
168
+ }
169
+ const manifestEntry = typeof manifest.entry === 'string' && manifest.entry.trim() ? manifest.entry.trim() : entry;
170
+ const entryErr = validateSupportingPath(manifestEntry);
171
+ if (entryErr) {
172
+ return { ok: false, error: `artifactManifest.entry ${entryErr}` };
173
+ }
174
+ const safeEntry = manifestEntry.replace(/\\/g, '/');
175
+ return { ok: true, value: sanitizeManifest(manifest, safeEntry, options) };
176
+ }
177
+ /** Normalizes a validated manifest payload into the stamped, canonical {@link ArtifactManifest} shape. */
178
+ export function sanitizeManifest(manifest, entry, options = {}) {
179
+ const now = new Date().toISOString();
180
+ const supportingFiles = Array.isArray(manifest.supportingFiles)
181
+ ? manifest.supportingFiles.map((x) => String(x).replace(/\\/g, '/'))
182
+ : undefined;
183
+ const primary = manifest.primary === true
184
+ ? true
185
+ : typeof manifest.primary === 'string'
186
+ ? manifest.primary.replace(/\\/g, '/')
187
+ : undefined;
188
+ return {
189
+ version: MANIFEST_VERSION,
190
+ kind: manifest.kind,
191
+ title: manifest.title || entry,
192
+ entry,
193
+ renderer: manifest.renderer,
194
+ status: typeof manifest.status === 'string' && ALLOWED_STATUS.has(manifest.status)
195
+ ? manifest.status
196
+ : 'complete',
197
+ exports: manifest.exports,
198
+ ...(primary !== undefined ? { primary } : {}),
199
+ ...(supportingFiles !== undefined ? { supportingFiles } : {}),
200
+ createdAt: typeof manifest.createdAt === 'string' ? manifest.createdAt : now,
201
+ updatedAt: options.preserveUpdatedAt && typeof manifest.updatedAt === 'string'
202
+ ? manifest.updatedAt
203
+ : now,
204
+ ...(manifest.sourceContextId !== undefined ? { sourceContextId: manifest.sourceContextId } : {}),
205
+ ...(manifest.metadata !== undefined ? { metadata: manifest.metadata } : {}),
206
+ };
207
+ }
208
+ /**
209
+ * Re-validates a manifest read back from persistence (e.g. a sidecar file),
210
+ * preserving its original `updatedAt`. Returns `null` on any validation
211
+ * failure or version mismatch/parse error rather than throwing — a corrupt
212
+ * or stale sidecar should degrade to "no manifest", not crash the reader.
213
+ */
214
+ export function parsePersistedManifest(raw, fallbackEntry, taxonomy) {
215
+ try {
216
+ const parsed = JSON.parse(raw);
217
+ if (!isPlainObject(parsed) || parsed.version !== MANIFEST_VERSION)
218
+ return null;
219
+ const entry = typeof parsed.entry === 'string' && parsed.entry ? parsed.entry : fallbackEntry;
220
+ const result = validateArtifactManifestInput(parsed, entry, taxonomy, { preserveUpdatedAt: true });
221
+ return result.ok ? result.value : null;
222
+ }
223
+ catch {
224
+ return null;
225
+ }
226
+ }
227
+ /** Infers nothing — every create call must supply an explicit manifest. */
228
+ export const noopManifestInferrer = () => null;
229
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/artifacts/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export declare const ARTIFACT_PUBLICATION_BLOCKED_CODE: "ARTIFACT_PUBLICATION_BLOCKED";
2
+ export interface PublicationGuardConfig {
3
+ /** Artifact kinds this guard scans. A kind not in this set is never blocked, whatever its content. */
4
+ readonly guardedKinds: ReadonlySet<string>;
5
+ /** Substrings that mark an artifact as containing an unresolved placeholder. Matching is case-sensitive. */
6
+ readonly blockedPlaceholders: readonly string[];
7
+ }
8
+ /** A guard that blocks nothing — no guarded kinds, no placeholder markers configured. */
9
+ export declare const emptyPublicationGuardConfig: PublicationGuardConfig;
10
+ export declare class ArtifactPublicationBlockedError extends Error {
11
+ readonly code: "ARTIFACT_PUBLICATION_BLOCKED";
12
+ readonly placeholders: readonly string[];
13
+ constructor(placeholders: readonly string[]);
14
+ }
15
+ export declare function isPublicationGuardedKind(kind: unknown, config: PublicationGuardConfig): boolean;
16
+ /** Returns every configured placeholder marker found in `value`'s stringified content, in declaration order. */
17
+ export declare function findBlockedPlaceholders(value: unknown, config: PublicationGuardConfig): string[];
18
+ export declare function shouldBlockPublication(value: unknown, config: PublicationGuardConfig): boolean;
19
+ export declare function buildArtifactPublicationBlockedMessage(placeholders: readonly string[]): string;
20
+ /**
21
+ * Throws {@link ArtifactPublicationBlockedError} when `value` (for a
22
+ * `kind` in `config.guardedKinds`) contains any of `config.blockedPlaceholders`.
23
+ * No-ops for a kind outside `config.guardedKinds` — a guard scoped to
24
+ * user-facing rendered documents shouldn't reject content in other kinds
25
+ * where the same substrings could be legitimate.
26
+ */
27
+ export declare function assertArtifactPublicationAllowed(kind: unknown, value: unknown, config: PublicationGuardConfig): void;
28
+ //# sourceMappingURL=publication-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication-guard.d.ts","sourceRoot":"","sources":["../../src/artifacts/publication-guard.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,iCAAiC,EAAG,8BAAuC,CAAC;AAEzF,MAAM,WAAW,sBAAsB;IACrC,sGAAsG;IACtG,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,4GAA4G;IAC5G,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAED,yFAAyF;AACzF,eAAO,MAAM,2BAA2B,EAAE,sBAGzC,CAAC;AAEF,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,iCAAqC;IAClD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;gBAE7B,YAAY,EAAE,SAAS,MAAM,EAAE;CAK5C;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAE/F;AASD,gHAAgH;AAChH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAIhG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAE9F;AAED,wBAAgB,sCAAsC,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAG9F;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,sBAAsB,GAC7B,IAAI,CAMN"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @module artifacts/publication-guard
3
+ *
4
+ * A pre-publish content guard: blocks an artifact write when its body
5
+ * contains a caller-declared "unresolved placeholder" marker, scoped to a
6
+ * caller-declared set of guarded kinds. Ported from OD's
7
+ * `apps/daemon/src/artifacts/publication-guard.ts`.
8
+ *
9
+ * De-branded: the origin hardcoded `UNRESOLVED_ARTIFACT_PLACEHOLDERS` — five
10
+ * literal strings ("Name to confirm", "$X.XM", ...) lifted from one specific
11
+ * bundled example template's pitch-deck fill-in-the-blank convention — and
12
+ * `PUBLICATION_GUARDED_ARTIFACT_KINDS = {'html', 'deck'}`. Both are entirely
13
+ * OD's own content, not a generic engine mechanism, so this module now takes
14
+ * a caller-supplied {@link PublicationGuardConfig} (empty by default — a
15
+ * guard that never blocks anything until a host configures it) instead of
16
+ * baking in that one template's marker strings. The guard *mechanism*
17
+ * (scan a guarded-kind body for any configured marker, throw before
18
+ * publish) is what this module owns.
19
+ */
20
+ import { Buffer } from 'node:buffer';
21
+ export const ARTIFACT_PUBLICATION_BLOCKED_CODE = 'ARTIFACT_PUBLICATION_BLOCKED';
22
+ /** A guard that blocks nothing — no guarded kinds, no placeholder markers configured. */
23
+ export const emptyPublicationGuardConfig = {
24
+ guardedKinds: new Set(),
25
+ blockedPlaceholders: [],
26
+ };
27
+ export class ArtifactPublicationBlockedError extends Error {
28
+ code = ARTIFACT_PUBLICATION_BLOCKED_CODE;
29
+ placeholders;
30
+ constructor(placeholders) {
31
+ super(buildArtifactPublicationBlockedMessage(placeholders));
32
+ this.name = 'ArtifactPublicationBlockedError';
33
+ this.placeholders = [...placeholders];
34
+ }
35
+ }
36
+ export function isPublicationGuardedKind(kind, config) {
37
+ return typeof kind === 'string' && config.guardedKinds.has(kind);
38
+ }
39
+ function stringifyArtifactContent(value) {
40
+ if (typeof value === 'string')
41
+ return value;
42
+ if (Buffer.isBuffer(value))
43
+ return value.toString('utf8');
44
+ if (value instanceof Uint8Array)
45
+ return Buffer.from(value).toString('utf8');
46
+ return '';
47
+ }
48
+ /** Returns every configured placeholder marker found in `value`'s stringified content, in declaration order. */
49
+ export function findBlockedPlaceholders(value, config) {
50
+ const text = stringifyArtifactContent(value);
51
+ if (!text)
52
+ return [];
53
+ return config.blockedPlaceholders.filter((placeholder) => text.includes(placeholder));
54
+ }
55
+ export function shouldBlockPublication(value, config) {
56
+ return findBlockedPlaceholders(value, config).length > 0;
57
+ }
58
+ export function buildArtifactPublicationBlockedMessage(placeholders) {
59
+ const list = placeholders.length > 0 ? placeholders.join(', ') : 'unknown placeholders';
60
+ return `Artifact still contains unresolved placeholders: ${list}. Resolve them before publishing.`;
61
+ }
62
+ /**
63
+ * Throws {@link ArtifactPublicationBlockedError} when `value` (for a
64
+ * `kind` in `config.guardedKinds`) contains any of `config.blockedPlaceholders`.
65
+ * No-ops for a kind outside `config.guardedKinds` — a guard scoped to
66
+ * user-facing rendered documents shouldn't reject content in other kinds
67
+ * where the same substrings could be legitimate.
68
+ */
69
+ export function assertArtifactPublicationAllowed(kind, value, config) {
70
+ if (!isPublicationGuardedKind(kind, config))
71
+ return;
72
+ const placeholders = findBlockedPlaceholders(value, config);
73
+ if (placeholders.length > 0) {
74
+ throw new ArtifactPublicationBlockedError(placeholders);
75
+ }
76
+ }
77
+ //# sourceMappingURL=publication-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publication-guard.js","sourceRoot":"","sources":["../../src/artifacts/publication-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,CAAC,MAAM,iCAAiC,GAAG,8BAAuC,CAAC;AASzF,yFAAyF;AACzF,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,YAAY,EAAE,IAAI,GAAG,EAAE;IACvB,mBAAmB,EAAE,EAAE;CACxB,CAAC;AAEF,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,iCAAiC,CAAC;IACzC,YAAY,CAAoB;IAEzC,YAAY,YAA+B;QACzC,KAAK,CAAC,sCAAsC,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IACxC,CAAC;CACF;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAa,EAAE,MAA8B;IACpF,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,uBAAuB,CAAC,KAAc,EAAE,MAA8B;IACpF,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc,EAAE,MAA8B;IACnF,OAAO,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,YAA+B;IACpF,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;IACxF,OAAO,oDAAoD,IAAI,mCAAmC,CAAC;AACrG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAAa,EACb,KAAc,EACd,MAA8B;IAE9B,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO;IACpD,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,+BAA+B,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @module artifacts/runtime-compat
3
+ *
4
+ * The runtime-compat injection seam: a hook that gets a chance to rewrite an
5
+ * artifact's body before it's served, for CDN/library-loading quirks a host
6
+ * knows about but the engine can't. Ported from OD's
7
+ * `apps/daemon/src/artifacts/runtime-compat.ts`.
8
+ *
9
+ * De-branded: the origin, `normalizeArtifactRuntimeImports`, is entirely a
10
+ * fix for one specific third-party CDN-bundle bug (the vanilla `dist/
11
+ * motion.js` UMD script tag lacking React hooks, rewritten to `dist/
12
+ * framer-motion.js`) that OD's own system prompt steers models toward
13
+ * hitting. That rewrite rule is product/library-specific knowledge, not a
14
+ * generic engine mechanism — per the task brief ("keep OD's specific logic
15
+ * as adapter"), it is not ported. What *is* generic and kept is the
16
+ * seam itself: a host may need to rewrite an artifact body for any number
17
+ * of environment-specific reasons (a different CDN quirk, a different
18
+ * runtime library entirely) before it reaches a renderer, so the engine
19
+ * defines the hook type and a safe default (identity) rather than hardcode
20
+ * any one library's fix.
21
+ */
22
+ /**
23
+ * Rewrites an artifact body before it is served, keyed by the artifact's
24
+ * file name (a host typically gates on file extension, as OD's origin did
25
+ * with `.html`/`.htm`). Returns the body unchanged when no rewrite applies.
26
+ */
27
+ export type RuntimeCompatNormalizer = (name: string, body: unknown) => unknown;
28
+ /** Applies no rewrite — returns `body` unchanged. Safe default until a host supplies its own normalizer(s). */
29
+ export declare const noopRuntimeCompatNormalizer: RuntimeCompatNormalizer;
30
+ /**
31
+ * Composes several normalizers into one, applying each in order — the
32
+ * output of one becomes the input to the next. Lets a host layer multiple
33
+ * independent CDN/library fixes without each needing to know about the
34
+ * others.
35
+ */
36
+ export declare function composeRuntimeCompatNormalizers(normalizers: readonly RuntimeCompatNormalizer[]): RuntimeCompatNormalizer;
37
+ //# sourceMappingURL=runtime-compat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-compat.d.ts","sourceRoot":"","sources":["../../src/artifacts/runtime-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;AAE/E,+GAA+G;AAC/G,eAAO,MAAM,2BAA2B,EAAE,uBAA+C,CAAC;AAE1F;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,SAAS,uBAAuB,EAAE,GAC9C,uBAAuB,CAEzB"}