@amalgm/shell 0.1.29 → 0.1.31
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/PURPOSE.md +42 -22
- package/README.md +9 -2
- package/dist/cli.js +12 -7
- package/dist/cli.js.map +1 -1
- package/dist/git-repository-host.d.ts +3 -4
- package/dist/git-repository-host.js +11 -13
- package/dist/git-repository-host.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/machine-host.d.ts +11 -4
- package/dist/machine-host.js +75 -39
- package/dist/machine-host.js.map +1 -1
- package/dist/runtime-command-host.d.ts +16 -0
- package/dist/runtime-command-host.js +86 -0
- package/dist/runtime-command-host.js.map +1 -0
- package/dist/user-ground-host.d.ts +14 -8
- package/dist/user-ground-host.js +252 -177
- package/dist/user-ground-host.js.map +1 -1
- package/dist/watching/host.d.ts +99 -0
- package/dist/watching/host.js +543 -0
- package/dist/watching/host.js.map +1 -0
- package/dist/watching/index.d.ts +2 -0
- package/dist/watching/index.js +2 -0
- package/dist/watching/index.js.map +1 -0
- package/package.json +2 -2
package/PURPOSE.md
CHANGED
|
@@ -91,17 +91,22 @@ shell only assembles.
|
|
|
91
91
|
`files register` command is different by design: it starts no Watch, SQLite,
|
|
92
92
|
or cloud work; it renders the durable reference and returns. A running host
|
|
93
93
|
observes that declaration, while a later resume covers an interval with no
|
|
94
|
-
running host.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
watcher does not invent a full scan. A
|
|
94
|
+
running host. `files add` executes inside that same running host, so the
|
|
95
|
+
watcher established after authoritative materialization remains the one
|
|
96
|
+
ongoing watcher; the CLI never creates and immediately closes a second
|
|
97
|
+
Watch lifecycle. Closing an unchanged watcher does not invent a full scan. A
|
|
98
98
|
gateway response belongs to the exact wire that delivered its request; if
|
|
99
99
|
that source closes first, the late response is discarded cleanly rather
|
|
100
100
|
than sent through a replacement or closed wire. Closing is a one-way
|
|
101
101
|
lifecycle boundary: an in-flight rescan may finish its durable work, but it
|
|
102
|
-
can never recreate watcher handles afterward.
|
|
103
|
-
|
|
104
|
-
|
|
102
|
+
can never recreate watcher handles afterward. Exactly one recursive Node
|
|
103
|
+
watcher covers each outermost materialized tree, enclosed logical roots
|
|
104
|
+
share it, and one non-recursive watcher on the outer root's parent guards
|
|
105
|
+
the root address itself. Roots with the same parent share that address
|
|
106
|
+
watcher. Initialization failure or handle death is reported as degraded,
|
|
107
|
+
retains full-root suspicion, and retries independently of Detect; it can
|
|
108
|
+
never be reported as active coverage. The Node version floor supplies the
|
|
109
|
+
recursive primitive on macOS, Linux, and Windows.
|
|
105
110
|
|
|
106
111
|
17. **Independent content may travel concurrently; authority remains atomic.**
|
|
107
112
|
The host bounds parallel uploads for small immutable objects and processes
|
|
@@ -109,11 +114,14 @@ shell only assembles.
|
|
|
109
114
|
memory. The registry head advances only after every referenced object is
|
|
110
115
|
durably acknowledged.
|
|
111
116
|
|
|
112
|
-
18. **A Git repository travels through Git.**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
+
18. **A Git repository travels through Git.** Filesystem marker presence
|
|
118
|
+
classifies `repo.git` independently of whether Git commands succeed; a Git
|
|
119
|
+
failure defers cloud publication for that materialized root but never
|
|
120
|
+
demotes the entity, admits `.git` as ordinary ground, or prevents the
|
|
121
|
+
watching runtime and unrelated roots from becoming ready. The host asks Git to pack the declared
|
|
122
|
+
refs against the authority's known object frontier and asks Git to index
|
|
123
|
+
received packs. Worktree children keep their UUID rows locally and ride in
|
|
124
|
+
the repository state metadata, while the cloud registry carries the one
|
|
117
125
|
`repo.git` record. A shallow boundary travels with that metadata and is
|
|
118
126
|
installed before Git reads the imported objects.
|
|
119
127
|
|
|
@@ -144,12 +152,15 @@ shell only assembles.
|
|
|
144
152
|
Hashes, manifests, caches, and R2 protection always prove the exact decoded
|
|
145
153
|
bytes; incompressible input travels unchanged.
|
|
146
154
|
|
|
147
|
-
21. **Watch events preserve suspicion until proof.**
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
155
|
+
21. **Watch events preserve suspicion until proof.** Watch records only the
|
|
156
|
+
producing handle plus an optional relative path: a named event preserves
|
|
157
|
+
that hint and a nameless or invalid event widens to the complete covered
|
|
158
|
+
root. It does not read `.amalgmignore`, inspect `.git`, classify a file, or
|
|
159
|
+
infer create, move, rename, and delete semantics. Detect reads live policy
|
|
160
|
+
and repository evidence when it observes the suspicion. Only Core's fixed
|
|
161
|
+
`.amalgm/` control subtree is structurally outside Files ground and may be
|
|
162
|
+
dropped at the host callback boundary. A scan settles only the generations
|
|
163
|
+
it observed, so an event received during that scan remains pending.
|
|
153
164
|
|
|
154
165
|
22. **Git supplies clean repository evidence.** Registration obtains clean
|
|
155
166
|
tracked leaf identity and text/binary classification from Git's index,
|
|
@@ -179,10 +190,10 @@ shell only assembles.
|
|
|
179
190
|
work rather than additional correctness.
|
|
180
191
|
|
|
181
192
|
26. **A Files effect command is not a second login.** `files add` proves the
|
|
182
|
-
selected ready machine
|
|
183
|
-
|
|
184
|
-
does not run Core convergence, rescan existing ground,
|
|
185
|
-
|
|
193
|
+
selected ready machine, authenticates to its already-running loopback
|
|
194
|
+
runtime, and asks that runtime's existing Files host to download the
|
|
195
|
+
selected graph. It does not run Core convergence, rescan existing ground,
|
|
196
|
+
or create a second cloud wire, SQLite writer, or Watch host.
|
|
186
197
|
27. **Block identity does not dictate transport shape.** Shell carries Live's
|
|
187
198
|
adjacent cold file blocks in one bounded binary request when the gateway
|
|
188
199
|
advertises that additive capability, while an older peer receives the same
|
|
@@ -195,6 +206,15 @@ shell only assembles.
|
|
|
195
206
|
content heads before transport, and lowers each file's internal batch
|
|
196
207
|
window so the combined cold byte window remains bounded.
|
|
197
208
|
|
|
209
|
+
30. **Files commands converge on one watching runtime.** `amalgm files
|
|
210
|
+
register <workspace>` remains Live's fast, type-agnostic durable-reference
|
|
211
|
+
declaration; the already-running runtime sees that portable change and
|
|
212
|
+
extends ordinary registration and upload to its external binding.
|
|
213
|
+
`amalgm files add <workspace>` asks that runtime to materialize the selected
|
|
214
|
+
cloud graph and extend its existing Watch coverage before returning.
|
|
215
|
+
Neither command creates a second long-lived watcher. Certification inspects
|
|
216
|
+
real health and handle topology rather than accepting `{ active: true }`.
|
|
217
|
+
|
|
198
218
|
## Relationship to amalgm-engine
|
|
199
219
|
|
|
200
220
|
Stage 1 cut the bricks out of the engine. Stage 2 proves them here, composed.
|
package/README.md
CHANGED
|
@@ -15,6 +15,8 @@ injects the real filesystem, SQLite, watcher, and authenticated cloud wire.
|
|
|
15
15
|
- `src/machine-host.ts` — production effects injected into Core's machine setup.
|
|
16
16
|
- `src/user-ground-host.ts` — production effects injected into Live registration.
|
|
17
17
|
- `src/wire-client.ts` — the single authenticated gateway/R2 authority path.
|
|
18
|
+
- `src/watching/` — the single Node watcher host: physical coverage, routing,
|
|
19
|
+
health, and retry; portable Watch law remains in `@amalgm/live`.
|
|
18
20
|
- `tests/` — parity, adapter, restart, watcher, and two-device examinations.
|
|
19
21
|
|
|
20
22
|
## Run
|
|
@@ -23,16 +25,21 @@ injects the real filesystem, SQLite, watcher, and authenticated cloud wire.
|
|
|
23
25
|
npm install
|
|
24
26
|
npm test
|
|
25
27
|
|
|
28
|
+
# Isolated real-kernel Watch certification (macOS/Linux)
|
|
29
|
+
AMALGM_NATIVE_WATCH=1 node --test tests/watching/native.test.js
|
|
30
|
+
|
|
31
|
+
# PowerShell: $env:AMALGM_NATIVE_WATCH=1; node --test tests/watching/native.test.js
|
|
32
|
+
|
|
26
33
|
# First machine: browser approval or a setup code
|
|
27
34
|
npx --package @amalgm/shell amalgm login --no-open
|
|
28
35
|
|
|
29
36
|
# Resume one user on a machine that has several
|
|
30
37
|
npx --package @amalgm/shell amalgm run --user person@example.com
|
|
31
38
|
|
|
32
|
-
#
|
|
39
|
+
# In another shell, declare an external workspace; the running Watch performs registration
|
|
33
40
|
npx --package @amalgm/shell amalgm files register ./project --user person@example.com
|
|
34
41
|
|
|
35
|
-
# Materialize
|
|
42
|
+
# Materialize into the current directory and keep it on that same running Watch
|
|
36
43
|
npx --package @amalgm/shell amalgm files add <workspace-id> --user person@example.com
|
|
37
44
|
```
|
|
38
45
|
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
3
|
import { MachineSetupError } from "@amalgm/core/identity";
|
|
4
|
-
import {
|
|
4
|
+
import { registerFilesWorkspace } from "@amalgm/live/files";
|
|
5
5
|
import { MachineHost, defaultMachineName } from "./machine-host.js";
|
|
6
6
|
const VERSION = String(JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version);
|
|
7
7
|
export async function runCli(argv = process.argv) {
|
|
@@ -65,8 +65,15 @@ export async function runCli(argv = process.argv) {
|
|
|
65
65
|
throw new Error(`Usage: amalgm files ${filesCommand} <${filesCommand === "register" ? "path" : "workspace-id"}>`);
|
|
66
66
|
}
|
|
67
67
|
const result = filesCommand === "register"
|
|
68
|
-
? await
|
|
69
|
-
|
|
68
|
+
? await (async () => {
|
|
69
|
+
const declared = await registerFilesWorkspace(parsed.positionals[1], await host.filesRegisterPorts());
|
|
70
|
+
const watch = await host.callFilesRuntime("/entities/watch", { uuid: declared.workspaceId });
|
|
71
|
+
return { ...declared, watch };
|
|
72
|
+
})()
|
|
73
|
+
: await host.callFilesRuntime("/entities/add", {
|
|
74
|
+
uuid: parsed.positionals[1],
|
|
75
|
+
path: process.cwd(),
|
|
76
|
+
});
|
|
70
77
|
process.stdout.write(`AMALGM_FILES ${JSON.stringify({ command: filesCommand, ...result })}\n`);
|
|
71
78
|
return 0;
|
|
72
79
|
}
|
|
@@ -103,9 +110,7 @@ export async function runCli(argv = process.argv) {
|
|
|
103
110
|
return 1;
|
|
104
111
|
}
|
|
105
112
|
finally {
|
|
106
|
-
await host.close(
|
|
107
|
-
catchUp: !(parsed.command === "files" && filesCommand === "add"),
|
|
108
|
-
});
|
|
113
|
+
await host.close();
|
|
109
114
|
}
|
|
110
115
|
}
|
|
111
116
|
function parseArguments(args) {
|
|
@@ -173,6 +178,6 @@ function waitForShutdown() {
|
|
|
173
178
|
});
|
|
174
179
|
}
|
|
175
180
|
function helpText() {
|
|
176
|
-
return `amalgm ${VERSION}\n\nUsage:\n amalgm login [--setup-code CODE] [--no-open]\n amalgm run --user EMAIL\n amalgm status --user EMAIL\n amalgm files register <path> --user EMAIL\n amalgm files add <workspace-id> --user EMAIL\n\nFiles:\n register Create a durable reference; Watch performs entity registration\n add Materialize one owned cloud workspace
|
|
181
|
+
return `amalgm ${VERSION}\n\nUsage:\n amalgm login [--setup-code CODE] [--no-open]\n amalgm run --user EMAIL\n amalgm status --user EMAIL\n amalgm files register <path> --user EMAIL\n amalgm files add <workspace-id> --user EMAIL\n\nFiles:\n register Create a durable reference; Watch performs entity registration and upload\n add Materialize one owned cloud workspace through the running Watch host\n\nOptions:\n --app-url URL Amalgm control plane (default: https://amalgm.ai)\n --amalgm-root PATH Visible installation root (default: ~/amalgm)\n --home PATH OS home override\n --user EMAIL Select one of multiple local users\n --name NAME Computer display name\n --exit-after-ready Examination-only: prove readiness, then stop\n`;
|
|
177
182
|
}
|
|
178
183
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { type RepoIdentityEntry, type RepoState, type RepositoryTransportLayout } from "@amalgm/live";
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
|
|
5
|
-
export declare function isRepository(directory: string): boolean;
|
|
2
|
+
/** Classification observes only the filesystem marker. Git command health
|
|
3
|
+
* belongs to Card + Checkpoint capture and cannot demote repository ground. */
|
|
4
|
+
export declare function hasGitMarker(directory: string): boolean;
|
|
6
5
|
export interface PriorRepositoryTransport {
|
|
7
6
|
readonly stateId: string;
|
|
8
7
|
readonly transportVersion: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
2
|
import { spawn } from "node:child_process";
|
|
3
|
-
import { chmodSync, closeSync, createReadStream, existsSync, lstatSync, mkdirSync, mkdtempSync, openSync, readFileSync, readSync, readlinkSync,
|
|
3
|
+
import { chmodSync, closeSync, createReadStream, existsSync, lstatSync, mkdirSync, mkdtempSync, openSync, readFileSync, readSync, readlinkSync, rmSync, symlinkSync, statSync, writeFileSync, } from "node:fs";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
5
5
|
import { dirname, join, resolve } from "node:path";
|
|
6
6
|
import { Transform } from "node:stream";
|
|
@@ -19,20 +19,18 @@ const sha256Hex = (input) => createHash("sha256").update(input).digest("hex");
|
|
|
19
19
|
const bufferView = (bytes) => Buffer.isBuffer(bytes)
|
|
20
20
|
? bytes
|
|
21
21
|
: Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
22
|
-
/**
|
|
23
|
-
*
|
|
24
|
-
|
|
25
|
-
export function isRepository(directory) {
|
|
26
|
-
if (!existsSync(join(directory, ".git")))
|
|
27
|
-
return false;
|
|
28
|
-
const top = tryGitText(directory, ["rev-parse", "--show-toplevel"]);
|
|
29
|
-
if (!top)
|
|
30
|
-
return false;
|
|
22
|
+
/** Classification observes only the filesystem marker. Git command health
|
|
23
|
+
* belongs to Card + Checkpoint capture and cannot demote repository ground. */
|
|
24
|
+
export function hasGitMarker(directory) {
|
|
31
25
|
try {
|
|
32
|
-
|
|
26
|
+
const marker = lstatSync(join(directory, ".git"));
|
|
27
|
+
return marker.isDirectory() || marker.isFile();
|
|
33
28
|
}
|
|
34
|
-
catch {
|
|
35
|
-
|
|
29
|
+
catch (error) {
|
|
30
|
+
const code = error.code;
|
|
31
|
+
if (code === "ENOENT" || code === "ENOTDIR")
|
|
32
|
+
return false;
|
|
33
|
+
throw error;
|
|
36
34
|
}
|
|
37
35
|
}
|
|
38
36
|
function refList(repository, prefix) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-repository-host.js","sourceRoot":"","sources":["../src/git-repository-host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-repository-host.js","sourceRoot":"","sources":["../src/git-repository-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,YAAY,EACZ,kBAAkB,EAClB,aAAa,EACb,yBAAyB,EACzB,0BAA0B,EAC1B,sBAAsB,EACtB,gCAAgC,GAMjC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,OAAO,EACP,MAAM,EACN,YAAY,EACZ,MAAM,EACN,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,MAAM,UAAU,GAAG,0CAA0C,CAAC;AAC9D,MAAM,YAAY,GAAG;IACnB,YAAY;IACZ,cAAc;IACd,cAAc;IACd,kBAAkB;IAClB,aAAa;CACL,CAAC;AAEX,MAAM,SAAS,GAAG,CAAC,KAA0B,EAAU,EAAE,CACvD,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnD,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;IACtE,CAAC,CAAC,KAAK;IACP,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAqB,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AAEjF;+EAC+E;AAC/E,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC1D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,UAAkB,EAAE,MAAc;IACjD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,yCAAyC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3G,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAC,CAAC;IACzF,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IACvB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzF,CAAC;AAED;+EAC+E;AAC/E,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACjF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,UAAkB;IACxC,0EAA0E;IAC1E,kEAAkE;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9D,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QACxE,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;gBAChE,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvF,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,EAAE;gBAAE,OAAO,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;YAC3C,OAAO,CAAC;oBACN,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;oBAC9C,OAAO;oBACP,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;iBAC3B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAClE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IACpC,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC1F,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AACvF,CAAC;AAED,SAAS,YAAY,CAAC,UAAkB;IACtC,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/E,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG;QACX,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,EAAE;QACtE,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC;QAC3C,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;QACtC,OAAO,EAAE,UAAU,CAAC,UAAU,CAAC;QAC/B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3C,CAAC;IACF,MAAM,UAAU,GAAG;QACjB,UAAU,EAAE,MAAM;QAClB,MAAM;QACN,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;YAC9B,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;SAC7E,CAAC;QACF,aAAa,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACvE,SAAS,EAAE,cAAc,CAAC,UAAU,CAAC;KACtC,CAAC;IACF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC;QACvD,MAAM;QACN,YAAY;QACZ,IAAI;QACJ,UAAU;QACV,IAAI,EAAE,IAAI;KACX,CAAC;AACJ,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAY,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;QACzC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC;KACtC,CAAC,CAAC,CAAC;AAEJ;8EAC8E;AAC9E,SAAS,UAAU,CACjB,UAAkB,EAClB,OAA0B,EAC1B,QAAkC;IAElC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CACnE,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,GAAG,KAAK;QACR,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;QACtC,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IACtB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,YAAY,CAAC,UAAU,EAAE;YACvB,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,qBAAqB;SACtE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,UAAU,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;YAC/E,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7C,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAeD;yEACyE;AACzE,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,QAAsC,EACtC,KAAsC,EACtC,mBAAwD,IAAI;IAE5D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAAG,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC;QACpF,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;eAC9B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;eACzD,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;YACzC,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,CAAC;IAC9D,MAAM,YAAY,GAAG,sBAAsB,CACzC,QAAQ,EACR,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EACnC,SAAS,CACV,CAAC;IACF,MAAM,QAAQ,GAAG;QACf,GAAG,KAAK;QACR,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;KACxE,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,yBAAyB,CAAC,QAAQ,EAAE;QAC3D,sBAAsB,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI;QACjE,GAAG,YAAY;KAChB,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC;QAClC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,YAAY,EAAE,YAAY,CAAC,YAAY;QACvC,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB,EAAE,OAA0B;IAC5E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IAC9F,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,KAAwC;IAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;QACnB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7D,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC;KACzD,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,UAAU,CAAC,UAAU,EAAE;QACtC,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,WAAW,EAAE,oBAAoB;KACvF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG;QACf,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAClF,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAoB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC7E,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACnE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC;QAChC,EAAE;KACH,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,KAAwC;IAC7E,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3E,MAAM,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,KAA0B;IACrE,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACnG,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9G,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1C,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAWD,SAAS,UAAU,CAAC,UAAkB,EAAE,KAA0B;IAChE,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO;IACxB,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,CAAC,UAAU,EAAE;QACjB,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,oCAAoC;KAC5E,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;0EAE0E;AAC1E,MAAM,UAAU,eAAe,CAC7B,UAAkB,EAClB,KAA4B;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/E,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,QAAQ,GAAwC,IAAI,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,sBAAsB,KAAK,YAAY,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/D,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAwB,CAAC;IACvD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO;QAAE,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACxG,KAAK,MAAM,SAAS,IAAI,UAAU;QAAE,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACtE,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,gBAAgB,EAAE,YAAsB;QACxC,QAAQ,EAAE,QAAwC;KACnD,CAAC;AACJ,CAAC;AAOD,SAAS,SAAS,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,MAAM,GAAG,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;YACpF,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,UAAU,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,MAAM,aAAa,GAAG,gCAAgC,CAAC,MAAM,CAAC,CAAC;IAC/D,OAAO,0BAA0B,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,UAAkB,EAClB,IAAY,EACZ,IAAoD;IAEpD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC;QAC5B,SAAS,CAAC,KAAa,EAAE,SAAS,EAAE,QAAQ;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE;QACzB,YAAY,EAAE,SAAS,EAAE,YAAY,EAAE,oCAAoC;KAC5E,EAAE;QACD,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;QACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE;KAClD,CAAC,CAAC;IACH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QAChE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,IAAI,KAAK,CAAC;gBAAE,YAAY,EAAE,CAAC;;gBAC1B,WAAW,CAAC,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM;oBAC9D,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE;QACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;QACxB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;KAC9C,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAA0B;IACzD,OAAO,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAkB,EAClB,IAAY,EACZ,UAAmD;IAEnD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,qBAAqB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,SAAS,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,sDAAsD,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACrC,SAAS,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;AACH,CAAC;AAED;8EAC8E;AAC9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,UAAkB,EAClB,KAA2C;IAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC/E,MAAM,UAAU,GAA6E,EAAE,CAAC;IAChG,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,QAAQ,GAAwC,IAAI,CAAC;IACzD,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,8BAA8B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,sBAAsB,KAAK,YAAY,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACvC,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;IACzC,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAgC,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO;QAAE,MAAM,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACxG,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IACD,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IAC7D,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7B,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,gBAAgB,EAAE,YAAsB;QACxC,QAAQ,EAAE,QAAwC;KACnD,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export { WireClient, WireRequestError } from "./wire-client.js";
|
|
|
18
18
|
export type { WireClientOptions } from "./wire-client.js";
|
|
19
19
|
export { UserGroundHost } from "./user-ground-host.js";
|
|
20
20
|
export type { UserGroundHostOptions } from "./user-ground-host.js";
|
|
21
|
+
export { NodeWatchHost } from "./watching/index.js";
|
|
22
|
+
export type { NativeWatchHandle, NodeWatchHostOptions, OpenNativeWatch, WatchGround, WatchCoverageEvidence, WatchHealth, WatchObservation, WatchCloseOptions, } from "./watching/index.js";
|
|
21
23
|
export { MachineHost, defaultMachineName } from "./machine-host.js";
|
|
22
24
|
export type { MachineHostOptions } from "./machine-host.js";
|
|
23
25
|
export { CONTENT_WIRE_ENCODING, decodeContentWireBytes, encodeContentWireBytes, } from "./content-wire-codec.js";
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { FileStateEventStore } from "./state-store.js";
|
|
|
9
9
|
export { FileWorkspaceStore } from "./workspace-store.js";
|
|
10
10
|
export { WireClient, WireRequestError } from "./wire-client.js";
|
|
11
11
|
export { UserGroundHost } from "./user-ground-host.js";
|
|
12
|
+
export { NodeWatchHost } from "./watching/index.js";
|
|
12
13
|
export { MachineHost, defaultMachineName } from "./machine-host.js";
|
|
13
14
|
export { CONTENT_WIRE_ENCODING, decodeContentWireBytes, encodeContentWireBytes, } from "./content-wire-codec.js";
|
|
14
15
|
export { shellReleaseCatalog, shellReleaseVerifier } from "./release-catalog.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAWpD,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/machine-host.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type JoinMachineInput, type MachineSetupPorts, type ReadyMachine } from "@amalgm/core/identity";
|
|
2
|
-
import type
|
|
2
|
+
import { type FilesAddResult, type FilesRegisterPorts } from "@amalgm/live/files";
|
|
3
3
|
import { UserGroundHost, type UserGroundCloseOptions } from "./user-ground-host.js";
|
|
4
|
+
import type { OpenNativeWatch, WatchCoverageEvidence, WatchHealth } from "./watching/index.js";
|
|
4
5
|
export interface MachineHostOptions {
|
|
5
6
|
readonly homedir?: string;
|
|
6
7
|
readonly amalgmRoot?: string;
|
|
@@ -12,6 +13,8 @@ export interface MachineHostOptions {
|
|
|
12
13
|
readonly branch?: string;
|
|
13
14
|
readonly proxyUrl?: string;
|
|
14
15
|
readonly runtimePort?: number;
|
|
16
|
+
readonly openWatch?: OpenNativeWatch;
|
|
17
|
+
readonly onWatchHealth?: (health: WatchHealth) => void;
|
|
15
18
|
readonly showSetup?: (input: {
|
|
16
19
|
verificationUrl: string;
|
|
17
20
|
setupCode: string;
|
|
@@ -46,12 +49,16 @@ export declare class MachineHost {
|
|
|
46
49
|
resume(): Promise<ReadyMachine>;
|
|
47
50
|
selectedPaths(): MachinePaths;
|
|
48
51
|
filesCommandPorts(): ReturnType<UserGroundHost["filesCommandPorts"]>;
|
|
52
|
+
/** Materialize through Live and prove the same runtime owns ongoing Watch. */
|
|
53
|
+
addWorkspace(workspaceId: string, destinationParent: string): Promise<FilesAddResult & {
|
|
54
|
+
readonly watch: WatchCoverageEvidence;
|
|
55
|
+
}>;
|
|
56
|
+
watchEvidence(): WatchCoverageEvidence;
|
|
57
|
+
coverWorkspace(workspaceId: string): WatchCoverageEvidence;
|
|
58
|
+
callFilesRuntime(path: "/entities/add" | "/entities/watch", body: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
49
59
|
/** Registration is a local declaration, so it proves the selected machine
|
|
50
60
|
* from disk without starting Watch, SQLite convergence, or a cloud wire. */
|
|
51
61
|
filesRegisterPorts(): Promise<FilesRegisterPorts>;
|
|
52
|
-
/** Download effects need authenticated cloud/cache access, but not a second
|
|
53
|
-
* login convergence or a pre-download Watch scan. */
|
|
54
|
-
filesAddPorts(): Promise<FilesAddPorts>;
|
|
55
62
|
close(options?: UserGroundCloseOptions): Promise<void>;
|
|
56
63
|
private ensureInstallationRoot;
|
|
57
64
|
private paths;
|
package/dist/machine-host.js
CHANGED
|
@@ -3,9 +3,11 @@ import { existsSync, readdirSync, rmSync } from "node:fs";
|
|
|
3
3
|
import { homedir as osHomedir, hostname, platform, release } from "node:os";
|
|
4
4
|
import { basename, join } from "node:path";
|
|
5
5
|
import { buildRootManifest, joinMachine, mergeRecordAuth, resumeMachine, scopedAmalgmDir, userMachineDir, } from "@amalgm/core/identity";
|
|
6
|
+
import { addFilesWorkspace, } from "@amalgm/live/files";
|
|
6
7
|
import { atomicJson, atomicJsonSet, ensurePrivateDir, readJson, } from "./filesystem.js";
|
|
7
8
|
import { createGateway } from "./gateway.js";
|
|
8
9
|
import { createFilesRegisterPorts } from "./files-register-host.js";
|
|
10
|
+
import { callRuntimeCommand, publishRuntimeCommands, unpublishRuntimeCommands, } from "./runtime-command-host.js";
|
|
9
11
|
import { shellReleaseCatalog, shellReleaseVerifier } from "./release-catalog.js";
|
|
10
12
|
import { UserGroundHost } from "./user-ground-host.js";
|
|
11
13
|
/** The production effects around Core's machine-setup operation. It does not
|
|
@@ -88,6 +90,8 @@ export class MachineHost {
|
|
|
88
90
|
tunnelUrl,
|
|
89
91
|
tunnelToken,
|
|
90
92
|
runtimeVersion: this.options.runtimeVersion,
|
|
93
|
+
openWatch: this.options.openWatch,
|
|
94
|
+
onWatchHealth: this.options.onWatchHealth,
|
|
91
95
|
});
|
|
92
96
|
return this.groundHost.port.converge(identity);
|
|
93
97
|
},
|
|
@@ -137,6 +141,41 @@ export class MachineHost {
|
|
|
137
141
|
throw new Error("Files commands require a resumed authenticated machine");
|
|
138
142
|
return this.groundHost.filesCommandPorts();
|
|
139
143
|
}
|
|
144
|
+
/** Materialize through Live and prove the same runtime owns ongoing Watch. */
|
|
145
|
+
async addWorkspace(workspaceId, destinationParent) {
|
|
146
|
+
if (!this.groundHost)
|
|
147
|
+
throw new Error("add requires a running authenticated runtime");
|
|
148
|
+
const added = await addFilesWorkspace(workspaceId, destinationParent, this.groundHost.filesCommandPorts().add);
|
|
149
|
+
return { ...added, watch: this.groundHost.addedWorkspaceEvidence(added.workspaceId) };
|
|
150
|
+
}
|
|
151
|
+
watchEvidence() {
|
|
152
|
+
if (!this.groundHost)
|
|
153
|
+
throw new Error("Watch evidence requires a running authenticated runtime");
|
|
154
|
+
return this.groundHost.watchEvidence();
|
|
155
|
+
}
|
|
156
|
+
coverWorkspace(workspaceId) {
|
|
157
|
+
if (!this.groundHost)
|
|
158
|
+
throw new Error("Watch coverage requires a running authenticated runtime");
|
|
159
|
+
return this.groundHost.coverWorkspaceEvidence(workspaceId);
|
|
160
|
+
}
|
|
161
|
+
async callFilesRuntime(path, body) {
|
|
162
|
+
this.resolveUserForResume();
|
|
163
|
+
const machine = await this.loadMachine();
|
|
164
|
+
if (!machine?.ready)
|
|
165
|
+
throw new Error("Files commands require a ready authenticated machine");
|
|
166
|
+
const record = mergeRecordAuth(machine.publicRecord, machine.secretAuth) ?? {};
|
|
167
|
+
const userEmail = normalizeEmail(record.user_email);
|
|
168
|
+
const deviceId = text(record.device_id);
|
|
169
|
+
if (!userEmail || !deviceId || userEmail !== this.requireSelectedUser()) {
|
|
170
|
+
throw new Error("stored machine identity does not match this user and physical device");
|
|
171
|
+
}
|
|
172
|
+
return callRuntimeCommand({
|
|
173
|
+
userRoot: this.paths().userRoot,
|
|
174
|
+
deviceId,
|
|
175
|
+
runtimeLabel: this.options.runtimeLabel ?? "main",
|
|
176
|
+
userScope: userEmail,
|
|
177
|
+
}, path, body);
|
|
178
|
+
}
|
|
140
179
|
/** Registration is a local declaration, so it proves the selected machine
|
|
141
180
|
* from disk without starting Watch, SQLite convergence, or a cloud wire. */
|
|
142
181
|
async filesRegisterPorts() {
|
|
@@ -151,44 +190,6 @@ export class MachineHost {
|
|
|
151
190
|
}
|
|
152
191
|
return createFilesRegisterPorts({ userRoot: paths.userRoot, deviceId });
|
|
153
192
|
}
|
|
154
|
-
/** Download effects need authenticated cloud/cache access, but not a second
|
|
155
|
-
* login convergence or a pre-download Watch scan. */
|
|
156
|
-
async filesAddPorts() {
|
|
157
|
-
this.resolveUserForResume();
|
|
158
|
-
const machine = await this.loadMachine();
|
|
159
|
-
if (!machine?.ready)
|
|
160
|
-
throw new Error("Files commands require a ready authenticated machine");
|
|
161
|
-
const record = mergeRecordAuth(machine.publicRecord, machine.secretAuth) ?? {};
|
|
162
|
-
const identity = {
|
|
163
|
-
userId: text(record.user_id),
|
|
164
|
-
userEmail: normalizeEmail(record.user_email),
|
|
165
|
-
deviceId: text(record.device_id),
|
|
166
|
-
};
|
|
167
|
-
const tunnelUrl = text(record.tunnel_url);
|
|
168
|
-
const tunnelToken = text(record.tunnel_token);
|
|
169
|
-
const paths = this.paths();
|
|
170
|
-
if (!identity.userId || !identity.userEmail || !identity.deviceId || !tunnelUrl || !tunnelToken) {
|
|
171
|
-
throw new Error("Files command identity or tunnel credentials are incomplete");
|
|
172
|
-
}
|
|
173
|
-
if (identity.userEmail !== this.requireSelectedUser()
|
|
174
|
-
|| identity.deviceId !== basename(paths.machineDir)) {
|
|
175
|
-
throw new Error("stored machine identity does not match this user and physical device");
|
|
176
|
-
}
|
|
177
|
-
await this.groundHost?.close({ catchUp: false });
|
|
178
|
-
this.groundHost = new UserGroundHost({
|
|
179
|
-
amalgmRoot: this.amalgmRoot,
|
|
180
|
-
deviceId: identity.deviceId,
|
|
181
|
-
tunnelUrl,
|
|
182
|
-
tunnelToken,
|
|
183
|
-
runtimeVersion: this.options.runtimeVersion,
|
|
184
|
-
});
|
|
185
|
-
this.groundHost.openFilesCommand({
|
|
186
|
-
userId: identity.userId,
|
|
187
|
-
userEmail: identity.userEmail,
|
|
188
|
-
deviceId: identity.deviceId,
|
|
189
|
-
});
|
|
190
|
-
return this.groundHost.filesCommandPorts().add;
|
|
191
|
-
}
|
|
192
193
|
async close(options = {}) {
|
|
193
194
|
const runtimes = [...this.running];
|
|
194
195
|
this.running.clear();
|
|
@@ -311,7 +312,20 @@ export class MachineHost {
|
|
|
311
312
|
AMALGM_PROXY_TOKEN: proxyToken,
|
|
312
313
|
AMALGM_PROXY_URL: this.options.proxyUrl ?? "https://amalgm-api-proxy-v2.fly.dev",
|
|
313
314
|
};
|
|
314
|
-
const gateway = createGateway({
|
|
315
|
+
const gateway = createGateway({
|
|
316
|
+
env,
|
|
317
|
+
mounts: [
|
|
318
|
+
{
|
|
319
|
+
prefix: "/entities/add",
|
|
320
|
+
handle: (body) => this.addWorkspace(bodyText(body, "uuid"), bodyText(body, "path")),
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
prefix: "/entities/watch",
|
|
324
|
+
handle: (body) => Promise.resolve(this.coverWorkspace(bodyText(body, "uuid"))),
|
|
325
|
+
},
|
|
326
|
+
],
|
|
327
|
+
});
|
|
328
|
+
let commandPublication = null;
|
|
315
329
|
try {
|
|
316
330
|
if (!this.groundHost)
|
|
317
331
|
throw new Error("Files must converge before the runtime starts");
|
|
@@ -323,6 +337,15 @@ export class MachineHost {
|
|
|
323
337
|
if (!address || typeof address === "string")
|
|
324
338
|
throw new Error("runtime gateway did not bind a TCP port");
|
|
325
339
|
await this.groundHost.activateRuntimeTunnel(address.port, runtimeToken);
|
|
340
|
+
commandPublication = {
|
|
341
|
+
userRoot: this.paths(userEmail).userRoot,
|
|
342
|
+
deviceId,
|
|
343
|
+
runtimeLabel: this.options.runtimeLabel ?? "main",
|
|
344
|
+
userScope: userEmail,
|
|
345
|
+
port: address.port,
|
|
346
|
+
token: runtimeToken,
|
|
347
|
+
};
|
|
348
|
+
publishRuntimeCommands(commandPublication);
|
|
326
349
|
const running = {
|
|
327
350
|
evidence: {
|
|
328
351
|
userId,
|
|
@@ -334,6 +357,8 @@ export class MachineHost {
|
|
|
334
357
|
},
|
|
335
358
|
stop: async () => {
|
|
336
359
|
this.running.delete(running);
|
|
360
|
+
if (commandPublication)
|
|
361
|
+
unpublishRuntimeCommands(commandPublication);
|
|
337
362
|
await this.groundHost?.stopRuntimeTunnel();
|
|
338
363
|
const closed = new Promise((resolve) => gateway.close(() => resolve()));
|
|
339
364
|
gateway.closeAllConnections();
|
|
@@ -344,6 +369,8 @@ export class MachineHost {
|
|
|
344
369
|
return running;
|
|
345
370
|
}
|
|
346
371
|
catch (error) {
|
|
372
|
+
if (commandPublication)
|
|
373
|
+
unpublishRuntimeCommands(commandPublication);
|
|
347
374
|
await this.groundHost?.stopRuntimeTunnel().catch(() => undefined);
|
|
348
375
|
if (gateway.listening) {
|
|
349
376
|
const closed = new Promise((resolve) => gateway.close(() => resolve()));
|
|
@@ -361,6 +388,15 @@ function normalizeEmail(value) {
|
|
|
361
388
|
function text(value) {
|
|
362
389
|
return typeof value === "string" ? value.trim() : "";
|
|
363
390
|
}
|
|
391
|
+
function bodyText(body, key) {
|
|
392
|
+
if (!body || typeof body !== "object" || Array.isArray(body)) {
|
|
393
|
+
throw new Error("Files runtime requires a JSON object");
|
|
394
|
+
}
|
|
395
|
+
const value = text(body[key]);
|
|
396
|
+
if (!value)
|
|
397
|
+
throw new Error(`${key} is required`);
|
|
398
|
+
return value;
|
|
399
|
+
}
|
|
364
400
|
async function postJson(baseUrl, path, body, token = "") {
|
|
365
401
|
const response = await fetch(`${baseUrl.replace(/\/$/, "")}${path}`, {
|
|
366
402
|
method: "POST",
|