@sensigo/realm 0.40.0 → 0.41.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/types/workflow-error.d.ts +44 -0
- package/dist/types/workflow-error.d.ts.map +1 -1
- package/dist/types/workflow-error.js +30 -1
- package/dist/types/workflow-error.js.map +1 -1
- package/dist/workflow/diagnostics.d.ts +12 -10
- package/dist/workflow/diagnostics.d.ts.map +1 -1
- package/dist/workflow/diagnostics.js +13 -22
- package/dist/workflow/diagnostics.js.map +1 -1
- package/dist/workflow/registrar.d.ts +26 -0
- package/dist/workflow/registrar.d.ts.map +1 -1
- package/dist/workflow/registrar.js +35 -5
- package/dist/workflow/registrar.js.map +1 -1
- package/dist/workflow/yaml-loader.d.ts +17 -0
- package/dist/workflow/yaml-loader.d.ts.map +1 -1
- package/dist/workflow/yaml-loader.js +1335 -1246
- package/dist/workflow/yaml-loader.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ export type { Requirement, CapabilityBlockInfo } from './engine/capability.js';
|
|
|
48
48
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
49
49
|
export type { PreconditionResult } from './engine/precondition.js';
|
|
50
50
|
export type { StepDiagnostics } from './types/run-record.js';
|
|
51
|
-
export declare const VERSION = "0.
|
|
51
|
+
export declare const VERSION = "0.41.0";
|
|
52
52
|
export type { ToolCallRecord, McpServerConfig } from './types/mcp-types.js';
|
|
53
53
|
export type { ServiceAdapter, ServiceResponse } from './extensions/service-adapter.js';
|
|
54
54
|
export type { StepHandler, StepHandlerInputs, StepContext, StepHandlerResult, } from './extensions/step-handler.js';
|
package/dist/index.js
CHANGED
|
@@ -43,7 +43,7 @@ export { classifyRunHealth, DEFAULT_IDLE_THRESHOLD_MS } from './engine/run-healt
|
|
|
43
43
|
export { computeGateDueState } from './engine/gate-timing.js';
|
|
44
44
|
export { requirementForStep, unmetCapabilities, findCapabilityBlockedSteps, capabilityWarning, } from './engine/capability.js';
|
|
45
45
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
46
|
-
export const VERSION = '0.
|
|
46
|
+
export const VERSION = '0.41.0';
|
|
47
47
|
export { ExtensionRegistry } from './extensions/registry.js';
|
|
48
48
|
export { createDefaultRegistry } from './extensions/default-registry.js';
|
|
49
49
|
export { validateDeploymentManifest, collectManifestSecretRefs, DEPLOYMENT_MANIFEST_JSON_SCHEMA, } from './manifest/deployment-manifest.js';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { LoaderWarning } from '../workflow/diagnostics.js';
|
|
1
2
|
export type ErrorCategory = 'NETWORK' | 'SERVICE' | 'STATE' | 'VALIDATION' | 'ENGINE' | 'RESOURCE';
|
|
2
3
|
export type AgentAction = 'report_to_user' | 'provide_input' | 'resolve_precondition' | 'stop' | 'wait_for_human' | 'wait_and_proceed';
|
|
3
4
|
export type ErrorCode = 'NETWORK_TIMEOUT' | 'NETWORK_UNREACHABLE' | 'NETWORK_DNS_FAILED' | 'NETWORK_CONNECTION_RESET' | 'SERVICE_HTTP_4XX' | 'SERVICE_HTTP_5XX' | 'SERVICE_RATE_LIMITED' | 'SERVICE_AUTH_FAILED' | 'SERVICE_NOT_FOUND' | 'SERVICE_RESPONSE_INVALID' | 'SERVICE_UNEXPECTED_REDIRECT' | 'STATE_BLOCKED' | 'STATE_PRECONDITION_FAILED' | 'STATE_RUN_NOT_FOUND' | 'STATE_WORKFLOW_NOT_FOUND' | 'STATE_RUN_TERMINAL' | 'STATE_SNAPSHOT_MISMATCH' | 'STATE_RUN_LOCKED' | 'STATE_RUN_BUSY' | 'STATE_TRANSITION_DENIED' | 'STATE_RUN_RESURRECTED' | 'STATE_LEGACY_FORMAT' | 'STATE_STEP_ALREADY_CLAIMED' | 'STATE_STEP_NOT_ELIGIBLE' | 'STATE_STEP_ALREADY_SETTLED' | 'STATE_CLAIM_LOST' | 'STATE_RUN_DIVERGED' | 'STATE_RUN_ALREADY_ACTIVE' | 'STATE_IDEMPOTENCY_KEY_USED' | 'RUN_ABORTING' | 'VALIDATION_INPUT_SCHEMA' | 'VALIDATION_OUTPUT_SCHEMA' | 'VALIDATION_TRACE_SCHEMA' | 'VALIDATION_EXHAUSTED' | 'VALIDATION_WORKFLOW_SCHEMA' | 'VALIDATION_HASH_MISMATCH' | 'VALIDATION_QUOTE_NOT_FOUND' | 'VALIDATION_FIELD_UNKNOWN' | 'VALIDATION_FIELD_EXCLUDED' | 'VALIDATION_EMPTY_VALUE' | 'VALIDATION_BATCH_TOO_LARGE' | 'VALIDATION_BATCH_ITEMS' | 'STEP_HANDLER_ERROR' | 'ENGINE_INTERNAL' | 'ENGINE_STORE_FAILED' | 'ENGINE_ARTIFACT_DELETE_FAILED' | 'ENGINE_ADAPTER_FAILED' | 'ENGINE_ADAPTER_NOT_REGISTERED' | 'ENGINE_PROCESSOR_FAILED' | 'ENGINE_HANDLER_FAILED' | 'ENGINE_HANDLER_NOT_REGISTERED' | 'ENGINE_STEP_FAILED' | 'ENGINE_GATE_OPEN_FAILED' | 'GATE_MESSAGE_UNRESOLVABLE' | 'FILTER_UNKNOWN' | 'ADAPTER_OP_UNSUPPORTED' | 'ADAPTER_VALIDATION_FAILED' | 'ADAPTER_REQUEST_FAILED' | 'STEP_TIMEOUT' | 'STEP_ABORTED' | 'STEP_RETRY_EXHAUSTED' | 'STATE_STEP_PENDING' | 'STATE_SEAL_UNSTAMPED' | 'STATE_SEAL_ORPHANED' | 'STATE_SEAL_ERASED' | 'STATE_SEAL_UNKNOWN_ARM' | 'STATE_SEAL_INCOHERENT' | 'STATE_SEAL_REWRITTEN' | 'STEP_NOT_FOUND' | 'GUARD_RESOLUTION_ERROR' | 'INPUT_MAP_DEPTH_EXCEEDED' | 'INPUT_MAP_UNKNOWN_DIRECTIVE' | 'RESOURCE_FETCH_FAILED' | 'RESOURCE_TOO_LARGE' | 'RESOURCE_FORMAT_INVALID' | 'RESOURCE_NOT_ACCESSIBLE' | 'BUFFER_FULL' | 'TRACE_CAPABILITY_INCONSISTENT' | 'MCP_CONNECTION_FAILED' | 'MCP_TOOL_NOT_FOUND' | 'MCP_TOOL_NAME_COLLISION';
|
|
@@ -10,6 +11,23 @@ export interface WorkflowErrorOptions {
|
|
|
10
11
|
stepId?: string;
|
|
11
12
|
attempt?: number;
|
|
12
13
|
retry_after?: number;
|
|
14
|
+
/**
|
|
15
|
+
* issue #424: the loader warnings that were live when this error was thrown. Present only on
|
|
16
|
+
* loader errors, and only when there were any.
|
|
17
|
+
*
|
|
18
|
+
* No current call site populates this — every attachment goes through
|
|
19
|
+
* `attachLoaderWarnings` after construction, because the throw sites are spread across two
|
|
20
|
+
* files and the warnings array is not in scope at most of them. The option exists so the
|
|
21
|
+
* options shape mirrors the fields 1:1 (the `stepId`/`retry_after` convention) and so direct
|
|
22
|
+
* construction stays possible.
|
|
23
|
+
*/
|
|
24
|
+
warnings?: readonly LoaderWarning[];
|
|
25
|
+
/**
|
|
26
|
+
* issue #425: the individual error strings this message was joined from. Unlike `warnings`
|
|
27
|
+
* above, THIS sibling is populated at construction — the collectors that join them are the
|
|
28
|
+
* only place the individual strings still exist.
|
|
29
|
+
*/
|
|
30
|
+
errors?: readonly string[];
|
|
13
31
|
}
|
|
14
32
|
export declare class WorkflowError extends Error {
|
|
15
33
|
readonly code: ErrorCode;
|
|
@@ -21,6 +39,32 @@ export declare class WorkflowError extends Error {
|
|
|
21
39
|
readonly timestamp: string;
|
|
22
40
|
readonly attempt: number;
|
|
23
41
|
readonly retry_after?: number;
|
|
42
|
+
/**
|
|
43
|
+
* issue #424: the loader warnings live at the moment this error was thrown — a typo hint, a
|
|
44
|
+
* retry advisory — so a caller rendering the failure can show the whole defect set at once
|
|
45
|
+
* instead of revealing the next layer on each fix.
|
|
46
|
+
*
|
|
47
|
+
* The SLOT is writable because the loader attaches it after construction (see
|
|
48
|
+
* `attachLoaderWarnings` in yaml-loader.ts): the throw sites are spread across two files, and
|
|
49
|
+
* two chokepoints catching-and-attaching cover them all — including every future one — where
|
|
50
|
+
* per-site construction would not. The VALUE stays readonly, and the helper attaches at most
|
|
51
|
+
* once, so an inner chokepoint's attachment survives an outer one.
|
|
52
|
+
*
|
|
53
|
+
* ABSENT rather than `[]` when there were no warnings: "this error carried none" and "nobody
|
|
54
|
+
* looked" are different facts and the channel keeps them different.
|
|
55
|
+
*/
|
|
56
|
+
warnings?: readonly LoaderWarning[];
|
|
57
|
+
/**
|
|
58
|
+
* issue #425: the errors this message was joined from, one per element, before `join('; ')`
|
|
59
|
+
* flattened them. A collector accumulates several problems and throws once, so a reader gets
|
|
60
|
+
* one paragraph-long line with the boundaries only implied by punctuation — and a message can
|
|
61
|
+
* itself contain a semicolon (the #413 four-clause text does), so splitting the joined string
|
|
62
|
+
* back apart is not a recoverable operation. Kept here instead, and the render walks the array.
|
|
63
|
+
*
|
|
64
|
+
* ABSENT rather than `[]` on a single-error throw, so a caller can tell "there was one" from
|
|
65
|
+
* "there was a list" without counting.
|
|
66
|
+
*/
|
|
67
|
+
errors?: readonly string[];
|
|
24
68
|
constructor(message: string, options: WorkflowErrorOptions);
|
|
25
69
|
}
|
|
26
70
|
//# sourceMappingURL=workflow-error.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-error.d.ts","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-error.d.ts","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// Structured, categorized error class used throughout the engine.
|
|
2
1
|
export class WorkflowError extends Error {
|
|
3
2
|
code;
|
|
4
3
|
category;
|
|
@@ -9,6 +8,32 @@ export class WorkflowError extends Error {
|
|
|
9
8
|
timestamp;
|
|
10
9
|
attempt;
|
|
11
10
|
retry_after;
|
|
11
|
+
/**
|
|
12
|
+
* issue #424: the loader warnings live at the moment this error was thrown — a typo hint, a
|
|
13
|
+
* retry advisory — so a caller rendering the failure can show the whole defect set at once
|
|
14
|
+
* instead of revealing the next layer on each fix.
|
|
15
|
+
*
|
|
16
|
+
* The SLOT is writable because the loader attaches it after construction (see
|
|
17
|
+
* `attachLoaderWarnings` in yaml-loader.ts): the throw sites are spread across two files, and
|
|
18
|
+
* two chokepoints catching-and-attaching cover them all — including every future one — where
|
|
19
|
+
* per-site construction would not. The VALUE stays readonly, and the helper attaches at most
|
|
20
|
+
* once, so an inner chokepoint's attachment survives an outer one.
|
|
21
|
+
*
|
|
22
|
+
* ABSENT rather than `[]` when there were no warnings: "this error carried none" and "nobody
|
|
23
|
+
* looked" are different facts and the channel keeps them different.
|
|
24
|
+
*/
|
|
25
|
+
warnings;
|
|
26
|
+
/**
|
|
27
|
+
* issue #425: the errors this message was joined from, one per element, before `join('; ')`
|
|
28
|
+
* flattened them. A collector accumulates several problems and throws once, so a reader gets
|
|
29
|
+
* one paragraph-long line with the boundaries only implied by punctuation — and a message can
|
|
30
|
+
* itself contain a semicolon (the #413 four-clause text does), so splitting the joined string
|
|
31
|
+
* back apart is not a recoverable operation. Kept here instead, and the render walks the array.
|
|
32
|
+
*
|
|
33
|
+
* ABSENT rather than `[]` on a single-error throw, so a caller can tell "there was one" from
|
|
34
|
+
* "there was a list" without counting.
|
|
35
|
+
*/
|
|
36
|
+
errors;
|
|
12
37
|
constructor(message, options) {
|
|
13
38
|
super(message);
|
|
14
39
|
this.name = 'WorkflowError';
|
|
@@ -23,6 +48,10 @@ export class WorkflowError extends Error {
|
|
|
23
48
|
this.attempt = options.attempt ?? 1;
|
|
24
49
|
if (options.retry_after !== undefined)
|
|
25
50
|
this.retry_after = options.retry_after;
|
|
51
|
+
if (options.warnings !== undefined)
|
|
52
|
+
this.warnings = options.warnings;
|
|
53
|
+
if (options.errors !== undefined)
|
|
54
|
+
this.errors = options.errors;
|
|
26
55
|
}
|
|
27
56
|
}
|
|
28
57
|
//# sourceMappingURL=workflow-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-error.js","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-error.js","sourceRoot":"","sources":["../../src/types/workflow-error.ts"],"names":[],"mappings":"AAsMA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,IAAI,CAAY;IAChB,QAAQ,CAAgB;IACxB,WAAW,CAAc;IACzB,SAAS,CAAU;IACnB,OAAO,CAA0B;IACjC,MAAM,CAAU;IAChB,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,WAAW,CAAU;IAC9B;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAA4B;IACpC;;;;;;;;;OASG;IACH,MAAM,CAAqB;IAE3B,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;QACpC,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAC9E,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACrE,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -105,16 +105,18 @@ export declare function findUnknownKeys(obj: Record<string, unknown>, allowList:
|
|
|
105
105
|
* yaml-loader.ts, and the CLI's `printLoaderWarnings` helper) renders through this, never by
|
|
106
106
|
* hand-rolling a `⚠ ` string itself.
|
|
107
107
|
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
*
|
|
112
|
-
* a
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
108
|
+
* THE LAW (issue #444): every warning renders as `⚠ ` + its message, verbatim, whatever its
|
|
109
|
+
* code. One grammar, one owner.
|
|
110
|
+
*
|
|
111
|
+
* It used to be three grammars in four homes: the six unknown-key codes were prefixed here, two
|
|
112
|
+
* CLI mints baked a two-space `⚠ ` into the message itself, and the remaining advisory codes
|
|
113
|
+
* rendered bare — so one `validate` run could print a prefixed line, an unprefixed line and a
|
|
114
|
+
* double-spaced line in the same block. The prefix belongs to the renderer because the renderer
|
|
115
|
+
* is the only place that knows it is rendering; a mint knows only what it is warning about.
|
|
116
|
+
*
|
|
117
|
+
* The obligation that comes with owning it: a MINT MUST NOT carry a prefix of its own, or the
|
|
118
|
+
* two compose into `⚠ ⚠ …` — the #417 double-prefix class. Each producer has a hygiene cell
|
|
119
|
+
* asserting its message does not start with `⚠`.
|
|
118
120
|
*/
|
|
119
121
|
export declare function renderLoaderWarning(w: LoaderWarning): string;
|
|
120
122
|
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/workflow/diagnostics.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,WAAW,GACnB,sBAAsB,GACtB,kBAAkB,GAClB,6BAA6B,GAC7B,+BAA+B,GAC/B,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GAEpB,mBAAmB,GACnB,2BAA2B,GAC3B,6BAA6B,GAC7B,wBAAwB,GAGxB,sBAAsB,GAEtB,mCAAmC,GACnC,mCAAmC,GAInC,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBhE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAkB,GAC7D,MAAM,GAAG,OAAO,CAElB;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAYxF;AAgCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,GAAG,EAAE;IACH,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;CAC1D,GACA,aAAa,EAAE,CA6BjB;
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/workflow/diagnostics.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,WAAW,GACnB,sBAAsB,GACtB,kBAAkB,GAClB,6BAA6B,GAC7B,+BAA+B,GAC/B,sBAAsB,GACtB,kBAAkB,GAClB,oBAAoB,GAEpB,mBAAmB,GACnB,2BAA2B,GAC3B,6BAA6B,GAC7B,wBAAwB,GAGxB,sBAAsB,GAEtB,mCAAmC,GACnC,mCAAmC,GAInC,kBAAkB,GAClB,kBAAkB,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAiBhE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAkB,GAC7D,MAAM,GAAG,OAAO,CAElB;AAuBD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAYxF;AAgCD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,SAAS,EAAE,SAAS,MAAM,EAAE,EAC5B,GAAG,EAAE;IACH,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3B,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;CAC1D,GACA,aAAa,EAAE,CA6BjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAE5D"}
|
|
@@ -150,34 +150,25 @@ export function findUnknownKeys(obj, allowList, ctx) {
|
|
|
150
150
|
}
|
|
151
151
|
return warnings;
|
|
152
152
|
}
|
|
153
|
-
const UNKNOWN_KEY_CODES = new Set([
|
|
154
|
-
'UNKNOWN_WORKFLOW_KEY',
|
|
155
|
-
'UNKNOWN_STEP_KEY',
|
|
156
|
-
'UNKNOWN_CREATE_WORKFLOW_KEY',
|
|
157
|
-
'UNKNOWN_RETRY_KEY',
|
|
158
|
-
'UNKNOWN_VALIDATION_EXHAUSTION_KEY',
|
|
159
|
-
'UNKNOWN_GATE_KEY',
|
|
160
|
-
]);
|
|
161
153
|
/**
|
|
162
154
|
* The SINGLE source of the `⚠ ` line format — every printer (the core plain wrappers in
|
|
163
155
|
* yaml-loader.ts, and the CLI's `printLoaderWarnings` helper) renders through this, never by
|
|
164
156
|
* hand-rolling a `⚠ ` string itself.
|
|
165
157
|
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* a
|
|
171
|
-
*
|
|
172
|
-
*
|
|
173
|
-
*
|
|
174
|
-
*
|
|
175
|
-
*
|
|
158
|
+
* THE LAW (issue #444): every warning renders as `⚠ ` + its message, verbatim, whatever its
|
|
159
|
+
* code. One grammar, one owner.
|
|
160
|
+
*
|
|
161
|
+
* It used to be three grammars in four homes: the six unknown-key codes were prefixed here, two
|
|
162
|
+
* CLI mints baked a two-space `⚠ ` into the message itself, and the remaining advisory codes
|
|
163
|
+
* rendered bare — so one `validate` run could print a prefixed line, an unprefixed line and a
|
|
164
|
+
* double-spaced line in the same block. The prefix belongs to the renderer because the renderer
|
|
165
|
+
* is the only place that knows it is rendering; a mint knows only what it is warning about.
|
|
166
|
+
*
|
|
167
|
+
* The obligation that comes with owning it: a MINT MUST NOT carry a prefix of its own, or the
|
|
168
|
+
* two compose into `⚠ ⚠ …` — the #417 double-prefix class. Each producer has a hygiene cell
|
|
169
|
+
* asserting its message does not start with `⚠`.
|
|
176
170
|
*/
|
|
177
171
|
export function renderLoaderWarning(w) {
|
|
178
|
-
|
|
179
|
-
return `⚠ ${w.message}`;
|
|
180
|
-
}
|
|
181
|
-
return w.message;
|
|
172
|
+
return `⚠ ${w.message}`;
|
|
182
173
|
}
|
|
183
174
|
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/workflow/diagnostics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/workflow/diagnostics.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,EAAE;AACF,4FAA4F;AAC5F,8FAA8F;AAC9F,gGAAgG;AAChG,gGAAgG;AAChG,+FAA+F;AAuE/F;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,cAAc,GAA0C;IACnE,oBAAoB,EAAE,OAAO;IAC7B,gBAAgB,EAAE,OAAO;IACzB,2BAA2B,EAAE,MAAM;IACnC,6BAA6B,EAAE,MAAM;IACrC,oBAAoB,EAAE,MAAM;IAC5B,gBAAgB,EAAE,MAAM;IACxB,kBAAkB,EAAE,MAAM;IAC1B,iBAAiB,EAAE,MAAM;IACzB,yBAAyB,EAAE,MAAM;IACjC,2BAA2B,EAAE,MAAM;IACnC,sBAAsB,EAAE,MAAM;IAC9B,oBAAoB,EAAE,MAAM;IAC5B,iCAAiC,EAAE,MAAM;IACzC,iCAAiC,EAAE,MAAM;IACzC,gBAAgB,EAAE,MAAM;IACxB,gBAAgB,EAAE,MAAM;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAiB,EACjB,SAAgD,cAAc;IAE9D,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,CAAS,EAAE,CAAS;IAC/C,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC,MAAM,CAAC;IAEpC,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;AAC5B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,SAA4B;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,IAAwB,CAAC;IAC7B,IAAI,YAAY,GAAG,QAAQ,CAAC;IAC5B,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,QAAQ,GAAG,YAAY,EAAE,CAAC;YAC5B,YAAY,GAAG,QAAQ,CAAC;YACxB,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,KAAK,SAAS,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5E,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB,CAC9B,MAAc,EACd,GAAW,EACX,UAA8B,EAC9B,IAAY,EACZ,IAAwB;IAExB,MAAM,EAAE,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC;IACvD,gGAAgG;IAChG,uFAAuF;IACvF,0FAA0F;IAC1F,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,GAAG,MAAM,kBAAkB,GAAG,IAAI,EAAE,6BAA6B,UAAU,KAAK,CAAC;IAC1F,CAAC;IACD,OAAO,GAAG,MAAM,kBAAkB,GAAG,IAAI,EAAE,gCAAgC,IAAI,UAAU,CAAC;AAC5F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,GAA4B,EAC5B,SAA4B,EAC5B,GAsBC;IAED,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,MAAM,MAAM,GACV,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,EAAE,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC;IAC1F,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QACtC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,OAAO,GAAkB;YAC7B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,OAAO,EAAE,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC;YAC5E,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,GAAG;SACJ,CAAC;QACF,IAAI,GAAG,CAAC,EAAE,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACpD,IAAI,YAAY,KAAK,SAAS;YAAE,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACpE,sFAAsF;QACtF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACxB,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YAC5B,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC9B,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;QACpC,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAgB;IAClD,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;AAC1B,CAAC"}
|
|
@@ -16,5 +16,31 @@ export declare class JsonWorkflowStore implements WorkflowRegistrar {
|
|
|
16
16
|
register(definition: WorkflowDefinition): Promise<void>;
|
|
17
17
|
get(workflowId: string): Promise<WorkflowDefinition>;
|
|
18
18
|
list(): Promise<WorkflowDefinition[]>;
|
|
19
|
+
/**
|
|
20
|
+
* Everything `list()` returns, plus what it silently drops (issue #427).
|
|
21
|
+
*
|
|
22
|
+
* `list()` skips a file it cannot parse, which is right for a caller that just wants the
|
|
23
|
+
* definitions and wrong for an operator asking what is in their registry: realm cannot audit
|
|
24
|
+
* what it cannot read, and saying nothing about it is how a broken entry stays invisible.
|
|
25
|
+
*
|
|
26
|
+
* `mismatched` covers a second invisible case. `<id>.json` is the write convention, but a
|
|
27
|
+
* hand-edited file can carry an inner id that differs from its basename — and since anything
|
|
28
|
+
* resolving a workflow by id resolves by FILENAME, such an entry is reachable under a name
|
|
29
|
+
* this list would not print. Disclosed rather than corrected.
|
|
30
|
+
*
|
|
31
|
+
* Additive and CONCRETE: `WorkflowRegistrar` is untouched, so no other implementation has to
|
|
32
|
+
* grow a method to satisfy a read surface only the CLI uses.
|
|
33
|
+
*/
|
|
34
|
+
listWithDiagnostics(): Promise<{
|
|
35
|
+
workflows: WorkflowDefinition[];
|
|
36
|
+
unreadable: Array<{
|
|
37
|
+
file: string;
|
|
38
|
+
reason: string;
|
|
39
|
+
}>;
|
|
40
|
+
mismatched: Array<{
|
|
41
|
+
file: string;
|
|
42
|
+
id: string;
|
|
43
|
+
}>;
|
|
44
|
+
}>;
|
|
19
45
|
}
|
|
20
46
|
//# sourceMappingURL=registrar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/workflow/registrar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,8EAA8E;IAC9E,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,qCAAqC;IACrC,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,OAAO,CAAC,EAAE,MAAM;IAKtB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgCpD,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/workflow/registrar.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E,MAAM,WAAW,iBAAiB;IAChC,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,8EAA8E;IAC9E,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,qCAAqC;IACrC,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CACvC;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,OAAO,CAAC,EAAE,MAAM;IAKtB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgCpD,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAQ3C;;;;;;;;;;;;;;OAcG;IACG,mBAAmB,IAAI,OAAO,CAAC;QACnC,SAAS,EAAE,kBAAkB,EAAE,CAAC;QAChC,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACjD,CAAC;CAqBH"}
|
|
@@ -45,18 +45,48 @@ export class JsonWorkflowStore {
|
|
|
45
45
|
return parsed;
|
|
46
46
|
}
|
|
47
47
|
async list() {
|
|
48
|
+
// Re-expressed over listWithDiagnostics (issue #427) so there is ONE directory walk and one
|
|
49
|
+
// parse policy. The interface contract is unchanged — callers that only want the readable
|
|
50
|
+
// definitions still get exactly those, and the skipped files stay skipped here.
|
|
51
|
+
const { workflows } = await this.listWithDiagnostics();
|
|
52
|
+
return workflows;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Everything `list()` returns, plus what it silently drops (issue #427).
|
|
56
|
+
*
|
|
57
|
+
* `list()` skips a file it cannot parse, which is right for a caller that just wants the
|
|
58
|
+
* definitions and wrong for an operator asking what is in their registry: realm cannot audit
|
|
59
|
+
* what it cannot read, and saying nothing about it is how a broken entry stays invisible.
|
|
60
|
+
*
|
|
61
|
+
* `mismatched` covers a second invisible case. `<id>.json` is the write convention, but a
|
|
62
|
+
* hand-edited file can carry an inner id that differs from its basename — and since anything
|
|
63
|
+
* resolving a workflow by id resolves by FILENAME, such an entry is reachable under a name
|
|
64
|
+
* this list would not print. Disclosed rather than corrected.
|
|
65
|
+
*
|
|
66
|
+
* Additive and CONCRETE: `WorkflowRegistrar` is untouched, so no other implementation has to
|
|
67
|
+
* grow a method to satisfy a read surface only the CLI uses.
|
|
68
|
+
*/
|
|
69
|
+
async listWithDiagnostics() {
|
|
48
70
|
const entries = readdirSync(this.dir).filter((f) => f.endsWith('.json'));
|
|
49
|
-
const
|
|
71
|
+
const workflows = [];
|
|
72
|
+
const unreadable = [];
|
|
73
|
+
const mismatched = [];
|
|
50
74
|
for (const entry of entries) {
|
|
75
|
+
let parsed;
|
|
51
76
|
try {
|
|
52
77
|
const raw = readFileSync(join(this.dir, entry), 'utf8');
|
|
53
|
-
|
|
78
|
+
parsed = JSON.parse(raw);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
unreadable.push({ file: entry, reason: err instanceof Error ? err.message : String(err) });
|
|
82
|
+
continue;
|
|
54
83
|
}
|
|
55
|
-
|
|
56
|
-
|
|
84
|
+
workflows.push(parsed);
|
|
85
|
+
if (entry !== `${String(parsed.id)}.json`) {
|
|
86
|
+
mismatched.push({ file: entry, id: String(parsed.id) });
|
|
57
87
|
}
|
|
58
88
|
}
|
|
59
|
-
return
|
|
89
|
+
return { workflows, unreadable, mismatched };
|
|
60
90
|
}
|
|
61
91
|
}
|
|
62
92
|
//# sourceMappingURL=registrar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/workflow/registrar.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAW3D;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACX,GAAG,CAAS;IAE7B,YAAY,OAAgB;QAC1B,IAAI,CAAC,GAAG,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC7D,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAA8B;QAC3C,MAAM,eAAe,CACnB,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,EAAE,OAAO,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CACpC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,UAAkB;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;QACtD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,aAAa,CAAC,uBAAuB,UAAU,EAAE,EAAE;gBAC3D,IAAI,EAAE,0BAA0B;gBAChC,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QACrD,IACE,MAAM,CAAC,cAAc,KAAK,SAAS;YACnC,MAAM,CAAC,cAAc,GAAG,+BAA+B,EACvD,CAAC;YACD,MAAM,IAAI,aAAa,CACrB,+DAA+D;gBAC7D,iEAAiE,EACnE;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,gBAAgB;gBAC7B,SAAS,EAAE,KAAK;aACjB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,MAAM,
|
|
1
|
+
{"version":3,"file":"registrar.js","sourceRoot":"","sources":["../../src/workflow/registrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { WorkflowDefinition } from '../types/workflow-definition.js';
|
|
2
|
+
import { WorkflowError } from '../types/workflow-error.js';
|
|
2
3
|
import { type LoaderWarning } from './diagnostics.js';
|
|
3
4
|
import type { ExtensionRegistry } from '../extensions/registry.js';
|
|
4
5
|
/** Bumped on every breaking change to WorkflowDefinition's serialized format. */
|
|
@@ -12,6 +13,22 @@ export declare const CURRENT_WORKFLOW_SCHEMA_VERSION = 1;
|
|
|
12
13
|
* Pure `package.json`/`.git` walk — zero manifest knowledge.
|
|
13
14
|
*/
|
|
14
15
|
export declare function findTrustRoot(dir: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* issue #424 — attaches the live loader warnings to an error on its way out.
|
|
18
|
+
*
|
|
19
|
+
* Two chokepoints call this (one in `parseWorkflowString`, one in `loadWorkflowFromFileCore`),
|
|
20
|
+
* which is why it exists rather than each throw site building its own error with a `warnings`
|
|
21
|
+
* option: there are eleven throw sites across this file plus four more in template-resolver.ts,
|
|
22
|
+
* the warnings array is out of scope at most of them, and a chokepoint covers every future one
|
|
23
|
+
* for free. The non-empty guard makes the classification automatic — a throw that happens before
|
|
24
|
+
* any warning could exist attaches nothing, by construction rather than by a rule someone has to
|
|
25
|
+
* remember.
|
|
26
|
+
*
|
|
27
|
+
* Attach-once: an inner chokepoint's attachment survives the outer one re-catching the same
|
|
28
|
+
* error, so a file-based load reports the warnings from the parse that produced it rather than
|
|
29
|
+
* an emptier outer set.
|
|
30
|
+
*/
|
|
31
|
+
export declare function attachLoaderWarnings(err: WorkflowError, warnings: readonly LoaderWarning[]): void;
|
|
15
32
|
/**
|
|
16
33
|
* Loads a WorkflowDefinition from a YAML file on disk. UNCHANGED signature/return type — the
|
|
17
34
|
* non-breaking invariant (issue #169): every existing execution caller keeps compiling and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/workflow/yaml-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"yaml-loader.d.ts","sourceRoot":"","sources":["../../src/workflow/yaml-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,iCAAiC,CAAC;AAOzC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAsOnE,iFAAiF;AACjF,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAkFjD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAUjD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAIjG;AA8KD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAIpB;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAE/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,kBAAkB,CAMpB;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,iBAAiB,GAC3B;IAAE,UAAU,EAAE,kBAAkB,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAE/D"}
|