@inhuman.tools/harness-tui 0.0.0-stage → 0.3.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 (167) hide show
  1. package/LICENSE.md +7 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +2 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/interpreter/ComputedExecBox.d.ts +12 -0
  7. package/dist/interpreter/ComputedExecBox.d.ts.map +1 -0
  8. package/dist/interpreter/ComputedExecBox.js +88 -0
  9. package/dist/interpreter/ComputedExecBox.js.map +1 -0
  10. package/dist/interpreter/imageCapability.d.ts +9 -0
  11. package/dist/interpreter/imageCapability.d.ts.map +1 -0
  12. package/dist/interpreter/imageCapability.js +49 -0
  13. package/dist/interpreter/imageCapability.js.map +1 -0
  14. package/dist/interpreter/rpcCapability.d.ts +11 -0
  15. package/dist/interpreter/rpcCapability.d.ts.map +1 -0
  16. package/dist/interpreter/rpcCapability.js +91 -0
  17. package/dist/interpreter/rpcCapability.js.map +1 -0
  18. package/dist/interpreter/uiCapability.d.ts +34 -0
  19. package/dist/interpreter/uiCapability.d.ts.map +1 -0
  20. package/dist/interpreter/uiCapability.js +207 -0
  21. package/dist/interpreter/uiCapability.js.map +1 -0
  22. package/dist/schemas/index.d.ts +2 -0
  23. package/dist/schemas/index.d.ts.map +1 -0
  24. package/dist/schemas/index.js +2 -0
  25. package/dist/schemas/index.js.map +1 -0
  26. package/dist/schemas/worker-boot.d.ts +14 -0
  27. package/dist/schemas/worker-boot.d.ts.map +1 -0
  28. package/dist/schemas/worker-boot.js +15 -0
  29. package/dist/schemas/worker-boot.js.map +1 -0
  30. package/dist/tui/ack-prompt.d.ts +53 -0
  31. package/dist/tui/ack-prompt.d.ts.map +1 -0
  32. package/dist/tui/ack-prompt.js +61 -0
  33. package/dist/tui/ack-prompt.js.map +1 -0
  34. package/dist/tui/agents-drawer.d.ts +49 -0
  35. package/dist/tui/agents-drawer.d.ts.map +1 -0
  36. package/dist/tui/agents-drawer.js +318 -0
  37. package/dist/tui/agents-drawer.js.map +1 -0
  38. package/dist/tui/ask-shortcuts.d.ts +59 -0
  39. package/dist/tui/ask-shortcuts.d.ts.map +1 -0
  40. package/dist/tui/ask-shortcuts.js +96 -0
  41. package/dist/tui/ask-shortcuts.js.map +1 -0
  42. package/dist/tui/channel.d.ts +59 -0
  43. package/dist/tui/channel.d.ts.map +1 -0
  44. package/dist/tui/channel.js +27 -0
  45. package/dist/tui/channel.js.map +1 -0
  46. package/dist/tui/host-verbs.d.ts +7 -0
  47. package/dist/tui/host-verbs.d.ts.map +1 -0
  48. package/dist/tui/host-verbs.js +19 -0
  49. package/dist/tui/host-verbs.js.map +1 -0
  50. package/dist/tui/host.d.ts +25 -0
  51. package/dist/tui/host.d.ts.map +1 -0
  52. package/dist/tui/host.js +380 -0
  53. package/dist/tui/host.js.map +1 -0
  54. package/dist/tui/omnibox-seat.d.ts +132 -0
  55. package/dist/tui/omnibox-seat.d.ts.map +1 -0
  56. package/dist/tui/omnibox-seat.js +182 -0
  57. package/dist/tui/omnibox-seat.js.map +1 -0
  58. package/dist/tui/paint-controller.d.ts +170 -0
  59. package/dist/tui/paint-controller.d.ts.map +1 -0
  60. package/dist/tui/paint-controller.js +965 -0
  61. package/dist/tui/paint-controller.js.map +1 -0
  62. package/dist/tui/paint-dom.d.ts +335 -0
  63. package/dist/tui/paint-dom.d.ts.map +1 -0
  64. package/dist/tui/paint-dom.js +704 -0
  65. package/dist/tui/paint-dom.js.map +1 -0
  66. package/dist/tui/paint-source.d.ts +57 -0
  67. package/dist/tui/paint-source.d.ts.map +1 -0
  68. package/dist/tui/paint-source.js +570 -0
  69. package/dist/tui/paint-source.js.map +1 -0
  70. package/dist/tui/paint-transport.d.ts +42 -0
  71. package/dist/tui/paint-transport.d.ts.map +1 -0
  72. package/dist/tui/paint-transport.js +207 -0
  73. package/dist/tui/paint-transport.js.map +1 -0
  74. package/dist/tui/paint-types.d.ts +15 -0
  75. package/dist/tui/paint-types.d.ts.map +1 -0
  76. package/dist/tui/paint-types.js +6 -0
  77. package/dist/tui/paint-types.js.map +1 -0
  78. package/dist/tui/paint-widgets.d.ts +94 -0
  79. package/dist/tui/paint-widgets.d.ts.map +1 -0
  80. package/dist/tui/paint-widgets.js +877 -0
  81. package/dist/tui/paint-widgets.js.map +1 -0
  82. package/dist/tui/parse-args.d.ts +3 -0
  83. package/dist/tui/parse-args.d.ts.map +1 -0
  84. package/dist/tui/parse-args.js +13 -0
  85. package/dist/tui/parse-args.js.map +1 -0
  86. package/dist/tui/permissions-view.d.ts +93 -0
  87. package/dist/tui/permissions-view.d.ts.map +1 -0
  88. package/dist/tui/permissions-view.js +174 -0
  89. package/dist/tui/permissions-view.js.map +1 -0
  90. package/dist/tui/present-visual/approve.d.ts +10 -0
  91. package/dist/tui/present-visual/approve.d.ts.map +1 -0
  92. package/dist/tui/present-visual/approve.js +156 -0
  93. package/dist/tui/present-visual/approve.js.map +1 -0
  94. package/dist/tui/present-visual/dump.d.ts +47 -0
  95. package/dist/tui/present-visual/dump.d.ts.map +1 -0
  96. package/dist/tui/present-visual/dump.js +144 -0
  97. package/dist/tui/present-visual/dump.js.map +1 -0
  98. package/dist/tui/present-visual/journey-teardown.d.ts +3 -0
  99. package/dist/tui/present-visual/journey-teardown.d.ts.map +1 -0
  100. package/dist/tui/present-visual/journey-teardown.js +188 -0
  101. package/dist/tui/present-visual/journey-teardown.js.map +1 -0
  102. package/dist/tui/present-visual/journey.d.ts +15 -0
  103. package/dist/tui/present-visual/journey.d.ts.map +1 -0
  104. package/dist/tui/present-visual/journey.js +88 -0
  105. package/dist/tui/present-visual/journey.js.map +1 -0
  106. package/dist/tui/present-visual/raster.d.ts +3 -0
  107. package/dist/tui/present-visual/raster.d.ts.map +1 -0
  108. package/dist/tui/present-visual/raster.js +75 -0
  109. package/dist/tui/present-visual/raster.js.map +1 -0
  110. package/dist/tui/queue-shortcuts.d.ts +13 -0
  111. package/dist/tui/queue-shortcuts.d.ts.map +1 -0
  112. package/dist/tui/queue-shortcuts.js +23 -0
  113. package/dist/tui/queue-shortcuts.js.map +1 -0
  114. package/dist/tui/read-widen.d.ts +14 -0
  115. package/dist/tui/read-widen.d.ts.map +1 -0
  116. package/dist/tui/read-widen.js +45 -0
  117. package/dist/tui/read-widen.js.map +1 -0
  118. package/dist/tui/rewind-chrome.d.ts +29 -0
  119. package/dist/tui/rewind-chrome.d.ts.map +1 -0
  120. package/dist/tui/rewind-chrome.js +77 -0
  121. package/dist/tui/rewind-chrome.js.map +1 -0
  122. package/dist/tui/rust-present.d.ts +37 -0
  123. package/dist/tui/rust-present.d.ts.map +1 -0
  124. package/dist/tui/rust-present.js +205 -0
  125. package/dist/tui/rust-present.js.map +1 -0
  126. package/dist/tui/spinner-phase.d.ts +23 -0
  127. package/dist/tui/spinner-phase.d.ts.map +1 -0
  128. package/dist/tui/spinner-phase.js +25 -0
  129. package/dist/tui/spinner-phase.js.map +1 -0
  130. package/dist/tui/statusline-path.d.ts +10 -0
  131. package/dist/tui/statusline-path.d.ts.map +1 -0
  132. package/dist/tui/statusline-path.js +42 -0
  133. package/dist/tui/statusline-path.js.map +1 -0
  134. package/dist/tui/sugarcoat-paint.d.ts +14 -0
  135. package/dist/tui/sugarcoat-paint.d.ts.map +1 -0
  136. package/dist/tui/sugarcoat-paint.js +146 -0
  137. package/dist/tui/sugarcoat-paint.js.map +1 -0
  138. package/dist/tui/tape-spans.d.ts +64 -0
  139. package/dist/tui/tape-spans.d.ts.map +1 -0
  140. package/dist/tui/tape-spans.js +93 -0
  141. package/dist/tui/tape-spans.js.map +1 -0
  142. package/dist/tui/tea.d.ts +75 -0
  143. package/dist/tui/tea.d.ts.map +1 -0
  144. package/dist/tui/tea.js +2952 -0
  145. package/dist/tui/tea.js.map +1 -0
  146. package/dist/tui/vt-paint.d.ts +12 -0
  147. package/dist/tui/vt-paint.d.ts.map +1 -0
  148. package/dist/tui/vt-paint.js +123 -0
  149. package/dist/tui/vt-paint.js.map +1 -0
  150. package/dist/tui/wait-phrase.d.ts +31 -0
  151. package/dist/tui/wait-phrase.d.ts.map +1 -0
  152. package/dist/tui/wait-phrase.js +26 -0
  153. package/dist/tui/wait-phrase.js.map +1 -0
  154. package/dist/tui/widget-host.d.ts +34 -0
  155. package/dist/tui/widget-host.d.ts.map +1 -0
  156. package/dist/tui/widget-host.js +80 -0
  157. package/dist/tui/widget-host.js.map +1 -0
  158. package/dist/tui/work-cells.d.ts +47 -0
  159. package/dist/tui/work-cells.d.ts.map +1 -0
  160. package/dist/tui/work-cells.js +606 -0
  161. package/dist/tui/work-cells.js.map +1 -0
  162. package/dist/tui/worker-entry.d.ts +2 -0
  163. package/dist/tui/worker-entry.d.ts.map +1 -0
  164. package/dist/tui/worker-entry.js +98 -0
  165. package/dist/tui/worker-entry.js.map +1 -0
  166. package/package.json +83 -3
  167. package/README.md +0 -3
package/LICENSE.md ADDED
@@ -0,0 +1,7 @@
1
+ Copyright 2026 Merkle Bonsai
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,2 @@
1
+ export { attachTui, DAEMON_QUIT_ACTION, hostExitCode, sessionTitleOsc } from "./tui/host.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export { attachTui, DAEMON_QUIT_ACTION, hostExitCode, sessionTitleOsc } from "./tui/host.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Observe-on-demand Arrival exec. The box is a MobX atom: first observer
3
+ * arms membraneClosure tracking; last observer tears the reaction down.
4
+ */
5
+ import { type ExecOptions } from "@here.build/arrival";
6
+ export type ComputedExecOptions = Omit<ExecOptions, "membraneClosure">;
7
+ export declare class ComputedExecBox<T> {
8
+ #private;
9
+ constructor(source: string, opts: ComputedExecOptions);
10
+ get(): T | undefined;
11
+ }
12
+ //# sourceMappingURL=ComputedExecBox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComputedExecBox.d.ts","sourceRoot":"","sources":["../../src/interpreter/ComputedExecBox.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAG7D,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAOvE,qBAAa,eAAe,CAAC,CAAC;;gBAUhB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB;IAUrD,GAAG,IAAI,CAAC,GAAG,SAAS;CAmErB"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Observe-on-demand Arrival exec. The box is a MobX atom: first observer
3
+ * arms membraneClosure tracking; last observer tears the reaction down.
4
+ */
5
+ import { exec } from "@here.build/arrival";
6
+ import { comparer, createAtom, Reaction, runInAction } from "mobx";
7
+ export class ComputedExecBox {
8
+ #source;
9
+ #opts;
10
+ #atom;
11
+ #value;
12
+ #generation = 0;
13
+ #controller = null;
14
+ #rx = null;
15
+ #probe = null;
16
+ constructor(source, opts) {
17
+ this.#source = source;
18
+ this.#opts = opts;
19
+ this.#atom = createAtom("computedExec", () => this.#start(), () => this.#stop());
20
+ }
21
+ get() {
22
+ this.#atom.reportObserved();
23
+ return this.#value;
24
+ }
25
+ #start() {
26
+ this.#controller = new AbortController();
27
+ this.#rx = new Reaction("computedExec.deps", () => void this.#run(), undefined, false);
28
+ this.#probe = new Reaction("computedExec.probe", () => undefined, undefined, false);
29
+ void this.#run();
30
+ }
31
+ #stop() {
32
+ this.#generation += 1;
33
+ this.#controller?.abort();
34
+ this.#controller = null;
35
+ this.#rx?.dispose();
36
+ this.#rx = null;
37
+ this.#probe?.dispose();
38
+ this.#probe = null;
39
+ }
40
+ async #run() {
41
+ const rx = this.#rx;
42
+ const probe = this.#probe;
43
+ const controller = this.#controller;
44
+ if (rx === null || probe === null || controller === null)
45
+ return;
46
+ const generation = (this.#generation += 1);
47
+ const held = new Set();
48
+ try {
49
+ const values = await exec(this.#source, {
50
+ ...this.#opts,
51
+ signal: AbortSignal.any([this.#opts.signal, controller.signal].filter((v) => v !== undefined)),
52
+ membraneClosure: (work) => {
53
+ let result;
54
+ probe.track(() => {
55
+ result = work();
56
+ });
57
+ for (const dep of probe.observing_)
58
+ held.add(dep);
59
+ return result;
60
+ },
61
+ });
62
+ if (generation !== this.#generation || controller.signal.aborted)
63
+ return;
64
+ rx.track(() => {
65
+ // Every held atom. Returning after the first drops `rows.keys` / `row.name`.
66
+ for (const dep of held) {
67
+ if (typeof dep.reportObserved === "function") {
68
+ dep.reportObserved();
69
+ continue;
70
+ }
71
+ dep.get?.();
72
+ }
73
+ });
74
+ const next = values.at(-1);
75
+ if (comparer.structural(next, this.#value))
76
+ return;
77
+ runInAction(() => {
78
+ this.#value = next;
79
+ this.#atom.reportChanged();
80
+ });
81
+ }
82
+ catch {
83
+ if (generation !== this.#generation || controller.signal.aborted)
84
+ return;
85
+ }
86
+ }
87
+ }
88
+ //# sourceMappingURL=ComputedExecBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComputedExecBox.js","sourceRoot":"","sources":["../../src/interpreter/ComputedExecBox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /** Kernel and session reads only. Choice/action constructors are `harness/ui`. */
2
+ import { EnvCapability } from "@here.build/arrival";
3
+ import { KernelRoot, SessionRoot } from "@inhuman.tools/harness-model";
4
+ import { z } from "zod";
5
+ export declare const imageCapability: EnvCapability<{
6
+ kernel: z.ZodInstanceOf<KernelRoot>;
7
+ session: z.ZodOptional<z.ZodInstanceOf<SessionRoot>>;
8
+ }, Record<string, never>>;
9
+ //# sourceMappingURL=imageCapability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageCapability.d.ts","sourceRoot":"","sources":["../../src/interpreter/imageCapability.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;yBA0D1B,CAAC"}
@@ -0,0 +1,49 @@
1
+ /** Kernel and session reads only. Choice/action constructors are `harness/ui`. */
2
+ import { EnvCapability } from "@here.build/arrival";
3
+ import { KernelRoot, SessionRoot } from "@inhuman.tools/harness-model";
4
+ import { DriverSpec } from "@inhuman.tools/plexus-expectations";
5
+ import { z } from "zod";
6
+ export const imageCapability = EnvCapability.define("harness/image", {
7
+ configuration: {
8
+ kernel: z.instanceof(KernelRoot),
9
+ session: z.instanceof(SessionRoot).optional(),
10
+ },
11
+ symbols: (symbol, sz) => ({
12
+ "harness/kernel/connections": symbol.rosetta `harness/kernel/connections: live ConnectionSpec list`({ input: [], output: [sz.list(sz.box)], provenance: "source" }, function () {
13
+ return Object.values(this.configuration.kernel.connections);
14
+ }),
15
+ "harness/kernel/drivers": symbol.rosetta `harness/kernel/drivers: live DriverSpec list`({
16
+ input: [],
17
+ inputRest: { abilityClaim: sz.foldName.optional() },
18
+ output: [sz.list(sz.box)],
19
+ provenance: "source",
20
+ }, function ({ abilityClaim: want }) {
21
+ const all = Object.values(this.configuration.kernel.drivers);
22
+ return want === undefined ? all : all.filter((item) => item.abilityClaim.includes(want));
23
+ }),
24
+ // pipe, not source: pure projection of the driver ARGUMENT — mints nothing.
25
+ "harness/kernel/offers": symbol.rosetta `harness/kernel/offers: class-bootstrap offers on a driver`({ input: [sz.box.pipe(z.instanceof(DriverSpec))], output: [sz.list(sz.box)], provenance: "pipe" }, function (driver) {
26
+ return [...driver.offers];
27
+ }),
28
+ // Total read over a possibly-empty image: sessionless eval (kernel-scope
29
+ // commands) and a missing key both read as "" — connect.scm's
30
+ // `(equal? last "")` pins that contract. Not a door candidate.
31
+ "harness/session/get-current": symbol.rosetta `harness/session/get-current: immutable current kv; "" when unset or sessionless`({ input: [sz.foldName], output: [sz.string], provenance: "source" }, function (key) {
32
+ const session = this.configuration.session;
33
+ if (session === undefined)
34
+ return "";
35
+ return session.kvs[key] ?? "";
36
+ }),
37
+ // Same total-read contract as get-current. A session reads its own snapshot
38
+ // (mint + this conversation's writes); sessionless eval reads the live
39
+ // kernel index. connect.scm falls back to a version-derived default.
40
+ "harness/session/last-used-model": symbol.rosetta `harness/session/last-used-model: model last used on a connection; "" when none`({ input: [sz.foldName], output: [sz.string], provenance: "source" }, function (connection) {
41
+ const session = this.configuration.session;
42
+ if (session?.lastUsedConnectionModel[connection] !== undefined) {
43
+ return session.lastUsedConnectionModel[connection];
44
+ }
45
+ return this.configuration.kernel.lastUsedConnectionModel[connection] ?? "";
46
+ }),
47
+ }),
48
+ });
49
+ //# sourceMappingURL=imageCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageCapability.js","sourceRoot":"","sources":["../../src/interpreter/imageCapability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Host-effect RPC for the command sandbox. The caller is configuration;
3
+ * named symbols are the methods. Not PEW; not an InhumanAction.
4
+ */
5
+ import { EnvCapability } from "@here.build/arrival";
6
+ import { z } from "zod";
7
+ export type RpcCall = (method: string, params?: unknown) => unknown | Promise<unknown>;
8
+ export declare const rpcCapability: EnvCapability<{
9
+ rpc: z.ZodOptional<z.ZodCustom<RpcCall, RpcCall>>;
10
+ }, Record<string, never>>;
11
+ //# sourceMappingURL=rpcCapability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpcCapability.d.ts","sourceRoot":"","sources":["../../src/interpreter/rpcCapability.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAIvF,eAAO,MAAM,aAAa;;yBA6FxB,CAAC"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Host-effect RPC for the command sandbox. The caller is configuration;
3
+ * named symbols are the methods. Not PEW; not an InhumanAction.
4
+ */
5
+ import { EnvCapability } from "@here.build/arrival";
6
+ import { z } from "zod";
7
+ const scope = z.enum(["session", "project", "kernel"]);
8
+ export const rpcCapability = EnvCapability.define("harness/rpc", {
9
+ configuration: {
10
+ rpc: z.custom((value) => typeof value === "function").optional(),
11
+ },
12
+ symbols: (symbol, sz) => {
13
+ const params = sz.dictRecord(sz.foldName, sz.union([sz.foldName, sz.string, sz.box])).default({});
14
+ const kvScope = sz.foldName.pipe(scope).optional();
15
+ function call(method, body) {
16
+ // `requiresConfig: ["rpc"]` doors every verb when the key is absent — present here.
17
+ return this.configuration.rpc(method, body);
18
+ }
19
+ return {
20
+ rpc: symbol.rosetta `rpc: call a named host method`({
21
+ input: [sz.foldName, params],
22
+ // The one legitimate z.dynamic: the verb is ∀-polymorphic in the host
23
+ // method's result and passes it through whole.
24
+ output: [sz.dynamic],
25
+ provenance: "source",
26
+ requiresConfig: ["rpc"],
27
+ }, async function (method, body) {
28
+ return call.call(this, method, body);
29
+ }),
30
+ "kv/set": symbol.rosetta `kv/set: write a string key`({
31
+ input: [sz.foldName, sz.string, kvScope],
32
+ output: [sz.undefinedResult],
33
+ provenance: "sink",
34
+ effects: (key, _value, kv) => [["kv", kv ?? "session", key]],
35
+ requiresConfig: ["rpc"],
36
+ }, async function (key, value, kv) {
37
+ const payload = { key, value };
38
+ if (kv !== undefined)
39
+ payload.scope = kv;
40
+ await call.call(this, "kv/set", payload);
41
+ return undefined;
42
+ }),
43
+ "kv/clear": symbol.rosetta `kv/clear: clear a string key`({
44
+ input: [sz.foldName, kvScope],
45
+ output: [sz.undefinedResult],
46
+ provenance: "sink",
47
+ effects: (key, kv) => [["kv", kv ?? "session", key]],
48
+ requiresConfig: ["rpc"],
49
+ }, async function (key, kv) {
50
+ const payload = { key };
51
+ if (kv !== undefined)
52
+ payload.scope = kv;
53
+ await call.call(this, "kv/clear", payload);
54
+ return undefined;
55
+ }),
56
+ "connect/adopt": symbol.rosetta `connect/adopt: adopt a connection; returns the host adoption result`({
57
+ input: [],
58
+ inputRest: {
59
+ driver: sz.foldName,
60
+ name: sz.string.optional(),
61
+ settings: sz.box.optional(),
62
+ },
63
+ // Source with consequences, not a sink: the host result (adopted id /
64
+ // follow-up UI form) is real data the caller reads.
65
+ output: [sz.box],
66
+ provenance: "source",
67
+ effects: (kwargs) => [["connections", kwargs.driver]],
68
+ queries: (kwargs) => [["connections", kwargs.driver]],
69
+ requiresConfig: ["rpc"],
70
+ }, async function (kwargs) {
71
+ const payload = { driver: kwargs.driver };
72
+ if (kwargs.name !== undefined)
73
+ payload.name = kwargs.name;
74
+ if (kwargs.settings !== undefined)
75
+ payload.settings = kwargs.settings;
76
+ return (await call.call(this, "connect/adopt", payload));
77
+ }),
78
+ "connect/drop": symbol.rosetta `connect/drop: remove a connection`({
79
+ input: [sz.foldName],
80
+ output: [sz.undefinedResult],
81
+ provenance: "sink",
82
+ effects: (id) => [["connections", id]],
83
+ requiresConfig: ["rpc"],
84
+ }, async function (id) {
85
+ await call.call(this, "connect/drop", { id });
86
+ return undefined;
87
+ }),
88
+ };
89
+ },
90
+ });
91
+ //# sourceMappingURL=rpcCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpcCapability.js","sourceRoot":"","sources":["../../src/interpreter/rpcCapability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * ONE NODE, TWO CONSTRUCTORS. Chrome branches on visible children, not on
3
+ * which constructor minted the node. Activate is Enter on this node: children
4
+ * present → drill; none → fire `:action` (a list of named leaves, in order)
5
+ * and pass composer text as `:input`. The list is the sequence; Tea walks it.
6
+ * Does not apply. Action names and params are plugin-owned — this capability
7
+ * does not lower them.
8
+ *
9
+ * Callback chunks (`harness/confirm`, `harness/input`, `harness/open-url`,
10
+ * `harness/notice`) are sugar over the same node. They bake `ui/resolve`
11
+ * leaves; Tea evals them with `pending` in the env.
12
+ */
13
+ import { EnvCapability } from "@here.build/arrival";
14
+ import { z } from "zod";
15
+ export declare class UiNode {
16
+ readonly name: string;
17
+ readonly description: string;
18
+ readonly aliases: readonly string[];
19
+ readonly health: "ok" | "degraded" | "failed";
20
+ readonly healthAnnotation: string;
21
+ readonly hotkey: string | undefined;
22
+ readonly action: readonly UiNode[];
23
+ readonly alternateActions: readonly UiNode[];
24
+ readonly choices: readonly UiNode[];
25
+ readonly op: string | null;
26
+ readonly params: Readonly<Record<string, unknown>>;
27
+ readonly secret: boolean;
28
+ readonly annotation: string;
29
+ constructor(name: string, description: string, aliases: readonly string[], health: "ok" | "degraded" | "failed", healthAnnotation: string, hotkey: string | undefined, action: readonly UiNode[], alternateActions: readonly UiNode[], choices: readonly UiNode[], op: string | null, params: Readonly<Record<string, unknown>>, secret?: boolean, annotation?: string);
30
+ }
31
+ export declare const uiCapability: EnvCapability<{
32
+ pending: z.ZodOptional<z.ZodString>;
33
+ }, Record<string, never>>;
34
+ //# sourceMappingURL=uiCapability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiCapability.d.ts","sourceRoot":"","sources":["../../src/interpreter/uiCapability.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBACa,MAAM;IAEf,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;IACnC,QAAQ,CAAC,MAAM,EAAE,IAAI,GAAG,UAAU,GAAG,QAAQ;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE;IAClC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAC1B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,OAAO;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAZlB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,IAAI,GAAG,UAAU,GAAG,QAAQ,EACpC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,EAAE,SAAS,MAAM,EAAE,EACzB,gBAAgB,EAAE,SAAS,MAAM,EAAE,EACnC,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,EAAE,EAAE,MAAM,GAAG,IAAI,EACjB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,MAAM,GAAE,OAAe,EACvB,UAAU,GAAE,MAAW;CAEnC;AAMD,eAAO,MAAM,YAAY;;yBA4MvB,CAAC"}
@@ -0,0 +1,207 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ /**
36
+ * ONE NODE, TWO CONSTRUCTORS. Chrome branches on visible children, not on
37
+ * which constructor minted the node. Activate is Enter on this node: children
38
+ * present → drill; none → fire `:action` (a list of named leaves, in order)
39
+ * and pass composer text as `:input`. The list is the sequence; Tea walks it.
40
+ * Does not apply. Action names and params are plugin-owned — this capability
41
+ * does not lower them.
42
+ *
43
+ * Callback chunks (`harness/confirm`, `harness/input`, `harness/open-url`,
44
+ * `harness/notice`) are sugar over the same node. They bake `ui/resolve`
45
+ * leaves; Tea evals them with `pending` in the env.
46
+ */
47
+ import { EnvCapability } from "@here.build/arrival";
48
+ import { arrival } from "@here.build/arrival/host-internals";
49
+ import { keywordsOf } from "@inhuman.tools/harness-scheme/keywords";
50
+ import { z } from "zod";
51
+ let UiNode = (() => {
52
+ var _a;
53
+ let _classDecorators = [(_a = arrival).private.bind(_a)];
54
+ let _classDescriptor;
55
+ let _classExtraInitializers = [];
56
+ let _classThis;
57
+ var UiNode = class {
58
+ static { _classThis = this; }
59
+ static {
60
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
61
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
62
+ UiNode = _classThis = _classDescriptor.value;
63
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
64
+ __runInitializers(_classThis, _classExtraInitializers);
65
+ }
66
+ name;
67
+ description;
68
+ aliases;
69
+ health;
70
+ healthAnnotation;
71
+ hotkey;
72
+ action;
73
+ alternateActions;
74
+ choices;
75
+ op;
76
+ params;
77
+ secret;
78
+ annotation;
79
+ constructor(name, description, aliases, health, healthAnnotation, hotkey, action, alternateActions, choices, op, params, secret = false, annotation = "") {
80
+ this.name = name;
81
+ this.description = description;
82
+ this.aliases = aliases;
83
+ this.health = health;
84
+ this.healthAnnotation = healthAnnotation;
85
+ this.hotkey = hotkey;
86
+ this.action = action;
87
+ this.alternateActions = alternateActions;
88
+ this.choices = choices;
89
+ this.op = op;
90
+ this.params = params;
91
+ this.secret = secret;
92
+ this.annotation = annotation;
93
+ }
94
+ };
95
+ return UiNode = _classThis;
96
+ })();
97
+ export { UiNode };
98
+ function resolveLeaf(name, pending, params, hotkey) {
99
+ return new UiNode(name, "", [], "ok", "", hotkey, [], [], [], "ui/resolve", { pending, ...params });
100
+ }
101
+ export const uiCapability = EnvCapability.define("harness/ui", {
102
+ configuration: {
103
+ pending: z.string().optional(),
104
+ },
105
+ symbols: (symbol, sz) => {
106
+ const nodes = sz.list(sz.instance(UiNode)).default([]);
107
+ const health = sz.foldName.pipe(sz.enum(["ok", "degraded", "failed"])).default("ok");
108
+ const params = sz.dictRecord(sz.foldName, sz.union([sz.foldName, sz.string, sz.box])).default({});
109
+ return {
110
+ "harness/choice": symbol.rosetta `harness/choice: a place — chrome, optional activate, children`({
111
+ input: [],
112
+ inputRest: {
113
+ name: sz.string.default(""),
114
+ description: sz.string.default(""),
115
+ annotation: sz.string.default(""),
116
+ alias: sz.list(sz.string).default([]),
117
+ "health-status": health,
118
+ "health-annotation": sz.string.default(""),
119
+ hotkey: sz.string.optional(),
120
+ action: nodes,
121
+ "alternate-actions": nodes,
122
+ choices: nodes,
123
+ secret: sz.boolean.default(false),
124
+ },
125
+ output: [sz.instance(UiNode)],
126
+ provenance: "pipe",
127
+ }, (kwargs) => new UiNode(kwargs.name, kwargs.description, kwargs.alias, kwargs["health-status"], kwargs["health-annotation"], kwargs.hotkey, kwargs.action, kwargs["alternate-actions"], kwargs.choices, null, {}, kwargs.secret, kwargs.annotation)),
128
+ "harness/action": symbol.rosetta `harness/action: a named plugin action; does not apply`({
129
+ input: [sz.foldName],
130
+ inputRest: sz.dynamic,
131
+ output: [sz.instance(UiNode)],
132
+ provenance: "pipe",
133
+ }, (op, ...rest) => {
134
+ const kwargs = keywordsOf("harness/action", rest, {
135
+ name: sz.string.optional(),
136
+ description: sz.string.default(""),
137
+ hotkey: sz.string.optional(),
138
+ alias: sz.list(sz.string).default([]),
139
+ params,
140
+ });
141
+ return new UiNode(kwargs.name ?? op, kwargs.description, kwargs.alias, "ok", "", kwargs.hotkey, [], [], [], op, kwargs.params);
142
+ }),
143
+ // The four callback sugar verbs are `source`, not `pipe`: each reads
144
+ // `this.configuration.pending` into the minted node — external config
145
+ // data enters the result, so the crossing mints an origin.
146
+ "harness/confirm": symbol.rosetta `harness/confirm: callback confirm in the omnibox`({
147
+ input: [],
148
+ inputRest: {
149
+ title: sz.string.default("Confirm"),
150
+ name: sz.string.optional(),
151
+ description: sz.string.default(""),
152
+ },
153
+ output: [sz.instance(UiNode)],
154
+ provenance: "source",
155
+ }, function (kwargs) {
156
+ const pending = this.configuration.pending ?? "";
157
+ const title = kwargs.name ?? kwargs.title;
158
+ return new UiNode(title, kwargs.description, [], "ok", "", undefined, [resolveLeaf("Confirm", pending, { kind: "accept" })], [resolveLeaf("Cancel", pending, { kind: "cancel" }, "escape")], [], null, {});
159
+ }),
160
+ "harness/input": symbol.rosetta `harness/input: callback text in the omnibox remainder`({
161
+ input: [],
162
+ inputRest: {
163
+ name: sz.string.default("Input"),
164
+ description: sz.string.default(""),
165
+ secret: sz.boolean.default(false),
166
+ },
167
+ output: [sz.instance(UiNode)],
168
+ provenance: "source",
169
+ }, function (kwargs) {
170
+ const pending = this.configuration.pending ?? "";
171
+ return new UiNode(kwargs.name, kwargs.description, [], "ok", "", undefined, [resolveLeaf(kwargs.name, pending, { kind: "text", input: "" })], [resolveLeaf("Cancel", pending, { kind: "cancel" }, "escape")], [], null, {}, kwargs.secret);
172
+ }),
173
+ "harness/open-url": symbol.rosetta `harness/open-url: open a link; optional text/password remainder`({
174
+ input: [],
175
+ inputRest: {
176
+ url: sz.string,
177
+ name: sz.string.default("Continue"),
178
+ description: sz.string.default(""),
179
+ input: sz.foldName.pipe(sz.enum(["text", "password"])).optional(),
180
+ },
181
+ output: [sz.instance(UiNode)],
182
+ provenance: "source",
183
+ }, function (kwargs) {
184
+ const pending = this.configuration.pending ?? "";
185
+ const wantsInput = kwargs.input !== undefined;
186
+ return new UiNode(kwargs.name, kwargs.description, [], "ok", "", undefined, [
187
+ resolveLeaf("Continue", pending, wantsInput ? { kind: "text", input: "" } : { kind: "opened", url: kwargs.url }),
188
+ ], [resolveLeaf("Cancel", pending, { kind: "cancel" }, "escape")], [], null, { url: kwargs.url }, kwargs.input === "password");
189
+ }),
190
+ "harness/notice": symbol.rosetta `harness/notice: callback notice in the omnibox`({
191
+ input: [],
192
+ inputRest: {
193
+ message: sz.string.default(""),
194
+ name: sz.string.optional(),
195
+ description: sz.string.default(""),
196
+ },
197
+ output: [sz.instance(UiNode)],
198
+ provenance: "source",
199
+ }, function (kwargs) {
200
+ const pending = this.configuration.pending ?? "";
201
+ const title = kwargs.name ?? (kwargs.message === "" ? "Notice" : kwargs.message);
202
+ return new UiNode(title, kwargs.description === "" ? kwargs.message : kwargs.description, [], "ok", "", undefined, [resolveLeaf("Dismiss", pending, { kind: "dismiss" })], [resolveLeaf("Dismiss", pending, { kind: "dismiss" }, "escape")], [], null, {});
203
+ }),
204
+ };
205
+ },
206
+ });
207
+ //# sourceMappingURL=uiCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiCapability.js","sourceRoot":"","sources":["../../src/interpreter/uiCapability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./worker-boot.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./worker-boot.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { z } from "zod";
2
+ export declare const workerBootSchema: z.ZodObject<{
3
+ kernel: z.ZodString;
4
+ path: z.ZodString;
5
+ sessionId: z.ZodOptional<z.ZodString>;
6
+ restore: z.ZodOptional<z.ZodBoolean>;
7
+ draft: z.ZodOptional<z.ZodString>;
8
+ cols: z.ZodOptional<z.ZodNumber>;
9
+ rows: z.ZodOptional<z.ZodNumber>;
10
+ connection: z.ZodOptional<z.ZodString>;
11
+ model: z.ZodOptional<z.ZodString>;
12
+ }, z.core.$strict>;
13
+ export type WorkerBoot = z.infer<typeof workerBootSchema>;
14
+ //# sourceMappingURL=worker-boot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-boot.d.ts","sourceRoot":"","sources":["../../src/schemas/worker-boot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;;;;;kBAYlB,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC"}