@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.
Files changed (203) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +8 -0
  3. package/dist/adapter-conformance.d.ts +48 -0
  4. package/dist/adapter-conformance.d.ts.map +1 -0
  5. package/dist/adapter-conformance.js +196 -0
  6. package/dist/adapter-conformance.js.map +1 -0
  7. package/dist/agent-tools.d.ts +10 -0
  8. package/dist/agent-tools.d.ts.map +1 -0
  9. package/dist/agent-tools.js +252 -0
  10. package/dist/agent-tools.js.map +1 -0
  11. package/dist/app-data.d.ts +23 -0
  12. package/dist/app-data.d.ts.map +1 -0
  13. package/dist/app-data.js +129 -0
  14. package/dist/app-data.js.map +1 -0
  15. package/dist/app-token.d.ts +24 -0
  16. package/dist/app-token.d.ts.map +1 -0
  17. package/dist/app-token.js +61 -0
  18. package/dist/app-token.js.map +1 -0
  19. package/dist/audit.d.ts +11 -0
  20. package/dist/audit.d.ts.map +1 -0
  21. package/dist/audit.js +19 -0
  22. package/dist/audit.js.map +1 -0
  23. package/dist/automation-plan.d.ts +43 -0
  24. package/dist/automation-plan.d.ts.map +1 -0
  25. package/dist/automation-plan.js +212 -0
  26. package/dist/automation-plan.js.map +1 -0
  27. package/dist/bench/client.d.ts +43 -0
  28. package/dist/bench/client.d.ts.map +1 -0
  29. package/dist/bench/client.js +129 -0
  30. package/dist/bench/client.js.map +1 -0
  31. package/dist/bench/fixtures.d.ts +42 -0
  32. package/dist/bench/fixtures.d.ts.map +1 -0
  33. package/dist/bench/fixtures.js +146 -0
  34. package/dist/bench/fixtures.js.map +1 -0
  35. package/dist/bench/judge.d.ts +9 -0
  36. package/dist/bench/judge.d.ts.map +1 -0
  37. package/dist/bench/judge.js +71 -0
  38. package/dist/bench/judge.js.map +1 -0
  39. package/dist/bench/metrics.d.ts +32 -0
  40. package/dist/bench/metrics.d.ts.map +1 -0
  41. package/dist/bench/metrics.js +172 -0
  42. package/dist/bench/metrics.js.map +1 -0
  43. package/dist/bench/prompts.d.ts +17 -0
  44. package/dist/bench/prompts.d.ts.map +1 -0
  45. package/dist/bench/prompts.js +100 -0
  46. package/dist/bench/prompts.js.map +1 -0
  47. package/dist/bench/report.d.ts +43 -0
  48. package/dist/bench/report.d.ts.map +1 -0
  49. package/dist/bench/report.js +74 -0
  50. package/dist/bench/report.js.map +1 -0
  51. package/dist/bench/runner.d.ts +15 -0
  52. package/dist/bench/runner.d.ts.map +1 -0
  53. package/dist/bench/runner.js +26 -0
  54. package/dist/bench/runner.js.map +1 -0
  55. package/dist/bench/toolfork.d.ts +18 -0
  56. package/dist/bench/toolfork.d.ts.map +1 -0
  57. package/dist/bench/toolfork.js +125 -0
  58. package/dist/bench/toolfork.js.map +1 -0
  59. package/dist/box-agent.d.ts +78 -0
  60. package/dist/box-agent.d.ts.map +1 -0
  61. package/dist/box-agent.js +137 -0
  62. package/dist/box-agent.js.map +1 -0
  63. package/dist/box-env.d.ts +26 -0
  64. package/dist/box-env.d.ts.map +1 -0
  65. package/dist/box-env.js +52 -0
  66. package/dist/box-env.js.map +1 -0
  67. package/dist/call.d.ts +23 -0
  68. package/dist/call.d.ts.map +1 -0
  69. package/dist/call.js +45 -0
  70. package/dist/call.js.map +1 -0
  71. package/dist/cloud.d.ts +4917 -0
  72. package/dist/cloud.d.ts.map +1 -0
  73. package/dist/cloud.js +16 -0
  74. package/dist/cloud.js.map +1 -0
  75. package/dist/e2b/index.d.ts +30 -0
  76. package/dist/e2b/index.d.ts.map +1 -0
  77. package/dist/e2b/index.js +273 -0
  78. package/dist/e2b/index.js.map +1 -0
  79. package/dist/egress-approval.d.ts +73 -0
  80. package/dist/egress-approval.d.ts.map +1 -0
  81. package/dist/egress-approval.js +74 -0
  82. package/dist/egress-approval.js.map +1 -0
  83. package/dist/engine.d.ts +188 -0
  84. package/dist/engine.d.ts.map +1 -0
  85. package/dist/engine.js +1507 -0
  86. package/dist/engine.js.map +1 -0
  87. package/dist/fn.d.ts +22 -0
  88. package/dist/fn.d.ts.map +1 -0
  89. package/dist/fn.js +108 -0
  90. package/dist/fn.js.map +1 -0
  91. package/dist/history.d.ts +21 -0
  92. package/dist/history.d.ts.map +1 -0
  93. package/dist/history.js +158 -0
  94. package/dist/history.js.map +1 -0
  95. package/dist/inclient.d.ts +48 -0
  96. package/dist/inclient.d.ts.map +1 -0
  97. package/dist/inclient.js +68 -0
  98. package/dist/inclient.js.map +1 -0
  99. package/dist/index.d.ts +24 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +25 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/interchange.d.ts +17 -0
  104. package/dist/interchange.d.ts.map +1 -0
  105. package/dist/interchange.js +133 -0
  106. package/dist/interchange.js.map +1 -0
  107. package/dist/machine-lifecycle.d.ts +102 -0
  108. package/dist/machine-lifecycle.d.ts.map +1 -0
  109. package/dist/machine-lifecycle.js +360 -0
  110. package/dist/machine-lifecycle.js.map +1 -0
  111. package/dist/manifest.d.ts +42 -0
  112. package/dist/manifest.d.ts.map +1 -0
  113. package/dist/manifest.js +53 -0
  114. package/dist/manifest.js.map +1 -0
  115. package/dist/open.d.ts +45 -0
  116. package/dist/open.d.ts.map +1 -0
  117. package/dist/open.js +245 -0
  118. package/dist/open.js.map +1 -0
  119. package/dist/parked-action.d.ts +51 -0
  120. package/dist/parked-action.d.ts.map +1 -0
  121. package/dist/parked-action.js +29 -0
  122. package/dist/parked-action.js.map +1 -0
  123. package/dist/persistence.d.ts +41 -0
  124. package/dist/persistence.d.ts.map +1 -0
  125. package/dist/persistence.js +86 -0
  126. package/dist/persistence.js.map +1 -0
  127. package/dist/pins.d.ts +231 -0
  128. package/dist/pins.d.ts.map +1 -0
  129. package/dist/pins.js +213 -0
  130. package/dist/pins.js.map +1 -0
  131. package/dist/pipeline.d.ts +142 -0
  132. package/dist/pipeline.d.ts.map +1 -0
  133. package/dist/pipeline.js +1014 -0
  134. package/dist/pipeline.js.map +1 -0
  135. package/dist/prewired-schema.d.ts +16 -0
  136. package/dist/prewired-schema.d.ts.map +1 -0
  137. package/dist/prewired-schema.js +48 -0
  138. package/dist/prewired-schema.js.map +1 -0
  139. package/dist/redaction.d.ts +13 -0
  140. package/dist/redaction.d.ts.map +1 -0
  141. package/dist/redaction.js +67 -0
  142. package/dist/redaction.js.map +1 -0
  143. package/dist/runtime.d.ts +463 -0
  144. package/dist/runtime.d.ts.map +1 -0
  145. package/dist/runtime.js +1715 -0
  146. package/dist/runtime.js.map +1 -0
  147. package/dist/sandbox.d.ts +90 -0
  148. package/dist/sandbox.d.ts.map +1 -0
  149. package/dist/sandbox.js +2 -0
  150. package/dist/sandbox.js.map +1 -0
  151. package/dist/schedules.d.ts +89 -0
  152. package/dist/schedules.d.ts.map +1 -0
  153. package/dist/schedules.js +334 -0
  154. package/dist/schedules.js.map +1 -0
  155. package/dist/secret-exposure.d.ts +55 -0
  156. package/dist/secret-exposure.d.ts.map +1 -0
  157. package/dist/secret-exposure.js +53 -0
  158. package/dist/secret-exposure.js.map +1 -0
  159. package/dist/ship-diff.d.ts +47 -0
  160. package/dist/ship-diff.d.ts.map +1 -0
  161. package/dist/ship-diff.js +39 -0
  162. package/dist/ship-diff.js.map +1 -0
  163. package/dist/testing/fake-box.d.ts +67 -0
  164. package/dist/testing/fake-box.d.ts.map +1 -0
  165. package/dist/testing/fake-box.js +166 -0
  166. package/dist/testing/fake-box.js.map +1 -0
  167. package/dist/testing/fake-sandbox-v2.d.ts +59 -0
  168. package/dist/testing/fake-sandbox-v2.d.ts.map +1 -0
  169. package/dist/testing/fake-sandbox-v2.js +121 -0
  170. package/dist/testing/fake-sandbox-v2.js.map +1 -0
  171. package/dist/testing/fake-sandbox.d.ts +94 -0
  172. package/dist/testing/fake-sandbox.d.ts.map +1 -0
  173. package/dist/testing/fake-sandbox.js +239 -0
  174. package/dist/testing/fake-sandbox.js.map +1 -0
  175. package/dist/testing/guard-fixture.d.ts +19 -0
  176. package/dist/testing/guard-fixture.d.ts.map +1 -0
  177. package/dist/testing/guard-fixture.js +134 -0
  178. package/dist/testing/guard-fixture.js.map +1 -0
  179. package/dist/testing/index.d.ts +8 -0
  180. package/dist/testing/index.d.ts.map +1 -0
  181. package/dist/testing/index.js +8 -0
  182. package/dist/testing/index.js.map +1 -0
  183. package/dist/testing/memory-store.d.ts +5 -0
  184. package/dist/testing/memory-store.d.ts.map +1 -0
  185. package/dist/testing/memory-store.js +4 -0
  186. package/dist/testing/memory-store.js.map +1 -0
  187. package/dist/testing/scripted-model.d.ts +32 -0
  188. package/dist/testing/scripted-model.d.ts.map +1 -0
  189. package/dist/testing/scripted-model.js +112 -0
  190. package/dist/testing/scripted-model.js.map +1 -0
  191. package/dist/testing/seed-app-row.d.ts +4 -0
  192. package/dist/testing/seed-app-row.d.ts.map +1 -0
  193. package/dist/testing/seed-app-row.js +7 -0
  194. package/dist/testing/seed-app-row.js.map +1 -0
  195. package/dist/unified-diff.d.ts +13 -0
  196. package/dist/unified-diff.d.ts.map +1 -0
  197. package/dist/unified-diff.js +127 -0
  198. package/dist/unified-diff.js.map +1 -0
  199. package/dist/version-hash.d.ts +9 -0
  200. package/dist/version-hash.d.ts.map +1 -0
  201. package/dist/version-hash.js +12 -0
  202. package/dist/version-hash.js.map +1 -0
  203. 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
@@ -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"}
@@ -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"}
@@ -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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"}