@dogpile/sdk 0.1.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.
Files changed (88) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/LICENSE +16 -0
  3. package/README.md +842 -0
  4. package/dist/browser/index.d.ts +8 -0
  5. package/dist/browser/index.d.ts.map +1 -0
  6. package/dist/browser/index.js +4493 -0
  7. package/dist/browser/index.js.map +1 -0
  8. package/dist/index.d.ts +17 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +14 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/providers/openai-compatible.d.ts +44 -0
  13. package/dist/providers/openai-compatible.d.ts.map +1 -0
  14. package/dist/providers/openai-compatible.js +305 -0
  15. package/dist/providers/openai-compatible.js.map +1 -0
  16. package/dist/runtime/broadcast.d.ts +18 -0
  17. package/dist/runtime/broadcast.d.ts.map +1 -0
  18. package/dist/runtime/broadcast.js +335 -0
  19. package/dist/runtime/broadcast.js.map +1 -0
  20. package/dist/runtime/cancellation.d.ts +6 -0
  21. package/dist/runtime/cancellation.d.ts.map +1 -0
  22. package/dist/runtime/cancellation.js +35 -0
  23. package/dist/runtime/cancellation.js.map +1 -0
  24. package/dist/runtime/coordinator.d.ts +18 -0
  25. package/dist/runtime/coordinator.d.ts.map +1 -0
  26. package/dist/runtime/coordinator.js +434 -0
  27. package/dist/runtime/coordinator.js.map +1 -0
  28. package/dist/runtime/decisions.d.ts +5 -0
  29. package/dist/runtime/decisions.d.ts.map +1 -0
  30. package/dist/runtime/decisions.js +31 -0
  31. package/dist/runtime/decisions.js.map +1 -0
  32. package/dist/runtime/defaults.d.ts +63 -0
  33. package/dist/runtime/defaults.d.ts.map +1 -0
  34. package/dist/runtime/defaults.js +426 -0
  35. package/dist/runtime/defaults.js.map +1 -0
  36. package/dist/runtime/engine.d.ts +79 -0
  37. package/dist/runtime/engine.d.ts.map +1 -0
  38. package/dist/runtime/engine.js +723 -0
  39. package/dist/runtime/engine.js.map +1 -0
  40. package/dist/runtime/model.d.ts +14 -0
  41. package/dist/runtime/model.d.ts.map +1 -0
  42. package/dist/runtime/model.js +82 -0
  43. package/dist/runtime/model.js.map +1 -0
  44. package/dist/runtime/sequential.d.ts +18 -0
  45. package/dist/runtime/sequential.d.ts.map +1 -0
  46. package/dist/runtime/sequential.js +277 -0
  47. package/dist/runtime/sequential.js.map +1 -0
  48. package/dist/runtime/shared.d.ts +18 -0
  49. package/dist/runtime/shared.d.ts.map +1 -0
  50. package/dist/runtime/shared.js +288 -0
  51. package/dist/runtime/shared.js.map +1 -0
  52. package/dist/runtime/termination.d.ts +77 -0
  53. package/dist/runtime/termination.d.ts.map +1 -0
  54. package/dist/runtime/termination.js +355 -0
  55. package/dist/runtime/termination.js.map +1 -0
  56. package/dist/runtime/tools.d.ts +314 -0
  57. package/dist/runtime/tools.d.ts.map +1 -0
  58. package/dist/runtime/tools.js +969 -0
  59. package/dist/runtime/tools.js.map +1 -0
  60. package/dist/runtime/validation.d.ts +23 -0
  61. package/dist/runtime/validation.d.ts.map +1 -0
  62. package/dist/runtime/validation.js +656 -0
  63. package/dist/runtime/validation.js.map +1 -0
  64. package/dist/types.d.ts +2434 -0
  65. package/dist/types.d.ts.map +1 -0
  66. package/dist/types.js +81 -0
  67. package/dist/types.js.map +1 -0
  68. package/package.json +157 -0
  69. package/src/browser/index.ts +7 -0
  70. package/src/index.ts +195 -0
  71. package/src/providers/openai-compatible.ts +406 -0
  72. package/src/runtime/broadcast.test.ts +355 -0
  73. package/src/runtime/broadcast.ts +428 -0
  74. package/src/runtime/cancellation.ts +40 -0
  75. package/src/runtime/coordinator.test.ts +468 -0
  76. package/src/runtime/coordinator.ts +581 -0
  77. package/src/runtime/decisions.ts +38 -0
  78. package/src/runtime/defaults.ts +547 -0
  79. package/src/runtime/engine.ts +880 -0
  80. package/src/runtime/model.ts +117 -0
  81. package/src/runtime/sequential.test.ts +262 -0
  82. package/src/runtime/sequential.ts +357 -0
  83. package/src/runtime/shared.test.ts +265 -0
  84. package/src/runtime/shared.ts +367 -0
  85. package/src/runtime/termination.ts +463 -0
  86. package/src/runtime/tools.ts +1518 -0
  87. package/src/runtime/validation.ts +771 -0
  88. package/src/types.ts +2729 -0
@@ -0,0 +1,426 @@
1
+ export function normalizeProtocol(protocol) {
2
+ if (typeof protocol !== "string") {
3
+ return protocol;
4
+ }
5
+ switch (protocol) {
6
+ case "sequential":
7
+ return { kind: "sequential", maxTurns: 3 };
8
+ case "coordinator":
9
+ return { kind: "coordinator", maxTurns: 3 };
10
+ case "broadcast":
11
+ return { kind: "broadcast", maxRounds: 2 };
12
+ case "shared":
13
+ return { kind: "shared", maxTurns: 3 };
14
+ }
15
+ }
16
+ export function defaultAgents() {
17
+ return [
18
+ { id: "agent-1", role: "planner", instructions: "Frame the mission and identify the important constraints." },
19
+ { id: "agent-2", role: "critic", instructions: "Stress-test the previous contribution and improve weak spots." },
20
+ { id: "agent-3", role: "synthesizer", instructions: "Produce the final useful answer from the accumulated work." }
21
+ ];
22
+ }
23
+ export function orderAgentsForTemperature(agents, temperature, seed) {
24
+ if (temperature !== 0) {
25
+ return agents;
26
+ }
27
+ if (seed !== undefined) {
28
+ return [...agents].sort((left, right) => compareAgentsBySeededSelection(left, right, seed));
29
+ }
30
+ return [...agents].sort(compareAgentsByStableIdentity);
31
+ }
32
+ function compareAgentsBySeededSelection(left, right, seed) {
33
+ const leftScore = deterministicSelectionScore(seed, left);
34
+ const rightScore = deterministicSelectionScore(seed, right);
35
+ if (leftScore !== rightScore) {
36
+ return leftScore - rightScore;
37
+ }
38
+ return compareAgentsByStableIdentity(left, right);
39
+ }
40
+ function deterministicSelectionScore(seed, agent) {
41
+ return stableHash(`${String(seed)}\u0000${agent.id}\u0000${agent.role}\u0000${agent.instructions ?? ""}`);
42
+ }
43
+ function stableHash(input) {
44
+ let hash = 0x811c9dc5;
45
+ for (let index = 0; index < input.length; index += 1) {
46
+ hash ^= input.charCodeAt(index);
47
+ hash = Math.imul(hash, 0x01000193);
48
+ }
49
+ return hash >>> 0;
50
+ }
51
+ function compareAgentsByStableIdentity(left, right) {
52
+ const idOrder = left.id.localeCompare(right.id);
53
+ if (idOrder !== 0) {
54
+ return idOrder;
55
+ }
56
+ const roleOrder = left.role.localeCompare(right.role);
57
+ if (roleOrder !== 0) {
58
+ return roleOrder;
59
+ }
60
+ return (left.instructions ?? "").localeCompare(right.instructions ?? "");
61
+ }
62
+ export function tierTemperature(tier) {
63
+ switch (tier) {
64
+ case "fast":
65
+ return 0;
66
+ case "balanced":
67
+ return 0.2;
68
+ case "quality":
69
+ return 0.4;
70
+ }
71
+ }
72
+ export function emptyCost() {
73
+ return { usd: 0, inputTokens: 0, outputTokens: 0, totalTokens: 0 };
74
+ }
75
+ export function addCost(left, right) {
76
+ return {
77
+ usd: left.usd + right.usd,
78
+ inputTokens: left.inputTokens + right.inputTokens,
79
+ outputTokens: left.outputTokens + right.outputTokens,
80
+ totalTokens: left.totalTokens + right.totalTokens
81
+ };
82
+ }
83
+ export function createTranscriptLink(transcript) {
84
+ return {
85
+ kind: "trace-transcript",
86
+ entryCount: transcript.length,
87
+ lastEntryIndex: transcript.length === 0 ? null : transcript.length - 1
88
+ };
89
+ }
90
+ export function createRunEventLog(runId, protocol, events) {
91
+ return {
92
+ kind: "run-event-log",
93
+ runId,
94
+ protocol,
95
+ eventTypes: events.map((event) => event.type),
96
+ eventCount: events.length,
97
+ events
98
+ };
99
+ }
100
+ export function createRunUsage(cost) {
101
+ return {
102
+ usd: cost.usd,
103
+ inputTokens: cost.inputTokens,
104
+ outputTokens: cost.outputTokens,
105
+ totalTokens: cost.totalTokens
106
+ };
107
+ }
108
+ export function createRunAccounting(options) {
109
+ const usage = createRunUsage(options.cost);
110
+ return {
111
+ kind: "run-accounting",
112
+ tier: options.tier,
113
+ ...(options.budget ? { budget: options.budget } : {}),
114
+ ...(options.termination ? { termination: options.termination } : {}),
115
+ usage,
116
+ cost: options.cost,
117
+ budgetStateChanges: createReplayTraceBudgetStateChanges(options.events),
118
+ ...(options.budget?.maxUsd !== undefined
119
+ ? { usdCapUtilization: options.budget.maxUsd === 0 ? 0 : options.cost.usd / options.budget.maxUsd }
120
+ : {}),
121
+ ...(options.budget?.maxTokens !== undefined
122
+ ? {
123
+ totalTokenCapUtilization: options.budget.maxTokens === 0 ? 0 : options.cost.totalTokens / options.budget.maxTokens
124
+ }
125
+ : {})
126
+ };
127
+ }
128
+ export function createRunMetadata(options) {
129
+ const firstEvent = options.events[0];
130
+ const lastEvent = options.events.at(-1);
131
+ return {
132
+ runId: options.runId,
133
+ protocol: options.protocol,
134
+ tier: options.tier,
135
+ modelProviderId: options.modelProviderId,
136
+ agentsUsed: options.agentsUsed,
137
+ startedAt: firstEvent?.at ?? "",
138
+ completedAt: lastEvent?.at ?? ""
139
+ };
140
+ }
141
+ export function createReplayTraceRunInputs(options) {
142
+ return {
143
+ kind: "replay-trace-run-inputs",
144
+ intent: options.intent,
145
+ protocol: options.protocol,
146
+ tier: options.tier,
147
+ modelProviderId: options.modelProviderId,
148
+ agents: options.agents,
149
+ temperature: options.temperature
150
+ };
151
+ }
152
+ export function createReplayTraceBudget(options) {
153
+ return {
154
+ kind: "replay-trace-budget",
155
+ tier: options.tier,
156
+ ...(options.caps ? { caps: options.caps } : {}),
157
+ ...(options.termination ? { termination: options.termination } : {})
158
+ };
159
+ }
160
+ export function createReplayTraceBudgetStateChanges(events) {
161
+ return events.flatMap((event, eventIndex) => {
162
+ switch (event.type) {
163
+ case "agent-turn":
164
+ case "broadcast":
165
+ case "final":
166
+ return [
167
+ {
168
+ kind: "replay-trace-budget-state-change",
169
+ eventIndex,
170
+ eventType: event.type,
171
+ at: event.at,
172
+ cost: event.cost
173
+ }
174
+ ];
175
+ case "budget-stop":
176
+ return [
177
+ {
178
+ kind: "replay-trace-budget-state-change",
179
+ eventIndex,
180
+ eventType: event.type,
181
+ at: event.at,
182
+ cost: event.cost,
183
+ iteration: event.iteration,
184
+ elapsedMs: event.elapsedMs,
185
+ budgetReason: event.reason
186
+ }
187
+ ];
188
+ case "role-assignment":
189
+ case "model-request":
190
+ case "model-response":
191
+ case "model-output-chunk":
192
+ case "tool-call":
193
+ case "tool-result":
194
+ return [];
195
+ }
196
+ });
197
+ }
198
+ export function createReplayTraceSeed(seed) {
199
+ if (seed === undefined) {
200
+ return {
201
+ kind: "replay-trace-seed",
202
+ source: "none",
203
+ value: null
204
+ };
205
+ }
206
+ return {
207
+ kind: "replay-trace-seed",
208
+ source: "caller",
209
+ value: seed
210
+ };
211
+ }
212
+ export function createReplayTraceProtocolDecisions(protocol, events) {
213
+ return events.map((event, eventIndex) => {
214
+ return createReplayTraceProtocolDecision(protocol, event, eventIndex);
215
+ });
216
+ }
217
+ export function createReplayTraceProtocolDecision(protocol, event, eventIndex, options = {}) {
218
+ const base = {
219
+ kind: "replay-trace-protocol-decision",
220
+ eventIndex,
221
+ eventType: event.type,
222
+ protocol,
223
+ decision: options.decision ?? defaultProtocolDecision(event),
224
+ at: event.at,
225
+ ...(options.turn !== undefined ? { turn: options.turn } : {}),
226
+ ...(options.phase !== undefined ? { phase: options.phase } : {}),
227
+ ...(options.round !== undefined ? { round: options.round } : {}),
228
+ ...(options.transcriptEntryCount !== undefined ? { transcriptEntryCount: options.transcriptEntryCount } : {}),
229
+ ...(options.contributionCount !== undefined ? { contributionCount: options.contributionCount } : {})
230
+ };
231
+ switch (event.type) {
232
+ case "role-assignment":
233
+ return {
234
+ ...base,
235
+ agentId: event.agentId,
236
+ role: event.role
237
+ };
238
+ case "model-request":
239
+ return {
240
+ ...base,
241
+ agentId: event.agentId,
242
+ role: event.role,
243
+ callId: event.callId,
244
+ providerId: event.providerId,
245
+ input: event.request.messages.map((message) => message.content).join("\n")
246
+ };
247
+ case "model-response":
248
+ return {
249
+ ...base,
250
+ agentId: event.agentId,
251
+ role: event.role,
252
+ callId: event.callId,
253
+ providerId: event.providerId,
254
+ output: event.response.text
255
+ };
256
+ case "model-output-chunk":
257
+ return {
258
+ ...base,
259
+ agentId: event.agentId,
260
+ role: event.role,
261
+ input: event.input,
262
+ output: event.output
263
+ };
264
+ case "tool-call":
265
+ return {
266
+ ...base,
267
+ toolCallId: event.toolCallId,
268
+ tool: event.tool,
269
+ input: stableJsonStringify(event.input),
270
+ ...eventAgentScope(event)
271
+ };
272
+ case "tool-result":
273
+ return {
274
+ ...base,
275
+ toolCallId: event.toolCallId,
276
+ tool: event.tool,
277
+ output: stableJsonStringify(event.result),
278
+ ...eventAgentScope(event)
279
+ };
280
+ case "agent-turn":
281
+ return {
282
+ ...base,
283
+ agentId: event.agentId,
284
+ role: event.role,
285
+ input: event.input,
286
+ output: event.output,
287
+ cost: event.cost
288
+ };
289
+ case "broadcast":
290
+ return {
291
+ ...base,
292
+ round: event.round,
293
+ contributionCount: options.contributionCount ?? event.contributions.length,
294
+ cost: event.cost
295
+ };
296
+ case "budget-stop":
297
+ return {
298
+ ...base,
299
+ cost: event.cost,
300
+ budgetReason: event.reason
301
+ };
302
+ case "final":
303
+ return {
304
+ ...base,
305
+ output: event.output,
306
+ cost: event.cost
307
+ };
308
+ }
309
+ }
310
+ function defaultProtocolDecision(event) {
311
+ switch (event.type) {
312
+ case "role-assignment":
313
+ return "assign-role";
314
+ case "model-request":
315
+ return "start-model-call";
316
+ case "model-response":
317
+ return "complete-model-call";
318
+ case "model-output-chunk":
319
+ return "observe-model-output";
320
+ case "tool-call":
321
+ return "start-tool-call";
322
+ case "tool-result":
323
+ return "complete-tool-call";
324
+ case "agent-turn":
325
+ return "select-agent-turn";
326
+ case "broadcast":
327
+ return "collect-broadcast-round";
328
+ case "budget-stop":
329
+ return "stop-for-budget";
330
+ case "final":
331
+ return "finalize-output";
332
+ }
333
+ }
334
+ function eventAgentScope(event) {
335
+ return {
336
+ ...(event.agentId !== undefined ? { agentId: event.agentId } : {}),
337
+ ...(event.role !== undefined ? { role: event.role } : {})
338
+ };
339
+ }
340
+ export function createReplayTraceFinalOutput(output, event) {
341
+ if (event.type === "final") {
342
+ return {
343
+ kind: "replay-trace-final-output",
344
+ output,
345
+ cost: event.cost,
346
+ completedAt: event.at,
347
+ transcript: event.transcript
348
+ };
349
+ }
350
+ return {
351
+ kind: "replay-trace-final-output",
352
+ output,
353
+ cost: emptyCost(),
354
+ completedAt: event.at,
355
+ transcript: {
356
+ kind: "trace-transcript",
357
+ entryCount: 0,
358
+ lastEntryIndex: null
359
+ }
360
+ };
361
+ }
362
+ export function nextProviderCallId(runId, providerCalls) {
363
+ return `${runId}:provider-call:${providerCalls.length + 1}`;
364
+ }
365
+ /**
366
+ * Normalize completed run artifacts into deterministic JSON shapes.
367
+ *
368
+ * This keeps caller-owned persistence stable across runtimes: object keys are
369
+ * sorted recursively, undefined object fields are omitted, non-finite numbers
370
+ * become JSON `null`, and negative zero is normalized to zero before callers
371
+ * serialize the returned result, trace, event log, transcript, or metadata.
372
+ */
373
+ export function canonicalizeRunResult(result) {
374
+ const trace = canonicalizeSerializable(result.trace);
375
+ const eventLog = {
376
+ eventCount: trace.events.length,
377
+ eventTypes: trace.events.map((event) => event.type),
378
+ events: trace.events,
379
+ kind: "run-event-log",
380
+ protocol: trace.protocol,
381
+ runId: trace.runId
382
+ };
383
+ const canonicalResult = {
384
+ accounting: canonicalizeSerializable(result.accounting),
385
+ cost: canonicalizeSerializable(result.cost),
386
+ ...(result.evaluation !== undefined ? { evaluation: canonicalizeSerializable(result.evaluation) } : {}),
387
+ eventLog,
388
+ metadata: canonicalizeSerializable(result.metadata),
389
+ output: result.output,
390
+ ...(result.quality !== undefined ? { quality: canonicalizeSerializable(result.quality) } : {}),
391
+ trace,
392
+ transcript: trace.transcript,
393
+ usage: canonicalizeSerializable(result.usage)
394
+ };
395
+ return canonicalResult;
396
+ }
397
+ export function stableJsonStringify(value) {
398
+ return JSON.stringify(canonicalizeSerializable(value));
399
+ }
400
+ export function canonicalizeSerializable(value) {
401
+ if (Array.isArray(value)) {
402
+ return value.map((item) => canonicalizeSerializable(item));
403
+ }
404
+ if (typeof value === "number") {
405
+ if (Object.is(value, -0)) {
406
+ return 0;
407
+ }
408
+ if (!Number.isFinite(value)) {
409
+ return null;
410
+ }
411
+ return value;
412
+ }
413
+ if (value === null || typeof value !== "object") {
414
+ return value;
415
+ }
416
+ const input = value;
417
+ const output = {};
418
+ for (const key of Object.keys(input).sort()) {
419
+ const child = input[key];
420
+ if (child !== undefined) {
421
+ output[key] = canonicalizeSerializable(child);
422
+ }
423
+ }
424
+ return output;
425
+ }
426
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/runtime/defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import type { DogpileOptions, Engine, EngineOptions, RunResult, StreamHandle, Trace } from "../types.js";
2
+ /**
3
+ * Create a reusable low-level protocol engine.
4
+ *
5
+ * @remarks
6
+ * Use this escape hatch to hold protocol, tier, model, agents, and budget caps
7
+ * constant across repeated missions. Most application code can call
8
+ * {@link run}, {@link stream}, or {@link Dogpile.pile} directly.
9
+ *
10
+ * The returned engine is stateless between calls: each `run()` or `stream()`
11
+ * invocation produces its own serializable trace, event log, and transcript.
12
+ */
13
+ export declare function createEngine(options: EngineOptions): Engine;
14
+ /**
15
+ * Run a multi-agent workflow in a single call.
16
+ *
17
+ * @remarks
18
+ * Supply a mission through `intent` and provide a configured model provider.
19
+ * Omitted high-level controls default to Sequential coordination and the
20
+ * `balanced` tier. The returned
21
+ * {@link RunResult} contains the final `output`, a JSON-serializable `trace`,
22
+ * direct `transcript` access, aggregate `cost`, and optional `quality`.
23
+ *
24
+ * Use {@link createEngine} when a research harness needs to reuse normalized
25
+ * protocol/model/agent settings across many missions.
26
+ */
27
+ export declare function run(options: DogpileOptions): Promise<RunResult>;
28
+ /**
29
+ * Stream a multi-agent workflow and await the final result.
30
+ *
31
+ * @remarks
32
+ * The returned handle is an async iterable of {@link RunEvent} values with a
33
+ * `result` promise for the same {@link RunResult} shape returned by
34
+ * {@link run}. This supports live event logs and trace UIs without requiring
35
+ * SDK-managed storage.
36
+ *
37
+ * Streaming and final traces use the same event shapes, so callers can render
38
+ * progress live and persist the completed trace without translation.
39
+ */
40
+ export declare function stream(options: DogpileOptions): StreamHandle;
41
+ /**
42
+ * Rehydrate the public result shape from a saved completed trace artifact.
43
+ *
44
+ * @remarks
45
+ * This is the caller-facing replay entrypoint for persisted traces. It does
46
+ * not call the model provider or require SDK-owned storage; it reconstructs
47
+ * the ergonomic {@link RunResult} wrapper from the JSON-serializable
48
+ * {@link Trace} returned by a previous `run()`, `stream()`, or
49
+ * `Dogpile.pile()` call.
50
+ */
51
+ export declare function replay(trace: Trace): RunResult;
52
+ /**
53
+ * Replay a saved completed trace as a stream without invoking a model provider.
54
+ *
55
+ * @remarks
56
+ * This is the streaming counterpart to {@link replay}. It yields the exact
57
+ * saved {@link Trace.events} in order and resolves {@link StreamHandle.result}
58
+ * to the rehydrated {@link RunResult}. Since all data comes from the trace,
59
+ * replay remains storage-free and provider-free.
60
+ */
61
+ export declare function replayStream(trace: Trace): StreamHandle;
62
+ /**
63
+ * Branded high-level SDK namespace.
64
+ *
65
+ * `Dogpile.pile()` is the ergonomic caller-facing workflow API. It uses the
66
+ * non-streaming execution path and resolves only after the protocol completes,
67
+ * returning `{ output, eventLog, transcript, usage, metadata, trace, cost,
68
+ * quality }`.
69
+ */
70
+ declare function pile(options: DogpileOptions): Promise<RunResult>;
71
+ export declare const Dogpile: {
72
+ readonly pile: typeof pile;
73
+ readonly replay: typeof replay;
74
+ readonly replayStream: typeof replayStream;
75
+ readonly stream: typeof stream;
76
+ readonly createEngine: typeof createEngine;
77
+ };
78
+ export {};
79
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,cAAc,EACd,MAAM,EACN,aAAa,EAOb,SAAS,EAIT,YAAY,EAEZ,KAAK,EACN,MAAM,aAAa,CAAC;AA+BrB;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAoN3D;AA6YD;;;;;;;;;;;;GAYG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAK/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,CAK5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAoC9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAsCvD;AAyDD;;;;;;;GAOG;AACH,iBAAS,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAEzD;AAED,eAAO,MAAM,OAAO;;;;;;CAMV,CAAC"}