@requence/task 0.8.2-edge.1190 → 0.8.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @requence/task
2
2
 
3
+ ## 0.8.2
4
+
5
+ ### Patch Changes
6
+
7
+ - 621b48b: A callback that carries no data is now called with no argument:
8
+
9
+ ```ts
10
+ await context.input.mail.delete();
11
+ ```
12
+
13
+ The `null` it used to need was never the caller's to write. It is how the
14
+ **output schema** spells "this position carries nothing": `RequenceCallback<void>`
15
+ compiles to nothing typescript-json-schema has a root type for, and
16
+ `RequenceCallback<undefined>` compiles but silently drops the `callback` marker
17
+ along with the argument — so `RequenceCallback<null>` is the only declaration
18
+ available, and every call site paid for that. A callback that does carry data is
19
+ untouched, and a forgotten argument is still an error.
20
+
21
+ `RequenceCallback<T>` makes the argument optional exactly when `null extends T`,
22
+ through a conditional **tuple**: a conditional on the parameter type alone cannot
23
+ change the ARITY, and the arity is the whole point. Writing the `null` out still
24
+ works and still means the same thing.
25
+
26
+ Optionality at the call site is not enough by itself. The operator validates
27
+ every invocation against the callback's declared argument schema, which for this
28
+ kind of callback is `{ type: 'null' }` — so both reconstruction sites, the
29
+ `deserialize` in `@requence/callbacks` and its Python mirror, default an omitted
30
+ argument to `null` rather than letting `undefined` reach the wire. That default
31
+ is unconditional: a boundary holds a reference, never the emitting node's output
32
+ schema, and a callback that DOES declare data fails the same validation either
33
+ way — turning `undefined` into `null` there only changes which of the two it is
34
+ refused as.
35
+
36
+ The declaration is written out four times — `@requence/helpers` for both SDKs,
37
+ `RequenceTypes.ts` for the logic-node editor, and the two assignability
38
+ harnesses. The fifth copy, in `createJsonSchema.ts`, is deliberately an object
39
+ shape with no call signature and does not move with them. The editor's copy is
40
+ now asserted through the real language service, since it is the one that decides
41
+ whether a script compiles.
42
+
3
43
  ## 0.8.1
4
44
 
5
45
  ### Patch Changes
package/build/index.js CHANGED
@@ -517,6 +517,11 @@ var durableCallbackInvocationSchema = z4.object({
517
517
  arg: z4.unknown().optional(),
518
518
  configuration: z4.unknown().optional()
519
519
  });
520
+ var durableCallbackErrorReportSchema = z4.object({
521
+ nodeId: z4.string(),
522
+ name: z4.string(),
523
+ message: z4.string()
524
+ });
520
525
 
521
526
  // ../files/src/handlers/transport.ts
522
527
  async function assertOk(res, url, phase) {
@@ -894,7 +899,7 @@ function createRequenceCallbackHandler() {
894
899
  },
895
900
  isReference: (value) => isCallbackObject(value),
896
901
  deserialize(ref, ctx) {
897
- return (arg) => {
902
+ return (arg = null) => {
898
903
  ctx.onCallbackInvoke?.({ ...ref, arg });
899
904
  };
900
905
  }
@@ -1758,5 +1763,5 @@ export {
1758
1763
  RequenceFile
1759
1764
  };
1760
1765
 
1761
- //# debugId=AE2B7FC999A1CDAF64756E2164756E21
1766
+ //# debugId=6CDBE00ED7DF23AA64756E2164756E21
1762
1767
  //# sourceMappingURL=index.js.map
@@ -11,7 +11,7 @@
11
11
  "import { z } from 'zod/v4'\n\nconst fileObjectSchema = z.object({\n size: z.int().positive(),\n mime: z.string(),\n url: z.url(),\n __REQUENCE_type: z.literal('RequenceFile'),\n})\n\nexport type FileObject = z.infer<typeof fileObjectSchema>\n\nexport function toFileObject(fileInfo: {\n size: number\n mime: string\n url: string\n}): FileObject {\n return {\n ...fileInfo,\n __REQUENCE_type: 'RequenceFile',\n }\n}\n\nexport function isFileObject(data: unknown): data is FileObject {\n return fileObjectSchema.safeParse(data).success\n}\n",
12
12
  "import { z } from 'zod/v4'\n\nconst streamObjectSchema = z.object({\n mime: z.string(),\n url: z.string().url(),\n __REQUENCE_type: z.literal('RequenceStream'),\n})\n\nexport type StreamObject = z.infer<typeof streamObjectSchema>\n\nexport function isStreamObject(data: unknown): data is StreamObject {\n return streamObjectSchema.safeParse(data).success\n}\n\nexport function toStreamObject(streamInfo: {\n mime: string\n url: string\n}): StreamObject {\n return {\n ...streamInfo,\n __REQUENCE_type: 'RequenceStream',\n }\n}\n",
13
13
  "import { z } from 'zod/v4'\n\nconst claimCheckObjectSchema = z.object({\n url: z.url(),\n size: z.int().positive(),\n __REQUENCE_type: z.literal('ClaimCheck'),\n})\n\n/**\n * Reference left behind by the oversized-message claim-check: the value was\n * offloaded to the files service and is fetched back (and re-walked) on\n * ingress by the `ClaimCheck` value handler.\n */\nexport type ClaimCheckObject = z.infer<typeof claimCheckObjectSchema>\n\nexport function toClaimCheckObject(info: {\n url: string\n size: number\n}): ClaimCheckObject {\n return {\n ...info,\n __REQUENCE_type: 'ClaimCheck',\n }\n}\n\nexport function isClaimCheckObject(data: unknown): data is ClaimCheckObject {\n return claimCheckObjectSchema.safeParse(data).success\n}\n\n/**\n * JSON-schema equivalent of the reference shape, for claim-check-aware\n * validation: a subschema position holding a `ClaimCheck` reference is\n * validated against this instead of the declared subschema (shape validation\n * of the offloaded value is deferred to the consumer after rehydration).\n */\nexport const claimCheckJsonSchema = {\n type: 'object',\n properties: {\n url: { type: 'string' },\n size: { type: 'integer' },\n __REQUENCE_type: { const: 'ClaimCheck' },\n },\n required: ['url', 'size', '__REQUENCE_type'],\n} as const\n",
14
- "import { z } from 'zod/v4'\n\n/**\n * The reference tag of a **callback** — a function a service emitted alongside\n * its data, which a downstream node may invoke back at the emitting service.\n *\n * One tag, not one per lifetime: what a consumer receives is an invokable\n * function either way, and the position it addresses in the node's declared\n * output schema is the same. Deliberately still separate from a\n * `RequenceHandler` (`surfaceHandler.ts` says why in both directions).\n */\nexport const REQUENCE_CALLBACK_TAG = 'RequenceCallback'\n\nconst callbackPathSchema = z.array(z.union([z.string(), z.int()]))\n\n/**\n * How long a callback can be reached, decided by **where the function was\n * written** — the same rule surfaces established for handler props (#59), and\n * the only thing that actually bounds the closure's life:\n *\n * - `connection` — a function written inline in the handler. It closes over the\n * running message, so only that process can serve it and it dies when the\n * delivery settles. Addressed by the registering connection plus an id in its\n * registry.\n * - `durable` — a function declared once at module scope with\n * `createDurableCallback`, addressed by the stable name it was declared under\n * and carrying the per-emission data the author *bound* to it instead of\n * capturing. It names no connection at all, so any instance of the service\n * version can run it, now or after a redeploy (#147).\n *\n * `outputName`/`propertyPath` ride on every arm. The durable arm does not need\n * them to be *routed*, but they are what the operator's existing invocation-\n * argument validation addresses — same reasoning as `uiId`/`path` on both\n * surface-handler arms.\n */\nconst callbackObjectSchema = z.discriminatedUnion('lifetime', [\n z.object({\n __REQUENCE_type: z.literal(REQUENCE_CALLBACK_TAG),\n lifetime: z.literal('connection'),\n outputName: z.string().nullable(),\n propertyPath: callbackPathSchema,\n /** The connection that registered it; invocations route by this. */\n sourceId: z.string(),\n /** Its id in that connection's registry. */\n callbackId: z.uuid(),\n }),\n z.object({\n __REQUENCE_type: z.literal(REQUENCE_CALLBACK_TAG),\n lifetime: z.literal('durable'),\n outputName: z.string().nullable(),\n propertyPath: callbackPathSchema,\n /**\n * The author-given name it was declared under — deliberately not\n * `callbackId`, which already means a per-emission UUID on the other arm.\n * This one is the *whole* address, and there is one of it per declaration\n * rather than one per emission.\n */\n name: z.string(),\n /**\n * The **emitting** service node — the one whose output this reference sits\n * in, and therefore the one whose version serves the invocation and whose\n * static configuration the handler is given (#150).\n *\n * On this arm and not the other because the other does not need it: a\n * connection-bound invocation is routed by `sourceId`, and the operator reads\n * the node off the live message that registry belongs to. A durable reference\n * outlives exactly that message, so the node has to travel with it.\n *\n * Stamped by the emitting SDK from the node id the operator now dispatches\n * (`options.nodeId`), rather than filled in by the operator when the emission\n * passes through: an oversized emission is claim-checked, so the operator\n * cannot see — let alone rewrite — a reference nested inside one.\n */\n nodeId: z.string(),\n /**\n * What `.for(…)` bound: the per-emission data the handler would otherwise\n * have closed over. Author-shaped, so nothing here can say more than\n * `unknown`.\n *\n * `.optional()` for the reason the surface handler's `arg` is: a binding may\n * legitimately be `undefined`, and `JSON.stringify` DELETES an `undefined`\n * value rather than encoding one — while under zod 4 an `unknown` field is\n * not optional by itself, so the key's absence would fail the parse and the\n * reference would stop being invokable at all.\n */\n bound: z.unknown().optional(),\n }),\n])\n\nexport type CallbackObject = z.infer<typeof callbackObjectSchema>\nexport type CallbackLifetime = CallbackObject['lifetime']\n\nexport function isCallbackObject(data: unknown): data is CallbackObject {\n return callbackObjectSchema.safeParse(data).success\n}\n\nexport type RequenceCallback<T> = (arg: T) => void\nexport type WrappedRequenceCallback<T> = RequenceCallback<T> & {\n response(): Promise<T>\n}\n\nexport function createCallback<T>(\n callback?: (arg: T) => void,\n): WrappedRequenceCallback<T> {\n const { promise, resolve } = Promise.withResolvers<T>()\n\n const executor = (arg: T) => {\n resolve(arg)\n callback?.(arg)\n }\n\n return Object.assign(executor, {\n response() {\n return promise\n },\n })\n}\n\n/**\n * What a `.for(bound)` reference carries before the boundary completes it: the\n * declaration's name and the data bound to this emission. The position\n * (`outputName`/`propertyPath`) is added where it is known — the value walk —\n * exactly as it is for the connection arm.\n */\nexport interface DurableCallbackBinding {\n readonly name: string\n readonly bound: unknown\n}\n\n/**\n * Where a `.for(bound)` reference keeps its binding.\n *\n * `Symbol.for`, not a plain symbol or a string key: two copies of this package\n * in one process (a service depending on an SDK that depends on it) must agree,\n * and the author's own data must never be able to look like a binding.\n */\nconst DURABLE_CALLBACK_BINDING = Symbol.for('requence.durableCallbackBinding')\n\n/**\n * Mints the value an author emits in place of a closure — the thing\n * `createDurableCallback(...).for(bound)` returns (#147).\n *\n * It is a **function** carrying the binding on a symbol, rather than the wire\n * object it will become, for two reasons that both come from the transformer:\n *\n * - The egress walk only offers *complex* values to a handler, and a plain\n * object is traversable structure — a literal reference would be walked\n * straight through and emitted without the `outputName`/`propertyPath` the\n * operator validates against, which no schema parse downstream would accept.\n * A function is complex, and the callback handler already claims every one.\n * - The walk memoizes object-identity values at their *first* path, so one\n * reference reused at two positions would carry the wrong `propertyPath` for\n * the second. Functions bypass that memo by design.\n *\n * It also matches the type it is cast to: the property a consumer reads is\n * declared `RequenceCallback<Arg>`, and a consumer calls it. Calling it *here*,\n * in the emitting service, is the author's mistake — a durable callback runs\n * where the invocation is delivered, never inline — so it says so rather than\n * doing nothing.\n */\nexport function createDurableCallbackReference<Arg>(\n binding: DurableCallbackBinding,\n): RequenceCallback<Arg> {\n const reference = () => {\n throw new Error(\n `durable callback \"${binding.name}\" was called in the service that emitted it — a durable callback reference is a value to emit, and it runs only when the graph invokes it`,\n )\n }\n\n // Named after the callback, not after this closure. It costs nothing and it\n // is what a stack trace, a debugger and `DurableCallback.name` all read — the\n // last one because the declaration handle IS one of these references.\n Object.defineProperty(reference, 'name', {\n value: binding.name,\n configurable: true,\n })\n\n return Object.defineProperty(reference, DURABLE_CALLBACK_BINDING, {\n value: binding,\n enumerable: false,\n }) as RequenceCallback<Arg>\n}\n\n/**\n * The binding a value carries, or `undefined` when it is an ordinary function —\n * which is how the callback handler tells the two lifetimes apart on egress.\n */\nexport function readDurableCallbackBinding(\n value: unknown,\n): DurableCallbackBinding | undefined {\n if (typeof value !== 'function') {\n return undefined\n }\n const binding = (value as unknown as Record<symbol, unknown>)[\n DURABLE_CALLBACK_BINDING\n ]\n return typeof binding === 'object' &&\n binding !== null &&\n typeof (binding as DurableCallbackBinding).name === 'string'\n ? (binding as DurableCallbackBinding)\n : undefined\n}\n\n/**\n * The per-version **callbacks queue**: where a durable invocation waits until\n * some instance of that service version consumes it.\n *\n * Derived from the version's dispatch queue rather than composed from the\n * service and version names, for the reason `serviceHandlerQueueName` is: the\n * two can then never drift, and a dev-overlay connection — which consumes a\n * rewritten dispatch queue — gets a callbacks queue of its own for free.\n */\nexport function serviceCallbackQueueName(dispatchQueue: string): string {\n return `${dispatchQueue}-callbacks`\n}\n\n/**\n * Whether a callbacks queue belongs to a **dev overlay** rather than to a\n * deployed version — the callback twin of `isDevOverlayHandlerQueue`, and it\n * decides the same thing: what an undelivered invocation is allowed to say.\n *\n * A developer's overlay queue is reaped seconds after their process disconnects,\n * so stopping `bun run dev` makes an invocation unroutable in exactly the way a\n * deleted version does. Saying \"the service version is no longer deployed\" then\n * sends that author to the deployment for a process they closed themselves.\n *\n * The 32-character key segment stays `.{32}` and must not be tightened to `\\w`:\n * dev keys are access-token values and contain non-word characters.\n */\nconst DEV_OVERLAY_CALLBACK_QUEUE = /-dev-overlay-.{32}-callbacks$/\n\nexport function isDevOverlayCallbackQueue(queueName: string): boolean {\n return DEV_OVERLAY_CALLBACK_QUEUE.test(queueName)\n}\n\n/**\n * How long a durable invocation may wait in the callbacks queue before the\n * broker drops it.\n *\n * The queue is **not a mailbox**. A callback invoked today and run whenever\n * somebody next deploys is the silent-effect outcome #116 removed for surfaces,\n * and it is worse here: nothing checks reachability before a graph calls\n * `context.input.delete()`, so the TTL is the only bound there is. All it has to\n * bridge is a rolling redeploy, a scale-to-zero that started a moment ago or a\n * replica that took the invocation and died — the same seconds the surface\n * handler queue bridges, hence the same number.\n *\n * Expiry is not a drop: the queue dead-letters to `error`, so an expired\n * invocation comes back to the operator carrying its own task and is reported on\n * the node the callback belongs to.\n */\nexport const DURABLE_CALLBACK_INVOCATION_TTL_MS = 60_000\n\n/**\n * The callbacks queue's declaration arguments, as **one** object, because two\n * parties declare that queue — ui/backend's provisioner and the service SDK on\n * connect — and a broker answers a mismatch with a 406 that kills the declaring\n * channel. Anything short of a shared literal is a service that will not start.\n *\n * Note for whoever changes this: declaring a queue with a dead-letter exchange\n * needs WRITE permission on that exchange, so the service AMQP user is granted\n * it (`assertService`). It costs nothing — `error` is an internal exchange and\n * the broker refuses a client publish to one however the permissions read.\n */\nexport const DURABLE_CALLBACK_QUEUE_ARGUMENTS = {\n messageTtl: DURABLE_CALLBACK_INVOCATION_TTL_MS,\n deadLetterExchange: 'error',\n} as const\n\n/**\n * The header a durable callback invocation is stamped with, for the same reason\n * a durable surface handler invocation carries one\n * (`SURFACE_HANDLER_INVOCATION_HEADER`): it is published `mandatory` into the\n * `service` exchange, so one whose queue is gone comes back to the operator\n * looking like any other undeliverable service message — and every other arm\n * there fails the node.\n *\n * A callback the graph chose to call is not the node's failure, so this is what\n * tells that consumer to *report* instead. A header rather than the routing key's\n * `-callbacks` suffix, which a service actually named `…-callbacks` would forge.\n */\nexport const DURABLE_CALLBACK_INVOCATION_HEADER = 'durableCallbackInvocation'\n\n/**\n * One durable callback invocation, as it travels on the queue above.\n *\n * `name` is the whole address: the consuming instance looks it up in the\n * process-global registry `createDurableCallback` writes and calls what it\n * finds. Everything else is either the handler's arguments or the way back.\n */\nexport const durableCallbackInvocationSchema = z.object({\n /**\n * The run the callback was emitted by, and the node inside it that declared\n * the output the reference sits in.\n *\n * Neither is part of the address — a durable handler is deliberately told\n * nothing about the message that emitted it. They are the way back: an\n * invocation that expires or names nothing has no request left to fail, so the\n * failure is reported on that node of that run.\n */\n taskId: z.uuid(),\n nodeId: z.string(),\n name: z.string(),\n /** See `bound` on the durable arm for why these are optional. */\n bound: z.unknown().optional(),\n arg: z.unknown().optional(),\n /**\n * The node's **static** configuration, taken from the tree by the publisher.\n *\n * A durable callback gets no injected message context — that is what makes it\n * durable — but it still needs the node's credentials to do its work, and the\n * two alternatives are worse: binding them travels credentials through the\n * graph and into the update log, and reading the process's own environment\n * only ever works single-tenant. Bounded by graph size rather than by emission\n * count, which was the point of the whole feature.\n *\n * **Static** is the word to read twice: computed configuration\n * (`configurationFunctions`) is evaluated per dispatch from that dispatch's\n * input, and this call belongs to no dispatch — which is what makes it durable.\n * A node whose credentials are computed cannot serve a durable callback, and\n * the handler receives the authoring placeholder instead\n * (`knowledge/computed-configuration.md`).\n */\n configuration: z.unknown().optional(),\n})\n\nexport type DurableCallbackInvocation = z.infer<\n typeof durableCallbackInvocationSchema\n>\n",
14
+ "import { z } from 'zod/v4'\n\n/**\n * The reference tag of a **callback** — a function a service emitted alongside\n * its data, which a downstream node may invoke back at the emitting service.\n *\n * One tag, not one per lifetime: what a consumer receives is an invokable\n * function either way, and the position it addresses in the node's declared\n * output schema is the same. Deliberately still separate from a\n * `RequenceHandler` (`surfaceHandler.ts` says why in both directions).\n */\nexport const REQUENCE_CALLBACK_TAG = 'RequenceCallback'\n\nconst callbackPathSchema = z.array(z.union([z.string(), z.int()]))\n\n/**\n * How long a callback can be reached, decided by **where the function was\n * written** — the same rule surfaces established for handler props (#59), and\n * the only thing that actually bounds the closure's life:\n *\n * - `connection` — a function written inline in the handler. It closes over the\n * running message, so only that process can serve it and it dies when the\n * delivery settles. Addressed by the registering connection plus an id in its\n * registry.\n * - `durable` — a function declared once at module scope with\n * `createDurableCallback`, addressed by the stable name it was declared under\n * and carrying the per-emission data the author *bound* to it instead of\n * capturing. It names no connection at all, so any instance of the service\n * version can run it, now or after a redeploy (#147).\n *\n * `outputName`/`propertyPath` ride on every arm. The durable arm does not need\n * them to be *routed*, but they are what the operator's existing invocation-\n * argument validation addresses — same reasoning as `uiId`/`path` on both\n * surface-handler arms.\n */\nconst callbackObjectSchema = z.discriminatedUnion('lifetime', [\n z.object({\n __REQUENCE_type: z.literal(REQUENCE_CALLBACK_TAG),\n lifetime: z.literal('connection'),\n outputName: z.string().nullable(),\n propertyPath: callbackPathSchema,\n /** The connection that registered it; invocations route by this. */\n sourceId: z.string(),\n /** Its id in that connection's registry. */\n callbackId: z.uuid(),\n }),\n z.object({\n __REQUENCE_type: z.literal(REQUENCE_CALLBACK_TAG),\n lifetime: z.literal('durable'),\n outputName: z.string().nullable(),\n propertyPath: callbackPathSchema,\n /**\n * The author-given name it was declared under — deliberately not\n * `callbackId`, which already means a per-emission UUID on the other arm.\n * This one is the *whole* address, and there is one of it per declaration\n * rather than one per emission.\n */\n name: z.string(),\n /**\n * The **emitting** service node — the one whose output this reference sits\n * in, and therefore the one whose version serves the invocation and whose\n * static configuration the handler is given (#150).\n *\n * On this arm and not the other because the other does not need it: a\n * connection-bound invocation is routed by `sourceId`, and the operator reads\n * the node off the live message that registry belongs to. A durable reference\n * outlives exactly that message, so the node has to travel with it.\n *\n * Stamped by the emitting SDK from the node id the operator now dispatches\n * (`options.nodeId`), rather than filled in by the operator when the emission\n * passes through: an oversized emission is claim-checked, so the operator\n * cannot see — let alone rewrite — a reference nested inside one.\n */\n nodeId: z.string(),\n /**\n * What `.for(…)` bound: the per-emission data the handler would otherwise\n * have closed over. Author-shaped, so nothing here can say more than\n * `unknown`.\n *\n * `.optional()` for the reason the surface handler's `arg` is: a binding may\n * legitimately be `undefined`, and `JSON.stringify` DELETES an `undefined`\n * value rather than encoding one — while under zod 4 an `unknown` field is\n * not optional by itself, so the key's absence would fail the parse and the\n * reference would stop being invokable at all.\n */\n bound: z.unknown().optional(),\n }),\n])\n\nexport type CallbackObject = z.infer<typeof callbackObjectSchema>\nexport type CallbackLifetime = CallbackObject['lifetime']\n\nexport function isCallbackObject(data: unknown): data is CallbackObject {\n return callbackObjectSchema.safeParse(data).success\n}\n\n/**\n * A callback as its consumer calls it.\n *\n * The argument is OPTIONAL exactly when `null` is one of the things it accepts,\n * which is how a callback that carries no data is declared: `void` compiles to\n * nothing a JSON schema can hold and `undefined` silently drops the `callback`\n * marker, so `RequenceCallback<null>` is the only spelling for it (#147). Making\n * the caller write that `null` out was the schema's limitation leaking into every\n * call site — `context.input.mail.delete()` now says the same thing.\n *\n * The tuple is what carries the optionality: a conditional on the parameter type\n * alone cannot change the ARITY, and the arity is the whole point. A callback\n * that does take data is untouched — `null extends string` is false, so its\n * argument stays required and a forgotten one is still an error.\n */\nexport type RequenceCallback<T> = (\n ...args: null extends T ? [arg?: T] : [arg: T]\n) => void\nexport type WrappedRequenceCallback<T> = RequenceCallback<T> & {\n response(): Promise<T>\n}\n\nexport function createCallback<T>(\n callback?: (arg: T) => void,\n): WrappedRequenceCallback<T> {\n const { promise, resolve } = Promise.withResolvers<T>()\n\n // An omitted argument is `null`, for the reason the reconstructed reference in\n // `@requence/callbacks` defaults to it: a callback declared\n // `RequenceCallback<null>` is now called with no argument at all, and what it\n // carries is null — the value its schema declares — not undefined.\n const executor = (arg?: T) => {\n const value = (arg === undefined ? null : arg) as T\n resolve(value)\n callback?.(value)\n }\n\n return Object.assign(executor, {\n response() {\n return promise\n },\n })\n}\n\n/**\n * What a `.for(bound)` reference carries before the boundary completes it: the\n * declaration's name and the data bound to this emission. The position\n * (`outputName`/`propertyPath`) is added where it is known — the value walk —\n * exactly as it is for the connection arm.\n */\nexport interface DurableCallbackBinding {\n readonly name: string\n readonly bound: unknown\n}\n\n/**\n * Where a `.for(bound)` reference keeps its binding.\n *\n * `Symbol.for`, not a plain symbol or a string key: two copies of this package\n * in one process (a service depending on an SDK that depends on it) must agree,\n * and the author's own data must never be able to look like a binding.\n */\nconst DURABLE_CALLBACK_BINDING = Symbol.for('requence.durableCallbackBinding')\n\n/**\n * Mints the value an author emits in place of a closure — the thing\n * `createDurableCallback(...).for(bound)` returns (#147).\n *\n * It is a **function** carrying the binding on a symbol, rather than the wire\n * object it will become, for two reasons that both come from the transformer:\n *\n * - The egress walk only offers *complex* values to a handler, and a plain\n * object is traversable structure — a literal reference would be walked\n * straight through and emitted without the `outputName`/`propertyPath` the\n * operator validates against, which no schema parse downstream would accept.\n * A function is complex, and the callback handler already claims every one.\n * - The walk memoizes object-identity values at their *first* path, so one\n * reference reused at two positions would carry the wrong `propertyPath` for\n * the second. Functions bypass that memo by design.\n *\n * It also matches the type it is cast to: the property a consumer reads is\n * declared `RequenceCallback<Arg>`, and a consumer calls it. Calling it *here*,\n * in the emitting service, is the author's mistake — a durable callback runs\n * where the invocation is delivered, never inline — so it says so rather than\n * doing nothing.\n */\nexport function createDurableCallbackReference<Arg>(\n binding: DurableCallbackBinding,\n): RequenceCallback<Arg> {\n const reference = () => {\n throw new Error(\n `durable callback \"${binding.name}\" was called in the service that emitted it — a durable callback reference is a value to emit, and it runs only when the graph invokes it`,\n )\n }\n\n // Named after the callback, not after this closure. It costs nothing and it\n // is what a stack trace, a debugger and `DurableCallback.name` all read — the\n // last one because the declaration handle IS one of these references.\n Object.defineProperty(reference, 'name', {\n value: binding.name,\n configurable: true,\n })\n\n return Object.defineProperty(reference, DURABLE_CALLBACK_BINDING, {\n value: binding,\n enumerable: false,\n }) as RequenceCallback<Arg>\n}\n\n/**\n * The binding a value carries, or `undefined` when it is an ordinary function —\n * which is how the callback handler tells the two lifetimes apart on egress.\n */\nexport function readDurableCallbackBinding(\n value: unknown,\n): DurableCallbackBinding | undefined {\n if (typeof value !== 'function') {\n return undefined\n }\n const binding = (value as unknown as Record<symbol, unknown>)[\n DURABLE_CALLBACK_BINDING\n ]\n return typeof binding === 'object' &&\n binding !== null &&\n typeof (binding as DurableCallbackBinding).name === 'string'\n ? (binding as DurableCallbackBinding)\n : undefined\n}\n\n/**\n * The per-version **callbacks queue**: where a durable invocation waits until\n * some instance of that service version consumes it.\n *\n * Derived from the version's dispatch queue rather than composed from the\n * service and version names, for the reason `serviceHandlerQueueName` is: the\n * two can then never drift, and a dev-overlay connection — which consumes a\n * rewritten dispatch queue — gets a callbacks queue of its own for free.\n */\nexport function serviceCallbackQueueName(dispatchQueue: string): string {\n return `${dispatchQueue}-callbacks`\n}\n\n/**\n * Whether a callbacks queue belongs to a **dev overlay** rather than to a\n * deployed version — the callback twin of `isDevOverlayHandlerQueue`, and it\n * decides the same thing: what an undelivered invocation is allowed to say.\n *\n * A developer's overlay queue is reaped seconds after their process disconnects,\n * so stopping `bun run dev` makes an invocation unroutable in exactly the way a\n * deleted version does. Saying \"the service version is no longer deployed\" then\n * sends that author to the deployment for a process they closed themselves.\n *\n * The 32-character key segment stays `.{32}` and must not be tightened to `\\w`:\n * dev keys are access-token values and contain non-word characters.\n */\nconst DEV_OVERLAY_CALLBACK_QUEUE = /-dev-overlay-.{32}-callbacks$/\n\nexport function isDevOverlayCallbackQueue(queueName: string): boolean {\n return DEV_OVERLAY_CALLBACK_QUEUE.test(queueName)\n}\n\n/**\n * How long a durable invocation may wait in the callbacks queue before the\n * broker drops it.\n *\n * The queue is **not a mailbox**. A callback invoked today and run whenever\n * somebody next deploys is the silent-effect outcome #116 removed for surfaces,\n * and it is worse here: nothing checks reachability before a graph calls\n * `context.input.delete()`, so the TTL is the only bound there is. All it has to\n * bridge is a rolling redeploy, a scale-to-zero that started a moment ago or a\n * replica that took the invocation and died — the same seconds the surface\n * handler queue bridges, hence the same number.\n *\n * Expiry is not a drop: the queue dead-letters to `error`, so an expired\n * invocation comes back to the operator carrying its own task and is reported on\n * the node the callback belongs to.\n */\nexport const DURABLE_CALLBACK_INVOCATION_TTL_MS = 60_000\n\n/**\n * The callbacks queue's declaration arguments, as **one** object, because two\n * parties declare that queue — ui/backend's provisioner and the service SDK on\n * connect — and a broker answers a mismatch with a 406 that kills the declaring\n * channel. Anything short of a shared literal is a service that will not start.\n *\n * Note for whoever changes this: declaring a queue with a dead-letter exchange\n * needs WRITE permission on that exchange, so the service AMQP user is granted\n * it (`assertService`). It costs nothing — `error` is an internal exchange and\n * the broker refuses a client publish to one however the permissions read.\n */\nexport const DURABLE_CALLBACK_QUEUE_ARGUMENTS = {\n messageTtl: DURABLE_CALLBACK_INVOCATION_TTL_MS,\n deadLetterExchange: 'error',\n} as const\n\n/**\n * The header a durable callback invocation is stamped with, for the same reason\n * a durable surface handler invocation carries one\n * (`SURFACE_HANDLER_INVOCATION_HEADER`): it is published `mandatory` into the\n * `service` exchange, so one whose queue is gone comes back to the operator\n * looking like any other undeliverable service message — and every other arm\n * there fails the node.\n *\n * A callback the graph chose to call is not the node's failure, so this is what\n * tells that consumer to *report* instead. A header rather than the routing key's\n * `-callbacks` suffix, which a service actually named `…-callbacks` would forge.\n */\nexport const DURABLE_CALLBACK_INVOCATION_HEADER = 'durableCallbackInvocation'\n\n/**\n * One durable callback invocation, as it travels on the queue above.\n *\n * `name` is the whole address: the consuming instance looks it up in the\n * process-global registry `createDurableCallback` writes and calls what it\n * finds. Everything else is either the handler's arguments or the way back.\n */\nexport const durableCallbackInvocationSchema = z.object({\n /**\n * The run the callback was emitted by, and the node inside it that declared\n * the output the reference sits in.\n *\n * Neither is part of the address — a durable handler is deliberately told\n * nothing about the message that emitted it. They are the way back: an\n * invocation that expires or names nothing has no request left to fail, so the\n * failure is reported on that node of that run.\n */\n taskId: z.uuid(),\n nodeId: z.string(),\n name: z.string(),\n /** See `bound` on the durable arm for why these are optional. */\n bound: z.unknown().optional(),\n arg: z.unknown().optional(),\n /**\n * The node's configuration, composed by the publisher.\n *\n * A durable callback gets no injected message context — that is what makes it\n * durable — but it still needs the node's credentials to do its work, and the\n * two alternatives are worse: binding them travels credentials through the\n * graph and into the update log, and reading the process's own environment\n * only ever works single-tenant. Bounded by graph size rather than by emission\n * count, which was the point of the whole feature.\n *\n * Computed configuration (`configurationFunctions`) is included as the node's\n * **last resolved** value — the merge the node was last dispatched with. It\n * cannot be this call's: the functions read the dispatch's input and this call\n * belongs to no dispatch. So a field computed per message over-approximates\n * here, deliberately (`knowledge/durable-callbacks.md`).\n */\n configuration: z.unknown().optional(),\n})\n\nexport type DurableCallbackInvocation = z.infer<\n typeof durableCallbackInvocationSchema\n>\n\n/**\n * How long a reported durable callback failure may be.\n *\n * The same cut, for the same reason, as a surface interaction failure's\n * (`MAX_SURFACE_INTERACTION_ERROR_CHARS`): a thrown error's message is\n * author-supplied text of no bounded length, and its first characters are where\n * the cause is. Truncated rather than rejected — a long message is still the most\n * useful thing anyone has about the failure.\n */\nexport const MAX_DURABLE_CALLBACK_ERROR_CHARS = 500\n\n/**\n * The header a **durable callback failure report** is stamped with, so the\n * operator can tell it from an ordinary service result.\n *\n * The counterpart of `DURABLE_CALLBACK_INVOCATION_HEADER`, which covers an\n * invocation nobody CONSUMED. This one covers one that was consumed and could not\n * be run: an unknown declaration name, or a handler that threw. Only the\n * consuming instance can see either, and until this existed it said so in its own\n * stdout and nowhere a template author looks — a failed `mail.delete()` read\n * exactly like a delete that did nothing.\n *\n * Carries no correlation id and no index, like every other side-channel report on\n * that path: the handler was not running for a message of the operator's, so it\n * takes no place in an ordered dispatch buffer and every other arm there would\n * fail the node for it. A callback the graph chose to call is not the node's\n * failure.\n */\nexport const DURABLE_CALLBACK_ERROR_HEADER = 'durableCallbackError'\n\n/**\n * One durable callback failure, as the service that could not run it reports it.\n *\n * The failing party writes the sentence: only it knows whether the name was\n * unknown or the handler threw, and only it can quote the error. `nodeId` is the\n * emitting node the report is shown on — the same way back the invocation carried\n * in; the task rides in the header, as it does for a surface report.\n */\nexport const durableCallbackErrorReportSchema = z.object({\n nodeId: z.string(),\n name: z.string(),\n message: z.string(),\n})\n\nexport type DurableCallbackErrorReport = z.infer<\n typeof durableCallbackErrorReportSchema\n>\n",
15
15
  "/**\n * Surface a non-2xx files-service response as a clear error instead of parsing\n * an error page as if it were a valid reference. Drains the body so the\n * connection is released.\n */\nexport async function assertOk(res: Response, url: string, phase: string) {\n if (res.ok) {\n return\n }\n const detail = await res.text().catch(() => '')\n throw new Error(\n `${phase} failed: ${res.status} ${res.statusText} (${url})${\n detail ? ` — ${detail}` : ''\n }`,\n )\n}\n",
16
16
  "import type { FileObject } from '@requence/helpers'\nimport { isFileObject, toFileObject } from '@requence/helpers'\nimport type { TransformContext, ValueHandler } from '@requence/transformer'\n\nimport type { FileEgressContext } from './context.ts'\nimport { assertOk } from './transport.ts'\nimport { RequenceFile } from '../RequenceFile.ts'\n\nasync function upload(\n ctx: TransformContext,\n uploadUrl: string,\n body: BodyInit | null,\n contentType?: string | null,\n maxFileSize?: number,\n): Promise<FileObject> {\n const uploadResponse = await ctx.fetch(uploadUrl, {\n method: 'POST',\n signal: ctx.signal,\n headers: {\n ...(contentType ? { 'Content-Type': contentType } : {}),\n // Per-task cap transmitted via task options; the files service\n // enforces it (absent ⇒ its hardcoded fallback cap).\n ...(maxFileSize !== undefined\n ? { 'file-size': String(maxFileSize) }\n : {}),\n },\n body,\n })\n\n await assertOk(uploadResponse, uploadUrl, 'upload')\n\n const data = await uploadResponse.json()\n // Explicit field checks rather than `isFileObject`: the FileObject schema\n // requires a positive size, but a legitimate 0-byte file is valid here.\n if (\n !data ||\n typeof data !== 'object' ||\n typeof (data as { url?: unknown }).url !== 'string' ||\n !(data as { url: string }).url ||\n typeof (data as { mime?: unknown }).mime !== 'string' ||\n typeof (data as { size?: unknown }).size !== 'number'\n ) {\n throw new Error(`malformed upload response (${uploadUrl})`)\n }\n\n return toFileObject(data as { size: number; mime: string; url: string })\n}\n\n/**\n * Value handler owning `RequenceFile` — and, through it, raw `Blob`s (a Blob\n * adapts through RequenceFile; no separate Blob branch exists anywhere else).\n *\n * Egress uploads the bytes via the injected transport and returns the\n * `FileObject` reference (idempotent for an already-remote file). Ingress\n * reconstructs the lazy remote instance.\n */\nexport function createRequenceFileHandler(): ValueHandler<\n RequenceFile | Blob,\n FileObject | null,\n FileEgressContext\n> {\n return {\n tag: 'RequenceFile',\n\n canHandle: (value) => RequenceFile.canHandle(value),\n\n async serialize(value, ctx) {\n // Idempotent: an already-remote file keeps its existing reference.\n if (value instanceof RequenceFile && value.fileObject) {\n return value.fileObject\n }\n\n if (!ctx.uploadUrl) {\n ctx.onOffloadSkip?.()\n return null\n }\n\n try {\n if (value instanceof RequenceFile) {\n return await upload(\n ctx,\n ctx.uploadUrl,\n await value.blob(),\n value.mimeType,\n ctx.maxFileSize,\n )\n }\n return await upload(\n ctx,\n ctx.uploadUrl,\n value,\n value.type,\n ctx.maxFileSize,\n )\n } catch (error) {\n if (!(error instanceof Error)) {\n throw error\n }\n // Fail-hard by default: only swallow (to null) when a caller opts in\n // with `onOffloadFail`. Otherwise propagate so the node/task fails loudly.\n if (ctx.onOffloadFail) {\n ctx.onOffloadFail(error)\n return null\n }\n throw error\n }\n },\n\n isReference: (value): value is FileObject => isFileObject(value),\n\n deserialize(ref, ctx) {\n return RequenceFile.fromFileObject(ref as FileObject, ctx.signal)\n },\n }\n}\n",
17
17
  "import { AsyncLocalStorage } from 'node:async_hooks'\n\n/**\n * Ambient collection scope for background stream-body uploads.\n *\n * A `RequenceStream` serializes in two beats: the reference (`StreamObject`) is\n * known right after registration, but the body keeps uploading in the\n * background — that is what lets a consumer join the stream *while* the\n * producer is still pushing. The caller, however, must not treat the transform\n * as durably complete (ack the task, mark it done) until every background body\n * upload has settled.\n *\n * `withRequenceStreams` is that collection point: the stream handler registers\n * its background upload into the ambient store, and the caller receives a\n * single `done` promise to feed its completion gate.\n */\nconst pendingUploads = new AsyncLocalStorage<Array<Promise<void>>>()\n\n/**\n * Run `fn` (typically a `transformOutbound` call) collecting every background\n * stream-body upload started within it. Returns the function's result together\n * with a `done` promise that resolves when all collected uploads settle and\n * rejects on the first failure. `value` is available immediately — publish it\n * while the bodies still stream; await `done` before acking.\n */\nexport async function withRequenceStreams<T>(\n fn: () => Promise<T> | T,\n): Promise<{ value: T; done: Promise<void> }> {\n const uploads: Array<Promise<void>> = []\n const value = await pendingUploads.run(uploads, fn)\n return { value, done: Promise.all(uploads).then(() => undefined) }\n}\n\n/**\n * Hand a background upload to the ambient scope. Returns false when no scope\n * is active — the caller (the stream handler) must then await the work inline:\n * still correct, just not live. Never fire-and-forget.\n *\n * @internal\n */\nexport function registerPendingUpload(work: Promise<void>): boolean {\n const store = pendingUploads.getStore()\n if (!store) {\n return false\n }\n store.push(work)\n return true\n}\n",
@@ -21,7 +21,7 @@
21
21
  "import { readFileSync } from 'node:fs'\n\nimport { deobfuscate } from '@requence/helpers'\n\nexport default function getAccessToken(accessToken?: string) {\n let token =\n accessToken ??\n process.env.REQUENCE_TASK_ACCESS_TOKEN ??\n process.env.REQUENCE_ACCESS_TOKEN\n\n if (!token) {\n const pkgJson = JSON.parse(readFileSync('package.json', 'utf-8'))\n token = pkgJson.requence?.task?.accessToken ?? pkgJson.requence?.accessToken\n }\n\n if (!token) {\n throw new Error(\n 'No access token found\\nYou can provide the access token as argument to createTask,\\nas environment variable REQUENCE_ACCESS_TOKEN or\\nin your package.json in requence.accessToken',\n )\n }\n\n const parts = deobfuscate(token)\n if (parts.length < 2 || parts[0] !== 'api') {\n throw new Error('Invalid access token')\n }\n\n return {\n token: parts[1],\n apiBaseUrl: parts[2],\n }\n}\n",
22
22
  "import { reachableFetch } from './errors.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\nclass TaskAbortError extends Error {\n constructor(\n message: string,\n public readonly taskId: string,\n ) {\n super(message)\n }\n}\n\ninterface AbortTaskOptions {\n accessToken?: string\n reason?: string\n taskId: string\n}\nexport async function abortTask(options: AbortTaskOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const abortUrl = `${apiBaseUrl}/task/abort/${options.taskId}`\n\n const response = await reachableFetch(abortUrl, {\n method: 'POST',\n body: options.reason ?? '',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n\n if (!response.ok) {\n throw new TaskAbortError(await response.text(), options.taskId)\n }\n}\n",
23
23
  "import { reachableFetch } from './errors.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\ninterface AckTaskOptions {\n taskId: string\n accessToken?: string\n}\n\nexport async function ackTask(options: AckTaskOptions) {\n const { apiBaseUrl, token } = getAccessToken(options.accessToken)\n\n const response = await reachableFetch(\n `${apiBaseUrl}/task/ack/${options.taskId}`,\n {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n },\n )\n\n if (!response.ok) {\n throw new Error(\n `Failed to acknowledge task delivery: ${await response.text()}`,\n )\n }\n}\n",
24
- "import type { CallbackObject } from '@requence/helpers'\nimport {\n REQUENCE_CALLBACK_TAG,\n isCallbackObject,\n readDurableCallbackBinding,\n} from '@requence/helpers'\nimport type { ValueHandler } from '@requence/transformer'\n\nimport type {\n CallbackEgressContext,\n CallbackIngressContext,\n} from './context.ts'\n\ntype ReconstructedCallback = (arg: unknown) => void\n\n/**\n * Bidirectional handler owning the `RequenceCallback` reference tag.\n *\n * Egress serializes any function into a full callback reference: identity\n * (`callbackId`/`sourceId`) comes from `ctx.onCallback`, the emission from\n * `ctx.outputName`, and the position from the walk's `path` — the reference's\n * public identity (the operator validates invocation args against the output\n * schema at `propertyPath`). A boundary that cannot register callbacks (no\n * `ctx.onCallback`) fails loud.\n *\n * A function reaching this handler is a closure in the running process, so the\n * reference it mints is `lifetime: 'connection'` — the discriminator is stated\n * rather than implied, because a reference that omits it does not parse\n * (`requenceCallback.ts`).\n *\n * The one exception is a value the author minted with `.for(bound)`, which is a\n * function only so that the walk offers it here at all (#147): it is already a\n * *reference* to a declaration and registers nothing, so it takes the durable\n * arm and this boundary's registry never grows by it. That is the whole point —\n * a three-week receiver's registry stays the size of its source rather than the\n * size of its traffic. Both arms are completed the same way, with the position\n * the walk knows and the emission the ctx knows.\n *\n * Ingress reconstructs the reference into a callable function that dispatches\n * through `ctx.onCallbackInvoke` — with no `onCallbackInvoke` provided,\n * invoking the callback is a no-op; callers that forbid callbacks pass a\n * throwing implementation.\n */\nexport function createRequenceCallbackHandler(): ValueHandler<\n ReconstructedCallback,\n CallbackObject,\n CallbackEgressContext,\n CallbackIngressContext\n> {\n return {\n tag: REQUENCE_CALLBACK_TAG,\n\n canHandle: (value) => typeof value === 'function',\n\n serialize(callback, ctx, path) {\n const binding = readDurableCallbackBinding(callback)\n if (binding) {\n // No `ctx.onCallback` check: a boundary that cannot register callbacks\n // is refusing to hold a closure for the life of a message, and a\n // durable reference asks nobody to hold anything. It addresses the\n // service VERSION, which outlives every boundary here.\n //\n // `ctx.nodeId` IS checked, because it is the whole address on the way\n // back: the operator routes a durable invocation to the emitting node's\n // version and hands the handler that node's configuration (#150). A\n // reference minted without it would parse nowhere and be silently\n // un-invokable, which is the failure this feature exists to remove — so\n // it is named here, in the process that emitted it.\n if (!ctx.nodeId) {\n throw new Error(\n `durable callback \"${binding.name}\" cannot be emitted on this boundary (no ctx.nodeId) at path \"${path.join('.')}\"`,\n )\n }\n return {\n __REQUENCE_type: REQUENCE_CALLBACK_TAG,\n lifetime: 'durable',\n name: binding.name,\n nodeId: ctx.nodeId,\n bound: binding.bound,\n outputName: ctx.outputName ?? null,\n propertyPath: [...path],\n }\n }\n\n if (!ctx.onCallback) {\n // handler throws are not path-wrapped by the transformer — carry the\n // position in the message ourselves\n throw new Error(\n `functions are not serializable on this boundary (no ctx.onCallback) at path \"${path.join('.')}\"`,\n )\n }\n return {\n // The path goes with the function: the registrar counts per position, so\n // a registry that grows can name the `yield` doing it (#151).\n ...ctx.onCallback(callback, path),\n lifetime: 'connection',\n outputName: ctx.outputName ?? null,\n propertyPath: [...path],\n __REQUENCE_type: REQUENCE_CALLBACK_TAG,\n }\n },\n\n isReference: (value): value is CallbackObject => isCallbackObject(value),\n\n deserialize(ref, ctx) {\n return (arg: unknown) => {\n ctx.onCallbackInvoke?.({ ...(ref as CallbackObject), arg })\n }\n },\n }\n}\n",
24
+ "import type { CallbackObject } from '@requence/helpers'\nimport {\n REQUENCE_CALLBACK_TAG,\n isCallbackObject,\n readDurableCallbackBinding,\n} from '@requence/helpers'\nimport type { ValueHandler } from '@requence/transformer'\n\nimport type {\n CallbackEgressContext,\n CallbackIngressContext,\n} from './context.ts'\n\ntype ReconstructedCallback = (arg?: unknown) => void\n\n/**\n * Bidirectional handler owning the `RequenceCallback` reference tag.\n *\n * Egress serializes any function into a full callback reference: identity\n * (`callbackId`/`sourceId`) comes from `ctx.onCallback`, the emission from\n * `ctx.outputName`, and the position from the walk's `path` — the reference's\n * public identity (the operator validates invocation args against the output\n * schema at `propertyPath`). A boundary that cannot register callbacks (no\n * `ctx.onCallback`) fails loud.\n *\n * A function reaching this handler is a closure in the running process, so the\n * reference it mints is `lifetime: 'connection'` — the discriminator is stated\n * rather than implied, because a reference that omits it does not parse\n * (`requenceCallback.ts`).\n *\n * The one exception is a value the author minted with `.for(bound)`, which is a\n * function only so that the walk offers it here at all (#147): it is already a\n * *reference* to a declaration and registers nothing, so it takes the durable\n * arm and this boundary's registry never grows by it. That is the whole point —\n * a three-week receiver's registry stays the size of its source rather than the\n * size of its traffic. Both arms are completed the same way, with the position\n * the walk knows and the emission the ctx knows.\n *\n * Ingress reconstructs the reference into a callable function that dispatches\n * through `ctx.onCallbackInvoke` — with no `onCallbackInvoke` provided,\n * invoking the callback is a no-op; callers that forbid callbacks pass a\n * throwing implementation.\n */\nexport function createRequenceCallbackHandler(): ValueHandler<\n ReconstructedCallback,\n CallbackObject,\n CallbackEgressContext,\n CallbackIngressContext\n> {\n return {\n tag: REQUENCE_CALLBACK_TAG,\n\n canHandle: (value) => typeof value === 'function',\n\n serialize(callback, ctx, path) {\n const binding = readDurableCallbackBinding(callback)\n if (binding) {\n // No `ctx.onCallback` check: a boundary that cannot register callbacks\n // is refusing to hold a closure for the life of a message, and a\n // durable reference asks nobody to hold anything. It addresses the\n // service VERSION, which outlives every boundary here.\n //\n // `ctx.nodeId` IS checked, because it is the whole address on the way\n // back: the operator routes a durable invocation to the emitting node's\n // version and hands the handler that node's configuration (#150). A\n // reference minted without it would parse nowhere and be silently\n // un-invokable, which is the failure this feature exists to remove — so\n // it is named here, in the process that emitted it.\n if (!ctx.nodeId) {\n throw new Error(\n `durable callback \"${binding.name}\" cannot be emitted on this boundary (no ctx.nodeId) at path \"${path.join('.')}\"`,\n )\n }\n return {\n __REQUENCE_type: REQUENCE_CALLBACK_TAG,\n lifetime: 'durable',\n name: binding.name,\n nodeId: ctx.nodeId,\n bound: binding.bound,\n outputName: ctx.outputName ?? null,\n propertyPath: [...path],\n }\n }\n\n if (!ctx.onCallback) {\n // handler throws are not path-wrapped by the transformer — carry the\n // position in the message ourselves\n throw new Error(\n `functions are not serializable on this boundary (no ctx.onCallback) at path \"${path.join('.')}\"`,\n )\n }\n return {\n // The path goes with the function: the registrar counts per position, so\n // a registry that grows can name the `yield` doing it (#151).\n ...ctx.onCallback(callback, path),\n lifetime: 'connection',\n outputName: ctx.outputName ?? null,\n propertyPath: [...path],\n __REQUENCE_type: REQUENCE_CALLBACK_TAG,\n }\n },\n\n isReference: (value): value is CallbackObject => isCallbackObject(value),\n\n deserialize(ref, ctx) {\n // The default is what makes the argument OPTIONAL for a callback that\n // carries no data (`RequenceCallback<null>`). Its declared schema is\n // `{ type: 'null' }`, and the operator validates every invocation against\n // it (`validateCallbackArg`) — so an omitted argument has to arrive AS\n // null, not as the `undefined` a 0-arg call would otherwise send.\n //\n // Unconditional rather than schema-aware: this boundary holds a reference,\n // not the emitting node's output schema, and a callback that DOES declare\n // data fails the same validation either way. Turning `undefined` into\n // `null` here only ever changes which of the two it is refused as.\n return (arg: unknown = null) => {\n ctx.onCallbackInvoke?.({ ...(ref as CallbackObject), arg })\n }\n },\n }\n}\n",
25
25
  "/** A position in the message tree, as visited by the walk. */\nexport type TransformPath = ReadonlyArray<string | number>\n\n/** Render a path as a readable dotted/indexed accessor, e.g. `data.items[2].file`. */\nexport function formatPath(path: TransformPath): string {\n if (path.length === 0) {\n return '<root>'\n }\n let out = ''\n for (const segment of path) {\n out +=\n typeof segment === 'number'\n ? `[${segment}]`\n : out\n ? `.${segment}`\n : segment\n }\n return out\n}\n\n/**\n * Thrown when the transformer cannot fully resolve a message: a complex value\n * on egress that no registered `ValueHandler` claims, or a reference tag on\n * ingress that no handler owns. The message names the offending type/tag and\n * its path so the failure is diagnosable rather than a silent pass-through.\n */\nexport class TransformError extends Error {\n readonly path: TransformPath\n readonly detail: string\n\n constructor(detail: string, path: TransformPath) {\n super(`${detail} at ${formatPath(path)}`)\n this.name = 'TransformError'\n this.path = path\n this.detail = detail\n }\n}\n",
26
26
  "/** The reference marker key. A handler's `tag` is mirrored here on the wire. */\nexport const REFERENCE_TAG_KEY = '__REQUENCE_type'\n\n/**\n * A plain data object: an object literal or a null-prototype object — never a\n * class instance (`Blob`, `RequenceFile`, …), whose prototype chain differs.\n * This is what lets the walk tell traversable structure apart from an opaque\n * complex value a handler must own.\n */\nexport function isPlainObject(\n value: unknown,\n): value is Record<string, unknown> {\n if (value === null || typeof value !== 'object') {\n return false\n }\n const proto = Object.getPrototypeOf(value)\n return proto === null || proto === Object.prototype\n}\n\n/**\n * A value that is neither a JSON primitive nor traversable structure — a class\n * instance, function, symbol, or bigint. On egress every such value must be\n * claimed by a handler; anything left over is unresolvable.\n */\nexport function isComplexValue(value: unknown): boolean {\n if (value === null) {\n return false\n }\n const type = typeof value\n if (type === 'object') {\n return !Array.isArray(value) && !isPlainObject(value)\n }\n return type === 'function' || type === 'symbol' || type === 'bigint'\n}\n\n/** Does a plain object carry the reference marker key? */\nexport function hasReferenceTag(value: unknown): boolean {\n return isPlainObject(value) && REFERENCE_TAG_KEY in value\n}\n",
27
27
  "import type { TransformPath } from './errors.ts'\nimport { TransformError } from './errors.ts'\nimport { isPlainObject } from './guards.ts'\n\n/**\n * A visitor's verdict for one (already child-recursed) node:\n * - `recurse` — keep the node as-is (its children are already transformed).\n * - `replace` — the node was transformed; the walk re-processes the replacement\n * so a handler output that still embeds complex values / references resolves\n * to a fixpoint.\n */\nexport type WalkVerdict =\n | { readonly kind: 'recurse' }\n | { readonly kind: 'replace'; readonly value: unknown }\n\nexport const recurse: WalkVerdict = { kind: 'recurse' }\nexport const replaceWith = (value: unknown): WalkVerdict => ({\n kind: 'replace',\n value,\n})\n\nexport type WalkVisitor = (\n value: unknown,\n path: TransformPath,\n) => WalkVerdict | Promise<WalkVerdict>\n\n/**\n * Guard against a handler that returns a value it also claims: without a cap\n * the fixpoint re-walk would spin forever. Chosen well above any legitimate\n * nesting depth so it only ever fires on a genuine non-terminating handler.\n */\nconst MAX_REPLACE_DEPTH = 100\n\n/**\n * Generic async tree-walk — successor to `packages/helpers/src/utils/mapData`.\n *\n * Post-order: a node's array/record children are transformed first, then the\n * node itself is offered to `visit`. This makes both directions symmetric — a\n * serialize output is re-walked so nested complex values are offloaded, and a\n * reference's nested references are reconstructed *before* its handler\n * deserializes it. Concrete policy (what is handled, what throws) lives in the\n * visitor, keeping this purely structural.\n *\n * Identity dedupe (the same instance offloaded once) is owned by the visitor's\n * own memo; because the visitor's synchronous prefix runs before the walk\n * awaits, concurrent siblings sharing an instance can't race the memo.\n */\nexport async function walk(\n root: unknown,\n visit: WalkVisitor,\n): Promise<unknown> {\n const go = async (\n value: unknown,\n path: TransformPath,\n replaceDepth: number,\n ): Promise<unknown> => {\n let node = value\n\n if (Array.isArray(node)) {\n node = await Promise.all(\n node.map((item, index) => go(item, [...path, index], 0)),\n )\n } else if (isPlainObject(node)) {\n const entries = await Promise.all(\n Object.entries(node).map(\n async ([key, item]) =>\n [key, await go(item, [...path, key], 0)] as const,\n ),\n )\n node = Object.fromEntries(entries)\n }\n\n const verdict = await visit(node, path)\n\n if (verdict.kind === 'replace') {\n if (replaceDepth >= MAX_REPLACE_DEPTH) {\n throw new TransformError(\n 'transform did not reach a fixpoint (a handler keeps producing handleable output)',\n path,\n )\n }\n return go(verdict.value, path, replaceDepth + 1)\n }\n\n return node\n }\n\n return go(root, [], 0)\n}\n",
@@ -33,7 +33,7 @@
33
33
  "import { z } from 'zod/v4'\n\nimport { reachableFetch } from './errors.ts'\nimport { forbidCallbacks, inbound, observeOnlyCallbacks } from './ingress.ts'\nimport type { Update } from './types.ts'\nimport getAccessToken from './utils/getAccessToken.ts'\n\nconst taskSchema = z.object({\n status: z.literal([\n 'SUCCESSFUL',\n 'FAILED',\n 'IDLE',\n 'PENDING',\n 'RUNNING',\n 'STOPPED',\n 'AWAITING_DELIVERY',\n ]),\n statusText: z.string().nullable(),\n // Optional throughout: this parses a JSON response, and a task with no input\n // (or a node that produced nothing) is ordinary. Under zod 4 an `unknown`\n // field is not optional by itself, so a field the API omits rather than nulls\n // would fail the whole read.\n input: z.unknown().optional(),\n result: z.unknown().optional(),\n taskTemplate: z.string(),\n name: z.string(),\n nodesData: z.array(\n z.object({ alias: z.string(), data: z.unknown().optional() }),\n ),\n nodesError: z.array(z.object({ alias: z.string(), error: z.string() })),\n branch: z.union([z.literal('live'), z.string()]) as z.ZodType<\n 'live' | (string & {})\n >,\n})\n\ninterface GetTaskOptions {\n accessToken?: string\n taskId: string\n}\n\nexport async function getTask(taskIdOrOptions: string | GetTaskOptions) {\n const taskId =\n typeof taskIdOrOptions === 'string'\n ? taskIdOrOptions\n : taskIdOrOptions.taskId\n const { apiBaseUrl, token } = getAccessToken(\n typeof taskIdOrOptions === 'string'\n ? undefined\n : taskIdOrOptions.accessToken,\n )\n\n const response = await reachableFetch(\n new URL(`${apiBaseUrl}/task/${taskId}`),\n {\n headers: {\n Authorization: `Bearer ${token}`,\n },\n },\n )\n\n if (!response.ok) {\n throw new Error('Task not found')\n }\n\n const taskData = taskSchema.parse(await response.json())\n\n // Rehydrate references up front so the context accessors stay synchronous.\n const [input, result, nodesData] = await Promise.all([\n inbound(taskData.input, forbidCallbacks),\n inbound(taskData.result, observeOnlyCallbacks),\n Promise.all(\n taskData.nodesData.map(async ({ alias, data }) => ({\n alias,\n data: await inbound(data, observeOnlyCallbacks),\n })),\n ),\n ])\n\n const context: Update<unknown>['context'] = {\n taskId,\n input,\n getNodeData(alias) {\n return nodesData.find((d) => d.alias === alias)?.data ?? null\n },\n getNodeError(alias) {\n return taskData.nodesError.find((d) => d.alias === alias)?.error ?? null\n },\n result,\n }\n\n return {\n status: taskData.status,\n statusText: taskData.statusText,\n taskTemplate: taskData.taskTemplate,\n name: taskData.name,\n branch: taskData.branch,\n context,\n }\n}\n",
34
34
  "import { createTask } from './createTask.ts'\nimport { getTask } from './getTask.ts'\n\ninterface RecreateTaskOptions {\n taskId: string\n name?: string\n accessToken?: string\n priority?: number\n}\nexport async function recreateTask(\n options: RecreateTaskOptions,\n onUpdate?: Parameters<typeof createTask>[1],\n) {\n const task = await getTask(options.taskId)\n return createTask(\n {\n taskTemplate: task.taskTemplate,\n accessToken: options.accessToken,\n name: options.name ?? task.name,\n priority: options.priority,\n input: task.context.input,\n },\n onUpdate,\n )\n}\n"
35
35
  ],
36
- "mappings": "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",
37
- "debugId": "AE2B7FC999A1CDAF64756E2164756E21",
36
+ "mappings": ";;;;;;;;;AAOO,MAAM,qCAAqC,MAAM;AAAA,EACtD,WAAW,CAAC,UAAU,oBAAoB;AAAA,IACxC,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA;AAEhB;;;ACEO,IAAM,yBAAyB;AAC/B,IAAM,yBAAyB;AAEtC,IAAM,OAAO;AAEb,IAAM,MAAM;AAEZ,IAAM,YAAY;AAElB,IAAM,eAAe;AAUd,IAAM,YAAwB,IAAI,WAAW,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;AAiB9D,SAAS,kBAAkB,GAA4C;AAAA,EAC5E,IAAI,SAAqB,IAAI,WAAW,CAAC;AAAA,EACzC,IAAI,WAAW;AAAA,EAEf,OAAO,IAAI,gBAAwC;AAAA,IACjD,SAAS,CAAC,OAAO,YAAY;AAAA,MAC3B,IAAI,UAAU;AAAA,QACZ,IAAI,MAAM,aAAa,GAAG;AAAA,UACxB,MAAM,IAAI,MAAM,mDAAmD;AAAA,QACrE;AAAA,QACA;AAAA,MACF;AAAA,MAEA,IAAI,OAAO,eAAe,GAAG;AAAA,QAC3B,SAAS;AAAA,MACX,EAAO;AAAA,QACL,MAAM,SAAS,IAAI,WAAW,OAAO,aAAa,MAAM,UAAU;AAAA,QAClE,OAAO,IAAI,QAAQ,CAAC;AAAA,QACpB,OAAO,IAAI,OAAO,OAAO,UAAU;AAAA,QACnC,SAAS;AAAA;AAAA,MAGX,OAAO,OAAO,cAAc,cAAc;AAAA,QACxC,MAAM,OAAO,OAAO;AAAA,QACpB,MAAM,SAAS,IAAI,SACjB,OAAO,QACP,OAAO,YACP,OAAO,UACT,EAAE,UAAU,GAAG,KAAK;AAAA,QACpB,IAAI,OAAO,aAAa,eAAe,QAAQ;AAAA,UAC7C;AAAA,QACF;AAAA,QAEA,MAAM,UAAU,OAAO,MAAM,cAAc,eAAe,MAAM;AAAA,QAChE,SAAS,OAAO,SAAS,eAAe,MAAM;AAAA,QAE9C,QAAQ;AAAA,eACD,MAAM;AAAA,YACT,IAAI,QAAQ,aAAa,GAAG;AAAA,cAC1B,WAAW,QAAQ,OAAO;AAAA,YAC5B;AAAA,YACA;AAAA,UACF;AAAA,eACK,KAAK;AAAA,YACR,WAAW;AAAA,YACX,IAAI,OAAO,aAAa,GAAG;AAAA,cACzB,MAAM,IAAI,MACR,mDACF;AAAA,YACF;AAAA,YACA,WAAW,UAAU;AAAA,YACrB;AAAA,UACF;AAAA,eACK,WAAW;AAAA,YACd,WAAW;AAAA,YACX,WAAW,MACT,IAAI,6BACF,IAAI,YAAY,EAAE,OAAO,OAAO,KAAK,SACvC,CACF;AAAA,YACA;AAAA,UACF;AAAA,mBACS;AAAA,YACP,MAAM,IAAI,MAAM,6CAA6C,MAAM;AAAA,UACrE;AAAA;AAAA,MAEJ;AAAA;AAAA,IAEF,KAAK,CAAC,YAAY;AAAA,MAChB,IAAI,CAAC,UAAU;AAAA,QACb,WAAW,MACT,IAAI,6BACF,yCACF,CACF;AAAA,MACF;AAAA;AAAA,EAEJ,CAAC;AAAA;;;ACnFI,SAAS,UAAU,CACxB,KACA,UAA6B,CAAC,GACF;AAAA,EAC5B,MAAM,iBAAiB,QAAQ;AAAA,EAC/B,MAAM,YACJ,QAAQ,kBAAkB,QAAQ,iBAAiB,IAC/C,QAAQ,iBACR;AAAA,EAIN,MAAM,aAAa,IAAI;AAAA,EAEvB,IAAI,SAAyD;AAAA,EAC7D,IAAI;AAAA,EACJ,IAAI;AAAA,EAEJ,MAAM,aAAa,MAAM;AAAA,IACvB,IAAI,UAAU,WAAW;AAAA,MACvB,aAAa,KAAK;AAAA,MAClB,QAAQ;AAAA,IACV;AAAA;AAAA,EAGF,MAAM,UAAU,MAAM;AAAA,IACpB,WAAW;AAAA,IACX,IAAI,kBAAkB,iBAAiB;AAAA,MACrC,eAAe,oBAAoB,SAAS,eAAe;AAAA,IAC7D;AAAA;AAAA,EAIF,IAAI,gBAAgB;AAAA,IAClB,IAAI,eAAe,SAAS;AAAA,MAC1B,WAAW,MAAM,eAAe,MAAM;AAAA,IACxC,EAAO;AAAA,MACL,kBAAkB,MAAM,WAAW,MAAM,eAAe,MAAM;AAAA,MAC9D,eAAe,iBAAiB,SAAS,iBAAiB;AAAA,QACxD,MAAM;AAAA,MACR,CAAC;AAAA;AAAA,EAEL;AAAA,EAEA,MAAM,WAAW,MAAM;AAAA,IACrB,IAAI,aAAa,GAAG;AAAA,MAClB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,IACX,QAAQ,WAAW,MAAM;AAAA,MACvB,WAAW,MACT,IAAI,MAAM,oCAAoC,aAAa,CAC7D;AAAA,OACC,SAAS;AAAA;AAAA,EAGd,OAAO,IAAI,eAA2B;AAAA,SAC9B,MAAK,CAAC,kBAAkB;AAAA,MAC5B,IAAI;AAAA,MACJ,IAAI;AAAA,QACF,WAAW,MAAM,MAAM,KAAK;AAAA,UAC1B,QAAQ,WAAW;AAAA,UACnB,SAAS,QAAQ,SACb,GAAG,yBAAyB,uBAAuB,IACnD;AAAA,QACN,CAAC;AAAA,QACD,OAAO,OAAO;AAAA,QACd,QAAQ;AAAA,QACR,iBAAiB,MAAM,KAAK;AAAA,QAC5B;AAAA;AAAA,MAGF,IAAI,CAAC,SAAS,IAAI;AAAA,QAGhB,MAAM,SAAS,MAAM,OAAO;AAAA,QAC5B,QAAQ;AAAA,QACR,iBAAiB,MACf,IAAI,MACF,uBAAuB,SAAS,UAAU,SAAS,YACrD,CACF;AAAA,QACA;AAAA,MACF;AAAA,MAEA,IAAI,CAAC,SAAS,MAAM;AAAA,QAClB,QAAQ;AAAA,QACR,iBAAiB,MAAM,IAAI,MAAM,kCAAkC,CAAC;AAAA,QACpE;AAAA,MACF;AAAA,MAIA,MAAM,SACJ,QAAQ,UACR,SAAS,QAAQ,IAAI,sBAAsB,MAAM;AAAA,MACnD,SAAS,SACL,SAAS,KAAK,YAAY,mBAAmB,CAAC,EAAE,UAAU,IAC1D,SAAS,KAAK,UAAU;AAAA;AAAA,SAExB,KAAI,CAAC,kBAAkB;AAAA,MAC3B,IAAI,CAAC,QAAQ;AAAA,QACX;AAAA,MACF;AAAA,MACA,SAAS;AAAA,MACT,IAAI;AAAA,QACF,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,QAC1C,WAAW;AAAA,QACX,IAAI,MAAM;AAAA,UACR,QAAQ;AAAA,UACR,iBAAiB,MAAM;AAAA,UACvB;AAAA,QACF;AAAA,QACA,iBAAiB,QAAQ,KAAK;AAAA,QAC9B,OAAO,OAAO;AAAA,QAGd,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,iBAAiB,MAAM,KAAK;AAAA;AAAA;AAAA,SAG1B,OAAM,CAAC,QAAQ;AAAA,MACnB,QAAQ;AAAA,MACR,WAAW,MAAM,MAAM;AAAA,MACvB,MAAM,QAAQ,OAAO,MAAM;AAAA;AAAA,EAE/B,CAAC;AAAA;;;AC/IH,SAAS,cAAc,GAAW;AAAA,EAChC,MAAM,MACJ,OAAO,YAAY,cACf,OAAO,QAAQ,KAAK,8BAA8B,IAClD,OAAO;AAAA,EACb,OAAO,OAAO,SAAS,GAAG,KAAK,MAAM,IAAI,MAAM;AAAA;AAAA;AAG1C,MAAM,aAIuB;AAAA,EAClC;AAAA,EACA,QAA2B;AAAA,EAC3B;AAAA,EACA,WAAW,CACT,WACA,SACA;AAAA,IACA,KAAK,QAAQ,IAAI,KAAK,WAAW,OAAO;AAAA;AAAA,SAInC,cAA+C,CACpD,MACA,QACA;AAAA,IACA,MAAM,WAAW,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;AAAA,IAC7C,SAAS,QAAQ;AAAA,IACjB,SAAS,UAAU;AAAA,IACnB,OAAO;AAAA;AAAA,SAQF,SAAS,CAAC,OAA8C;AAAA,IAC7D,OAAO,iBAAiB,gBAAgB,iBAAiB;AAAA;AAAA,MAIvD,UAAU,GAAG;AAAA,IACf,OAAO,KAAK;AAAA;AAAA,MAGV,IAAI,GAAG;AAAA,IACT,OAAO,KAAK,OAAO,QAAQ,KAAK,MAAM;AAAA;AAAA,MAGpC,QAAQ,GAAG;AAAA,IACb,OAAO,KAAK,OAAO,QAAQ,KAAK,MAAM;AAAA;AAAA,MAGpC,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,MAG9B,WAAW,GAAG;AAAA,IAChB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,EASlC,MAAM,GAAmB;AAAA,IACvB,IAAI,CAAC,KAAK,OAAO;AAAA,MACf,OAAO,KAAK,MAAM,OAAO;AAAA,IAC3B;AAAA,IACA,OAAO,WAAW,KAAK,MAAM,KAAK;AAAA,MAChC,QAAQ,KAAK;AAAA,MACb,gBAAgB,eAAe;AAAA,IACjC,CAAC;AAAA;AAAA,OASG,MAAM,GAAqC;AAAA,IAC/C,MAAM,SAAU,KAAK,OAAO,EAAiC,UAAU;AAAA,IACvE,MAAM,SAAuB,CAAC;AAAA,IAC9B,IAAI,QAAQ;AAAA,IACZ,UAAS;AAAA,MACP,QAAQ,MAAM,UAAU,MAAM,OAAO,KAAK;AAAA,MAC1C,IAAI,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MACA,OAAO,KAAK,KAAK;AAAA,MACjB,SAAS,MAAM;AAAA,IACjB;AAAA,IACA,MAAM,MAAM,IAAI,WAAW,KAAK;AAAA,IAChC,IAAI,SAAS;AAAA,IACb,WAAW,SAAS,QAAQ;AAAA,MAC1B,IAAI,IAAI,OAAO,MAAM;AAAA,MACrB,UAAU,MAAM;AAAA,IAClB;AAAA,IACA,OAAO;AAAA;AAAA,OAGH,KAAI,GAAG;AAAA,IACX,IAAI,KAAK,OAAO;AAAA,MACd,OAAO,IAAI,YAAY,EAAE,OAAO,MAAM,KAAK,OAAO,CAAC;AAAA,IACrD;AAAA,IACA,OAAO,KAAK,MAAM,KAAK;AAAA;AAAA,OAGnB,KAAI,GAAG;AAAA,IACX,IAAI,KAAK,OAAO;AAAA,MACd,MAAM,OAAO,MAAM,KAAK,KAAK;AAAA,MAC7B,IAAI;AAAA,QACF,OAAO,KAAK,MAAM,IAAI;AAAA,QACtB,OAAO,OAAO;AAAA,QACd,MAAM,IAAI,MACR,sCAAsC,KAAK,MAAM,OACjD,EAAE,OAAO,MAAM,CACjB;AAAA;AAAA,IAEJ;AAAA,IACA,OAAO,KAAK,MAAM,MAAM,KAAK,KAAK,CAAC;AAAA;AAAA,OAG/B,KAAI,GAAG;AAAA,IACX,IAAI,KAAK,OAAO;AAAA,MACd,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,KAAK,CAAC;AAAA,IAClE;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,OAGR,YAAW,GAAG;AAAA,IAClB,IAAI,KAAK,OAAO;AAAA,MACd,QAAQ,MAAM,KAAK,OAAO,GAAG;AAAA,IAC/B;AAAA,IACA,OAAO,KAAK,MAAM,YAAY;AAAA;AAAA,EAGhC,QAAQ,GAAG;AAAA,IACT,OAAO,gBAAgB,KAAK;AAAA;AAEhC;;ACtJA,SAAS,eAAc,GAAW;AAAA,EAChC,MAAM,MACJ,OAAO,YAAY,cACf,OAAO,QAAQ,KAAK,gCAAgC,IACpD,OAAO;AAAA,EACb,OAAO,OAAO,SAAS,GAAG,KAAK,MAAM,IAAI,MAAM;AAAA;AAAA;AAG1C,MAAM,eAIyB;AAAA,EACpC;AAAA,EACA,UAA+B;AAAA,EAC/B;AAAA,EAEA,WAAW,CACT,QACA,SACA;AAAA,IACA,KAAK,QAAQ;AAAA,IACb,KAAK,WAAW;AAAA;AAAA,SAIX,gBAAiD,CACtD,QACA,QACA;AAAA,IACA,MAAM,WAAW,IAAI,KAAK,MAAmC;AAAA,MAC3D,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,IACD,SAAS,UAAU;AAAA,IACnB,OAAO;AAAA;AAAA,SAQF,SAAS,CAAC,OAAoD;AAAA,IACnE,OAAO,iBAAiB,kBAAkB,iBAAiB;AAAA;AAAA,MAIzD,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,MAGV,QAAQ,GAAG;AAAA,IACb,OAAO,KAAK,SAAS,QAAQ,KAAK,SAAS;AAAA;AAAA,MAGzC,YAAY,GAAG;AAAA,IACjB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,MAG9B,WAAW,GAAG;AAAA,IAChB,OAAO,KAAK,SAAS,MAAM,GAAG,EAAE;AAAA;AAAA,EAGlC,MAAM,GAAmB;AAAA,IACvB,IAAI,CAAC,KAAK,SAAS;AAAA,MACjB,OAAO,KAAK;AAAA,IACd;AAAA,IAEA,OAAO,WAAW,KAAK,QAAQ,KAAK;AAAA,MAClC,QAAQ,KAAK,SAAS;AAAA,MACtB,gBAAgB,gBAAe;AAAA,MAG/B,QAAQ;AAAA,IACV,CAAC;AAAA;AAAA,EAGH,aAAa,GAA8B;AAAA,IACzC,MAAM,SAAS,KAAK,OAAO,EAAE,UAAU;AAAA,IAEvC,OAAO;AAAA,OACJ,OAAO,cAAc,GAAG;AAAA,QACvB,OAAO;AAAA,eACC,KAAI,GAAG;AAAA,YACX,OAAO,OAAO,KAAK;AAAA;AAAA,eAEf,OAAM,GAAG;AAAA,YACb,OAAO,OAAO;AAAA,YACd,OAAO,YAAY;AAAA,YACnB,OAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA;AAAA,eAE7B,MAAK,GAAG;AAAA,YACZ,OAAO,OAAO;AAAA,YACd,OAAO,YAAY;AAAA,YACnB,OAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA;AAAA,QAErC;AAAA;AAAA,IAEJ;AAAA;AAAA,EAGF,QAAQ,GAAG;AAAA,IACT,OAAO,kBAAkB,KAAK;AAAA;AAElC;;AC/HO,SAAS,uBAA0B,CACxC,WAKkB;AAAA,EAClB,MAAM,YAAsD,CAAC;AAAA,EAC7D,MAAM,YAAqC,CAAC;AAAA,EAC5C,IAAI,OAAO;AAAA,EAEX,MAAM,YAAY,CAAC,UAA4B;AAAA,IAC7C,IAAI,UAAU,WAAW,GAAG;AAAA,MAC1B,MAAM,WAAW,UAAU,MAAM;AAAA,MACjC,SAAU,KAAK;AAAA,IACjB,EAAO;AAAA,MACL,UAAU,KAAK,KAAK;AAAA;AAAA;AAAA,EAIxB,MAAM,YAAY,MAChB,IAAI,QAA0B,CAAC,YAAY;AAAA,IACzC,IAAI,UAAU,WAAW,GAAG;AAAA,MAC1B,QAAQ,UAAU,MAAM,CAAE;AAAA,IAC5B,EAAO;AAAA,MACL,UAAU,KAAK,OAAO;AAAA;AAAA,GAEzB;AAAA,EAEH,MAAM,UAAU,UACd,CAAC,UAAU;AAAA,IACT,IAAI,CAAC,MAAM;AAAA,MACT,UAAU,EAAE,MAAM,CAAC;AAAA,IACrB;AAAA,KAEF,CAAC,UAAU;AAAA,IACT,IAAI,CAAC,MAAM;AAAA,MACT,UAAU,EAAE,MAAM,CAAC;AAAA,IACrB;AAAA,KAEF,MAAM;AAAA,IACJ,IAAI,CAAC,MAAM;AAAA,MACT,UAAU,EAAE,MAAM,KAAK,CAAC;AAAA,IAC1B;AAAA,GAEJ;AAAA,EAEA,OAAO;AAAA,SACC,KAAI,GAAG;AAAA,MACX,IAAI,MAAM;AAAA,QACR,OAAO,EAAE,OAAO,WAAW,MAAM,KAAK;AAAA,MACxC;AAAA,MAEA,MAAM,QAAa,MAAM,UAAU;AAAA,MACnC,IAAI,MAAM,MAAM;AAAA,QACd,OAAO;AAAA,QACP,OAAO,EAAE,OAAO,WAAW,MAAM,KAAK;AAAA,MACxC;AAAA,MAEA,IAAI,MAAM,OAAO;AAAA,QACf,OAAO;AAAA,QACP,MAAM,MAAM;AAAA,MACd;AAAA,MAEA,OAAO,EAAE,OAAO,MAAM,OAAO,MAAM,MAAM;AAAA;AAAA,SAGrC,OAAM,GAAG;AAAA,MACb,IAAI,CAAC,MAAM;AAAA,QACT,OAAO;AAAA,QACP,IAAI,OAAO,YAAY,YAAY;AAAA,UACjC,QAAQ;AAAA,QACV;AAAA,QACA,OAAO,UAAU,SAAS,GAAG;AAAA,UAC3B,MAAM,WAAW,UAAU,MAAM;AAAA,UACjC,SAAU,EAAE,MAAM,KAAK,CAAC;AAAA,QAC1B;AAAA,MACF;AAAA,MACA,OAAO,EAAE,OAAO,WAAW,MAAM,KAAK;AAAA;AAAA,EAE1C;AAAA;AAGK,SAAS,uBAA0B,IACrC,MACe;AAAA,EAClB,IAAI;AAAA,EACJ,OAAO;AAAA,KACJ,OAAO,cAAc,GAAG;AAAA,MACvB,aAAa,wBAAwB,GAAG,IAAI;AAAA,MAC5C,OAAO;AAAA;AAAA,EAEX;AAAA;;;AC9FF;AAEA,IAAM,mBAAmB,EAAE,OAAO;AAAA,EAChC,MAAM,EAAE,IAAI,EAAE,SAAS;AAAA,EACvB,MAAM,EAAE,OAAO;AAAA,EACf,KAAK,EAAE,IAAI;AAAA,EACX,iBAAiB,EAAE,QAAQ,cAAc;AAC3C,CAAC;AAIM,SAAS,YAAY,CAAC,UAId;AAAA,EACb,OAAO;AAAA,OACF;AAAA,IACH,iBAAiB;AAAA,EACnB;AAAA;AAGK,SAAS,YAAY,CAAC,MAAmC;AAAA,EAC9D,OAAO,iBAAiB,UAAU,IAAI,EAAE;AAAA;;;ACvB1C,cAAS;AAET,IAAM,qBAAqB,GAAE,OAAO;AAAA,EAClC,MAAM,GAAE,OAAO;AAAA,EACf,KAAK,GAAE,OAAO,EAAE,IAAI;AAAA,EACpB,iBAAiB,GAAE,QAAQ,gBAAgB;AAC7C,CAAC;AAIM,SAAS,cAAc,CAAC,MAAqC;AAAA,EAClE,OAAO,mBAAmB,UAAU,IAAI,EAAE;AAAA;AAGrC,SAAS,cAAc,CAAC,YAGd;AAAA,EACf,OAAO;AAAA,OACF;AAAA,IACH,iBAAiB;AAAA,EACnB;AAAA;;;ACrBF,cAAS;AAET,IAAM,yBAAyB,GAAE,OAAO;AAAA,EACtC,KAAK,GAAE,IAAI;AAAA,EACX,MAAM,GAAE,IAAI,EAAE,SAAS;AAAA,EACvB,iBAAiB,GAAE,QAAQ,YAAY;AACzC,CAAC;AASM,SAAS,kBAAkB,CAAC,MAGd;AAAA,EACnB,OAAO;AAAA,OACF;AAAA,IACH,iBAAiB;AAAA,EACnB;AAAA;AAGK,SAAS,kBAAkB,CAAC,MAAyC;AAAA,EAC1E,OAAO,uBAAuB,UAAU,IAAI,EAAE;AAAA;;;AC1BhD,cAAS;AAWF,IAAM,wBAAwB;AAErC,IAAM,qBAAqB,GAAE,MAAM,GAAE,MAAM,CAAC,GAAE,OAAO,GAAG,GAAE,IAAI,CAAC,CAAC,CAAC;AAsBjE,IAAM,uBAAuB,GAAE,mBAAmB,YAAY;AAAA,EAC5D,GAAE,OAAO;AAAA,IACP,iBAAiB,GAAE,QAAQ,qBAAqB;AAAA,IAChD,UAAU,GAAE,QAAQ,YAAY;AAAA,IAChC,YAAY,GAAE,OAAO,EAAE,SAAS;AAAA,IAChC,cAAc;AAAA,IAEd,UAAU,GAAE,OAAO;AAAA,IAEnB,YAAY,GAAE,KAAK;AAAA,EACrB,CAAC;AAAA,EACD,GAAE,OAAO;AAAA,IACP,iBAAiB,GAAE,QAAQ,qBAAqB;AAAA,IAChD,UAAU,GAAE,QAAQ,SAAS;AAAA,IAC7B,YAAY,GAAE,OAAO,EAAE,SAAS;AAAA,IAChC,cAAc;AAAA,IAOd,MAAM,GAAE,OAAO;AAAA,IAgBf,QAAQ,GAAE,OAAO;AAAA,IAYjB,OAAO,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,CAAC;AACH,CAAC;AAKM,SAAS,gBAAgB,CAAC,MAAuC;AAAA,EACtE,OAAO,qBAAqB,UAAU,IAAI,EAAE;AAAA;AAiE9C,IAAM,2BAA2B,OAAO,IAAI,iCAAiC;AAmDtE,SAAS,0BAA0B,CACxC,OACoC;AAAA,EACpC,IAAI,OAAO,UAAU,YAAY;AAAA,IAC/B;AAAA,EACF;AAAA,EACA,MAAM,UAAW,MACf;AAAA,EAEF,OAAO,OAAO,YAAY,YACxB,YAAY,QACZ,OAAQ,QAAmC,SAAS,WACjD,UACD;AAAA;AA0FC,IAAM,kCAAkC,GAAE,OAAO;AAAA,EAUtD,QAAQ,GAAE,KAAK;AAAA,EACf,QAAQ,GAAE,OAAO;AAAA,EACjB,MAAM,GAAE,OAAO;AAAA,EAEf,OAAO,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC5B,KAAK,GAAE,QAAQ,EAAE,SAAS;AAAA,EAiB1B,eAAe,GAAE,QAAQ,EAAE,SAAS;AACtC,CAAC;AA4CM,IAAM,mCAAmC,GAAE,OAAO;AAAA,EACvD,QAAQ,GAAE,OAAO;AAAA,EACjB,MAAM,GAAE,OAAO;AAAA,EACf,SAAS,GAAE,OAAO;AACpB,CAAC;;;ACpYD,eAAsB,QAAQ,CAAC,KAAe,KAAa,OAAe;AAAA,EACxE,IAAI,IAAI,IAAI;AAAA,IACV;AAAA,EACF;AAAA,EACA,MAAM,SAAS,MAAM,IAAI,KAAK,EAAE,MAAM,MAAM,EAAE;AAAA,EAC9C,MAAM,IAAI,MACR,GAAG,iBAAiB,IAAI,UAAU,IAAI,eAAe,OACnD,SAAS,MAAK,WAAW,IAE7B;AAAA;;;ACNF,eAAe,MAAM,CACnB,KACA,WACA,MACA,aACA,aACqB;AAAA,EACrB,MAAM,iBAAiB,MAAM,IAAI,MAAM,WAAW;AAAA,IAChD,QAAQ;AAAA,IACR,QAAQ,IAAI;AAAA,IACZ,SAAS;AAAA,SACH,cAAc,EAAE,gBAAgB,YAAY,IAAI,CAAC;AAAA,SAGjD,gBAAgB,YAChB,EAAE,aAAa,OAAO,WAAW,EAAE,IACnC,CAAC;AAAA,IACP;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EAED,MAAM,SAAS,gBAAgB,WAAW,QAAQ;AAAA,EAElD,MAAM,OAAO,MAAM,eAAe,KAAK;AAAA,EAGvC,IACE,CAAC,QACD,OAAO,SAAS,YAChB,OAAQ,KAA2B,QAAQ,YAC3C,CAAE,KAAyB,OAC3B,OAAQ,KAA4B,SAAS,YAC7C,OAAQ,KAA4B,SAAS,UAC7C;AAAA,IACA,MAAM,IAAI,MAAM,8BAA8B,YAAY;AAAA,EAC5D;AAAA,EAEA,OAAO,aAAa,IAAmD;AAAA;AAWlE,SAAS,yBAAyB,GAIvC;AAAA,EACA,OAAO;AAAA,IACL,KAAK;AAAA,IAEL,WAAW,CAAC,UAAU,aAAa,UAAU,KAAK;AAAA,SAE5C,UAAS,CAAC,OAAO,KAAK;AAAA,MAE1B,IAAI,iBAAiB,gBAAgB,MAAM,YAAY;AAAA,QACrD,OAAO,MAAM;AAAA,MACf;AAAA,MAEA,IAAI,CAAC,IAAI,WAAW;AAAA,QAClB,IAAI,gBAAgB;AAAA,QACpB,OAAO;AAAA,MACT;AAAA,MAEA,IAAI;AAAA,QACF,IAAI,iBAAiB,cAAc;AAAA,UACjC,OAAO,MAAM,OACX,KACA,IAAI,WACJ,MAAM,MAAM,KAAK,GACjB,MAAM,UACN,IAAI,WACN;AAAA,QACF;AAAA,QACA,OAAO,MAAM,OACX,KACA,IAAI,WACJ,OACA,MAAM,MACN,IAAI,WACN;AAAA,QACA,OAAO,OAAO;AAAA,QACd,IAAI,EAAE,iBAAiB,QAAQ;AAAA,UAC7B,MAAM;AAAA,QACR;AAAA,QAGA,IAAI,IAAI,eAAe;AAAA,UACrB,IAAI,cAAc,KAAK;AAAA,UACvB,OAAO;AAAA,QACT;AAAA,QACA,MAAM;AAAA;AAAA;AAAA,IAIV,aAAa,CAAC,UAA+B,aAAa,KAAK;AAAA,IAE/D,WAAW,CAAC,KAAK,KAAK;AAAA,MACpB,OAAO,aAAa,eAAe,KAAmB,IAAI,MAAM;AAAA;AAAA,EAEpE;AAAA;;ACjHF;AAgBA,IAAM,iBAAiB,IAAI;AAS3B,eAAsB,mBAAsB,CAC1C,IAC4C;AAAA,EAC5C,MAAM,UAAgC,CAAC;AAAA,EACvC,MAAM,QAAQ,MAAM,eAAe,IAAI,SAAS,EAAE;AAAA,EAClD,OAAO,EAAE,OAAO,MAAM,QAAQ,IAAI,OAAO,EAAE,KAAK,MAAG;AAAA,IAAG;AAAA,GAAS,EAAE;AAAA;AAU5D,SAAS,qBAAqB,CAAC,MAA8B;AAAA,EAClE,MAAM,QAAQ,eAAe,SAAS;AAAA,EACtC,IAAI,CAAC,OAAO;AAAA,IACV,OAAO;AAAA,EACT;AAAA,EACA,MAAM,KAAK,IAAI;AAAA,EACf,OAAO;AAAA;;;ACrCT,eAAe,iBAAiB,CAC9B,KACA,WACA,QACA,aACA,aAC4D;AAAA,EAC5D,OAAO,YAAY,cAAc,OAAO,IAAI;AAAA,EAM5C,MAAM,SAAS,WAAW,UAAU;AAAA,EACpC,QAAQ,MAAM,YAAY,MAAM,OAAO,KAAK;AAAA,EAC5C,OAAO,OAAO;AAAA,EAEd,MAAM,iBAAiB,MAAM,IAAI,MAAM,WAAW;AAAA,IAChD,QAAQ;AAAA,IACR,QAAQ,IAAI;AAAA,IACZ,SAAS;AAAA,SACH,cAAc,EAAE,gBAAgB,YAAY,IAAI,CAAC;AAAA,SAIjD,gBAAgB,YAChB,EAAE,aAAa,OAAO,WAAW,EAAE,IACnC,CAAC;AAAA,IACP;AAAA,EACF,CAAC;AAAA,EAED,MAAM,SAAS,gBAAgB,WAAW,qBAAqB;AAAA,EAE/D,MAAM,OAAO,MAAM,eAAe,KAAK;AAAA,EACvC,IAAI,CAAC,eAAe,eAAe,IAAqC,CAAC,GAAG;AAAA,IAC1E,MAAM,IAAI,MAAM,2CAA2C,YAAY;AAAA,EACzE;AAAA,EAEA,QAAQ,MAAM,QAAQ;AAAA,EAEtB,IAAI,SAAS;AAAA,IAGX,MAAM,gBAAgB,MAAM,IAAI,MAAM,KAAK;AAAA,MACzC,QAAQ;AAAA,MACR,QAAQ,IAAI;AAAA,MACZ,SAAS,cAAc,EAAE,gBAAgB,YAAY,IAAI,CAAC;AAAA,MAC1D,MAAM,IAAI,WAAW,CAAC;AAAA,IACxB,CAAC;AAAA,IACD,MAAM,SAAS,eAAe,KAAK,oBAAoB;AAAA,IACvD,MAAM,cAAc,MAAM,OAAO;AAAA,IACjC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,IAAI,CAAC,EAAE;AAAA,EAC9C;AAAA,EAKA,MAAM,cAAc,YAAY;AAAA,IAC9B,MAAM,eAAe,MAAM,IAAI,MAAM,KAAK;AAAA,MACxC,QAAQ;AAAA,MACR,QAAQ,IAAI;AAAA,MACZ,QAAQ;AAAA,MACR,MAAM;AAAA,IACR,CAAgB;AAAA,IAChB,MAAM,SAAS,cAAc,KAAK,oBAAoB;AAAA,IACtD,MAAM,aAAa,MAAM,OAAO;AAAA,KAC/B;AAAA,EAEH,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,IAAI,CAAC,GAAG,WAAW;AAAA;AAcnD,SAAS,2BAA2B,GAIzC;AAAA,EACA,OAAO;AAAA,IACL,KAAK;AAAA,IAEL,WAAW,CAAC,UAAU,eAAe,UAAU,KAAK;AAAA,SAE9C,UAAS,CAAC,OAAO,KAAK;AAAA,MAE1B,IAAI,iBAAiB,kBAAkB,MAAM,cAAc;AAAA,QACzD,OAAO,MAAM;AAAA,MACf;AAAA,MAEA,IAAI,CAAC,IAAI,WAAW;AAAA,QAClB,IAAI,gBAAgB;AAAA,QACpB,OAAO;AAAA,MACT;AAAA,MAEA,MAAM,OACJ,iBAAiB,WAEZ,MAAM,QACP,IAAI,eAAe;AAAA,QACjB,KAAK,CAAC,YAAY;AAAA,UAChB,WAAW,MAAM;AAAA;AAAA,MAErB,CAAC,IACD,MAAM,OAAO;AAAA,MACnB,MAAM,cACJ,iBAAiB,WACb,MAAM,QAAQ,IAAI,cAAc,IAChC,MAAM;AAAA,MAEZ,IAAI;AAAA,QACF,QAAQ,KAAK,eAAe,MAAM,kBAChC,KACA,IAAI,WACJ,MACA,aACA,IAAI,WACN;AAAA,QACA,IAAI,cAAc,CAAC,sBAAsB,UAAU,GAAG;AAAA,UAGpD,MAAM;AAAA,QACR;AAAA,QACA,OAAO;AAAA,QACP,OAAO,OAAO;AAAA,QACd,IAAI,EAAE,iBAAiB,QAAQ;AAAA,UAC7B,MAAM;AAAA,QACR;AAAA,QAGA,IAAI,IAAI,eAAe;AAAA,UACrB,IAAI,cAAc,KAAK;AAAA,UACvB,OAAO;AAAA,QACT;AAAA,QACA,MAAM;AAAA;AAAA;AAAA,IAIV,aAAa,CAAC,UAAiC,eAAe,KAAK;AAAA,IAEnE,WAAW,CAAC,KAAK,KAAK;AAAA,MACpB,OAAO,eAAe,iBAAiB,KAAqB,IAAI,MAAM;AAAA;AAAA,EAE1E;AAAA;;AChKF;AAwCA,IAAM,2BAA2B,IAAI,OAAO;AAE5C,SAAS,QAAQ,CAAC,OAAkD;AAAA,EAClE,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK;AAAA;AAG5E,eAAe,OAAO,CACpB,KACA,WACA,MAC2B;AAAA,EAC3B,MAAM,WAAW,MAAM,IAAI,MAAM,WAAW;AAAA,IAC1C,QAAQ;AAAA,IACR,QAAQ,IAAI;AAAA,IACZ,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,IAC9C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,MAAM,SAAS,UAAU,WAAW,qBAAqB;AAAA,EAEzD,MAAM,OAAQ,MAAM,SAAS,KAAK;AAAA,EAClC,IACE,CAAC,QACD,OAAO,SAAS,YAChB,OAAO,KAAK,QAAQ,YACpB,CAAC,KAAK,OACN,OAAO,KAAK,SAAS,UACrB;AAAA,IACA,MAAM,IAAI,MAAM,2CAA2C,YAAY;AAAA,EACzE;AAAA,EACA,OAAO,mBAAmB,EAAE,KAAK,KAAK,KAAK,MAAM,KAAK,KAAK,CAAC;AAAA;AAI9D,SAAS,cAAc,CAAC,OAAgB;AAAA,EACtC,MAAM,OAAO,KAAK,UAAU,KAAK;AAAA,EACjC,OAAO,SAAS,YAAY,IAAI,OAAO,WAAW,IAAI;AAAA;AAAA;AAIxD,MAAM,4BAA4B,MAAM;AAAC;AAqBzC,SAAS,aAAa,CAAC,OAAgB;AAAA,EACrC,IAAI;AAAA,IACF,OAAO,KAAK,UACV,OACA,QAAS,CAAgC,KAAa,SAAkB;AAAA,MACtE,MAAM,MAAM,KAAK;AAAA,MACjB,IAAI,YAAY,OAAO,GAAG,KAAK,eAAe,aAAa;AAAA,QACzD,MAAM,IAAI;AAAA,MACZ;AAAA,MACA,OAAO;AAAA,KAEX;AAAA,IACA,OAAO,OAAO;AAAA,IACd,IAAI,iBAAiB,qBAAqB;AAAA,MACxC;AAAA,IACF;AAAA,IACA,MAAM;AAAA;AAAA;AAIV,SAAS,oBAAoB,GAA4C;AAAA,EACvE,OAAO;AAAA,SACC,aAAY,CAAC,MAAM,KAAK;AAAA,MAC5B,MAAM,WAAW,IAAI,kBAAkB;AAAA,MACvC,IAAI,YAAY,KAAK,SAAS,WAAW;AAAA,QACvC,OAAO;AAAA,MACT;AAAA,MASA,MAAM,UAAU,IAAI,WAAW;AAAA,MAE/B,IAAI,QAAQ,IAAI,KAAK,UAAU;AAAA,QAC7B,OAAO;AAAA,MACT;AAAA,MACA,QAAQ,cAAc;AAAA,MACtB,IAAI,CAAC,WAAW;AAAA,QACd,IAAI,gBAAgB;AAAA,QACpB,OAAO;AAAA,MACT;AAAA,MAEA,IAAI,CAAC,SAAS,IAAI,GAAG;AAAA,QACnB,MAAM,OAAO,cAAc,IAAI;AAAA,QAC/B,IAAI,SAAS,WAAW;AAAA,UACtB,OAAO;AAAA,QACT;AAAA,QACA,OAAO,QAAQ,KAAK,WAAW,IAAI;AAAA,MACrC;AAAA,MAQA,MAAM,UAAU,OAAO,QAAQ,IAAI,EAChC,OAAO,EAAE,SAAS,CAAC,IAAI,YAAY,SAAS,GAAG,CAAC,EAChD,IAAI,EAAE,KAAK,YAAY;AAAA,QACtB;AAAA,QACA,WAAW,cAAc,KAAK;AAAA,QAC9B,MAAM,QAAQ,KAAK;AAAA,MACrB,EAAE,EACD,KAAK,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI;AAAA,MAEjC,MAAM,UAAmC,KAAK,KAAK;AAAA,MACnD,IAAI,QAAQ,QAAQ,IAAI;AAAA,MACxB,WAAW,SAAS,SAAS;AAAA,QAG3B,IAAI,SAAS,YAAY,MAAM,QAAQ,KAAK;AAAA,UAC1C;AAAA,QACF;AAAA,QACA,IAAI,MAAM,cAAc,WAAW;AAAA,UAKjC;AAAA,QACF;AAAA,QACA,MAAM,MAAM,MAAM,QAAQ,KAAK,WAAW,MAAM,SAAS;AAAA,QACzD,QAAQ,MAAM,OAAO;AAAA,QACrB,SAAS,QAAQ,GAAG,IAAI,MAAM;AAAA,MAChC;AAAA,MACA,OAAO;AAAA;AAAA,EAEX;AAAA;AAUF,SAAS,kBAAkB,GAA4C;AAAA,EACrE,OAAO;AAAA,IACL,KAAK;AAAA,IAEL,WAAW,MAAM;AAAA,IAEjB,SAAS,GAAG;AAAA,MACV,MAAM,IAAI,MACR,iGACF;AAAA;AAAA,IAGF,aAAa,CAAC,UACZ,mBAAmB,KAAK;AAAA,SAEpB,YAAW,CAAC,KAAK,KAAK;AAAA,MAC1B,MAAM,WAAW,MAAM,IAAI,MAAM,IAAI,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC;AAAA,MAChE,MAAM,SAAS,UAAU,IAAI,KAAK,mBAAmB;AAAA,MACrD,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,MACjC,IAAI;AAAA,QACF,OAAO,KAAK,MAAM,IAAI;AAAA,QACtB,MAAM;AAAA,QACN,MAAM,IAAI,MAAM,kCAAkC,IAAI,MAAM;AAAA;AAAA;AAAA,EAGlE;AAAA;AAIK,SAAS,uBAAuB,GAOrC;AAAA,EACA,OAAO;AAAA,IACL,cAAc,mBAAmB;AAAA,IACjC,gBAAgB,qBAAqB;AAAA,EACvC;AAAA;;AC7OF;;;ACHA;AAIA,SAAwB,cAAc,CAAC,aAAsB;AAAA,EAC3D,IAAI,QACF,eACA,QAAQ,IAAI,8BACZ,QAAQ,IAAI;AAAA,EAEd,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,UAAU,KAAK,MAAM,aAAa,gBAAgB,OAAO,CAAC;AAAA,IAChE,QAAQ,QAAQ,UAAU,MAAM,eAAe,QAAQ,UAAU;AAAA,EACnE;AAAA,EAEA,IAAI,CAAC,OAAO;AAAA,IACV,MAAM,IAAI,MACR;AAAA;AAAA;AAAA,6CACF;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ,YAAY,KAAK;AAAA,EAC/B,IAAI,MAAM,SAAS,KAAK,MAAM,OAAO,OAAO;AAAA,IAC1C,MAAM,IAAI,MAAM,sBAAsB;AAAA,EACxC;AAAA,EAEA,OAAO;AAAA,IACL,OAAO,MAAM;AAAA,IACb,YAAY,MAAM;AAAA,EACpB;AAAA;;;AC1BF,MAAM,uBAAuB,MAAM;AAAA,EAGf;AAAA,EAFlB,WAAW,CACT,SACgB,QAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAFG;AAAA;AAIpB;AAOA,eAAsB,SAAS,CAAC,SAA2B;AAAA,EACzD,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAEhE,MAAM,WAAW,GAAG,yBAAyB,QAAQ;AAAA,EAErD,MAAM,WAAW,MAAM,eAAe,UAAU;AAAA,IAC9C,QAAQ;AAAA,IACR,MAAM,QAAQ,UAAU;AAAA,IACxB,SAAS;AAAA,MACP,eAAe,UAAU;AAAA,IAC3B;AAAA,EACF,CAAC;AAAA,EAED,IAAI,CAAC,SAAS,IAAI;AAAA,IAChB,MAAM,IAAI,eAAe,MAAM,SAAS,KAAK,GAAG,QAAQ,MAAM;AAAA,EAChE;AAAA;;;ACxBF,eAAsB,OAAO,CAAC,SAAyB;AAAA,EACrD,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAEhE,MAAM,WAAW,MAAM,eACrB,GAAG,uBAAuB,QAAQ,UAClC;AAAA,IACE,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,eAAe,UAAU;AAAA,IAC3B;AAAA,EACF,CACF;AAAA,EAEA,IAAI,CAAC,SAAS,IAAI;AAAA,IAChB,MAAM,IAAI,MACR,wCAAwC,MAAM,SAAS,KAAK,GAC9D;AAAA,EACF;AAAA;;;ACkBK,SAAS,6BAA6B,GAK3C;AAAA,EACA,OAAO;AAAA,IACL,KAAK;AAAA,IAEL,WAAW,CAAC,UAAU,OAAO,UAAU;AAAA,IAEvC,SAAS,CAAC,UAAU,KAAK,MAAM;AAAA,MAC7B,MAAM,UAAU,2BAA2B,QAAQ;AAAA,MACnD,IAAI,SAAS;AAAA,QAYX,IAAI,CAAC,IAAI,QAAQ;AAAA,UACf,MAAM,IAAI,MACR,qBAAqB,QAAQ,qEAAqE,KAAK,KAAK,GAAG,IACjH;AAAA,QACF;AAAA,QACA,OAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,MAAM,QAAQ;AAAA,UACd,QAAQ,IAAI;AAAA,UACZ,OAAO,QAAQ;AAAA,UACf,YAAY,IAAI,cAAc;AAAA,UAC9B,cAAc,CAAC,GAAG,IAAI;AAAA,QACxB;AAAA,MACF;AAAA,MAEA,IAAI,CAAC,IAAI,YAAY;AAAA,QAGnB,MAAM,IAAI,MACR,gFAAgF,KAAK,KAAK,GAAG,IAC/F;AAAA,MACF;AAAA,MACA,OAAO;AAAA,WAGF,IAAI,WAAW,UAAU,IAAI;AAAA,QAChC,UAAU;AAAA,QACV,YAAY,IAAI,cAAc;AAAA,QAC9B,cAAc,CAAC,GAAG,IAAI;AAAA,QACtB,iBAAiB;AAAA,MACnB;AAAA;AAAA,IAGF,aAAa,CAAC,UAAmC,iBAAiB,KAAK;AAAA,IAEvE,WAAW,CAAC,KAAK,KAAK;AAAA,MAWpB,OAAO,CAAC,MAAe,SAAS;AAAA,QAC9B,IAAI,mBAAmB,KAAM,KAAwB,IAAI,CAAC;AAAA;AAAA;AAAA,EAGhE;AAAA;;ACnHK,SAAS,UAAU,CAAC,MAA6B;AAAA,EACtD,IAAI,KAAK,WAAW,GAAG;AAAA,IACrB,OAAO;AAAA,EACT;AAAA,EACA,IAAI,MAAM;AAAA,EACV,WAAW,WAAW,MAAM;AAAA,IAC1B,OACE,OAAO,YAAY,WACf,IAAI,aACJ,MACE,IAAI,YACJ;AAAA,EACV;AAAA,EACA,OAAO;AAAA;AAAA;AASF,MAAM,uBAAuB,MAAM;AAAA,EAC/B;AAAA,EACA;AAAA,EAET,WAAW,CAAC,QAAgB,MAAqB;AAAA,IAC/C,MAAM,GAAG,aAAa,WAAW,IAAI,GAAG;AAAA,IACxC,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,KAAK,SAAS;AAAA;AAElB;;;ACnCO,IAAM,oBAAoB;AAQ1B,SAAS,aAAa,CAC3B,OACkC;AAAA,EAClC,IAAI,UAAU,QAAQ,OAAO,UAAU,UAAU;AAAA,IAC/C,OAAO;AAAA,EACT;AAAA,EACA,MAAM,QAAQ,OAAO,eAAe,KAAK;AAAA,EACzC,OAAO,UAAU,QAAQ,UAAU,OAAO;AAAA;AAQrC,SAAS,cAAc,CAAC,OAAyB;AAAA,EACtD,IAAI,UAAU,MAAM;AAAA,IAClB,OAAO;AAAA,EACT;AAAA,EACA,MAAM,OAAO,OAAO;AAAA,EACpB,IAAI,SAAS,UAAU;AAAA,IACrB,OAAO,CAAC,MAAM,QAAQ,KAAK,KAAK,CAAC,cAAc,KAAK;AAAA,EACtD;AAAA,EACA,OAAO,SAAS,cAAc,SAAS,YAAY,SAAS;AAAA;AAIvD,SAAS,eAAe,CAAC,OAAyB;AAAA,EACvD,OAAO,cAAc,KAAK,KAAK,qBAAqB;AAAA;;;ACtB/C,IAAM,UAAuB,EAAE,MAAM,UAAU;AAC/C,IAAM,cAAc,CAAC,WAAiC;AAAA,EAC3D,MAAM;AAAA,EACN;AACF;AAYA,IAAM,oBAAoB;AAgB1B,eAAsB,IAAI,CACxB,MACA,OACkB;AAAA,EAClB,MAAM,KAAK,OACT,OACA,MACA,iBACqB;AAAA,IACrB,IAAI,OAAO;AAAA,IAEX,IAAI,MAAM,QAAQ,IAAI,GAAG;AAAA,MACvB,OAAO,MAAM,QAAQ,IACnB,KAAK,IAAI,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CACzD;AAAA,IACF,EAAO,SAAI,cAAc,IAAI,GAAG;AAAA,MAC9B,MAAM,UAAU,MAAM,QAAQ,IAC5B,OAAO,QAAQ,IAAI,EAAE,IACnB,QAAQ,KAAK,UACX,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAC3C,CACF;AAAA,MACA,OAAO,OAAO,YAAY,OAAO;AAAA,IACnC;AAAA,IAEA,MAAM,UAAU,MAAM,MAAM,MAAM,IAAI;AAAA,IAEtC,IAAI,QAAQ,SAAS,WAAW;AAAA,MAC9B,IAAI,gBAAgB,mBAAmB;AAAA,QACrC,MAAM,IAAI,eACR,oFACA,IACF;AAAA,MACF;AAAA,MACA,OAAO,GAAG,QAAQ,OAAO,MAAM,eAAe,CAAC;AAAA,IACjD;AAAA,IAEA,OAAO;AAAA;AAAA,EAGT,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;AAAA;;;ACfhB,SAAS,iBAAiB,GAAgB;AAAA,EAC/C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AAAA;AAGrB,SAAS,KAAK,CACZ,eACA,iBACuB;AAAA,EACvB,MAAM,cAAqC;AAAA,IACzC,WAAW,CACT,SACA;AAAA,MACA,MAAM,SACJ,SAAS,UAAU,EAAE,cAAc,QAAQ,IAAI;AAAA,MACjD,IAAI,CAAC,OAAO,gBAAgB,CAAC,OAAO,gBAAgB;AAAA,QAClD,MAAM,IAAI,MACR,0EACF;AAAA,MACF;AAAA,MACA,IAAI,OAAO,cAAc;AAAA,QAIvB,QAAQ,QAAQ,OAAO;AAAA,QACvB,IAAI,cAAc,KAAK,CAAC,aAAa,SAAS,QAAQ,GAAG,GAAG;AAAA,UAC1D,MAAM,IAAI,MACR,yCAAyC,0BAC3C;AAAA,QACF;AAAA,MACF;AAAA,MACA,OAAO,MACL,OAAO,eACH,CAAC,GAAG,eAAe,OAAO,YAAY,IACtC,eACJ,OAAO,iBACH,CAAC,GAAG,iBAAiB,OAAO,cAAc,IAC1C,eACN;AAAA;AAAA,SAGI,SAAQ,CAAC,OAAgB,KAAyC;AAAA,MAKtE,MAAM,OAAO,IAAI;AAAA,MAEjB,MAAM,QAAqB,CAAC,MAAM,SAAS;AAAA,QACzC,IAAI,CAAC,eAAe,IAAI,GAAG;AAAA,UACzB,OAAO;AAAA,QACT;AAAA,QAEA,MAAM,UAAU,cAAc,KAAK,CAAC,cAClC,UAAU,UAAU,IAAI,CAC1B;AAAA,QACA,IAAI,CAAC,SAAS;AAAA,UAOZ,MAAM,aAAa;AAAA,UACnB,IACE,OAAO,SAAS,YAChB,OAAO,WAAW,WAAW,YAC7B;AAAA,YACA,OAAO,YAAY,WAAW,OAAO,CAAC;AAAA,UACxC;AAAA,UACA,MAAM,QACJ,MAAM,aAAa,SAClB,OAAO,SAAS,aAAa,aAAa,OAAO;AAAA,UACpD,MAAM,IAAI,eACR,sDAAsD,SACtD,IACF;AAAA,QACF;AAAA,QAEA,IAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAAA,UAM7C,MAAM,SAAS,KAAK,IAAI,IAAI;AAAA,UAC5B,IAAI,QAAQ;AAAA,YACV,OAAO,OAAO,KAAK,WAAW;AAAA,UAChC;AAAA,UACA,MAAM,UAAU,QAAQ,QAAQ,QAAQ,UAAU,MAAM,KAAK,IAAI,CAAC;AAAA,UAClE,KAAK,IAAI,MAAM,OAAO;AAAA,UACtB,OAAO,QAAQ,KAAK,WAAW;AAAA,QACjC;AAAA,QAEA,OAAO,QAAQ,QAAQ,QAAQ,UAAU,MAAM,KAAK,IAAI,CAAC,EAAE,KACzD,WACF;AAAA;AAAA,MAGF,MAAM,mBAAmB,MAAM,KAAK,OAAO,KAAK;AAAA,MAEhD,IAAI,OAAO;AAAA,MACX,YAAY,OAAO,YAAY,gBAAgB,QAAQ,GAAG;AAAA,QACxD,MAAM,UAAU,MAAM,QAAQ,aAAa,MAAM,GAAG;AAAA,QACpD,4BAA4B,MAAM,SAAS,KAAK;AAAA,QAChD,OAAO;AAAA,MACT;AAAA,MACA,OAAO;AAAA;AAAA,SAGH,QAAO,CAAC,OAAgB,KAAyC;AAAA,MACrE,MAAM,QAAqB,CAAC,MAAM,SAAS;AAAA,QACzC,IAAI,CAAC,cAAc,IAAI,GAAG;AAAA,UACxB,OAAO;AAAA,QACT;AAAA,QAEA,MAAM,UAAU,cAAc,KAAK,CAAC,cAClC,UAAU,YAAY,IAAI,CAC5B;AAAA,QACA,IAAI,SAAS;AAAA,UAIX,IAAI,QAAQ,aAAa;AAAA,YACvB,OAAO;AAAA,UACT;AAAA,UACA,OAAO,QAAQ,QAAQ,QAAQ,YAAY,MAAM,KAAK,IAAI,CAAC,EAAE,KAC3D,WACF;AAAA,QACF;AAAA,QAEA,IAAI,gBAAgB,IAAI,GAAG;AAAA,UACzB,MAAM,MAAO,KAAiC;AAAA,UAC9C,MAAM,IAAI,eACR,+CAA+C,KAAK,UAAU,GAAG,KACjE,IACF;AAAA,QACF;AAAA,QAEA,OAAO;AAAA;AAAA,MAGT,OAAO,KAAK,OAAO,KAAK;AAAA;AAAA,EAE5B;AAAA,EAEA,OAAO;AAAA;AAST,SAAS,2BAA2B,CAClC,MACA,SACA,cACM;AAAA,EACN,IAAI,CAAC,cAAc,IAAI,GAAG;AAAA,IACxB;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,mBAAmB;AAAA,EACjC,IAAI,CAAC,cAAc,OAAO,GAAG;AAAA,IAC3B,MAAM,IAAI,eACR,GAAG,iGACH,CAAC,CACH;AAAA,EACF;AAAA,EACA,MAAM,SAAS,OAAO,KAAK,IAAI;AAAA,EAC/B,MAAM,QAAQ,IAAI,IAAI,OAAO,KAAK,OAAO,CAAC;AAAA,EAC1C,MAAM,UAAU,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;AAAA,EACtD,MAAM,QAAQ,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO,SAAS,GAAG,CAAC;AAAA,EAC9D,IAAI,QAAQ,SAAS,KAAK,MAAM,SAAS,GAAG;AAAA,IAC1C,MAAM,IAAI,eACR,GAAG,2DAA2D,QAAQ,KACpE,IACF,eAAe,MAAM,KAAK,IAAI,yCAC9B,CAAC,CACH;AAAA,EACF;AAAA;;AC3OK,IAAM,cAAc,kBAAkB,EAC1C,YAAY,0BAA0B,CAAC,EACvC,YAAY,4BAA4B,CAAC,EACzC,YAAY,8BAA8B,CAAC,EAC3C,YAAY,wBAAwB,CAAC;AAEjC,IAAM,UAAU,CACrB,MACA,OAA+B,CAAC,MAEhC,YAAY,QAAQ,MAAM;AAAA,EACxB,OAAO,WAAW;AAAA,EAClB,kBAAkB,KAAK;AACzB,CAAC;AAGI,IAAM,kBAAkB;AAAA,EAC7B,kBAAkB,MAAM;AAAA,IACtB,MAAM,IAAI,MAAM,8BAA8B;AAAA;AAElD;AASO,IAAM,uBAAuB;AAAA,EAClC,kBAAkB,MAAM;AAAA,IACtB,MAAM,IAAI,MACR,gEACF;AAAA;AAEJ;;;ACjDA,MAAM,yBAAyB,MAAM;AAAA,EAGjB;AAAA,EAFlB,WAAW,CACT,SACgB,QAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAFG;AAAA;AAIpB;AAMA,eAAsB,WAAW,CAAC,SAA6B;AAAA,EAC7D,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAEhE,MAAM,aAAa,GAAG,2BAA2B,QAAQ;AAAA,EAEzD,MAAM,WAAW,MAAM,eAAe,YAAY;AAAA,IAChD,QAAQ;AAAA,IACR,SAAS;AAAA,MACP,eAAe,UAAU;AAAA,IAC3B;AAAA,EACF,CAAC;AAAA,EAED,IAAI,CAAC,SAAS,IAAI;AAAA,IAChB,MAAM,IAAI,iBAAiB,MAAM,SAAS,KAAK,GAAG,QAAQ,MAAM;AAAA,EAClE;AAAA;;;AC7BF,cAAS;AAqDT,IAAM,iBAAiB,GAAE,OAAO;AAAA,EAC9B,IAAI,GAAE,KAAK;AAAA,EACX,MAAM,GAAE,QAAQ,CAAC,WAAW,SAAS,MAAM,WAAW,CAAC;AAAA,EACvD,OAAO,GAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAED,IAAM,aAAa,GAAE,OAAO;AAAA,EAC1B,WAAW,GAAE,OAAO,KAAK;AAAA,EACzB,QAAQ,GAAE,KAAK;AAAA,EACf,MAAM,GAAE,OAAO;AAAA,EACf,UAAU,GAAE,KAAK;AACnB,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAG3B,OAAO,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC5B,YAAY,GAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI;AAC9C,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,QAAQ,GAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,YAAY,GAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,aAAa;AAAA,EAC7B,QAAQ,GAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,YAAY,GAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAED,IAAM,sBAAsB,WAAW,OAAO;AAAA,EAC5C,MAAM,GAAE,QAAQ,SAAS;AAAA,EACzB,QAAQ,GAAE,OAAO,GAAE,OAAO,GAAG,GAAE,IAAI,CAAC;AAAA,EACpC,MAAM,GAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,YAAY,GAAE,QAAQ,EAAE,SAAS;AACnC,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM;AACR,CAAC;AAED,IAAM,yBAAyB,WAAW,OAAO;AAAA,EAC/C,MAAM,GAAE,QAAQ,YAAY;AAAA,EAC5B,MAAM;AAAA,EAGN,MAAM,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC3B,QAAQ,GAAE,MAAM,CAAC,GAAE,KAAK,GAAG,GAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM;AAAA,EACN,OAAO,GAAE,OAAO;AAClB,CAAC;AAED,IAAM,wBAAwB,WAAW,OAAO;AAAA,EAC9C,MAAM,GAAE,QAAQ,WAAW;AAAA,EAC3B,MAAM;AAAA,EACN,QAAQ,GAAE,OAAO,EAAE,SAAS;AAC9B,CAAC;AAED,IAAM,sBAAsB,WAAW,OAAO;AAAA,EAC5C,MAAM,GAAE,QAAQ,SAAS;AAAA,EACzB,MAAM;AACR,CAAC;AAED,IAAM,eAAe,GAAE,mBAAmB,QAAQ;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAeM,IAAM,cAAc,GACxB,OAAO,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAE,OAAO,EAAE,CAAC,EAC9C,UAAU,CAAC,WAAW,EAAE,MAAM,MAAM,UAAU,KAAK,MAAM,MAAM,IAAI,EAAE,EAAE,EACvE,KAAK,YAAY;AAEb,IAAM,iBAAiB,GAC3B,IAAI,+BAA+B,EACnC,IAAI,GAAG,mBAAmB,EAC1B,IAAI,GAAG,mBAAmB,EAC1B,QAAQ,CAAC,EAET,UAAU,CAAC,UAAU,KAAK,OAAQ,IAAI,SAAS,KAAM,CAAC,CAAC;;;AXrI1D,MAAM,yBAAyB,MAAM;AAAA,EAGjB;AAAA,EAFlB,WAAW,CACT,SACgB,cAChB;AAAA,IACA,MAAM,OAAO;AAAA,IAFG;AAAA;AAIpB;AAAA;AAEO,MAAM,kBAAkB,iBAAiB;AAAA,EAG5B;AAAA,EACA;AAAA,EAHlB,WAAW,CACT,SACgB,cACA,QAChB;AAAA,IACA,MAAM,SAAS,YAAY;AAAA,IAHX;AAAA,IACA;AAAA;AAIpB;AAaO,SAAS,UAEf,CAAC,SAA+B,UAA0C;AAAA,EACzE,MAAM,qBAAqB,IAAI;AAAA,EAC/B,MAAM,WAAW,eAAe,MAAM,QAAQ,QAAQ;AAAA,EACtD,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAEhE,MAAM,aAAa,GAAG,2BAA2B,QAAQ;AAAA,EAEzD,MAAM,8BAA8B,QAAQ,cAGzC;AAAA,EAEH,IAAI,eAAe;AAAA,EACnB,MAAM,kBAAkB,YAAY;AAAA,IAClC,IAAI,cAAc;AAAA,MAChB;AAAA,IACF;AAAA,IAEA,eAAe;AAAA,IACf,MAAM,UAAU,MAAM,4BAA4B;AAAA,IAElD,IAAI,CAAC,QAAQ,MAAM;AAAA,MACjB,2BAA2B,QAAQ;AAAA,QACjC,OAAO,QAAQ;AAAA,QACf,QAAQ,QAAQ;AAAA,QAChB,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,WAAW,CAAC,QAAQ;AAAA,UAClB,OAAO;AAAA;AAAA,QAET,YAAY,CAAC,QAAQ;AAAA,UACnB,OAAO;AAAA;AAAA,MAEX,CAAc;AAAA,MACd;AAAA,IACF;AAAA,IAEA,MAAM,cAKF,EAAE,OAAO,MAAM,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,QAAQ,KAAK;AAAA,IAEtD,IAAI,QAAqB;AAAA,IACzB,IAAI,eAA8B;AAAA,IAClC,IAAI;AAAA,IAEJ,IAAI,aAA4B,QAAQ,QAAQ;AAAA,IAChD,MAAM,cAAyB,OAAO,KAAK,SAAS;AAAA,MAClD,MAAM,WAAW,MAAM,MAAM,KAAK,IAAI;AAAA,MACtC,eAAe;AAAA,MACf,OAAO;AAAA;AAAA,IAET,MAAM,cAAc,kBAAkB;AAAA,MACpC,QAAQ;AAAA,MACR,OAAO;AAAA,MACP,KAAK,QAAQ,KAAK;AAAA,MAClB,SAAS;AAAA,QACP,eAAe,UAAU;AAAA,QACzB,gBAAgB;AAAA,MAClB;AAAA,UACI,IAAI,GAAG;AAAA,QACT,OAAO,KAAK,UAAU;AAAA,UACpB,OAAO,QAAQ,MAAM,YAAY,IAAI;AAAA,UACrC;AAAA,QACF,CAAC;AAAA;AAAA,MAEH,mBAAmB,GAAG;AAAA,QAIpB,IAAI,iBAAiB,MAAM;AAAA,UACzB,QAAQ,IAAI;AAAA,QACd;AAAA;AAAA,WAEI,aAAY,GAAG;AAAA,QACnB,IAAI,cAAc,WAAW,KAAK;AAAA,UAChC,YAAY,MAAM;AAAA,UAClB;AAAA,QACF;AAAA,QAKA,IAAI,gBAAgB,oBAAoB,aAAa,MAAM,GAAG;AAAA,UAC5D,YAAY,MAAM;AAAA,UAClB,2BAA2B,OACzB,IAAI,yBAAyB,aAAa,MAAM,CAClD;AAAA,QACF;AAAA;AAAA,MAEF,SAAS,GAAG,IAAI,OAAO,QAAQ;AAAA,QAC7B,IAAI,IAAI;AAAA,UACN,eAAe,OAAO,EAAE;AAAA,QAC1B;AAAA,QAEA,MAAM,eAAe,YAAY,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,QAE1D,IAAI,CAAC,aAAa,SAAS;AAAA,UACzB,YAAY,MAAM;AAAA,UAClB,2BAA2B,OACzB,IAAI,UACF,WAAW,yBACX,QAAQ,cACR,QAAQ,MACV,CACF;AAAA,UACA;AAAA,QACF;AAAA,QAEA,MAAM,SAAS,aAAa;AAAA,QAK5B,aAAa,WACV,KAAK,MAAM,YAAY,MAAM,CAAC,EAC9B,MAAM,CAAC,UAAmB;AAAA,UACzB,YAAY,MAAM;AAAA,UAClB,2BAA2B,OACzB,IAAI,UACF,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACrD,QAAQ,cACR,QAAQ,MACV,CACF;AAAA,SACD;AAAA;AAAA,IAEP,CAAC;AAAA,IAED,eAAe,WAAW,CACxB,QACe;AAAA,MACf,QAAQ,OAAO;AAAA,aACR,aAAa;AAAA,UAChB,YAAY,QAAQ,MAAM,QAAQ,OAAO,OAAO,eAAe;AAAA,UAC/D;AAAA,QACF;AAAA,aACK,cAAc;AAAA,UACjB,IAAI,OAAO,KAAK,OAAO;AAAA,YACrB,YAAY,KAAK,OAAO,KAAK,SAAS,MAAM,QAC1C,OAAO,MACP,oBACF;AAAA,UACF;AAAA,UACA;AAAA,QACF;AAAA,aACK,aAAa;AAAA,UAChB,IAAI,OAAO,KAAK,OAAO;AAAA,YACrB,YAAY,OAAO,OAAO,KAAK,SAAS,OAAO;AAAA,UACjD;AAAA,UACA;AAAA,QACF;AAAA,aACK,WAAW;AAAA,UACd,YAAY,SAAS,MAAM,QACzB,OAAO,QACP,oBACF;AAAA,UACA,YAAY,MAAM;AAAA,UAClB,IAAI,OAAO,YAAY;AAAA,YACrB,QAAQ;AAAA,cACN,QAAQ,QAAQ;AAAA,cAChB,aAAa,QAAQ;AAAA,YACvB,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,UACnB;AAAA,UACA;AAAA,QACF;AAAA,aACK;AAAA,aACA,eAAe;AAAA,UAClB,YAAY,MAAM;AAAA,UAClB,IAAI,OAAO,YAAY;AAAA,YACrB,QAAQ;AAAA,cACN,QAAQ,QAAQ;AAAA,cAChB,aAAa,QAAQ;AAAA,YACvB,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,UACnB;AAAA,UACA;AAAA,QACF;AAAA;AAAA,MAGF,MAAM,UAAsC;AAAA,QAC1C,QAAQ,OAAO;AAAA,QACf,OAAO,YAAY;AAAA,QACnB,WAAW,CAAC,OAAO;AAAA,UACjB,OAAO,YAAY,KAAK,UAAU;AAAA;AAAA,QAEpC,YAAY,CAAC,OAAO;AAAA,UAClB,OAAO,YAAY,OAAO,UAAU;AAAA;AAAA,QAEtC,QAAQ,YAAY;AAAA,MACtB;AAAA,MAEA,MAAM,gBAAgB;AAAA,WACjB;AAAA,QACH;AAAA,MACF;AAAA,MAEA,IAAI,cAAc,SAAS,WAAW;AAAA,QACpC,2BAA2B,QAAQ;AAAA,aAC9B;AAAA,UACH,SAAS,QAAQ,MAAM,QAAQ;AAAA,QACjC,CAAc;AAAA,MAChB;AAAA,MAEA,IACE,cAAc,SAAS,eACvB,cAAc,SAAS,eACvB;AAAA,QACA,2BAA2B,OACzB,IAAI,UACF,cAAc,WACX,cAAc,SAAS,cACpB,gBACA,iBACN,QAAQ,cACR,QAAQ,MACV,CACF;AAAA,MACF;AAAA,MAEA,mBAAmB,QAAQ,CAAC,YAC1B,QAAQ,aAA0B,CACpC;AAAA;AAAA;AAAA,EAIJ,MAAM,6BAA6B,QAAQ,cAAsB;AAAA,EAMjE,MAAM,qCAAqC,QAAQ,cAAsB;AAAA,EACzE,mCAAmC,QAAQ,MAAM,MAAM,EAAE;AAAA,EACzD,MAAM,8BAA8B,QAAQ,cAA6B;AAAA,EACzE,MAAM,6BAA6B,QAAQ,cAAyB;AAAA,EAEpE,IAAI,sBAAsB;AAAA,EAC1B,IAAI,uBAAuB;AAAA,GAEzB,YAAY;AAAA,IACZ,IAAI;AAAA,MACF,MAAM,kBAAkB,MAAM,eAAe,YAAY;AAAA,QACvD,QAAQ;AAAA,QACR,SAAS;AAAA,UACP,eAAe,UAAU;AAAA,QAC3B;AAAA,MACF,CAAC;AAAA,MAED,IAAI,CAAC,gBAAgB,IAAI;AAAA,QACvB,MAAM,QAAQ,IAAI,iBAChB,MAAM,gBAAgB,KAAK,GAC3B,QAAQ,YACV;AAAA,QAEA,mCAAmC,OAAO,KAAK;AAAA,QAC/C,IAAI,qBAAqB;AAAA,UACvB,2BAA2B,OAAO,KAAK;AAAA,QACzC;AAAA,QACA,IAAI,sBAAsB;AAAA,UACxB,4BAA4B,OAAO,KAAK;AAAA,QAC1C;AAAA,QACA,IAAI,cAAc;AAAA,UAChB,2BAA2B,OAAO,KAAK;AAAA,QACzC;AAAA,QACA;AAAA,MACF;AAAA,MAEA,MAAM,cAAe,MAAM,gBAAgB,KAAK;AAAA,MAQhD,IAAI,YAAY,WAAW,UAAU,CAAC,QAAQ,uBAAuB;AAAA,QACnE,eAAO,KAAK,wBAAwB,YAAY,gBAAgB;AAAA,MAClE;AAAA,MAEA,mCAAmC,QAAQ,YAAY,MAAM;AAAA,MAG7D,MAAM,aAAa,QAAQ,cAAoB;AAAA,MAE/C,WAAW,QAAQ,MAAM,MAAM,EAAE;AAAA,MAEjC,IAAI;AAAA,MACJ,IAAI;AAAA,QACF,QAAQ,OAAO,SAAS,MAAM,oBAAoB,MAChD,YAAY,SACV;AAAA,UACE,MAAM,QAAQ;AAAA,UACd,OAAO,QAAQ;AAAA,UACf;AAAA,UACA,YAAY,QAAQ,cAAc;AAAA,QACpC,GACA;AAAA,UACE,OAAO,WAAW;AAAA,UAClB,WAAW,YAAY,UAAU;AAAA,UACjC,WAAW,YAAY,UAAU;AAAA,UACjC,gBAAgB,YAAY,QAAQ;AAAA,UACpC,aAAa,YAAY,QAAQ;AAAA,QACnC,CACF,CACF;AAAA,QACA,eAAe;AAAA,QACf,KAAK,KACH,MAAM,WAAW,QAAQ,GACzB,CAAC,UACC,WAAW,OACT,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,KAAK,CAAC,CAC1D,CACJ;AAAA,QACA,OAAO,OAAO;AAAA,QAEd,MAAM,YAAY,IAAI,UACpB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACrD,QAAQ,cACR,YAAY,MACd;AAAA,QACA,IAAI,qBAAqB;AAAA,UACvB,2BAA2B,OAAO,SAAS;AAAA,QAC7C;AAAA,QACA,IAAI,sBAAsB;AAAA,UACxB,4BAA4B,OAAO,SAAS;AAAA,QAC9C;AAAA,QACA,IAAI,cAAc;AAAA,UAChB,2BAA2B,OAAO,SAAS;AAAA,QAC7C;AAAA,QACA;AAAA;AAAA,MAGF,MAAM,mBAAmB,MAAM,eAAe,YAAY,aAAa;AAAA,QACrE,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU,YAAY;AAAA,QACjC,SAAS;AAAA,UACP,eAAe,UAAU;AAAA,UACzB,gBAAgB;AAAA,QAClB;AAAA,MACF,CAAC;AAAA,MAED,IAAI,CAAC,iBAAiB,IAAI;AAAA,QACxB,MAAM,QAAQ,IAAI,UAChB,MAAM,iBAAiB,KAAK,GAC5B,QAAQ,cACR,YAAY,MACd;AAAA,QACA,IAAI,qBAAqB;AAAA,UACvB,2BAA2B,OAAO,KAAK;AAAA,QACzC;AAAA,QACA,IAAI,sBAAsB;AAAA,UACxB,4BAA4B,OAAO,KAAK;AAAA,QAC1C;AAAA,QACA,IAAI,cAAc;AAAA,UAChB,2BAA2B,OAAO,KAAK;AAAA,QACzC;AAAA,QACA;AAAA,MACF;AAAA,MAKA,IAAI;AAAA,QACF,MAAM,WAAW;AAAA,QACjB,OAAO,OAAO;AAAA,QACd,MAAM,YAAY,IAAI,UACpB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GACrD,QAAQ,cACR,YAAY,MACd;AAAA,QACA,IAAI,qBAAqB;AAAA,UACvB,2BAA2B,OAAO,SAAS;AAAA,QAC7C;AAAA,QACA,IAAI,sBAAsB;AAAA,UACxB,4BAA4B,OAAO,SAAS;AAAA,QAC9C;AAAA,QACA,IAAI,cAAc;AAAA,UAChB,2BAA2B,OAAO,SAAS;AAAA,QAC7C;AAAA,QACA;AAAA;AAAA,MAGF,MAAM,UAAW,MAAM,iBAAiB,KAAK;AAAA,MAQ7C,2BAA2B,QAAQ,YAAY,MAAM;AAAA,MACrD,4BAA4B,QAAQ,QAAQ,MAAM,QAAQ,IAAI;AAAA,MAC9D,4BAA4B,QAAQ,OAAO;AAAA,MAC3C,IAAI,UAAU;AAAA,QACZ,mBAAmB,IAAI,QAAQ;AAAA,QAC/B,gBAAgB;AAAA,MAClB;AAAA,MACA,OAAO,OAAO;AAAA,MAOd,mCAAmC,OAAO,KAAK;AAAA,MAC/C,IAAI,qBAAqB;AAAA,QACvB,2BAA2B,OAAO,KAAK;AAAA,MACzC;AAAA,MACA,IAAI,sBAAsB;AAAA,QACxB,4BAA4B,OAAO,KAAK;AAAA,MAC1C;AAAA,MACA,IAAI,cAAc;AAAA,QAChB,2BAA2B,OAAO,KAAK;AAAA,MACzC;AAAA;AAAA,KAED;AAAA,EAEH,MAAM,gBAAgB,wBACpB,CAAC,MAAM,OAAO,SAAS;AAAA,IACrB,MAAM,eAAe,CAAC,WAAsB;AAAA,MAC1C,KAAK,MAAM;AAAA,MACX,IACE,OAAO,SAAS,aAChB,OAAO,SAAS,eAChB,OAAO,SAAS,eAChB;AAAA,QACA,KAAK;AAAA,QACL,mBAAmB,OAAO,YAAY;AAAA,MACxC;AAAA;AAAA,IAEF,mBAAmB,IAAI,YAAY;AAAA,IAEnC,gBAAgB;AAAA,IAEhB,OAAO,MAAM;AAAA,MACX,mBAAmB,OAAO,YAAY;AAAA;AAAA,GAG5C;AAAA,EAEA,MAAM,UAAU;AAAA,QACV,KAAK,GAAG;AAAA,MACV,gBAAgB;AAAA,MAChB,OAAO,2BAA2B,QAAQ,MAAM,KAC9C,2BAA2B,OAC7B;AAAA;AAAA,QAEE,OAAO,GAAG;AAAA,MACZ,gBAAgB;AAAA,MAChB,OAAO,2BAA2B,QAAQ,QAAQ,KAChD,2BAA2B,OAC7B;AAAA;AAAA,QAEE,IAAI,GAAG;AAAA,MACT,gBAAgB;AAAA,MAChB,OAAO,2BAA2B,QAAQ,KAAK,KAC7C,2BAA2B,OAC7B;AAAA;AAAA,SAEI,UAAS,GAAG;AAAA,MAChB,sBAAsB;AAAA,MACtB,OAAO,2BAA2B;AAAA;AAAA,SAE9B,WAAU,GAAG;AAAA,MACjB,uBAAuB;AAAA,MACvB,OAAO,4BAA4B;AAAA;AAAA,SAE/B,MAAK,CAAC,QAAiB;AAAA,MAC3B,MAAM,SAAS,MAAM,mCAAmC;AAAA,MACxD,MAAM,UAAU;AAAA,QACd;AAAA,QACA,aAAa,QAAQ;AAAA,QACrB;AAAA,MACF,CAAC;AAAA;AAAA,SAEG,QAAO,GAAG;AAAA,MACd,MAAM,SAAS,MAAM,mCAAmC;AAAA,MACxD,MAAM,YAAY;AAAA,QAChB;AAAA,QACA,aAAa,QAAQ;AAAA,MACvB,CAAC;AAAA;AAAA,EAEL;AAAA,EAEA,OAAO,OAAO,iBACZ,eACA,OAAO,0BAA0B,OAAO,CAC1C;AAAA;;AYpiBF,8BAAyB;AAiClB,SAAS,UAAU,CAAC,SAA4B;AAAA,EACrD,QAAQ,YAAY,UAAU,eAAe,QAAQ,WAAW;AAAA,EAChE,MAAM,qBAAqB,IAAI;AAAA,EAE/B,IAAI,QAAQ,UAAU;AAAA,IACpB,mBAAmB,IAAI,QAAQ,QAAQ;AAAA,EACzC;AAAA,EAEA,MAAM,cAAc,IAAI;AAAA,EAYxB,IAAI,YAAY,QAAQ;AAAA,EACxB,IAAI,eAA8B;AAAA,EAClC,IAAI;AAAA,EAEJ,IAAI,aAA4B,QAAQ,QAAQ;AAAA,EAChD,MAAM,cAAyB,OAAO,KAAK,SAAS;AAAA,IAClD,MAAM,WAAW,MAAM,MAAM,KAAK,IAAI;AAAA,IACtC,eAAe;AAAA,IACf,OAAO;AAAA;AAAA,EAGT,MAAM,cAAc,mBAAkB;AAAA,IACpC,KAAK,IAAI,IAAI,GAAG,2BAA2B;AAAA,IAC3C,OAAO;AAAA,IACP,SAAS;AAAA,MACP,eAAe,UAAU;AAAA,MACzB,gBAAgB;AAAA,IAClB;AAAA,QACI,IAAI,GAAG;AAAA,MACT,OAAO,KAAK,UAAU;AAAA,QACpB,OAAO,UAAU,YAAY;AAAA,QAC7B;AAAA,QACA,QAAQ,QAAQ;AAAA,MAClB,CAAC;AAAA;AAAA,IAEH,QAAQ;AAAA,IACR,mBAAmB,GAAG;AAAA,MAIpB,IAAI,iBAAiB,MAAM;AAAA,QACzB,YAAY,IAAI;AAAA,MAClB;AAAA,MACA,QAAQ,iBAAiB;AAAA;AAAA,IAE3B,SAAS,GAAG;AAAA,MACV,QAAQ,YAAY;AAAA;AAAA,SAEhB,aAAY,GAAG;AAAA,MACnB,IAAI,cAAc;AAAA,QAChB,IAAI,oBAAoB,aAAa,MAAM,GAAG;AAAA,UAC5C,QAAQ,gBACN,IAAI,yBAAyB,aAAa,MAAM,CAClD;AAAA,QACF;AAAA,QACA,QAAQ,UAAU,aAAa,QAAQ,aAAa,UAAU;AAAA,MAChE;AAAA;AAAA,IAEF,SAAS,GAAG,IAAI,OAAO,QAAQ;AAAA,MAC7B,IAAI,IAAI;AAAA,QACN,eAAe,OAAO,EAAE;AAAA,MAC1B;AAAA,MAEA,MAAM,eAAe,YAAY,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAE1D,IAAI,CAAC,aAAa,SAAS;AAAA,QACzB,YAAY,MAAM;AAAA,QAClB,MAAM,IAAI,MAAM,gBAAgB;AAAA,MAClC;AAAA,MAEA,MAAM,SAAS,aAAa;AAAA,MAK5B,aAAa,WACV,KAAK,MAAM,YAAY,QAAQ,EAAE,CAAC,EAClC,MAAM,MAAM;AAAA,QACX,YAAY,MAAM;AAAA,OACnB;AAAA;AAAA,EAEP,CAAC;AAAA,EAED,eAAe,WAAW,CACxB,QACA,UACe;AAAA,IACf,IAAI,CAAC,YAAY,IAAI,OAAO,MAAM,GAAG;AAAA,MACnC,YAAY,IAAI,OAAO,QAAQ;AAAA,QAC7B,OAAO;AAAA,QACP,MAAM,CAAC;AAAA,QACP,QAAQ,CAAC;AAAA,QACT,QAAQ;AAAA,QACR,YAAY;AAAA,QACZ,YAAY;AAAA,MACd,CAAC;AAAA,IACH;AAAA,IAEA,MAAM,eAAe,YAAY,IAAI,OAAO,MAAM;AAAA,IAElD,QAAQ,OAAO;AAAA,WACR,aAAa;AAAA,QAChB,aAAa,QAAQ,MAAM,QAAQ,OAAO,OAAO,eAAe;AAAA,QAChE,aAAa,aAAa;AAAA,QAC1B,aAAa,aAAa,OAAO;AAAA,QACjC;AAAA,MACF;AAAA,WACK,cAAc;AAAA,QACjB,IAAI,OAAO,KAAK,OAAO;AAAA,UACrB,aAAa,KAAK,OAAO,KAAK,SAAS,MAAM,QAC3C,OAAO,MACP,oBACF;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,WACK,aAAa;AAAA,QAChB,IAAI,OAAO,KAAK,OAAO;AAAA,UACrB,aAAa,OAAO,OAAO,KAAK,SAAS,OAAO;AAAA,QAClD;AAAA,QACA;AAAA,MACF;AAAA,WAEK,WAAW;AAAA,QACd,aAAa,SAAS,MAAM,QAAQ,OAAO,QAAQ,oBAAoB;AAAA,QACvE,YAAY,OAAO,OAAO,MAAM;AAAA,QAChC,IAAI,OAAO,YAAY;AAAA,UACrB,QAAQ;AAAA,YACN,QAAQ,OAAO;AAAA,YACf,aAAa,QAAQ;AAAA,UACvB,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,QACnB;AAAA,QACA;AAAA,MACF;AAAA,WACK;AAAA,WACA,eAAe;AAAA,QAClB,YAAY,OAAO,OAAO,MAAM;AAAA,QAChC,IAAI,OAAO,YAAY;AAAA,UACrB,QAAQ;AAAA,YACN,QAAQ,OAAO;AAAA,YACf,aAAa,QAAQ;AAAA,UACvB,CAAC,EAAE,MAAM,MAAM,EAAE;AAAA,QACnB;AAAA,QACA;AAAA,MACF;AAAA;AAAA,IAGF,MAAM,UAAsC;AAAA,MAC1C,QAAQ,OAAO;AAAA,MACf,OAAO,aAAa;AAAA,MACpB,WAAW,CAAC,OAAO;AAAA,QACjB,OAAO,aAAa,KAAK,UAAU;AAAA;AAAA,MAErC,YAAY,CAAC,OAAO;AAAA,QAClB,OAAO,aAAa,OAAO,UAAU;AAAA;AAAA,MAEvC,QAAQ,aAAa;AAAA,IACvB;AAAA,IAEA,MAAM,gBAAgB;AAAA,SACjB;AAAA,MACH;AAAA,MACA;AAAA,MACA,YAAY,aAAa;AAAA,MACzB,YAAY,aAAa;AAAA,IAC3B;AAAA,IAEA,mBAAmB,QAAQ,CAAC,YAC1B,QAAQ,aAA4B,CACtC;AAAA;AAAA,EAGF,MAAM,gBAAgB,wBAAqC,CAAC,SAAS;AAAA,IACnE,mBAAmB,IAAI,IAAI;AAAA,IAC3B,OAAO,MAAM;AAAA,MACX,mBAAmB,OAAO,IAAI;AAAA;AAAA,GAEjC;AAAA,EAED,MAAM,eAAe,MAAM;AAAA,IACzB,YAAY,MAAM;AAAA;AAAA,EAGpB,OAAO,OAAO,OAAO,cAAc,aAAa;AAAA;;ACnOlD,cAAS;AAOT,IAAM,aAAa,GAAE,OAAO;AAAA,EAC1B,QAAQ,GAAE,QAAQ;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EACD,YAAY,GAAE,OAAO,EAAE,SAAS;AAAA,EAKhC,OAAO,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC5B,QAAQ,GAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,cAAc,GAAE,OAAO;AAAA,EACvB,MAAM,GAAE,OAAO;AAAA,EACf,WAAW,GAAE,MACX,GAAE,OAAO,EAAE,OAAO,GAAE,OAAO,GAAG,MAAM,GAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAC9D;AAAA,EACA,YAAY,GAAE,MAAM,GAAE,OAAO,EAAE,OAAO,GAAE,OAAO,GAAG,OAAO,GAAE,OAAO,EAAE,CAAC,CAAC;AAAA,EACtE,QAAQ,GAAE,MAAM,CAAC,GAAE,QAAQ,MAAM,GAAG,GAAE,OAAO,CAAC,CAAC;AAGjD,CAAC;AAOD,eAAsB,OAAO,CAAC,iBAA0C;AAAA,EACtE,MAAM,SACJ,OAAO,oBAAoB,WACvB,kBACA,gBAAgB;AAAA,EACtB,QAAQ,YAAY,UAAU,eAC5B,OAAO,oBAAoB,WACvB,YACA,gBAAgB,WACtB;AAAA,EAEA,MAAM,WAAW,MAAM,eACrB,IAAI,IAAI,GAAG,mBAAmB,QAAQ,GACtC;AAAA,IACE,SAAS;AAAA,MACP,eAAe,UAAU;AAAA,IAC3B;AAAA,EACF,CACF;AAAA,EAEA,IAAI,CAAC,SAAS,IAAI;AAAA,IAChB,MAAM,IAAI,MAAM,gBAAgB;AAAA,EAClC;AAAA,EAEA,MAAM,WAAW,WAAW,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,EAGvD,OAAO,OAAO,QAAQ,aAAa,MAAM,QAAQ,IAAI;AAAA,IACnD,QAAQ,SAAS,OAAO,eAAe;AAAA,IACvC,QAAQ,SAAS,QAAQ,oBAAoB;AAAA,IAC7C,QAAQ,IACN,SAAS,UAAU,IAAI,SAAS,OAAO,YAAY;AAAA,MACjD;AAAA,MACA,MAAM,MAAM,QAAQ,MAAM,oBAAoB;AAAA,IAChD,EAAE,CACJ;AAAA,EACF,CAAC;AAAA,EAED,MAAM,UAAsC;AAAA,IAC1C;AAAA,IACA;AAAA,IACA,WAAW,CAAC,OAAO;AAAA,MACjB,OAAO,UAAU,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,QAAQ;AAAA;AAAA,IAE3D,YAAY,CAAC,OAAO;AAAA,MAClB,OAAO,SAAS,WAAW,KAAK,CAAC,MAAM,EAAE,UAAU,KAAK,GAAG,SAAS;AAAA;AAAA,IAEtE;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,QAAQ,SAAS;AAAA,IACjB,YAAY,SAAS;AAAA,IACrB,cAAc,SAAS;AAAA,IACvB,MAAM,SAAS;AAAA,IACf,QAAQ,SAAS;AAAA,IACjB;AAAA,EACF;AAAA;;ACxFF,eAAsB,YAAY,CAChC,SACA,UACA;AAAA,EACA,MAAM,OAAO,MAAM,QAAQ,QAAQ,MAAM;AAAA,EACzC,OAAO,WACL;AAAA,IACE,cAAc,KAAK;AAAA,IACnB,aAAa,QAAQ;AAAA,IACrB,MAAM,QAAQ,QAAQ,KAAK;AAAA,IAC3B,UAAU,QAAQ;AAAA,IAClB,OAAO,KAAK,QAAQ;AAAA,EACtB,GACA,QACF;AAAA;",
37
+ "debugId": "6CDBE00ED7DF23AA64756E2164756E21",
38
38
  "names": []
39
39
  }
@@ -48,7 +48,22 @@ declare const callbackObjectSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
48
48
  export type CallbackObject = z.infer<typeof callbackObjectSchema>;
49
49
  export type CallbackLifetime = CallbackObject['lifetime'];
50
50
  export declare function isCallbackObject(data: unknown): data is CallbackObject;
51
- export type RequenceCallback<T> = (arg: T) => void;
51
+ /**
52
+ * A callback as its consumer calls it.
53
+ *
54
+ * The argument is OPTIONAL exactly when `null` is one of the things it accepts,
55
+ * which is how a callback that carries no data is declared: `void` compiles to
56
+ * nothing a JSON schema can hold and `undefined` silently drops the `callback`
57
+ * marker, so `RequenceCallback<null>` is the only spelling for it (#147). Making
58
+ * the caller write that `null` out was the schema's limitation leaking into every
59
+ * call site — `context.input.mail.delete()` now says the same thing.
60
+ *
61
+ * The tuple is what carries the optionality: a conditional on the parameter type
62
+ * alone cannot change the ARITY, and the arity is the whole point. A callback
63
+ * that does take data is untouched — `null extends string` is false, so its
64
+ * argument stays required and a forgotten one is still an error.
65
+ */
66
+ export type RequenceCallback<T> = (...args: null extends T ? [arg?: T] : [arg: T]) => void;
52
67
  export type WrappedRequenceCallback<T> = RequenceCallback<T> & {
53
68
  response(): Promise<T>;
54
69
  };
@@ -163,5 +178,47 @@ export declare const durableCallbackInvocationSchema: z.ZodObject<{
163
178
  configuration: z.ZodOptional<z.ZodUnknown>;
164
179
  }, z.core.$strip>;
165
180
  export type DurableCallbackInvocation = z.infer<typeof durableCallbackInvocationSchema>;
181
+ /**
182
+ * How long a reported durable callback failure may be.
183
+ *
184
+ * The same cut, for the same reason, as a surface interaction failure's
185
+ * (`MAX_SURFACE_INTERACTION_ERROR_CHARS`): a thrown error's message is
186
+ * author-supplied text of no bounded length, and its first characters are where
187
+ * the cause is. Truncated rather than rejected — a long message is still the most
188
+ * useful thing anyone has about the failure.
189
+ */
190
+ export declare const MAX_DURABLE_CALLBACK_ERROR_CHARS = 500;
191
+ /**
192
+ * The header a **durable callback failure report** is stamped with, so the
193
+ * operator can tell it from an ordinary service result.
194
+ *
195
+ * The counterpart of `DURABLE_CALLBACK_INVOCATION_HEADER`, which covers an
196
+ * invocation nobody CONSUMED. This one covers one that was consumed and could not
197
+ * be run: an unknown declaration name, or a handler that threw. Only the
198
+ * consuming instance can see either, and until this existed it said so in its own
199
+ * stdout and nowhere a template author looks — a failed `mail.delete()` read
200
+ * exactly like a delete that did nothing.
201
+ *
202
+ * Carries no correlation id and no index, like every other side-channel report on
203
+ * that path: the handler was not running for a message of the operator's, so it
204
+ * takes no place in an ordered dispatch buffer and every other arm there would
205
+ * fail the node for it. A callback the graph chose to call is not the node's
206
+ * failure.
207
+ */
208
+ export declare const DURABLE_CALLBACK_ERROR_HEADER = "durableCallbackError";
209
+ /**
210
+ * One durable callback failure, as the service that could not run it reports it.
211
+ *
212
+ * The failing party writes the sentence: only it knows whether the name was
213
+ * unknown or the handler threw, and only it can quote the error. `nodeId` is the
214
+ * emitting node the report is shown on — the same way back the invocation carried
215
+ * in; the task rides in the header, as it does for a surface report.
216
+ */
217
+ export declare const durableCallbackErrorReportSchema: z.ZodObject<{
218
+ nodeId: z.ZodString;
219
+ name: z.ZodString;
220
+ message: z.ZodString;
221
+ }, z.core.$strip>;
222
+ export type DurableCallbackErrorReport = z.infer<typeof durableCallbackErrorReportSchema>;
166
223
  export {};
167
224
  //# sourceMappingURL=requenceCallback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requenceCallback.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/requenceCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAA;AAIvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;+BAoDxB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;AAEzD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAEtE;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAA;AAClD,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAC7D,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;CACvB,CAAA;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAC1B,uBAAuB,CAAC,CAAC,CAAC,CAa5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAWD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAChD,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC,GAAG,CAAC,CAmBvB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,sBAAsB,GAAG,SAAS,CAYpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAiBD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kCAAkC,QAAS,CAAA;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gCAAgC;aAC3C,UAAU;aACV,kBAAkB,EAAE,OAAO;CACnB,CAAA;AAEV;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kCAAkC,8BAA8B,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;;;;;iBAkC1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAA"}
1
+ {"version":3,"file":"requenceCallback.d.ts","sourceRoot":"","sources":["../../../../../../helpers/src/utils/requenceCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAA;AAIvD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;+BAoDxB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAA;AAEzD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,cAAc,CAEtE;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAChC,GAAG,IAAI,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,KAC3C,IAAI,CAAA;AACT,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAC7D,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;CACvB,CAAA;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAC1B,uBAAuB,CAAC,CAAC,CAAC,CAkB5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB;AAWD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAChD,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAAC,GAAG,CAAC,CAmBvB;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,sBAAsB,GAAG,SAAS,CAYpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEtE;AAiBD,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kCAAkC,QAAS,CAAA;AAExD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gCAAgC;aAC3C,UAAU;aACV,kBAAkB,EAAE,OAAO;CACnB,CAAA;AAEV;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kCAAkC,8BAA8B,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;;;;;iBAiC1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,MAAM,CAAA;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,6BAA6B,yBAAyB,CAAA;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC;;;;iBAI3C,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@requence/task",
3
3
  "type": "module",
4
- "version": "0.8.2-edge.1190",
4
+ "version": "0.8.2",
5
5
  "bin": {
6
6
  "requence-task": "build/cli.js"
7
7
  },