@jini-ai/integrations 0.3.3 → 0.3.5
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/media-providers/dispatch/async-operation-store.d.ts +46 -5
- package/dist/media-providers/dispatch/async-operation-store.d.ts.map +1 -1
- package/dist/media-providers/dispatch/async-operation-store.js +52 -16
- package/dist/media-providers/dispatch/async-operation-store.js.map +1 -1
- package/dist/media-providers/dispatch/index.d.ts +3 -1
- package/dist/media-providers/dispatch/index.d.ts.map +1 -1
- package/dist/media-providers/dispatch/index.js +2 -1
- package/dist/media-providers/dispatch/index.js.map +1 -1
- package/dist/media-providers/dispatch/operation-runtime.d.ts +8 -0
- package/dist/media-providers/dispatch/operation-runtime.d.ts.map +1 -1
- package/dist/media-providers/dispatch/operation-runtime.js +79 -27
- package/dist/media-providers/dispatch/operation-runtime.js.map +1 -1
- package/dist/media-providers/dispatch/sqlite-async-operation-store.d.ts +16 -0
- package/dist/media-providers/dispatch/sqlite-async-operation-store.d.ts.map +1 -0
- package/dist/media-providers/dispatch/sqlite-async-operation-store.js +194 -0
- package/dist/media-providers/dispatch/sqlite-async-operation-store.js.map +1 -0
- package/dist/media-providers/providers.js +3 -3
- package/dist/media-providers/providers.js.map +1 -1
- package/dist/media-providers/types.d.ts +9 -1
- package/dist/media-providers/types.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -37,6 +37,13 @@ export type AsyncOperationStatus = 'submitted' | 'polling' | 'succeeded' | 'fail
|
|
|
37
37
|
* rather than a second migration playbook.
|
|
38
38
|
*/
|
|
39
39
|
export declare const ASYNC_OPERATION_SCHEMA_VERSION = 1;
|
|
40
|
+
/**
|
|
41
|
+
* Exported (unlike the in-memory-only helpers below it) so a durable adapter — see
|
|
42
|
+
* `sqlite-async-operation-store.ts` — enforces the identical terminal-status and transition rules
|
|
43
|
+
* without hand-copying this table: a second copy is exactly the kind of hand-maintained mirror
|
|
44
|
+
* that drifts silently the next time this one changes.
|
|
45
|
+
*/
|
|
46
|
+
export declare const TERMINAL_STATUSES: ReadonlySet<AsyncOperationStatus>;
|
|
40
47
|
export declare const CREDENTIAL_IN_STATE_MESSAGE = "async operation state must never carry credential material \u2014 credentials are re-resolved per poll tick through the signer seam";
|
|
41
48
|
export interface AsyncOperationError {
|
|
42
49
|
readonly message: string;
|
|
@@ -94,6 +101,21 @@ export interface AsyncOperationPatch {
|
|
|
94
101
|
readonly leaseOwner?: string | null;
|
|
95
102
|
readonly leaseExpiresAt?: number | null;
|
|
96
103
|
}
|
|
104
|
+
export interface AsyncOperationUpdateOptions {
|
|
105
|
+
/**
|
|
106
|
+
* Fences the write to a specific lease, the same way `releaseLease` fences its own write: the
|
|
107
|
+
* patch is applied only while the row's current `leaseOwner` still equals this value. Omit for
|
|
108
|
+
* writes that happen outside a lease (e.g. `startOperation`'s pre-claim persistence) — those
|
|
109
|
+
* apply unconditionally, as before.
|
|
110
|
+
*
|
|
111
|
+
* Without this, a worker whose lease expired and was reclaimed by another worker can still
|
|
112
|
+
* overwrite whatever that newer owner has since written (`update` took no ownership check at
|
|
113
|
+
* all), breaking the single-worker guarantee `claimDue` exists to provide. A mismatched fence is
|
|
114
|
+
* a no-op, not an error — the caller's write intent is stale, not wrong — and the row is
|
|
115
|
+
* returned unchanged.
|
|
116
|
+
*/
|
|
117
|
+
readonly leaseOwner?: string;
|
|
118
|
+
}
|
|
97
119
|
export interface AsyncOperationClaimOptions {
|
|
98
120
|
readonly now: number;
|
|
99
121
|
readonly leaseOwner: string;
|
|
@@ -109,11 +131,26 @@ export interface AsyncOperationReconcileResult {
|
|
|
109
131
|
export interface AsyncOperationStore {
|
|
110
132
|
create(input: AsyncOperationCreateInput): Promise<AsyncOperationRecord>;
|
|
111
133
|
get(id: string): Promise<AsyncOperationRecord | null>;
|
|
112
|
-
|
|
134
|
+
/**
|
|
135
|
+
* Applies `patch`. Pass `options.leaseOwner` to fence the write to a lease the caller believes it
|
|
136
|
+
* holds — see `AsyncOperationUpdateOptions`. Omitted, the write applies unconditionally (the
|
|
137
|
+
* pre-lease case, e.g. `startOperation`'s initial persistence).
|
|
138
|
+
*/
|
|
139
|
+
update(id: string, patch: AsyncOperationPatch, options?: AsyncOperationUpdateOptions): Promise<AsyncOperationRecord | null>;
|
|
113
140
|
listByOwner(ownerRef: string): Promise<AsyncOperationRecord[]>;
|
|
114
141
|
/** Atomically leases every due, unleased, non-terminal operation and returns the leased rows. */
|
|
115
142
|
claimDue(options: AsyncOperationClaimOptions): Promise<AsyncOperationRecord[]>;
|
|
116
|
-
|
|
143
|
+
/**
|
|
144
|
+
* Releases a lease this caller believes it holds. Fenced on `leaseOwner`: a release only takes
|
|
145
|
+
* effect while the row's current `leaseOwner` still equals the one passed here (the equivalent
|
|
146
|
+
* SQL is a conditional `UPDATE ... WHERE id = ? AND lease_owner = ?`). Without this fence, a
|
|
147
|
+
* worker that outlives its own lease (e.g. a slow poll past `leaseMs`) can clear whichever
|
|
148
|
+
* worker legitimately reclaimed the row after it expired, breaking the single-worker guarantee
|
|
149
|
+
* `claimDue` exists to provide. A release for a row the caller no longer owns — because it
|
|
150
|
+
* never claimed it, or another worker has since reclaimed it — is a no-op, not an error: the
|
|
151
|
+
* caller's intent ("I'm done, let someone else have it") is already satisfied either way.
|
|
152
|
+
*/
|
|
153
|
+
releaseLease(id: string, leaseOwner: string): Promise<void>;
|
|
117
154
|
/**
|
|
118
155
|
* Boot-time recovery. Unlike `MediaTaskStore.reconcileOnBoot`, this does NOT terminate in-flight
|
|
119
156
|
* work: a vendor-side job outlives our process, so the row stays pollable and only its dead
|
|
@@ -125,10 +162,12 @@ export interface AsyncOperationStore {
|
|
|
125
162
|
}): Promise<AsyncOperationReconcileResult>;
|
|
126
163
|
}
|
|
127
164
|
/**
|
|
128
|
-
* Rejects
|
|
165
|
+
* Rejects anything in an operation `state` object outside the resumption-handle allowlist —
|
|
166
|
+
* which, as a consequence, rejects credential material regardless of what key name it arrives
|
|
167
|
+
* under (see `ALLOWED_STATE_KEYS`).
|
|
129
168
|
*
|
|
130
|
-
* @throws `Error
|
|
131
|
-
* `
|
|
169
|
+
* @throws `Error` (message starts with `CREDENTIAL_IN_STATE_MESSAGE`, naming the offending key)
|
|
170
|
+
* when any key at any depth is not in `ALLOWED_STATE_KEYS`.
|
|
132
171
|
* @complexity O(n) in the total number of keys, bounded by `MAX_STATE_DEPTH` against a cyclic or
|
|
133
172
|
* pathologically nested object.
|
|
134
173
|
*/
|
|
@@ -145,6 +184,8 @@ export declare function assertNoCredentialMaterial(state: Readonly<Record<string
|
|
|
145
184
|
* @complexity O(1).
|
|
146
185
|
*/
|
|
147
186
|
export declare function hydrateAsyncOperationRecord(raw: Record<string, unknown>): AsyncOperationRecord;
|
|
187
|
+
/** Exported for the same reason as `TERMINAL_STATUSES` — see its doc. */
|
|
188
|
+
export declare function assertTransition(from: AsyncOperationStatus, to: AsyncOperationStatus): void;
|
|
148
189
|
/**
|
|
149
190
|
* Creates the in-memory reference `AsyncOperationStore`. No persistence — a durable adapter
|
|
150
191
|
* implements the same interface; every method here is written so the equivalent SQL is a direct
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-operation-store.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/async-operation-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhG;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"async-operation-store.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/async-operation-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,13 @@
|
|
|
30
30
|
* rather than a second migration playbook.
|
|
31
31
|
*/
|
|
32
32
|
export const ASYNC_OPERATION_SCHEMA_VERSION = 1;
|
|
33
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Exported (unlike the in-memory-only helpers below it) so a durable adapter — see
|
|
35
|
+
* `sqlite-async-operation-store.ts` — enforces the identical terminal-status and transition rules
|
|
36
|
+
* without hand-copying this table: a second copy is exactly the kind of hand-maintained mirror
|
|
37
|
+
* that drifts silently the next time this one changes.
|
|
38
|
+
*/
|
|
39
|
+
export const TERMINAL_STATUSES = new Set(['succeeded', 'failed', 'unknown']);
|
|
34
40
|
const ALLOWED_TRANSITIONS = {
|
|
35
41
|
submitted: new Set(['submitted', 'polling', 'succeeded', 'failed', 'unknown']),
|
|
36
42
|
polling: new Set(['polling', 'succeeded', 'failed', 'unknown']),
|
|
@@ -39,19 +45,36 @@ const ALLOWED_TRANSITIONS = {
|
|
|
39
45
|
unknown: new Set(['unknown']),
|
|
40
46
|
};
|
|
41
47
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
48
|
+
* The complete set of key names an operation `state` object may carry, at any depth — this
|
|
49
|
+
* package's own `PollingVendorAdapter`s' resumption handles (currently only `jobId`; see
|
|
50
|
+
* `providers/imagerouter-video-async.ts`), never anything a `RequestSigner` needs.
|
|
51
|
+
*
|
|
52
|
+
* This is deliberately an allowlist, not a denylist. A denylist of "known credential-shaped
|
|
53
|
+
* names" was tried first (`apiKey`, `authorization`, `secret`, ...) and it missed `clientSecret` /
|
|
54
|
+
* `client_secret` on the very first adapter shape that could plausibly return one — and it can
|
|
55
|
+
* never be complete, because the set of names a vendor's response body (and the adapter written
|
|
56
|
+
* against it) might use for a credential is unbounded and outside this package's control. An
|
|
57
|
+
* allowlist inverts the failure mode: it fails *closed*. A legitimate new field an adapter starts
|
|
58
|
+
* returning is a loud registration error here — extend this set, deliberately, one entry at a
|
|
59
|
+
* time — never a silent path for a secret to become durable under a name this file never
|
|
60
|
+
* anticipated.
|
|
61
|
+
*/
|
|
62
|
+
const ALLOWED_STATE_KEYS = new Set(['jobId']);
|
|
63
|
+
/**
|
|
64
|
+
* Depth bound for `assertNoCredentialMaterial`'s walk. A cyclic or pathologically nested `state`
|
|
65
|
+
* object must not hang the check forever, but the bound must fail *closed*: a key past this depth
|
|
66
|
+
* is refused outright (see the walk in `assertNoCredentialMaterial`), not silently skipped — a
|
|
67
|
+
* silent skip would let a key nested past this depth carry credential material undetected.
|
|
47
68
|
*/
|
|
48
|
-
const
|
|
69
|
+
const MAX_STATE_DEPTH = 12;
|
|
49
70
|
export const CREDENTIAL_IN_STATE_MESSAGE = 'async operation state must never carry credential material — credentials are re-resolved per poll tick through the signer seam';
|
|
50
71
|
/**
|
|
51
|
-
* Rejects
|
|
72
|
+
* Rejects anything in an operation `state` object outside the resumption-handle allowlist —
|
|
73
|
+
* which, as a consequence, rejects credential material regardless of what key name it arrives
|
|
74
|
+
* under (see `ALLOWED_STATE_KEYS`).
|
|
52
75
|
*
|
|
53
|
-
* @throws `Error
|
|
54
|
-
* `
|
|
76
|
+
* @throws `Error` (message starts with `CREDENTIAL_IN_STATE_MESSAGE`, naming the offending key)
|
|
77
|
+
* when any key at any depth is not in `ALLOWED_STATE_KEYS`.
|
|
55
78
|
* @complexity O(n) in the total number of keys, bounded by `MAX_STATE_DEPTH` against a cyclic or
|
|
56
79
|
* pathologically nested object.
|
|
57
80
|
*/
|
|
@@ -60,8 +83,11 @@ export function assertNoCredentialMaterial(state) {
|
|
|
60
83
|
return;
|
|
61
84
|
const seen = new Set();
|
|
62
85
|
const walk = (value, depth) => {
|
|
63
|
-
if (
|
|
86
|
+
if (value === null || typeof value !== 'object')
|
|
64
87
|
return;
|
|
88
|
+
if (depth > MAX_STATE_DEPTH) {
|
|
89
|
+
throw new Error(`${CREDENTIAL_IN_STATE_MESSAGE} (state nesting exceeds ${MAX_STATE_DEPTH} levels — this allowlist cannot verify keys past that depth, so the object is rejected outright rather than silently accepted)`);
|
|
90
|
+
}
|
|
65
91
|
if (seen.has(value))
|
|
66
92
|
return;
|
|
67
93
|
seen.add(value);
|
|
@@ -71,8 +97,8 @@ export function assertNoCredentialMaterial(state) {
|
|
|
71
97
|
return;
|
|
72
98
|
}
|
|
73
99
|
for (const [key, entry] of Object.entries(value)) {
|
|
74
|
-
if (
|
|
75
|
-
throw new Error(CREDENTIAL_IN_STATE_MESSAGE);
|
|
100
|
+
if (!ALLOWED_STATE_KEYS.has(key)) {
|
|
101
|
+
throw new Error(`${CREDENTIAL_IN_STATE_MESSAGE} (key "${key}" is not in the resumption-handle allowlist — add it there if it is genuinely not credential material)`);
|
|
76
102
|
}
|
|
77
103
|
walk(entry, depth + 1);
|
|
78
104
|
}
|
|
@@ -126,7 +152,8 @@ function cloneRecord(row) {
|
|
|
126
152
|
error: row.error === null ? null : { ...row.error },
|
|
127
153
|
};
|
|
128
154
|
}
|
|
129
|
-
|
|
155
|
+
/** Exported for the same reason as `TERMINAL_STATUSES` — see its doc. */
|
|
156
|
+
export function assertTransition(from, to) {
|
|
130
157
|
if (!ALLOWED_TRANSITIONS[from]) {
|
|
131
158
|
throw new RangeError(`Invalid async operation status: "${from}"`);
|
|
132
159
|
}
|
|
@@ -181,10 +208,15 @@ export function createInMemoryAsyncOperationStore() {
|
|
|
181
208
|
const row = requireRow(id);
|
|
182
209
|
return row ? cloneRecord(row) : null;
|
|
183
210
|
},
|
|
184
|
-
async update(id, patch) {
|
|
211
|
+
async update(id, patch, options) {
|
|
185
212
|
const existing = requireRow(id);
|
|
186
213
|
if (!existing)
|
|
187
214
|
return null;
|
|
215
|
+
// Fenced, like releaseLease: a caller writing against a lease it no longer holds gets a
|
|
216
|
+
// no-op, not an overwrite of whoever holds (or now holds none of) it.
|
|
217
|
+
if (options?.leaseOwner !== undefined && existing.leaseOwner !== options.leaseOwner) {
|
|
218
|
+
return cloneRecord(existing);
|
|
219
|
+
}
|
|
188
220
|
if ('state' in patch)
|
|
189
221
|
assertNoCredentialMaterial(patch.state);
|
|
190
222
|
const status = patch.status ?? existing.status;
|
|
@@ -237,10 +269,14 @@ export function createInMemoryAsyncOperationStore() {
|
|
|
237
269
|
}
|
|
238
270
|
return claimed;
|
|
239
271
|
},
|
|
240
|
-
async releaseLease(id) {
|
|
272
|
+
async releaseLease(id, leaseOwner) {
|
|
241
273
|
const row = requireRow(id);
|
|
242
274
|
if (!row)
|
|
243
275
|
return;
|
|
276
|
+
// Fenced: a stale owner's late release must not clear a lease another worker has since
|
|
277
|
+
// legitimately reclaimed. See the interface doc for why this is not merely defensive.
|
|
278
|
+
if (row.leaseOwner !== leaseOwner)
|
|
279
|
+
return;
|
|
244
280
|
rows.set(id, { ...row, leaseOwner: null, leaseExpiresAt: null, updatedAt: Date.now() });
|
|
245
281
|
},
|
|
246
282
|
async reconcileOnBoot(options) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-operation-store.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/async-operation-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,MAAM,iBAAiB,GAAsC,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"async-operation-store.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/async-operation-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,8 +25,10 @@ export { ASYNC_OPERATION_SCHEMA_VERSION, assertNoCredentialMaterial, createInMem
|
|
|
25
25
|
export type { AsyncOperationClaimOptions, AsyncOperationCreateInput, AsyncOperationError, AsyncOperationPatch, AsyncOperationReconcileResult, AsyncOperationRecord, AsyncOperationResult, AsyncOperationStatus, AsyncOperationStore, } from './async-operation-store.js';
|
|
26
26
|
export { createBearerSigner, withUnsignedRequestInit } from './polling-adapter.js';
|
|
27
27
|
export type { AnyPollingVendorAdapter, ExpectedLatencyClass, PollOutcome, PollingVendorAdapter, RequestSigner, SignedVendorRequest, SubmitOutcome, UnsignedVendorRequest, } from './polling-adapter.js';
|
|
28
|
-
export { DEFAULT_DEADLINE_MS, DEFAULT_GRACE_MS, DEFAULT_MAX_ATTEMPTS, DEFAULT_POLL_INTERVAL_MS, pollDueOperations, recoverAfterRestart, startOperation, } from './operation-runtime.js';
|
|
28
|
+
export { DEFAULT_DEADLINE_MS, DEFAULT_GRACE_MS, DEFAULT_MAX_ATTEMPTS, DEFAULT_PERSIST_RETRY_DELAYS_MS, DEFAULT_POLL_INTERVAL_MS, pollDueOperations, recoverAfterRestart, startOperation, } from './operation-runtime.js';
|
|
29
29
|
export type { OperationRuntimeDeps, PollDueParams, PollDueStats, RecoverParams, RecoverResult, StartOperationOutcome, StartOperationParams, } from './operation-runtime.js';
|
|
30
|
+
export { createSqliteAsyncOperationStore } from './sqlite-async-operation-store.js';
|
|
31
|
+
export type { SqliteAsyncOperationStore } from './sqlite-async-operation-store.js';
|
|
30
32
|
export { createImageRouterVideoPollingAdapter } from './providers/imagerouter-video-async.js';
|
|
31
33
|
export type { ImageRouterVideoConfig, ImageRouterVideoMeta } from './providers/imagerouter-video-async.js';
|
|
32
34
|
export type { HexEnvelopeAudioMeta, HexEnvelopeAudioParserOptions, RawBytesParserOptions } from './response-parsers.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export { createHexEnvelopeAudioParser, createRawBytesParser } from './response-p
|
|
|
26
26
|
// `operation-runtime.ts`'s module doc for the persist-before-fetch design.
|
|
27
27
|
export { ASYNC_OPERATION_SCHEMA_VERSION, assertNoCredentialMaterial, createInMemoryAsyncOperationStore, CREDENTIAL_IN_STATE_MESSAGE, hydrateAsyncOperationRecord, } from './async-operation-store.js';
|
|
28
28
|
export { createBearerSigner, withUnsignedRequestInit } from './polling-adapter.js';
|
|
29
|
-
export { DEFAULT_DEADLINE_MS, DEFAULT_GRACE_MS, DEFAULT_MAX_ATTEMPTS, DEFAULT_POLL_INTERVAL_MS, pollDueOperations, recoverAfterRestart, startOperation, } from './operation-runtime.js';
|
|
29
|
+
export { DEFAULT_DEADLINE_MS, DEFAULT_GRACE_MS, DEFAULT_MAX_ATTEMPTS, DEFAULT_PERSIST_RETRY_DELAYS_MS, DEFAULT_POLL_INTERVAL_MS, pollDueOperations, recoverAfterRestart, startOperation, } from './operation-runtime.js';
|
|
30
|
+
export { createSqliteAsyncOperationStore } from './sqlite-async-operation-store.js';
|
|
30
31
|
export { createImageRouterVideoPollingAdapter } from './providers/imagerouter-video-async.js';
|
|
31
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC9H,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAYhK,sEAAsE;AACtE,0EAA0E;AAC1E,wCAAwC;AACxC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,gGAAgG;AAChG,4FAA4F;AAC5F,2EAA2E;AAC3E,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAWnF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAUhC,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC9H,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChH,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAYhK,sEAAsE;AACtE,0EAA0E;AAC1E,wCAAwC;AACxC,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC3F,gGAAgG;AAChG,4FAA4F;AAC5F,2EAA2E;AAC3E,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,EAC1B,iCAAiC,EACjC,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAYpC,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAWnF,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,+BAA+B,EAC/B,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,wBAAwB,CAAC;AAUhC,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC"}
|
|
@@ -6,12 +6,20 @@ export declare const DEFAULT_GRACE_MS = 4000;
|
|
|
6
6
|
export declare const DEFAULT_MAX_ATTEMPTS = 60;
|
|
7
7
|
export declare const DEFAULT_DEADLINE_MS: number;
|
|
8
8
|
export declare const DEFAULT_POLL_INTERVAL_MS = 5000;
|
|
9
|
+
/**
|
|
10
|
+
* Backoff between retries of the write that records a vendor job handle after a successful
|
|
11
|
+
* submit. A handle that made it past the vendor round trip must not be dropped just because the
|
|
12
|
+
* very next write is transiently unlucky — see `startOperation`'s post-submit persistence.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEFAULT_PERSIST_RETRY_DELAYS_MS: readonly number[];
|
|
9
15
|
export interface OperationRuntimeDeps {
|
|
10
16
|
readonly store: AsyncOperationStore;
|
|
11
17
|
readonly signer: RequestSigner;
|
|
12
18
|
readonly fetchImpl?: typeof fetch;
|
|
13
19
|
readonly now?: () => number;
|
|
14
20
|
readonly newId?: () => string;
|
|
21
|
+
/** Overrides `DEFAULT_PERSIST_RETRY_DELAYS_MS`. Tests pass a short/empty array to avoid real delays. */
|
|
22
|
+
readonly persistRetryDelaysMs?: readonly number[];
|
|
15
23
|
}
|
|
16
24
|
export interface StartOperationParams<Meta> {
|
|
17
25
|
readonly adapter: PollingVendorAdapter<Meta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-runtime.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/operation-runtime.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"operation-runtime.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/operation-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,14 @@ export const DEFAULT_GRACE_MS = 4_000;
|
|
|
29
29
|
export const DEFAULT_MAX_ATTEMPTS = 60;
|
|
30
30
|
export const DEFAULT_DEADLINE_MS = 15 * 60_000;
|
|
31
31
|
export const DEFAULT_POLL_INTERVAL_MS = 5_000;
|
|
32
|
+
/**
|
|
33
|
+
* Backoff between retries of the write that records a vendor job handle after a successful
|
|
34
|
+
* submit. A handle that made it past the vendor round trip must not be dropped just because the
|
|
35
|
+
* very next write is transiently unlucky — see `startOperation`'s post-submit persistence.
|
|
36
|
+
*/
|
|
37
|
+
export const DEFAULT_PERSIST_RETRY_DELAYS_MS = [50, 150, 400];
|
|
38
|
+
/** The lease identity used by boot recovery's claim-then-release read, distinct from any real worker. */
|
|
39
|
+
const RECOVERY_LEASE_OWNER = '__recovery__';
|
|
32
40
|
function resultToPayload(result) {
|
|
33
41
|
return {
|
|
34
42
|
bytesBase64: result.bytes.toString('base64'),
|
|
@@ -46,6 +54,43 @@ async function performSigned(deps, request, timeoutMs) {
|
|
|
46
54
|
return doFetch(signed.url, signed.init);
|
|
47
55
|
return fetchWithTimeout(signed.url, signed.init, { timeoutMs });
|
|
48
56
|
}
|
|
57
|
+
/** Issues the submit call and parses it. Isolated from persistence so callers can tell "nothing was obtained from the vendor" apart from "a handle was obtained but recording it failed" — only the former is safe to treat as terminal. */
|
|
58
|
+
async function submitAndParse(deps, params) {
|
|
59
|
+
try {
|
|
60
|
+
const request = params.adapter.buildSubmitRequest(params.ctx);
|
|
61
|
+
const resp = await performSigned(deps, request, FETCH_TIMEOUT_MS.GENERATE);
|
|
62
|
+
const outcome = await params.adapter.parseSubmitResponse(resp, params.ctx, request);
|
|
63
|
+
return { ok: true, outcome };
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return { ok: false, error };
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Applies a store patch, retrying on failure per `retryDelaysMs`. Never throws — callers past
|
|
71
|
+
* this point already hold a real vendor job handle or a finished result, so the write is retried
|
|
72
|
+
* rather than let a transient failure fall through to a `'failed'` label that would erase it.
|
|
73
|
+
*
|
|
74
|
+
* @returns Whether the write eventually succeeded. On `false`, the row is left exactly as it was
|
|
75
|
+
* before this call — for the post-submit write, that means `'submitted'`, which
|
|
76
|
+
* `recoverAfterRestart`'s crash-gap handling already knows how to reconcile safely, rather than
|
|
77
|
+
* a `'failed'` row that recovery ignores as terminal.
|
|
78
|
+
* @complexity O(retryDelaysMs.length) store round trips in the worst case.
|
|
79
|
+
*/
|
|
80
|
+
async function persistWithRetry(store, operationId, patch, retryDelaysMs) {
|
|
81
|
+
for (let attempt = 0; attempt <= retryDelaysMs.length; attempt += 1) {
|
|
82
|
+
try {
|
|
83
|
+
await store.update(operationId, patch);
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
if (attempt === retryDelaysMs.length)
|
|
88
|
+
return false;
|
|
89
|
+
await new Promise((resolve) => setTimeout(resolve, retryDelaysMs[attempt]));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
49
94
|
/**
|
|
50
95
|
* Persists the operation row, issues the submit, and races it against the grace window.
|
|
51
96
|
*
|
|
@@ -69,25 +114,29 @@ export async function startOperation(deps, params) {
|
|
|
69
114
|
nextPollAt: startedAt,
|
|
70
115
|
});
|
|
71
116
|
const settle = (async () => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
await deps.store.update(operationId, {
|
|
81
|
-
status: 'polling',
|
|
82
|
-
state: outcome.state,
|
|
83
|
-
nextPollAt: now() + (outcome.retryAfterMs ?? DEFAULT_POLL_INTERVAL_MS),
|
|
84
|
-
});
|
|
85
|
-
return { done: false, operationId };
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
await deps.store.update(operationId, { status: 'failed', error: toOperationError(error) });
|
|
117
|
+
const submitted = await submitAndParse(deps, params);
|
|
118
|
+
if (!submitted.ok) {
|
|
119
|
+
// Nothing was obtained from the vendor — no job handle exists to protect, so a single
|
|
120
|
+
// terminal write is safe. Best-effort even here: a write failure at this point must not
|
|
121
|
+
// reject `settle` (see the `finally` below) and leaves the row `'submitted'`, which is at
|
|
122
|
+
// least as safe as `'failed'` would have been.
|
|
123
|
+
await deps.store.update(operationId, { status: 'failed', error: toOperationError(submitted.error) }).catch(() => undefined);
|
|
89
124
|
return { done: false, operationId };
|
|
90
125
|
}
|
|
126
|
+
const { outcome } = submitted;
|
|
127
|
+
// Past this point a vendor job handle exists (or the job already finished) — losing either
|
|
128
|
+
// to a transient store write is strictly worse than the failure it would otherwise record,
|
|
129
|
+
// so the write is retried before anything is allowed to fall back to a `'failed'` label.
|
|
130
|
+
const patch = outcome.kind === 'complete'
|
|
131
|
+
? { status: 'succeeded', result: resultToPayload(outcome.result) }
|
|
132
|
+
: { status: 'polling', state: outcome.state, nextPollAt: now() + (outcome.retryAfterMs ?? DEFAULT_POLL_INTERVAL_MS) };
|
|
133
|
+
await persistWithRetry(deps.store, operationId, patch, deps.persistRetryDelaysMs ?? DEFAULT_PERSIST_RETRY_DELAYS_MS);
|
|
134
|
+
// Even on exhausted retries there is nothing safer left to do here: the row stays exactly as
|
|
135
|
+
// `create()` left it (`'submitted'`), and `recoverAfterRestart`'s crash-gap handling exists
|
|
136
|
+
// precisely for a row whose outcome could not be confirmed durable.
|
|
137
|
+
if (outcome.kind === 'complete')
|
|
138
|
+
return { done: true, operationId, result: outcome.result };
|
|
139
|
+
return { done: false, operationId };
|
|
91
140
|
})();
|
|
92
141
|
const graceMs = params.graceMs ?? DEFAULT_GRACE_MS;
|
|
93
142
|
// A `'slow'` vendor is not worth making anyone wait on: the race is still the same single code
|
|
@@ -142,7 +191,7 @@ export async function pollDueOperations(deps, params) {
|
|
|
142
191
|
message: 'async operation passed its absolute deadline — vendor-side effect is undetermined',
|
|
143
192
|
code: 'DEADLINE_EXPIRED',
|
|
144
193
|
},
|
|
145
|
-
});
|
|
194
|
+
}, { leaseOwner: params.leaseOwner });
|
|
146
195
|
unknown += 1;
|
|
147
196
|
continue;
|
|
148
197
|
}
|
|
@@ -153,7 +202,7 @@ export async function pollDueOperations(deps, params) {
|
|
|
153
202
|
message: `async operation exhausted its ${row.maxAttempts} poll attempts without a terminal answer`,
|
|
154
203
|
code: 'ATTEMPTS_EXHAUSTED',
|
|
155
204
|
},
|
|
156
|
-
});
|
|
205
|
+
}, { leaseOwner: params.leaseOwner });
|
|
157
206
|
failed += 1;
|
|
158
207
|
continue;
|
|
159
208
|
}
|
|
@@ -162,7 +211,7 @@ export async function pollDueOperations(deps, params) {
|
|
|
162
211
|
await deps.store.update(row.id, {
|
|
163
212
|
status: 'failed',
|
|
164
213
|
error: { message: `no polling adapter registered for "${row.providerId}" / "${row.routeKey}"`, code: 'NO_ADAPTER' },
|
|
165
|
-
});
|
|
214
|
+
}, { leaseOwner: params.leaseOwner });
|
|
166
215
|
failed += 1;
|
|
167
216
|
continue;
|
|
168
217
|
}
|
|
@@ -171,12 +220,15 @@ export async function pollDueOperations(deps, params) {
|
|
|
171
220
|
// Credentials are resolved here, on this tick — never read from the row.
|
|
172
221
|
const resp = await performSigned(deps, request, FETCH_TIMEOUT_MS.QUICK);
|
|
173
222
|
const outcome = await adapter.parsePollResponse(resp, ctx, row.state ?? {});
|
|
223
|
+
// Every write below is fenced on the lease this tick claimed: if it expired and another
|
|
224
|
+
// worker has since reclaimed (or finished) the row, this write must not clobber that newer
|
|
225
|
+
// outcome — see `AsyncOperationUpdateOptions`.
|
|
174
226
|
if (outcome.kind === 'complete') {
|
|
175
227
|
await deps.store.update(row.id, {
|
|
176
228
|
status: 'succeeded',
|
|
177
229
|
attempts: row.attempts + 1,
|
|
178
230
|
result: resultToPayload(outcome.result),
|
|
179
|
-
});
|
|
231
|
+
}, { leaseOwner: params.leaseOwner });
|
|
180
232
|
completed += 1;
|
|
181
233
|
}
|
|
182
234
|
else if (outcome.kind === 'failed') {
|
|
@@ -184,7 +236,7 @@ export async function pollDueOperations(deps, params) {
|
|
|
184
236
|
status: 'failed',
|
|
185
237
|
attempts: row.attempts + 1,
|
|
186
238
|
error: { message: outcome.message, ...(outcome.code !== undefined ? { code: outcome.code } : {}) },
|
|
187
|
-
});
|
|
239
|
+
}, { leaseOwner: params.leaseOwner });
|
|
188
240
|
failed += 1;
|
|
189
241
|
}
|
|
190
242
|
else {
|
|
@@ -192,7 +244,7 @@ export async function pollDueOperations(deps, params) {
|
|
|
192
244
|
status: 'polling',
|
|
193
245
|
attempts: row.attempts + 1,
|
|
194
246
|
nextPollAt: at + (outcome.retryAfterMs ?? DEFAULT_POLL_INTERVAL_MS),
|
|
195
|
-
});
|
|
247
|
+
}, { leaseOwner: params.leaseOwner });
|
|
196
248
|
pending += 1;
|
|
197
249
|
}
|
|
198
250
|
}
|
|
@@ -204,11 +256,11 @@ export async function pollDueOperations(deps, params) {
|
|
|
204
256
|
attempts: row.attempts + 1,
|
|
205
257
|
nextPollAt: now() + DEFAULT_POLL_INTERVAL_MS,
|
|
206
258
|
error: toOperationError(error),
|
|
207
|
-
});
|
|
259
|
+
}, { leaseOwner: params.leaseOwner });
|
|
208
260
|
pending += 1;
|
|
209
261
|
}
|
|
210
262
|
finally {
|
|
211
|
-
await deps.store.releaseLease(row.id);
|
|
263
|
+
await deps.store.releaseLease(row.id, params.leaseOwner);
|
|
212
264
|
}
|
|
213
265
|
}
|
|
214
266
|
return { claimed: claimed.length, completed, failed, pending, unknown };
|
|
@@ -252,10 +304,10 @@ export async function recoverAfterRestart(deps, params) {
|
|
|
252
304
|
*/
|
|
253
305
|
async function collectSubmitted(store) {
|
|
254
306
|
const seen = new Map();
|
|
255
|
-
for (const row of await store.claimDue({ now: Number.MAX_SAFE_INTEGER, leaseOwner:
|
|
307
|
+
for (const row of await store.claimDue({ now: Number.MAX_SAFE_INTEGER, leaseOwner: RECOVERY_LEASE_OWNER, leaseMs: 0, limit: Number.MAX_SAFE_INTEGER })) {
|
|
256
308
|
if (row.status === 'submitted')
|
|
257
309
|
seen.set(row.id, row);
|
|
258
|
-
await store.releaseLease(row.id);
|
|
310
|
+
await store.releaseLease(row.id, RECOVERY_LEASE_OWNER);
|
|
259
311
|
}
|
|
260
312
|
return [...seen.values()];
|
|
261
313
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation-runtime.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/operation-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"operation-runtime.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/operation-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AsyncOperationStore } from './async-operation-store.js';
|
|
2
|
+
/** An `AsyncOperationStore` backed by a `better-sqlite3` database, plus a `close()` to release the file handle. */
|
|
3
|
+
export interface SqliteAsyncOperationStore extends AsyncOperationStore {
|
|
4
|
+
close(): Promise<void>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Opens (creating if absent) a `better-sqlite3` database at `dbPath` and returns an
|
|
8
|
+
* `AsyncOperationStore` backed by it. Pass `':memory:'` for a non-durable in-process database
|
|
9
|
+
* (useful in tests that want SQL semantics without a file). Schema creation is idempotent
|
|
10
|
+
* (`CREATE TABLE IF NOT EXISTS`), so reopening the same file after a restart resumes from whatever
|
|
11
|
+
* was durably committed — a fresh `createSqliteAsyncOperationStore(dbPath)` call sees every
|
|
12
|
+
* operation exactly as it was left, and `recoverAfterRestart`/`reconcileOnBoot` can then release
|
|
13
|
+
* dead leases and expire blown deadlines.
|
|
14
|
+
*/
|
|
15
|
+
export declare function createSqliteAsyncOperationStore(dbPath: string): Promise<SqliteAsyncOperationStore>;
|
|
16
|
+
//# sourceMappingURL=sqlite-async-operation-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-async-operation-store.d.ts","sourceRoot":"","sources":["../../../src/media-providers/dispatch/sqlite-async-operation-store.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EASV,mBAAmB,EAEpB,MAAM,4BAA4B,CAAC;AAgDpC,mHAAmH;AACnH,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAoNxG"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { ASYNC_OPERATION_SCHEMA_VERSION, assertNoCredentialMaterial, assertTransition, hydrateAsyncOperationRecord, TERMINAL_STATUSES, } from './async-operation-store.js';
|
|
2
|
+
const TERMINAL_LIST = [...TERMINAL_STATUSES];
|
|
3
|
+
/** `status NOT IN (?, ?, ?)` placeholders, built once from `TERMINAL_STATUSES` rather than hardcoded, so this file cannot itself drift from that set. */
|
|
4
|
+
const TERMINAL_PLACEHOLDERS = TERMINAL_LIST.map(() => '?').join(', ');
|
|
5
|
+
function rowToOperation(row) {
|
|
6
|
+
return hydrateAsyncOperationRecord({
|
|
7
|
+
schemaVersion: row.schema_version,
|
|
8
|
+
id: row.id,
|
|
9
|
+
providerId: row.provider_id,
|
|
10
|
+
routeKey: row.route_key,
|
|
11
|
+
ownerRef: row.owner_ref,
|
|
12
|
+
status: row.status,
|
|
13
|
+
attempts: row.attempts,
|
|
14
|
+
maxAttempts: row.max_attempts,
|
|
15
|
+
deadlineAt: row.deadline_at,
|
|
16
|
+
nextPollAt: row.next_poll_at,
|
|
17
|
+
leaseOwner: row.lease_owner,
|
|
18
|
+
leaseExpiresAt: row.lease_expires_at,
|
|
19
|
+
state: row.state === null ? null : JSON.parse(row.state),
|
|
20
|
+
result: row.result === null ? null : JSON.parse(row.result),
|
|
21
|
+
error: row.error === null ? null : JSON.parse(row.error),
|
|
22
|
+
createdAt: row.created_at,
|
|
23
|
+
updatedAt: row.updated_at,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Opens (creating if absent) a `better-sqlite3` database at `dbPath` and returns an
|
|
28
|
+
* `AsyncOperationStore` backed by it. Pass `':memory:'` for a non-durable in-process database
|
|
29
|
+
* (useful in tests that want SQL semantics without a file). Schema creation is idempotent
|
|
30
|
+
* (`CREATE TABLE IF NOT EXISTS`), so reopening the same file after a restart resumes from whatever
|
|
31
|
+
* was durably committed — a fresh `createSqliteAsyncOperationStore(dbPath)` call sees every
|
|
32
|
+
* operation exactly as it was left, and `recoverAfterRestart`/`reconcileOnBoot` can then release
|
|
33
|
+
* dead leases and expire blown deadlines.
|
|
34
|
+
*/
|
|
35
|
+
export async function createSqliteAsyncOperationStore(dbPath) {
|
|
36
|
+
const { default: Database } = await import('better-sqlite3');
|
|
37
|
+
const db = new Database(dbPath);
|
|
38
|
+
db.pragma('journal_mode = WAL');
|
|
39
|
+
db.exec(`
|
|
40
|
+
CREATE TABLE IF NOT EXISTS jini_async_operations (
|
|
41
|
+
id TEXT PRIMARY KEY,
|
|
42
|
+
provider_id TEXT NOT NULL,
|
|
43
|
+
route_key TEXT NOT NULL,
|
|
44
|
+
owner_ref TEXT NOT NULL,
|
|
45
|
+
status TEXT NOT NULL,
|
|
46
|
+
attempts INTEGER NOT NULL,
|
|
47
|
+
max_attempts INTEGER NOT NULL,
|
|
48
|
+
deadline_at INTEGER NOT NULL,
|
|
49
|
+
next_poll_at INTEGER NOT NULL,
|
|
50
|
+
lease_owner TEXT,
|
|
51
|
+
lease_expires_at INTEGER,
|
|
52
|
+
state TEXT,
|
|
53
|
+
result TEXT,
|
|
54
|
+
error TEXT,
|
|
55
|
+
schema_version INTEGER NOT NULL,
|
|
56
|
+
created_at INTEGER NOT NULL,
|
|
57
|
+
updated_at INTEGER NOT NULL
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
CREATE INDEX IF NOT EXISTS idx_jini_async_operations_owner ON jini_async_operations (owner_ref);
|
|
61
|
+
CREATE INDEX IF NOT EXISTS idx_jini_async_operations_claim ON jini_async_operations (status, next_poll_at);
|
|
62
|
+
`);
|
|
63
|
+
const getStmt = db.prepare('SELECT * FROM jini_async_operations WHERE id = ?');
|
|
64
|
+
const insertStmt = db.prepare(`
|
|
65
|
+
INSERT INTO jini_async_operations
|
|
66
|
+
(id, provider_id, route_key, owner_ref, status, attempts, max_attempts, deadline_at, next_poll_at, state, result, error, schema_version, created_at, updated_at)
|
|
67
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NULL, NULL, ?, ?, ?)
|
|
68
|
+
`);
|
|
69
|
+
const updateStmt = db.prepare(`
|
|
70
|
+
UPDATE jini_async_operations
|
|
71
|
+
SET status = ?, attempts = ?, next_poll_at = ?, state = ?, result = ?, error = ?, lease_owner = ?, lease_expires_at = ?, updated_at = ?
|
|
72
|
+
WHERE id = ?
|
|
73
|
+
`);
|
|
74
|
+
const listByOwnerStmt = db.prepare('SELECT * FROM jini_async_operations WHERE owner_ref = ? ORDER BY created_at ASC');
|
|
75
|
+
const releaseLeaseStmt = db.prepare('UPDATE jini_async_operations SET lease_owner = NULL, lease_expires_at = NULL, updated_at = ? WHERE id = ? AND lease_owner = ?');
|
|
76
|
+
// Variadic bind params (a `now`/`limit` mix plus a spread of `TERMINAL_LIST`) don't fit a fixed
|
|
77
|
+
// tuple type — `better-sqlite3`'s `Statement` defaults to `unknown[]` when left unspecified.
|
|
78
|
+
const claimDueStmt = db.prepare(`
|
|
79
|
+
UPDATE jini_async_operations
|
|
80
|
+
SET lease_owner = ?, lease_expires_at = ?, updated_at = ?
|
|
81
|
+
WHERE id IN (
|
|
82
|
+
SELECT id FROM jini_async_operations
|
|
83
|
+
WHERE status NOT IN (${TERMINAL_PLACEHOLDERS})
|
|
84
|
+
AND next_poll_at <= ?
|
|
85
|
+
AND (lease_expires_at IS NULL OR lease_expires_at <= ?)
|
|
86
|
+
ORDER BY next_poll_at ASC
|
|
87
|
+
LIMIT ?
|
|
88
|
+
)
|
|
89
|
+
RETURNING *
|
|
90
|
+
`);
|
|
91
|
+
const deadlineExpireStmt = db.prepare(`
|
|
92
|
+
UPDATE jini_async_operations
|
|
93
|
+
SET status = 'unknown', lease_owner = NULL, lease_expires_at = NULL, error = ?, updated_at = ?
|
|
94
|
+
WHERE status NOT IN (${TERMINAL_PLACEHOLDERS}) AND deadline_at <= ?
|
|
95
|
+
RETURNING *
|
|
96
|
+
`);
|
|
97
|
+
const releaseDeadLeasesStmt = db.prepare(`
|
|
98
|
+
UPDATE jini_async_operations
|
|
99
|
+
SET lease_owner = NULL, lease_expires_at = NULL, updated_at = ?
|
|
100
|
+
WHERE status NOT IN (${TERMINAL_PLACEHOLDERS}) AND lease_owner IS NOT NULL AND (lease_expires_at IS NULL OR lease_expires_at <= ?)
|
|
101
|
+
RETURNING *
|
|
102
|
+
`);
|
|
103
|
+
function stateJson(state) {
|
|
104
|
+
return state == null ? null : JSON.stringify(state);
|
|
105
|
+
}
|
|
106
|
+
const createTxn = db.transaction((input) => {
|
|
107
|
+
if (getStmt.get(input.id)) {
|
|
108
|
+
throw new Error(`async operation "${input.id}" already exists`);
|
|
109
|
+
}
|
|
110
|
+
if (!Number.isFinite(input.maxAttempts) || input.maxAttempts < 1) {
|
|
111
|
+
throw new RangeError(`Invalid maxAttempts: ${input.maxAttempts} must be a finite number >= 1`);
|
|
112
|
+
}
|
|
113
|
+
if (!Number.isFinite(input.deadlineAt)) {
|
|
114
|
+
throw new RangeError(`Invalid deadlineAt: ${input.deadlineAt} must be a finite epoch-ms timestamp`);
|
|
115
|
+
}
|
|
116
|
+
assertNoCredentialMaterial(input.state);
|
|
117
|
+
const now = Date.now();
|
|
118
|
+
const status = input.status ?? 'submitted';
|
|
119
|
+
insertStmt.run(input.id, input.providerId, input.routeKey, input.ownerRef, status, 0, input.maxAttempts, input.deadlineAt, input.nextPollAt ?? now, stateJson(input.state), ASYNC_OPERATION_SCHEMA_VERSION, now, now);
|
|
120
|
+
return rowToOperation(getStmt.get(input.id));
|
|
121
|
+
});
|
|
122
|
+
const updateTxn = db.transaction((id, patch, options) => {
|
|
123
|
+
const existingRow = getStmt.get(id);
|
|
124
|
+
if (!existingRow)
|
|
125
|
+
return null;
|
|
126
|
+
const existing = rowToOperation(existingRow);
|
|
127
|
+
// Fenced exactly like `releaseLease` and the in-memory store: a caller writing against a
|
|
128
|
+
// lease it no longer holds gets the row back unchanged, not an overwrite.
|
|
129
|
+
if (options?.leaseOwner !== undefined && existing.leaseOwner !== options.leaseOwner) {
|
|
130
|
+
return existing;
|
|
131
|
+
}
|
|
132
|
+
if ('state' in patch)
|
|
133
|
+
assertNoCredentialMaterial(patch.state);
|
|
134
|
+
const status = patch.status ?? existing.status;
|
|
135
|
+
assertTransition(existing.status, status);
|
|
136
|
+
const next = {
|
|
137
|
+
status,
|
|
138
|
+
attempts: patch.attempts ?? existing.attempts,
|
|
139
|
+
nextPollAt: patch.nextPollAt ?? existing.nextPollAt,
|
|
140
|
+
state: 'state' in patch ? (patch.state ?? null) : existing.state,
|
|
141
|
+
result: 'result' in patch ? (patch.result ?? null) : existing.result,
|
|
142
|
+
error: 'error' in patch ? (patch.error ?? null) : existing.error,
|
|
143
|
+
leaseOwner: 'leaseOwner' in patch ? (patch.leaseOwner ?? null) : existing.leaseOwner,
|
|
144
|
+
leaseExpiresAt: 'leaseExpiresAt' in patch ? (patch.leaseExpiresAt ?? null) : existing.leaseExpiresAt,
|
|
145
|
+
updatedAt: Date.now(),
|
|
146
|
+
};
|
|
147
|
+
updateStmt.run(next.status, next.attempts, next.nextPollAt, stateJson(next.state), next.result === null ? null : JSON.stringify(next.result), next.error === null ? null : JSON.stringify(next.error), next.leaseOwner, next.leaseExpiresAt, next.updatedAt, id);
|
|
148
|
+
return rowToOperation(getStmt.get(id));
|
|
149
|
+
});
|
|
150
|
+
const claimDueTxn = db.transaction((options) => {
|
|
151
|
+
const { now, leaseOwner, leaseMs } = options;
|
|
152
|
+
const limit = options.limit ?? 10;
|
|
153
|
+
const rows = claimDueStmt.all(leaseOwner, now + leaseMs, now, ...TERMINAL_LIST, now, now, limit);
|
|
154
|
+
return rows.map(rowToOperation);
|
|
155
|
+
});
|
|
156
|
+
const reconcileTxn = db.transaction((options) => {
|
|
157
|
+
const { now } = options;
|
|
158
|
+
const deadlineExpiredError = JSON.stringify({
|
|
159
|
+
message: 'async operation passed its absolute deadline while unattended — vendor-side effect is undetermined',
|
|
160
|
+
code: 'DEADLINE_EXPIRED',
|
|
161
|
+
});
|
|
162
|
+
const deadlineExpired = deadlineExpireStmt.all(deadlineExpiredError, now, ...TERMINAL_LIST, now).length;
|
|
163
|
+
const leasesReleased = releaseDeadLeasesStmt.all(now, ...TERMINAL_LIST, now).length;
|
|
164
|
+
return { leasesReleased, deadlineExpired };
|
|
165
|
+
});
|
|
166
|
+
return {
|
|
167
|
+
async create(input) {
|
|
168
|
+
return createTxn(input);
|
|
169
|
+
},
|
|
170
|
+
async get(id) {
|
|
171
|
+
const row = getStmt.get(id);
|
|
172
|
+
return row ? rowToOperation(row) : null;
|
|
173
|
+
},
|
|
174
|
+
async update(id, patch, options) {
|
|
175
|
+
return updateTxn(id, patch, options);
|
|
176
|
+
},
|
|
177
|
+
async listByOwner(ownerRef) {
|
|
178
|
+
return listByOwnerStmt.all(ownerRef).map(rowToOperation);
|
|
179
|
+
},
|
|
180
|
+
async claimDue(options) {
|
|
181
|
+
return claimDueTxn(options);
|
|
182
|
+
},
|
|
183
|
+
async releaseLease(id, leaseOwner) {
|
|
184
|
+
releaseLeaseStmt.run(Date.now(), id, leaseOwner);
|
|
185
|
+
},
|
|
186
|
+
async reconcileOnBoot(options) {
|
|
187
|
+
return reconcileTxn(options);
|
|
188
|
+
},
|
|
189
|
+
async close() {
|
|
190
|
+
db.close();
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=sqlite-async-operation-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sqlite-async-operation-store.js","sourceRoot":"","sources":["../../../src/media-providers/dispatch/sqlite-async-operation-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,15 +2,15 @@ export const MEDIA_PROVIDERS = [
|
|
|
2
2
|
{ id: 'openai', label: 'OpenAI', hint: 'gpt-image-2 / dall-e-3', integrated: true, defaultBaseUrl: 'https://api.openai.com/v1' },
|
|
3
3
|
{ id: 'volcengine', label: 'Volcengine Ark (Doubao)', hint: 'Seedance 2.0 / Seedream', integrated: true, defaultBaseUrl: 'https://ark.cn-beijing.volces.com/api/v3' },
|
|
4
4
|
{ id: 'grok', label: 'xAI Grok Imagine', hint: 'grok-imagine — image + video with native audio', integrated: true, defaultBaseUrl: 'https://api.x.ai/v1' },
|
|
5
|
-
{ id: 'hyperframes', label: 'HyperFrames', hint: 'Local HTML -> MP4 renderer', integrated:
|
|
5
|
+
{ id: 'hyperframes', label: 'HyperFrames', hint: 'Local HTML -> MP4 renderer', integrated: false, credentialsRequired: false, settingsVisible: false },
|
|
6
6
|
{ id: 'nanobanana', label: 'Nano Banana', hint: 'Google official by default; custom gateway configurable', integrated: true, defaultBaseUrl: 'https://generativelanguage.googleapis.com', supportsCustomModel: true },
|
|
7
7
|
{ id: 'imagerouter', label: 'ImageRouter', hint: 'OpenAI-compatible image + video routing', integrated: true, defaultBaseUrl: 'https://api.imagerouter.io/v1/openai', docsUrl: 'https://docs.imagerouter.io/api-reference/image-generation/', supportsCustomModel: true, customModelPlaceholder: 'openai/gpt-image-2 or xAI/grok-imagine-video' },
|
|
8
8
|
{ id: 'openrouter', label: 'OpenRouter', hint: 'Unified gateway for image + video models', integrated: true, credentialsRequired: true, settingsVisible: true, defaultBaseUrl: 'https://openrouter.ai/api/v1', docsUrl: 'https://openrouter.ai/settings/keys' },
|
|
9
9
|
{ id: 'custom-image', label: 'Custom Media API', hint: 'OpenAI-compatible images/generations + images/edits (local or cloud)', integrated: true, docsUrl: 'https://platform.openai.com/docs/api-reference/images', supportsCustomModel: true, customModelPlaceholder: 'my-image-model' },
|
|
10
10
|
{ id: 'comfyui', label: 'ComfyUI', hint: 'Local JSON workflow server (planned adapter)', integrated: false, defaultBaseUrl: 'http://127.0.0.1:8188', docsUrl: 'https://docs.comfy.org/development/core-concepts/workflow' },
|
|
11
11
|
{ id: 'bfl', label: 'Black Forest Labs', hint: 'FLUX 1.1 Pro / FLUX Pro / Dev', integrated: false, defaultBaseUrl: 'https://api.bfl.ai' },
|
|
12
|
-
{ id: 'fal', label: 'Fal.ai', hint: 'FLUX / Sora / Veo / Wan / Ideogram / Recraft and any fal-ai/* model', integrated:
|
|
13
|
-
{ id: 'leonardo', label: 'Leonardo.ai', hint: 'Phoenix / Kino XL / FLUX', integrated:
|
|
12
|
+
{ id: 'fal', label: 'Fal.ai', hint: 'FLUX / Sora / Veo / Wan / Ideogram / Recraft and any fal-ai/* model', integrated: false, defaultBaseUrl: 'https://fal.run', supportsCustomModel: true },
|
|
13
|
+
{ id: 'leonardo', label: 'Leonardo.ai', hint: 'Phoenix / Kino XL / FLUX', integrated: false, credentialsRequired: true, settingsVisible: true, defaultBaseUrl: 'https://cloud.leonardo.ai/api/rest/v1' },
|
|
14
14
|
{ id: 'replicate', label: 'Replicate', hint: 'FLUX / SDXL / Ideogram', integrated: false, defaultBaseUrl: 'https://api.replicate.com' },
|
|
15
15
|
{ id: 'google', label: 'Google AI / Vertex', hint: 'Imagen 4 / Veo 3 / Lyria', integrated: false },
|
|
16
16
|
{ id: 'kling', label: 'Kuaishou Kling', hint: 'Kling 1.6 / 2.0 video', integrated: false },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/media-providers/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/media-providers/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,15 @@ export interface MediaProvider {
|
|
|
21
21
|
readonly id: string;
|
|
22
22
|
readonly label: string;
|
|
23
23
|
readonly hint: string;
|
|
24
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Whether this package's dispatch engine has a real adapter/renderer registered for this
|
|
26
|
+
* provider (vs. a planned/future integration that exists only as this catalogue entry). See
|
|
27
|
+
* `dispatch/vendor-registry.ts`'s `mediaVendorRegistry` and `dispatch/engine.ts`'s `ROUTES`
|
|
28
|
+
* table for where that registration actually lives — `providers.test.ts` asserts every
|
|
29
|
+
* `true` entry with a catalogued model resolves to one, so this flag can't drift from
|
|
30
|
+
* reality the way it did for `hyperframes`/`fal`/`leonardo` (all three claimed `true` with
|
|
31
|
+
* no adapter anywhere).
|
|
32
|
+
*/
|
|
25
33
|
readonly integrated: boolean;
|
|
26
34
|
readonly defaultBaseUrl?: string;
|
|
27
35
|
readonly docsUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/media-providers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEvD,0FAA0F;AAC1F,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/media-providers/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jini-ai/integrations",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"description": "Third-party vendor integrations, each independently importable: Composio connector catalog/execution (./composio) and a multi-vendor image/video/audio generation gateway (./media-providers).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
69
|
"undici": "^7.25.0",
|
|
70
|
-
"@jini-ai/
|
|
71
|
-
"@jini-ai/
|
|
70
|
+
"@jini-ai/core": "0.3.1",
|
|
71
|
+
"@jini-ai/platform": "0.3.0"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
74
|
"better-sqlite3": "^13.0.0"
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"@types/better-sqlite3": "^7.6.11",
|
|
83
83
|
"better-sqlite3": "^13.0.0",
|
|
84
84
|
"@vitest/coverage-v8": "^2.1.9",
|
|
85
|
-
"@jini-ai/protocol": "0.3.
|
|
85
|
+
"@jini-ai/protocol": "0.3.1"
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"build": "tsc -p tsconfig.json",
|