@vendoai/apps 0.4.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/LICENSE +202 -0
- package/README.md +8 -0
- package/dist/adapter-conformance.d.ts +48 -0
- package/dist/adapter-conformance.d.ts.map +1 -0
- package/dist/adapter-conformance.js +196 -0
- package/dist/adapter-conformance.js.map +1 -0
- package/dist/agent-tools.d.ts +10 -0
- package/dist/agent-tools.d.ts.map +1 -0
- package/dist/agent-tools.js +252 -0
- package/dist/agent-tools.js.map +1 -0
- package/dist/app-data.d.ts +23 -0
- package/dist/app-data.d.ts.map +1 -0
- package/dist/app-data.js +129 -0
- package/dist/app-data.js.map +1 -0
- package/dist/app-token.d.ts +24 -0
- package/dist/app-token.d.ts.map +1 -0
- package/dist/app-token.js +61 -0
- package/dist/app-token.js.map +1 -0
- package/dist/audit.d.ts +11 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +19 -0
- package/dist/audit.js.map +1 -0
- package/dist/automation-plan.d.ts +43 -0
- package/dist/automation-plan.d.ts.map +1 -0
- package/dist/automation-plan.js +212 -0
- package/dist/automation-plan.js.map +1 -0
- package/dist/bench/client.d.ts +43 -0
- package/dist/bench/client.d.ts.map +1 -0
- package/dist/bench/client.js +129 -0
- package/dist/bench/client.js.map +1 -0
- package/dist/bench/fixtures.d.ts +42 -0
- package/dist/bench/fixtures.d.ts.map +1 -0
- package/dist/bench/fixtures.js +146 -0
- package/dist/bench/fixtures.js.map +1 -0
- package/dist/bench/judge.d.ts +9 -0
- package/dist/bench/judge.d.ts.map +1 -0
- package/dist/bench/judge.js +71 -0
- package/dist/bench/judge.js.map +1 -0
- package/dist/bench/metrics.d.ts +32 -0
- package/dist/bench/metrics.d.ts.map +1 -0
- package/dist/bench/metrics.js +172 -0
- package/dist/bench/metrics.js.map +1 -0
- package/dist/bench/prompts.d.ts +17 -0
- package/dist/bench/prompts.d.ts.map +1 -0
- package/dist/bench/prompts.js +100 -0
- package/dist/bench/prompts.js.map +1 -0
- package/dist/bench/report.d.ts +43 -0
- package/dist/bench/report.d.ts.map +1 -0
- package/dist/bench/report.js +74 -0
- package/dist/bench/report.js.map +1 -0
- package/dist/bench/runner.d.ts +15 -0
- package/dist/bench/runner.d.ts.map +1 -0
- package/dist/bench/runner.js +26 -0
- package/dist/bench/runner.js.map +1 -0
- package/dist/bench/toolfork.d.ts +18 -0
- package/dist/bench/toolfork.d.ts.map +1 -0
- package/dist/bench/toolfork.js +125 -0
- package/dist/bench/toolfork.js.map +1 -0
- package/dist/box-agent.d.ts +78 -0
- package/dist/box-agent.d.ts.map +1 -0
- package/dist/box-agent.js +137 -0
- package/dist/box-agent.js.map +1 -0
- package/dist/box-env.d.ts +26 -0
- package/dist/box-env.d.ts.map +1 -0
- package/dist/box-env.js +52 -0
- package/dist/box-env.js.map +1 -0
- package/dist/call.d.ts +23 -0
- package/dist/call.d.ts.map +1 -0
- package/dist/call.js +45 -0
- package/dist/call.js.map +1 -0
- package/dist/cloud.d.ts +4917 -0
- package/dist/cloud.d.ts.map +1 -0
- package/dist/cloud.js +16 -0
- package/dist/cloud.js.map +1 -0
- package/dist/e2b/index.d.ts +30 -0
- package/dist/e2b/index.d.ts.map +1 -0
- package/dist/e2b/index.js +273 -0
- package/dist/e2b/index.js.map +1 -0
- package/dist/egress-approval.d.ts +73 -0
- package/dist/egress-approval.d.ts.map +1 -0
- package/dist/egress-approval.js +74 -0
- package/dist/egress-approval.js.map +1 -0
- package/dist/engine.d.ts +188 -0
- package/dist/engine.d.ts.map +1 -0
- package/dist/engine.js +1507 -0
- package/dist/engine.js.map +1 -0
- package/dist/fn.d.ts +22 -0
- package/dist/fn.d.ts.map +1 -0
- package/dist/fn.js +108 -0
- package/dist/fn.js.map +1 -0
- package/dist/history.d.ts +21 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +158 -0
- package/dist/history.js.map +1 -0
- package/dist/inclient.d.ts +48 -0
- package/dist/inclient.d.ts.map +1 -0
- package/dist/inclient.js +68 -0
- package/dist/inclient.js.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/interchange.d.ts +17 -0
- package/dist/interchange.d.ts.map +1 -0
- package/dist/interchange.js +133 -0
- package/dist/interchange.js.map +1 -0
- package/dist/machine-lifecycle.d.ts +102 -0
- package/dist/machine-lifecycle.d.ts.map +1 -0
- package/dist/machine-lifecycle.js +360 -0
- package/dist/machine-lifecycle.js.map +1 -0
- package/dist/manifest.d.ts +42 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +53 -0
- package/dist/manifest.js.map +1 -0
- package/dist/open.d.ts +45 -0
- package/dist/open.d.ts.map +1 -0
- package/dist/open.js +245 -0
- package/dist/open.js.map +1 -0
- package/dist/parked-action.d.ts +51 -0
- package/dist/parked-action.d.ts.map +1 -0
- package/dist/parked-action.js +29 -0
- package/dist/parked-action.js.map +1 -0
- package/dist/persistence.d.ts +41 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/persistence.js +86 -0
- package/dist/persistence.js.map +1 -0
- package/dist/pins.d.ts +231 -0
- package/dist/pins.d.ts.map +1 -0
- package/dist/pins.js +213 -0
- package/dist/pins.js.map +1 -0
- package/dist/pipeline.d.ts +142 -0
- package/dist/pipeline.d.ts.map +1 -0
- package/dist/pipeline.js +1014 -0
- package/dist/pipeline.js.map +1 -0
- package/dist/prewired-schema.d.ts +16 -0
- package/dist/prewired-schema.d.ts.map +1 -0
- package/dist/prewired-schema.js +48 -0
- package/dist/prewired-schema.js.map +1 -0
- package/dist/redaction.d.ts +13 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +67 -0
- package/dist/redaction.js.map +1 -0
- package/dist/runtime.d.ts +463 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +1715 -0
- package/dist/runtime.js.map +1 -0
- package/dist/sandbox.d.ts +90 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +2 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/schedules.d.ts +89 -0
- package/dist/schedules.d.ts.map +1 -0
- package/dist/schedules.js +334 -0
- package/dist/schedules.js.map +1 -0
- package/dist/secret-exposure.d.ts +55 -0
- package/dist/secret-exposure.d.ts.map +1 -0
- package/dist/secret-exposure.js +53 -0
- package/dist/secret-exposure.js.map +1 -0
- package/dist/ship-diff.d.ts +47 -0
- package/dist/ship-diff.d.ts.map +1 -0
- package/dist/ship-diff.js +39 -0
- package/dist/ship-diff.js.map +1 -0
- package/dist/testing/fake-box.d.ts +67 -0
- package/dist/testing/fake-box.d.ts.map +1 -0
- package/dist/testing/fake-box.js +166 -0
- package/dist/testing/fake-box.js.map +1 -0
- package/dist/testing/fake-sandbox-v2.d.ts +59 -0
- package/dist/testing/fake-sandbox-v2.d.ts.map +1 -0
- package/dist/testing/fake-sandbox-v2.js +121 -0
- package/dist/testing/fake-sandbox-v2.js.map +1 -0
- package/dist/testing/fake-sandbox.d.ts +94 -0
- package/dist/testing/fake-sandbox.d.ts.map +1 -0
- package/dist/testing/fake-sandbox.js +239 -0
- package/dist/testing/fake-sandbox.js.map +1 -0
- package/dist/testing/guard-fixture.d.ts +19 -0
- package/dist/testing/guard-fixture.d.ts.map +1 -0
- package/dist/testing/guard-fixture.js +134 -0
- package/dist/testing/guard-fixture.js.map +1 -0
- package/dist/testing/index.d.ts +8 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +8 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/memory-store.d.ts +5 -0
- package/dist/testing/memory-store.d.ts.map +1 -0
- package/dist/testing/memory-store.js +4 -0
- package/dist/testing/memory-store.js.map +1 -0
- package/dist/testing/scripted-model.d.ts +32 -0
- package/dist/testing/scripted-model.d.ts.map +1 -0
- package/dist/testing/scripted-model.js +112 -0
- package/dist/testing/scripted-model.js.map +1 -0
- package/dist/testing/seed-app-row.d.ts +4 -0
- package/dist/testing/seed-app-row.d.ts.map +1 -0
- package/dist/testing/seed-app-row.js +7 -0
- package/dist/testing/seed-app-row.js.map +1 -0
- package/dist/unified-diff.d.ts +13 -0
- package/dist/unified-diff.d.ts.map +1 -0
- package/dist/unified-diff.js +127 -0
- package/dist/unified-diff.js.map +1 -0
- package/dist/version-hash.d.ts +9 -0
- package/dist/version-hash.d.ts.map +1 -0
- package/dist/version-hash.js +12 -0
- package/dist/version-hash.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/fn.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type AppDocument, type Json, type RunContext, type ToolOutcome } from "@vendoai/core";
|
|
2
|
+
import { type AppCaller } from "./call.js";
|
|
3
|
+
import { type BootRetryOptions } from "./box-agent.js";
|
|
4
|
+
import type { SandboxMachine } from "./sandbox.js";
|
|
5
|
+
export interface FnCallerConfig {
|
|
6
|
+
/** Lane B's machine lifecycle wake — the only runtime door into the box. */
|
|
7
|
+
wake(app: AppDocument): Promise<SandboxMachine>;
|
|
8
|
+
/** Test seam: shrink the post-resume boot-retry so fn tests run instantly. */
|
|
9
|
+
bootRetry?: BootRetryOptions;
|
|
10
|
+
}
|
|
11
|
+
export interface FnCaller {
|
|
12
|
+
/** Execute one box function as a tool outcome (see containment rule above). */
|
|
13
|
+
callFn(app: AppDocument, name: string, args: Json, ctx: RunContext): Promise<ToolOutcome>;
|
|
14
|
+
/**
|
|
15
|
+
* Decorate an AppCaller so fn: refs on a machine-bearing app ride the v2
|
|
16
|
+
* box door; every other ref (host tools, fn: on an app that never
|
|
17
|
+
* graduated) keeps the inner caller's behavior.
|
|
18
|
+
*/
|
|
19
|
+
wrap(caller: AppCaller): AppCaller;
|
|
20
|
+
}
|
|
21
|
+
export declare const createFnCaller: (config: FnCallerConfig) => FnCaller;
|
|
22
|
+
//# sourceMappingURL=fn.d.ts.map
|
package/dist/fn.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fn.d.ts","sourceRoot":"","sources":["../src/fn.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAA2B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyBnD,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,8EAA8E;IAC9E,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,MAAM,WAAW,QAAQ;IACvB,+EAA+E;IAC/E,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1F;;;;OAIG;IACH,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CACpC;AAsCD,eAAO,MAAM,cAAc,GAAI,QAAQ,cAAc,KAAG,QAmDvD,CAAC"}
|
package/dist/fn.js
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { VendoError, } from "@vendoai/core";
|
|
2
|
+
import { FN_NAME_PATTERN, fnOutcome } from "./call.js";
|
|
3
|
+
import { requestAppWithBootRetry } from "./box-agent.js";
|
|
4
|
+
/**
|
|
5
|
+
* execution-v2 Wave 2 Lane D — fn: resolution over the box door. A v2 tree
|
|
6
|
+
* whose query or action names `fn:<name>` resolves here: wake the app's
|
|
7
|
+
* machine (Lane B's lifecycle) and POST the skin-contract `/fn/<name>` route
|
|
8
|
+
* (Lane C's proxy speaks the same door from the wire). The host ToolRegistry
|
|
9
|
+
* never sees an fn: ref; the box never sees host credentials — only
|
|
10
|
+
* content-type crosses the skin, exactly like the wire proxy.
|
|
11
|
+
*
|
|
12
|
+
* Containment rule: a failed fn is a contained error OUTCOME (the query slot
|
|
13
|
+
* stays unbound, the action renders its error state) — never a thrown white
|
|
14
|
+
* box. Responses bind exactly like tool results: `{result}` becomes
|
|
15
|
+
* `{status:"ok", output}`, `{error:{code,message}}` relays as-is.
|
|
16
|
+
*/
|
|
17
|
+
const decoder = new TextDecoder();
|
|
18
|
+
const errorOutcome = (code, message) => ({
|
|
19
|
+
status: "error",
|
|
20
|
+
error: { code, message },
|
|
21
|
+
});
|
|
22
|
+
const own = (value, key) => Object.prototype.hasOwnProperty.call(value, key);
|
|
23
|
+
/**
|
|
24
|
+
* Parse one box answer into a tool outcome. Success (2xx) must be exactly a
|
|
25
|
+
* `{result}` JSON envelope — the machine never draws UI in v2, so a `ui`
|
|
26
|
+
* member (or anything else) is a validation error routed to containment.
|
|
27
|
+
*/
|
|
28
|
+
const outcomeFromBoxAnswer = (status, body) => {
|
|
29
|
+
let parsed;
|
|
30
|
+
try {
|
|
31
|
+
parsed = JSON.parse(decoder.decode(body));
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return status >= 200 && status < 300
|
|
35
|
+
? errorOutcome("validation", "machine response is not valid JSON")
|
|
36
|
+
: errorOutcome("machine", `machine function failed (${status})`);
|
|
37
|
+
}
|
|
38
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
39
|
+
return status >= 200 && status < 300
|
|
40
|
+
? errorOutcome("validation", "machine response must be an object envelope")
|
|
41
|
+
: errorOutcome("machine", `machine function failed (${status})`);
|
|
42
|
+
}
|
|
43
|
+
const envelope = parsed;
|
|
44
|
+
if (status >= 200 && status < 300) {
|
|
45
|
+
if (!own(envelope, "result") || own(envelope, "ui")) {
|
|
46
|
+
return errorOutcome("validation", "machine success response must be exactly a {result} envelope — the machine never draws UI");
|
|
47
|
+
}
|
|
48
|
+
return { status: "ok", output: envelope.result };
|
|
49
|
+
}
|
|
50
|
+
const error = envelope.error;
|
|
51
|
+
if (typeof error === "object" && error !== null && !Array.isArray(error)) {
|
|
52
|
+
const candidate = error;
|
|
53
|
+
if (typeof candidate.code === "string" && typeof candidate.message === "string") {
|
|
54
|
+
return errorOutcome(candidate.code, candidate.message);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return errorOutcome("machine", `machine function failed (${status})`);
|
|
58
|
+
};
|
|
59
|
+
export const createFnCaller = (config) => {
|
|
60
|
+
const callFn = async (app, name, args, _ctx) => {
|
|
61
|
+
if (!FN_NAME_PATTERN.test(name) || app.machine === undefined) {
|
|
62
|
+
return fnOutcome(name);
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
const machine = await config.wake(app);
|
|
66
|
+
// A memory-snapshot resume boots the app fresh; retry the provider's
|
|
67
|
+
// "port not open" (502/503) for a short window so a fn call right after
|
|
68
|
+
// a wake does not race the app's startup.
|
|
69
|
+
const answer = await requestAppWithBootRetry(machine, {
|
|
70
|
+
method: "POST",
|
|
71
|
+
path: `/fn/${name}`,
|
|
72
|
+
headers: { "content-type": "application/json" },
|
|
73
|
+
body: JSON.stringify({ args }),
|
|
74
|
+
}, config.bootRetry ?? {});
|
|
75
|
+
return outcomeFromBoxAnswer(answer.status, answer.body);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// Containment: wake and transport failures surface as error outcomes
|
|
79
|
+
// (VendoError codes kept — sandbox-unavailable stays diagnosable).
|
|
80
|
+
if (error instanceof VendoError)
|
|
81
|
+
return errorOutcome(error.code, error.message);
|
|
82
|
+
return errorOutcome("machine", error instanceof Error ? error.message : "machine function failed");
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
return {
|
|
86
|
+
callFn,
|
|
87
|
+
wrap: (inner) => ({
|
|
88
|
+
async call(app, ref, args, ctx) {
|
|
89
|
+
if (ref.startsWith("fn:") && app.machine !== undefined) {
|
|
90
|
+
return callFn(app, ref.slice(3), args, ctx);
|
|
91
|
+
}
|
|
92
|
+
return inner.call(app, ref, args, ctx);
|
|
93
|
+
},
|
|
94
|
+
async callFn(app, name, args, ctx) {
|
|
95
|
+
if (app.machine !== undefined)
|
|
96
|
+
return callFn(app, name, args, ctx);
|
|
97
|
+
return inner.callFn(app, name, args, ctx);
|
|
98
|
+
},
|
|
99
|
+
async callQuery(app, ref, args, ctx) {
|
|
100
|
+
if (ref.startsWith("fn:") && app.machine !== undefined) {
|
|
101
|
+
return callFn(app, ref.slice(3), args, ctx);
|
|
102
|
+
}
|
|
103
|
+
return inner.callQuery(app, ref, args, ctx);
|
|
104
|
+
},
|
|
105
|
+
}),
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=fn.js.map
|
package/dist/fn.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fn.js","sourceRoot":"","sources":["../src/fn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type AppDocument, type AppId, type IsoDateTime, type StoreAdapter } from "@vendoai/core";
|
|
2
|
+
import type { VersionEntry } from "./runtime.js";
|
|
3
|
+
/** Internal replay fuel for 06-apps §8 drift rebases; not a VersionEntry field. */
|
|
4
|
+
export interface PinIntentEntry {
|
|
5
|
+
slot: string;
|
|
6
|
+
at: IsoDateTime;
|
|
7
|
+
intent: string;
|
|
8
|
+
}
|
|
9
|
+
export interface AppHistoryAccess {
|
|
10
|
+
append(appId: AppId, doc: AppDocument, entry: VersionEntry, pinSlots?: readonly string[]): Promise<void>;
|
|
11
|
+
documents(appId: AppId): Promise<AppDocument[]>;
|
|
12
|
+
pinIntents(appId: AppId, slot: string): Promise<PinIntentEntry[]>;
|
|
13
|
+
clear(appId: AppId): Promise<void>;
|
|
14
|
+
surface(appId: AppId): {
|
|
15
|
+
list(): Promise<VersionEntry[]>;
|
|
16
|
+
undo(): Promise<AppDocument>;
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/** 06-apps §1 — persisted capped history, kept outside the app artifact. */
|
|
20
|
+
export declare const createAppHistory: (store: StoreAdapter) => AppHistoryAccess;
|
|
21
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,WAAW,EAEhB,KAAK,YAAY,EAElB,MAAM,eAAe,CAAC;AAGvB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAgBjD,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,WAAW,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAqDD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzG,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG;QACrB,IAAI,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAChC,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;KAC9B,CAAC;CACH;AAED,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB,GAAI,OAAO,YAAY,KAAG,gBAqGtD,CAAC"}
|
package/dist/history.js
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { VendoError, isoDateTimeSchema, } from "@vendoai/core";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { appRecordInput, documentFromRecord, enabledAfterDocumentEdit, listAllRecords, rowFromRecord, validateDocument } from "./persistence.js";
|
|
4
|
+
const HISTORY_LIMIT = 50;
|
|
5
|
+
const versionEntrySchema = z.object({
|
|
6
|
+
at: isoDateTimeSchema,
|
|
7
|
+
intent: z.string(),
|
|
8
|
+
rung: z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4)]),
|
|
9
|
+
}).passthrough();
|
|
10
|
+
const pinIntentEntrySchema = z.object({
|
|
11
|
+
slot: z.string().min(1),
|
|
12
|
+
at: isoDateTimeSchema,
|
|
13
|
+
intent: z.string(),
|
|
14
|
+
}).passthrough();
|
|
15
|
+
const storedPinIntentSchema = pinIntentEntrySchema.extend({
|
|
16
|
+
versionId: z.string(),
|
|
17
|
+
seq: z.number().int().nonnegative(),
|
|
18
|
+
});
|
|
19
|
+
const allRecords = (records) => listAllRecords(records);
|
|
20
|
+
const snapshotFromRecord = (record, appId) => {
|
|
21
|
+
if (typeof record.data !== "object" || record.data === null || Array.isArray(record.data)) {
|
|
22
|
+
throw new VendoError("validation", `invalid history entry for ${appId}`, { appId });
|
|
23
|
+
}
|
|
24
|
+
const data = record.data;
|
|
25
|
+
const parsedEntry = versionEntrySchema.safeParse(data.entry);
|
|
26
|
+
if (!parsedEntry.success) {
|
|
27
|
+
throw new VendoError("validation", `invalid history entry for ${appId}`, {
|
|
28
|
+
appId,
|
|
29
|
+
reason: parsedEntry.error.issues[0]?.message ?? "invalid version entry",
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const seq = data.seq === undefined ? 0 : data.seq;
|
|
33
|
+
if (typeof seq !== "number" || !Number.isSafeInteger(seq) || seq < 0) {
|
|
34
|
+
throw new VendoError("validation", `invalid history entry for ${appId}`, {
|
|
35
|
+
appId,
|
|
36
|
+
reason: "invalid history sequence",
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return { doc: validateDocument(data.doc, appId), entry: parsedEntry.data, seq };
|
|
40
|
+
};
|
|
41
|
+
const storedPinIntentFromRecord = (record) => {
|
|
42
|
+
const parsed = storedPinIntentSchema.safeParse(record.data);
|
|
43
|
+
return parsed.success ? parsed.data : null;
|
|
44
|
+
};
|
|
45
|
+
const sequenceFromRecord = (record) => {
|
|
46
|
+
if (typeof record.data !== "object" || record.data === null || Array.isArray(record.data))
|
|
47
|
+
return 0;
|
|
48
|
+
const seq = record.data.seq;
|
|
49
|
+
return typeof seq === "number" && Number.isSafeInteger(seq) && seq >= 0 ? seq : 0;
|
|
50
|
+
};
|
|
51
|
+
/** 06-apps §1 — persisted capped history, kept outside the app artifact. */
|
|
52
|
+
export const createAppHistory = (store) => {
|
|
53
|
+
const collection = (appId) => store.records(`vendo:app-history:${appId}`);
|
|
54
|
+
const intentCollection = (appId) => store.records(`vendo:app-pin-intents:${appId}`);
|
|
55
|
+
const ordered = async (appId) => (await allRecords(collection(appId)))
|
|
56
|
+
.sort((left, right) => left.createdAt.localeCompare(right.createdAt)
|
|
57
|
+
|| sequenceFromRecord(left) - sequenceFromRecord(right)
|
|
58
|
+
|| left.id.localeCompare(right.id));
|
|
59
|
+
return {
|
|
60
|
+
async append(appId, doc, entry, pinSlots = []) {
|
|
61
|
+
const validated = validateDocument(doc, appId);
|
|
62
|
+
const parsedEntry = versionEntrySchema.parse(entry);
|
|
63
|
+
const records = collection(appId);
|
|
64
|
+
const existing = await allRecords(records);
|
|
65
|
+
const seq = existing.reduce((highest, record) => Math.max(highest, sequenceFromRecord(record)), 0) + 1;
|
|
66
|
+
const versionId = `ver_${crypto.randomUUID()}`;
|
|
67
|
+
await records.put({
|
|
68
|
+
id: versionId,
|
|
69
|
+
data: { doc: validated, entry: parsedEntry, seq },
|
|
70
|
+
});
|
|
71
|
+
const intents = intentCollection(appId);
|
|
72
|
+
for (const slot of new Set(pinSlots)) {
|
|
73
|
+
await intents.put({
|
|
74
|
+
id: `pinint_${crypto.randomUUID()}`,
|
|
75
|
+
data: { slot, at: parsedEntry.at, intent: parsedEntry.intent, versionId, seq },
|
|
76
|
+
refs: { slot },
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
const entries = await ordered(appId);
|
|
80
|
+
for (const expired of entries.slice(0, Math.max(0, entries.length - HISTORY_LIMIT))) {
|
|
81
|
+
await records.delete(expired.id);
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
async documents(appId) {
|
|
85
|
+
const documents = [];
|
|
86
|
+
for (const record of await ordered(appId)) {
|
|
87
|
+
try {
|
|
88
|
+
documents.push(snapshotFromRecord(record, appId).doc);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// Invalid history cannot be restored or surfaced as app data declarations.
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return documents;
|
|
95
|
+
},
|
|
96
|
+
async pinIntents(appId, slot) {
|
|
97
|
+
return (await allRecords(intentCollection(appId)))
|
|
98
|
+
.flatMap((record) => {
|
|
99
|
+
const intent = storedPinIntentFromRecord(record);
|
|
100
|
+
return intent?.slot === slot ? [intent] : [];
|
|
101
|
+
})
|
|
102
|
+
.sort((left, right) => left.seq - right.seq || left.at.localeCompare(right.at))
|
|
103
|
+
.map(({ slot: intentSlot, at, intent }) => ({ slot: intentSlot, at, intent }));
|
|
104
|
+
},
|
|
105
|
+
async clear(appId) {
|
|
106
|
+
const records = collection(appId);
|
|
107
|
+
for (const record of await allRecords(records))
|
|
108
|
+
await records.delete(record.id);
|
|
109
|
+
const intents = intentCollection(appId);
|
|
110
|
+
for (const record of await allRecords(intents))
|
|
111
|
+
await intents.delete(record.id);
|
|
112
|
+
},
|
|
113
|
+
surface(appId) {
|
|
114
|
+
return {
|
|
115
|
+
async list() {
|
|
116
|
+
const appRow = await store.records("vendo_apps").get(appId);
|
|
117
|
+
if (appRow === null)
|
|
118
|
+
throw new VendoError("not-found", `app not found: ${appId}`);
|
|
119
|
+
documentFromRecord(appRow);
|
|
120
|
+
const entries = [];
|
|
121
|
+
for (const record of (await ordered(appId)).reverse()) {
|
|
122
|
+
try {
|
|
123
|
+
entries.push(snapshotFromRecord(record, appId).entry);
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// One corrupt snapshot must not hide the remaining valid history.
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return entries;
|
|
130
|
+
},
|
|
131
|
+
// history(appId) has no ctx in the frozen contract. The HTTP/wire layer must enforce
|
|
132
|
+
// ownership before exposing this app-id-scoped surface; undo still verifies the app row.
|
|
133
|
+
async undo() {
|
|
134
|
+
const appRow = await store.records("vendo_apps").get(appId);
|
|
135
|
+
if (appRow === null)
|
|
136
|
+
throw new VendoError("not-found", `app not found: ${appId}`);
|
|
137
|
+
documentFromRecord(appRow);
|
|
138
|
+
const latest = (await ordered(appId)).at(-1);
|
|
139
|
+
if (latest === undefined)
|
|
140
|
+
throw new VendoError("conflict", "nothing to undo");
|
|
141
|
+
const snapshot = snapshotFromRecord(latest, appId);
|
|
142
|
+
const row = rowFromRecord(appRow);
|
|
143
|
+
// A changed trigger must be re-armed — enable() re-captures and re-mints trigger state.
|
|
144
|
+
const enabled = enabledAfterDocumentEdit(row.doc, snapshot.doc, row.enabled);
|
|
145
|
+
await store.records("vendo_apps").put(appRecordInput(snapshot.doc, row.subject, enabled));
|
|
146
|
+
await collection(appId).delete(latest.id);
|
|
147
|
+
const intents = intentCollection(appId);
|
|
148
|
+
for (const record of await allRecords(intents)) {
|
|
149
|
+
if (storedPinIntentFromRecord(record)?.versionId === latest.id)
|
|
150
|
+
await intents.delete(record.id);
|
|
151
|
+
}
|
|
152
|
+
return structuredClone(snapshot.doc);
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
//# sourceMappingURL=history.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { AppDocument, AppId, StoreAdapter } from "@vendoai/core";
|
|
2
|
+
import { type InClientApproval } from "./pins.js";
|
|
3
|
+
/**
|
|
4
|
+
* 06-apps §9 — the server-side verdict for the trust axis. UI runs in the
|
|
5
|
+
* sandboxed iframe by default; ONLY a verdict whose `granted` is true (the
|
|
6
|
+
* current version's content hash matches a stored approval) lets the client
|
|
7
|
+
* mount app UI in the host page. Any hash mismatch drops back to the iframe.
|
|
8
|
+
*/
|
|
9
|
+
export type InClientVerdict = {
|
|
10
|
+
granted: true;
|
|
11
|
+
versionHash: string;
|
|
12
|
+
approval: InClientApproval;
|
|
13
|
+
} | {
|
|
14
|
+
granted: false;
|
|
15
|
+
versionHash: string;
|
|
16
|
+
reason: "no-approval" | "version-changed";
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The additive in-client venue state the opener rides inside the tree payload
|
|
20
|
+
* (like `furnishings` — UIPayload is forward-compatible; the frozen
|
|
21
|
+
* OpenSurface shape stays intact). The client's renderer treats a missing
|
|
22
|
+
* field as the default: jailed.
|
|
23
|
+
*/
|
|
24
|
+
export type InClientVenueState = {
|
|
25
|
+
granted: true;
|
|
26
|
+
versionHash: string;
|
|
27
|
+
approvedBy: string;
|
|
28
|
+
at: string;
|
|
29
|
+
} | {
|
|
30
|
+
granted: false;
|
|
31
|
+
versionHash: string;
|
|
32
|
+
reason: "version-changed";
|
|
33
|
+
};
|
|
34
|
+
export interface InClientApprovalAccess {
|
|
35
|
+
/** All stored approvals for one app — an audit trail, one per approved version. */
|
|
36
|
+
list(appId: AppId): Promise<InClientApproval[]>;
|
|
37
|
+
/** Persist one approval record (OSS injection seam; Cloud's console mints in production). */
|
|
38
|
+
record(approval: InClientApproval): Promise<InClientApproval>;
|
|
39
|
+
/** Verify the CURRENT version's content hash against the stored approvals. */
|
|
40
|
+
verdictFor(doc: AppDocument): Promise<InClientVerdict>;
|
|
41
|
+
/** The payload field for `open()` — undefined when there is nothing to say (default jail). */
|
|
42
|
+
venueStateFor(doc: AppDocument): Promise<InClientVenueState | undefined>;
|
|
43
|
+
/** Remove every approval for one app (delete path). */
|
|
44
|
+
clear(appId: AppId): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
/** 06-apps §9 — hash-pinned in-client approvals over the store seam. */
|
|
47
|
+
export declare const createInClientApprovals: (store: StoreAdapter) => InClientApprovalAccess;
|
|
48
|
+
//# sourceMappingURL=inclient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclient.d.ts","sourceRoot":"","sources":["../src/inclient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAe,YAAY,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG1E;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,GAClE;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,GAAG,iBAAiB,CAAA;CAAE,CAAC;AAEvF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,mFAAmF;IACnF,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChD,6FAA6F;IAC7F,MAAM,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9D,8EAA8E;IAC9E,UAAU,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvD,8FAA8F;IAC9F,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACzE,uDAAuD;IACvD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAOD,wEAAwE;AACxE,eAAO,MAAM,uBAAuB,GAAI,OAAO,YAAY,KAAG,sBA6D7D,CAAC"}
|
package/dist/inclient.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { listAllRecords } from "./persistence.js";
|
|
2
|
+
import { inClientApprovalSchema } from "./pins.js";
|
|
3
|
+
import { appVersionHash } from "./version-hash.js";
|
|
4
|
+
const COLLECTION = "vendo_inclient_approvals";
|
|
5
|
+
const allRecords = (records, appId) => listAllRecords(records, { refs: { appId } });
|
|
6
|
+
/** 06-apps §9 — hash-pinned in-client approvals over the store seam. */
|
|
7
|
+
export const createInClientApprovals = (store) => {
|
|
8
|
+
const records = store.records(COLLECTION);
|
|
9
|
+
const list = async (appId) => {
|
|
10
|
+
const approvals = [];
|
|
11
|
+
for (const record of await allRecords(records, appId)) {
|
|
12
|
+
const parsed = inClientApprovalSchema.safeParse(record.data);
|
|
13
|
+
// A corrupt row can never grant a mount; it is simply not an approval.
|
|
14
|
+
if (parsed.success && parsed.data.appId === appId)
|
|
15
|
+
approvals.push(parsed.data);
|
|
16
|
+
}
|
|
17
|
+
return approvals.sort((left, right) => left.at.localeCompare(right.at));
|
|
18
|
+
};
|
|
19
|
+
const verdictFor = async (doc) => {
|
|
20
|
+
const versionHash = appVersionHash(doc);
|
|
21
|
+
const approvals = await list(doc.id);
|
|
22
|
+
const approval = [...approvals].reverse()
|
|
23
|
+
.find((candidate) => candidate.versionHash === versionHash);
|
|
24
|
+
if (approval !== undefined)
|
|
25
|
+
return { granted: true, versionHash, approval };
|
|
26
|
+
return {
|
|
27
|
+
granted: false,
|
|
28
|
+
versionHash,
|
|
29
|
+
reason: approvals.length > 0 ? "version-changed" : "no-approval",
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
return {
|
|
33
|
+
list,
|
|
34
|
+
async record(approval) {
|
|
35
|
+
const validated = inClientApprovalSchema.parse(approval);
|
|
36
|
+
await records.put({
|
|
37
|
+
id: `incl_${globalThis.crypto.randomUUID()}`,
|
|
38
|
+
data: validated,
|
|
39
|
+
refs: { appId: validated.appId },
|
|
40
|
+
});
|
|
41
|
+
return validated;
|
|
42
|
+
},
|
|
43
|
+
verdictFor,
|
|
44
|
+
async venueStateFor(doc) {
|
|
45
|
+
const verdict = await verdictFor(doc);
|
|
46
|
+
if (verdict.granted) {
|
|
47
|
+
return {
|
|
48
|
+
granted: true,
|
|
49
|
+
versionHash: verdict.versionHash,
|
|
50
|
+
approvedBy: verdict.approval.approvedBy,
|
|
51
|
+
at: verdict.approval.at,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// "version-changed" must be LOUD in the client (the drop-back notice);
|
|
55
|
+
// "no-approval" is the universal default and rides as nothing at all.
|
|
56
|
+
if (verdict.reason === "version-changed") {
|
|
57
|
+
return { granted: false, versionHash: verdict.versionHash, reason: "version-changed" };
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
},
|
|
61
|
+
async clear(appId) {
|
|
62
|
+
for (const record of await allRecords(records, appId)) {
|
|
63
|
+
await records.delete(record.id);
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=inclient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inclient.js","sourceRoot":"","sources":["../src/inclient.ts"],"names":[],"mappings":"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"}
|