@invinite-org/chartlang-adapter-kit 1.2.0 → 1.2.1

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # @invinite-org/chartlang-adapter-kit
2
2
 
3
+ ## 1.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 71ea0a5: Inline original TypeScript sources into emitted `.js.map` files (`inlineSources: true`). Published sourcemaps no longer reference missing `../src/*.ts` files, fixing "points to missing source files" warnings in downstream bundlers (e.g. Vite).
8
+ - Updated dependencies [71ea0a5]
9
+ - @invinite-org/chartlang-core@1.1.1
10
+
3
11
  ## 1.2.0
4
12
 
5
13
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"bufferingAdapter.js","sourceRoot":"","sources":["../../src/base/bufferingAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,gBAAgB;IAIL;IACA;IACA;IACC;IANb,QAAQ,GAAsB,EAAE,CAAC;IAEzC,YACoB,EAAU,EACV,IAAY,EACZ,YAA0B,EACzB,MAAkC;QAHnC,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAc;QACzB,WAAM,GAAN,MAAM,CAA4B;IACpD,CAAC;IAEJ,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,SAA0B;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;CACJ"}
1
+ {"version":3,"file":"bufferingAdapter.js","sourceRoot":"","sources":["../../src/base/bufferingAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,OAAO,gBAAgB;IAIL;IACA;IACA;IACC;IANb,QAAQ,GAAsB,EAAE,CAAC;IAEzC,YACoB,EAAU,EACV,IAAY,EACZ,YAA0B,EACzB,MAAkC;QAHnC,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAc;QACzB,WAAM,GAAN,MAAM,CAA4B;IACpD,CAAC;IAEJ,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,SAA0B;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO;QACH,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACvB,CAAC;CACJ","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { Adapter, CandleEvent, Capabilities, RunnerEmissions } from \"../types.js\";\n\n/**\n * `Adapter` that records every `onEmissions` batch and exposes a\n * `drain()` method to retrieve them all at once. Used by the\n * conformance suite (Task 11) to collect emissions across a full\n * fixture playback before asserting against golden bars.\n *\n * @since 0.1\n * @stable\n * @example\n * import {\n * BufferingAdapter,\n * capabilities,\n * mockCandleSource,\n * } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const a = new BufferingAdapter(\n * \"b\", \"Buffering\",\n * {\n * plots: capabilities.allLines(),\n * drawings: new Set(),\n * alerts: new Set(),\n * alertConditions: false,\n * logs: false,\n * inputs: new Set(),\n * intervals: [],\n * multiTimeframe: false,\n * subPanes: 0,\n * symInfoFields: new Set(),\n * maxDrawingsPerScript: {\n * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,\n * },\n * maxLookback: 5000,\n * maxTickHz: 10,\n * },\n * mockCandleSource([]),\n * );\n * a.drain();\n */\nexport class BufferingAdapter implements Adapter {\n private buffered: RunnerEmissions[] = [];\n\n constructor(\n public readonly id: string,\n public readonly name: string,\n public readonly capabilities: Capabilities,\n private readonly source: AsyncIterable<CandleEvent>,\n ) {}\n\n candles(): AsyncIterable<CandleEvent> {\n return this.source;\n }\n\n onEmissions(emissions: RunnerEmissions): void {\n this.buffered.push(emissions);\n }\n\n drain(): ReadonlyArray<RunnerEmissions> {\n const out = this.buffered.slice();\n this.buffered = [];\n return out;\n }\n\n dispose(): void {\n this.buffered = [];\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nexport { BufferingAdapter } from \"./bufferingAdapter.js\";\nexport { PassThroughAdapter } from \"./passThroughAdapter.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"passThroughAdapter.js","sourceRoot":"","sources":["../../src/base/passThroughAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAO,kBAAkB;IAEP;IACA;IACA;IACC;IAJrB,YACoB,EAAU,EACV,IAAY,EACZ,YAA0B,EACzB,MAAkC;QAHnC,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAc;QACzB,WAAM,GAAN,MAAM,CAA4B;IACpD,CAAC;IAEJ,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,UAA2B;QACnC,oBAAoB;IACxB,CAAC;IAED,OAAO;QACH,oBAAoB;IACxB,CAAC;CACJ"}
1
+ {"version":3,"file":"passThroughAdapter.js","sourceRoot":"","sources":["../../src/base/passThroughAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,OAAO,kBAAkB;IAEP;IACA;IACA;IACC;IAJrB,YACoB,EAAU,EACV,IAAY,EACZ,YAA0B,EACzB,MAAkC;QAHnC,OAAE,GAAF,EAAE,CAAQ;QACV,SAAI,GAAJ,IAAI,CAAQ;QACZ,iBAAY,GAAZ,YAAY,CAAc;QACzB,WAAM,GAAN,MAAM,CAA4B;IACpD,CAAC;IAEJ,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,WAAW,CAAC,UAA2B;QACnC,oBAAoB;IACxB,CAAC;IAED,OAAO;QACH,oBAAoB;IACxB,CAAC;CACJ","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { Adapter, CandleEvent, Capabilities, RunnerEmissions } from \"../types.js\";\n\n/**\n * Minimal `Adapter` that forwards a supplied `AsyncIterable<CandleEvent>`\n * and drops every emission. Useful as a runtime test fixture when the\n * caller doesn't need to observe outputs.\n *\n * @since 0.1\n * @stable\n * @example\n * import {\n * PassThroughAdapter,\n * capabilities,\n * mockCandleSource,\n * } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const a = new PassThroughAdapter(\n * \"p\", \"Passthrough\",\n * {\n * plots: capabilities.allLines(),\n * drawings: new Set(),\n * alerts: new Set(),\n * alertConditions: false,\n * logs: false,\n * inputs: new Set(),\n * intervals: [],\n * multiTimeframe: false,\n * subPanes: 0,\n * symInfoFields: new Set(),\n * maxDrawingsPerScript: {\n * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,\n * },\n * maxLookback: 5000,\n * maxTickHz: 10,\n * },\n * mockCandleSource([]),\n * );\n * void a;\n */\nexport class PassThroughAdapter implements Adapter {\n constructor(\n public readonly id: string,\n public readonly name: string,\n public readonly capabilities: Capabilities,\n private readonly source: AsyncIterable<CandleEvent>,\n ) {}\n\n candles(): AsyncIterable<CandleEvent> {\n return this.source;\n }\n\n onEmissions(_emissions: RunnerEmissions): void {\n // intentional no-op\n }\n\n dispose(): void {\n // intentional no-op\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/capabilities/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/capabilities/capabilities.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport { DRAWING_KINDS } from \"@invinite-org/chartlang-core\";\n\nimport type { DrawingCounts, IntervalDescriptor } from \"@invinite-org/chartlang-core\";\n\nimport type { AlertChannel, DrawingKind, PlotKind, SymInfoField } from \"../types.js\";\n\n/**\n * Canonical Phase-5 plot-kind set. Adapters that can render the full\n * script-facing plot inventory can pass this directly to\n * `Capabilities.plots`.\n *\n * @since 0.5\n * @stable\n * @example\n * import { PHASE_5_PLOT_KINDS } from \"@invinite-org/chartlang-adapter-kit\";\n * const plots = new Set(PHASE_5_PLOT_KINDS);\n * void plots;\n */\nexport const PHASE_5_PLOT_KINDS: ReadonlyArray<PlotKind> = Object.freeze([\n \"line\",\n \"step-line\",\n \"horizontal-line\",\n \"histogram\",\n \"area\",\n \"filled-band\",\n \"label\",\n \"marker\",\n \"shape\",\n \"character\",\n \"arrow\",\n \"candle-override\",\n \"bar-override\",\n \"bg-color\",\n \"bar-color\",\n \"horizontal-histogram\",\n]);\n\n/**\n * Helpers that assemble the `ReadonlySet` pieces of a `Capabilities`\n * bag. Phase 1 shipped the three line variants + an alert-channel\n * builder + a generic `union` combinator. Phase 2 adds one builder per\n * new `PlotKind` (`histogram`, `area`, `filledBand`, `label`,\n * `marker`) plus `allPhase2Plots()` — the union of every Phase-1 +\n * Phase-2 kind.\n *\n * @since 0.1\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const plots = capabilities.allPhase2Plots();\n * const alerts = capabilities.alerts(\"toast\", \"log\");\n * const merged = capabilities.union(plots, capabilities.label());\n * void merged;\n */\nexport const capabilities = {\n line(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"line\"]);\n },\n stepLine(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"step-line\"]);\n },\n horizontalLine(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"horizontal-line\"]);\n },\n allLines(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"line\", \"step-line\", \"horizontal-line\"]);\n },\n /** Phase-2 histogram plot kind. @since 0.2 @stable */\n histogram(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"histogram\"]);\n },\n /** Phase-2 filled-area plot kind. @since 0.2 @stable */\n area(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"area\"]);\n },\n /** Phase-2 filled-band (between two polylines) plot kind.\n * @since 0.2 @stable */\n filledBand(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"filled-band\"]);\n },\n /** Phase-2 text-label plot kind. @since 0.2 @stable */\n label(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"label\"]);\n },\n /** Phase-2 discrete-marker plot kind. @since 0.2 @stable */\n marker(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\"marker\"]);\n },\n /** Union of every plot kind that ships through Phase 2 — `line`,\n * `step-line`, `horizontal-line`, `histogram`, `area`,\n * `filled-band`, `label`, `marker`. Phase-5 kinds are deliberately\n * excluded; the bundled `capabilities.union(...)` combinator\n * composes additional sets when needed.\n * @since 0.2 @stable */\n allPhase2Plots(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>([\n \"line\",\n \"step-line\",\n \"horizontal-line\",\n \"histogram\",\n \"area\",\n \"filled-band\",\n \"label\",\n \"marker\",\n ]);\n },\n /** Union of every plot kind that ships through Phase 5.\n * @since 0.5 @stable */\n allPhase5Plots(): ReadonlySet<PlotKind> {\n return new Set<PlotKind>(PHASE_5_PLOT_KINDS);\n },\n alerts(...channels: ReadonlyArray<AlertChannel>): ReadonlySet<AlertChannel> {\n return new Set<AlertChannel>(channels);\n },\n union<T>(...sets: ReadonlyArray<ReadonlySet<T>>): ReadonlySet<T> {\n const out = new Set<T>();\n for (const s of sets) {\n for (const v of s) {\n out.add(v);\n }\n }\n return out;\n },\n /**\n * Timeframe descriptors this adapter can deliver, preserving picker order.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.intervals([\n * { value: \"1D\", label: \"1 day\", group: \"daily\" },\n * ]);\n * void partial;\n */\n intervals(list: ReadonlyArray<IntervalDescriptor>): {\n intervals: ReadonlyArray<IntervalDescriptor>;\n } {\n return { intervals: Object.freeze(list.slice()) };\n },\n /**\n * Declares whether the adapter can deliver secondary candle streams.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.multiTimeframe(false);\n * void partial;\n */\n multiTimeframe(enabled: boolean): { multiTimeframe: boolean } {\n return { multiTimeframe: enabled };\n },\n /**\n * Declares the maximum supported sub-pane count for one script.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.subPanes(Number.MAX_SAFE_INTEGER);\n * void partial;\n */\n subPanes(max: number): { subPanes: number } {\n return { subPanes: max };\n },\n /**\n * Declares which `syminfo.*` fields this adapter populates.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.symInfoFields([\"ticker\", \"mintick\"]);\n * void partial;\n */\n symInfoFields(fields: ReadonlyArray<SymInfoField>): {\n symInfoFields: ReadonlySet<SymInfoField>;\n } {\n return { symInfoFields: new Set(fields) };\n },\n /**\n * Declares the adapter's per-script drawing-emission budget.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.maxDrawingsPerScript({\n * lines: 50, labels: 50, boxes: 50, polylines: 50, other: 50,\n * });\n * void partial;\n */\n maxDrawingsPerScript(counts: DrawingCounts): { maxDrawingsPerScript: DrawingCounts } {\n return { maxDrawingsPerScript: Object.freeze({ ...counts }) };\n },\n /**\n * Declares whether user-wired alert conditions are supported.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.alertConditions(false);\n * void partial;\n */\n alertConditions(enabled: boolean): { alertConditions: boolean } {\n return { alertConditions: enabled };\n },\n /**\n * Declares whether runtime log messages are rendered by the adapter.\n *\n * @since 0.4\n * @stable\n * @example\n * import { capabilities } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const partial = capabilities.logs(false);\n * void partial;\n */\n logs(enabled: boolean): { logs: boolean } {\n return { logs: enabled };\n },\n\n // ------------------------------------------------------------\n // Phase 3 — per-kind drawing builders (61). Each returns a\n // single-element `Set<DrawingKind>` so adapters can compose via\n // `capabilities.union(...)`. The 13 category-group builders +\n // `allPhase3Drawings()` below are the canonical user-facing\n // surface; per-kind builders exist for precision opt-in.\n // @since 0.3 @stable\n // ------------------------------------------------------------\n\n /** Phase-3 `line` drawing kind. @since 0.3 @stable */\n drawLine(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"line\"]);\n },\n /** Phase-3 `horizontal-line` drawing kind. @since 0.3 @stable */\n drawHorizontalLine(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"horizontal-line\"]);\n },\n /** Phase-3 `horizontal-ray` drawing kind. @since 0.3 @stable */\n drawHorizontalRay(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"horizontal-ray\"]);\n },\n /** Phase-3 `vertical-line` drawing kind. @since 0.3 @stable */\n drawVerticalLine(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"vertical-line\"]);\n },\n /** Phase-3 `cross-line` drawing kind. @since 0.3 @stable */\n drawCrossLine(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"cross-line\"]);\n },\n /** Phase-3 `trend-angle` drawing kind. @since 0.3 @stable */\n drawTrendAngle(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"trend-angle\"]);\n },\n /** Phase-3 `rectangle` drawing kind. @since 0.3 @stable */\n drawRectangle(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"rectangle\"]);\n },\n /** Phase-3 `rotated-rectangle` drawing kind. @since 0.3 @stable */\n drawRotatedRectangle(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"rotated-rectangle\"]);\n },\n /** Phase-3 `triangle` drawing kind. @since 0.3 @stable */\n drawTriangle(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"triangle\"]);\n },\n /** Phase-3 `polyline` drawing kind. @since 0.3 @stable */\n drawPolyline(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"polyline\"]);\n },\n /** Phase-3 `circle` drawing kind. @since 0.3 @stable */\n drawCircle(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"circle\"]);\n },\n /** Phase-3 `ellipse` drawing kind. @since 0.3 @stable */\n drawEllipse(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"ellipse\"]);\n },\n /** Phase-3 `path` drawing kind. @since 0.3 @stable */\n drawPath(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"path\"]);\n },\n /** Phase-3 `marker` drawing kind. @since 0.3 @stable */\n drawMarker(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"marker\"]);\n },\n /** Phase-3 `arc` drawing kind. @since 0.3 @stable */\n drawArc(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"arc\"]);\n },\n /** Phase-3 `curve` drawing kind. @since 0.3 @stable */\n drawCurve(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"curve\"]);\n },\n /** Phase-3 `double-curve` drawing kind. @since 0.3 @stable */\n drawDoubleCurve(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"double-curve\"]);\n },\n /** Phase-3 `pen` drawing kind. @since 0.3 @stable */\n drawPen(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"pen\"]);\n },\n /** Phase-3 `highlighter` drawing kind. @since 0.3 @stable */\n drawHighlighter(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"highlighter\"]);\n },\n /** Phase-3 `brush` drawing kind. @since 0.3 @stable */\n drawBrush(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"brush\"]);\n },\n /** Phase-3 `text` drawing kind. @since 0.3 @stable */\n drawText(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"text\"]);\n },\n /** Phase-3 `arrow` drawing kind. @since 0.3 @stable */\n drawArrow(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"arrow\"]);\n },\n /** Phase-3 `arrow-marker` drawing kind. @since 0.3 @stable */\n drawArrowMarker(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"arrow-marker\"]);\n },\n /** Phase-3 `arrow-mark-up` drawing kind. @since 0.3 @stable */\n drawArrowMarkUp(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"arrow-mark-up\"]);\n },\n /** Phase-3 `arrow-mark-down` drawing kind. @since 0.3 @stable */\n drawArrowMarkDown(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"arrow-mark-down\"]);\n },\n /** Phase-3 `trend-channel` drawing kind. @since 0.3 @stable */\n drawTrendChannel(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"trend-channel\"]);\n },\n /** Phase-3 `flat-top-bottom` drawing kind. @since 0.3 @stable */\n drawFlatTopBottom(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"flat-top-bottom\"]);\n },\n /** Phase-3 `disjoint-channel` drawing kind. @since 0.3 @stable */\n drawDisjointChannel(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"disjoint-channel\"]);\n },\n /** Phase-3 `regression-trend` drawing kind. @since 0.3 @stable */\n drawRegressionTrend(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"regression-trend\"]);\n },\n /** Phase-3 `fib-retracement` drawing kind. @since 0.3 @stable */\n drawFibRetracement(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-retracement\"]);\n },\n /** Phase-3 `fib-trend-extension` drawing kind. @since 0.3 @stable */\n drawFibTrendExtension(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-trend-extension\"]);\n },\n /** Phase-3 `fib-channel` drawing kind. @since 0.3 @stable */\n drawFibChannel(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-channel\"]);\n },\n /** Phase-3 `fib-time-zone` drawing kind. @since 0.3 @stable */\n drawFibTimeZone(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-time-zone\"]);\n },\n /** Phase-3 `fib-wedge` drawing kind. @since 0.3 @stable */\n drawFibWedge(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-wedge\"]);\n },\n /** Phase-3 `fib-speed-fan` drawing kind. @since 0.3 @stable */\n drawFibSpeedFan(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-speed-fan\"]);\n },\n /** Phase-3 `fib-speed-arcs` drawing kind. @since 0.3 @stable */\n drawFibSpeedArcs(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-speed-arcs\"]);\n },\n /** Phase-3 `fib-spiral` drawing kind. @since 0.3 @stable */\n drawFibSpiral(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-spiral\"]);\n },\n /** Phase-3 `fib-circles` drawing kind. @since 0.3 @stable */\n drawFibCircles(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-circles\"]);\n },\n /** Phase-3 `fib-trend-time` drawing kind. @since 0.3 @stable */\n drawFibTrendTime(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"fib-trend-time\"]);\n },\n /** Phase-3 `gann-box` drawing kind. @since 0.3 @stable */\n drawGannBox(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"gann-box\"]);\n },\n /** Phase-3 `gann-square-fixed` drawing kind. @since 0.3 @stable */\n drawGannSquareFixed(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"gann-square-fixed\"]);\n },\n /** Phase-3 `gann-square` drawing kind. @since 0.3 @stable */\n drawGannSquare(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"gann-square\"]);\n },\n /** Phase-3 `gann-fan` drawing kind. @since 0.3 @stable */\n drawGannFan(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"gann-fan\"]);\n },\n /** Phase-3 `pitchfork` drawing kind. @since 0.3 @stable */\n drawPitchfork(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"pitchfork\"]);\n },\n /** Phase-3 `pitchfan` drawing kind. @since 0.3 @stable */\n drawPitchfan(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"pitchfan\"]);\n },\n /** Phase-3 `xabcd-pattern` drawing kind. @since 0.3 @stable */\n drawXabcdPattern(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"xabcd-pattern\"]);\n },\n /** Phase-3 `cypher-pattern` drawing kind. @since 0.3 @stable */\n drawCypherPattern(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"cypher-pattern\"]);\n },\n /** Phase-3 `head-and-shoulders` drawing kind. @since 0.3 @stable */\n drawHeadAndShoulders(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"head-and-shoulders\"]);\n },\n /** Phase-3 `abcd-pattern` drawing kind. @since 0.3 @stable */\n drawAbcdPattern(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"abcd-pattern\"]);\n },\n /** Phase-3 `triangle-pattern` drawing kind. @since 0.3 @stable */\n drawTrianglePattern(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"triangle-pattern\"]);\n },\n /** Phase-3 `three-drives-pattern` drawing kind. @since 0.3 @stable */\n drawThreeDrivesPattern(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"three-drives-pattern\"]);\n },\n /** Phase-3 `elliott-impulse-wave` drawing kind. @since 0.3 @stable */\n drawElliottImpulseWave(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"elliott-impulse-wave\"]);\n },\n /** Phase-3 `elliott-correction-wave` drawing kind. @since 0.3 @stable */\n drawElliottCorrectionWave(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"elliott-correction-wave\"]);\n },\n /** Phase-3 `elliott-triangle-wave` drawing kind. @since 0.3 @stable */\n drawElliottTriangleWave(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"elliott-triangle-wave\"]);\n },\n /** Phase-3 `elliott-double-combo` drawing kind. @since 0.3 @stable */\n drawElliottDoubleCombo(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"elliott-double-combo\"]);\n },\n /** Phase-3 `elliott-triple-combo` drawing kind. @since 0.3 @stable */\n drawElliottTripleCombo(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"elliott-triple-combo\"]);\n },\n /** Phase-3 `cyclic-lines` drawing kind. @since 0.3 @stable */\n drawCyclicLines(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"cyclic-lines\"]);\n },\n /** Phase-3 `time-cycles` drawing kind. @since 0.3 @stable */\n drawTimeCycles(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"time-cycles\"]);\n },\n /** Phase-3 `sine-line` drawing kind. @since 0.3 @stable */\n drawSineLine(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"sine-line\"]);\n },\n /** Phase-3 `group` drawing kind. @since 0.3 @stable */\n drawGroup(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"group\"]);\n },\n /** Phase-3 `frame` drawing kind. @since 0.3 @stable */\n drawFrame(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"frame\"]);\n },\n /** Phase-5 `table` drawing kind. @since 0.5 @stable */\n drawTable(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"table\"]);\n },\n\n // ------------------------------------------------------------\n // Phase 3 — category-group builders (13). Each covers the kinds\n // of one §10.2 category. Combine via `union(...)` for adapters\n // that support multiple categories.\n // @since 0.3 @stable\n // ------------------------------------------------------------\n\n /** All 6 line / ray drawing kinds. @since 0.3 @stable */\n allLineDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"line\",\n \"horizontal-line\",\n \"horizontal-ray\",\n \"vertical-line\",\n \"cross-line\",\n \"trend-angle\",\n ]);\n },\n /**\n * All 8 box / shape drawing kinds. @since 0.3 @stable\n *\n * @remarks Capability categories are orthogonal to budget buckets:\n * `polyline` and `path` are budgeted under the `polylines` bucket\n * and `marker` under `labels` — not the `boxes` bucket (see\n * `bucketFor` in `@invinite-org/chartlang-core`). An adapter that\n * declares this set must size those buckets accordingly or those\n * three kinds drop with `drawing-budget-exceeded`.\n */\n allBoxDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"rectangle\",\n \"rotated-rectangle\",\n \"triangle\",\n \"polyline\",\n \"circle\",\n \"ellipse\",\n \"path\",\n \"marker\",\n ]);\n },\n /** All 3 curve drawing kinds. @since 0.3 @stable */\n allCurveDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"arc\", \"curve\", \"double-curve\"]);\n },\n /** All 3 freehand drawing kinds. @since 0.3 @stable */\n allFreehandDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"pen\", \"highlighter\", \"brush\"]);\n },\n /** All 5 annotation drawing kinds. @since 0.3 @stable */\n allAnnotationDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"text\",\n \"arrow\",\n \"arrow-marker\",\n \"arrow-mark-up\",\n \"arrow-mark-down\",\n ]);\n },\n /** All 4 channel drawing kinds. @since 0.3 @stable */\n allChannelDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"trend-channel\",\n \"flat-top-bottom\",\n \"disjoint-channel\",\n \"regression-trend\",\n ]);\n },\n /** All 10 fibonacci drawing kinds. @since 0.3 @stable */\n allFibDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"fib-retracement\",\n \"fib-trend-extension\",\n \"fib-channel\",\n \"fib-time-zone\",\n \"fib-wedge\",\n \"fib-speed-fan\",\n \"fib-speed-arcs\",\n \"fib-spiral\",\n \"fib-circles\",\n \"fib-trend-time\",\n ]);\n },\n /** All 4 gann drawing kinds. @since 0.3 @stable */\n allGannDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"gann-box\", \"gann-square-fixed\", \"gann-square\", \"gann-fan\"]);\n },\n /** All 2 pitchfork drawing kinds. @since 0.3 @stable */\n allPitchforkDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"pitchfork\", \"pitchfan\"]);\n },\n /** All 6 harmonic-pattern drawing kinds. @since 0.3 @stable */\n allPatternDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"xabcd-pattern\",\n \"cypher-pattern\",\n \"head-and-shoulders\",\n \"abcd-pattern\",\n \"triangle-pattern\",\n \"three-drives-pattern\",\n ]);\n },\n /** All 5 elliott-wave drawing kinds. @since 0.3 @stable */\n allElliottDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\n \"elliott-impulse-wave\",\n \"elliott-correction-wave\",\n \"elliott-triangle-wave\",\n \"elliott-double-combo\",\n \"elliott-triple-combo\",\n ]);\n },\n /** All 3 cycle drawing kinds. @since 0.3 @stable */\n allCycleDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"cyclic-lines\", \"time-cycles\", \"sine-line\"]);\n },\n /** All 2 container drawing kinds. @since 0.3 @stable */\n allContainerDrawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>([\"group\", \"frame\"]);\n },\n\n /**\n * Every drawing kind that ships in Phase 3 — the union of every\n * category group above. Canvas2d declares this set as its\n * `Capabilities.drawings` (Task 4) so the conformance suite\n * covers all 61 kinds end-to-end.\n *\n * @since 0.3\n * @stable\n */\n allPhase3Drawings(): ReadonlySet<DrawingKind> {\n return new Set<DrawingKind>(DRAWING_KINDS.filter((kind) => kind !== \"table\"));\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/capabilities/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nexport { PHASE_5_PLOT_KINDS, capabilities } from \"./capabilities.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"defineAdapter.js","sourceRoot":"","sources":["../src/defineAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAuC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,aAAa,CAAC,IAAuB;IACjD,OAAO;QACH,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,WAAW;KACvC,CAAC;AACN,CAAC;AAED,SAAS,WAAW;IAChB,oBAAoB;AACxB,CAAC"}
1
+ {"version":3,"file":"defineAdapter.js","sourceRoot":"","sources":["../src/defineAdapter.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAuC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,aAAa,CAAC,IAAuB;IACjD,OAAO;QACH,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,WAAW;KACvC,CAAC;AACN,CAAC;AAED,SAAS,WAAW;IAChB,oBAAoB;AACxB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { Adapter } from \"./types.js\";\n\n/**\n * Options accepted by {@link defineAdapter}. `dispose` is optional —\n * `defineAdapter` substitutes a no-op when omitted.\n *\n * @since 0.1\n * @stable\n * @example\n * const opts: DefineAdapterOpts = {\n * id: \"demo\",\n * name: \"Demo\",\n * capabilities: {\n * plots: new Set(),\n * drawings: new Set(),\n * alerts: new Set(),\n * alertConditions: false,\n * logs: false,\n * inputs: new Set(),\n * intervals: [],\n * multiTimeframe: false,\n * subPanes: 0,\n * symInfoFields: new Set(),\n * maxDrawingsPerScript: {\n * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,\n * },\n * maxLookback: 0,\n * maxTickHz: 0,\n * },\n * candles: () => ({ async *[Symbol.asyncIterator]() {} }),\n * onEmissions: () => {},\n * };\n */\nexport type DefineAdapterOpts = Omit<Adapter, \"dispose\"> & {\n readonly dispose?: () => void;\n};\n\n/**\n * Wrap an adapter description in a stable factory so consumer-repo\n * adapters get a single entry point + a default no-op `dispose`. The\n * returned object aliases the supplied callbacks by reference — no\n * normalisation, no cloning.\n *\n * @since 0.1\n * @stable\n * @example\n * import { defineAdapter, capabilities, mockCandleSource }\n * from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const adapter = defineAdapter({\n * id: \"demo\",\n * name: \"Demo\",\n * capabilities: {\n * plots: capabilities.allLines(),\n * drawings: new Set(),\n * alerts: new Set(),\n * alertConditions: false,\n * logs: false,\n * inputs: new Set(),\n * intervals: [],\n * multiTimeframe: false,\n * subPanes: 0,\n * symInfoFields: new Set(),\n * maxDrawingsPerScript: {\n * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,\n * },\n * maxLookback: 5000,\n * maxTickHz: 10,\n * },\n * candles: () => mockCandleSource([]),\n * onEmissions: () => {},\n * });\n * void adapter;\n */\nexport function defineAdapter(opts: DefineAdapterOpts): Adapter {\n return {\n id: opts.id,\n name: opts.name,\n capabilities: opts.capabilities,\n ...(opts.resolveInputs !== undefined ? { resolveInputs: opts.resolveInputs } : {}),\n ...(opts.symInfo !== undefined ? { symInfo: opts.symInfo } : {}),\n candles: opts.candles,\n onEmissions: opts.onEmissions,\n dispose: opts.dispose ?? noopDispose,\n };\n}\n\nfunction noopDispose(): void {\n // intentional no-op\n}\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nexport { KIND_BUCKET, bucketFor } from \"@invinite-org/chartlang-core\";\nexport type { DrawingBucket, DrawingState } from \"@invinite-org/chartlang-core\";\nexport { defineAdapter } from \"./defineAdapter.js\";\nexport type { DefineAdapterOpts } from \"./defineAdapter.js\";\nexport { PHASE_5_PLOT_KINDS, capabilities } from \"./capabilities/index.js\";\nexport { decodeDrawing, validateEmission } from \"./validation/index.js\";\nexport type { ValidationFail, ValidationOk, ValidationResult } from \"./validation/index.js\";\nexport { mockCandleSource } from \"./mocks/index.js\";\nexport type { MockCandleSourceMode, MockCandleSourceOpts } from \"./mocks/index.js\";\nexport { BufferingAdapter, PassThroughAdapter } from \"./base/index.js\";\nexport type {\n Adapter,\n AdapterSymInfo,\n AlertChannel,\n AlertConditionEmission,\n AlertEmission,\n Capabilities,\n CandleEvent,\n DiagnosticCode,\n DrawingCounts,\n DrawingEmission,\n DrawingKind,\n InputKind,\n LogEmission,\n PlotEmission,\n PlotKind,\n PlotOverride,\n PlotSlotDescriptor,\n PlotStyle,\n RunnerEmissions,\n RuntimeDiagnostic,\n SymInfoField,\n} from \"./types.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nexport { mockCandleSource } from \"./mockCandleSource.js\";\nexport type { MockCandleSourceMode, MockCandleSourceOpts } from \"./mockCandleSource.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mockCandleSource.js","sourceRoot":"","sources":["../../src/mocks/mockCandleSource.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AA6C/D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gBAAgB,CAC5B,IAAwB,EACxB,OAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE/C,MAAM,IAAI,GAAyB,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;IAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO;QACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBACjC,CAAC;gBACD,OAAO;YACX,CAAC;YACD,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"mockCandleSource.js","sourceRoot":"","sources":["../../src/mocks/mockCandleSource.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AA6C/D,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAE9B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gBAAgB,CAC5B,IAAwB,EACxB,OAA6B,EAAE,QAAQ,EAAE,IAAI,EAAE;IAE/C,MAAM,IAAI,GAAyB,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;IAC1D,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,IAAI,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClF,OAAO;QACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YACzB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;gBACjC,CAAC;gBACD,OAAO;YACX,CAAC;YACD,sBAAsB;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;YACzC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YACxD,KAAK,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,KAAa;IAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnD,IAAI,KAAK,GAAG,KAAK;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { Bar } from \"@invinite-org/chartlang-core\";\nimport type { CandleEvent } from \"../types.js\";\n\n/**\n * How a {@link mockCandleSource} surfaces the supplied bars:\n *\n * - `history` — yields one warm-up batch with every bar.\n * - `stream` — yields one `close` event per bar in array order.\n * - `history-then-stream` — yields one history batch containing all\n * but the last `streamTail` bars, then a `close` event per\n * remaining bar. Lets a consumer paint a chart instantly from\n * the warm-up batch and still receive per-bar ticks afterwards.\n *\n * @since 0.5\n * @stable\n * @example\n * const m: MockCandleSourceMode = \"history-then-stream\";\n */\nexport type MockCandleSourceMode = \"history\" | \"stream\" | \"history-then-stream\";\n\n/**\n * Options accepted by {@link mockCandleSource}. `interval` mirrors the\n * `Bar.interval` field; `mode` defaults to `\"history\"`. `streamTail`\n * applies only when `mode === \"history-then-stream\"` and defaults to\n * `1` — the smallest non-zero value, leaving a single tail bar to\n * stream after the warm-up batch. `streamTail` is clamped to\n * `[0, bars.length]`.\n *\n * @since 0.5\n * @stable\n * @example\n * const o: MockCandleSourceOpts = {\n * interval: \"1D\",\n * mode: \"history-then-stream\",\n * streamTail: 20,\n * };\n */\nexport type MockCandleSourceOpts = {\n readonly interval: string;\n readonly mode?: MockCandleSourceMode;\n readonly streamTail?: number;\n};\n\nconst DEFAULT_STREAM_TAIL = 1;\n\n/**\n * Wrap a static `Bar[]` array in an `AsyncIterable<CandleEvent>` the\n * runtime + conformance tests can drive directly.\n *\n * - `\"history\"` (default) — yields exactly one\n * `{ kind: \"history\", bars }` event.\n * - `\"stream\"` — yields one `{ kind: \"close\", bar }` per bar in array\n * order.\n * - `\"history-then-stream\"` — yields a single\n * `{ kind: \"history\", bars }` event for all but the trailing\n * `streamTail` bars (default `1`), then one `{ kind: \"close\", bar }`\n * per remaining bar. With `streamTail` clamped to `[0, bars.length]`,\n * `streamTail === 0` degenerates to a pure history batch and\n * `streamTail >= bars.length` yields an empty history batch followed\n * by a close-per-bar.\n *\n * @since 0.1\n * @stable\n * @example\n * import { mockCandleSource } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const source = mockCandleSource([], { interval: \"1D\" });\n * for await (const e of source) {\n * void e;\n * }\n */\nexport function mockCandleSource(\n bars: ReadonlyArray<Bar>,\n opts: MockCandleSourceOpts = { interval: \"1D\" },\n): AsyncIterable<CandleEvent> {\n const mode: MockCandleSourceMode = opts.mode ?? \"history\";\n const streamTail = clampTail(opts.streamTail ?? DEFAULT_STREAM_TAIL, bars.length);\n return {\n async *[Symbol.asyncIterator](): AsyncIterator<CandleEvent> {\n if (mode === \"history\") {\n yield { kind: \"history\", bars };\n return;\n }\n if (mode === \"stream\") {\n for (const bar of bars) {\n yield { kind: \"close\", bar };\n }\n return;\n }\n // history-then-stream\n const splitAt = bars.length - streamTail;\n yield { kind: \"history\", bars: bars.slice(0, splitAt) };\n for (let i = splitAt; i < bars.length; i += 1) {\n yield { kind: \"close\", bar: bars[i] };\n }\n },\n };\n}\n\nfunction clampTail(value: number, total: number): number {\n if (!Number.isFinite(value) || value < 0) return 0;\n if (value > total) return total;\n return Math.floor(value);\n}\n"]}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type {\n AlertSeverity,\n Bar,\n Color,\n DrawingCounts as CoreDrawingCounts,\n DrawingKind as CoreDrawingKind,\n InputKind as CoreInputKind,\n PlotKind as CorePlotKind,\n PlotOverride as CorePlotOverride,\n PlotSlotDescriptor as CorePlotSlotDescriptor,\n DrawingState,\n IntervalDescriptor,\n JsonValue,\n LineStyle,\n LogLevel,\n SymbolType,\n} from \"@invinite-org/chartlang-core\";\n\n/**\n * Adapter-supplied candle event the runtime consumes through\n * `Adapter.candles(...)`. `history` is a batched warm-up payload; `close`\n * carries a finalised bar; `tick` carries an intra-bar update that the\n * runtime applies to the current bar's head slot.\n *\n * @since 0.1\n * @stable\n * @example\n * const evt: CandleEvent = { kind: \"history\", bars: [] };\n */\nexport type CandleEvent =\n | {\n readonly kind: \"history\";\n readonly bars: ReadonlyArray<Bar>;\n /**\n * Secondary-stream key. Omit for the main stream; set to a\n * requested interval value such as `\"1D\"` for MTF candles.\n *\n * @since 0.5\n */\n readonly streamKey?: string;\n }\n | {\n readonly kind: \"close\";\n readonly bar: Bar;\n /**\n * Secondary-stream key. Omit for the main stream; set to a\n * requested interval value such as `\"1D\"` for MTF candles.\n *\n * @since 0.5\n */\n readonly streamKey?: string;\n }\n | {\n readonly kind: \"tick\";\n readonly bar: Bar;\n /**\n * Secondary-stream key. Omit for the main stream; set to a\n * requested interval value such as `\"1D\"` for MTF candles.\n *\n * @since 0.5\n */\n readonly streamKey?: string;\n };\n\n/**\n * Indicator plot styles Phase 1 ships. Re-exported from\n * `@invinite-org/chartlang-core` so the script-facing and adapter-facing\n * surfaces stay in lock-step — the full PLAN §7.2 set lands in Phase 2+,\n * additively, in the core declaration. Pinned set — additive only across\n * `apiVersion: 1.x`.\n *\n * @since 0.1\n * @stable\n * @example\n * const k: PlotKind = \"line\";\n */\nexport type PlotKind = CorePlotKind;\n\n/**\n * One plotted-slot descriptor in `ScriptManifest.plots`. Re-exported\n * from `@invinite-org/chartlang-core` so the script-facing and\n * adapter-facing surfaces stay in lockstep — adapter authors key\n * style/visibility UI rows by the stable `slotId`.\n *\n * @since 0.8\n * @stable\n * @example\n * const slot: PlotSlotDescriptor = {\n * slotId: \"ema.ts:12:5#0\",\n * kind: \"line\",\n * title: \"EMA\",\n * };\n * void slot;\n */\nexport type PlotSlotDescriptor = CorePlotSlotDescriptor;\n\n/**\n * Host-supplied presentation override for a single plot slot, keyed by\n * `PlotEmission.slotId`. Re-exported from `@invinite-org/chartlang-core`\n * so adapter authors and hosts share the same shape. Applied by the\n * runtime at emit time; never affects `compute`.\n *\n * @since 0.8\n * @stable\n * @example\n * const override: PlotOverride = { visible: false, color: \"#ff0000\" };\n * void override;\n */\nexport type PlotOverride = CorePlotOverride;\n\n/**\n * Drawing kind discriminator. Phase 3 widens the Phase-1 `\"line\"`\n * placeholder to the full 61-entry kebab-case union — re-exported from\n * `@invinite-org/chartlang-core`. The wire format is kebab-case; the\n * camelCase TypeScript surface (`draw.horizontalLine`,\n * `draw.fibRetracement`, …) is pinned via core's\n * `KIND_CAMELCASE` / `KIND_KEBABCASE` bijection. Phase-1 / Phase-2\n * adapter code that wrote `drawingKind: \"line\"` keeps compiling — the\n * widening is purely additive. Pinned set — additive only across\n * `apiVersion: 1.x`.\n *\n * @since 0.1\n * @stable\n * @example\n * const k: DrawingKind = \"fib-retracement\";\n * void k;\n */\nexport type DrawingKind = CoreDrawingKind;\n\n/**\n * Channels an alert emission can be dispatched on. Adapters declare the\n * subset they support via `Capabilities.alerts`; emissions to unsupported\n * channels drop with `unsupported-alert-channel`.\n *\n * @since 0.1\n * @stable\n * @example\n * const c: AlertChannel = \"toast\";\n */\nexport type AlertChannel = \"log\" | \"toast\" | \"webhook\" | \"email\" | \"sms\" | \"push\";\n\n/**\n * Input families an adapter is willing to surface in the script-settings\n * UI. Phase-1 example scripts use defaults only; `input.*` runtime\n * resolution lands in Phase 4.\n *\n * @since 0.1\n * @stable\n * @example\n * const k: InputKind = \"int\";\n */\nexport type InputKind = CoreInputKind;\n\n/**\n * `syminfo.*` fields the adapter populates. Phase-1 scripts don't read\n * symbol metadata; the type is here so consumer-repo adapters can pin\n * against a stable shape now.\n *\n * @since 0.1\n * @stable\n * @example\n * const f: SymInfoField = \"ticker\";\n */\nexport type SymInfoField =\n | \"ticker\"\n | \"type\"\n | \"mintick\"\n | \"currency\"\n | \"basecurrency\"\n | \"exchange\"\n | \"timezone\"\n | \"session\"\n | \"meta\";\n\n/**\n * Adapter-supplied per-mount symbol metadata payload consumed by the\n * runtime's `syminfo.*` view builder.\n *\n * @since 0.4\n * @stable\n * @example\n * const info: AdapterSymInfo = {\n * ticker: \"DEMO\",\n * type: \"equity\",\n * mintick: 0.01,\n * };\n * void info;\n */\nexport type AdapterSymInfo = Readonly<{\n ticker?: string;\n type?: SymbolType;\n mintick?: number;\n currency?: string;\n basecurrency?: string;\n exchange?: string;\n timezone?: string;\n session?: string;\n meta?: Readonly<Record<string, JsonValue>>;\n}>;\n\n/**\n * Per-script drawing-emission budget. Excess `draw.*` calls fall back to\n * no-op + `drawing-budget-exceeded`. Mirrors Pine's `max_*_count` family.\n *\n * Canonical declaration lives in `@invinite-org/chartlang-core/types`\n * (Phase 3) so `ScriptManifest.maxDrawings?` and\n * `Capabilities.maxDrawingsPerScript` pin the same shape — the public\n * surface here is preserved via a type re-export. The re-export\n * preserves the `adapter-kit → core` dependency direction.\n *\n * @since 0.1\n * @stable\n * @example\n * const c: DrawingCounts = {\n * lines: 50, labels: 50, boxes: 50, polylines: 50, other: 50,\n * };\n * void c;\n */\nexport type DrawingCounts = CoreDrawingCounts;\n\n/**\n * Capability bag an adapter declares. The runtime, host-worker, and\n * editor all gate emissions through this shape. Primitives outside the\n * declared set become silent no-ops + diagnostic (PLAN §7.4).\n * Capability keys are pinned — additive only across `apiVersion: 1.x`.\n *\n * Phase 1 omits `feedExternalSeries`-related `inputs` entries from any\n * declared subset; Phase 4 wires the surface.\n *\n * @since 0.1\n * @stable\n * @example\n * const c: Capabilities = {\n * plots: new Set([\"line\"]),\n * drawings: new Set(),\n * alerts: new Set([\"toast\"]),\n * alertConditions: false,\n * logs: false,\n * inputs: new Set(),\n * intervals: [],\n * multiTimeframe: false,\n * subPanes: 0,\n * symInfoFields: new Set(),\n * maxDrawingsPerScript: {\n * lines: 0, labels: 0, boxes: 0, polylines: 0, other: 0,\n * },\n * maxLookback: 5000,\n * maxTickHz: 10,\n * };\n */\nexport type Capabilities = {\n readonly plots: ReadonlySet<PlotKind>;\n readonly drawings: ReadonlySet<DrawingKind>;\n readonly alerts: ReadonlySet<AlertChannel>;\n /**\n * Whether the adapter can route `defineAlertCondition` user-wired\n * alerts per PLAN §11.2.\n *\n * @since 0.4\n * @stable\n * @example\n * const enabled: Capabilities[\"alertConditions\"] = false;\n * void enabled;\n */\n readonly alertConditions: boolean;\n /**\n * Whether the adapter renders `runtime.log.*` messages per PLAN §11.3.\n *\n * @since 0.4\n * @stable\n * @example\n * const enabled: Capabilities[\"logs\"] = false;\n * void enabled;\n */\n readonly logs: boolean;\n readonly inputs: ReadonlySet<InputKind>;\n /**\n * Timeframes this adapter can deliver candles for. Order is meaningful\n * for editor pickers and `request.security` validation (PLAN §4.5).\n *\n * @since 0.4\n * @stable\n * @example\n * const intervals: Capabilities[\"intervals\"] = [\n * { value: \"1D\", label: \"1 day\", group: \"daily\" },\n * ];\n * void intervals;\n */\n readonly intervals: ReadonlyArray<IntervalDescriptor>;\n /**\n * Whether the adapter can deliver more than one candle stream per script\n * load. `false` triggers the Phase 4 all-NaN fallback for\n * `request.security` (PLAN §4.5).\n *\n * @since 0.4\n * @stable\n * @example\n * const enabled: Capabilities[\"multiTimeframe\"] = false;\n * void enabled;\n */\n readonly multiTimeframe: boolean;\n /**\n * Max number of sub-panes the adapter can render for one script. Use\n * `Number.MAX_SAFE_INTEGER` as the unlimited sentinel per PLAN §7.2.\n *\n * @since 0.4\n * @stable\n * @example\n * const max: Capabilities[\"subPanes\"] = Number.MAX_SAFE_INTEGER;\n * void max;\n */\n readonly subPanes: number;\n /**\n * `syminfo.*` fields this adapter populates. Missing fields evaluate to\n * empty sentinels per PLAN §4.8.\n *\n * @since 0.4\n * @stable\n * @example\n * const fields: Capabilities[\"symInfoFields\"] = new Set([\"ticker\"]);\n * void fields;\n */\n readonly symInfoFields: ReadonlySet<SymInfoField>;\n /**\n * Per-script drawing-emission budget consumed by runtime drawing gates\n * and bucketed by PLAN §10 drawing categories.\n *\n * @since 0.4\n * @stable\n * @example\n * const counts: Capabilities[\"maxDrawingsPerScript\"] = {\n * lines: 50, labels: 50, boxes: 50, polylines: 50, other: 50,\n * };\n * void counts;\n */\n readonly maxDrawingsPerScript: DrawingCounts;\n readonly maxLookback: number;\n readonly maxTickHz: number;\n};\n\n/**\n * Plot style discriminated union. Phase 1 shipped `line` / `step-line` /\n * `horizontal-line`; Phase 2 adds `histogram` / `area` /\n * `filled-band` / `label` / `marker` per PLAN §7.3. Phase 5 will extend\n * further (`shape`, `character`, `arrow`, `vertical-line`,\n * `bar-override`, …). Every expansion is additive — `apiVersion: 1`\n * scripts stay valid.\n *\n * @since 0.1\n * @stable\n * @example\n * const line: PlotStyle = { kind: \"line\", lineWidth: 1, lineStyle: \"solid\" };\n * const hist: PlotStyle = { kind: \"histogram\", baseline: 0 };\n * const band: PlotStyle = { kind: \"filled-band\", upper: 1, lower: -1, alpha: 0.2 };\n * void line; void hist; void band;\n */\nexport type PlotStyle =\n | {\n readonly kind: \"line\";\n readonly lineWidth: number;\n readonly lineStyle: LineStyle;\n }\n | {\n readonly kind: \"step-line\";\n readonly lineWidth: number;\n readonly lineStyle: LineStyle;\n }\n | {\n readonly kind: \"horizontal-line\";\n readonly lineWidth: number;\n readonly lineStyle: LineStyle;\n }\n /** Phase 2 — column rising from `baseline` to `value`. @since 0.2 */\n | {\n readonly kind: \"histogram\";\n readonly baseline: number;\n }\n /** Phase 2 — filled polygon under a polyline. @since 0.2 */\n | {\n readonly kind: \"area\";\n readonly lineWidth: number;\n readonly lineStyle: LineStyle;\n readonly fillAlpha: number;\n }\n /** Phase 2 — region between two polylines. `upper` / `lower` may be\n * `null` to mark a per-bar gap; both `null` is rejected by\n * {@link validateEmission}. @since 0.2 */\n | {\n readonly kind: \"filled-band\";\n readonly upper: number | null;\n readonly lower: number | null;\n readonly alpha: number;\n }\n /** Phase 2 — text annotation anchored above / below / at the value.\n * @since 0.2 */\n | {\n readonly kind: \"label\";\n readonly text: string;\n readonly position: \"above\" | \"below\" | \"anchor\";\n }\n /** Phase 2 — discrete glyph at the value. @since 0.2 */\n | {\n readonly kind: \"marker\";\n readonly shape: \"circle\" | \"triangle-up\" | \"triangle-down\" | \"square\" | \"diamond\";\n readonly size: number;\n }\n /** Phase 5 — Pine `plotshape` glyph at the plot anchor. @since 0.5 */\n | {\n readonly kind: \"shape\";\n readonly shape:\n | \"circle\"\n | \"triangle-up\"\n | \"triangle-down\"\n | \"square\"\n | \"diamond\"\n | \"cross\"\n | \"xcross\"\n | \"flag\";\n readonly size: number;\n readonly location?: \"above\" | \"below\" | \"absolute\";\n }\n /** Phase 5 — Pine `plotchar` text glyph at the plot anchor. @since 0.5 */\n | {\n readonly kind: \"character\";\n readonly char: string;\n readonly size: number;\n readonly location?: \"above\" | \"below\" | \"absolute\";\n }\n /** Phase 5 — Pine `plotarrow` directional marker. @since 0.5 */\n | {\n readonly kind: \"arrow\";\n readonly direction: \"up\" | \"down\";\n readonly size: number;\n }\n /** Phase 5 — Pine `plotcandle` body-color override. @since 0.5 */\n | {\n readonly kind: \"candle-override\";\n readonly bull: Color;\n readonly bear: Color;\n readonly doji?: Color;\n }\n /** Phase 5 — Pine `plotbar` outline-color override. @since 0.5 */\n | {\n readonly kind: \"bar-override\";\n readonly color: Color;\n }\n /** Phase 5 — Pine `bgcolor` background band. @since 0.5 */\n | {\n readonly kind: \"bg-color\";\n readonly color: Color;\n readonly transp?: number;\n }\n /** Phase 5 — Pine `barcolor` candle/bar tint. @since 0.5 */\n | {\n readonly kind: \"bar-color\";\n readonly color: Color;\n }\n /** Phase 5 — volume-profile horizontal histogram buckets. @since 0.5 */\n | {\n readonly kind: \"horizontal-histogram\";\n readonly buckets: ReadonlyArray<\n Readonly<{ readonly price: number; readonly volume: number; readonly color?: Color }>\n >;\n };\n\n/**\n * A `plot()` / `hline()` emission the runtime sends to the adapter.\n * Numeric `value: null` is the wire-level \"skip this bar\" — NaN/Infinity\n * are forbidden in `value` and anywhere in `meta` (PLAN §7.3 universal\n * payload rules).\n *\n * @since 0.1\n * @stable\n * @example\n * const e: PlotEmission = {\n * kind: \"plot\",\n * slotId: \"ema-cross.ts:12:5#0\",\n * title: \"EMA\",\n * style: { kind: \"line\", lineWidth: 1, lineStyle: \"solid\" },\n * bar: 100,\n * time: 1_700_000_000_000,\n * value: 42.31,\n * color: \"#3b82f6\",\n * meta: {},\n * pane: \"overlay\",\n * };\n */\nexport type PlotEmission = {\n readonly kind: \"plot\";\n readonly slotId: string;\n readonly title: string;\n readonly style: PlotStyle;\n readonly bar: number;\n readonly time: number;\n readonly value: number | null;\n readonly color: string | null;\n readonly meta: Readonly<Record<string, JsonValue>>;\n readonly pane: \"overlay\" | \"new\" | string;\n /**\n * Omitted ⇒ visible. Set to `false` by the runtime when a host\n * override hides this slot; the adapter SHOULD skip rendering and\n * y-scale inclusion but keep the slot listed.\n *\n * @since 0.8\n * @stable\n * @example\n * const hidden: PlotEmission[\"visible\"] = false;\n * void hidden;\n */\n readonly visible?: boolean;\n};\n\n/**\n * An `alert()` emission. `dedupeKey` is computed by the runtime\n * (`slotId + bar + hash(message + meta)`) and adapters that dispatch\n * via async channels MUST use it for idempotency.\n *\n * @since 0.1\n * @stable\n * @example\n * const e: AlertEmission = {\n * kind: \"alert\",\n * slotId: \"rsi.ts:42:1#0\",\n * severity: \"warning\",\n * message: \"RSI divergence\",\n * bar: 200,\n * time: 1_700_000_000_000,\n * meta: {},\n * channels: [\"toast\"],\n * dedupeKey: \"rsi.ts:42:1#0|200|deadbeef\",\n * };\n */\nexport type AlertEmission = {\n readonly kind: \"alert\";\n readonly slotId: string;\n readonly severity: AlertSeverity;\n readonly message: string;\n readonly bar: number;\n readonly time: number;\n readonly meta: Readonly<Record<string, JsonValue>>;\n readonly channels: ReadonlyArray<AlertChannel>;\n readonly dedupeKey: string;\n};\n\n/**\n * Per-bar emission produced by `ComputeContext.signal(conditionId, fired)`.\n * Adapters route these named, user-wired conditions to delivery channels\n * configured in their own UI.\n *\n * @since 0.5\n * @stable\n * @example\n * const e: AlertConditionEmission = {\n * kind: \"alert-condition\",\n * conditionId: \"bullishCross\",\n * title: \"Bullish cross\",\n * description: \"Fast EMA crossed above slow EMA\",\n * defaultMessage: \"{{ticker}} crossed up\",\n * fired: true,\n * bar: 42,\n * time: 1_700_000_000_000,\n * };\n * void e;\n */\nexport type AlertConditionEmission = {\n readonly kind: \"alert-condition\";\n readonly conditionId: string;\n readonly title: string;\n readonly description: string;\n readonly defaultMessage: string;\n readonly fired: boolean;\n readonly bar: number;\n readonly time: number;\n};\n\n/**\n * Per-bar debug log produced by `runtime.log.info/warn/error(...)`.\n * Logs are capability-gated by `Capabilities.logs`; disabled logs are\n * silent no-ops because they are debugging output rather than signal.\n *\n * @since 0.5\n * @stable\n * @example\n * const e: LogEmission = {\n * kind: \"log\",\n * level: \"info\",\n * message: \"ema warmed\",\n * meta: { ema: 42 },\n * bar: 10,\n * time: 1_700_000_000_000,\n * };\n * void e;\n */\nexport type LogEmission = {\n readonly kind: \"log\";\n readonly level: LogLevel;\n readonly message: string;\n readonly meta?: Readonly<Record<string, JsonValue>>;\n readonly bar: number;\n readonly time: number;\n};\n\n/**\n * A `draw.*` emission. Phase 3 narrows `state` from `unknown` to the\n * typed {@link DrawingState} discriminated union. `op: \"create\"`\n * carries the initial state; `op: \"update\"` carries the FULL merged\n * state per the §10.3 full-state semantic (not a patch); `op:\n * \"remove\"` carries the last-known state.\n *\n * @since 0.1\n * @stable\n * @example\n * const e: DrawingEmission = {\n * kind: \"drawing\",\n * handleId: \"ph3.ts:1:1#0\",\n * drawingKind: \"line\",\n * op: \"create\",\n * state: {\n * kind: \"line\",\n * anchors: [{ time: 0, price: 0 }, { time: 1, price: 1 }],\n * style: {},\n * },\n * bar: 0,\n * time: 0,\n * };\n * void e;\n */\nexport type DrawingEmission = {\n readonly kind: \"drawing\";\n readonly handleId: string;\n readonly drawingKind: DrawingKind;\n readonly op: \"create\" | \"update\" | \"remove\";\n readonly state: DrawingState;\n readonly bar: number;\n readonly time: number;\n};\n\n/**\n * Stable machine-readable diagnostic code emitted by the runtime / host\n * when an emission is dropped, an input fails coercion, or a budget is\n * exceeded. Pinned set — additive only across `apiVersion: 1.x`.\n *\n * Phase 7 adds the `dep-*` family covering compile-time and runtime\n * failures of the indicator-composition surface introduced by\n * `CompiledScriptObject.output` / `.withInputs`:\n *\n * - `dep-error` — dependency `compute` threw; parent's bar dropped.\n * - `dep-cycle` — compile-time dependency cycle detected.\n * - `dep-unknown-output` — `<binding>.output(\"x\")` references a title\n * the producer doesn't emit via `plot(value, { title })`.\n * - `dep-invalid-input-override` — `.withInputs({...})` carries a key\n * not in the producer's `inputs` schema, or fails coercion.\n * - `dep-dynamic` — dep binding cannot be statically resolved\n * (non-`const`, conditional initialiser, computed access).\n * - `dep-output-not-titled` — producer's `plot(...)` has no `title`,\n * so consumers cannot reference it by name.\n *\n * @since 0.1\n * @stable\n * @example\n * const code: DiagnosticCode = \"unsupported-plot-kind\";\n * const dep: DiagnosticCode = \"dep-cycle\";\n * void code;\n * void dep;\n */\nexport type DiagnosticCode =\n | \"unsupported-plot-kind\"\n | \"unsupported-drawing-kind\"\n | \"unsupported-alert-channel\"\n | \"unsupported-pane\"\n | \"unsupported-interval\"\n | \"multi-timeframe-not-supported\"\n | \"unknown-secondary-stream\"\n | \"lookback-exceeded\"\n | \"drawing-budget-exceeded\"\n | \"dropped-by-policy\"\n | \"input-coercion-failed\"\n | \"alert-conditions-not-supported\"\n | \"unknown-alert-condition\"\n | \"alert-rate-limited\"\n | \"runtime-cpu-budget-exceeded\"\n | \"runtime-memory-budget-exceeded\"\n | \"runtime-log-budget-exceeded\"\n | \"malformed-log-meta\"\n | \"runtime-error-thrown\"\n | \"session-info-missing\"\n | \"fixed-range-inverted\"\n | \"state-snapshot-restored\"\n | \"state-snapshot-future-dated\"\n | \"state-snapshot-malformed\"\n | \"state-snapshot-save-failed\"\n | \"malformed-emission\"\n | \"dep-error\"\n | \"dep-cycle\"\n | \"dep-unknown-output\"\n | \"dep-invalid-input-override\"\n | \"dep-dynamic\"\n | \"dep-output-not-titled\";\n\n/**\n * A non-rendered diagnostic the runtime / host surfaces to the editor +\n * error reporters. Never user-visible on its own.\n *\n * @since 0.1\n * @stable\n * @example\n * const d: RuntimeDiagnostic = {\n * kind: \"diagnostic\",\n * severity: \"warning\",\n * code: \"unsupported-plot-kind\",\n * message: \"plot kind 'area' not in adapter capabilities\",\n * slotId: \"ema.ts:1:1#0\",\n * bar: 10,\n * };\n */\nexport type RuntimeDiagnostic = {\n readonly kind: \"diagnostic\";\n readonly severity: \"info\" | \"warning\" | \"error\";\n readonly code: DiagnosticCode;\n readonly message: string;\n readonly slotId: string | null;\n readonly bar: number | null;\n};\n\n/**\n * Top-level drain payload the runtime hands `Adapter.onEmissions(...)`.\n * Phase 1 ships `plots` / `drawings` / `alerts` / `diagnostics`; Phase 5\n * additively adds `alertConditions` + `logs` (per PLAN §7.3).\n *\n * @since 0.1\n * @stable\n * @example\n * const e: RunnerEmissions = {\n * plots: [],\n * drawings: [],\n * alerts: [],\n * alertConditions: [],\n * logs: [],\n * diagnostics: [],\n * fromBar: 0,\n * toBar: 0,\n * };\n */\nexport type RunnerEmissions = {\n readonly plots: ReadonlyArray<PlotEmission>;\n readonly drawings: ReadonlyArray<DrawingEmission>;\n readonly alerts: ReadonlyArray<AlertEmission>;\n readonly alertConditions: ReadonlyArray<AlertConditionEmission>;\n readonly logs: ReadonlyArray<LogEmission>;\n readonly diagnostics: ReadonlyArray<RuntimeDiagnostic>;\n readonly fromBar: number;\n readonly toBar: number;\n};\n\n/**\n * The host-side contract every chartlang adapter implements. Phase 1\n * omits PLAN §7.1's optional `feedExternalSeries?` — that surface\n * arrives in Phase 4 alongside `input.external-series`. The shape is\n * additive, so consumer-repo adapters won't need a breaking change to\n * opt in later.\n *\n * @since 0.1\n * @stable\n * @example\n * declare const a: Adapter;\n * for await (const e of a.candles({ interval: \"chart\" })) {\n * void e;\n * }\n */\nexport type Adapter = {\n readonly id: string;\n readonly name: string;\n readonly capabilities: Capabilities;\n /**\n * Optional per-script input override resolver. Called by hosts at script\n * mount with the script id/name and merged over manifest defaults by the\n * runtime.\n *\n * @since 0.4\n * @stable\n * @example\n * const resolveInputs: Adapter[\"resolveInputs\"] = (scriptId) => ({\n * length: scriptId === \"demo\" ? 20 : 14,\n * });\n * void resolveInputs;\n */\n readonly resolveInputs?: (scriptId: string) => Readonly<Record<string, unknown>>;\n /**\n * Optional per-script plot-override resolver. Called by hosts at\n * mount with the script id/name; returns a `slotId → PlotOverride`\n * map the runtime applies to emissions. Presentation-only — never\n * affects `compute`. Hosts may also push live updates after mount\n * (see `ScriptHost.setPlotOverrides`).\n *\n * @since 0.8\n * @stable\n * @example\n * const resolvePlotOverrides: Adapter[\"resolvePlotOverrides\"] =\n * () => ({ \"ema.ts:12:5#0\": { visible: false } });\n * void resolvePlotOverrides;\n */\n readonly resolvePlotOverrides?: (scriptId: string) => Readonly<Record<string, PlotOverride>>;\n /**\n * Optional per-mount symbol metadata payload used to populate\n * `syminfo.*`. Fields are still gated by `capabilities.symInfoFields`.\n *\n * @since 0.4\n * @stable\n * @example\n * const info: Adapter[\"symInfo\"] = { ticker: \"DEMO\" };\n * void info;\n */\n readonly symInfo?: AdapterSymInfo;\n candles(opts: { interval: string | \"chart\" }): AsyncIterable<CandleEvent>;\n onEmissions(emissions: RunnerEmissions): void;\n dispose(): void;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"decodeDrawing.js","sourceRoot":"","sources":["../../src/validation/decodeDrawing.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAK/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,aAAa,CAAC,CAAkB;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,CAAC,CAAC,KAAK,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"decodeDrawing.js","sourceRoot":"","sources":["../../src/validation/decodeDrawing.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAK/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,aAAa,CAAC,CAAkB;IAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAY,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,OAAO,CAAC,CAAC,KAAK,CAAC;AACnB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport type { DrawingState } from \"@invinite-org/chartlang-core\";\n\nimport type { DrawingEmission } from \"../types.js\";\nimport { validateEmission } from \"./validateEmission.js\";\n\n/**\n * Narrow a {@link DrawingEmission} to its typed {@link DrawingState}.\n * Returns `null` when the emission fails the same validation\n * {@link validateEmission} runs — adapters that want to know WHY call\n * `validateEmission(e)` directly and inspect `.code` / `.message`.\n *\n * Successful narrows return `e.state` typed as `DrawingState`; the\n * caller can switch on `state.kind` for per-kind handling. The\n * validator pins `state.kind === e.drawingKind`, so the discriminator\n * is safe.\n *\n * @since 0.3\n * @stable\n * @example\n * import { decodeDrawing } from \"@invinite-org/chartlang-adapter-kit\";\n * import type { DrawingEmission } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * declare const e: DrawingEmission;\n * const state = decodeDrawing(e);\n * if (state !== null && state.kind === \"line\") {\n * const [from, to] = state.anchors;\n * void from;\n * void to;\n * }\n */\nexport function decodeDrawing(e: DrawingEmission): DrawingState | null {\n const result = validateEmission(e as unknown);\n if (!result.ok) return null;\n return e.state;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,+DAA+D;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nexport { decodeDrawing } from \"./decodeDrawing.js\";\nexport { validateEmission } from \"./validateEmission.js\";\nexport type { ValidationFail, ValidationOk, ValidationResult } from \"./validateEmission.js\";\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"validateEmission.js","sourceRoot":"","sources":["../../src/validation/validateEmission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateEmission.js","sourceRoot":"","sources":["../../src/validation/validateEmission.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) 2026 Invinite. Licensed under the MIT License.\n// See the LICENSE file in the repo root for full license text.\n\nimport { DRAWING_KINDS, type DrawingKind } from \"@invinite-org/chartlang-core\";\n\nimport type { DiagnosticCode } from \"../types.js\";\n\n/**\n * Successful validation. `e` was a well-formed Phase-1 emission and is\n * safe to forward across the structured-clone boundary.\n *\n * @since 0.1\n * @stable\n * @example\n * const r: ValidationOk = { ok: true };\n */\nexport type ValidationOk = { readonly ok: true };\n\n/**\n * Failed validation. `code` is `\"malformed-emission\"` for shape errors\n * and `\"unsupported-drawing-kind\"` for the Phase-1 drawing stub.\n *\n * @since 0.1\n * @stable\n * @example\n * const r: ValidationFail = {\n * ok: false,\n * code: \"malformed-emission\",\n * message: \"not an object\",\n * };\n */\nexport type ValidationFail = {\n readonly ok: false;\n readonly code: DiagnosticCode;\n readonly message: string;\n};\n\n/**\n * Discriminated union returned by {@link validateEmission}.\n *\n * @since 0.1\n * @stable\n * @example\n * declare const r: ValidationResult;\n * if (r.ok) {\n * // pass through\n * } else {\n * console.error(r.code, r.message);\n * }\n */\nexport type ValidationResult = ValidationOk | ValidationFail;\n\nconst VALID_PLOT_STYLE_KINDS: ReadonlySet<string> = new Set([\n \"line\",\n \"step-line\",\n \"horizontal-line\",\n \"histogram\",\n \"area\",\n \"filled-band\",\n \"label\",\n \"marker\",\n \"shape\",\n \"character\",\n \"arrow\",\n \"candle-override\",\n \"bar-override\",\n \"bg-color\",\n \"bar-color\",\n \"horizontal-histogram\",\n]);\n\nconst VALID_LINE_STYLES: ReadonlySet<string> = new Set([\"solid\", \"dashed\", \"dotted\"]);\n\nconst VALID_MARKER_SHAPES: ReadonlySet<string> = new Set([\n \"circle\",\n \"triangle-up\",\n \"triangle-down\",\n \"square\",\n \"diamond\",\n]);\n\nconst VALID_SHAPE_GLYPHS: ReadonlySet<string> = new Set([\n \"circle\",\n \"triangle-up\",\n \"triangle-down\",\n \"square\",\n \"diamond\",\n \"cross\",\n \"xcross\",\n \"flag\",\n]);\n\nconst VALID_PLOT_LOCATIONS: ReadonlySet<string> = new Set([\"above\", \"below\", \"absolute\"]);\n\nconst VALID_ARROW_DIRECTIONS: ReadonlySet<string> = new Set([\"up\", \"down\"]);\n\nconst VALID_LABEL_POSITIONS: ReadonlySet<string> = new Set([\"above\", \"below\", \"anchor\"]);\n\nconst MAX_LABEL_LENGTH = 128;\n\nconst VALID_ALERT_SEVERITIES: ReadonlySet<string> = new Set([\"info\", \"warning\", \"critical\"]);\n\nconst VALID_LOG_LEVELS: ReadonlySet<string> = new Set([\"info\", \"warn\", \"error\"]);\n\nconst VALID_ALERT_CHANNELS: ReadonlySet<string> = new Set([\n \"log\",\n \"toast\",\n \"webhook\",\n \"email\",\n \"sms\",\n \"push\",\n]);\n\nconst VALID_DIAGNOSTIC_SEVERITIES: ReadonlySet<string> = new Set([\"info\", \"warning\", \"error\"]);\n\nconst VALID_DRAWING_KINDS: ReadonlySet<string> = new Set<string>(DRAWING_KINDS);\n\nconst VALID_DRAWING_OPS: ReadonlySet<string> = new Set([\"create\", \"update\", \"remove\"]);\n\nconst VALID_DIAGNOSTIC_CODES: ReadonlySet<string> = new Set<DiagnosticCode>([\n \"unsupported-plot-kind\",\n \"unsupported-drawing-kind\",\n \"unsupported-alert-channel\",\n \"unsupported-pane\",\n \"unsupported-interval\",\n \"multi-timeframe-not-supported\",\n \"unknown-secondary-stream\",\n \"lookback-exceeded\",\n \"drawing-budget-exceeded\",\n \"dropped-by-policy\",\n \"input-coercion-failed\",\n \"alert-conditions-not-supported\",\n \"unknown-alert-condition\",\n \"alert-rate-limited\",\n \"runtime-cpu-budget-exceeded\",\n \"runtime-memory-budget-exceeded\",\n \"runtime-log-budget-exceeded\",\n \"malformed-log-meta\",\n \"runtime-error-thrown\",\n \"session-info-missing\",\n \"fixed-range-inverted\",\n \"state-snapshot-restored\",\n \"state-snapshot-future-dated\",\n \"state-snapshot-malformed\",\n \"state-snapshot-save-failed\",\n \"malformed-emission\",\n \"dep-error\",\n \"dep-cycle\",\n \"dep-unknown-output\",\n \"dep-invalid-input-override\",\n \"dep-dynamic\",\n \"dep-output-not-titled\",\n]);\n\nfunction bad(message: string, code: DiagnosticCode = \"malformed-emission\"): ValidationFail {\n return { ok: false, code, message };\n}\n\nfunction isPlainObject(v: unknown): v is Record<string, unknown> {\n if (typeof v !== \"object\" || v === null) return false;\n const proto = Object.getPrototypeOf(v);\n return proto === Object.prototype || proto === null;\n}\n\nfunction isFiniteNumber(v: unknown): v is number {\n return typeof v === \"number\" && Number.isFinite(v);\n}\n\nfunction isNonNegativeInteger(v: unknown): v is number {\n return typeof v === \"number\" && Number.isInteger(v) && v >= 0;\n}\n\nfunction isNonEmptyString(v: unknown): v is string {\n return typeof v === \"string\" && v.length > 0;\n}\n\n/**\n * Walk a `meta` payload and reject any non-JSON-friendly element. Per\n * PLAN §7.3 universal payload rules: forbid `Map`, `Set`, `Date`,\n * `RegExp`, `bigint`, `Function`, `Symbol`, `undefined`, class\n * instances, and non-finite numbers anywhere in the tree.\n */\nfunction walkMeta(v: unknown, path: string): ValidationResult {\n if (v === null) return { ok: true };\n const t = typeof v;\n if (t === \"boolean\" || t === \"string\") return { ok: true };\n if (t === \"number\") {\n if (!Number.isFinite(v as number)) {\n return bad(`${path}: non-finite number`);\n }\n return { ok: true };\n }\n if (t === \"undefined\") return bad(`${path}: undefined values are forbidden`);\n if (t === \"bigint\") return bad(`${path}: bigint is forbidden`);\n if (t === \"function\") return bad(`${path}: function is forbidden`);\n if (t === \"symbol\") return bad(`${path}: symbol is forbidden`);\n // typeof === \"object\" from here.\n if (Array.isArray(v)) {\n for (let i = 0; i < v.length; i++) {\n const r = walkMeta(v[i], `${path}[${i}]`);\n if (!r.ok) return r;\n }\n return { ok: true };\n }\n if (!isPlainObject(v)) {\n return bad(`${path}: only plain objects are allowed`);\n }\n for (const key of Object.keys(v)) {\n // Use `Reflect.get` and a try/catch so a throwing-getter on the\n // meta payload (constructed via `Object.defineProperty(..., {\n // get() { throw … }})` either deliberately or by accident at a\n // serialisation boundary) converts to a `malformed-emission`\n // diagnostic instead of crashing the host.\n let child: unknown;\n try {\n child = Reflect.get(v, key);\n } catch {\n return bad(`${path}.${key}: getter threw during traversal`);\n }\n const r = walkMeta(child, `${path}.${key}`);\n if (!r.ok) return r;\n }\n return { ok: true };\n}\n\nfunction validateLineLikeStyle(style: Record<string, unknown>): ValidationResult {\n const lineWidth = style.lineWidth;\n if (!isFiniteNumber(lineWidth) || lineWidth <= 0) {\n return bad(\"style.lineWidth: must be a finite positive number\");\n }\n const lineStyle = style.lineStyle;\n if (typeof lineStyle !== \"string\" || !VALID_LINE_STYLES.has(lineStyle)) {\n return bad(`style.lineStyle: '${String(lineStyle)}' is not a valid line style`);\n }\n return { ok: true };\n}\n\nfunction validateAreaStyle(style: Record<string, unknown>): ValidationResult {\n const lineCheck = validateLineLikeStyle(style);\n if (!lineCheck.ok) return lineCheck;\n const fillAlpha = style.fillAlpha;\n if (!isFiniteNumber(fillAlpha) || fillAlpha < 0 || fillAlpha > 1) {\n return bad(\"style.fillAlpha: must be a finite number in [0, 1]\");\n }\n return { ok: true };\n}\n\nfunction validateHistogramStyle(style: Record<string, unknown>): ValidationResult {\n const baseline = style.baseline;\n if (!isFiniteNumber(baseline)) {\n return bad(\"style.baseline: must be a finite number\");\n }\n return { ok: true };\n}\n\nfunction validateFilledBandStyle(style: Record<string, unknown>): ValidationResult {\n const upper = style.upper;\n if (upper !== null && !isFiniteNumber(upper)) {\n return bad(\"style.upper: must be a finite number or null\");\n }\n const lower = style.lower;\n if (lower !== null && !isFiniteNumber(lower)) {\n return bad(\"style.lower: must be a finite number or null\");\n }\n if (upper === null && lower === null) {\n return bad(\"style.upper / style.lower: at least one bound must be non-null\");\n }\n const alpha = style.alpha;\n if (!isFiniteNumber(alpha) || alpha < 0 || alpha > 1) {\n return bad(\"style.alpha: must be a finite number in [0, 1]\");\n }\n return { ok: true };\n}\n\nfunction validateLabelStyle(style: Record<string, unknown>): ValidationResult {\n const text = style.text;\n if (typeof text !== \"string\" || text.length === 0) {\n return bad(\"style.text: must be a non-empty string\");\n }\n if (text.length > MAX_LABEL_LENGTH) {\n return bad(`style.text: must be at most ${MAX_LABEL_LENGTH} characters`);\n }\n const position = style.position;\n if (typeof position !== \"string\" || !VALID_LABEL_POSITIONS.has(position)) {\n return bad(`style.position: '${String(position)}' is not a valid label position`);\n }\n return { ok: true };\n}\n\nfunction validateMarkerStyle(style: Record<string, unknown>): ValidationResult {\n const shape = style.shape;\n if (typeof shape !== \"string\" || !VALID_MARKER_SHAPES.has(shape)) {\n return bad(`style.shape: '${String(shape)}' is not a valid marker shape`);\n }\n const size = style.size;\n if (!isFiniteNumber(size) || size <= 0) {\n return bad(\"style.size: must be a finite positive number\");\n }\n return { ok: true };\n}\n\nfunction validateOptionalLocation(style: Record<string, unknown>): ValidationResult {\n const location = style.location;\n if (\n location !== undefined &&\n (typeof location !== \"string\" || !VALID_PLOT_LOCATIONS.has(location))\n ) {\n return bad(`style.location: '${String(location)}' is not a valid plot location`);\n }\n return { ok: true };\n}\n\nfunction validatePlotShapeStyle(style: Record<string, unknown>): ValidationResult {\n const shape = style.shape;\n if (typeof shape !== \"string\" || !VALID_SHAPE_GLYPHS.has(shape)) {\n return bad(`style.shape: '${String(shape)}' is not a valid shape glyph`);\n }\n const size = style.size;\n if (!isFiniteNumber(size) || size <= 0) {\n return bad(\"style.size: must be a finite positive number\");\n }\n return validateOptionalLocation(style);\n}\n\nfunction validateCharacterStyle(style: Record<string, unknown>): ValidationResult {\n const char = style.char;\n if (typeof char !== \"string\" || char.length === 0) {\n return bad(\"style.char: must be a non-empty string\");\n }\n const size = style.size;\n if (!isFiniteNumber(size) || size <= 0) {\n return bad(\"style.size: must be a finite positive number\");\n }\n return validateOptionalLocation(style);\n}\n\nfunction validateArrowStyle(style: Record<string, unknown>): ValidationResult {\n const direction = style.direction;\n if (typeof direction !== \"string\" || !VALID_ARROW_DIRECTIONS.has(direction)) {\n return bad(`style.direction: '${String(direction)}' is not a valid arrow direction`);\n }\n const size = style.size;\n if (!isFiniteNumber(size) || size <= 0) {\n return bad(\"style.size: must be a finite positive number\");\n }\n return { ok: true };\n}\n\nfunction validateColor(value: unknown, path: string): ValidationResult {\n if (typeof value !== \"string\" || value.length === 0) {\n return bad(`${path}: must be a non-empty string`);\n }\n return { ok: true };\n}\n\nfunction validateCandleOverrideStyle(style: Record<string, unknown>): ValidationResult {\n const bull = validateColor(style.bull, \"style.bull\");\n if (!bull.ok) return bull;\n const bear = validateColor(style.bear, \"style.bear\");\n if (!bear.ok) return bear;\n if (style.doji !== undefined) {\n return validateColor(style.doji, \"style.doji\");\n }\n return { ok: true };\n}\n\nfunction validateSingleColorStyle(style: Record<string, unknown>, path: string): ValidationResult {\n return validateColor(style.color, path);\n}\n\nfunction validateBgColorStyle(style: Record<string, unknown>): ValidationResult {\n const color = validateSingleColorStyle(style, \"style.color\");\n if (!color.ok) return color;\n const transp = style.transp;\n if (transp !== undefined && (!isFiniteNumber(transp) || transp < 0 || transp > 100)) {\n return bad(\"style.transp: must be a finite number in [0, 100]\");\n }\n return { ok: true };\n}\n\nfunction validateHorizontalHistogramStyle(style: Record<string, unknown>): ValidationResult {\n const buckets = style.buckets;\n if (!Array.isArray(buckets)) {\n return bad(\"style.buckets: must be an array\");\n }\n for (let i = 0; i < buckets.length; i++) {\n const bucket = buckets[i];\n if (!isPlainObject(bucket)) {\n return bad(`style.buckets[${i}]: must be an object`);\n }\n if (!isFiniteNumber(bucket.price)) {\n return bad(`style.buckets[${i}].price: must be a finite number`);\n }\n if (!isFiniteNumber(bucket.volume) || bucket.volume < 0) {\n return bad(`style.buckets[${i}].volume: must be a finite non-negative number`);\n }\n if (bucket.color !== undefined) {\n const color = validateColor(bucket.color, `style.buckets[${i}].color`);\n if (!color.ok) return color;\n }\n }\n return { ok: true };\n}\n\nfunction validatePlotStyle(style: unknown): ValidationResult {\n if (!isPlainObject(style)) return bad(\"style: not an object\");\n const kind = style.kind;\n if (typeof kind !== \"string\" || !VALID_PLOT_STYLE_KINDS.has(kind)) {\n return bad(`style.kind: '${String(kind)}' is not a known plot kind`);\n }\n switch (kind) {\n case \"line\":\n case \"step-line\":\n case \"horizontal-line\":\n return validateLineLikeStyle(style);\n case \"histogram\":\n return validateHistogramStyle(style);\n case \"area\":\n return validateAreaStyle(style);\n case \"filled-band\":\n return validateFilledBandStyle(style);\n case \"label\":\n return validateLabelStyle(style);\n case \"marker\":\n return validateMarkerStyle(style);\n case \"shape\":\n return validatePlotShapeStyle(style);\n case \"character\":\n return validateCharacterStyle(style);\n case \"arrow\":\n return validateArrowStyle(style);\n case \"candle-override\":\n return validateCandleOverrideStyle(style);\n case \"bar-override\":\n case \"bar-color\":\n return validateSingleColorStyle(style, \"style.color\");\n case \"bg-color\":\n return validateBgColorStyle(style);\n case \"horizontal-histogram\":\n return validateHorizontalHistogramStyle(style);\n /* v8 ignore next 2 -- kind is already gated by VALID_PLOT_STYLE_KINDS */\n default:\n return bad(`style.kind: '${kind}' has no validator`);\n }\n}\n\nfunction validatePlotEmission(e: Record<string, unknown>): ValidationResult {\n if (!isNonEmptyString(e.slotId)) return bad(\"plot.slotId: must be a non-empty string\");\n if (typeof e.title !== \"string\") return bad(\"plot.title: must be a string\");\n const styleResult = validatePlotStyle(e.style);\n if (!styleResult.ok) return styleResult;\n if (!isNonNegativeInteger(e.bar)) {\n return bad(\"plot.bar: must be a non-negative integer\");\n }\n if (!isFiniteNumber(e.time)) return bad(\"plot.time: must be a finite number\");\n const value = e.value;\n if (value !== null && !isFiniteNumber(value)) {\n return bad(\"plot.value: must be a finite number or null\");\n }\n const color = e.color;\n if (color !== null && typeof color !== \"string\") {\n return bad(\"plot.color: must be a string or null\");\n }\n if (!isPlainObject(e.meta)) return bad(\"plot.meta: must be a plain object\");\n const metaResult = walkMeta(e.meta, \"plot.meta\");\n if (!metaResult.ok) return metaResult;\n if (typeof e.pane !== \"string\") return bad(\"plot.pane: must be a string\");\n if (e.visible !== undefined && typeof e.visible !== \"boolean\") {\n return bad(\"plot.visible: must be a boolean\");\n }\n return { ok: true };\n}\n\nfunction validateAlertEmission(e: Record<string, unknown>): ValidationResult {\n if (!isNonEmptyString(e.slotId)) return bad(\"alert.slotId: must be a non-empty string\");\n const severity = e.severity;\n if (typeof severity !== \"string\" || !VALID_ALERT_SEVERITIES.has(severity)) {\n return bad(`alert.severity: '${String(severity)}' is not a valid severity`);\n }\n if (!isNonEmptyString(e.message)) {\n return bad(\"alert.message: must be a non-empty string\");\n }\n if (!isNonNegativeInteger(e.bar)) {\n return bad(\"alert.bar: must be a non-negative integer\");\n }\n if (!isFiniteNumber(e.time)) return bad(\"alert.time: must be a finite number\");\n if (!isPlainObject(e.meta)) return bad(\"alert.meta: must be a plain object\");\n const metaResult = walkMeta(e.meta, \"alert.meta\");\n if (!metaResult.ok) return metaResult;\n const channels = e.channels;\n if (!Array.isArray(channels)) return bad(\"alert.channels: must be an array\");\n for (let i = 0; i < channels.length; i++) {\n const c = channels[i];\n if (typeof c !== \"string\" || !VALID_ALERT_CHANNELS.has(c)) {\n return bad(`alert.channels[${i}]: '${String(c)}' is not a valid alert channel`);\n }\n }\n if (!isNonEmptyString(e.dedupeKey)) {\n return bad(\"alert.dedupeKey: must be a non-empty string\");\n }\n return { ok: true };\n}\n\nfunction validateAlertConditionEmission(e: Record<string, unknown>): ValidationResult {\n if (!isNonEmptyString(e.conditionId)) {\n return bad(\"alert-condition.conditionId: must be a non-empty string\");\n }\n if (typeof e.title !== \"string\") {\n return bad(\"alert-condition.title: must be a string\");\n }\n if (typeof e.description !== \"string\") {\n return bad(\"alert-condition.description: must be a string\");\n }\n if (typeof e.defaultMessage !== \"string\") {\n return bad(\"alert-condition.defaultMessage: must be a string\");\n }\n if (typeof e.fired !== \"boolean\") {\n return bad(\"alert-condition.fired: must be a boolean\");\n }\n if (!isNonNegativeInteger(e.bar)) {\n return bad(\"alert-condition.bar: must be a non-negative integer\");\n }\n if (!isFiniteNumber(e.time)) {\n return bad(\"alert-condition.time: must be a finite number\");\n }\n return { ok: true };\n}\n\nfunction validateLogEmission(e: Record<string, unknown>): ValidationResult {\n const level = e.level;\n if (typeof level !== \"string\" || !VALID_LOG_LEVELS.has(level)) {\n return bad(`log.level: '${String(level)}' is not a valid log level`);\n }\n if (!isNonEmptyString(e.message)) {\n return bad(\"log.message: must be a non-empty string\");\n }\n const meta = e.meta;\n if (meta !== undefined) {\n if (!isPlainObject(meta)) return bad(\"log.meta: must be a plain object\");\n const metaResult = walkMeta(meta, \"log.meta\");\n if (!metaResult.ok) return metaResult;\n }\n if (!isNonNegativeInteger(e.bar)) {\n return bad(\"log.bar: must be a non-negative integer\");\n }\n if (!isFiniteNumber(e.time)) {\n return bad(\"log.time: must be a finite number\");\n }\n return { ok: true };\n}\n\nfunction isWorldPoint(v: unknown): v is { time: number; price: number } {\n if (!isPlainObject(v)) return false;\n return isFiniteNumber(v.time) && isFiniteNumber(v.price);\n}\n\nfunction validateAnchorFixed(v: unknown, path: string, count: number): ValidationResult {\n if (!Array.isArray(v) || v.length !== count) {\n return bad(`${path}: must be a ${count}-element WorldPoint tuple`);\n }\n for (let i = 0; i < count; i++) {\n if (!isWorldPoint(v[i])) {\n return bad(`${path}[${i}]: not a WorldPoint (need finite time + price)`);\n }\n }\n return { ok: true };\n}\n\nfunction validateAnchorPair(v: unknown, path: string): ValidationResult {\n return validateAnchorFixed(v, path, 2);\n}\n\nfunction validateAnchorTriple(v: unknown, path: string): ValidationResult {\n return validateAnchorFixed(v, path, 3);\n}\n\nfunction validateAnchorQuad(v: unknown, path: string): ValidationResult {\n return validateAnchorFixed(v, path, 4);\n}\n\nfunction validateAnchorQuint(v: unknown, path: string): ValidationResult {\n return validateAnchorFixed(v, path, 5);\n}\n\nfunction validateAnchorHept(v: unknown, path: string): ValidationResult {\n return validateAnchorFixed(v, path, 7);\n}\n\nfunction validateOptionalLabels(v: unknown, path: string, expectedCount: number): ValidationResult {\n if (v === undefined) return { ok: true };\n if (!Array.isArray(v) || v.length !== expectedCount) {\n return bad(`${path}: must be an array of ${expectedCount} strings`);\n }\n for (let i = 0; i < expectedCount; i++) {\n if (typeof v[i] !== \"string\") {\n return bad(`${path}[${i}]: must be a string`);\n }\n }\n return { ok: true };\n}\n\nfunction validateAnchorVariable(\n v: unknown,\n path: string,\n min: number,\n max: number,\n): ValidationResult {\n if (!Array.isArray(v) || v.length < min || v.length > max) {\n return bad(`${path}: must be an array of ${min}..${max} WorldPoints`);\n }\n for (let i = 0; i < v.length; i++) {\n if (!isWorldPoint(v[i])) {\n return bad(`${path}[${i}]: not a WorldPoint (need finite time + price)`);\n }\n }\n return { ok: true };\n}\n\nfunction validateLineDrawStyle(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.color !== undefined && typeof s.color !== \"string\") {\n return bad(`${path}.color: must be a string`);\n }\n if (s.lineWidth !== undefined && (!isFiniteNumber(s.lineWidth) || s.lineWidth <= 0)) {\n return bad(`${path}.lineWidth: must be a finite positive number`);\n }\n if (s.lineStyle !== undefined && !VALID_LINE_STYLES.has(String(s.lineStyle))) {\n return bad(`${path}.lineStyle: '${String(s.lineStyle)}' is not a valid line style`);\n }\n if (s.extendLeft !== undefined && typeof s.extendLeft !== \"boolean\") {\n return bad(`${path}.extendLeft: must be a boolean`);\n }\n if (s.extendRight !== undefined && typeof s.extendRight !== \"boolean\") {\n return bad(`${path}.extendRight: must be a boolean`);\n }\n return { ok: true };\n}\n\nfunction validateShapeStyle(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.stroke !== undefined && typeof s.stroke !== \"string\") {\n return bad(`${path}.stroke: must be a string`);\n }\n if (s.fill !== undefined && typeof s.fill !== \"string\") {\n return bad(`${path}.fill: must be a string`);\n }\n if (s.lineWidth !== undefined && (!isFiniteNumber(s.lineWidth) || s.lineWidth <= 0)) {\n return bad(`${path}.lineWidth: must be a finite positive number`);\n }\n if (s.lineStyle !== undefined && !VALID_LINE_STYLES.has(String(s.lineStyle))) {\n return bad(`${path}.lineStyle: '${String(s.lineStyle)}' is not a valid line style`);\n }\n if (\n s.fillAlpha !== undefined &&\n (!isFiniteNumber(s.fillAlpha) || s.fillAlpha < 0 || s.fillAlpha > 1)\n ) {\n return bad(`${path}.fillAlpha: must be a finite number in [0, 1]`);\n }\n return { ok: true };\n}\n\nfunction validateDrawingMeta(state: Record<string, unknown>): ValidationResult {\n if (state.name !== undefined && typeof state.name !== \"string\") {\n return bad(\"drawing.state.name: must be a string\");\n }\n if (state.visible !== undefined && typeof state.visible !== \"boolean\") {\n return bad(\"drawing.state.visible: must be a boolean\");\n }\n return { ok: true };\n}\n\nfunction validateLineState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateHorizontalLineState(state: Record<string, unknown>): ValidationResult {\n if (!isFiniteNumber(state.price)) return bad(\"drawing.state.price: must be a finite number\");\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateHorizontalRayState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateVerticalLineState(state: Record<string, unknown>): ValidationResult {\n if (!isFiniteNumber(state.time)) return bad(\"drawing.state.time: must be a finite number\");\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateCrossLineState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateTrendAngleState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateRectangleState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateShapeStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateRotatedRectangleState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuad(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateShapeStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateTriangleState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateShapeStyle(state.style, \"drawing.state.style\");\n}\n\nconst POLYLINE_MIN_ANCHORS = 3;\nconst POLYLINE_MAX_ANCHORS = 20;\n\nfunction validatePolylineState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorVariable(\n state.anchors,\n \"drawing.state.anchors\",\n POLYLINE_MIN_ANCHORS,\n POLYLINE_MAX_ANCHORS,\n );\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateCircleState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateShapeStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateEllipseState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateShapeStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validatePathOpts(s: unknown, path: string): ValidationResult {\n const lineCheck = validateLineDrawStyle(s, path);\n if (!lineCheck.ok) return lineCheck;\n // validateLineDrawStyle proved `s` is a plain object.\n const obj = s as Record<string, unknown>;\n if (obj.closed !== undefined && typeof obj.closed !== \"boolean\") {\n return bad(`${path}.closed: must be a boolean`);\n }\n return { ok: true };\n}\n\nconst PATH_MIN_ANCHORS = 2;\nconst PATH_MAX_ANCHORS = 20;\n\nfunction validatePathState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorVariable(\n state.anchors,\n \"drawing.state.anchors\",\n PATH_MIN_ANCHORS,\n PATH_MAX_ANCHORS,\n );\n if (!anchorsCheck.ok) return anchorsCheck;\n return validatePathOpts(state.style, \"drawing.state.style\");\n}\n\nconst VALID_TEXT_SIZES: ReadonlySet<string> = new Set([\"tiny\", \"small\", \"normal\", \"large\", \"huge\"]);\n\nconst VALID_TEXT_HALIGN: ReadonlySet<string> = new Set([\"left\", \"center\", \"right\"]);\n\nconst VALID_TEXT_VALIGN: ReadonlySet<string> = new Set([\"top\", \"middle\", \"bottom\"]);\n\nconst VALID_TABLE_POSITIONS: ReadonlySet<string> = new Set([\n \"top-left\",\n \"top-center\",\n \"top-right\",\n \"middle-left\",\n \"middle-center\",\n \"middle-right\",\n \"bottom-left\",\n \"bottom-center\",\n \"bottom-right\",\n]);\n\nfunction validateTextOpts(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.color !== undefined && typeof s.color !== \"string\") {\n return bad(`${path}.color: must be a string`);\n }\n if (s.size !== undefined && !VALID_TEXT_SIZES.has(String(s.size))) {\n return bad(`${path}.size: '${String(s.size)}' is not a valid text size`);\n }\n if (s.halign !== undefined && !VALID_TEXT_HALIGN.has(String(s.halign))) {\n return bad(`${path}.halign: '${String(s.halign)}' is not a valid halign`);\n }\n if (s.valign !== undefined && !VALID_TEXT_VALIGN.has(String(s.valign))) {\n return bad(`${path}.valign: '${String(s.valign)}' is not a valid valign`);\n }\n if (s.bgColor !== undefined && typeof s.bgColor !== \"string\") {\n return bad(`${path}.bgColor: must be a string`);\n }\n return { ok: true };\n}\n\nfunction validateMarkerState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n if (state.text !== undefined && typeof state.text !== \"string\") {\n return bad(\"drawing.state.text: must be a string\");\n }\n if (state.value !== undefined && !isFiniteNumber(state.value)) {\n return bad(\"drawing.state.value: must be a finite number\");\n }\n return validateTextOpts(state.style, \"drawing.state.style\");\n}\n\nconst FREEHAND_MIN_ANCHORS = 2;\nconst FREEHAND_MAX_ANCHORS = 500;\n\nfunction validateHighlighterStyle(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (typeof s.color !== \"string\") return bad(`${path}.color: must be a string`);\n if (!isFiniteNumber(s.alpha) || s.alpha < 0 || s.alpha > 1) {\n return bad(`${path}.alpha: must be a finite number in [0, 1]`);\n }\n return { ok: true };\n}\n\nfunction validateBrushStyle(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (typeof s.stroke !== \"string\") return bad(`${path}.stroke: must be a string`);\n if (typeof s.fill !== \"string\") return bad(`${path}.fill: must be a string`);\n return { ok: true };\n}\n\nfunction validateArcState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateCurveState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateDoubleCurveState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuint(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validatePenState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorVariable(\n state.anchors,\n \"drawing.state.anchors\",\n FREEHAND_MIN_ANCHORS,\n FREEHAND_MAX_ANCHORS,\n );\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateHighlighterState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorVariable(\n state.anchors,\n \"drawing.state.anchors\",\n FREEHAND_MIN_ANCHORS,\n FREEHAND_MAX_ANCHORS,\n );\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateHighlighterStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateBrushState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorVariable(\n state.anchors,\n \"drawing.state.anchors\",\n FREEHAND_MIN_ANCHORS,\n FREEHAND_MAX_ANCHORS,\n );\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateBrushStyle(state.style, \"drawing.state.style\");\n}\n\nconst TEXT_BODY_MAX_LENGTH = 256;\n\nfunction validateArrowOpts(s: unknown, path: string): ValidationResult {\n const lineCheck = validateLineDrawStyle(s, path);\n if (!lineCheck.ok) return lineCheck;\n // validateLineDrawStyle proved `s` is a plain object.\n const obj = s as Record<string, unknown>;\n if (obj.label !== undefined && typeof obj.label !== \"string\") {\n return bad(`${path}.label: must be a string`);\n }\n return { ok: true };\n}\n\nfunction validateArrowMarkerOpts(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.color !== undefined && typeof s.color !== \"string\") {\n return bad(`${path}.color: must be a string`);\n }\n if (s.text !== undefined && typeof s.text !== \"string\") {\n return bad(`${path}.text: must be a string`);\n }\n return { ok: true };\n}\n\nfunction validateTextState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n // walkMeta catches non-JsonValue payloads (bigint / function / symbol /\n // undefined / non-finite number) anywhere on `body`; a bare string is\n // a valid JsonValue and passes through. The kind-specific\n // non-empty / length cap follows so the wire-shape error message stays\n // specific.\n const bodyMetaCheck = walkMeta(state.body, \"drawing.state.body\");\n if (!bodyMetaCheck.ok) return bodyMetaCheck;\n if (typeof state.body !== \"string\") {\n return bad(\"drawing.state.body: must be a string\");\n }\n if (state.body.length === 0) {\n return bad(\"drawing.state.body: must be a non-empty string\");\n }\n if (state.body.length > TEXT_BODY_MAX_LENGTH) {\n return bad(`drawing.state.body: must be at most ${TEXT_BODY_MAX_LENGTH} characters`);\n }\n return validateTextOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateArrowState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateArrowOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateArrowMarkerState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n return validateArrowMarkerOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateArrowMarkUpState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n return validateArrowMarkerOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateArrowMarkDownState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n return validateArrowMarkerOpts(state.style, \"drawing.state.style\");\n}\n\nconst VALID_REGRESSION_SOURCES: ReadonlySet<string> = new Set([\n \"close\",\n \"open\",\n \"high\",\n \"low\",\n \"hl2\",\n \"hlc3\",\n \"ohlc4\",\n \"hlcc4\",\n]);\n\nfunction validateRegressionTrendOpts(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.source !== undefined && !VALID_REGRESSION_SOURCES.has(String(s.source))) {\n return bad(`${path}.source: '${String(s.source)}' is not a valid source`);\n }\n if (s.stdevMultiplier !== undefined) {\n if (!isFiniteNumber(s.stdevMultiplier) || s.stdevMultiplier < 0) {\n return bad(`${path}.stdevMultiplier: must be a non-negative finite number`);\n }\n }\n if (s.showUpperBand !== undefined && typeof s.showUpperBand !== \"boolean\") {\n return bad(`${path}.showUpperBand: must be a boolean`);\n }\n if (s.showLowerBand !== undefined && typeof s.showLowerBand !== \"boolean\") {\n return bad(`${path}.showLowerBand: must be a boolean`);\n }\n if (s.color !== undefined && typeof s.color !== \"string\") {\n return bad(`${path}.color: must be a string`);\n }\n return { ok: true };\n}\n\nfunction validateTrendChannelState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateFlatTopBottomState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateDisjointChannelState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuad(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateRegressionTrendState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const anchors = state.anchors as ReadonlyArray<{ time: number; price: number }>;\n if (!(anchors[0].time < anchors[1].time)) {\n return bad(\"drawing.state.anchors: anchors[0].time must be < anchors[1].time\");\n }\n return validateRegressionTrendOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibOpts(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.levels !== undefined) {\n if (!Array.isArray(s.levels)) {\n return bad(`${path}.levels: must be an array of finite numbers`);\n }\n if (s.levels.length === 0) {\n return bad(`${path}.levels: must contain at least one level`);\n }\n for (let i = 0; i < s.levels.length; i++) {\n if (!isFiniteNumber(s.levels[i])) {\n return bad(`${path}.levels[${i}]: must be a finite number`);\n }\n }\n }\n if (s.showLabels !== undefined && typeof s.showLabels !== \"boolean\") {\n return bad(`${path}.showLabels: must be a boolean`);\n }\n if (s.color !== undefined && typeof s.color !== \"string\") {\n return bad(`${path}.color: must be a string`);\n }\n if (s.extendLeft !== undefined && typeof s.extendLeft !== \"boolean\") {\n return bad(`${path}.extendLeft: must be a boolean`);\n }\n if (s.extendRight !== undefined && typeof s.extendRight !== \"boolean\") {\n return bad(`${path}.extendRight: must be a boolean`);\n }\n return { ok: true };\n}\n\nfunction validateFibRetracementState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibTrendExtensionState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibChannelState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibTimeZoneState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibWedgeState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibSpeedFanState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibSpeedArcsState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibSpiralState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibCirclesState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateFibTrendTimeState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateFibOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateGannBoxState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateGannSquareFixedState(state: Record<string, unknown>): ValidationResult {\n if (!isWorldPoint(state.anchor)) return bad(\"drawing.state.anchor: not a WorldPoint\");\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateGannSquareState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateGannFanState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nconst PITCHFORK_VARIANTS: ReadonlySet<string> = new Set([\n \"standard\",\n \"schiff\",\n \"modifiedSchiff\",\n \"inside\",\n]);\n\nfunction validatePitchforkState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n if (typeof state.variant !== \"string\" || !PITCHFORK_VARIANTS.has(state.variant)) {\n return bad(\n `drawing.state.variant: '${String(state.variant)}' must be 'standard' | 'schiff' | 'modifiedSchiff' | 'inside'`,\n );\n }\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validatePitchfanState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateXabcdPatternState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuint(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateCypherPatternState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuint(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateHeadAndShouldersState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuint(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateAbcdPatternState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuad(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateTrianglePatternState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateThreeDrivesPatternState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorHept(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateElliottImpulseWaveState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuint(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const labelsCheck = validateOptionalLabels(state.labels, \"drawing.state.labels\", 5);\n if (!labelsCheck.ok) return labelsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateElliottCorrectionWaveState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorTriple(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const labelsCheck = validateOptionalLabels(state.labels, \"drawing.state.labels\", 3);\n if (!labelsCheck.ok) return labelsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateElliottTriangleWaveState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorQuint(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const labelsCheck = validateOptionalLabels(state.labels, \"drawing.state.labels\", 5);\n if (!labelsCheck.ok) return labelsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateElliottDoubleComboState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorHept(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const labelsCheck = validateOptionalLabels(state.labels, \"drawing.state.labels\", 7);\n if (!labelsCheck.ok) return labelsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateElliottTripleComboState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorHept(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const labelsCheck = validateOptionalLabels(state.labels, \"drawing.state.labels\", 7);\n if (!labelsCheck.ok) return labelsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateCyclicLinesState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateTimeCyclesState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nfunction validateSineLineState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n return validateLineDrawStyle(state.style, \"drawing.state.style\");\n}\n\nconst MAX_CHILD_HANDLE_IDS = 100;\n\nfunction validateChildHandleIds(v: unknown, path: string): ValidationResult {\n if (!Array.isArray(v)) {\n return bad(`${path}: must be an array of handle id strings`);\n }\n if (v.length > MAX_CHILD_HANDLE_IDS) {\n return bad(`${path}: must be at most ${MAX_CHILD_HANDLE_IDS} entries`);\n }\n for (let i = 0; i < v.length; i++) {\n if (typeof v[i] !== \"string\") {\n return bad(`${path}[${i}]: must be a string`);\n }\n }\n return { ok: true };\n}\n\nfunction validateFrameOpts(s: unknown, path: string): ValidationResult {\n if (!isPlainObject(s)) return bad(`${path}: must be a plain object`);\n if (s.label !== undefined && typeof s.label !== \"string\") {\n return bad(`${path}.label: must be a string`);\n }\n if (s.bgColor !== undefined && typeof s.bgColor !== \"string\") {\n return bad(`${path}.bgColor: must be a string`);\n }\n return { ok: true };\n}\n\nfunction validateGroupState(state: Record<string, unknown>): ValidationResult {\n return validateChildHandleIds(state.childHandleIds, \"drawing.state.childHandleIds\");\n}\n\nfunction validateFrameState(state: Record<string, unknown>): ValidationResult {\n const anchorsCheck = validateAnchorPair(state.anchors, \"drawing.state.anchors\");\n if (!anchorsCheck.ok) return anchorsCheck;\n const childCheck = validateChildHandleIds(state.childHandleIds, \"drawing.state.childHandleIds\");\n if (!childCheck.ok) return childCheck;\n return validateFrameOpts(state.style, \"drawing.state.style\");\n}\n\nfunction validateTableCell(cell: unknown, path: string): ValidationResult {\n if (!isPlainObject(cell)) return bad(`${path}: must be a plain object`);\n if (typeof cell.text !== \"string\") return bad(`${path}.text: must be a string`);\n if (cell.bgColor !== undefined && typeof cell.bgColor !== \"string\") {\n return bad(`${path}.bgColor: must be a string`);\n }\n if (cell.textColor !== undefined && typeof cell.textColor !== \"string\") {\n return bad(`${path}.textColor: must be a string`);\n }\n if (cell.textHalign !== undefined && !VALID_TEXT_HALIGN.has(String(cell.textHalign))) {\n return bad(`${path}.textHalign: '${String(cell.textHalign)}' is not a valid halign`);\n }\n if (cell.textValign !== undefined && !VALID_TEXT_VALIGN.has(String(cell.textValign))) {\n return bad(`${path}.textValign: '${String(cell.textValign)}' is not a valid valign`);\n }\n if (cell.textSize !== undefined && !VALID_TEXT_SIZES.has(String(cell.textSize))) {\n return bad(`${path}.textSize: '${String(cell.textSize)}' is not a valid text size`);\n }\n return { ok: true };\n}\n\nfunction validateTableState(state: Record<string, unknown>): ValidationResult {\n const position = state.position;\n if (typeof position !== \"string\" || !VALID_TABLE_POSITIONS.has(position)) {\n return bad(`drawing.state.position: '${String(position)}' is not a valid table position`);\n }\n const cells = state.cells;\n if (!Array.isArray(cells) || cells.length === 0) {\n return bad(\"drawing.state.cells: must be a non-empty 2D array\");\n }\n for (let rowIndex = 0; rowIndex < cells.length; rowIndex++) {\n const row = cells[rowIndex];\n if (!Array.isArray(row) || row.length === 0) {\n return bad(`drawing.state.cells[${rowIndex}]: must be a non-empty array`);\n }\n for (let columnIndex = 0; columnIndex < row.length; columnIndex++) {\n const cellCheck = validateTableCell(\n row[columnIndex],\n `drawing.state.cells[${rowIndex}][${columnIndex}]`,\n );\n if (!cellCheck.ok) return cellCheck;\n }\n }\n const hasBorderColor = state.borderColor !== undefined;\n const hasBorderWidth = state.borderWidth !== undefined;\n if (hasBorderColor !== hasBorderWidth) {\n return bad(\"drawing.state.borderColor/borderWidth: must be provided together\");\n }\n if (hasBorderColor) {\n const colorCheck = validateColor(state.borderColor, \"drawing.state.borderColor\");\n if (!colorCheck.ok) return colorCheck;\n if (!isFiniteNumber(state.borderWidth) || state.borderWidth <= 0) {\n return bad(\"drawing.state.borderWidth: must be a finite positive number\");\n }\n }\n if (state.frame !== undefined) {\n if (!isPlainObject(state.frame)) return bad(\"drawing.state.frame: must be a plain object\");\n const colorCheck = validateColor(state.frame.color, \"drawing.state.frame.color\");\n if (!colorCheck.ok) return colorCheck;\n if (!isFiniteNumber(state.frame.width) || state.frame.width <= 0) {\n return bad(\"drawing.state.frame.width: must be a finite positive number\");\n }\n }\n return { ok: true };\n}\n\n/**\n * Per-kind state dispatch. Exhaustive over the `DrawingKind` union: the\n * switch has no `default` arm, so adding a kind to `DrawingKind`\n * produces a compile error here and forces a matching validator arm.\n * Wire-shape checks (`handleId` / `op` / `bar` / `time` /\n * `state.kind === drawingKind`) run for every kind via\n * {@link validateDrawingEmission} before this dispatch is reached.\n */\nfunction validateStateByKind(kind: DrawingKind, state: Record<string, unknown>): ValidationResult {\n switch (kind) {\n case \"line\":\n return validateLineState(state);\n case \"horizontal-line\":\n return validateHorizontalLineState(state);\n case \"horizontal-ray\":\n return validateHorizontalRayState(state);\n case \"vertical-line\":\n return validateVerticalLineState(state);\n case \"cross-line\":\n return validateCrossLineState(state);\n case \"trend-angle\":\n return validateTrendAngleState(state);\n case \"rectangle\":\n return validateRectangleState(state);\n case \"rotated-rectangle\":\n return validateRotatedRectangleState(state);\n case \"triangle\":\n return validateTriangleState(state);\n case \"polyline\":\n return validatePolylineState(state);\n case \"circle\":\n return validateCircleState(state);\n case \"ellipse\":\n return validateEllipseState(state);\n case \"path\":\n return validatePathState(state);\n case \"marker\":\n return validateMarkerState(state);\n case \"arc\":\n return validateArcState(state);\n case \"curve\":\n return validateCurveState(state);\n case \"double-curve\":\n return validateDoubleCurveState(state);\n case \"pen\":\n return validatePenState(state);\n case \"highlighter\":\n return validateHighlighterState(state);\n case \"brush\":\n return validateBrushState(state);\n case \"text\":\n return validateTextState(state);\n case \"arrow\":\n return validateArrowState(state);\n case \"arrow-marker\":\n return validateArrowMarkerState(state);\n case \"arrow-mark-up\":\n return validateArrowMarkUpState(state);\n case \"arrow-mark-down\":\n return validateArrowMarkDownState(state);\n case \"trend-channel\":\n return validateTrendChannelState(state);\n case \"flat-top-bottom\":\n return validateFlatTopBottomState(state);\n case \"disjoint-channel\":\n return validateDisjointChannelState(state);\n case \"regression-trend\":\n return validateRegressionTrendState(state);\n case \"fib-retracement\":\n return validateFibRetracementState(state);\n case \"fib-trend-extension\":\n return validateFibTrendExtensionState(state);\n case \"fib-channel\":\n return validateFibChannelState(state);\n case \"fib-time-zone\":\n return validateFibTimeZoneState(state);\n case \"fib-wedge\":\n return validateFibWedgeState(state);\n case \"fib-speed-fan\":\n return validateFibSpeedFanState(state);\n case \"fib-speed-arcs\":\n return validateFibSpeedArcsState(state);\n case \"fib-spiral\":\n return validateFibSpiralState(state);\n case \"fib-circles\":\n return validateFibCirclesState(state);\n case \"fib-trend-time\":\n return validateFibTrendTimeState(state);\n case \"gann-box\":\n return validateGannBoxState(state);\n case \"gann-square-fixed\":\n return validateGannSquareFixedState(state);\n case \"gann-square\":\n return validateGannSquareState(state);\n case \"gann-fan\":\n return validateGannFanState(state);\n case \"pitchfork\":\n return validatePitchforkState(state);\n case \"pitchfan\":\n return validatePitchfanState(state);\n case \"xabcd-pattern\":\n return validateXabcdPatternState(state);\n case \"cypher-pattern\":\n return validateCypherPatternState(state);\n case \"head-and-shoulders\":\n return validateHeadAndShouldersState(state);\n case \"abcd-pattern\":\n return validateAbcdPatternState(state);\n case \"triangle-pattern\":\n return validateTrianglePatternState(state);\n case \"three-drives-pattern\":\n return validateThreeDrivesPatternState(state);\n case \"elliott-impulse-wave\":\n return validateElliottImpulseWaveState(state);\n case \"elliott-correction-wave\":\n return validateElliottCorrectionWaveState(state);\n case \"elliott-triangle-wave\":\n return validateElliottTriangleWaveState(state);\n case \"elliott-double-combo\":\n return validateElliottDoubleComboState(state);\n case \"elliott-triple-combo\":\n return validateElliottTripleComboState(state);\n case \"cyclic-lines\":\n return validateCyclicLinesState(state);\n case \"time-cycles\":\n return validateTimeCyclesState(state);\n case \"sine-line\":\n return validateSineLineState(state);\n case \"group\":\n return validateGroupState(state);\n case \"frame\":\n return validateFrameState(state);\n case \"table\":\n return validateTableState(state);\n }\n}\n\nfunction validateDrawingEmission(e: Record<string, unknown>): ValidationResult {\n if (!isNonEmptyString(e.handleId)) {\n return bad(\"drawing.handleId: must be a non-empty string\");\n }\n const drawingKind = e.drawingKind;\n if (typeof drawingKind !== \"string\" || !VALID_DRAWING_KINDS.has(drawingKind)) {\n return {\n ok: false,\n code: \"unsupported-drawing-kind\",\n message: `drawing.drawingKind: '${String(drawingKind)}' is not a known DrawingKind`,\n };\n }\n if (typeof e.op !== \"string\" || !VALID_DRAWING_OPS.has(e.op)) {\n return bad(`drawing.op: '${String(e.op)}' must be 'create' | 'update' | 'remove'`);\n }\n if (!isNonNegativeInteger(e.bar)) {\n return bad(\"drawing.bar: must be a non-negative integer\");\n }\n if (!isFiniteNumber(e.time)) {\n return bad(\"drawing.time: must be a finite number\");\n }\n const state = e.state;\n if (!isPlainObject(state)) {\n return bad(\"drawing.state: must be a plain object\");\n }\n if (state.kind !== drawingKind) {\n return bad(\n `drawing.state.kind: '${String(state.kind)}' must equal drawing.drawingKind '${drawingKind}'`,\n );\n }\n const metaCheck = validateDrawingMeta(state);\n if (!metaCheck.ok) return metaCheck;\n return validateStateByKind(drawingKind as DrawingKind, state);\n}\n\nfunction validateDiagnostic(e: Record<string, unknown>): ValidationResult {\n const severity = e.severity;\n if (typeof severity !== \"string\" || !VALID_DIAGNOSTIC_SEVERITIES.has(severity)) {\n return bad(`diagnostic.severity: '${String(severity)}' is not a valid severity`);\n }\n const code = e.code;\n if (typeof code !== \"string\" || !VALID_DIAGNOSTIC_CODES.has(code)) {\n return bad(`diagnostic.code: '${String(code)}' is not a known DiagnosticCode`);\n }\n if (typeof e.message !== \"string\") return bad(\"diagnostic.message: must be a string\");\n const slotId = e.slotId;\n if (slotId !== null && typeof slotId !== \"string\") {\n return bad(\"diagnostic.slotId: must be a string or null\");\n }\n const bar = e.bar;\n if (bar !== null && !isNonNegativeInteger(bar)) {\n return bad(\"diagnostic.bar: must be a non-negative integer or null\");\n }\n return { ok: true };\n}\n\n/**\n * Hand-rolled validator covering every Phase-1 / Phase-2 / Phase-3\n * emission shape. Returns `{ ok: true }` for well-formed payloads and\n * `{ ok: false, code, message }` otherwise. Hosts and adapters call\n * this at every structured-clone boundary (Worker `postMessage`,\n * QuickJS membrane) per PLAN §7.3.\n *\n * Phase 3 widens the drawing dispatch from an unconditional Phase-1\n * stub to a per-kind validator: unknown `drawingKind` returns\n * `unsupported-drawing-kind`; malformed payloads of a known kind\n * return `malformed-emission`. Tasks 6–18 each ADD their kind\n * validators to the dispatch as ports land.\n *\n * @since 0.1\n * @stable\n * @example\n * import { validateEmission } from \"@invinite-org/chartlang-adapter-kit\";\n *\n * const r = validateEmission({ kind: \"plot\" });\n * if (!r.ok) {\n * console.error(r.code, r.message);\n * }\n */\nexport function validateEmission(e: unknown): ValidationResult {\n if (!isPlainObject(e)) {\n return bad(\"emission: not a plain object\");\n }\n if (!(\"kind\" in e)) {\n return bad(\"emission: missing 'kind' discriminant\");\n }\n const kind = e.kind;\n switch (kind) {\n case \"plot\":\n return validatePlotEmission(e);\n case \"alert\":\n return validateAlertEmission(e);\n case \"alert-condition\":\n return validateAlertConditionEmission(e);\n case \"log\":\n return validateLogEmission(e);\n case \"drawing\":\n return validateDrawingEmission(e);\n case \"diagnostic\":\n return validateDiagnostic(e);\n default:\n return bad(`emission.kind: '${String(kind)}' is not a known emission kind`);\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invinite-org/chartlang-adapter-kit",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "SDK for writing chartlang adapters in consumer repos",
@@ -19,7 +19,7 @@
19
19
  "LICENSE"
20
20
  ],
21
21
  "dependencies": {
22
- "@invinite-org/chartlang-core": "^1.1.0"
22
+ "@invinite-org/chartlang-core": "^1.1.1"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public",