@wenathlan/saddle 1.8.14 → 1.8.16
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 +2 -2
- package/dist/apps/registry.d.ts +1 -1
- package/dist/binary/archive.d.ts +27 -0
- package/dist/binary/archive.d.ts.map +1 -0
- package/dist/binary/archive.js +46 -0
- package/dist/binary/archive.js.map +1 -0
- package/dist/binary/transform.d.ts +70 -0
- package/dist/binary/transform.d.ts.map +1 -0
- package/dist/binary/transform.js +105 -0
- package/dist/binary/transform.js.map +1 -0
- package/dist/delivery/manifest.d.ts +35 -0
- package/dist/delivery/manifest.d.ts.map +1 -0
- package/dist/delivery/manifest.js +68 -0
- package/dist/delivery/manifest.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -3
- package/dist/memory/engine.d.ts +1 -1
- package/dist/memory/planner.d.ts +66 -0
- package/dist/memory/planner.d.ts.map +1 -0
- package/dist/memory/planner.js +108 -0
- package/dist/memory/planner.js.map +1 -0
- package/dist/release/evidence.d.ts +92 -0
- package/dist/release/evidence.d.ts.map +1 -0
- package/dist/release/evidence.js +148 -0
- package/dist/release/evidence.js.map +1 -0
- package/dist/runners/chain.d.ts +125 -0
- package/dist/runners/chain.d.ts.map +1 -0
- package/dist/runners/chain.js +95 -0
- package/dist/runners/chain.js.map +1 -0
- package/dist/scrape/robots.js +1 -1
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +1 -0
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/memory.js +2 -2
- package/dist/storage/memory.js.map +1 -1
- package/dist/storage/pool.d.ts +95 -0
- package/dist/storage/pool.d.ts.map +1 -0
- package/dist/storage/pool.js +202 -0
- package/dist/storage/pool.js.map +1 -0
- package/dist/surfaces/requirements.d.ts +29 -0
- package/dist/surfaces/requirements.d.ts.map +1 -0
- package/dist/surfaces/requirements.js +50 -0
- package/dist/surfaces/requirements.js.map +1 -0
- package/docs/artifactavailability.md +13 -1
- package/docs/ecosystemplan.md +1 -1
- package/docs/enginearchitecture.md +30 -0
- package/docs/libraryapi.md +5 -1
- package/docs/plans/00.index.md +2 -2
- package/docs/plans/06.dependencies.md +1 -1
- package/docs/plans/18.research.content.extraction.md +3 -3
- package/docs/plans/22.research.universal.runtime.md +10 -10
- package/docs/plans/28.action.plan.md +1 -1
- package/docs/plans/35.comparativo.concorrencia.md +10 -10
- package/docs/plans/40.npm.publish.md +6 -6
- package/docs/plans/41.o.que.falta.md +2 -2
- package/docs/plans/42.pesquisa.concorrencia.md +2 -2
- package/docs/plans/43.plan.universal.architecture.md +2 -2
- package/docs/plans/44.reference.md +1 -1
- package/docs/plans/45.robotarchitecture.md +3 -3
- package/docs/plans/46.scdnintegration.md +1 -1
- package/docs/plans/README.md +2 -2
- package/docs/plans/missing-facts.md +1 -1
- package/docs/registryresearch.md +3 -3
- package/docs/release17notes.md +1 -1
- package/docs/releasenotes-1.8.14.md +24 -9
- package/docs/releasenotes-1.8.15.md +41 -0
- package/docs/releasenotes-1.8.16.md +40 -0
- package/docs/repo-research-1.8.16.md +439 -0
- package/docs/repo-synthesis-1.8.16.md +56 -0
- package/docs/talks9/README (2).md +2 -2
- package/docs/talks9/README.md +4 -4
- package/docs/talks9/Viabilidade do Saddle_ Uma An/303/241lise T/303/251cnica da Transforma/303/247/303/243o de Armazenamento Remoto em Mem/303/263ria Computacional.md" +4 -4
- package/docs/talks9/conversa.txt +4 -4
- package/docs/todo-1.8.15.md +483 -0
- package/docs/todo-1.8.16.md +651 -0
- package/docs/todo.md +708 -0
- package/extension/manifest.json +1 -1
- package/package.json +10 -2
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
Saddle is a **TypeScript-first ESM engine** compiled to JavaScript, declarations and source maps for jobs that move data between storage, a bounded working set, a caller-injected runner and durable artifacts. It is also a virtual machine published as a package: the caller can run it on GitHub Actions, Forgejo, Gitea, GitLab, Codeberg, Docker or another third-party compute surface. The engine does not require the operator's local machine, does not embed credentials and does not choose a mandatory cloud provider.
|
|
16
16
|
|
|
17
|
-
The canonical JavaScript package is `@wenathlan/saddle`. GitHub Packages npm, Maven and GHCR use the `wenathlan` owner namespace; NuGet and RubyGems retain their ecosystem package names. Older `@
|
|
17
|
+
The canonical JavaScript package is `@wenathlan/saddle`. GitHub Packages npm, Maven and GHCR use the `wenathlan` owner namespace; NuGet and RubyGems retain their ecosystem package names. Older `@wenathlan`, `@iakadion` and `io.devthink` references in archived documents are historical records, not current package identities.
|
|
18
18
|
|
|
19
19
|
## Start here
|
|
20
20
|
|
|
@@ -245,7 +245,7 @@ The engine is TypeScript-first ESM with English JSDoc comments and a generated J
|
|
|
245
245
|
|
|
246
246
|
## Historical documentation
|
|
247
247
|
|
|
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 `@
|
|
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 `@wenathlan`, `@iakadion`, `io.devthink`, Node 20/22, `client/src`, speculative provider quotas and unimplemented hosted services were not copied into the canonical contract.
|
|
249
249
|
|
|
250
250
|
## Current scope
|
|
251
251
|
|
package/dist/apps/registry.d.ts
CHANGED
|
@@ -22,10 +22,10 @@ export declare function appregistry(options?: {}): {
|
|
|
22
22
|
missing?: undefined;
|
|
23
23
|
appid?: undefined;
|
|
24
24
|
} | {
|
|
25
|
-
reason?: undefined;
|
|
26
25
|
allowed: boolean;
|
|
27
26
|
missing: any[];
|
|
28
27
|
appid: any;
|
|
28
|
+
reason?: undefined;
|
|
29
29
|
};
|
|
30
30
|
get: (id: any) => any;
|
|
31
31
|
list: () => any[];
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* archive inspection validates declared entry metadata before any caller-owned extraction adapter runs.
|
|
3
|
+
*/
|
|
4
|
+
/** Validates portable archive limits without opening an archive. */
|
|
5
|
+
export declare function archivelimits(input?: {}): Readonly<{
|
|
6
|
+
maxentries: number;
|
|
7
|
+
maxdepth: number;
|
|
8
|
+
maxoutputbytes: number;
|
|
9
|
+
maxratio: number;
|
|
10
|
+
}>;
|
|
11
|
+
/** Inspects declared archive entries and returns explicit acceptance or denial evidence. */
|
|
12
|
+
export declare function archiveinspection(input?: {}): Readonly<{
|
|
13
|
+
version: 1;
|
|
14
|
+
state: "accepted" | "denied";
|
|
15
|
+
limits: Readonly<{
|
|
16
|
+
maxentries: number;
|
|
17
|
+
maxdepth: number;
|
|
18
|
+
maxoutputbytes: number;
|
|
19
|
+
maxratio: number;
|
|
20
|
+
}>;
|
|
21
|
+
entries: any;
|
|
22
|
+
outputbytes: number;
|
|
23
|
+
reasons: readonly any[];
|
|
24
|
+
}>;
|
|
25
|
+
/** Requires a caller-owned extraction adapter and denies an unsafe inspection result. */
|
|
26
|
+
export declare function extractarchive(inspection: any, adapter: any): Promise<any>;
|
|
27
|
+
//# sourceMappingURL=archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../../binary/archive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,KAAK,KAAK;;;;;GAEvC;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,KAAK,KAAK;;;;;;;;;;;;GAe3C;AAED,yFAAyF;AACzF,wBAAsB,cAAc,CAAC,UAAU,KAAA,EAAE,OAAO,KAAA,gBAIvD"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* archive inspection validates declared entry metadata before any caller-owned extraction adapter runs.
|
|
3
|
+
*/
|
|
4
|
+
/** Validates portable archive limits without opening an archive. */
|
|
5
|
+
export function archivelimits(input = {}) {
|
|
6
|
+
return Object.freeze({ maxentries: positive(input.maxentries ?? 1, "archive maxentries"), maxdepth: positive(input.maxdepth ?? 1, "archive maxdepth"), maxoutputbytes: positive(input.maxoutputbytes ?? 1, "archive maxoutputbytes"), maxratio: positive(input.maxratio ?? 1, "archive maxratio") });
|
|
7
|
+
}
|
|
8
|
+
/** Inspects declared archive entries and returns explicit acceptance or denial evidence. */
|
|
9
|
+
export function archiveinspection(input = {}) {
|
|
10
|
+
const limits = archivelimits(input.limits);
|
|
11
|
+
if (!Array.isArray(input.entries))
|
|
12
|
+
throw new TypeError("archive entries must be an array");
|
|
13
|
+
const entries = input.entries.map((entry) => normalizeentry(entry));
|
|
14
|
+
const reasons = [];
|
|
15
|
+
if (entries.length > limits.maxentries)
|
|
16
|
+
reasons.push("entrycount");
|
|
17
|
+
let outputbytes = 0;
|
|
18
|
+
for (const entry of entries) {
|
|
19
|
+
outputbytes += entry.sizebytes;
|
|
20
|
+
if (entry.depth > limits.maxdepth)
|
|
21
|
+
reasons.push(`depth:${entry.path}`);
|
|
22
|
+
if (entry.path.split("/").includes("..") || entry.path.startsWith("/"))
|
|
23
|
+
reasons.push(`path:${entry.path}`);
|
|
24
|
+
if (entry.sizebytes / Math.max(1, entry.compressedbytes) > limits.maxratio)
|
|
25
|
+
reasons.push(`ratio:${entry.path}`);
|
|
26
|
+
}
|
|
27
|
+
if (outputbytes > limits.maxoutputbytes)
|
|
28
|
+
reasons.push("outputbytes");
|
|
29
|
+
return Object.freeze({ version: 1, state: reasons.length === 0 ? "accepted" : "denied", limits, entries: Object.freeze(entries), outputbytes, reasons: Object.freeze([...new Set(reasons)]) });
|
|
30
|
+
}
|
|
31
|
+
/** Requires a caller-owned extraction adapter and denies an unsafe inspection result. */
|
|
32
|
+
export async function extractarchive(inspection, adapter) {
|
|
33
|
+
if (inspection?.state !== "accepted")
|
|
34
|
+
throw archiveerror("ARCHIVE_POLICY_DENIED", "archive inspection must be accepted before extraction");
|
|
35
|
+
if (typeof adapter?.extract !== "function")
|
|
36
|
+
throw archiveerror("ARCHIVE_EXTRACTION_UNAVAILABLE", "archive extraction adapter is required");
|
|
37
|
+
return adapter.extract(inspection);
|
|
38
|
+
}
|
|
39
|
+
function normalizeentry(input) { const path = String(input?.path ?? ""); if (!path)
|
|
40
|
+
throw new TypeError("archive entry path is required"); return Object.freeze({ path, sizebytes: nonnegative(input.sizebytes, "archive entry sizebytes"), compressedbytes: nonnegative(input.compressedbytes, "archive entry compressedbytes"), depth: path.split("/").filter(Boolean).length }); }
|
|
41
|
+
function nonnegative(value, name) { const output = Number(value); if (!Number.isSafeInteger(output) || output < 0)
|
|
42
|
+
throw new TypeError(`${name} must be a non-negative safe integer`); return output; }
|
|
43
|
+
function positive(value, name) { const output = nonnegative(value, name); if (output < 1)
|
|
44
|
+
throw new TypeError(`${name} must be positive`); return output; }
|
|
45
|
+
function archiveerror(code, message) { const error = new Error(message); error.code = code; return error; }
|
|
46
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../../binary/archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** Classifies a small binary prefix without trusting a filename extension. */
|
|
2
|
+
export declare function magicbytes(input: any): Readonly<{
|
|
3
|
+
format: "wasm";
|
|
4
|
+
executable: true;
|
|
5
|
+
}> | Readonly<{
|
|
6
|
+
format: "elf";
|
|
7
|
+
executable: true;
|
|
8
|
+
}> | Readonly<{
|
|
9
|
+
format: "pe";
|
|
10
|
+
executable: true;
|
|
11
|
+
}> | Readonly<{
|
|
12
|
+
format: "zip";
|
|
13
|
+
executable: false;
|
|
14
|
+
}> | Readonly<{
|
|
15
|
+
format: "unknown";
|
|
16
|
+
executable: false;
|
|
17
|
+
}>;
|
|
18
|
+
/** Validates a bounded WASM transformation plan without compiling or instantiating a module. */
|
|
19
|
+
export declare function wasmplan(input?: {}): Readonly<{
|
|
20
|
+
version: 1;
|
|
21
|
+
source: string;
|
|
22
|
+
imports: readonly unknown[];
|
|
23
|
+
budget: Readonly<{
|
|
24
|
+
maxbytes: number;
|
|
25
|
+
maxoutputbytes: number;
|
|
26
|
+
maxmilliseconds: number;
|
|
27
|
+
network: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
target: string;
|
|
30
|
+
policyversion: number;
|
|
31
|
+
state: "caller-executes";
|
|
32
|
+
}>;
|
|
33
|
+
/** Builds a reproducible transformation cache key from verified inputs and normalized policy. */
|
|
34
|
+
export declare function transformationkey(input?: {}): string;
|
|
35
|
+
/** Validates an immutable cache manifest that can be reused only by matching policy and toolchain identities. */
|
|
36
|
+
export declare function transformationcache(input?: {}): Readonly<{
|
|
37
|
+
version: 1;
|
|
38
|
+
key: string;
|
|
39
|
+
source: string;
|
|
40
|
+
compiler: string;
|
|
41
|
+
policyversion: number;
|
|
42
|
+
outputs: any;
|
|
43
|
+
verified: boolean;
|
|
44
|
+
}>;
|
|
45
|
+
/** Explains whether a verified cache manifest can serve a requested transformation. */
|
|
46
|
+
export declare function cachedecision(manifest: any, request: any): Readonly<{
|
|
47
|
+
reusable: boolean;
|
|
48
|
+
reasons: readonly any[];
|
|
49
|
+
manifest: Readonly<{
|
|
50
|
+
version: 1;
|
|
51
|
+
key: string;
|
|
52
|
+
source: string;
|
|
53
|
+
compiler: string;
|
|
54
|
+
policyversion: number;
|
|
55
|
+
outputs: any;
|
|
56
|
+
verified: boolean;
|
|
57
|
+
}>;
|
|
58
|
+
}>;
|
|
59
|
+
/** Rejects cache reuse for outputs that are sensitive, environment-bound, partial, or unverified. */
|
|
60
|
+
export declare function cacheeligibility(input?: {}): Readonly<{
|
|
61
|
+
eligible: boolean;
|
|
62
|
+
reasons: readonly any[];
|
|
63
|
+
}>;
|
|
64
|
+
/** Runs a transformation only through an injected isolated adapter and verifies declared output digests. */
|
|
65
|
+
export declare function executeisolated(plan: any, adapter: any): Promise<Readonly<{
|
|
66
|
+
version: 1;
|
|
67
|
+
state: "completed";
|
|
68
|
+
outputs: any;
|
|
69
|
+
}>>;
|
|
70
|
+
//# sourceMappingURL=transform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../binary/transform.ts"],"names":[],"mappings":"AAKA,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,KAAK,KAAA;;;;;;;;;;;;;;;GAQ/B;AAED,gGAAgG;AAChG,wBAAgB,QAAQ,CAAC,KAAK,KAAK;;;;;;;;;;;;;GAKlC;AAED,iGAAiG;AACjG,wBAAgB,iBAAiB,CAAC,KAAK,KAAK,UAI3C;AAED,iHAAiH;AACjH,wBAAgB,mBAAmB,CAAC,KAAK,KAAK;;;;;;;;GAO7C;AAED,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,QAAQ,KAAA,EAAE,OAAO,KAAA;;;;;;;;;;;;GAU9C;AAED,qGAAqG;AACrG,wBAAgB,gBAAgB,CAAC,KAAK,KAAK;;;GAQ1C;AAED,4GAA4G;AAC5G,wBAAsB,eAAe,CAAC,IAAI,KAAA,EAAE,OAAO,KAAA;;;;IAalD"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* binary transformation contracts classify inputs and delegate execution to isolated caller-owned adapters.
|
|
3
|
+
*/
|
|
4
|
+
import { sha256 } from "../core/hash.js";
|
|
5
|
+
/** Classifies a small binary prefix without trusting a filename extension. */
|
|
6
|
+
export function magicbytes(input) {
|
|
7
|
+
const bytes = tobytes(input);
|
|
8
|
+
const matches = (prefix) => prefix.every((value, index) => bytes[index] === value);
|
|
9
|
+
if (matches([0x00, 0x61, 0x73, 0x6d]))
|
|
10
|
+
return Object.freeze({ format: "wasm", executable: true });
|
|
11
|
+
if (matches([0x7f, 0x45, 0x4c, 0x46]))
|
|
12
|
+
return Object.freeze({ format: "elf", executable: true });
|
|
13
|
+
if (matches([0x4d, 0x5a]))
|
|
14
|
+
return Object.freeze({ format: "pe", executable: true });
|
|
15
|
+
if (matches([0x50, 0x4b, 0x03, 0x04]))
|
|
16
|
+
return Object.freeze({ format: "zip", executable: false });
|
|
17
|
+
return Object.freeze({ format: "unknown", executable: false });
|
|
18
|
+
}
|
|
19
|
+
/** Validates a bounded WASM transformation plan without compiling or instantiating a module. */
|
|
20
|
+
export function wasmplan(input = {}) {
|
|
21
|
+
const source = normalizedigest(input.source, "wasm source");
|
|
22
|
+
const imports = normalizeimports(input.imports);
|
|
23
|
+
const budget = resourcebudget(input.budget);
|
|
24
|
+
return Object.freeze({ version: 1, source, imports, budget, target: String(input.target ?? "wasm"), policyversion: positive(input.policyversion ?? 1, "wasm policyversion"), state: "caller-executes" });
|
|
25
|
+
}
|
|
26
|
+
/** Builds a reproducible transformation cache key from verified inputs and normalized policy. */
|
|
27
|
+
export function transformationkey(input = {}) {
|
|
28
|
+
const plan = wasmplan(input.plan ?? input);
|
|
29
|
+
const compiler = normalizedigest(input.compiler, "transformation compiler");
|
|
30
|
+
return sha256(JSON.stringify({ source: plan.source, imports: plan.imports, budget: plan.budget, target: plan.target, policyversion: plan.policyversion, compiler }));
|
|
31
|
+
}
|
|
32
|
+
/** Validates an immutable cache manifest that can be reused only by matching policy and toolchain identities. */
|
|
33
|
+
export function transformationcache(input = {}) {
|
|
34
|
+
const source = normalizedigest(input.source, "transformation cache source");
|
|
35
|
+
const compiler = normalizedigest(input.compiler, "transformation cache compiler");
|
|
36
|
+
const key = normalizedigest(input.key, "transformation cache key");
|
|
37
|
+
const outputs = Array.isArray(input.outputs) ? input.outputs.map((output) => Object.freeze({ name: nonempty(output?.name, "transformation cache output name"), sha256: normalizedigest(output?.sha256, "transformation cache output sha256"), sizebytes: positive(output?.sizebytes, "transformation cache output sizebytes") })) : [];
|
|
38
|
+
if (outputs.length === 0)
|
|
39
|
+
throw new TypeError("transformation cache outputs are required");
|
|
40
|
+
return Object.freeze({ version: 1, key, source, compiler, policyversion: positive(input.policyversion, "transformation cache policyversion"), outputs: Object.freeze(outputs), verified: input.verified === true });
|
|
41
|
+
}
|
|
42
|
+
/** Explains whether a verified cache manifest can serve a requested transformation. */
|
|
43
|
+
export function cachedecision(manifest, request) {
|
|
44
|
+
const cached = transformationcache(manifest);
|
|
45
|
+
const requested = transformationcache(request);
|
|
46
|
+
const reasons = [];
|
|
47
|
+
if (!cached.verified)
|
|
48
|
+
reasons.push("unverified");
|
|
49
|
+
if (cached.key !== requested.key)
|
|
50
|
+
reasons.push("key");
|
|
51
|
+
if (cached.source !== requested.source)
|
|
52
|
+
reasons.push("source");
|
|
53
|
+
if (cached.compiler !== requested.compiler)
|
|
54
|
+
reasons.push("compiler");
|
|
55
|
+
if (cached.policyversion !== requested.policyversion)
|
|
56
|
+
reasons.push("policyversion");
|
|
57
|
+
return Object.freeze({ reusable: reasons.length === 0, reasons: Object.freeze(reasons), manifest: cached });
|
|
58
|
+
}
|
|
59
|
+
/** Rejects cache reuse for outputs that are sensitive, environment-bound, partial, or unverified. */
|
|
60
|
+
export function cacheeligibility(input = {}) {
|
|
61
|
+
const reasons = [];
|
|
62
|
+
if (input.verified !== true)
|
|
63
|
+
reasons.push("unverified");
|
|
64
|
+
if (input.containssecrets === true)
|
|
65
|
+
reasons.push("secrets");
|
|
66
|
+
if (input.containsprivate === true)
|
|
67
|
+
reasons.push("private-data");
|
|
68
|
+
if (input.environmentbound === true)
|
|
69
|
+
reasons.push("environment-bound");
|
|
70
|
+
if (input.partial === true)
|
|
71
|
+
reasons.push("partial");
|
|
72
|
+
return Object.freeze({ eligible: reasons.length === 0, reasons: Object.freeze(reasons) });
|
|
73
|
+
}
|
|
74
|
+
/** Runs a transformation only through an injected isolated adapter and verifies declared output digests. */
|
|
75
|
+
export async function executeisolated(plan, adapter) {
|
|
76
|
+
if (typeof adapter?.execute !== "function")
|
|
77
|
+
throw transformerror("ISOLATED_EXECUTION_UNAVAILABLE", "isolated transformation adapter is required");
|
|
78
|
+
const result = await adapter.execute(wasmplan(plan));
|
|
79
|
+
const outputs = Array.isArray(result?.outputs) ? result.outputs : [];
|
|
80
|
+
if (outputs.length === 0)
|
|
81
|
+
throw transformerror("ISOLATED_EXECUTION_OUTPUT_INVALID", "isolated transformation returned no outputs");
|
|
82
|
+
const verified = outputs.map((output) => {
|
|
83
|
+
const data = tobytes(output?.data);
|
|
84
|
+
const expected = normalizedigest(output?.sha256, "isolated transformation output sha256");
|
|
85
|
+
const actual = sha256(data);
|
|
86
|
+
if (actual !== expected)
|
|
87
|
+
throw transformerror("ISOLATED_EXECUTION_DIGEST_MISMATCH", "isolated transformation output digest did not match");
|
|
88
|
+
return Object.freeze({ name: nonempty(output?.name, "isolated transformation output name"), data, sha256: actual, sizebytes: data.byteLength });
|
|
89
|
+
});
|
|
90
|
+
return Object.freeze({ version: 1, state: "completed", outputs: Object.freeze(verified) });
|
|
91
|
+
}
|
|
92
|
+
function resourcebudget(input = {}) { return Object.freeze({ maxbytes: positive(input.maxbytes ?? 1, "wasm budget maxbytes"), maxoutputbytes: positive(input.maxoutputbytes ?? input.maxbytes ?? 1, "wasm budget maxoutputbytes"), maxmilliseconds: positive(input.maxmilliseconds ?? 1, "wasm budget maxmilliseconds"), network: input.network === true }); }
|
|
93
|
+
function normalizeimports(input) { if (!Array.isArray(input ?? []))
|
|
94
|
+
throw new TypeError("wasm imports must be an array"); return Object.freeze([...new Set(input.map((value) => nonempty(value, "wasm import")))].sort()); }
|
|
95
|
+
function normalizedigest(value, name) { const digest = String(value ?? "").toLowerCase(); if (!/^[a-f0-9]{64}$/.test(digest))
|
|
96
|
+
throw new TypeError(`${name} sha256 is invalid`); return digest; }
|
|
97
|
+
function nonempty(value, name) { const output = String(value ?? ""); if (!output)
|
|
98
|
+
throw new TypeError(`${name} is required`); return output; }
|
|
99
|
+
function positive(value, name) { const numeric = Number(value); if (!Number.isSafeInteger(numeric) || numeric < 1)
|
|
100
|
+
throw new TypeError(`${name} must be a positive safe integer`); return numeric; }
|
|
101
|
+
function tobytes(value) { if (value instanceof Uint8Array)
|
|
102
|
+
return new Uint8Array(value); if (value instanceof ArrayBuffer)
|
|
103
|
+
return new Uint8Array(value); throw new TypeError("binary input must be Uint8Array or ArrayBuffer"); }
|
|
104
|
+
function transformerror(code, message) { const error = new Error(message); error.code = code; return error; }
|
|
105
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../../binary/transform.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/** Creates an ordered immutable delivery manifest from verified chunk metadata. */
|
|
2
|
+
export declare function deliverymanifest(input?: {}): Readonly<{
|
|
3
|
+
version: 1;
|
|
4
|
+
id: string;
|
|
5
|
+
chunks: any;
|
|
6
|
+
totalbytes: any;
|
|
7
|
+
visibility: "private" | "public";
|
|
8
|
+
}>;
|
|
9
|
+
/** Verifies supplied chunk bytes against a manifest without executing, importing, or caching them. */
|
|
10
|
+
export declare function verifydelivery(manifest: any, supplied?: any[]): Readonly<{
|
|
11
|
+
version: 1;
|
|
12
|
+
valid: any;
|
|
13
|
+
results: any;
|
|
14
|
+
}>;
|
|
15
|
+
/** Produces a host PWA plan that never registers a service worker or mutates browser state. */
|
|
16
|
+
export declare function pwaplan(input?: {}): Readonly<{
|
|
17
|
+
version: 1;
|
|
18
|
+
scope: string;
|
|
19
|
+
offline: boolean;
|
|
20
|
+
state: "caller-registers" | "unsupported";
|
|
21
|
+
update: "manual" | "prompt";
|
|
22
|
+
cache: "caller-configures" | "disabled";
|
|
23
|
+
}>;
|
|
24
|
+
/** Validates a caller-reported CDN capability set without contacting a CDN provider. */
|
|
25
|
+
export declare function cdncapabilities(input?: {}): Readonly<{
|
|
26
|
+
version: 1;
|
|
27
|
+
immutable: boolean;
|
|
28
|
+
purge: boolean;
|
|
29
|
+
range: boolean;
|
|
30
|
+
integrityheaders: boolean;
|
|
31
|
+
cors: boolean;
|
|
32
|
+
visibility: "private" | "public";
|
|
33
|
+
state: "caller-reports";
|
|
34
|
+
}>;
|
|
35
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../delivery/manifest.ts"],"names":[],"mappings":"AAKA,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,KAAK,KAAK;;;;;;GAQ1C;AAED,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,QAAQ,KAAA,EAAE,QAAQ,QAAK;;;;GAarD;AAED,+FAA+F;AAC/F,wBAAgB,OAAO,CAAC,KAAK,KAAK;;;;;;;GAMjC;AAED,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,KAAK;;;;;;;;;GAGzC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* delivery manifests verify immutable chunks and keep PWA registration caller-owned.
|
|
3
|
+
*/
|
|
4
|
+
import { sha256 } from "../core/hash.js";
|
|
5
|
+
/** Creates an ordered immutable delivery manifest from verified chunk metadata. */
|
|
6
|
+
export function deliverymanifest(input = {}) {
|
|
7
|
+
const chunks = Array.isArray(input.chunks) ? input.chunks.map(normalizechunk) : [];
|
|
8
|
+
if (chunks.length === 0)
|
|
9
|
+
throw new TypeError("delivery manifest chunks are required");
|
|
10
|
+
const seen = new Set();
|
|
11
|
+
for (const chunk of chunks) {
|
|
12
|
+
if (seen.has(chunk.id))
|
|
13
|
+
throw new TypeError(`delivery manifest chunk id is duplicated: ${chunk.id}`);
|
|
14
|
+
seen.add(chunk.id);
|
|
15
|
+
}
|
|
16
|
+
const ordered = chunks.sort((left, right) => left.index - right.index || left.id.localeCompare(right.id));
|
|
17
|
+
for (let index = 0; index < ordered.length; index += 1)
|
|
18
|
+
if (ordered[index].index !== index)
|
|
19
|
+
throw new TypeError("delivery manifest chunk indexes must be contiguous");
|
|
20
|
+
return Object.freeze({ version: 1, id: nonempty(input.id, "delivery manifest id"), chunks: Object.freeze(ordered), totalbytes: ordered.reduce((total, chunk) => total + chunk.sizebytes, 0), visibility: input.visibility === "private" ? "private" : "public" });
|
|
21
|
+
}
|
|
22
|
+
/** Verifies supplied chunk bytes against a manifest without executing, importing, or caching them. */
|
|
23
|
+
export function verifydelivery(manifest, supplied = []) {
|
|
24
|
+
const expected = deliverymanifest(manifest);
|
|
25
|
+
if (!Array.isArray(supplied))
|
|
26
|
+
throw new TypeError("delivery chunks must be an array");
|
|
27
|
+
const values = new Map(supplied.map((value) => [String(value?.id ?? ""), value]));
|
|
28
|
+
const results = expected.chunks.map((chunk) => {
|
|
29
|
+
const suppliedchunk = values.get(chunk.id);
|
|
30
|
+
if (!suppliedchunk)
|
|
31
|
+
return Object.freeze({ id: chunk.id, state: "missing" });
|
|
32
|
+
const data = tobytes(suppliedchunk.data);
|
|
33
|
+
const digest = sha256(data);
|
|
34
|
+
if (data.byteLength !== chunk.sizebytes || digest !== chunk.sha256)
|
|
35
|
+
return Object.freeze({ id: chunk.id, state: "mismatch", sizebytes: data.byteLength, sha256: digest });
|
|
36
|
+
return Object.freeze({ id: chunk.id, state: "verified", sizebytes: data.byteLength, sha256: digest });
|
|
37
|
+
});
|
|
38
|
+
return Object.freeze({ version: 1, valid: results.every((result) => result.state === "verified"), results: Object.freeze(results) });
|
|
39
|
+
}
|
|
40
|
+
/** Produces a host PWA plan that never registers a service worker or mutates browser state. */
|
|
41
|
+
export function pwaplan(input = {}) {
|
|
42
|
+
const scope = String(input.scope ?? "");
|
|
43
|
+
if (!scope.startsWith("/"))
|
|
44
|
+
throw new TypeError("PWA scope must start with a slash");
|
|
45
|
+
const serviceworker = input.capabilities?.serviceworker === true;
|
|
46
|
+
const offline = input.offline === true;
|
|
47
|
+
return Object.freeze({ version: 1, scope, offline, state: serviceworker ? "caller-registers" : "unsupported", update: input.update === "manual" ? "manual" : "prompt", cache: offline ? "caller-configures" : "disabled" });
|
|
48
|
+
}
|
|
49
|
+
/** Validates a caller-reported CDN capability set without contacting a CDN provider. */
|
|
50
|
+
export function cdncapabilities(input = {}) {
|
|
51
|
+
const visibility = input.visibility === "private" ? "private" : "public";
|
|
52
|
+
return Object.freeze({ version: 1, immutable: input.immutable === true, purge: input.purge === true, range: input.range === true, integrityheaders: input.integrityheaders === true, cors: input.cors === true, visibility, state: "caller-reports" });
|
|
53
|
+
}
|
|
54
|
+
const contenttypes = new Set(["application/javascript", "application/wasm", "application/octet-stream", "application/json", "text/plain"]);
|
|
55
|
+
function normalizechunk(input, index) { const contenttype = String(input?.contenttype ?? "application/octet-stream"); if (!contenttypes.has(contenttype))
|
|
56
|
+
throw new TypeError(`delivery manifest content type is unsupported: ${contenttype}`); return Object.freeze({ id: nonempty(input?.id, "delivery manifest chunk id"), index: safeindex(input?.index ?? index), sha256: digest(input?.sha256, "delivery manifest chunk sha256"), sizebytes: positive(input?.sizebytes, "delivery manifest chunk sizebytes"), contenttype }); }
|
|
57
|
+
function nonempty(value, name) { const output = String(value ?? ""); if (!output)
|
|
58
|
+
throw new TypeError(`${name} is required`); return output; }
|
|
59
|
+
function digest(value, name) { const output = String(value ?? "").toLowerCase(); if (!/^[a-f0-9]{64}$/.test(output))
|
|
60
|
+
throw new TypeError(`${name} is invalid`); return output; }
|
|
61
|
+
function safeindex(value) { const output = Number(value); if (!Number.isSafeInteger(output) || output < 0)
|
|
62
|
+
throw new TypeError("delivery manifest chunk index is invalid"); return output; }
|
|
63
|
+
function positive(value, name) { const output = Number(value); if (!Number.isSafeInteger(output) || output < 1)
|
|
64
|
+
throw new TypeError(`${name} must be a positive safe integer`); return output; }
|
|
65
|
+
function tobytes(value) { if (value instanceof Uint8Array)
|
|
66
|
+
return value; if (value instanceof ArrayBuffer)
|
|
67
|
+
return new Uint8Array(value); throw new TypeError("delivery chunk data must be Uint8Array or ArrayBuffer"); }
|
|
68
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../delivery/manifest.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./memory/objects.js";
|
|
|
15
15
|
export * from "./memory/targets.js";
|
|
16
16
|
export * from "./memory/transforms.js";
|
|
17
17
|
export * from "./memory/engine.js";
|
|
18
|
+
export * from "./memory/planner.js";
|
|
18
19
|
export * from "./runners/inprocess.js";
|
|
19
20
|
export * from "./runners/scheduler.js";
|
|
20
21
|
export * from "./runtime/engine.js";
|
|
@@ -22,8 +23,10 @@ export * from "./storage/adapter.js";
|
|
|
22
23
|
export * from "./storage/cache.js";
|
|
23
24
|
export * from "./storage/content.js";
|
|
24
25
|
export * from "./storage/memory.js";
|
|
26
|
+
export * from "./storage/pool.js";
|
|
25
27
|
export * from "./storage/sync.js";
|
|
26
28
|
export * from "./runners/health.js";
|
|
29
|
+
export * from "./runners/chain.js";
|
|
27
30
|
export * from "./runners/heartbeat.js";
|
|
28
31
|
export * from "./workflow/triggers.js";
|
|
29
32
|
export * from "./dispatch/resumable.js";
|
|
@@ -37,6 +40,7 @@ export * from "./mcp/browser.js";
|
|
|
37
40
|
export * from "./apps/registry.js";
|
|
38
41
|
export * from "./bot/permissions.js";
|
|
39
42
|
export * from "./webhook/delivery.js";
|
|
43
|
+
export * from "./delivery/manifest.js";
|
|
40
44
|
export * from "./storage/chunked.js";
|
|
41
45
|
export * from "./storage/s3compatible.js";
|
|
42
46
|
export * from "./modes/modes.js";
|
|
@@ -98,6 +102,7 @@ export * from "./surfaces/n8n.js";
|
|
|
98
102
|
export * from "./surfaces/adapters.js";
|
|
99
103
|
export * from "./surfaces/controls.js";
|
|
100
104
|
export * from "./surfaces/operations.js";
|
|
105
|
+
export * from "./surfaces/requirements.js";
|
|
101
106
|
export * from "./library/public.js";
|
|
102
107
|
export * from "./runtime/retry.js";
|
|
103
108
|
export * from "./storage/githubcontents.js";
|
|
@@ -108,9 +113,12 @@ export * from "./api/security.js";
|
|
|
108
113
|
export * from "./modes/matrix.js";
|
|
109
114
|
export * from "./modes/resolve.js";
|
|
110
115
|
export * from "./binary/build.js";
|
|
116
|
+
export * from "./binary/archive.js";
|
|
117
|
+
export * from "./binary/transform.js";
|
|
111
118
|
export * from "./api/rate.js";
|
|
112
119
|
export * from "./api/http.js";
|
|
113
120
|
export * from "./api/service.js";
|
|
114
121
|
export * from "./api/control.js";
|
|
115
122
|
export * from "./extension/index.js";
|
|
123
|
+
export * from "./release/evidence.js";
|
|
116
124
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from "./memory/objects.js";
|
|
|
15
15
|
export * from "./memory/targets.js";
|
|
16
16
|
export * from "./memory/transforms.js";
|
|
17
17
|
export * from "./memory/engine.js";
|
|
18
|
+
export * from "./memory/planner.js";
|
|
18
19
|
export * from "./runners/inprocess.js";
|
|
19
20
|
export * from "./runners/scheduler.js";
|
|
20
21
|
export * from "./runtime/engine.js";
|
|
@@ -22,8 +23,10 @@ export * from "./storage/adapter.js";
|
|
|
22
23
|
export * from "./storage/cache.js";
|
|
23
24
|
export * from "./storage/content.js";
|
|
24
25
|
export * from "./storage/memory.js";
|
|
26
|
+
export * from "./storage/pool.js";
|
|
25
27
|
export * from "./storage/sync.js";
|
|
26
28
|
export * from "./runners/health.js";
|
|
29
|
+
export * from "./runners/chain.js";
|
|
27
30
|
export * from "./runners/heartbeat.js";
|
|
28
31
|
export * from "./workflow/triggers.js";
|
|
29
32
|
export * from "./dispatch/resumable.js";
|
|
@@ -37,6 +40,7 @@ export * from "./mcp/browser.js";
|
|
|
37
40
|
export * from "./apps/registry.js";
|
|
38
41
|
export * from "./bot/permissions.js";
|
|
39
42
|
export * from "./webhook/delivery.js";
|
|
43
|
+
export * from "./delivery/manifest.js";
|
|
40
44
|
export * from "./storage/chunked.js";
|
|
41
45
|
export * from "./storage/s3compatible.js";
|
|
42
46
|
export * from "./modes/modes.js";
|
|
@@ -98,6 +102,7 @@ export * from "./surfaces/n8n.js";
|
|
|
98
102
|
export * from "./surfaces/adapters.js";
|
|
99
103
|
export * from "./surfaces/controls.js";
|
|
100
104
|
export * from "./surfaces/operations.js";
|
|
105
|
+
export * from "./surfaces/requirements.js";
|
|
101
106
|
export * from "./library/public.js";
|
|
102
107
|
export * from "./runtime/retry.js";
|
|
103
108
|
export * from "./storage/githubcontents.js";
|
|
@@ -108,9 +113,12 @@ export * from "./api/security.js";
|
|
|
108
113
|
export * from "./modes/matrix.js";
|
|
109
114
|
export * from "./modes/resolve.js";
|
|
110
115
|
export * from "./binary/build.js";
|
|
116
|
+
export * from "./binary/archive.js";
|
|
117
|
+
export * from "./binary/transform.js";
|
|
111
118
|
export * from "./api/rate.js";
|
|
112
119
|
export * from "./api/http.js";
|
|
113
120
|
export * from "./api/service.js";
|
|
114
121
|
export * from "./api/control.js";
|
|
115
122
|
export * from "./extension/index.js";
|
|
123
|
+
export * from "./release/evidence.js";
|
|
116
124
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -4,14 +4,15 @@ export declare function mcpserver(options?: {}): {
|
|
|
4
4
|
description: string;
|
|
5
5
|
}[];
|
|
6
6
|
handle(request: any): Promise<{
|
|
7
|
+
error?: undefined;
|
|
7
8
|
jsonrpc: string;
|
|
8
9
|
id: any;
|
|
9
10
|
result: {
|
|
10
|
-
content?: undefined;
|
|
11
11
|
tools: any;
|
|
12
|
+
content?: undefined;
|
|
12
13
|
};
|
|
13
|
-
error?: undefined;
|
|
14
14
|
} | {
|
|
15
|
+
error?: undefined;
|
|
15
16
|
jsonrpc: string;
|
|
16
17
|
id: any;
|
|
17
18
|
result: {
|
|
@@ -21,7 +22,6 @@ export declare function mcpserver(options?: {}): {
|
|
|
21
22
|
text: string;
|
|
22
23
|
}[];
|
|
23
24
|
};
|
|
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;
|
|
19
20
|
success: boolean;
|
|
20
21
|
error: any;
|
|
21
|
-
data?: undefined;
|
|
22
22
|
}>;
|
|
23
23
|
sync: (key: any, options?: {}) => Promise<any[]>;
|
|
24
24
|
capabilities: () => any;
|