@principles/core 1.87.0 → 1.88.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,9 +66,15 @@ export interface ScribeValidationResult {
66
66
  readonly errorCategory?: string;
67
67
  }
68
68
  export interface ScribeValidator {
69
- validate(output: ScribeOutputV1, taskId: string, expectedSourcePhilosopherArtifactId?: string): Promise<ScribeValidationResult>;
69
+ /**
70
+ * Validate untrusted LLM/runtime output.
71
+ *
72
+ * Receives `unknown` — must perform runtime validation before
73
+ * treating as ScribeOutputV1 (ERR-001, ERR-005).
74
+ */
75
+ validate(output: unknown, taskId: string, expectedSourcePhilosopherArtifactId?: string): Promise<ScribeValidationResult>;
70
76
  }
71
77
  export declare class DefaultScribeValidator implements ScribeValidator {
72
- validate(output: ScribeOutputV1, taskId: string, expectedSourcePhilosopherArtifactId?: string): Promise<ScribeValidationResult>;
78
+ validate(output: unknown, taskId: string, expectedSourcePhilosopherArtifactId?: string): Promise<ScribeValidationResult>;
73
79
  }
74
80
  //# sourceMappingURL=scribe-output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scribe-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,0BAA0B;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACjI;AAED,qBAAa,sBAAuB,YAAW,eAAe;IAEtD,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAyDtI"}
1
+ {"version":3,"file":"scribe-output.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,0BAA0B;;;;;;;EAOrC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;EAGlC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;EAO/B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC1H;AAOD,qBAAa,sBAAuB,YAAW,eAAe;IAEtD,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,mCAAmC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAqE/H"}
@@ -29,65 +29,81 @@ export const ScribeOutputV1Schema = Type.Object({
29
29
  risks: Type.Array(Type.String()),
30
30
  generatedAt: Type.String({ minLength: 1 }),
31
31
  });
32
+ /** Runtime type guard: true if v is a non-null plain object (not an array). */
33
+ function isRecord(v) {
34
+ return v !== null && typeof v === 'object' && !Array.isArray(v);
35
+ }
32
36
  export class DefaultScribeValidator {
33
37
  // eslint-disable-next-line @typescript-eslint/class-methods-use-this
34
38
  async validate(output, taskId, expectedSourcePhilosopherArtifactId) {
35
39
  const errors = [];
36
- if (typeof output !== 'object' || output === null) {
40
+ if (!isRecord(output)) {
37
41
  return { valid: false, errors: ['Output is not an object'], errorCategory: 'output_invalid' };
38
42
  }
39
- if (output.taskId !== taskId) {
43
+ // taskId required field (ERR-013: use Object.hasOwn)
44
+ if (!Object.hasOwn(output, 'taskId') || output.taskId !== taskId) {
40
45
  errors.push(`taskId mismatch: expected ${taskId}, got ${String(output.taskId)}`);
41
46
  }
42
- if (typeof output.sourcePhilosopherArtifactId !== 'string' || output.sourcePhilosopherArtifactId.trim() === '') {
47
+ // sourcePhilosopherArtifactId required, non-empty string (ERR-013)
48
+ if (!Object.hasOwn(output, 'sourcePhilosopherArtifactId') || typeof output.sourcePhilosopherArtifactId !== 'string' || output.sourcePhilosopherArtifactId.trim() === '') {
43
49
  errors.push('sourcePhilosopherArtifactId must be non-empty string');
44
50
  }
45
51
  else if (expectedSourcePhilosopherArtifactId && output.sourcePhilosopherArtifactId !== expectedSourcePhilosopherArtifactId) {
46
52
  errors.push(`sourcePhilosopherArtifactId mismatch: expected ${expectedSourcePhilosopherArtifactId}, got ${output.sourcePhilosopherArtifactId}`);
47
53
  }
48
- if (typeof output.principleDraft !== 'object' || output.principleDraft === null) {
54
+ // principleDraft required nested object (ERR-001, ERR-005: use isRecord, not as)
55
+ if (!Object.hasOwn(output, 'principleDraft') || !isRecord(output.principleDraft)) {
49
56
  errors.push('principleDraft must be an object');
50
57
  }
51
58
  else {
52
59
  const pd = output.principleDraft;
53
- if (typeof pd.title !== 'string' || (pd.title).trim() === '')
60
+ if (!Object.hasOwn(pd, 'title') || typeof pd.title !== 'string' || pd.title.trim() === '')
54
61
  errors.push('principleDraft.title must be non-empty string');
55
- if (typeof pd.statement !== 'string' || (pd.statement).trim() === '')
62
+ if (!Object.hasOwn(pd, 'statement') || typeof pd.statement !== 'string' || pd.statement.trim() === '')
56
63
  errors.push('principleDraft.statement must be non-empty string');
57
- if (typeof pd.rationale !== 'string' || (pd.rationale).trim() === '')
64
+ if (!Object.hasOwn(pd, 'rationale') || typeof pd.rationale !== 'string' || pd.rationale.trim() === '')
58
65
  errors.push('principleDraft.rationale must be non-empty string');
59
- if (!Array.isArray(pd.applicability))
66
+ if (!Object.hasOwn(pd, 'applicability') || !Array.isArray(pd.applicability))
60
67
  errors.push('principleDraft.applicability must be an array');
61
- else if (!pd.applicability.every(e => typeof e === 'string'))
68
+ else if (!pd.applicability.every((e) => typeof e === 'string'))
62
69
  errors.push('principleDraft.applicability must be an array of strings');
63
- if (!Array.isArray(pd.antiPatterns))
70
+ if (!Object.hasOwn(pd, 'antiPatterns') || !Array.isArray(pd.antiPatterns))
64
71
  errors.push('principleDraft.antiPatterns must be an array');
65
- else if (!pd.antiPatterns.every(e => typeof e === 'string'))
72
+ else if (!pd.antiPatterns.every((e) => typeof e === 'string'))
66
73
  errors.push('principleDraft.antiPatterns must be an array of strings');
67
- if (typeof pd.confidence !== 'number')
74
+ if (!Object.hasOwn(pd, 'confidence') || typeof pd.confidence !== 'number')
68
75
  errors.push('principleDraft.confidence must be number');
69
76
  else if (pd.confidence < 0 || pd.confidence > 1)
70
77
  errors.push('principleDraft.confidence must be in [0, 1]');
71
78
  }
72
- if (typeof output.sourceTrace !== 'object' || output.sourceTrace === null) {
79
+ // sourceTrace required nested object (ERR-001, ERR-005: use isRecord, not as)
80
+ if (!Object.hasOwn(output, 'sourceTrace') || !isRecord(output.sourceTrace)) {
73
81
  errors.push('sourceTrace must be an object');
74
82
  }
75
83
  else {
76
84
  const st = output.sourceTrace;
77
- if (typeof st.philosopherArtifactId !== 'string' || (st.philosopherArtifactId).trim() === '') {
85
+ if (!Object.hasOwn(st, 'philosopherArtifactId') || typeof st.philosopherArtifactId !== 'string' || st.philosopherArtifactId.trim() === '') {
78
86
  errors.push('sourceTrace.philosopherArtifactId must be non-empty string');
79
87
  }
80
88
  else if (expectedSourcePhilosopherArtifactId && st.philosopherArtifactId !== expectedSourcePhilosopherArtifactId) {
81
89
  errors.push(`sourceTrace.philosopherArtifactId mismatch: expected ${expectedSourcePhilosopherArtifactId}, got ${st.philosopherArtifactId}`);
82
90
  }
91
+ // dreamerArtifactId — optional, but if present must be non-empty string
92
+ if (Object.hasOwn(st, 'dreamerArtifactId') && st.dreamerArtifactId !== undefined) {
93
+ if (typeof st.dreamerArtifactId !== 'string' || st.dreamerArtifactId.trim() === '') {
94
+ errors.push('sourceTrace.dreamerArtifactId must be non-empty string when present');
95
+ }
96
+ }
83
97
  }
84
- if (!Array.isArray(output.risks)) {
98
+ // risks — required array of strings (ERR-005: validate element types)
99
+ if (!Object.hasOwn(output, 'risks') || !Array.isArray(output.risks)) {
85
100
  errors.push('risks must be an array');
86
101
  }
87
- else if (!output.risks.every(e => typeof e === 'string')) {
102
+ else if (!output.risks.every((e) => typeof e === 'string')) {
88
103
  errors.push('risks must be an array of strings');
89
104
  }
90
- if (typeof output.generatedAt !== 'string' || output.generatedAt.trim() === '') {
105
+ // generatedAt required, non-empty string (ERR-013)
106
+ if (!Object.hasOwn(output, 'generatedAt') || typeof output.generatedAt !== 'string' || output.generatedAt.trim() === '') {
91
107
  errors.push('generatedAt must be non-empty string');
92
108
  }
93
109
  return errors.length > 0
@@ -1 +1 @@
1
- {"version":3,"file":"scribe-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scribe-output.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-output.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,42 @@
1
- import type { RuntimeStateManager } from '../store/runtime-state-manager.js';
2
- import type { PDRuntimeAdapter } from '../runtime-protocol.js';
3
- import type { StoreEventEmitter } from '../store/event-emitter.js';
1
+ /**
2
+ * ScribeRunner Third peer runner for the Internalization Engine (PRI-109).
3
+ *
4
+ * Migrated to extend BasePeerRunner (PRI-302). The shared lease → buildContext →
5
+ * invoke → poll → fetch → validate → succeed/fail pipeline is now in the base
6
+ * class. This file only contains Scribe-specific logic.
7
+ *
8
+ * Key constraints (ADR-0003):
9
+ * - Uses PDRuntimeAdapter for all LLM execution (no direct SDK calls)
10
+ * - Does NOT directly invoke Artificer (host layer enqueues next task)
11
+ * - No plugin-layer imports (core is infrastructure-agnostic)
12
+ * - No timer-based scheduling (sleep via setTimeout is polling-only)
13
+ * - Uses RuntimeStateManager for all state operations
14
+ *
15
+ * Pipeline:
16
+ * 1. acquireLease — isolated try/catch, lease_conflict is non-mutating
17
+ * 2. resolve Philosopher dependency from dependencyTaskIds
18
+ * 3. fetch Philosopher artifact via PIArtifactStore
19
+ * 4. startRun with outputSchemaRef: 'scribe-output-v1'
20
+ * 5. pollUntilTerminal
21
+ * 6. fetchOutput → validate as unknown → cast to ScribeOutputV1
22
+ * 7. updateRunOutput → persist serialized output
23
+ * 8. write PIArtifact → markTaskSucceeded with scribe:// resultRef
24
+ *
25
+ * @see docs/adr/0003-peer-agent-state-machine-orchestration.md
26
+ * @see BasePeerRunner in runner/base-peer-runner.ts
27
+ */
28
+ import type { RunHandle } from '../runtime-protocol.js';
4
29
  import type { ScribeOutputV1, ScribeValidator } from './scribe-output.js';
5
- import type { PIArtifactStore } from './pi-artifact.js';
30
+ import type { TaskRecord } from '../task-status.js';
6
31
  import { type PDErrorCategory } from '../error-categories.js';
7
- import { RunnerPhase } from '../runner/runner-phase.js';
32
+ import { BasePeerRunner } from '../runner/base-peer-runner.js';
33
+ import type { PeerRunnerOptions, PeerRunnerDeps, PeerRunnerResult, PeerRunnerValidationResult } from '../runner/peer-runner-types.js';
34
+ /** Context built by ScribeRunner.buildContext() and consumed by invokeRuntime(). */
35
+ interface ScribeContext {
36
+ readonly contextHash: string;
37
+ readonly philosopherArtifact: string;
38
+ readonly sourcePhilosopherArtifactId: string;
39
+ }
8
40
  export type ScribeRunnerResultStatus = 'succeeded' | 'failed' | 'retried';
9
41
  export interface ScribeRunnerResult {
10
42
  readonly status: ScribeRunnerResultStatus;
@@ -18,14 +50,7 @@ export interface ScribeRunnerResult {
18
50
  readonly failureReason?: string;
19
51
  readonly attemptCount: number;
20
52
  }
21
- export interface ScribeRunnerOptions {
22
- readonly pollIntervalMs?: number;
23
- readonly timeoutMs?: number;
24
- readonly defaultMaxAttempts?: number;
25
- readonly owner: string;
26
- readonly runtimeKind: string;
27
- readonly agentId?: string;
28
- }
53
+ export type ScribeRunnerOptions = PeerRunnerOptions;
29
54
  export interface ResolvedScribeRunnerOptions {
30
55
  readonly pollIntervalMs: number;
31
56
  readonly timeoutMs: number;
@@ -34,44 +59,26 @@ export interface ResolvedScribeRunnerOptions {
34
59
  readonly runtimeKind: string;
35
60
  readonly agentId: string;
36
61
  }
37
- declare const DEFAULT_SCRIBE_RUNNER_OPTIONS: Readonly<Omit<ResolvedScribeRunnerOptions, 'owner' | 'runtimeKind'>>;
38
- declare function resolveScribeRunnerOptions(options: ScribeRunnerOptions): ResolvedScribeRunnerOptions;
39
- export interface ScribeRunnerDeps {
40
- readonly stateManager: RuntimeStateManager;
41
- readonly runtimeAdapter: PDRuntimeAdapter;
42
- readonly eventEmitter: StoreEventEmitter;
62
+ export declare const DEFAULT_SCRIBE_RUNNER_OPTIONS: Readonly<Omit<ResolvedScribeRunnerOptions, 'owner' | 'runtimeKind'>>;
63
+ export declare function resolveScribeRunnerOptions(options: ScribeRunnerOptions): ResolvedScribeRunnerOptions;
64
+ export interface ScribeRunnerDeps extends PeerRunnerDeps {
43
65
  readonly validator: ScribeValidator;
44
- readonly artifactStore: PIArtifactStore;
45
66
  }
46
- export declare class ScribeRunner {
47
- private phase;
48
- private readonly resolvedOptions;
49
- private readonly stateManager;
50
- private readonly runtimeAdapter;
51
- private readonly eventEmitter;
67
+ export declare class ScribeRunner extends BasePeerRunner<ScribeContext, ScribeOutputV1> {
52
68
  private readonly validator;
53
- private readonly artifactStore;
54
- constructor(deps: ScribeRunnerDeps, options: ScribeRunnerOptions);
55
- get currentPhase(): RunnerPhase;
56
- private emitScribeEvent;
57
- run(taskId: string): Promise<ScribeRunnerResult>;
58
- private buildContext;
59
- private static hashContextRefs;
60
- private resolveStoreRunId;
61
- private invokeRuntime;
62
- private pollUntilTerminal;
63
- private fetchAndParseOutput;
64
- private succeedTask;
65
- private handleRuntimeFailure;
66
- private handleValidationError;
67
- private handleLeaseOrPhaseError;
68
- private handlePostLeaseError;
69
- private retryOrFail;
70
- private readonly PERMANENT_ERROR_CATEGORIES;
71
- private isPermanentError;
72
- private classifyError;
73
- private mapRunStatusToErrorCategory;
74
- private sleep;
69
+ constructor(deps: ScribeRunnerDeps, options: PeerRunnerOptions);
70
+ get permanentErrorCategories(): ReadonlySet<PDErrorCategory>;
71
+ buildContext(taskId: string): Promise<ScribeContext>;
72
+ invokeRuntime(taskId: string, context: ScribeContext): Promise<RunHandle>;
73
+ validateOutput(output: unknown, taskId: string, context: ScribeContext): Promise<PeerRunnerValidationResult>;
74
+ succeedTask(taskId: string, runId: string, output: ScribeOutputV1, task: TaskRecord, contextHash: string, context: ScribeContext): Promise<PeerRunnerResult<ScribeOutputV1>>;
75
+ /**
76
+ * Re-inject taskId if stripped by stripLineageFields (PRI-272 / ERR-008).
77
+ * Only fill when absent via Object.hasOwn — present-but-falsy values
78
+ * must reach validation and fail loud (Runtime Contract Rule 3).
79
+ */
80
+ protected postFetchTransform(taskId: string, untrustedOutput: unknown): void;
81
+ protected emitSuccessTelemetry(taskId: string, output: ScribeOutputV1): void;
75
82
  }
76
- export { resolveScribeRunnerOptions, DEFAULT_SCRIBE_RUNNER_OPTIONS };
83
+ export {};
77
84
  //# sourceMappingURL=scribe-runner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scribe-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EACV,gBAAgB,EAIjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAIxD,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,QAAA,MAAM,6BAA6B,EAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,aAAa,CAAC,CAK9F,CAAC;AAEX,iBAAS,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,GAAG,2BAA2B,CAS7F;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,gBAAgB,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;CACzC;AAwBD,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmB;IAClD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkB;gBAEpC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB;IAShE,IAAI,YAAY,IAAI,WAAW,CAE9B;IAED,OAAO,CAAC,eAAe;IAejB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAkGxC,YAAY;IA4C1B,OAAO,CAAC,MAAM,CAAC,eAAe;YAUhB,iBAAiB;YASjB,aAAa;YAmCb,iBAAiB;YA0BjB,mBAAmB;YAQnB,WAAW;YAqFX,oBAAoB;YAoBpB,qBAAqB;YAgBrB,uBAAuB;YAqCvB,oBAAoB;YAepB,WAAW;IAgGzB,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAEzC;IAEF,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,2BAA2B;IAUnC,OAAO,CAAC,KAAK;CAGd;AAED,OAAO,EAAE,0BAA0B,EAAE,6BAA6B,EAAE,CAAC"}
1
+ {"version":3,"file":"scribe-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/scribe-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAkB,KAAK,eAAe,EAAqB,MAAM,wBAAwB,CAAC;AAIjG,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,gCAAgC,CAAC;AAIxC,oFAAoF;AACpF,UAAU,aAAa;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;CAC9C;AAID,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAID,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAEpD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,aAAa,CAAC,CAKrG,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,mBAAmB,GAAG,2BAA2B,CASpG;AAID,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;CACrC;AAID,qBAAa,YAAa,SAAQ,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC;IAC7E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB;IAa9D,IAAI,wBAAwB,IAAI,WAAW,CAAC,eAAe,CAAC,CAE3D;IAEK,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA0CpD,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BzE,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA4B5G,WAAW,CACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAsG5C;;;;OAIG;cAEgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,IAAI;cAIlE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;CAKtF"}