@wenathlan/saddle 1.8.12 → 1.8.14
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 +46 -8
- package/dist/browser/snapshot.d.ts +12 -0
- package/dist/browser/snapshot.d.ts.map +1 -1
- package/dist/browser/snapshot.js +76 -0
- package/dist/browser/snapshot.js.map +1 -1
- package/dist/dispatch/resumable.d.ts +18 -1
- package/dist/dispatch/resumable.d.ts.map +1 -1
- package/dist/dispatch/resumable.js +28 -3
- package/dist/dispatch/resumable.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -3
- package/dist/memory/engine.d.ts +1 -1
- package/dist/queue/persistent.d.ts +2 -1
- package/dist/queue/persistent.d.ts.map +1 -1
- package/dist/queue/persistent.js +27 -10
- package/dist/queue/persistent.js.map +1 -1
- package/dist/release/assets.d.ts +25 -0
- package/dist/release/assets.d.ts.map +1 -1
- package/dist/release/assets.js +67 -4
- package/dist/release/assets.js.map +1 -1
- package/dist/scrape/robots.js +1 -1
- package/dist/scrape/schema.d.ts +18 -0
- package/dist/scrape/schema.d.ts.map +1 -1
- package/dist/scrape/schema.js +67 -0
- package/dist/scrape/schema.js.map +1 -1
- package/docs/artifactavailability.md +34 -2
- package/docs/releaseassets.md +2 -2
- package/docs/releasenotes-1.8.12.md +61 -0
- package/docs/releasenotes-1.8.13.md +70 -0
- package/docs/releasenotes-1.8.14.md +52 -0
- package/docs/repo-analysis-1.8.21.json +2617 -0
- package/docs/repo-candidates-1.8.21.jsonl +666 -0
- package/docs/repo-research-1.8.21.md +38 -0
- package/docs/repo-selected-1.8.21.json +786 -0
- package/docs/repo-synthesis-1.8.21.md +112 -0
- package/extension/README.md +1 -1
- package/extension/manifest.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<strong>Storage-backed jobs, scraping contracts and portable runners for Node.js.</strong><br/>
|
|
7
7
|
<strong>Binary computing engine, agent browser, scraper and packager.</strong><br/>
|
|
8
8
|
<a href="https://github.com/wenathlan/saddle/actions/workflows/ci.yml"><img src="https://github.com/wenathlan/saddle/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
|
|
9
|
-
<a href="https://github.com/wenathlan/saddle/releases/tag/v1.8.
|
|
9
|
+
<a href="https://github.com/wenathlan/saddle/releases/tag/v1.8.14"><img src="https://img.shields.io/badge/release-v1.8.14-d35d3d" alt="Release 1.8.14" /></a>
|
|
10
10
|
<a href="https://github.com/wenathlan/saddle/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-GPL--3.0--only-202a2f" alt="GPL 3.0 only license" /></a>
|
|
11
11
|
</p>
|
|
12
12
|
|
|
@@ -59,6 +59,21 @@ repository or bucket -> runner working set -> process -> durable artifact
|
|
|
59
59
|
|
|
60
60
|
The repository may act as a disk, a CI workflow may act as a function call, Pages may act as a static bus and a release artifact may act as the durable boundary. `workflow_dispatch`, `repository_dispatch` and HTTP adapters remain caller-configured interfaces.
|
|
61
61
|
|
|
62
|
+
### Runtime modes and physical boundaries
|
|
63
|
+
|
|
64
|
+
The historical design treats the repository and its runner as a **virtual processor**, not as a claim that remote storage is physical VRAM. The storage-to-compute bridge stages a bounded working set through memory, filesystem, tmpfs, mmap or a caller-owned adapter; network latency, bandwidth and provider quotas remain real limits. The same library contracts are available with or without their paired surface, so a caller can use fetch or browser, visible or headless, internal or external storage, physical or vectorized memory, and library or binary packaging without being locked to one mode.
|
|
65
|
+
|
|
66
|
+
| Mode | Boundary | Typical use |
|
|
67
|
+
| --- | --- | --- |
|
|
68
|
+
| Fetch | no browser | Static HTML, APIs and deterministic extraction. |
|
|
69
|
+
| Browser | caller-owned transport | Interactive pages, snapshots, tabs and actions. |
|
|
70
|
+
| Auto | adaptive selection | Fetch first, then browser when the caller permits it. |
|
|
71
|
+
| Headless | no visible UI | CI runners, servers and scheduled jobs. |
|
|
72
|
+
| CLI or binary | packaged entry point | Operator tools or third-party compute jobs. |
|
|
73
|
+
| Computer | storage-to-compute bridge | Bounded binary and memory processing. |
|
|
74
|
+
|
|
75
|
+
The engine keeps these boundaries explicit. It does not silently install a browser, mount a bucket as VRAM, create a database, choose a proxy, or transfer credentials to a provider.
|
|
76
|
+
|
|
62
77
|
### Engine: contracts instead of vendor lock-in
|
|
63
78
|
|
|
64
79
|
| Area | Contracts shipped | Result |
|
|
@@ -74,12 +89,30 @@ The repository may act as a disk, a CI workflow may act as a function call, Page
|
|
|
74
89
|
| Delivery | manifests, workflow registry, extension packaging and release assets | repeatable package and runner surfaces |
|
|
75
90
|
| Integrations | GitHub, GitLab, Forgejo, app lifecycle, command scopes and delivery adapters | caller-owned provider connectivity |
|
|
76
91
|
|
|
92
|
+
The protocol layer accepts JSON request/response envelopes, NDJSON append-only events, SSE progress streams, structured text and raw binary chunks. Retryable operations use bounded backoff, idempotency keys and caller-owned persistence; multi-step operations expose saga compensation instead of assuming that a partial remote action can be rolled back automatically.
|
|
93
|
+
|
|
94
|
+
| Reliability concern | Contract | Default boundary |
|
|
95
|
+
| --- | --- | --- |
|
|
96
|
+
| Retry | transient HTTP and network failures only | bounded attempts with caller-selected delay |
|
|
97
|
+
| Idempotency | request or delivery identity | at-least-once dispatch without duplicate effects |
|
|
98
|
+
| Circuit breaker | `closed -> open -> half-open` | caller-owned recovery threshold and timeout |
|
|
99
|
+
| Concurrency | queue, frontier or pool budget | explicit limits instead of unbounded fan-out |
|
|
100
|
+
| Compensation | workflow or saga callback | caller-owned cleanup after cancellation |
|
|
101
|
+
|
|
77
102
|
The root entry point is transport-neutral. Node filesystem, HTTP server, persistent sessions and Playwright are explicit subpaths or optional adapters. The library accepts caller-provided fetchers, browser transports, storage adapters, persistence, proxy pools, captcha evidence handlers, webhook secrets and remote credentials.
|
|
78
103
|
|
|
79
104
|
### Productization: one engine, many shells
|
|
80
105
|
|
|
81
106
|
The same contracts can be surfaced as an npm library, application archive, computer runtime, desktop installer, Android APK/AAB, iOS IPA, CLI, binary, browser package, Manifest V3 extension, web/PWA artifact, LibreOffice OXT, VSIX, webhook server, MCP transport, workflow action, container image, Maven package, NuGet package or RubyGem. These surfaces are declarative target plans and caller-owned adapters around the engine; they are not separate sources of truth.
|
|
82
107
|
|
|
108
|
+
### Agent context and structured output
|
|
109
|
+
|
|
110
|
+
The extraction path is **structured-first**: metadata and schema facts are selected before free-form text, then serialized to bounded Markdown, JSON or XML. Heading-aware chunks preserve source URL, content hash, heading path and token estimates for downstream retrieval. `generateLlmsTxt` and `generateLlmsFullTxt` expose concise agent indexes with absolute links, while `estimateTokens`, `fitsInContext` and the browser context budget prevent a caller from silently exceeding its chosen model or transport limit. No model provider is mandatory; parsing and context policies remain injectable.
|
|
111
|
+
|
|
112
|
+
### Third-party compute identity
|
|
113
|
+
|
|
114
|
+
Saddle can be connected to GitHub, GitLab, Forgejo, Gitea, Codeberg, Docker or another caller-owned runner. The operator owns the application identity, repository permissions, webhook secret and provider token; Saddle supplies transport-neutral contracts and never assumes that a hosted service account, database or runner exists. This is the operational meaning of the original multi-forge design: the runner is replaceable and the artifact is the durable boundary.
|
|
115
|
+
|
|
83
116
|
## Public API
|
|
84
117
|
|
|
85
118
|
| Export | Purpose |
|
|
@@ -90,6 +123,11 @@ The same contracts can be surfaced as an npm library, application archive, compu
|
|
|
90
123
|
| `extractcontent` | structured extraction |
|
|
91
124
|
| `serializeresult` | serialize JSON, Markdown or XML results |
|
|
92
125
|
| `formatforagent` | summary, chunks and token count |
|
|
126
|
+
| `chunkMarkdown` / `formatChunksForRAG` | heading-aware bounded chunks for downstream context |
|
|
127
|
+
| `generateLlmsTxt` / `generateLlmsFullTxt` | agent-readable documentation indexes |
|
|
128
|
+
| `estimateTokens` / `fitsInContext` | model-neutral context and cost estimates |
|
|
129
|
+
| `withRetry` | bounded retry and abort handling |
|
|
130
|
+
| `createServer` | caller-owned HTTP surface |
|
|
93
131
|
| `batchscrape` | bounded URL groups |
|
|
94
132
|
| `crawlurl` | crawl contract with domain and budget controls |
|
|
95
133
|
| `browseragent` | caller-owned navigation, click, type and screenshot actions |
|
|
@@ -112,7 +150,7 @@ npm run extension:build -- --output build/extension
|
|
|
112
150
|
ls build/extension/manifest.json build/extension/worker.js build/extension/content.js build/extension/popup.html
|
|
113
151
|
```
|
|
114
152
|
|
|
115
|
-
The base permission set is `activeTab`, `scripting` and `storage`. It does not request broad host permissions, cookies, `webRequest`, debugger access or arbitrary page code execution. Optional host escalation remains caller-owned. Releases attach `saddle
|
|
153
|
+
The base permission set is `activeTab`, `scripting` and `storage`. It does not request broad host permissions, cookies, `webRequest`, debugger access or arbitrary page code execution. Optional host escalation remains caller-owned. Releases attach `saddle.extension.<version>.zip`; cross-browser profiles remain adapter work.
|
|
116
154
|
|
|
117
155
|
## Security boundaries
|
|
118
156
|
|
|
@@ -127,17 +165,17 @@ The base permission set is `activeTab`, `scripting` and `storage`. It does not r
|
|
|
127
165
|
| Failure | retry, circuit breaker, idempotency and resume are configurable |
|
|
128
166
|
| Releases | version comes from the `vX.Y.Z` tag and must match `package.json` |
|
|
129
167
|
|
|
130
|
-
Version 1.8.
|
|
168
|
+
Version 1.8.14 carries the TypeScript-first source into the current release and keeps public JavaScript package paths stable. It includes release-derived package metadata, queue leases, bounded structured extraction with provenance, browser context budgets, explicit workflow cancellation with caller-owned compensation, deterministic artifact retention decisions and a post-push container pull/smoke validation. The dynamic debug collector is intentionally an unchecked browser boundary because it monkey-patches browser APIs; the rest of the web surface remains strictly typechecked. See [`docs/reorganization-1.8.9.md`](docs/reorganization-1.8.9.md), [`docs/toolchainresearch-1.8.9.md`](docs/toolchainresearch-1.8.9.md), [`docs/releasenotes-1.8.12.md`](docs/releasenotes-1.8.12.md), [`docs/releasenotes-1.8.13.md`](docs/releasenotes-1.8.13.md) and [`docs/releasenotes-1.8.14.md`](docs/releasenotes-1.8.14.md).
|
|
131
169
|
|
|
132
170
|
## Package surfaces and release automation
|
|
133
171
|
|
|
134
|
-
Workflows use the release tag and the local `releaseversion` action. They do not contain a manually edited version number. The action fetches the tag, checks out its commit and rejects a release when the tag version does not match the root `package.json`.
|
|
172
|
+
Workflows use the release tag and the local `releaseversion` action. They do not contain a manually edited version number. The action fetches the tag, checks out its commit and rejects a release when the tag version does not match the root `package.json`. The `created` release event fans out to the six registry workflows, so NuGet, Maven, RubyGems, GitHub Packages npm, public npmjs and GHCR receive the same validated version from one source of truth.
|
|
135
173
|
|
|
136
174
|
| Registry | Artifact | Workflow |
|
|
137
175
|
| --- | --- | --- |
|
|
176
|
+
| GHCR | `ghcr.io/wenathlan/saddle:<version>` | `publishghcr.yml` |
|
|
138
177
|
| GitHub Packages npm | `@wenathlan/saddle@<version>` | `publishgithubnpm.yml` |
|
|
139
178
|
| Public npmjs | `@wenathlan/saddle@<version>` | `publishnpmjs.yml` |
|
|
140
|
-
| GHCR | `ghcr.io/wenathlan/saddle:<version>` | `publishghcr.yml` |
|
|
141
179
|
| Maven | `io.wenathlan:saddle:<version>` | `publishmaven.yml` |
|
|
142
180
|
| NuGet | `Saddle.<version>.nupkg` | `publishnuget.yml` |
|
|
143
181
|
| RubyGems | `saddle <version>` | `publishrubygems.yml` |
|
|
@@ -176,7 +214,7 @@ npm run web:check
|
|
|
176
214
|
VITE_BASE_PATH=/saddle npm run web:build:pages
|
|
177
215
|
```
|
|
178
216
|
|
|
179
|
-
The engine test suite is deterministic and does not require real credentials or network access. The release path is: update `package.json` and the manifest files, update `changelog.md
|
|
217
|
+
The engine test suite is deterministic and does not require real credentials or network access. The release path is: update `package.json` and the manifest files, update `changelog.md` and release notes, run all gates, create `v<package-version>`, push the tag and create the GitHub release. Registry workflows then derive the same version from that release tag. A package metadata change alone does not publish anything; the release tag is the intentional publication boundary.
|
|
180
218
|
|
|
181
219
|
## Repository map
|
|
182
220
|
|
|
@@ -207,11 +245,11 @@ The engine is TypeScript-first ESM with English JSDoc comments and a generated J
|
|
|
207
245
|
|
|
208
246
|
## Historical documentation
|
|
209
247
|
|
|
210
|
-
Earlier README snapshots remain in `docs/plans/README.md`, `docs/talks9/README.md
|
|
248
|
+
Earlier root README snapshots and platform READMEs remain in `docs/plans/README.md`, `docs/talks9/README.md`, `docs/talks9/README (2).md`, `android/README.md`, `browser/README.md`, `desktop/README.md`, `extension/README.md` and `ios/README.md` as archival or surface-specific evidence. Their useful architecture ideas were consolidated here, while stale `@devthink`, `@iakadion`, `io.devthink`, Node 20/22, `client/src`, speculative provider quotas and unimplemented hosted services were not copied into the canonical contract.
|
|
211
249
|
|
|
212
250
|
## Current scope
|
|
213
251
|
|
|
214
|
-
Version 1.8.
|
|
252
|
+
Version 1.8.14 extends the TypeScript-first engine with flat project-owned desktop, Android and iOS build surfaces, explicit Capacitor staging boundaries, dotted release asset naming, helper-binary rejection, structured extraction provenance, browser context budgets, resumable workflow compensation, retention metadata and a container image that is pulled and smoke-tested after publication. Browser binaries, provider credentials, n8n host registration, persistent databases, captcha solvers and production deployment remain caller-selected adapters. Future work should extend contracts without coupling the core to one forge, registry, browser or storage vendor.
|
|
215
253
|
|
|
216
254
|
## License
|
|
217
255
|
|
|
@@ -54,4 +54,16 @@ export declare function snapshotdiff(previous: any, current: any): {
|
|
|
54
54
|
disabled: boolean;
|
|
55
55
|
}[];
|
|
56
56
|
};
|
|
57
|
+
/** Projects a page snapshot into a byte-bounded, allowlisted browser context. */
|
|
58
|
+
export declare function projectcontext(snapshot: any, options?: {}): {
|
|
59
|
+
version: number;
|
|
60
|
+
snapshotid: string;
|
|
61
|
+
context: {
|
|
62
|
+
snapshotid: string;
|
|
63
|
+
};
|
|
64
|
+
fields: string[];
|
|
65
|
+
bytes: number;
|
|
66
|
+
maxbytes: number;
|
|
67
|
+
truncated: any[];
|
|
68
|
+
};
|
|
57
69
|
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../browser/snapshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,KAAK;;;;;;;;;;;;;;;EActC;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAK;;;;;;EAK/C;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,WAStD;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;;;EAS7C"}
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../browser/snapshot.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,KAAK;;;;;;;;;;;;;;;EActC;AAED,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,QAAQ,KAAA,EAAE,KAAK,KAAK;;;;;;EAK/C;AAED,wFAAwF;AACxF,wBAAgB,mBAAmB,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,WAStD;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA;;;;;;;;;;;;;;;;;;;;;;;;EAS7C;AAED,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;EA4BpD"}
|
package/dist/browser/snapshot.js
CHANGED
|
@@ -49,9 +49,85 @@ export function snapshotdiff(previous, current) {
|
|
|
49
49
|
const changed = after.elements.filter((element) => oldmap.has(element.ref) && JSON.stringify(oldmap.get(element.ref)) !== JSON.stringify(element));
|
|
50
50
|
return { from: before.snapshotid, to: after.snapshotid, added, removed, changed };
|
|
51
51
|
}
|
|
52
|
+
/** Projects a page snapshot into a byte-bounded, allowlisted browser context. */
|
|
53
|
+
export function projectcontext(snapshot, options = {}) {
|
|
54
|
+
const current = pagesnapshot(snapshot);
|
|
55
|
+
const maxbytes = normalizebudget(options.maxbytes ?? 32768);
|
|
56
|
+
const allowed = normalizefields(options.fields ?? options.allowlist);
|
|
57
|
+
const context = { snapshotid: current.snapshotid };
|
|
58
|
+
const truncated = [];
|
|
59
|
+
for (const field of allowed) {
|
|
60
|
+
if (field === "snapshotid")
|
|
61
|
+
continue;
|
|
62
|
+
const value = current[field];
|
|
63
|
+
if (value === undefined)
|
|
64
|
+
continue;
|
|
65
|
+
if (field === "elements") {
|
|
66
|
+
const elements = [];
|
|
67
|
+
for (const element of value) {
|
|
68
|
+
if (fitscontext(context, field, [...elements, element], maxbytes))
|
|
69
|
+
elements.push(element);
|
|
70
|
+
else {
|
|
71
|
+
truncated.push("elements");
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (fitscontext(context, field, elements, maxbytes))
|
|
76
|
+
context[field] = elements;
|
|
77
|
+
else
|
|
78
|
+
truncated.push("elements");
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
if (fitscontext(context, field, value, maxbytes)) {
|
|
82
|
+
context[field] = value;
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (typeof value === "string")
|
|
86
|
+
context[field] = clipcontextstring(context, field, value, maxbytes);
|
|
87
|
+
else
|
|
88
|
+
truncated.push(field);
|
|
89
|
+
if (typeof value === "string" && context[field].length < value.length)
|
|
90
|
+
truncated.push(field);
|
|
91
|
+
}
|
|
92
|
+
const bytes = contextbytes(context);
|
|
93
|
+
if (bytes > maxbytes)
|
|
94
|
+
throw new RangeError("browser context budget is smaller than stable snapshot identity");
|
|
95
|
+
return { version: 1, snapshotid: current.snapshotid, context, fields: Object.keys(context), bytes, maxbytes, truncated: [...new Set(truncated)] };
|
|
96
|
+
}
|
|
52
97
|
function normalizeelements(elements) {
|
|
53
98
|
if (!Array.isArray(elements))
|
|
54
99
|
return [];
|
|
55
100
|
return elements.slice(0, 500).map((element, index) => ({ ref: String(element?.ref ?? `e${index + 1}`), role: String(element?.role ?? "generic"), name: String(element?.name ?? "").trim().slice(0, 200), value: element?.value === undefined ? undefined : String(element.value).slice(0, 500), disabled: Boolean(element?.disabled) }));
|
|
56
101
|
}
|
|
102
|
+
const snapshotfields = Object.freeze(["snapshotid", "tabid", "frameid", "url", "title", "text", "elements"]);
|
|
103
|
+
function normalizefields(fields) {
|
|
104
|
+
if (fields === undefined)
|
|
105
|
+
return [...snapshotfields];
|
|
106
|
+
if (!Array.isArray(fields) || fields.length === 0)
|
|
107
|
+
throw new TypeError("browser context fields must be a non-empty array");
|
|
108
|
+
const normalized = [...new Set(fields.map((field) => String(field)))];
|
|
109
|
+
if (normalized.some((field) => !snapshotfields.includes(field)))
|
|
110
|
+
throw new TypeError("browser context field is not allowlisted");
|
|
111
|
+
return normalized;
|
|
112
|
+
}
|
|
113
|
+
function normalizebudget(value) { const normalized = Number(value); if (!Number.isSafeInteger(normalized) || normalized <= 0)
|
|
114
|
+
throw new RangeError("browser context maxbytes must be a positive safe integer"); return normalized; }
|
|
115
|
+
function contextbytes(value) { return new TextEncoder().encode(JSON.stringify(value)).byteLength; }
|
|
116
|
+
function fitscontext(context, field, value, maxbytes) { return contextbytes({ ...context, [field]: value }) <= maxbytes; }
|
|
117
|
+
function clipcontextstring(context, field, value, maxbytes) {
|
|
118
|
+
let low = 0;
|
|
119
|
+
let high = value.length;
|
|
120
|
+
let result = "";
|
|
121
|
+
while (low <= high) {
|
|
122
|
+
const middle = Math.floor((low + high) / 2);
|
|
123
|
+
const candidate = value.slice(0, middle);
|
|
124
|
+
if (fitscontext(context, field, candidate, maxbytes)) {
|
|
125
|
+
result = candidate;
|
|
126
|
+
low = middle + 1;
|
|
127
|
+
}
|
|
128
|
+
else
|
|
129
|
+
high = middle - 1;
|
|
130
|
+
}
|
|
131
|
+
return result;
|
|
132
|
+
}
|
|
57
133
|
//# sourceMappingURL=snapshot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../browser/snapshot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../browser/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,21 @@ export declare function resumablerun(adapter: any, input?: {}): {
|
|
|
56
56
|
metadata: any;
|
|
57
57
|
response: any;
|
|
58
58
|
}>;
|
|
59
|
-
cancel: () => Promise<{
|
|
59
|
+
cancel: (options?: {}) => Promise<{
|
|
60
|
+
version: number;
|
|
61
|
+
requestid: string;
|
|
62
|
+
name: string;
|
|
63
|
+
status: any;
|
|
64
|
+
runid: any;
|
|
65
|
+
attempt: number;
|
|
66
|
+
createdat: number;
|
|
67
|
+
updatedat: number;
|
|
68
|
+
history: any;
|
|
69
|
+
metadata: any;
|
|
70
|
+
compensation: {
|
|
71
|
+
status: string;
|
|
72
|
+
};
|
|
73
|
+
} | {
|
|
60
74
|
version: number;
|
|
61
75
|
requestid: string;
|
|
62
76
|
name: string;
|
|
@@ -68,6 +82,9 @@ export declare function resumablerun(adapter: any, input?: {}): {
|
|
|
68
82
|
history: any;
|
|
69
83
|
metadata: any;
|
|
70
84
|
response: any;
|
|
85
|
+
compensation: {
|
|
86
|
+
status: string;
|
|
87
|
+
};
|
|
71
88
|
}>;
|
|
72
89
|
get: () => {
|
|
73
90
|
version: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumable.d.ts","sourceRoot":"","sources":["../../dispatch/resumable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,WAAW,mBAAyF,CAAC;AAGlH,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,KAAK;IAEzB,OAAO;IAAK,SAAS;IAA2B,IAAI;IAAsB,MAAM;IAA6B,KAAK;IAAe,OAAO;IAA8B,SAAS;IAAyC,SAAS;IAAyC,OAAO;IAAoF,QAAQ;EACvX;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;;EAKzD;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,OAAO,KAAA,EAAE,KAAK,KAAK
|
|
1
|
+
{"version":3,"file":"resumable.d.ts","sourceRoot":"","sources":["../../dispatch/resumable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,WAAW,mBAAyF,CAAC;AAGlH,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,KAAK;IAEzB,OAAO;IAAK,SAAS;IAA2B,IAAI;IAAsB,MAAM;IAA6B,KAAK;IAAe,OAAO;IAA8B,SAAS;IAAyC,SAAS;IAAyC,OAAO;IAAoF,QAAQ;EACvX;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,MAAM,KAAA,EAAE,MAAM,KAAA,EAAE,OAAO,KAAK;;;;;;;;;;;EAKzD;AAED,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,OAAO,KAAA,EAAE,KAAK,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8B/C"}
|
|
@@ -25,14 +25,39 @@ export function resumablerun(adapter, input = {}) {
|
|
|
25
25
|
if (typeof adapter?.submit !== "function" || typeof adapter?.status !== "function")
|
|
26
26
|
throw new TypeError("resumable run adapter requires submit and status");
|
|
27
27
|
let record = runrecord(input);
|
|
28
|
+
let compensation = { status: typeof input.compensate === "function" ? "pending" : "not-configured" };
|
|
28
29
|
async function submit() { const response = await adapter.submit(input); record = transitionrun(record, "submitted", { runid: response?.runid, reason: "submitted" }); return { ...record, response }; }
|
|
29
30
|
async function resume() { if (record.status === "created")
|
|
30
31
|
await submit(); if (typeof adapter.resume === "function")
|
|
31
32
|
await adapter.resume(record); const response = await adapter.status(record.runid); if (response?.status && response.status !== record.status && transitions[record.status]?.includes(response.status))
|
|
32
33
|
record = transitionrun(record, response.status, { reason: "remote-status" }); return { ...record, response }; }
|
|
33
|
-
async function cancel() {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
async function cancel(options = {}) {
|
|
35
|
+
if (record.status === "cancelled")
|
|
36
|
+
return { ...record, compensation };
|
|
37
|
+
if (!transitions[record.status]?.includes("cancelled"))
|
|
38
|
+
throw new Error(`invalid run transition: ${record.status} to cancelled`);
|
|
39
|
+
if (typeof adapter.cancel !== "function")
|
|
40
|
+
throw new TypeError("resumable run adapter does not support cancel");
|
|
41
|
+
const response = await adapter.cancel(record.runid, options);
|
|
42
|
+
record = transitionrun(record, "cancelled", { reason: options.reason ?? "cancelled" });
|
|
43
|
+
const handler = options.compensate ?? input.compensate;
|
|
44
|
+
if (typeof handler !== "function")
|
|
45
|
+
compensation = { status: "not-configured" };
|
|
46
|
+
else if (compensation.status === "pending") {
|
|
47
|
+
try {
|
|
48
|
+
compensation = { status: "succeeded", result: await handler({ run: runrecord(record), response, reason: options.reason ?? "cancelled" }) };
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
compensation = { status: "failed", error: String(error?.message ?? error) };
|
|
52
|
+
record = { ...record, metadata: { ...record.metadata, compensation: compensation.status } };
|
|
53
|
+
const failure = new Error("resumable run compensation failed", { cause: error });
|
|
54
|
+
failure.code = "COMPENSATION_FAILED";
|
|
55
|
+
throw failure;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
record = { ...record, metadata: { ...record.metadata, compensation: compensation.status } };
|
|
59
|
+
return { ...record, response, compensation };
|
|
60
|
+
}
|
|
36
61
|
function get() { return runrecord(record); }
|
|
37
62
|
return { submit, resume, cancel, get };
|
|
38
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumable.js","sourceRoot":"","sources":["../../dispatch/resumable.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resumable.js","sourceRoot":"","sources":["../../dispatch/resumable.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -4,15 +4,14 @@ export declare function mcpserver(options?: {}): {
|
|
|
4
4
|
description: string;
|
|
5
5
|
}[];
|
|
6
6
|
handle(request: any): Promise<{
|
|
7
|
-
error?: undefined;
|
|
8
7
|
jsonrpc: string;
|
|
9
8
|
id: any;
|
|
10
9
|
result: {
|
|
11
|
-
tools: any;
|
|
12
10
|
content?: undefined;
|
|
11
|
+
tools: any;
|
|
13
12
|
};
|
|
14
|
-
} | {
|
|
15
13
|
error?: undefined;
|
|
14
|
+
} | {
|
|
16
15
|
jsonrpc: string;
|
|
17
16
|
id: any;
|
|
18
17
|
result: {
|
|
@@ -22,6 +21,7 @@ export declare function mcpserver(options?: {}): {
|
|
|
22
21
|
text: string;
|
|
23
22
|
}[];
|
|
24
23
|
};
|
|
24
|
+
error?: undefined;
|
|
25
25
|
} | {
|
|
26
26
|
result?: undefined;
|
|
27
27
|
jsonrpc: string;
|
package/dist/memory/engine.d.ts
CHANGED
|
@@ -16,9 +16,9 @@ export declare function memoryengine(options?: {}): {
|
|
|
16
16
|
data: any;
|
|
17
17
|
error?: undefined;
|
|
18
18
|
} | {
|
|
19
|
-
data?: undefined;
|
|
20
19
|
success: boolean;
|
|
21
20
|
error: any;
|
|
21
|
+
data?: undefined;
|
|
22
22
|
}>;
|
|
23
23
|
sync: (key: any, options?: {}) => Promise<any[]>;
|
|
24
24
|
capabilities: () => any;
|
|
@@ -5,7 +5,8 @@ export declare function persistentqueue(options?: {}): {
|
|
|
5
5
|
items: any[];
|
|
6
6
|
}>;
|
|
7
7
|
enqueue: (payload: any, metadata?: {}) => Promise<any>;
|
|
8
|
-
claim: () => Promise<any>;
|
|
8
|
+
claim: (claimoptions?: {}) => Promise<any>;
|
|
9
|
+
renew: (id: any, leasems?: any) => Promise<any>;
|
|
9
10
|
complete: (id: any, result: any) => Promise<any>;
|
|
10
11
|
fail: (id: any, error: any) => Promise<any>;
|
|
11
12
|
list: (filter: any) => Promise<any[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent.d.ts","sourceRoot":"","sources":["../../queue/persistent.ts"],"names":[],"mappings":"AAMA,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,OAAO,KAAK
|
|
1
|
+
{"version":3,"file":"persistent.d.ts","sourceRoot":"","sources":["../../queue/persistent.ts"],"names":[],"mappings":"AAMA,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,OAAO,KAAK;;;;;;;;;;;EA2C3C"}
|
package/dist/queue/persistent.js
CHANGED
|
@@ -8,7 +8,9 @@ export function persistentqueue(options = {}) {
|
|
|
8
8
|
if (!options.path)
|
|
9
9
|
throw new TypeError("persistent queue requires path");
|
|
10
10
|
const maxattempts = options.maxattempts ?? 3;
|
|
11
|
-
|
|
11
|
+
const defaultleasems = options.leasems ?? 0;
|
|
12
|
+
const clock = typeof options.clock === "function" ? options.clock : () => Date.now();
|
|
13
|
+
let state = { version: 2, items: [] };
|
|
12
14
|
let loaded = false;
|
|
13
15
|
/** Reads the queue once and returns running jobs to the waiting state. */
|
|
14
16
|
async function restore() {
|
|
@@ -22,28 +24,43 @@ export function persistentqueue(options = {}) {
|
|
|
22
24
|
throw error;
|
|
23
25
|
}
|
|
24
26
|
for (const item of state.items ?? [])
|
|
25
|
-
if (item.status === "running")
|
|
27
|
+
if (item.status === "running" && (!item.leaseexpiresat || item.leaseexpiresat <= clock())) {
|
|
26
28
|
item.status = "queued";
|
|
29
|
+
item.leaseexpiresat = undefined;
|
|
30
|
+
}
|
|
31
|
+
state.version = 2;
|
|
27
32
|
state.items ??= [];
|
|
28
33
|
loaded = true;
|
|
29
34
|
await persist();
|
|
30
35
|
return state;
|
|
31
36
|
}
|
|
32
37
|
/** Appends a queued job and persists the new state. */
|
|
33
|
-
async function enqueue(payload, metadata = {}) { await restore(); const id = metadata.id ?? `persistentjob${
|
|
34
|
-
return
|
|
38
|
+
async function enqueue(payload, metadata = {}) { await restore(); const idempotencykey = metadata.idempotencykey; const id = metadata.id ?? idempotencykey ?? `persistentjob${clock()}${state.items.length}`; const existing = state.items.find((item) => item.id === id || (idempotencykey && item.idempotencykey === idempotencykey)); if (existing)
|
|
39
|
+
return { ...existing }; const item = { id, idempotencykey, payload, status: "queued", attempts: 0, createdat: clock(), updatedat: clock(), metadata }; state.items.push(item); await persist(); return { ...item }; }
|
|
35
40
|
/** Claims the first queued job with stable ordering. */
|
|
36
|
-
async function claim() { await restore(); const item = state.items.find((entry) => entry.status === "queued"); if (!item)
|
|
37
|
-
return null; item.status = "running"; item.attempts += 1; item.
|
|
41
|
+
async function claim(claimoptions = {}) { await restore(); reclaimexpired(); const item = state.items.find((entry) => entry.status === "queued"); if (!item)
|
|
42
|
+
return null; const leasems = claimoptions.leasems ?? defaultleasems; item.status = "running"; item.attempts += 1; item.claimedat = clock(); item.leaseexpiresat = leasems > 0 ? clock() + leasems : undefined; item.updatedat = clock(); await persist(); return { ...item }; }
|
|
43
|
+
/** Renews a running item lease without changing its attempt count. */
|
|
44
|
+
async function renew(id, leasems = defaultleasems) { await restore(); reclaimexpired(); const item = find(id); if (item.status !== "running")
|
|
45
|
+
throw new Error(`persistent queue item is not running: ${id}`); if (!(leasems > 0))
|
|
46
|
+
throw new TypeError("lease duration must be positive"); item.leaseexpiresat = clock() + leasems; item.updatedat = clock(); await persist(); return { ...item }; }
|
|
38
47
|
/** Commits a successful result. */
|
|
39
|
-
async function complete(id, result) { await restore(); const item = find(id); item.status = "completed"; item.result = result; item.updatedat =
|
|
48
|
+
async function complete(id, result) { await restore(); const item = find(id); item.status = "completed"; item.result = result; item.leaseexpiresat = undefined; item.updatedat = clock(); await persist(); return { ...item }; }
|
|
40
49
|
/** Records an error and either retries or closes the item as failed. */
|
|
41
|
-
async function fail(id, error) { await restore(); const item = find(id); item.error = { message: error?.message ?? String(error), code: error?.code }; item.status = item.attempts < maxattempts && error?.retryable !== false ? "queued" : "failed"; item.updatedat =
|
|
50
|
+
async function fail(id, error) { await restore(); const item = find(id); item.error = { message: error?.message ?? String(error), code: error?.code }; item.status = item.attempts < maxattempts && error?.retryable !== false ? "queued" : "failed"; item.leaseexpiresat = undefined; item.updatedat = clock(); await persist(); return { ...item }; }
|
|
42
51
|
/** Lists queue items for status and diagnostics. */
|
|
43
|
-
async function list(filter) { await restore();
|
|
44
|
-
|
|
52
|
+
async function list(filter) { await restore(); if (reclaimexpired())
|
|
53
|
+
await persist(); return state.items.filter((item) => !filter || item.status === filter).map((item) => ({ ...item })); }
|
|
54
|
+
return { restore, enqueue, claim, renew, complete, fail, list };
|
|
45
55
|
function find(id) { const item = state.items.find((entry) => entry.id === id); if (!item)
|
|
46
56
|
throw new Error(`persistent queue item not found: ${id}`); return item; }
|
|
57
|
+
function reclaimexpired() { let changed = false; for (const item of state.items)
|
|
58
|
+
if (item.status === "running" && item.leaseexpiresat && item.leaseexpiresat <= clock()) {
|
|
59
|
+
item.status = "queued";
|
|
60
|
+
item.leaseexpiresat = undefined;
|
|
61
|
+
item.updatedat = clock();
|
|
62
|
+
changed = true;
|
|
63
|
+
} return changed; }
|
|
47
64
|
async function persist() { await writeFile(options.path, `${JSON.stringify(state, null, 2)}\n`, "utf8"); }
|
|
48
65
|
}
|
|
49
66
|
//# sourceMappingURL=persistent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent.js","sourceRoot":"","sources":["../../queue/persistent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAAC,OAAO,GAAG,EAAE;IAC1C,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;IAC7C,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtC,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,0EAA0E;IAC1E,KAAK,UAAU,OAAO;QACpB,IAAI,MAAM;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM,KAAK,CAAC;QAAC,CAAC;QAC7H,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE;YAAE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;
|
|
1
|
+
{"version":3,"file":"persistent.js","sourceRoot":"","sources":["../../queue/persistent.ts"],"names":[],"mappings":"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"}
|
package/dist/release/assets.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export declare function createassets(options?: {}): Promise<{
|
|
|
14
14
|
subjects: {
|
|
15
15
|
name: string;
|
|
16
16
|
digest: string;
|
|
17
|
+
bytes: never;
|
|
18
|
+
updatedat: number;
|
|
17
19
|
}[];
|
|
18
20
|
sbom: {
|
|
19
21
|
bomFormat: string;
|
|
@@ -64,7 +66,30 @@ export declare function createassets(options?: {}): Promise<{
|
|
|
64
66
|
};
|
|
65
67
|
};
|
|
66
68
|
};
|
|
69
|
+
retention: {
|
|
70
|
+
policy: {};
|
|
71
|
+
evaluatedat: number;
|
|
72
|
+
decisions: {
|
|
73
|
+
name: string;
|
|
74
|
+
bytes: number;
|
|
75
|
+
updatedat: number;
|
|
76
|
+
action: string;
|
|
77
|
+
reasons: any[];
|
|
78
|
+
}[];
|
|
79
|
+
};
|
|
67
80
|
}>;
|
|
81
|
+
/** Computes deterministic keep or prune decisions without deleting caller files. */
|
|
82
|
+
export declare function retentionplan(artifacts?: any[], options?: {}): {
|
|
83
|
+
policy: {};
|
|
84
|
+
evaluatedat: number;
|
|
85
|
+
decisions: {
|
|
86
|
+
name: string;
|
|
87
|
+
bytes: number;
|
|
88
|
+
updatedat: number;
|
|
89
|
+
action: string;
|
|
90
|
+
reasons: any[];
|
|
91
|
+
}[];
|
|
92
|
+
};
|
|
68
93
|
/** Creates a compact CycloneDX component list from the root lockfile dependencies. */
|
|
69
94
|
export declare function createsbom(packagejson: any, lockjson?: {}): {
|
|
70
95
|
bomFormat: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../release/assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,iFAAiF;AACjF,wBAAsB,YAAY,CAAC,OAAO,KAAK
|
|
1
|
+
{"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../release/assets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,iFAAiF;AACjF,wBAAsB,YAAY,CAAC,OAAO,KAAK;;;;;;;;;;;;;;;;;;;;YAuEsH,SAAS;gBAAI,IAAI;gBAAiB,IAAI;gBAA4B,OAAO;;;;;;;;;;;;;;;;;gBAKtJ,MAAM;;;;;YAC0C,eAAe;gBAAI,SAAS;gBAAiD,kBAAkB;oBAAI,OAAO;oBAA4B,OAAO;;gBAAoD,kBAAkB;;YAAQ,UAAU;gBAAI,OAAO;oBAAI,EAAE;;gBAAiD,QAAQ;oBAAI,YAAY;;;;;;;;;;;;;;;;GA5Ctc;AAED,oFAAoF;AACpF,wBAAgB,aAAa,CAAC,SAAS,QAAK,EAAE,OAAO,KAAK;;;;;;;;;;EAwBzD;AAED,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,WAAW,KAAA,EAAE,QAAQ,KAAK;;;;;;QAQgH,SAAS;YAAI,IAAI;YAAiB,IAAI;YAA4B,OAAO;;;;;;;;;;;EAC7O;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,WAAW,KAAA,EAAE,QAAQ,QAAK,EAAE,OAAO,KAAK;IAE9D,KAAK;IAAqC,OAAO;;;YAD4B,MAAM;;;IACpB,aAAa;IAAoC,SAAS;QAAI,eAAe;YAAI,SAAS;YAAiD,kBAAkB;gBAAI,OAAO;gBAA4B,OAAO;;YAAoD,kBAAkB;;QAAQ,UAAU;YAAI,OAAO;gBAAI,EAAE;;YAAiD,QAAQ;gBAAI,YAAY;;;;EACtc"}
|