@ontrails/core 1.0.0-beta.12 → 1.0.0-beta.14
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/.turbo/turbo-lint.log +1 -1
- package/CHANGELOG.md +65 -35
- package/README.md +21 -20
- package/dist/context.d.ts +1 -1
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +5 -4
- package/dist/context.js.map +1 -1
- package/dist/derive.d.ts +14 -3
- package/dist/derive.d.ts.map +1 -1
- package/dist/derive.js +36 -12
- package/dist/derive.js.map +1 -1
- package/dist/draft.d.ts +28 -0
- package/dist/draft.d.ts.map +1 -0
- package/dist/draft.js +156 -0
- package/dist/draft.js.map +1 -0
- package/dist/event.d.ts +4 -41
- package/dist/event.d.ts.map +1 -1
- package/dist/event.js +4 -14
- package/dist/event.js.map +1 -1
- package/dist/execute.d.ts +10 -10
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +35 -28
- package/dist/execute.js.map +1 -1
- package/dist/gate.d.ts +17 -0
- package/dist/gate.d.ts.map +1 -0
- package/dist/gate.js +21 -0
- package/dist/gate.js.map +1 -0
- package/dist/index.d.ts +16 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -9
- package/dist/index.js.map +1 -1
- package/dist/internal/topo-saves.d.ts +47 -0
- package/dist/internal/topo-saves.d.ts.map +1 -0
- package/dist/internal/topo-saves.js +310 -0
- package/dist/internal/topo-saves.js.map +1 -0
- package/dist/internal/topo-store-read.d.ts +67 -0
- package/dist/internal/topo-store-read.d.ts.map +1 -0
- package/dist/internal/topo-store-read.js +222 -0
- package/dist/internal/topo-store-read.js.map +1 -0
- package/dist/internal/topo-store.d.ts +12 -0
- package/dist/internal/topo-store.d.ts.map +1 -0
- package/dist/internal/topo-store.js +571 -0
- package/dist/internal/topo-store.js.map +1 -0
- package/dist/internal/trails-db.d.ts +16 -0
- package/dist/internal/trails-db.d.ts.map +1 -0
- package/dist/internal/trails-db.js +118 -0
- package/dist/internal/trails-db.js.map +1 -0
- package/dist/layer.d.ts +5 -16
- package/dist/layer.d.ts.map +1 -1
- package/dist/layer.js +3 -20
- package/dist/layer.js.map +1 -1
- package/dist/provision-config.d.ts +22 -0
- package/dist/provision-config.d.ts.map +1 -0
- package/dist/provision-config.js +210 -0
- package/dist/provision-config.js.map +1 -0
- package/dist/provision.d.ts +71 -0
- package/dist/provision.d.ts.map +1 -0
- package/dist/provision.js +56 -0
- package/dist/provision.js.map +1 -0
- package/dist/run.d.ts +27 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +34 -0
- package/dist/run.js.map +1 -0
- package/dist/service-config.d.ts +7 -7
- package/dist/service-config.d.ts.map +1 -1
- package/dist/service-config.js +75 -73
- package/dist/service-config.js.map +1 -1
- package/dist/service.d.ts +32 -36
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +21 -21
- package/dist/service.js.map +1 -1
- package/dist/signal.d.ts +33 -0
- package/dist/signal.d.ts.map +1 -0
- package/dist/signal.js +17 -0
- package/dist/signal.js.map +1 -0
- package/dist/topo-store.d.ts +48 -0
- package/dist/topo-store.d.ts.map +1 -0
- package/dist/topo-store.js +175 -0
- package/dist/topo-store.js.map +1 -0
- package/dist/topo.d.ts +10 -10
- package/dist/topo.d.ts.map +1 -1
- package/dist/topo.js +48 -35
- package/dist/topo.js.map +1 -1
- package/dist/trail.d.ts +16 -16
- package/dist/trail.d.ts.map +1 -1
- package/dist/trail.js +5 -4
- package/dist/trail.js.map +1 -1
- package/dist/types.d.ts +10 -10
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/dist/types.js.map +1 -1
- package/dist/validate-established-topo.d.ts +76 -0
- package/dist/validate-established-topo.d.ts.map +1 -0
- package/dist/validate-established-topo.js +43 -0
- package/dist/validate-established-topo.js.map +1 -0
- package/dist/validate-topo.d.ts +2 -2
- package/dist/validate-topo.d.ts.map +1 -1
- package/dist/validate-topo.js +34 -32
- package/dist/validate-topo.js.map +1 -1
- package/package.json +4 -1
- package/src/__tests__/context.test.ts +8 -8
- package/src/__tests__/derive.test.ts +58 -1
- package/src/__tests__/execute.test.ts +124 -122
- package/src/__tests__/{layer.test.ts → gate.test.ts} +26 -26
- package/src/__tests__/{dispatch.test.ts → run.test.ts} +39 -39
- package/src/__tests__/service-config.test.ts +41 -37
- package/src/__tests__/service.test.ts +71 -71
- package/src/__tests__/{event.test.ts → signal.test.ts} +15 -15
- package/src/__tests__/topo-store-read.test.ts +251 -0
- package/src/__tests__/topo-store.test.ts +469 -0
- package/src/__tests__/topo.test.ts +54 -54
- package/src/__tests__/trail-permit.test.ts +4 -4
- package/src/__tests__/trail.test.ts +58 -58
- package/src/__tests__/trails-db.test.ts +191 -0
- package/src/__tests__/type-utils.test.ts +3 -3
- package/src/__tests__/validate-topo.test.ts +205 -38
- package/src/context.ts +5 -4
- package/src/derive.ts +47 -16
- package/src/draft.ts +334 -0
- package/src/event.ts +11 -73
- package/src/execute.ts +56 -40
- package/src/{layer.ts → gate.ts} +13 -13
- package/src/index.ts +54 -23
- package/src/internal/topo-saves.ts +429 -0
- package/src/internal/topo-store-read.ts +473 -0
- package/src/internal/topo-store.ts +1087 -0
- package/src/internal/trails-db.ts +189 -0
- package/src/{service-config.ts → provision-config.ts} +124 -105
- package/src/provision.ts +148 -0
- package/src/{dispatch.ts → run.ts} +8 -8
- package/src/signal.ts +65 -0
- package/src/topo-store.ts +301 -0
- package/src/topo.ts +74 -52
- package/src/trail.ts +23 -22
- package/src/types.ts +11 -11
- package/src/validate-established-topo.ts +63 -0
- package/src/validate-topo.ts +38 -34
- package/tsconfig.tsbuildinfo +1 -1
- package/src/service.ts +0 -145
package/dist/draft.js
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { ValidationError } from './errors.js';
|
|
2
|
+
import { Result } from './result.js';
|
|
3
|
+
export const DRAFT_ID_PREFIX = '_draft.';
|
|
4
|
+
const replacedByTarget = (value) => {
|
|
5
|
+
const raw = value;
|
|
6
|
+
return typeof raw.replacedBy === 'string' ? raw.replacedBy : undefined;
|
|
7
|
+
};
|
|
8
|
+
export const isDraftId = (id) => id.startsWith(DRAFT_ID_PREFIX);
|
|
9
|
+
const dependenciesFromIds = (fromId, toIds, kind) => toIds.map((toId) => ({
|
|
10
|
+
fromId,
|
|
11
|
+
kind,
|
|
12
|
+
toId,
|
|
13
|
+
}));
|
|
14
|
+
const dependencyFromTarget = (fromId, toId, kind) => toId === undefined
|
|
15
|
+
? []
|
|
16
|
+
: [
|
|
17
|
+
{
|
|
18
|
+
fromId,
|
|
19
|
+
kind,
|
|
20
|
+
toId,
|
|
21
|
+
},
|
|
22
|
+
];
|
|
23
|
+
const dependenciesFromDetours = (fromId, detours) => Object.values(detours).flatMap((targets) => dependenciesFromIds(fromId, targets, 'detour'));
|
|
24
|
+
const trailDependencies = (trail) => {
|
|
25
|
+
const { detours } = trail;
|
|
26
|
+
return [
|
|
27
|
+
...dependenciesFromIds(trail.id, trail.crosses, 'cross'),
|
|
28
|
+
...dependenciesFromIds(trail.id, trail.provisions.map(({ id }) => id), 'provision'),
|
|
29
|
+
...(detours === undefined
|
|
30
|
+
? []
|
|
31
|
+
: dependenciesFromDetours(trail.id, detours)),
|
|
32
|
+
...dependencyFromTarget(trail.id, replacedByTarget(trail), 'replaced-by'),
|
|
33
|
+
];
|
|
34
|
+
};
|
|
35
|
+
const signalDependencies = (signal) => [
|
|
36
|
+
...dependenciesFromIds(signal.id, signal.from ?? [], 'signal-from'),
|
|
37
|
+
...dependencyFromTarget(signal.id, replacedByTarget(signal), 'replaced-by'),
|
|
38
|
+
];
|
|
39
|
+
const provisionDependencies = (provision) => dependencyFromTarget(provision.id, replacedByTarget(provision), 'replaced-by');
|
|
40
|
+
const nodeKind = (id, trails, signals, provisions) => {
|
|
41
|
+
if (trails.has(id)) {
|
|
42
|
+
return 'trail';
|
|
43
|
+
}
|
|
44
|
+
if (signals.has(id)) {
|
|
45
|
+
return 'signal';
|
|
46
|
+
}
|
|
47
|
+
if (provisions.has(id)) {
|
|
48
|
+
return 'provision';
|
|
49
|
+
}
|
|
50
|
+
return 'unknown';
|
|
51
|
+
};
|
|
52
|
+
const displayKind = (kind) => kind === 'unknown' ? 'Node' : kind[0]?.toUpperCase() + kind.slice(1);
|
|
53
|
+
const draftIdsFromKeys = (keys) => [...keys].filter(isDraftId);
|
|
54
|
+
const collectDeclaredDraftIds = (topo) => new Set([
|
|
55
|
+
...draftIdsFromKeys(topo.trails.keys()),
|
|
56
|
+
...draftIdsFromKeys(topo.signals.keys()),
|
|
57
|
+
...draftIdsFromKeys(topo.provisions.keys()),
|
|
58
|
+
]);
|
|
59
|
+
const findingForDraftId = (id, kind) => ({
|
|
60
|
+
id,
|
|
61
|
+
kind,
|
|
62
|
+
message: `${displayKind(id ? kind : 'unknown')} "${id}" is draft and cannot appear in the established graph.`,
|
|
63
|
+
rule: 'draft-id',
|
|
64
|
+
});
|
|
65
|
+
const findingForContamination = (id, kind, reason) => {
|
|
66
|
+
const dependencyLabel = isDraftId(reason.dependsOn)
|
|
67
|
+
? `draft "${reason.dependsOn}"`
|
|
68
|
+
: `draft-contaminated "${reason.dependsOn}"`;
|
|
69
|
+
return {
|
|
70
|
+
dependsOn: reason.dependsOn,
|
|
71
|
+
id,
|
|
72
|
+
kind,
|
|
73
|
+
message: `Established ${kind} "${id}" depends on ${dependencyLabel} ` +
|
|
74
|
+
`via ${reason.via} and cannot appear in the established graph.`,
|
|
75
|
+
rule: 'draft-contamination',
|
|
76
|
+
via: reason.via,
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
const contaminationReason = (dependency, contaminatedIds) => {
|
|
80
|
+
if (contaminatedIds.has(dependency.fromId)) {
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
if (!isDraftId(dependency.toId) && !contaminatedIds.has(dependency.toId)) {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
dependsOn: dependency.toId,
|
|
88
|
+
via: dependency.kind,
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
const markContaminatedDependency = (dependency, contaminatedIds, reasons) => {
|
|
92
|
+
const reason = contaminationReason(dependency, contaminatedIds);
|
|
93
|
+
if (reason === undefined) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
contaminatedIds.add(dependency.fromId);
|
|
97
|
+
reasons.set(dependency.fromId, reason);
|
|
98
|
+
return true;
|
|
99
|
+
};
|
|
100
|
+
const propagateContaminatedIds = (declaredDraftIds, dependencies) => {
|
|
101
|
+
const contaminatedIds = new Set(declaredDraftIds);
|
|
102
|
+
const reasons = new Map();
|
|
103
|
+
const visit = () => {
|
|
104
|
+
if (dependencies.some((dependency) => markContaminatedDependency(dependency, contaminatedIds, reasons))) {
|
|
105
|
+
visit();
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
visit();
|
|
109
|
+
return { contaminatedIds, reasons };
|
|
110
|
+
};
|
|
111
|
+
const contaminationFindingForId = (id, declaredDraftIds, reasons, trails, signals, provisions) => {
|
|
112
|
+
if (declaredDraftIds.has(id)) {
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
const reason = reasons.get(id);
|
|
116
|
+
if (reason === undefined) {
|
|
117
|
+
return undefined;
|
|
118
|
+
}
|
|
119
|
+
return findingForContamination(id, nodeKind(id, trails, signals, provisions), reason);
|
|
120
|
+
};
|
|
121
|
+
const collectFindings = (declaredDraftIds, contaminatedIds, reasons, trails, signals, provisions) => [
|
|
122
|
+
...[...declaredDraftIds]
|
|
123
|
+
.toSorted()
|
|
124
|
+
.map((id) => findingForDraftId(id, nodeKind(id, trails, signals, provisions))),
|
|
125
|
+
...[...contaminatedIds].toSorted().flatMap((id) => {
|
|
126
|
+
const finding = contaminationFindingForId(id, declaredDraftIds, reasons, trails, signals, provisions);
|
|
127
|
+
return finding === undefined ? [] : [finding];
|
|
128
|
+
}),
|
|
129
|
+
];
|
|
130
|
+
const collectDependencies = (topo) => [
|
|
131
|
+
...[...topo.trails.values()].flatMap(trailDependencies),
|
|
132
|
+
...[...topo.signals.values()].flatMap(signalDependencies),
|
|
133
|
+
...[...topo.provisions.values()].flatMap(provisionDependencies),
|
|
134
|
+
];
|
|
135
|
+
export const analyzeDraftState = (topo) => {
|
|
136
|
+
const declaredDraftIds = collectDeclaredDraftIds(topo);
|
|
137
|
+
const dependencies = collectDependencies(topo);
|
|
138
|
+
const { contaminatedIds, reasons } = propagateContaminatedIds(declaredDraftIds, dependencies);
|
|
139
|
+
const findings = collectFindings(declaredDraftIds, contaminatedIds, reasons, topo.trails, topo.signals, topo.provisions);
|
|
140
|
+
return {
|
|
141
|
+
contaminatedIds,
|
|
142
|
+
declaredDraftIds,
|
|
143
|
+
dependencies,
|
|
144
|
+
findings,
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
export const validateEstablishedTopo = (topo) => {
|
|
148
|
+
const analysis = analyzeDraftState(topo);
|
|
149
|
+
if (analysis.findings.length === 0) {
|
|
150
|
+
return Result.ok();
|
|
151
|
+
}
|
|
152
|
+
return Result.err(new ValidationError(`Established topo validation failed with ${analysis.findings.length} draft issue(s)`, {
|
|
153
|
+
context: { issues: analysis.findings },
|
|
154
|
+
}));
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draft.js","sourceRoot":"","sources":["../src/draft.ts"],"names":[],"mappings":"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"}
|
package/dist/event.d.ts
CHANGED
|
@@ -1,45 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*/
|
|
4
|
-
import type { z } from 'zod';
|
|
5
|
-
export interface EventSpec<T> {
|
|
6
|
-
readonly payload: z.ZodType<T>;
|
|
7
|
-
readonly description?: string | undefined;
|
|
8
|
-
readonly metadata?: Readonly<Record<string, unknown>> | undefined;
|
|
9
|
-
/** Trail IDs that produce this event (e.g. the trails it originates from). */
|
|
10
|
-
readonly from?: readonly string[] | undefined;
|
|
11
|
-
}
|
|
12
|
-
export interface Event<T> {
|
|
13
|
-
readonly id: string;
|
|
14
|
-
readonly kind: 'event';
|
|
15
|
-
readonly payload: z.ZodType<T>;
|
|
16
|
-
readonly description?: string | undefined;
|
|
17
|
-
readonly metadata?: Readonly<Record<string, unknown>> | undefined;
|
|
18
|
-
/** Trail IDs that produce this event (e.g. the trails it originates from). */
|
|
19
|
-
readonly from?: readonly string[] | undefined;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Create an event definition.
|
|
23
|
-
*
|
|
24
|
-
* An event is a named payload schema describing something that happened.
|
|
25
|
-
* Returns a frozen object with `kind: "event"` and all spec fields.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* // ID as first argument
|
|
30
|
-
* const updated = event("entity.updated", {
|
|
31
|
-
* payload: EntityUpdatedSchema,
|
|
32
|
-
* from: ["entity.add", "entity.update"],
|
|
33
|
-
* });
|
|
2
|
+
* Legacy event aliases for the signal model.
|
|
34
3
|
*
|
|
35
|
-
*
|
|
36
|
-
* const updated = event({ id: "entity.updated", payload: ..., from: [...] });
|
|
37
|
-
* ```
|
|
4
|
+
* Keep this file as a compatibility seam while the repo-wide cutover lands.
|
|
38
5
|
*/
|
|
39
|
-
export
|
|
40
|
-
export
|
|
41
|
-
readonly id: string;
|
|
42
|
-
}): Event<T>;
|
|
43
|
-
/** Existential type for heterogeneous event collections */
|
|
44
|
-
export type AnyEvent = Event<unknown>;
|
|
6
|
+
export { signal as event } from './signal.js';
|
|
7
|
+
export type { AnySignal, AnySignal as AnyEvent, Signal, Signal as Event, SignalSpec, SignalSpec as EventSpec, } from './signal.js';
|
|
45
8
|
//# sourceMappingURL=event.d.ts.map
|
package/dist/event.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EACV,SAAS,EACT,SAAS,IAAI,QAAQ,EACrB,MAAM,EACN,MAAM,IAAI,KAAK,EACf,UAAU,EACV,UAAU,IAAI,SAAS,GACxB,MAAM,aAAa,CAAC"}
|
package/dist/event.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Legacy event aliases for the signal model.
|
|
3
|
+
*
|
|
4
|
+
* Keep this file as a compatibility seam while the repo-wide cutover lands.
|
|
3
5
|
*/
|
|
4
|
-
export
|
|
5
|
-
const resolvedId = typeof idOrSpec === 'string' ? idOrSpec : idOrSpec.id;
|
|
6
|
-
// oxlint-disable-next-line no-non-null-assertion -- overload guarantees maybeSpec when idOrSpec is string
|
|
7
|
-
const resolvedSpec = typeof idOrSpec === 'string' ? maybeSpec : idOrSpec;
|
|
8
|
-
return Object.freeze({
|
|
9
|
-
description: resolvedSpec.description,
|
|
10
|
-
from: resolvedSpec.from ? Object.freeze([...resolvedSpec.from]) : undefined,
|
|
11
|
-
id: resolvedId,
|
|
12
|
-
kind: 'event',
|
|
13
|
-
metadata: resolvedSpec.metadata,
|
|
14
|
-
payload: resolvedSpec.payload,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
6
|
+
export { signal as event } from './signal.js';
|
|
17
7
|
//# sourceMappingURL=event.js.map
|
package/dist/event.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/execute.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Centralized trail execution pipeline.
|
|
3
3
|
*
|
|
4
|
-
* Validates input, builds context, composes
|
|
4
|
+
* Validates input, builds context, composes gates, and runs the
|
|
5
5
|
* implementation. Surfaces (CLI, MCP, HTTP) delegate here instead
|
|
6
6
|
* of reimplementing the pipeline.
|
|
7
7
|
*/
|
|
8
8
|
import type { AnyTrail } from './trail.js';
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
9
|
+
import type { Gate } from './gate.js';
|
|
10
|
+
import type { ProvisionOverrideMap } from './provision.js';
|
|
11
11
|
import type { TrailContextInit } from './types.js';
|
|
12
12
|
import { Result } from './result.js';
|
|
13
13
|
/** Options for executeTrail. */
|
|
@@ -15,18 +15,18 @@ export interface ExecuteTrailOptions {
|
|
|
15
15
|
/** Partial context overrides merged on top of the base context. */
|
|
16
16
|
readonly ctx?: Partial<TrailContextInit> | undefined;
|
|
17
17
|
/** AbortSignal override (takes final precedence over ctx and factory). */
|
|
18
|
-
readonly
|
|
19
|
-
/**
|
|
20
|
-
readonly
|
|
18
|
+
readonly abortSignal?: AbortSignal | undefined;
|
|
19
|
+
/** Gates to compose around the implementation. */
|
|
20
|
+
readonly gates?: readonly Gate[] | undefined;
|
|
21
21
|
/** Factory that produces a base TrailContext (takes precedence over defaults). */
|
|
22
22
|
readonly createContext?: (() => TrailContextInit | Promise<TrailContextInit>) | undefined;
|
|
23
|
-
/** Explicit
|
|
24
|
-
readonly
|
|
25
|
-
/** Config values for
|
|
23
|
+
/** Explicit provision instance overrides keyed by provision ID. */
|
|
24
|
+
readonly provisions?: ProvisionOverrideMap | undefined;
|
|
25
|
+
/** Config values for provisions that declare a `config` schema, keyed by provision ID. */
|
|
26
26
|
readonly configValues?: Readonly<Record<string, Record<string, unknown>>> | undefined;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
* Execute a trail through the standard validate-context-
|
|
29
|
+
* Execute a trail through the standard validate-context-gates-run pipeline.
|
|
30
30
|
*
|
|
31
31
|
* The function never throws -- unexpected exceptions are caught and
|
|
32
32
|
* returned as `Result.err(InternalError)`.
|
package/dist/execute.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAarC,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,mEAAmE;IACnE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;IACrD,0EAA0E;IAC1E,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/C,kDAAkD;IAClD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,IAAI,EAAE,GAAG,SAAS,CAAC;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,aAAa,CAAC,EACnB,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,GACpD,SAAS,CAAC;IACd,mEAAmE;IACnE,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACvD,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,CAAC,EAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GACjD,SAAS,CAAC;CACf;AAsFD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,QAAQ,EACf,UAAU,OAAO,EACjB,UAAU,mBAAmB,KAC5B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAsBhC,CAAC"}
|
package/dist/execute.js
CHANGED
|
@@ -1,64 +1,71 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Centralized trail execution pipeline.
|
|
3
3
|
*
|
|
4
|
-
* Validates input, builds context, composes
|
|
4
|
+
* Validates input, builds context, composes gates, and runs the
|
|
5
5
|
* implementation. Surfaces (CLI, MCP, HTTP) delegate here instead
|
|
6
6
|
* of reimplementing the pipeline.
|
|
7
7
|
*/
|
|
8
|
-
import {
|
|
8
|
+
import { composeGates } from './gate.js';
|
|
9
9
|
import { createTrailContext } from './context.js';
|
|
10
10
|
import { InternalError } from './errors.js';
|
|
11
11
|
import { Result } from './result.js';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
12
|
+
import { createProvisionLookup } from './provision.js';
|
|
13
|
+
import { resolveProvisions } from './provision-config.js';
|
|
14
14
|
import { validateInput } from './validation.js';
|
|
15
15
|
// ---------------------------------------------------------------------------
|
|
16
16
|
// Context resolution
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
|
+
const applyContextOverrides = (base, options) => {
|
|
19
|
+
const withOverrides = options?.ctx
|
|
20
|
+
? {
|
|
21
|
+
...base,
|
|
22
|
+
...options.ctx,
|
|
23
|
+
extensions: { ...base.extensions, ...options.ctx.extensions },
|
|
24
|
+
}
|
|
25
|
+
: base;
|
|
26
|
+
return options?.abortSignal
|
|
27
|
+
? { ...withOverrides, abortSignal: options.abortSignal }
|
|
28
|
+
: withOverrides;
|
|
29
|
+
};
|
|
30
|
+
const bindProvisionLookup = (resolved, options) => {
|
|
31
|
+
if (options?.ctx?.extensions === undefined &&
|
|
32
|
+
resolved.provision !== undefined) {
|
|
33
|
+
return resolved;
|
|
34
|
+
}
|
|
35
|
+
const bound = { ...resolved };
|
|
36
|
+
const lookup = createProvisionLookup(() => bound);
|
|
37
|
+
bound.provision = lookup;
|
|
38
|
+
return bound;
|
|
39
|
+
};
|
|
18
40
|
/**
|
|
19
41
|
* Build a TrailContext from options.
|
|
20
42
|
*
|
|
21
43
|
* Resolution order:
|
|
22
44
|
* 1. Factory (`createContext`) or `createTrailContext()` defaults.
|
|
23
45
|
* 2. Partial `ctx` overrides merged on top.
|
|
24
|
-
* 3. `
|
|
46
|
+
* 3. `abortSignal` override takes final precedence.
|
|
25
47
|
*/
|
|
26
48
|
const resolveContext = async (options) => {
|
|
27
49
|
const seed = options?.createContext
|
|
28
50
|
? await options.createContext()
|
|
29
51
|
: createTrailContext();
|
|
30
|
-
const base = seed.
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
...base,
|
|
34
|
-
...options.ctx,
|
|
35
|
-
extensions: { ...base.extensions, ...options.ctx.extensions },
|
|
36
|
-
}
|
|
37
|
-
: base;
|
|
38
|
-
const resolved = options?.signal
|
|
39
|
-
? { ...withOverrides, signal: options.signal }
|
|
40
|
-
: withOverrides;
|
|
41
|
-
if (options?.ctx?.extensions !== undefined ||
|
|
42
|
-
resolved.service === undefined) {
|
|
43
|
-
const bound = { ...resolved };
|
|
44
|
-
bound.service = createServiceLookup(() => bound);
|
|
45
|
-
return bound;
|
|
46
|
-
}
|
|
47
|
-
return resolved;
|
|
52
|
+
const base = seed.provision ? seed : createTrailContext(seed);
|
|
53
|
+
const resolved = applyContextOverrides(base, options);
|
|
54
|
+
return bindProvisionLookup(resolved, options);
|
|
48
55
|
};
|
|
49
56
|
const prepareContext = async (trail, options) => {
|
|
50
57
|
const baseCtx = await resolveContext(options);
|
|
51
|
-
return await
|
|
58
|
+
return await resolveProvisions(trail, baseCtx, options?.provisions, options?.configValues);
|
|
52
59
|
};
|
|
53
|
-
const runTrail = async (trail, input, ctx,
|
|
54
|
-
const impl =
|
|
60
|
+
const runTrail = async (trail, input, ctx, gates) => {
|
|
61
|
+
const impl = composeGates([...gates], trail, trail.blaze);
|
|
55
62
|
return await impl(input, ctx);
|
|
56
63
|
};
|
|
57
64
|
// ---------------------------------------------------------------------------
|
|
58
65
|
// Pipeline
|
|
59
66
|
// ---------------------------------------------------------------------------
|
|
60
67
|
/**
|
|
61
|
-
* Execute a trail through the standard validate-context-
|
|
68
|
+
* Execute a trail through the standard validate-context-gates-run pipeline.
|
|
62
69
|
*
|
|
63
70
|
* The function never throws -- unexpected exceptions are caught and
|
|
64
71
|
* returned as `Result.err(InternalError)`.
|
|
@@ -73,7 +80,7 @@ export const executeTrail = async (trail, rawInput, options) => {
|
|
|
73
80
|
if (resolvedCtx.isErr()) {
|
|
74
81
|
return resolvedCtx;
|
|
75
82
|
}
|
|
76
|
-
return await runTrail(trail, validated.value, resolvedCtx.value, options?.
|
|
83
|
+
return await runTrail(trail, validated.value, resolvedCtx.value, options?.gates ?? []);
|
|
77
84
|
}
|
|
78
85
|
catch (error) {
|
|
79
86
|
const message = error instanceof Error ? error.message : String(error);
|
package/dist/execute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../src/execute.ts"],"names":[],"mappings":"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"}
|
package/dist/gate.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Trail } from './trail.js';
|
|
2
|
+
import type { Implementation } from './types.js';
|
|
3
|
+
/** A composable gate that wraps trail implementations. */
|
|
4
|
+
export interface Gate {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
readonly description?: string | undefined;
|
|
7
|
+
/** Wrap a trail's implementation, returning a new implementation. */
|
|
8
|
+
wrap<I, O>(trail: Trail<I, O>, implementation: Implementation<I, O>): Implementation<I, O>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Apply gates outermost-first: gates[0] wraps gates[1] wraps ... wraps
|
|
12
|
+
* the base implementation.
|
|
13
|
+
*
|
|
14
|
+
* An empty gates array returns the implementation unchanged.
|
|
15
|
+
*/
|
|
16
|
+
export declare const composeGates: <I, O>(gates: readonly Gate[], trail: Trail<I, O>, implementation: Implementation<I, O>) => Implementation<I, O>;
|
|
17
|
+
//# sourceMappingURL=gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD,0DAA0D;AAC1D,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1C,qEAAqE;IACrE,IAAI,CAAC,CAAC,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,cAAc,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,GACnC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACzB;AAMD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAC/B,OAAO,SAAS,IAAI,EAAE,EACtB,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAClB,gBAAgB,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,KACnC,cAAc,CAAC,CAAC,EAAE,CAAC,CAUrB,CAAC"}
|
package/dist/gate.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Composition
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
/**
|
|
5
|
+
* Apply gates outermost-first: gates[0] wraps gates[1] wraps ... wraps
|
|
6
|
+
* the base implementation.
|
|
7
|
+
*
|
|
8
|
+
* An empty gates array returns the implementation unchanged.
|
|
9
|
+
*/
|
|
10
|
+
export const composeGates = (gates, trail, implementation) => {
|
|
11
|
+
// Fold right so gates[0] is the outermost wrapper.
|
|
12
|
+
let result = implementation;
|
|
13
|
+
for (let i = gates.length - 1; i >= 0; i -= 1) {
|
|
14
|
+
const gate = gates[i];
|
|
15
|
+
if (gate) {
|
|
16
|
+
result = gate.wrap(trail, result);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=gate.js.map
|
package/dist/gate.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAmBA,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,KAAsB,EACtB,KAAkB,EAClB,cAAoC,EACd,EAAE;IACxB,mDAAmD;IACnD,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,29 +1,36 @@
|
|
|
1
1
|
export { Result } from './result.js';
|
|
2
2
|
export { TrailsError, ValidationError, AmbiguousError, AssertionError, NotFoundError, AlreadyExistsError, ConflictError, PermissionError, TimeoutError, RateLimitError, NetworkError, InternalError, AuthError, CancelledError, exitCodeMap, statusCodeMap, jsonRpcCodeMap, retryableMap, isRetryable, isTrailsError, } from './errors.js';
|
|
3
3
|
export type { ErrorCategory } from './errors.js';
|
|
4
|
-
export type { Implementation, TrailContext, TrailContextInit,
|
|
5
|
-
export {
|
|
4
|
+
export type { Implementation, TrailContext, TrailContextInit, CrossFn, BasePermit, PermitRequirement, ProgressCallback, ProgressEvent, Logger, ProvisionLookup, } from './types.js';
|
|
5
|
+
export { TRAILHEAD_KEY } from './types.js';
|
|
6
6
|
export { createTrailContext } from './context.js';
|
|
7
|
-
export {
|
|
8
|
-
export type {
|
|
7
|
+
export { createProvisionLookup, findDuplicateProvisionId, isProvision, provision, } from './provision.js';
|
|
8
|
+
export type { AnyProvision, Provision, ProvisionContext, ProvisionOverrideMap, ProvisionSpec, } from './provision.js';
|
|
9
9
|
export { trail } from './trail.js';
|
|
10
10
|
export type { AnyTrail, Intent, Trail, TrailSpec, TrailExample, } from './trail.js';
|
|
11
11
|
export type { TrailInput, TrailOutput, TrailResult } from './type-utils.js';
|
|
12
12
|
export { inputOf, outputOf } from './type-utils.js';
|
|
13
|
+
export { signal } from './signal.js';
|
|
14
|
+
export type { AnySignal, Signal, SignalSpec } from './signal.js';
|
|
13
15
|
export { event } from './event.js';
|
|
14
16
|
export type { AnyEvent, Event, EventSpec } from './event.js';
|
|
15
17
|
export { topo } from './topo.js';
|
|
16
18
|
export type { Topo } from './topo.js';
|
|
19
|
+
export { createMockTopoStore, createTopoStore, topoStore, } from './topo-store.js';
|
|
20
|
+
export type { MockTopoStoreSeed, ReadOnlyTopoStore, TopoStoreExportRecord, TopoStoreProvisionRecord, TopoStoreRef, TopoStoreTrailDetailRecord, TopoStoreTrailRecord, } from './topo-store.js';
|
|
21
|
+
export { DRAFT_ID_PREFIX, analyzeDraftState, isDraftId, validateEstablishedTopo as validateDraftFreeTopo, } from './draft.js';
|
|
22
|
+
export type { DraftDependency, DraftDependencyKind, DraftFinding, DraftStateAnalysis, } from './draft.js';
|
|
17
23
|
export { validateTopo } from './validate-topo.js';
|
|
18
24
|
export type { TopoIssue } from './validate-topo.js';
|
|
19
|
-
export {
|
|
20
|
-
export
|
|
21
|
-
export {
|
|
25
|
+
export { validateEstablishedTopo } from './validate-established-topo.js';
|
|
26
|
+
export { composeGates } from './gate.js';
|
|
27
|
+
export type { Gate } from './gate.js';
|
|
28
|
+
export { deriveCliPath, deriveFields } from './derive.js';
|
|
22
29
|
export type { Field, FieldOverride } from './derive.js';
|
|
23
30
|
export { executeTrail } from './execute.js';
|
|
24
31
|
export type { ExecuteTrailOptions } from './execute.js';
|
|
25
|
-
export {
|
|
26
|
-
export type {
|
|
32
|
+
export { run } from './run.js';
|
|
33
|
+
export type { RunOptions } from './run.js';
|
|
27
34
|
export { validateInput, validateOutput, formatZodIssues, zodToJsonSchema, } from './validation.js';
|
|
28
35
|
export { serializeError, deserializeError } from './serialization.js';
|
|
29
36
|
export type { SerializedError } from './serialization.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,YAAY,EACV,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,28 +2,33 @@
|
|
|
2
2
|
export { Result } from './result.js';
|
|
3
3
|
// Errors
|
|
4
4
|
export { TrailsError, ValidationError, AmbiguousError, AssertionError, NotFoundError, AlreadyExistsError, ConflictError, PermissionError, TimeoutError, RateLimitError, NetworkError, InternalError, AuthError, CancelledError, exitCodeMap, statusCodeMap, jsonRpcCodeMap, retryableMap, isRetryable, isTrailsError, } from './errors.js';
|
|
5
|
-
export {
|
|
5
|
+
export { TRAILHEAD_KEY } from './types.js';
|
|
6
6
|
// Context factory
|
|
7
7
|
export { createTrailContext } from './context.js';
|
|
8
|
-
//
|
|
9
|
-
export {
|
|
8
|
+
// Provision
|
|
9
|
+
export { createProvisionLookup, findDuplicateProvisionId, isProvision, provision, } from './provision.js';
|
|
10
10
|
// Trail
|
|
11
11
|
export { trail } from './trail.js';
|
|
12
12
|
export { inputOf, outputOf } from './type-utils.js';
|
|
13
|
-
//
|
|
13
|
+
// Signal
|
|
14
|
+
export { signal } from './signal.js';
|
|
14
15
|
export { event } from './event.js';
|
|
15
16
|
// Topo
|
|
16
17
|
export { topo } from './topo.js';
|
|
18
|
+
export { createMockTopoStore, createTopoStore, topoStore, } from './topo-store.js';
|
|
19
|
+
// Draft state
|
|
20
|
+
export { DRAFT_ID_PREFIX, analyzeDraftState, isDraftId, validateEstablishedTopo as validateDraftFreeTopo, } from './draft.js';
|
|
17
21
|
// Topo validation
|
|
18
22
|
export { validateTopo } from './validate-topo.js';
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
export { validateEstablishedTopo } from './validate-established-topo.js';
|
|
24
|
+
// Gate
|
|
25
|
+
export { composeGates } from './gate.js';
|
|
21
26
|
// Derive
|
|
22
|
-
export { deriveFields } from './derive.js';
|
|
27
|
+
export { deriveCliPath, deriveFields } from './derive.js';
|
|
23
28
|
// Execute
|
|
24
29
|
export { executeTrail } from './execute.js';
|
|
25
|
-
//
|
|
26
|
-
export {
|
|
30
|
+
// Run
|
|
31
|
+
export { run } from './run.js';
|
|
27
32
|
// Validation
|
|
28
33
|
export { validateInput, validateOutput, formatZodIssues, zodToJsonSchema, } from './validation.js';
|
|
29
34
|
// Serialization
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,SAAS;AACT,OAAO,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAC;AAgBrB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,SAAS;AACT,OAAO,EACL,WAAW,EACX,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,aAAa,CAAC;AAgBrB,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,kBAAkB;AAClB,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,YAAY;AACZ,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,WAAW,EACX,SAAS,GACV,MAAM,gBAAgB,CAAC;AASxB,QAAQ;AACR,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAWnC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEpD,SAAS;AACT,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO;AACP,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,SAAS,GACV,MAAM,iBAAiB,CAAC;AAWzB,cAAc;AACd,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,SAAS,EACT,uBAAuB,IAAI,qBAAqB,GACjD,MAAM,YAAY,CAAC;AAQpB,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO;AACP,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGzC,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1D,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM;AACN,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,aAAa;AACb,OAAO,EACL,aAAa,EACb,cAAc,EACd,eAAe,EACf,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAEzB,gBAAgB;AAChB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtE,aAAa;AACb,OAAO,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAGzB,uDAAuD;AAEvD,gBAAgB;AAChB,OAAO,EACL,KAAK,EACL,OAAO,EACP,IAAI,EACJ,KAAK,EACL,cAAc,EACd,WAAW,EACX,OAAO,EACP,MAAM,GACP,MAAM,cAAc,CAAC;AAStB,gBAAgB;AAChB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE7E,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO;AACP,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGzD,SAAS;AACT,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,cAAc;AACd,OAAO,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
|