@requence/task 0.8.2-edge.1156 → 0.8.2-edge.1157
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/build/index.js
CHANGED
|
@@ -477,16 +477,46 @@ function isClaimCheckObject(data) {
|
|
|
477
477
|
|
|
478
478
|
// ../helpers/src/utils/requenceCallback.ts
|
|
479
479
|
import { z as z4 } from "zod/v4";
|
|
480
|
-
var
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
480
|
+
var REQUENCE_CALLBACK_TAG = "RequenceCallback";
|
|
481
|
+
var callbackPathSchema = z4.array(z4.union([z4.string(), z4.int()]));
|
|
482
|
+
var callbackObjectSchema = z4.discriminatedUnion("lifetime", [
|
|
483
|
+
z4.object({
|
|
484
|
+
__REQUENCE_type: z4.literal(REQUENCE_CALLBACK_TAG),
|
|
485
|
+
lifetime: z4.literal("connection"),
|
|
486
|
+
outputName: z4.string().nullable(),
|
|
487
|
+
propertyPath: callbackPathSchema,
|
|
488
|
+
sourceId: z4.string(),
|
|
489
|
+
callbackId: z4.uuid()
|
|
490
|
+
}),
|
|
491
|
+
z4.object({
|
|
492
|
+
__REQUENCE_type: z4.literal(REQUENCE_CALLBACK_TAG),
|
|
493
|
+
lifetime: z4.literal("durable"),
|
|
494
|
+
outputName: z4.string().nullable(),
|
|
495
|
+
propertyPath: callbackPathSchema,
|
|
496
|
+
name: z4.string(),
|
|
497
|
+
nodeId: z4.string(),
|
|
498
|
+
bound: z4.unknown().optional()
|
|
499
|
+
})
|
|
500
|
+
]);
|
|
487
501
|
function isCallbackObject(data) {
|
|
488
502
|
return callbackObjectSchema.safeParse(data).success;
|
|
489
503
|
}
|
|
504
|
+
var DURABLE_CALLBACK_BINDING = Symbol.for("requence.durableCallbackBinding");
|
|
505
|
+
function readDurableCallbackBinding(value) {
|
|
506
|
+
if (typeof value !== "function") {
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
const binding = value[DURABLE_CALLBACK_BINDING];
|
|
510
|
+
return typeof binding === "object" && binding !== null && typeof binding.name === "string" ? binding : undefined;
|
|
511
|
+
}
|
|
512
|
+
var durableCallbackInvocationSchema = z4.object({
|
|
513
|
+
taskId: z4.uuid(),
|
|
514
|
+
nodeId: z4.string(),
|
|
515
|
+
name: z4.string(),
|
|
516
|
+
bound: z4.unknown().optional(),
|
|
517
|
+
arg: z4.unknown().optional(),
|
|
518
|
+
configuration: z4.unknown().optional()
|
|
519
|
+
});
|
|
490
520
|
|
|
491
521
|
// ../files/src/handlers/transport.ts
|
|
492
522
|
async function assertOk(res, url, phase) {
|
|
@@ -833,17 +863,33 @@ async function ackTask(options) {
|
|
|
833
863
|
// ../callbacks/src/handler.ts
|
|
834
864
|
function createRequenceCallbackHandler() {
|
|
835
865
|
return {
|
|
836
|
-
tag:
|
|
866
|
+
tag: REQUENCE_CALLBACK_TAG,
|
|
837
867
|
canHandle: (value) => typeof value === "function",
|
|
838
868
|
serialize(callback, ctx, path) {
|
|
869
|
+
const binding = readDurableCallbackBinding(callback);
|
|
870
|
+
if (binding) {
|
|
871
|
+
if (!ctx.nodeId) {
|
|
872
|
+
throw new Error(`durable callback "${binding.name}" cannot be emitted on this boundary (no ctx.nodeId) at path "${path.join(".")}"`);
|
|
873
|
+
}
|
|
874
|
+
return {
|
|
875
|
+
__REQUENCE_type: REQUENCE_CALLBACK_TAG,
|
|
876
|
+
lifetime: "durable",
|
|
877
|
+
name: binding.name,
|
|
878
|
+
nodeId: ctx.nodeId,
|
|
879
|
+
bound: binding.bound,
|
|
880
|
+
outputName: ctx.outputName ?? null,
|
|
881
|
+
propertyPath: [...path]
|
|
882
|
+
};
|
|
883
|
+
}
|
|
839
884
|
if (!ctx.onCallback) {
|
|
840
885
|
throw new Error(`functions are not serializable on this boundary (no ctx.onCallback) at path "${path.join(".")}"`);
|
|
841
886
|
}
|
|
842
887
|
return {
|
|
843
|
-
...ctx.onCallback(callback),
|
|
888
|
+
...ctx.onCallback(callback, path),
|
|
889
|
+
lifetime: "connection",
|
|
844
890
|
outputName: ctx.outputName ?? null,
|
|
845
891
|
propertyPath: [...path],
|
|
846
|
-
__REQUENCE_type:
|
|
892
|
+
__REQUENCE_type: REQUENCE_CALLBACK_TAG
|
|
847
893
|
};
|
|
848
894
|
},
|
|
849
895
|
isReference: (value) => isCallbackObject(value),
|
|
@@ -1712,5 +1758,5 @@ export {
|
|
|
1712
1758
|
RequenceFile
|
|
1713
1759
|
};
|
|
1714
1760
|
|
|
1715
|
-
//# debugId=
|
|
1761
|
+
//# debugId=AE2B7FC999A1CDAF64756E2164756E21
|
|
1716
1762
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -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\nconst callbackObjectSchema = z.object({\n sourceId: z.string(),\n outputName: z.string().nullable(),\n propertyPath: z.array(z.union([z.string(), z.int()])),\n callbackId: z.uuid(),\n __REQUENCE_type: z.literal('RequenceCallback'),\n})\n\nexport type CallbackObject = z.infer<typeof callbackObjectSchema>\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",
|
|
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",
|
|
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 {
|
|
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",
|
|
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": "
|
|
36
|
+
"mappings": "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",
|
|
37
|
+
"debugId": "AE2B7FC999A1CDAF64756E2164756E21",
|
|
38
38
|
"names": []
|
|
39
39
|
}
|
|
@@ -1,17 +1,167 @@
|
|
|
1
1
|
import { z } from 'zod/v4';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The reference tag of a **callback** — a function a service emitted alongside
|
|
4
|
+
* its data, which a downstream node may invoke back at the emitting service.
|
|
5
|
+
*
|
|
6
|
+
* One tag, not one per lifetime: what a consumer receives is an invokable
|
|
7
|
+
* function either way, and the position it addresses in the node's declared
|
|
8
|
+
* output schema is the same. Deliberately still separate from a
|
|
9
|
+
* `RequenceHandler` (`surfaceHandler.ts` says why in both directions).
|
|
10
|
+
*/
|
|
11
|
+
export declare const REQUENCE_CALLBACK_TAG = "RequenceCallback";
|
|
12
|
+
/**
|
|
13
|
+
* How long a callback can be reached, decided by **where the function was
|
|
14
|
+
* written** — the same rule surfaces established for handler props (#59), and
|
|
15
|
+
* the only thing that actually bounds the closure's life:
|
|
16
|
+
*
|
|
17
|
+
* - `connection` — a function written inline in the handler. It closes over the
|
|
18
|
+
* running message, so only that process can serve it and it dies when the
|
|
19
|
+
* delivery settles. Addressed by the registering connection plus an id in its
|
|
20
|
+
* registry.
|
|
21
|
+
* - `durable` — a function declared once at module scope with
|
|
22
|
+
* `createDurableCallback`, addressed by the stable name it was declared under
|
|
23
|
+
* and carrying the per-emission data the author *bound* to it instead of
|
|
24
|
+
* capturing. It names no connection at all, so any instance of the service
|
|
25
|
+
* version can run it, now or after a redeploy (#147).
|
|
26
|
+
*
|
|
27
|
+
* `outputName`/`propertyPath` ride on every arm. The durable arm does not need
|
|
28
|
+
* them to be *routed*, but they are what the operator's existing invocation-
|
|
29
|
+
* argument validation addresses — same reasoning as `uiId`/`path` on both
|
|
30
|
+
* surface-handler arms.
|
|
31
|
+
*/
|
|
32
|
+
declare const callbackObjectSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
33
|
+
__REQUENCE_type: z.ZodLiteral<"RequenceCallback">;
|
|
34
|
+
lifetime: z.ZodLiteral<"connection">;
|
|
4
35
|
outputName: z.ZodNullable<z.ZodString>;
|
|
5
36
|
propertyPath: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodInt]>>;
|
|
37
|
+
sourceId: z.ZodString;
|
|
6
38
|
callbackId: z.ZodUUID;
|
|
39
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
7
40
|
__REQUENCE_type: z.ZodLiteral<"RequenceCallback">;
|
|
8
|
-
|
|
41
|
+
lifetime: z.ZodLiteral<"durable">;
|
|
42
|
+
outputName: z.ZodNullable<z.ZodString>;
|
|
43
|
+
propertyPath: z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodInt]>>;
|
|
44
|
+
name: z.ZodString;
|
|
45
|
+
nodeId: z.ZodString;
|
|
46
|
+
bound: z.ZodOptional<z.ZodUnknown>;
|
|
47
|
+
}, z.core.$strip>], "lifetime">;
|
|
9
48
|
export type CallbackObject = z.infer<typeof callbackObjectSchema>;
|
|
49
|
+
export type CallbackLifetime = CallbackObject['lifetime'];
|
|
10
50
|
export declare function isCallbackObject(data: unknown): data is CallbackObject;
|
|
11
51
|
export type RequenceCallback<T> = (arg: T) => void;
|
|
12
52
|
export type WrappedRequenceCallback<T> = RequenceCallback<T> & {
|
|
13
53
|
response(): Promise<T>;
|
|
14
54
|
};
|
|
15
55
|
export declare function createCallback<T>(callback?: (arg: T) => void): WrappedRequenceCallback<T>;
|
|
56
|
+
/**
|
|
57
|
+
* What a `.for(bound)` reference carries before the boundary completes it: the
|
|
58
|
+
* declaration's name and the data bound to this emission. The position
|
|
59
|
+
* (`outputName`/`propertyPath`) is added where it is known — the value walk —
|
|
60
|
+
* exactly as it is for the connection arm.
|
|
61
|
+
*/
|
|
62
|
+
export interface DurableCallbackBinding {
|
|
63
|
+
readonly name: string;
|
|
64
|
+
readonly bound: unknown;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Mints the value an author emits in place of a closure — the thing
|
|
68
|
+
* `createDurableCallback(...).for(bound)` returns (#147).
|
|
69
|
+
*
|
|
70
|
+
* It is a **function** carrying the binding on a symbol, rather than the wire
|
|
71
|
+
* object it will become, for two reasons that both come from the transformer:
|
|
72
|
+
*
|
|
73
|
+
* - The egress walk only offers *complex* values to a handler, and a plain
|
|
74
|
+
* object is traversable structure — a literal reference would be walked
|
|
75
|
+
* straight through and emitted without the `outputName`/`propertyPath` the
|
|
76
|
+
* operator validates against, which no schema parse downstream would accept.
|
|
77
|
+
* A function is complex, and the callback handler already claims every one.
|
|
78
|
+
* - The walk memoizes object-identity values at their *first* path, so one
|
|
79
|
+
* reference reused at two positions would carry the wrong `propertyPath` for
|
|
80
|
+
* the second. Functions bypass that memo by design.
|
|
81
|
+
*
|
|
82
|
+
* It also matches the type it is cast to: the property a consumer reads is
|
|
83
|
+
* declared `RequenceCallback<Arg>`, and a consumer calls it. Calling it *here*,
|
|
84
|
+
* in the emitting service, is the author's mistake — a durable callback runs
|
|
85
|
+
* where the invocation is delivered, never inline — so it says so rather than
|
|
86
|
+
* doing nothing.
|
|
87
|
+
*/
|
|
88
|
+
export declare function createDurableCallbackReference<Arg>(binding: DurableCallbackBinding): RequenceCallback<Arg>;
|
|
89
|
+
/**
|
|
90
|
+
* The binding a value carries, or `undefined` when it is an ordinary function —
|
|
91
|
+
* which is how the callback handler tells the two lifetimes apart on egress.
|
|
92
|
+
*/
|
|
93
|
+
export declare function readDurableCallbackBinding(value: unknown): DurableCallbackBinding | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* The per-version **callbacks queue**: where a durable invocation waits until
|
|
96
|
+
* some instance of that service version consumes it.
|
|
97
|
+
*
|
|
98
|
+
* Derived from the version's dispatch queue rather than composed from the
|
|
99
|
+
* service and version names, for the reason `serviceHandlerQueueName` is: the
|
|
100
|
+
* two can then never drift, and a dev-overlay connection — which consumes a
|
|
101
|
+
* rewritten dispatch queue — gets a callbacks queue of its own for free.
|
|
102
|
+
*/
|
|
103
|
+
export declare function serviceCallbackQueueName(dispatchQueue: string): string;
|
|
104
|
+
export declare function isDevOverlayCallbackQueue(queueName: string): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* How long a durable invocation may wait in the callbacks queue before the
|
|
107
|
+
* broker drops it.
|
|
108
|
+
*
|
|
109
|
+
* The queue is **not a mailbox**. A callback invoked today and run whenever
|
|
110
|
+
* somebody next deploys is the silent-effect outcome #116 removed for surfaces,
|
|
111
|
+
* and it is worse here: nothing checks reachability before a graph calls
|
|
112
|
+
* `context.input.delete()`, so the TTL is the only bound there is. All it has to
|
|
113
|
+
* bridge is a rolling redeploy, a scale-to-zero that started a moment ago or a
|
|
114
|
+
* replica that took the invocation and died — the same seconds the surface
|
|
115
|
+
* handler queue bridges, hence the same number.
|
|
116
|
+
*
|
|
117
|
+
* Expiry is not a drop: the queue dead-letters to `error`, so an expired
|
|
118
|
+
* invocation comes back to the operator carrying its own task and is reported on
|
|
119
|
+
* the node the callback belongs to.
|
|
120
|
+
*/
|
|
121
|
+
export declare const DURABLE_CALLBACK_INVOCATION_TTL_MS = 60000;
|
|
122
|
+
/**
|
|
123
|
+
* The callbacks queue's declaration arguments, as **one** object, because two
|
|
124
|
+
* parties declare that queue — ui/backend's provisioner and the service SDK on
|
|
125
|
+
* connect — and a broker answers a mismatch with a 406 that kills the declaring
|
|
126
|
+
* channel. Anything short of a shared literal is a service that will not start.
|
|
127
|
+
*
|
|
128
|
+
* Note for whoever changes this: declaring a queue with a dead-letter exchange
|
|
129
|
+
* needs WRITE permission on that exchange, so the service AMQP user is granted
|
|
130
|
+
* it (`assertService`). It costs nothing — `error` is an internal exchange and
|
|
131
|
+
* the broker refuses a client publish to one however the permissions read.
|
|
132
|
+
*/
|
|
133
|
+
export declare const DURABLE_CALLBACK_QUEUE_ARGUMENTS: {
|
|
134
|
+
readonly messageTtl: 60000;
|
|
135
|
+
readonly deadLetterExchange: 'error';
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* The header a durable callback invocation is stamped with, for the same reason
|
|
139
|
+
* a durable surface handler invocation carries one
|
|
140
|
+
* (`SURFACE_HANDLER_INVOCATION_HEADER`): it is published `mandatory` into the
|
|
141
|
+
* `service` exchange, so one whose queue is gone comes back to the operator
|
|
142
|
+
* looking like any other undeliverable service message — and every other arm
|
|
143
|
+
* there fails the node.
|
|
144
|
+
*
|
|
145
|
+
* A callback the graph chose to call is not the node's failure, so this is what
|
|
146
|
+
* tells that consumer to *report* instead. A header rather than the routing key's
|
|
147
|
+
* `-callbacks` suffix, which a service actually named `…-callbacks` would forge.
|
|
148
|
+
*/
|
|
149
|
+
export declare const DURABLE_CALLBACK_INVOCATION_HEADER = "durableCallbackInvocation";
|
|
150
|
+
/**
|
|
151
|
+
* One durable callback invocation, as it travels on the queue above.
|
|
152
|
+
*
|
|
153
|
+
* `name` is the whole address: the consuming instance looks it up in the
|
|
154
|
+
* process-global registry `createDurableCallback` writes and calls what it
|
|
155
|
+
* finds. Everything else is either the handler's arguments or the way back.
|
|
156
|
+
*/
|
|
157
|
+
export declare const durableCallbackInvocationSchema: z.ZodObject<{
|
|
158
|
+
taskId: z.ZodUUID;
|
|
159
|
+
nodeId: z.ZodString;
|
|
160
|
+
name: z.ZodString;
|
|
161
|
+
bound: z.ZodOptional<z.ZodUnknown>;
|
|
162
|
+
arg: z.ZodOptional<z.ZodUnknown>;
|
|
163
|
+
configuration: z.ZodOptional<z.ZodUnknown>;
|
|
164
|
+
}, z.core.$strip>;
|
|
165
|
+
export type DurableCallbackInvocation = z.infer<typeof durableCallbackInvocationSchema>;
|
|
16
166
|
export {};
|
|
17
167
|
//# 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,QAAA,MAAM,oBAAoB
|
|
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"}
|