@graphrefly/graphrefly 0.47.2 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/composition/index.cjs +4 -3
- package/dist/base/composition/index.cjs.map +1 -1
- package/dist/base/composition/index.d.cts +14 -5
- package/dist/base/composition/index.d.ts +14 -5
- package/dist/base/composition/index.js +8 -8
- package/dist/base/index.cjs +152 -78
- package/dist/base/index.cjs.map +1 -1
- package/dist/base/index.d.cts +2 -2
- package/dist/base/index.d.ts +2 -2
- package/dist/base/index.js +75 -70
- package/dist/base/io/index.cjs +31 -17
- package/dist/base/io/index.cjs.map +1 -1
- package/dist/base/io/index.d.cts +32 -5
- package/dist/base/io/index.d.ts +32 -5
- package/dist/base/io/index.js +1 -1
- package/dist/base/mutation/index.cjs +21 -0
- package/dist/base/mutation/index.cjs.map +1 -1
- package/dist/base/mutation/index.d.cts +23 -1
- package/dist/base/mutation/index.d.ts +23 -1
- package/dist/base/mutation/index.js +3 -1
- package/dist/base/sources/browser/index.cjs +5 -3
- package/dist/base/sources/browser/index.cjs.map +1 -1
- package/dist/base/sources/browser/index.d.cts +20 -2
- package/dist/base/sources/browser/index.d.ts +20 -2
- package/dist/base/sources/browser/index.js +5 -3
- package/dist/base/sources/browser/index.js.map +1 -1
- package/dist/base/sources/event/index.cjs +28 -0
- package/dist/base/sources/event/index.cjs.map +1 -1
- package/dist/base/sources/event/index.d.cts +67 -3
- package/dist/base/sources/event/index.d.ts +67 -3
- package/dist/base/sources/event/index.js +4 -1
- package/dist/base/sources/index.cjs +75 -37
- package/dist/base/sources/index.cjs.map +1 -1
- package/dist/base/sources/index.d.cts +1 -1
- package/dist/base/sources/index.d.ts +1 -1
- package/dist/base/sources/index.js +5 -2
- package/dist/{chunk-R6ZCSXKX.js → chunk-23MAWVOJ.js} +3 -3
- package/dist/{chunk-MS3WPRJR.js → chunk-3REMCHSS.js} +6 -6
- package/dist/chunk-3REMCHSS.js.map +1 -0
- package/dist/{chunk-CEVNQ74M.js → chunk-3YGXPUHW.js} +2 -2
- package/dist/{chunk-CEVNQ74M.js.map → chunk-3YGXPUHW.js.map} +1 -1
- package/dist/{chunk-6ZLCPUXS.js → chunk-46X2EFQH.js} +15 -4
- package/dist/chunk-46X2EFQH.js.map +1 -0
- package/dist/{chunk-NY2PYHNC.js → chunk-5UY3PNFY.js} +12 -5
- package/dist/chunk-5UY3PNFY.js.map +1 -0
- package/dist/{chunk-FQSQONOU.js → chunk-65OM4XLQ.js} +49 -3
- package/dist/chunk-65OM4XLQ.js.map +1 -0
- package/dist/{chunk-3PSLNJDU.js → chunk-6DQYBIHW.js} +314 -49
- package/dist/chunk-6DQYBIHW.js.map +1 -0
- package/dist/{chunk-LDCSZ72P.js → chunk-6YBER5UP.js} +3 -3
- package/dist/{chunk-LDCSZ72P.js.map → chunk-6YBER5UP.js.map} +1 -1
- package/dist/{chunk-3O3NKZJW.js → chunk-7T7WLEPM.js} +24 -3
- package/dist/chunk-7T7WLEPM.js.map +1 -0
- package/dist/{chunk-PKPO3JTZ.js → chunk-AQAKDE7F.js} +29 -11
- package/dist/chunk-AQAKDE7F.js.map +1 -0
- package/dist/{chunk-6MRSX3YK.js → chunk-B5Y5GPD5.js} +2 -2
- package/dist/{chunk-BXGZFGZ4.js → chunk-C5QD5DQX.js} +22 -1
- package/dist/chunk-C5QD5DQX.js.map +1 -0
- package/dist/{chunk-4XCHZRUJ.js → chunk-D5YGR4TP.js} +58 -7
- package/dist/chunk-D5YGR4TP.js.map +1 -0
- package/dist/{chunk-NPRP3MCV.js → chunk-DHDCOOJU.js} +2 -2
- package/dist/chunk-DHDCOOJU.js.map +1 -0
- package/dist/{chunk-VP3TIUDF.js → chunk-DVTDF5OI.js} +2 -2
- package/dist/{chunk-OXD5LFQP.js → chunk-G7H6PN7P.js} +2 -2
- package/dist/{chunk-EL5VHUGK.js → chunk-GGKHHG5Y.js} +32 -18
- package/dist/chunk-GGKHHG5Y.js.map +1 -0
- package/dist/{chunk-446I4EGD.js → chunk-J5TBZFBD.js} +2 -2
- package/dist/{chunk-7AVQIGF6.js → chunk-K4ZYJ4EM.js} +554 -460
- package/dist/chunk-K4ZYJ4EM.js.map +1 -0
- package/dist/{chunk-QFE5BQH7.js → chunk-LTSI7ULC.js} +2 -2
- package/dist/{chunk-5GVURVIG.js → chunk-MMHGYX44.js} +12 -2
- package/dist/{chunk-5GVURVIG.js.map → chunk-MMHGYX44.js.map} +1 -1
- package/dist/{chunk-KRFGO5QH.js → chunk-MQMTRKY3.js} +118 -43
- package/dist/chunk-MQMTRKY3.js.map +1 -0
- package/dist/{chunk-42FQ27MQ.js → chunk-MTODGQBR.js} +44 -179
- package/dist/chunk-MTODGQBR.js.map +1 -0
- package/dist/{chunk-FVINAAKA.js → chunk-NBK6QQMG.js} +14 -13
- package/dist/{chunk-FVINAAKA.js.map → chunk-NBK6QQMG.js.map} +1 -1
- package/dist/{chunk-KNU73RZW.js → chunk-NSA5K5G2.js} +2 -2
- package/dist/{chunk-MLTPJMH6.js → chunk-QQYULEZL.js} +2 -2
- package/dist/chunk-QSW4DFKE.js +31 -0
- package/dist/chunk-QSW4DFKE.js.map +1 -0
- package/dist/{chunk-VAZXUK6G.js → chunk-SUNCHMML.js} +2 -2
- package/dist/{chunk-EP4WVQLX.js → chunk-T2U6N3FV.js} +6 -6
- package/dist/{chunk-T7SP3EYR.js → chunk-T5URUIIY.js} +33 -24
- package/dist/chunk-T5URUIIY.js.map +1 -0
- package/dist/{chunk-VNXAF2KE.js → chunk-TPTZZV25.js} +6 -6
- package/dist/chunk-TPTZZV25.js.map +1 -0
- package/dist/{chunk-IOJDYUA7.js → chunk-V46JWFGV.js} +6 -5
- package/dist/chunk-V46JWFGV.js.map +1 -0
- package/dist/{chunk-WGDEBIP4.js → chunk-X6ESZDR6.js} +5 -6
- package/dist/chunk-X6ESZDR6.js.map +1 -0
- package/dist/{chunk-N65E26UL.js → chunk-XEWV254I.js} +2 -2
- package/dist/{chunk-N65E26UL.js.map → chunk-XEWV254I.js.map} +1 -1
- package/dist/{chunk-PTWADEH3.js → chunk-YBJVKMTM.js} +34 -14
- package/dist/chunk-YBJVKMTM.js.map +1 -0
- package/dist/{chunk-DDTS7F5O.js → chunk-ZW32BPXV.js} +12 -3
- package/dist/chunk-ZW32BPXV.js.map +1 -0
- package/dist/compat/index.cjs +51 -4
- package/dist/compat/index.cjs.map +1 -1
- package/dist/compat/index.d.cts +1 -1
- package/dist/compat/index.d.ts +1 -1
- package/dist/compat/index.js +6 -6
- package/dist/compat/nestjs/index.cjs +51 -4
- package/dist/compat/nestjs/index.cjs.map +1 -1
- package/dist/compat/nestjs/index.d.cts +1 -1
- package/dist/compat/nestjs/index.d.ts +1 -1
- package/dist/compat/nestjs/index.js +3 -3
- package/dist/{fallback-Bx46zqky.d.cts → fallback-BROR6ZhO.d.cts} +1 -1
- package/dist/{fallback-pIWW8A2d.d.ts → fallback-DO80aM_3.d.ts} +1 -1
- package/dist/{index-B_p8tnvf.d.cts → index-D1z3XcF9.d.cts} +1 -0
- package/dist/{index-_HDSmPyp.d.ts → index-DZ6yua0Q.d.ts} +1 -0
- package/dist/index.cjs +2215 -1676
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +10 -10
- package/dist/index.d.ts +10 -10
- package/dist/index.js +169 -146
- package/dist/index.js.map +1 -1
- package/dist/presets/ai/index.cjs +46 -0
- package/dist/presets/ai/index.cjs.map +1 -1
- package/dist/presets/ai/index.js +12 -12
- package/dist/presets/harness/index.cjs +130 -18
- package/dist/presets/harness/index.cjs.map +1 -1
- package/dist/presets/harness/index.d.cts +15 -5
- package/dist/presets/harness/index.d.ts +15 -5
- package/dist/presets/harness/index.js +22 -22
- package/dist/presets/index.cjs +222 -53
- package/dist/presets/index.cjs.map +1 -1
- package/dist/presets/index.d.cts +2 -2
- package/dist/presets/index.d.ts +2 -2
- package/dist/presets/index.js +45 -45
- package/dist/presets/inspect/index.cjs +63 -14
- package/dist/presets/inspect/index.cjs.map +1 -1
- package/dist/presets/inspect/index.d.cts +1 -1
- package/dist/presets/inspect/index.d.ts +1 -1
- package/dist/presets/inspect/index.js +6 -6
- package/dist/presets/resilience/index.cjs +29 -21
- package/dist/presets/resilience/index.cjs.map +1 -1
- package/dist/presets/resilience/index.d.cts +12 -8
- package/dist/presets/resilience/index.d.ts +12 -8
- package/dist/presets/resilience/index.js +3 -3
- package/dist/{rate-limiter-DpVbSYdH.d.cts → rate-limiter-DC26FM8J.d.cts} +10 -1
- package/dist/{rate-limiter-CEALq4N1.d.ts → rate-limiter-DyWpwpQP.d.ts} +10 -1
- package/dist/{reactive-layout-fswlBUvX.d.ts → reactive-layout-BBBWH0V_.d.cts} +85 -4
- package/dist/{reactive-layout-fswlBUvX.d.cts → reactive-layout-BBBWH0V_.d.ts} +85 -4
- package/dist/solutions/index.cjs +168 -47
- package/dist/solutions/index.cjs.map +1 -1
- package/dist/solutions/index.d.cts +2 -2
- package/dist/solutions/index.d.ts +2 -2
- package/dist/solutions/index.js +28 -28
- package/dist/{spawnable-5mDY501F.d.cts → spawnable-B2IlW60f.d.cts} +23 -2
- package/dist/{spawnable-D3lR0oQu.d.ts → spawnable-tttFz2Nh.d.ts} +23 -2
- package/dist/testing/index.cjs +94 -0
- package/dist/testing/index.cjs.map +1 -0
- package/dist/testing/index.d.cts +59 -0
- package/dist/testing/index.d.ts +59 -0
- package/dist/testing/index.js +73 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/utils/ai/browser.cjs.map +1 -1
- package/dist/utils/ai/browser.d.cts +2 -2
- package/dist/utils/ai/browser.d.ts +2 -2
- package/dist/utils/ai/browser.js +6 -6
- package/dist/utils/ai/browser.js.map +1 -1
- package/dist/utils/ai/index.cjs +250 -166
- package/dist/utils/ai/index.cjs.map +1 -1
- package/dist/utils/ai/index.d.cts +108 -12
- package/dist/utils/ai/index.d.ts +108 -12
- package/dist/utils/ai/index.js +21 -19
- package/dist/utils/ai/node.cjs.map +1 -1
- package/dist/utils/ai/node.d.cts +5 -5
- package/dist/utils/ai/node.d.ts +5 -5
- package/dist/utils/ai/node.js +2 -2
- package/dist/utils/ai/node.js.map +1 -1
- package/dist/utils/cqrs/index.cjs +29 -3
- package/dist/utils/cqrs/index.cjs.map +1 -1
- package/dist/utils/cqrs/index.d.cts +12 -7
- package/dist/utils/cqrs/index.d.ts +12 -7
- package/dist/utils/cqrs/index.js +2 -2
- package/dist/utils/demo-shell/index.cjs +45 -19
- package/dist/utils/demo-shell/index.cjs.map +1 -1
- package/dist/utils/demo-shell/index.d.cts +1 -1
- package/dist/utils/demo-shell/index.d.ts +1 -1
- package/dist/utils/demo-shell/index.js +2 -2
- package/dist/utils/domain-templates/index.cjs.map +1 -1
- package/dist/utils/domain-templates/index.js +3 -3
- package/dist/utils/graphspec/index.cjs.map +1 -1
- package/dist/utils/graphspec/index.js +3 -3
- package/dist/utils/index.cjs +1642 -1225
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +7 -7
- package/dist/utils/index.d.ts +7 -7
- package/dist/utils/index.js +72 -54
- package/dist/utils/inspect/index.cjs +52 -4
- package/dist/utils/inspect/index.cjs.map +1 -1
- package/dist/utils/inspect/index.d.cts +32 -3
- package/dist/utils/inspect/index.d.ts +32 -3
- package/dist/utils/inspect/index.js +4 -4
- package/dist/utils/job-queue/index.cjs +46 -9
- package/dist/utils/job-queue/index.cjs.map +1 -1
- package/dist/utils/job-queue/index.d.cts +33 -3
- package/dist/utils/job-queue/index.d.ts +33 -3
- package/dist/utils/job-queue/index.js +2 -2
- package/dist/utils/memory/index.cjs +556 -462
- package/dist/utils/memory/index.cjs.map +1 -1
- package/dist/utils/memory/index.d.cts +203 -24
- package/dist/utils/memory/index.d.ts +203 -24
- package/dist/utils/memory/index.js +10 -2
- package/dist/utils/messaging/index.cjs.map +1 -1
- package/dist/utils/messaging/index.d.cts +4 -3
- package/dist/utils/messaging/index.d.ts +4 -3
- package/dist/utils/messaging/index.js +2 -2
- package/dist/utils/orchestration/index.cjs +9 -0
- package/dist/utils/orchestration/index.cjs.map +1 -1
- package/dist/utils/orchestration/index.js +3 -3
- package/dist/utils/process/index.cjs +32 -2
- package/dist/utils/process/index.cjs.map +1 -1
- package/dist/utils/process/index.d.cts +4 -3
- package/dist/utils/process/index.d.ts +4 -3
- package/dist/utils/process/index.js +2 -2
- package/dist/utils/reactive-layout/index.cjs +184 -55
- package/dist/utils/reactive-layout/index.cjs.map +1 -1
- package/dist/utils/reactive-layout/index.d.cts +128 -3
- package/dist/utils/reactive-layout/index.d.ts +128 -3
- package/dist/utils/reactive-layout/index.js +16 -8
- package/dist/utils/reduction/index.cjs.map +1 -1
- package/dist/utils/reduction/index.js +2 -2
- package/dist/utils/resilience/index.cjs +29 -20
- package/dist/utils/resilience/index.cjs.map +1 -1
- package/dist/utils/resilience/index.d.cts +1 -1
- package/dist/utils/resilience/index.d.ts +1 -1
- package/dist/utils/resilience/index.js +2 -2
- package/dist/utils/surface/index.cjs.map +1 -1
- package/dist/utils/surface/index.js +4 -4
- package/package.json +15 -3
- package/dist/chunk-3O3NKZJW.js.map +0 -1
- package/dist/chunk-3PSLNJDU.js.map +0 -1
- package/dist/chunk-42FQ27MQ.js.map +0 -1
- package/dist/chunk-4XCHZRUJ.js.map +0 -1
- package/dist/chunk-6ZLCPUXS.js.map +0 -1
- package/dist/chunk-7AVQIGF6.js.map +0 -1
- package/dist/chunk-BXGZFGZ4.js.map +0 -1
- package/dist/chunk-DDTS7F5O.js.map +0 -1
- package/dist/chunk-EL5VHUGK.js.map +0 -1
- package/dist/chunk-FQSQONOU.js.map +0 -1
- package/dist/chunk-IOJDYUA7.js.map +0 -1
- package/dist/chunk-KRFGO5QH.js.map +0 -1
- package/dist/chunk-MS3WPRJR.js.map +0 -1
- package/dist/chunk-NPRP3MCV.js.map +0 -1
- package/dist/chunk-NY2PYHNC.js.map +0 -1
- package/dist/chunk-PKPO3JTZ.js.map +0 -1
- package/dist/chunk-PTWADEH3.js.map +0 -1
- package/dist/chunk-T7SP3EYR.js.map +0 -1
- package/dist/chunk-VNXAF2KE.js.map +0 -1
- package/dist/chunk-W2BOPXTI.js +0 -1
- package/dist/chunk-W2BOPXTI.js.map +0 -1
- package/dist/chunk-WGDEBIP4.js.map +0 -1
- /package/dist/{chunk-R6ZCSXKX.js.map → chunk-23MAWVOJ.js.map} +0 -0
- /package/dist/{chunk-6MRSX3YK.js.map → chunk-B5Y5GPD5.js.map} +0 -0
- /package/dist/{chunk-VP3TIUDF.js.map → chunk-DVTDF5OI.js.map} +0 -0
- /package/dist/{chunk-OXD5LFQP.js.map → chunk-G7H6PN7P.js.map} +0 -0
- /package/dist/{chunk-446I4EGD.js.map → chunk-J5TBZFBD.js.map} +0 -0
- /package/dist/{chunk-QFE5BQH7.js.map → chunk-LTSI7ULC.js.map} +0 -0
- /package/dist/{chunk-KNU73RZW.js.map → chunk-NSA5K5G2.js.map} +0 -0
- /package/dist/{chunk-MLTPJMH6.js.map → chunk-QQYULEZL.js.map} +0 -0
- /package/dist/{chunk-VAZXUK6G.js.map → chunk-SUNCHMML.js.map} +0 -0
- /package/dist/{chunk-EP4WVQLX.js.map → chunk-T2U6N3FV.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Node } from '@graphrefly/pure-ts/core';
|
|
2
2
|
import { NodeInput, ReactiveLogBundle, AppendLogStorageTier } from '@graphrefly/pure-ts/extra';
|
|
3
3
|
import { Graph, GraphOptions } from '@graphrefly/pure-ts/graph';
|
|
4
|
-
import { BaseAuditRecord } from '../../base/mutation/index.cjs';
|
|
4
|
+
import { BaseAuditRecord, ReadonlyAuditLog } from '../../base/mutation/index.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Job queue patterns (roadmap §4.2).
|
|
@@ -28,6 +28,22 @@ interface JobEvent<T = unknown> extends BaseAuditRecord {
|
|
|
28
28
|
readonly id: string;
|
|
29
29
|
readonly attempts?: number;
|
|
30
30
|
readonly payload?: T;
|
|
31
|
+
/**
|
|
32
|
+
* The failure cause for a no-requeue `"nack"` (F-CATCH D-3). Present only
|
|
33
|
+
* when a job was nack'd-without-requeue because its work threw
|
|
34
|
+
* synchronously or its result Node emitted `ERROR`. Without this, a failed
|
|
35
|
+
* job is observable as a `"nack"` event but the *reason* it failed is
|
|
36
|
+
* unrecoverable from the event stream. Carries the raw thrown value /
|
|
37
|
+
* ERROR payload (not normalized) so callers keep full fidelity.
|
|
38
|
+
*
|
|
39
|
+
* Caveats: a thrown `undefined` (legal but pathological) is not recorded —
|
|
40
|
+
* it carries no diagnostic payload and the `"nack"` action itself already
|
|
41
|
+
* surfaces the failure. And like {@link JobEvent.payload}, a raw `Error` is
|
|
42
|
+
* not JSON-round-trippable, so keyed-storage codecs wired via
|
|
43
|
+
* `attachEventStorage` should normalize this field (e.g. capture
|
|
44
|
+
* `message`/`stack`) before serializing.
|
|
45
|
+
*/
|
|
46
|
+
readonly error?: unknown;
|
|
31
47
|
}
|
|
32
48
|
/** Recommended `keyOf` for keyed-storage adapters (Audit 2 #7). */
|
|
33
49
|
declare const jobEventKeyOf: <T>(e: JobEvent<T>) => string;
|
|
@@ -43,8 +59,11 @@ declare class JobQueueGraph<T> extends Graph {
|
|
|
43
59
|
readonly depth: Node<number>;
|
|
44
60
|
/** Audit log of every queue mutation (Audit 2). */
|
|
45
61
|
readonly events: ReactiveLogBundle<JobEvent<T>>;
|
|
46
|
-
/**
|
|
47
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Read-only view of {@link JobQueueGraph.events} — Audit 2 `.audit`
|
|
64
|
+
* duplication; M7 (cannot mutate the canonical log via the alias).
|
|
65
|
+
*/
|
|
66
|
+
readonly audit: ReadonlyAuditLog<JobEvent<T>>;
|
|
48
67
|
private readonly _enqueueImpl;
|
|
49
68
|
private readonly _ackImpl;
|
|
50
69
|
private readonly _nackImpl;
|
|
@@ -62,8 +81,19 @@ declare class JobQueueGraph<T> extends Graph {
|
|
|
62
81
|
}): string;
|
|
63
82
|
claim(limit?: number): readonly JobEnvelope<T>[];
|
|
64
83
|
ack(id: string): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Negatively-acknowledge an inflight job.
|
|
86
|
+
*
|
|
87
|
+
* @param opts.requeue - `true` (default) returns the job to the queue for
|
|
88
|
+
* retry; `false` drops it permanently (terminal failure).
|
|
89
|
+
* @param opts.error - Optional failure cause for a `requeue: false` nack.
|
|
90
|
+
* Recorded on the emitted `"nack"` {@link JobEvent} as `error` so the
|
|
91
|
+
* reason a job failed is recoverable from the event stream (F-CATCH
|
|
92
|
+
* D-3). Ignored when `requeue` is `true` (a retry is not a failure).
|
|
93
|
+
*/
|
|
65
94
|
nack(id: string, opts?: {
|
|
66
95
|
requeue?: boolean;
|
|
96
|
+
error?: unknown;
|
|
67
97
|
}): boolean;
|
|
68
98
|
/**
|
|
69
99
|
* Remove a job by id regardless of its current state. Returns `true` if
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Node } from '@graphrefly/pure-ts/core';
|
|
2
2
|
import { NodeInput, ReactiveLogBundle, AppendLogStorageTier } from '@graphrefly/pure-ts/extra';
|
|
3
3
|
import { Graph, GraphOptions } from '@graphrefly/pure-ts/graph';
|
|
4
|
-
import { BaseAuditRecord } from '../../base/mutation/index.js';
|
|
4
|
+
import { BaseAuditRecord, ReadonlyAuditLog } from '../../base/mutation/index.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Job queue patterns (roadmap §4.2).
|
|
@@ -28,6 +28,22 @@ interface JobEvent<T = unknown> extends BaseAuditRecord {
|
|
|
28
28
|
readonly id: string;
|
|
29
29
|
readonly attempts?: number;
|
|
30
30
|
readonly payload?: T;
|
|
31
|
+
/**
|
|
32
|
+
* The failure cause for a no-requeue `"nack"` (F-CATCH D-3). Present only
|
|
33
|
+
* when a job was nack'd-without-requeue because its work threw
|
|
34
|
+
* synchronously or its result Node emitted `ERROR`. Without this, a failed
|
|
35
|
+
* job is observable as a `"nack"` event but the *reason* it failed is
|
|
36
|
+
* unrecoverable from the event stream. Carries the raw thrown value /
|
|
37
|
+
* ERROR payload (not normalized) so callers keep full fidelity.
|
|
38
|
+
*
|
|
39
|
+
* Caveats: a thrown `undefined` (legal but pathological) is not recorded —
|
|
40
|
+
* it carries no diagnostic payload and the `"nack"` action itself already
|
|
41
|
+
* surfaces the failure. And like {@link JobEvent.payload}, a raw `Error` is
|
|
42
|
+
* not JSON-round-trippable, so keyed-storage codecs wired via
|
|
43
|
+
* `attachEventStorage` should normalize this field (e.g. capture
|
|
44
|
+
* `message`/`stack`) before serializing.
|
|
45
|
+
*/
|
|
46
|
+
readonly error?: unknown;
|
|
31
47
|
}
|
|
32
48
|
/** Recommended `keyOf` for keyed-storage adapters (Audit 2 #7). */
|
|
33
49
|
declare const jobEventKeyOf: <T>(e: JobEvent<T>) => string;
|
|
@@ -43,8 +59,11 @@ declare class JobQueueGraph<T> extends Graph {
|
|
|
43
59
|
readonly depth: Node<number>;
|
|
44
60
|
/** Audit log of every queue mutation (Audit 2). */
|
|
45
61
|
readonly events: ReactiveLogBundle<JobEvent<T>>;
|
|
46
|
-
/**
|
|
47
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Read-only view of {@link JobQueueGraph.events} — Audit 2 `.audit`
|
|
64
|
+
* duplication; M7 (cannot mutate the canonical log via the alias).
|
|
65
|
+
*/
|
|
66
|
+
readonly audit: ReadonlyAuditLog<JobEvent<T>>;
|
|
48
67
|
private readonly _enqueueImpl;
|
|
49
68
|
private readonly _ackImpl;
|
|
50
69
|
private readonly _nackImpl;
|
|
@@ -62,8 +81,19 @@ declare class JobQueueGraph<T> extends Graph {
|
|
|
62
81
|
}): string;
|
|
63
82
|
claim(limit?: number): readonly JobEnvelope<T>[];
|
|
64
83
|
ack(id: string): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Negatively-acknowledge an inflight job.
|
|
86
|
+
*
|
|
87
|
+
* @param opts.requeue - `true` (default) returns the job to the queue for
|
|
88
|
+
* retry; `false` drops it permanently (terminal failure).
|
|
89
|
+
* @param opts.error - Optional failure cause for a `requeue: false` nack.
|
|
90
|
+
* Recorded on the emitted `"nack"` {@link JobEvent} as `error` so the
|
|
91
|
+
* reason a job failed is recoverable from the event stream (F-CATCH
|
|
92
|
+
* D-3). Ignored when `requeue` is `true` (a retry is not a failure).
|
|
93
|
+
*/
|
|
65
94
|
nack(id: string, opts?: {
|
|
66
95
|
requeue?: boolean;
|
|
96
|
+
error?: unknown;
|
|
67
97
|
}): boolean;
|
|
68
98
|
/**
|
|
69
99
|
* Remove a job by id regardless of its current state. Returns `true` if
|
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
jobEventKeyOf,
|
|
5
5
|
jobFlow,
|
|
6
6
|
jobQueue
|
|
7
|
-
} from "../../chunk-
|
|
7
|
+
} from "../../chunk-AQAKDE7F.js";
|
|
8
8
|
import "../../chunk-FMPF42Q4.js";
|
|
9
|
-
import "../../chunk-
|
|
9
|
+
import "../../chunk-C5QD5DQX.js";
|
|
10
10
|
import "../../chunk-AZDQPQ3V.js";
|
|
11
11
|
export {
|
|
12
12
|
JobFlowGraph,
|