@vielzeug/postmaster 2.0.0 → 2.2.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/README.md +13 -0
- package/dist/_store-utils.cjs +2 -0
- package/dist/_store-utils.cjs.map +1 -0
- package/dist/_store-utils.d.ts +7 -0
- package/dist/_store-utils.d.ts.map +1 -0
- package/dist/_store-utils.js +14 -0
- package/dist/_store-utils.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/indexeddb.cjs +1 -1
- package/dist/indexeddb.cjs.map +1 -1
- package/dist/indexeddb.d.ts.map +1 -1
- package/dist/indexeddb.js +15 -23
- package/dist/indexeddb.js.map +1 -1
- package/dist/postmaster.cjs +1 -1
- package/dist/postmaster.cjs.map +1 -1
- package/dist/postmaster.d.ts.map +1 -1
- package/dist/postmaster.iife.js +1 -1
- package/dist/postmaster.iife.js.map +1 -1
- package/dist/postmaster.js +1 -1
- package/dist/postmaster.js.map +1 -1
- package/dist/store-ops.cjs +1 -1
- package/dist/store-ops.cjs.map +1 -1
- package/dist/store-ops.d.ts.map +1 -1
- package/dist/store-ops.js +15 -14
- package/dist/store-ops.js.map +1 -1
- package/dist/testing/memory-store.cjs +1 -1
- package/dist/testing/memory-store.cjs.map +1 -1
- package/dist/testing/memory-store.d.ts.map +1 -1
- package/dist/testing/memory-store.js +1 -9
- package/dist/testing/memory-store.js.map +1 -1
- package/dist/types.d.ts +13 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.cjs","names":[],"sources":["../../src/testing/memory-store.ts"],"sourcesContent":["import type { EntryFilter, PostmasterStats, PostmasterStore, StoredJob, StoreTx } from '../types.ts';\n\
|
|
1
|
+
{"version":3,"file":"memory-store.cjs","names":[],"sources":["../../src/testing/memory-store.ts"],"sourcesContent":["import { normalize } from '../_store-utils.ts';\nimport type { EntryFilter, PostmasterStats, PostmasterStore, StoredJob, StoreTx } from '../types.ts';\n\nexport function createMemoryPostmasterStore(entries: readonly StoredJob[] = []): PostmasterStore {\n const records = new Map(entries.map((entry) => [entry.id, normalize(entry)]));\n const controller = new AbortController();\n const listeners = new Set<() => void>();\n let disposed = false;\n let chain = Promise.resolve();\n\n const exclusive = <T>(fn: () => T | Promise<T>): Promise<T> => {\n const result = chain.then(fn, fn);\n chain = result.then(\n () => undefined,\n () => undefined,\n );\n return result;\n };\n\n const notify = (): void => {\n for (const listener of listeners) listener();\n };\n\n const live = (): void => {\n if (disposed) throw new Error('Postmaster store is disposed');\n };\n\n const tx: StoreTx = {\n async countByStatus(): Promise<PostmasterStats> {\n let deadLetter = 0;\n let queued = 0;\n let running = 0;\n for (const entry of records.values()) {\n if (entry.status === 'dead-letter') deadLetter += 1;\n else if (entry.status === 'queued') queued += 1;\n else running += 1;\n }\n return { deadLetter, queued, running };\n },\n async delete(id: string): Promise<void> {\n records.delete(id);\n },\n async findClaimable(now: number): Promise<StoredJob | undefined> {\n let best: StoredJob | undefined;\n for (const entry of records.values()) {\n const claimable =\n (entry.status === 'queued' && entry.availableAt <= now) ||\n (entry.status === 'running' && (entry.leaseExpiresAt ?? 0) <= now);\n if (!claimable) continue;\n if (\n !best ||\n entry.availableAt < best.availableAt ||\n (entry.availableAt === best.availableAt && entry.createdAt < best.createdAt)\n ) {\n best = entry;\n }\n }\n return best ? normalize(best) : undefined;\n },\n async findNextWake(now: number): Promise<number | undefined> {\n let next: number | undefined;\n for (const entry of records.values()) {\n let wake: number | undefined;\n if (entry.status === 'queued' && entry.availableAt > now) wake = entry.availableAt;\n else if (entry.status === 'running' && (entry.leaseExpiresAt ?? 0) > now) wake = entry.leaseExpiresAt;\n if (wake !== undefined && (next === undefined || wake < next)) next = wake;\n }\n return next;\n },\n async get(id: string): Promise<StoredJob | undefined> {\n const entry = records.get(id);\n return entry ? normalize(entry) : undefined;\n },\n async put(entry: StoredJob): Promise<void> {\n records.set(entry.id, normalize(entry));\n },\n };\n\n return {\n get disposalSignal() {\n return controller.signal;\n },\n async dispose(): Promise<void> {\n if (disposed) return;\n disposed = true;\n controller.abort();\n listeners.clear();\n },\n get disposed() {\n return disposed;\n },\n async list(filter?: EntryFilter): Promise<StoredJob[]> {\n return exclusive(() => {\n live();\n return [...records.values()]\n .filter((entry) => filter?.status === undefined || entry.status === filter.status)\n .sort((a, b) => a.createdAt - b.createdAt)\n .map(normalize);\n });\n },\n subscribe(listener: () => void): () => void {\n live();\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n transact<T>(fn: (tx: StoreTx) => Promise<T>): Promise<T> {\n return exclusive(async () => {\n live();\n const result = await fn(tx);\n notify();\n return result;\n });\n },\n async [Symbol.asyncDispose](): Promise<void> {\n await this.dispose();\n },\n };\n}\n"],"mappings":"uCAGA,SAAgB,EAA4B,EAAgC,CAAC,EAAoB,CAC/F,IAAM,EAAU,IAAI,IAAI,EAAQ,IAAK,GAAU,CAAC,EAAM,GAAI,EAAA,UAAU,CAAK,CAAC,CAAC,CAAC,EACtE,EAAa,IAAI,gBACjB,EAAY,IAAI,IAClB,EAAW,GACX,EAAQ,QAAQ,QAAQ,EAEtB,EAAgB,GAAyC,CAC7D,IAAM,EAAS,EAAM,KAAK,EAAI,CAAE,EAKhC,MAJA,GAAQ,EAAO,SACP,IAAA,OACA,IAAA,EACR,EACO,CACT,EAEM,MAAqB,CACzB,IAAK,IAAM,KAAY,EAAW,EAAS,CAC7C,EAEM,MAAmB,CACvB,GAAI,EAAU,MAAU,MAAM,8BAA8B,CAC9D,EAEM,EAAc,CAClB,MAAM,eAA0C,CAC9C,IAAI,EAAa,EACb,EAAS,EACT,EAAU,EACd,IAAK,IAAM,KAAS,EAAQ,OAAO,EAC7B,EAAM,SAAW,cAAe,GAAc,EACzC,EAAM,SAAW,SAAU,GAAU,EACzC,GAAW,EAElB,MAAO,CAAE,aAAY,SAAQ,SAAQ,CACvC,EACA,MAAM,OAAO,EAA2B,CACtC,EAAQ,OAAO,CAAE,CACnB,EACA,MAAM,cAAc,EAA6C,CAC/D,IAAI,EACJ,IAAK,IAAM,KAAS,EAAQ,OAAO,GAE9B,EAAM,SAAW,UAAY,EAAM,aAAe,GAClD,EAAM,SAAW,YAAc,EAAM,gBAAkB,IAAM,KAG9D,CAAC,GACD,EAAM,YAAc,EAAK,aACxB,EAAM,cAAgB,EAAK,aAAe,EAAM,UAAY,EAAK,aAElE,EAAO,GAGX,OAAO,EAAO,EAAA,UAAU,CAAI,EAAI,IAAA,EAClC,EACA,MAAM,aAAa,EAA0C,CAC3D,IAAI,EACJ,IAAK,IAAM,KAAS,EAAQ,OAAO,EAAG,CACpC,IAAI,EACA,EAAM,SAAW,UAAY,EAAM,YAAc,EAAK,EAAO,EAAM,YAC9D,EAAM,SAAW,YAAc,EAAM,gBAAkB,GAAK,IAAK,EAAO,EAAM,gBACnF,IAAS,IAAA,KAAc,IAAS,IAAA,IAAa,EAAO,KAAO,EAAO,EACxE,CACA,OAAO,CACT,EACA,MAAM,IAAI,EAA4C,CACpD,IAAM,EAAQ,EAAQ,IAAI,CAAE,EAC5B,OAAO,EAAQ,EAAA,UAAU,CAAK,EAAI,IAAA,EACpC,EACA,MAAM,IAAI,EAAiC,CACzC,EAAQ,IAAI,EAAM,GAAI,EAAA,UAAU,CAAK,CAAC,CACxC,CACF,EAEA,MAAO,CACL,IAAI,gBAAiB,CACnB,OAAO,EAAW,MACpB,EACA,MAAM,SAAyB,CACzB,IACJ,EAAW,GACX,EAAW,MAAM,EACjB,EAAU,MAAM,EAClB,EACA,IAAI,UAAW,CACb,OAAO,CACT,EACA,MAAM,KAAK,EAA4C,CACrD,OAAO,OACL,EAAK,EACE,CAAC,GAAG,EAAQ,OAAO,CAAC,CAAC,CACzB,OAAQ,GAAU,GAAQ,SAAW,IAAA,IAAa,EAAM,SAAW,EAAO,MAAM,CAAC,CACjF,MAAM,EAAG,IAAM,EAAE,UAAY,EAAE,SAAS,CAAC,CACzC,IAAI,EAAA,SAAS,EACjB,CACH,EACA,UAAU,EAAkC,CAG1C,OAFA,EAAK,EACL,EAAU,IAAI,CAAQ,MACT,EAAU,OAAO,CAAQ,CACxC,EACA,SAAY,EAA6C,CACvD,OAAO,EAAU,SAAY,CAC3B,EAAK,EACL,IAAM,EAAS,MAAM,EAAG,CAAE,EAE1B,OADA,EAAO,EACA,CACT,CAAC,CACH,EACA,MAAO,OAAO,eAA+B,CAC3C,MAAM,KAAK,QAAQ,CACrB,CACF,CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/testing/memory-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/testing/memory-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAgC,eAAe,EAAE,SAAS,EAAW,MAAM,aAAa,CAAC;AAErG,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,SAAS,SAAS,EAAO,GAAG,eAAe,CAkH/F"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
+
import { normalize as e } from "../_store-utils.js";
|
|
1
2
|
//#region src/testing/memory-store.ts
|
|
2
|
-
function e(e) {
|
|
3
|
-
let { failure: t, leaseExpiresAt: n, ownerId: r, ...i } = e;
|
|
4
|
-
return {
|
|
5
|
-
...i,
|
|
6
|
-
...t === void 0 ? {} : { failure: t },
|
|
7
|
-
...n === void 0 ? {} : { leaseExpiresAt: n },
|
|
8
|
-
...r === void 0 ? {} : { ownerId: r }
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
3
|
function t(t = []) {
|
|
12
4
|
let n = new Map(t.map((t) => [t.id, e(t)])), r = new AbortController(), i = /* @__PURE__ */ new Set(), a = !1, o = Promise.resolve(), s = (e) => {
|
|
13
5
|
let t = o.then(e, e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","names":[],"sources":["../../src/testing/memory-store.ts"],"sourcesContent":["import type { EntryFilter, PostmasterStats, PostmasterStore, StoredJob, StoreTx } from '../types.ts';\n\
|
|
1
|
+
{"version":3,"file":"memory-store.js","names":[],"sources":["../../src/testing/memory-store.ts"],"sourcesContent":["import { normalize } from '../_store-utils.ts';\nimport type { EntryFilter, PostmasterStats, PostmasterStore, StoredJob, StoreTx } from '../types.ts';\n\nexport function createMemoryPostmasterStore(entries: readonly StoredJob[] = []): PostmasterStore {\n const records = new Map(entries.map((entry) => [entry.id, normalize(entry)]));\n const controller = new AbortController();\n const listeners = new Set<() => void>();\n let disposed = false;\n let chain = Promise.resolve();\n\n const exclusive = <T>(fn: () => T | Promise<T>): Promise<T> => {\n const result = chain.then(fn, fn);\n chain = result.then(\n () => undefined,\n () => undefined,\n );\n return result;\n };\n\n const notify = (): void => {\n for (const listener of listeners) listener();\n };\n\n const live = (): void => {\n if (disposed) throw new Error('Postmaster store is disposed');\n };\n\n const tx: StoreTx = {\n async countByStatus(): Promise<PostmasterStats> {\n let deadLetter = 0;\n let queued = 0;\n let running = 0;\n for (const entry of records.values()) {\n if (entry.status === 'dead-letter') deadLetter += 1;\n else if (entry.status === 'queued') queued += 1;\n else running += 1;\n }\n return { deadLetter, queued, running };\n },\n async delete(id: string): Promise<void> {\n records.delete(id);\n },\n async findClaimable(now: number): Promise<StoredJob | undefined> {\n let best: StoredJob | undefined;\n for (const entry of records.values()) {\n const claimable =\n (entry.status === 'queued' && entry.availableAt <= now) ||\n (entry.status === 'running' && (entry.leaseExpiresAt ?? 0) <= now);\n if (!claimable) continue;\n if (\n !best ||\n entry.availableAt < best.availableAt ||\n (entry.availableAt === best.availableAt && entry.createdAt < best.createdAt)\n ) {\n best = entry;\n }\n }\n return best ? normalize(best) : undefined;\n },\n async findNextWake(now: number): Promise<number | undefined> {\n let next: number | undefined;\n for (const entry of records.values()) {\n let wake: number | undefined;\n if (entry.status === 'queued' && entry.availableAt > now) wake = entry.availableAt;\n else if (entry.status === 'running' && (entry.leaseExpiresAt ?? 0) > now) wake = entry.leaseExpiresAt;\n if (wake !== undefined && (next === undefined || wake < next)) next = wake;\n }\n return next;\n },\n async get(id: string): Promise<StoredJob | undefined> {\n const entry = records.get(id);\n return entry ? normalize(entry) : undefined;\n },\n async put(entry: StoredJob): Promise<void> {\n records.set(entry.id, normalize(entry));\n },\n };\n\n return {\n get disposalSignal() {\n return controller.signal;\n },\n async dispose(): Promise<void> {\n if (disposed) return;\n disposed = true;\n controller.abort();\n listeners.clear();\n },\n get disposed() {\n return disposed;\n },\n async list(filter?: EntryFilter): Promise<StoredJob[]> {\n return exclusive(() => {\n live();\n return [...records.values()]\n .filter((entry) => filter?.status === undefined || entry.status === filter.status)\n .sort((a, b) => a.createdAt - b.createdAt)\n .map(normalize);\n });\n },\n subscribe(listener: () => void): () => void {\n live();\n listeners.add(listener);\n return () => listeners.delete(listener);\n },\n transact<T>(fn: (tx: StoreTx) => Promise<T>): Promise<T> {\n return exclusive(async () => {\n live();\n const result = await fn(tx);\n notify();\n return result;\n });\n },\n async [Symbol.asyncDispose](): Promise<void> {\n await this.dispose();\n },\n };\n}\n"],"mappings":";;AAGA,SAAgB,EAA4B,IAAgC,CAAC,GAAoB;CAC/F,IAAM,IAAU,IAAI,IAAI,EAAQ,KAAK,MAAU,CAAC,EAAM,IAAI,EAAU,CAAK,CAAC,CAAC,CAAC,GACtE,IAAa,IAAI,gBAAgB,GACjC,oBAAY,IAAI,IAAgB,GAClC,IAAW,IACX,IAAQ,QAAQ,QAAQ,GAEtB,KAAgB,MAAyC;EAC7D,IAAM,IAAS,EAAM,KAAK,GAAI,CAAE;EAKhC,OAJA,IAAQ,EAAO,WACP,KAAA,SACA,KAAA,CACR,GACO;CACT,GAEM,UAAqB;EACzB,KAAK,IAAM,KAAY,GAAW,EAAS;CAC7C,GAEM,UAAmB;EACvB,IAAI,GAAU,MAAU,MAAM,8BAA8B;CAC9D,GAEM,IAAc;EAClB,MAAM,gBAA0C;GAC9C,IAAI,IAAa,GACb,IAAS,GACT,IAAU;GACd,KAAK,IAAM,KAAS,EAAQ,OAAO,GACjC,AAAI,EAAM,WAAW,gBAAe,KAAc,IACzC,EAAM,WAAW,WAAU,KAAU,IACzC,KAAW;GAElB,OAAO;IAAE;IAAY;IAAQ;GAAQ;EACvC;EACA,MAAM,OAAO,GAA2B;GACtC,EAAQ,OAAO,CAAE;EACnB;EACA,MAAM,cAAc,GAA6C;GAC/D,IAAI;GACJ,KAAK,IAAM,KAAS,EAAQ,OAAO,GAE9B,GAAM,WAAW,YAAY,EAAM,eAAe,KAClD,EAAM,WAAW,cAAc,EAAM,kBAAkB,MAAM,OAG9D,CAAC,KACD,EAAM,cAAc,EAAK,eACxB,EAAM,gBAAgB,EAAK,eAAe,EAAM,YAAY,EAAK,eAElE,IAAO;GAGX,OAAO,IAAO,EAAU,CAAI,IAAI,KAAA;EAClC;EACA,MAAM,aAAa,GAA0C;GAC3D,IAAI;GACJ,KAAK,IAAM,KAAS,EAAQ,OAAO,GAAG;IACpC,IAAI;IAGJ,AAFI,EAAM,WAAW,YAAY,EAAM,cAAc,IAAK,IAAO,EAAM,cAC9D,EAAM,WAAW,cAAc,EAAM,kBAAkB,KAAK,MAAK,IAAO,EAAM,iBACnF,MAAS,KAAA,MAAc,MAAS,KAAA,KAAa,IAAO,OAAO,IAAO;GACxE;GACA,OAAO;EACT;EACA,MAAM,IAAI,GAA4C;GACpD,IAAM,IAAQ,EAAQ,IAAI,CAAE;GAC5B,OAAO,IAAQ,EAAU,CAAK,IAAI,KAAA;EACpC;EACA,MAAM,IAAI,GAAiC;GACzC,EAAQ,IAAI,EAAM,IAAI,EAAU,CAAK,CAAC;EACxC;CACF;CAEA,OAAO;EACL,IAAI,iBAAiB;GACnB,OAAO,EAAW;EACpB;EACA,MAAM,UAAyB;GACzB,MACJ,IAAW,IACX,EAAW,MAAM,GACjB,EAAU,MAAM;EAClB;EACA,IAAI,WAAW;GACb,OAAO;EACT;EACA,MAAM,KAAK,GAA4C;GACrD,OAAO,SACL,EAAK,GACE,CAAC,GAAG,EAAQ,OAAO,CAAC,CAAC,CACzB,QAAQ,MAAU,GAAQ,WAAW,KAAA,KAAa,EAAM,WAAW,EAAO,MAAM,CAAC,CACjF,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CACzC,IAAI,CAAS,EACjB;EACH;EACA,UAAU,GAAkC;GAG1C,OAFA,EAAK,GACL,EAAU,IAAI,CAAQ,SACT,EAAU,OAAO,CAAQ;EACxC;EACA,SAAY,GAA6C;GACvD,OAAO,EAAU,YAAY;IAC3B,EAAK;IACL,IAAM,IAAS,MAAM,EAAG,CAAE;IAE1B,OADA,EAAO,GACA;GACT,CAAC;EACH;EACA,OAAO,OAAO,gBAA+B;GAC3C,MAAM,KAAK,QAAQ;EACrB;CACF;AACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -116,11 +116,23 @@ export interface CreatePostmasterOptions<J extends JobDefinitions> {
|
|
|
116
116
|
readonly signal?: AbortSignal;
|
|
117
117
|
readonly store: PostmasterStore;
|
|
118
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Options for {@link Postmaster.enqueue}.
|
|
121
|
+
*
|
|
122
|
+
* `availableAt` is the earliest epoch timestamp (ms) at which the job may be
|
|
123
|
+
* claimed. Defaults to the Postmaster clock at enqueue time. Past timestamps
|
|
124
|
+
* remain immediately eligible. Postmaster does not guarantee execution at the
|
|
125
|
+
* requested time — only that the job will not be claimed before it. A live
|
|
126
|
+
* processor (`start()` or `flush()`) is required for execution.
|
|
127
|
+
*/
|
|
128
|
+
export interface EnqueueOptions {
|
|
129
|
+
readonly availableAt?: number;
|
|
130
|
+
}
|
|
119
131
|
export interface Postmaster<J extends JobDefinitions> {
|
|
120
132
|
readonly disposalSignal: AbortSignal;
|
|
121
133
|
dispose(): Promise<void>;
|
|
122
134
|
readonly disposed: boolean;
|
|
123
|
-
enqueue<K extends keyof J & string>(name: K, payload: InferJobPayload<J[K]
|
|
135
|
+
enqueue<K extends keyof J & string>(name: K, payload: InferJobPayload<J[K]>, options?: EnqueueOptions): Promise<PostmasterEntry>;
|
|
124
136
|
flush(options?: {
|
|
125
137
|
signal?: AbortSignal;
|
|
126
138
|
}): Promise<FlushResult>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vielzeug/postmaster",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "Typed durable job outbox with leased processing, retries, and dead-letter recovery",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -61,10 +61,11 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@vielzeug/arsenal": "2.1.0",
|
|
64
|
-
"@vielzeug/vault": "2.
|
|
64
|
+
"@vielzeug/vault": "2.5.0"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@types/node": "^26.2.0",
|
|
68
|
+
"@vielzeug/courier": "2.3.1",
|
|
68
69
|
"fake-indexeddb": "^6.2.5",
|
|
69
70
|
"typescript": "^6.0.3",
|
|
70
71
|
"vite": "^8.2.1",
|