@knpkv/herdr-coordinator 0.2.1 → 0.3.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/README.md +81 -3
- package/dist/chat.d.ts +129 -3
- package/dist/chat.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +2 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +2 -0
- package/dist/model.js.map +1 -1
- package/dist/orchestrator-errors.d.ts +54 -0
- package/dist/orchestrator-errors.d.ts.map +1 -0
- package/dist/orchestrator-errors.js +36 -0
- package/dist/orchestrator-errors.js.map +1 -0
- package/dist/orchestrator-model.d.ts +1160 -0
- package/dist/orchestrator-model.d.ts.map +1 -0
- package/dist/orchestrator-model.js +240 -0
- package/dist/orchestrator-model.js.map +1 -0
- package/dist/orchestrator.d.ts +34 -0
- package/dist/orchestrator.d.ts.map +1 -0
- package/dist/orchestrator.js +875 -0
- package/dist/orchestrator.js.map +1 -0
- package/dist/pull-request-evidence-model.d.ts +153 -0
- package/dist/pull-request-evidence-model.d.ts.map +1 -0
- package/dist/pull-request-evidence-model.js +136 -0
- package/dist/pull-request-evidence-model.js.map +1 -0
- package/dist/pull-request-evidence.d.ts +19 -0
- package/dist/pull-request-evidence.d.ts.map +1 -0
- package/dist/pull-request-evidence.js +102 -0
- package/dist/pull-request-evidence.js.map +1 -0
- package/package.json +9 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator-model.d.ts","sourceRoot":"","sources":["../src/orchestrator-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { AgentDelegate, JobActor, JobIdentifier, JobPayload } from "@knpkv/herdr-fleet/model";
|
|
2
|
+
import { fleetResponseBodyMaxBytes } from "@knpkv/herdr-fleet/response";
|
|
3
|
+
import { WorkAgentBinding, WorkAgentBindingRequest, WorkDecisionHandoff } from "@knpkv/herdr-work/model";
|
|
4
|
+
import { Schema } from "effect";
|
|
5
|
+
const Identifier = Schema.String.check(Schema.isNonEmpty(), Schema.isMaxLength(256), Schema.isPattern(/^(?:[^\uD800-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF])*$/));
|
|
6
|
+
const utf8 = new TextEncoder();
|
|
7
|
+
const utf8MaxBytes = (maximumBytes) => Schema.makeFilter((value) => utf8.encode(value).byteLength <= maximumBytes, { expected: `UTF-8 text no larger than ${maximumBytes} bytes` });
|
|
8
|
+
const UnicodeScalarText = Schema.String.check(Schema.isPattern(/^(?:[^\uD800-\uDFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF])*$/));
|
|
9
|
+
export const OrchestratorEventDetail = UnicodeScalarText.check(Schema.isMaxLength(fleetResponseBodyMaxBytes), utf8MaxBytes(fleetResponseBodyMaxBytes));
|
|
10
|
+
export const OrchestratorResult = UnicodeScalarText.check(Schema.isMaxLength(fleetResponseBodyMaxBytes), utf8MaxBytes(fleetResponseBodyMaxBytes));
|
|
11
|
+
const Timestamp = Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: 8_640_000_000_000_000 }));
|
|
12
|
+
export const DispatchRequestId = JobIdentifier;
|
|
13
|
+
export const ActivityIdempotencyKey = Identifier;
|
|
14
|
+
export const OrchestratorIdempotencyKey = Identifier;
|
|
15
|
+
const RouteReason = UnicodeScalarText.check(Schema.isNonEmpty(), Schema.isMaxLength(fleetResponseBodyMaxBytes), utf8MaxBytes(fleetResponseBodyMaxBytes));
|
|
16
|
+
const RouteProtocol = Schema.Literal("hostd.coordinator.route.v1");
|
|
17
|
+
const LunaMediumRoute = Schema.Struct({
|
|
18
|
+
protocol: RouteProtocol,
|
|
19
|
+
action: Schema.Literal("dispatch"),
|
|
20
|
+
model: Schema.Literal("gpt-5.6-luna"),
|
|
21
|
+
reasoningEffort: Schema.Literal("medium"),
|
|
22
|
+
reason: RouteReason,
|
|
23
|
+
linkedRequestId: Schema.Null
|
|
24
|
+
});
|
|
25
|
+
const LunaLowRoute = Schema.Struct({
|
|
26
|
+
...LunaMediumRoute.fields,
|
|
27
|
+
reasoningEffort: Schema.Literal("low")
|
|
28
|
+
});
|
|
29
|
+
const SolRoute = Schema.Struct({
|
|
30
|
+
protocol: RouteProtocol,
|
|
31
|
+
action: Schema.Literal("dispatch"),
|
|
32
|
+
model: Schema.Literal("gpt-5.6-sol"),
|
|
33
|
+
reasoningEffort: Schema.Literal("high"),
|
|
34
|
+
reason: RouteReason,
|
|
35
|
+
linkedRequestId: Schema.NullOr(DispatchRequestId)
|
|
36
|
+
});
|
|
37
|
+
/** Executable model metadata derived by the host coordinator policy. */
|
|
38
|
+
export const OrchestratorRoute = Schema.Union([LunaMediumRoute, LunaLowRoute, SolRoute]);
|
|
39
|
+
/** Durable Work handoff and dispatch ancestry bound to one routed request. */
|
|
40
|
+
export const OrchestratorWorkLink = Schema.Struct({
|
|
41
|
+
handoff: WorkDecisionHandoff,
|
|
42
|
+
lineage: Schema.Array(DispatchRequestId).check(Schema.isMaxLength(32), Schema.makeFilter((ids) => new Set(ids).size === ids.length, { expected: "unique dispatch IDs in Work lineage" }))
|
|
43
|
+
}).check(Schema.makeFilter(({ handoff, lineage }) => lineage.every((dispatchId) => handoff.dispatchIds.includes(dispatchId)), { expected: "Work lineage contained in the persisted handoff dispatch IDs" }));
|
|
44
|
+
/** The only command family accepted by the durable coordinator. */
|
|
45
|
+
export const OrchestratorCommand = Schema.Struct({
|
|
46
|
+
kind: Schema.Literal("fleet.job"),
|
|
47
|
+
actor: JobActor,
|
|
48
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
49
|
+
payload: JobPayload
|
|
50
|
+
});
|
|
51
|
+
const OrchestratorSolEscalationCommand = Schema.Struct({
|
|
52
|
+
kind: Schema.Literal("fleet.job"),
|
|
53
|
+
actor: JobActor,
|
|
54
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
55
|
+
payload: Schema.Struct({
|
|
56
|
+
kind: AgentDelegate.fields.kind,
|
|
57
|
+
repository: AgentDelegate.fields.repository,
|
|
58
|
+
prompt: AgentDelegate.fields.prompt,
|
|
59
|
+
mode: Schema.Literals(["review", "work"]),
|
|
60
|
+
channel: Schema.optionalKey(Schema.Undefined)
|
|
61
|
+
})
|
|
62
|
+
});
|
|
63
|
+
const OrchestratorConsultCommand = Schema.Struct({
|
|
64
|
+
kind: Schema.Literal("fleet.job"),
|
|
65
|
+
actor: JobActor,
|
|
66
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
67
|
+
payload: Schema.Struct({
|
|
68
|
+
...AgentDelegate.fields,
|
|
69
|
+
mode: Schema.Literal("consult")
|
|
70
|
+
})
|
|
71
|
+
});
|
|
72
|
+
const OrchestratorTransitionSummaryCommand = Schema.Struct({
|
|
73
|
+
kind: Schema.Literal("fleet.job"),
|
|
74
|
+
actor: JobActor,
|
|
75
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
76
|
+
payload: Schema.Struct({
|
|
77
|
+
...AgentDelegate.fields,
|
|
78
|
+
mode: Schema.Literal("transition_summary")
|
|
79
|
+
})
|
|
80
|
+
});
|
|
81
|
+
/** Failed Luna request and accepted Work authority required for one linked Sol dispatch. */
|
|
82
|
+
export const OrchestratorLinkedSolDispatchReference = Schema.Struct({
|
|
83
|
+
failedLunaRequestId: DispatchRequestId,
|
|
84
|
+
workLink: OrchestratorWorkLink
|
|
85
|
+
}).check(Schema.makeFilter(({ failedLunaRequestId, workLink }) => workLink.lineage.includes(failedLunaRequestId), { expected: "the linked failed Luna request in Work lineage" }));
|
|
86
|
+
/** Narrow consumer input for a high-effort Sol escalation linked to failed Luna work. */
|
|
87
|
+
export const OrchestratorSolEscalationSubmission = Schema.Struct({
|
|
88
|
+
command: OrchestratorSolEscalationCommand,
|
|
89
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
90
|
+
reason: RouteReason,
|
|
91
|
+
reference: OrchestratorLinkedSolDispatchReference
|
|
92
|
+
});
|
|
93
|
+
const LunaConsultSubmission = Schema.Struct({
|
|
94
|
+
command: OrchestratorConsultCommand,
|
|
95
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
96
|
+
route: LunaMediumRoute,
|
|
97
|
+
workLink: Schema.Null
|
|
98
|
+
});
|
|
99
|
+
const LunaTransitionSummarySubmission = Schema.Struct({
|
|
100
|
+
command: OrchestratorTransitionSummaryCommand,
|
|
101
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
102
|
+
route: LunaLowRoute,
|
|
103
|
+
workLink: Schema.Null
|
|
104
|
+
});
|
|
105
|
+
const SolRoutedSubmission = Schema.Struct({
|
|
106
|
+
command: OrchestratorSolEscalationCommand,
|
|
107
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
108
|
+
route: SolRoute,
|
|
109
|
+
workLink: OrchestratorWorkLink
|
|
110
|
+
});
|
|
111
|
+
/** A route-aware submission. Sol is accepted only with a durable Work link. */
|
|
112
|
+
export const OrchestratorRoutedSubmission = Schema.Union([
|
|
113
|
+
LunaConsultSubmission,
|
|
114
|
+
LunaTransitionSummarySubmission,
|
|
115
|
+
SolRoutedSubmission
|
|
116
|
+
]);
|
|
117
|
+
export const OrchestratorEventType = Schema.Literals([
|
|
118
|
+
"accepted",
|
|
119
|
+
"queued",
|
|
120
|
+
"running",
|
|
121
|
+
"settled",
|
|
122
|
+
"delivery_failed",
|
|
123
|
+
"task_failed"
|
|
124
|
+
]);
|
|
125
|
+
const orchestratorEventFields = {
|
|
126
|
+
dispatchRequestId: DispatchRequestId,
|
|
127
|
+
sequence: Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 0, maximum: 1_000_000 })),
|
|
128
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
129
|
+
occurredAt: Timestamp
|
|
130
|
+
};
|
|
131
|
+
const OrchestratorAcceptedEvent = Schema.Struct({
|
|
132
|
+
...orchestratorEventFields,
|
|
133
|
+
type: Schema.Literal("accepted"),
|
|
134
|
+
detail: Schema.Null,
|
|
135
|
+
result: Schema.Null
|
|
136
|
+
});
|
|
137
|
+
const OrchestratorQueuedEvent = Schema.Struct({
|
|
138
|
+
...orchestratorEventFields,
|
|
139
|
+
type: Schema.Literal("queued"),
|
|
140
|
+
detail: Schema.Null,
|
|
141
|
+
result: Schema.Null
|
|
142
|
+
});
|
|
143
|
+
const OrchestratorRunningEvent = Schema.Struct({
|
|
144
|
+
...orchestratorEventFields,
|
|
145
|
+
type: Schema.Literal("running"),
|
|
146
|
+
detail: Schema.Null,
|
|
147
|
+
result: Schema.Null
|
|
148
|
+
});
|
|
149
|
+
const OrchestratorSettledEvent = Schema.Struct({
|
|
150
|
+
...orchestratorEventFields,
|
|
151
|
+
type: Schema.Literal("settled"),
|
|
152
|
+
detail: Schema.Null,
|
|
153
|
+
result: OrchestratorResult
|
|
154
|
+
});
|
|
155
|
+
const OrchestratorDeliveryFailedEvent = Schema.Struct({
|
|
156
|
+
...orchestratorEventFields,
|
|
157
|
+
type: Schema.Literal("delivery_failed"),
|
|
158
|
+
detail: OrchestratorEventDetail,
|
|
159
|
+
result: Schema.Null
|
|
160
|
+
});
|
|
161
|
+
const OrchestratorTaskFailedEvent = Schema.Struct({
|
|
162
|
+
...orchestratorEventFields,
|
|
163
|
+
type: Schema.Literal("task_failed"),
|
|
164
|
+
detail: OrchestratorEventDetail,
|
|
165
|
+
result: Schema.Null
|
|
166
|
+
});
|
|
167
|
+
export const OrchestratorEvent = Schema.Union([
|
|
168
|
+
OrchestratorAcceptedEvent,
|
|
169
|
+
OrchestratorQueuedEvent,
|
|
170
|
+
OrchestratorRunningEvent,
|
|
171
|
+
OrchestratorSettledEvent,
|
|
172
|
+
OrchestratorDeliveryFailedEvent,
|
|
173
|
+
OrchestratorTaskFailedEvent
|
|
174
|
+
]);
|
|
175
|
+
/** Public Nix-consumer input for the exact durable worker-start boundary. */
|
|
176
|
+
export const OrchestratorDispatchActivation = WorkAgentBindingRequest;
|
|
177
|
+
/** Atomically committed coordinator running event and Work agent binding. */
|
|
178
|
+
export const OrchestratorDispatchActivated = Schema.Struct({
|
|
179
|
+
event: OrchestratorEvent,
|
|
180
|
+
binding: WorkAgentBinding
|
|
181
|
+
}).check(Schema.makeFilter(({ binding, event }) => event.type === "running" &&
|
|
182
|
+
event.dispatchRequestId === binding.request.dispatchRequestId &&
|
|
183
|
+
event.occurredAt === binding.checkpoint.occurredAt, { expected: "one running dispatch event with its exact Work agent binding" }));
|
|
184
|
+
const routedCommandBindingIsValid = (command, route, workLink) => {
|
|
185
|
+
if (route === null)
|
|
186
|
+
return workLink === null;
|
|
187
|
+
if (command.payload.kind !== "agent.delegate")
|
|
188
|
+
return false;
|
|
189
|
+
if (route.model === "gpt-5.6-luna") {
|
|
190
|
+
return workLink === null &&
|
|
191
|
+
((command.payload.mode === "consult" && route.reasoningEffort === "medium") ||
|
|
192
|
+
(command.payload.mode === "transition_summary" && route.reasoningEffort === "low"));
|
|
193
|
+
}
|
|
194
|
+
return workLink !== null &&
|
|
195
|
+
(command.payload.mode === "review" || command.payload.mode === "work") &&
|
|
196
|
+
command.payload.channel === undefined &&
|
|
197
|
+
(route.linkedRequestId === null || workLink.lineage.includes(route.linkedRequestId));
|
|
198
|
+
};
|
|
199
|
+
const requestBindings = Schema.makeFilter(({ activityIdempotencyKey, command, route, workLink }) => activityIdempotencyKey === command.activityIdempotencyKey &&
|
|
200
|
+
routedCommandBindingIsValid(command, route, workLink), { expected: "activity key and route/Work link form valid durable dispatch bindings" });
|
|
201
|
+
/** Complete typed request projection, including persisted route and Work link. */
|
|
202
|
+
export const OrchestratorRequest = Schema.Struct({
|
|
203
|
+
dispatchRequestId: DispatchRequestId,
|
|
204
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
205
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
206
|
+
command: OrchestratorCommand,
|
|
207
|
+
acceptedAt: Timestamp,
|
|
208
|
+
status: OrchestratorEventType,
|
|
209
|
+
route: Schema.NullOr(OrchestratorRoute),
|
|
210
|
+
workLink: Schema.NullOr(OrchestratorWorkLink)
|
|
211
|
+
}).check(requestBindings);
|
|
212
|
+
export const OrchestratorPendingDispatchStatus = Schema.Literals(["accepted", "queued"]);
|
|
213
|
+
const PendingPageLimit = Schema.Number.check(Schema.isInt(), Schema.isBetween({ minimum: 1, maximum: 256 }));
|
|
214
|
+
export const OrchestratorPendingCursor = Schema.Struct({
|
|
215
|
+
acceptedAt: Timestamp,
|
|
216
|
+
dispatchRequestId: DispatchRequestId
|
|
217
|
+
});
|
|
218
|
+
export const OrchestratorPendingQuery = Schema.Struct({
|
|
219
|
+
limit: Schema.optionalKey(PendingPageLimit),
|
|
220
|
+
after: Schema.optionalKey(OrchestratorPendingCursor)
|
|
221
|
+
});
|
|
222
|
+
export const OrchestratorPendingDispatch = Schema.Struct({
|
|
223
|
+
dispatchRequestId: DispatchRequestId,
|
|
224
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
225
|
+
activityIdempotencyKey: ActivityIdempotencyKey,
|
|
226
|
+
command: OrchestratorCommand,
|
|
227
|
+
acceptedAt: Timestamp,
|
|
228
|
+
status: OrchestratorPendingDispatchStatus,
|
|
229
|
+
route: Schema.optionalKey(Schema.NullOr(OrchestratorRoute)),
|
|
230
|
+
workLink: Schema.optionalKey(Schema.NullOr(OrchestratorWorkLink))
|
|
231
|
+
}).check(Schema.makeFilter(({ activityIdempotencyKey, command, route, workLink }) => activityIdempotencyKey === command.activityIdempotencyKey &&
|
|
232
|
+
((route === undefined && workLink === undefined) ||
|
|
233
|
+
(route !== undefined && workLink !== undefined && routedCommandBindingIsValid(command, route, workLink))), { expected: "pending activity key and route/Work link form valid durable bindings" }));
|
|
234
|
+
export const OrchestratorReceipt = Schema.Struct({
|
|
235
|
+
dispatchRequestId: DispatchRequestId,
|
|
236
|
+
idempotencyKey: OrchestratorIdempotencyKey,
|
|
237
|
+
acceptedAt: Timestamp,
|
|
238
|
+
status: Schema.Literal("accepted")
|
|
239
|
+
});
|
|
240
|
+
//# sourceMappingURL=orchestrator-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator-model.js","sourceRoot":"","sources":["../src/orchestrator-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Context, Effect, Layer, Stream } from "effect";
|
|
2
|
+
import { type OrchestratorError } from "./orchestrator-errors.js";
|
|
3
|
+
import { type OrchestratorCommand as OrchestratorCommandType, type OrchestratorDispatchActivated as OrchestratorDispatchActivatedType, type OrchestratorDispatchActivation as OrchestratorDispatchActivationType, type OrchestratorEvent as OrchestratorEventType, OrchestratorPendingDispatch, OrchestratorPendingQuery, type OrchestratorReceipt as OrchestratorReceiptType, type OrchestratorRequest as OrchestratorRequestType, type OrchestratorRoutedSubmission as OrchestratorRoutedSubmissionType, type OrchestratorSolEscalationSubmission as OrchestratorSolEscalationSubmissionType } from "./orchestrator-model.js";
|
|
4
|
+
export interface OrchestratorService {
|
|
5
|
+
readonly submit: (command: OrchestratorCommandType, idempotencyKey: string) => Effect.Effect<OrchestratorReceiptType, OrchestratorError>;
|
|
6
|
+
/** Submits with durable route metadata; Sol requires an atomic Work link. */
|
|
7
|
+
readonly submitRouted: (input: OrchestratorRoutedSubmissionType) => Effect.Effect<OrchestratorReceiptType, OrchestratorError>;
|
|
8
|
+
/** Submits Sol only through a typed failed-Luna reference and its accepted Work authority. */
|
|
9
|
+
readonly submitSolEscalation: (input: OrchestratorSolEscalationSubmissionType) => Effect.Effect<OrchestratorReceiptType, OrchestratorError>;
|
|
10
|
+
/** Loads and validates the complete durable request projection. */
|
|
11
|
+
readonly request: (dispatchRequestId: string) => Effect.Effect<OrchestratorRequestType, OrchestratorError>;
|
|
12
|
+
readonly events: (dispatchRequestId: string) => Stream.Stream<OrchestratorEventType, OrchestratorError>;
|
|
13
|
+
/** Lists one bounded page of accepted and queued commands for explicit restart resumption. */
|
|
14
|
+
readonly pending: (query?: typeof OrchestratorPendingQuery.Type) => Effect.Effect<ReadonlyArray<typeof OrchestratorPendingDispatch.Type>, OrchestratorError>;
|
|
15
|
+
readonly queue: (dispatchRequestId: string) => Effect.Effect<OrchestratorEventType, OrchestratorError>;
|
|
16
|
+
/** Atomically records the running event and exact worker identity in Work. */
|
|
17
|
+
readonly workerStarted: (activation: OrchestratorDispatchActivationType) => Effect.Effect<OrchestratorDispatchActivatedType, OrchestratorError>;
|
|
18
|
+
readonly run: (dispatchRequestId: string) => Effect.Effect<OrchestratorEventType, OrchestratorError>;
|
|
19
|
+
readonly settle: (dispatchRequestId: string, result: string) => Effect.Effect<OrchestratorEventType, OrchestratorError>;
|
|
20
|
+
readonly failDelivery: (dispatchRequestId: string, detail: string) => Effect.Effect<OrchestratorEventType, OrchestratorError>;
|
|
21
|
+
readonly failTask: (dispatchRequestId: string, detail: string) => Effect.Effect<OrchestratorEventType, OrchestratorError>;
|
|
22
|
+
/** Marks in-flight work as delivery-failed after a restart; it never retries implicitly. */
|
|
23
|
+
readonly recover: () => Stream.Stream<OrchestratorEventType, OrchestratorError>;
|
|
24
|
+
}
|
|
25
|
+
declare const Orchestrator_base: Context.ServiceClass<Orchestrator, "herdr/Orchestrator", OrchestratorService>;
|
|
26
|
+
export declare class Orchestrator extends Orchestrator_base {
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Node SQLite and Crypto services used by the durable coordinator layers.
|
|
30
|
+
* Fails closed on non-POSIX paths until an ACL-backed private-directory check exists.
|
|
31
|
+
*/
|
|
32
|
+
export declare const sqliteLayer: (filename: string) => Layer.Layer<Orchestrator, OrchestratorError>;
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|