@amalgm/shell 0.1.164-preview.37557324064 → 0.1.164-preview.39065883831
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 +16 -19
- package/README.md +24 -5
- package/dist/agent-execution.d.ts +1 -3
- package/dist/agent-execution.js +2 -2
- package/dist/agent-execution.js.map +1 -1
- package/dist/apply-recovery.js +2 -1
- package/dist/apply-recovery.js.map +1 -1
- package/dist/authorization/index.d.ts +7 -7
- package/dist/authorization/index.js +3 -3
- package/dist/authorization/index.js.map +1 -1
- package/dist/authorization/recovery-host.d.ts +2 -1
- package/dist/authorization/recovery-host.js +1 -1
- package/dist/authorization/recovery-host.js.map +1 -1
- package/dist/browser-host.d.ts +1 -1
- package/dist/chat-composition.d.ts +8 -3
- package/dist/chat-composition.js +8 -5
- package/dist/chat-composition.js.map +1 -1
- package/dist/chat-host.d.ts +3 -0
- package/dist/chat-host.js +3 -0
- package/dist/chat-host.js.map +1 -1
- package/dist/cli.js +26 -14
- package/dist/cli.js.map +1 -1
- package/dist/content-clock.js +2 -1
- package/dist/content-clock.js.map +1 -1
- package/dist/credentials-host.d.ts +0 -1
- package/dist/credentials-host.js +0 -3
- package/dist/credentials-host.js.map +1 -1
- package/dist/detection/identity-discovery.js +3 -3
- package/dist/detection/identity-discovery.js.map +1 -1
- package/dist/detection/repository-routes.js +2 -1
- package/dist/detection/repository-routes.js.map +1 -1
- package/dist/detection/runtime.js +4 -3
- package/dist/detection/runtime.js.map +1 -1
- package/dist/detection/sharing-policy.js +3 -2
- package/dist/detection/sharing-policy.js.map +1 -1
- package/dist/detection/walk-law.d.ts +5 -4
- package/dist/detection/walk-law.js +8 -6
- package/dist/detection/walk-law.js.map +1 -1
- package/dist/entity-apply-host.js +3 -2
- package/dist/entity-apply-host.js.map +1 -1
- package/dist/files-browser-host.js +5 -0
- package/dist/files-browser-host.js.map +1 -1
- package/dist/files-register-host.d.ts +2 -2
- package/dist/files-register-host.js +3 -6
- package/dist/files-register-host.js.map +1 -1
- package/dist/git-capture.d.ts +0 -4
- package/dist/git-capture.js +7 -2
- package/dist/git-capture.js.map +1 -1
- package/dist/git-checkpoint-construction.d.ts +0 -3
- package/dist/git-checkpoint-construction.js +3 -2
- package/dist/git-checkpoint-construction.js.map +1 -1
- package/dist/git-checkpoint-preparation.js +5 -4
- package/dist/git-checkpoint-preparation.js.map +1 -1
- package/dist/git-index-entries.d.ts +0 -1
- package/dist/git-index-entries.js +0 -1
- package/dist/git-index-entries.js.map +1 -1
- package/dist/git-literal-replay.js +5 -4
- package/dist/git-literal-replay.js.map +1 -1
- package/dist/git-registration-host.js +3 -3
- package/dist/git-registration-host.js.map +1 -1
- package/dist/git-repository-host.js +2 -1
- package/dist/git-repository-host.js.map +1 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/installation/ownership.d.ts +8 -6
- package/dist/installation/ownership.js +23 -15
- package/dist/installation/ownership.js.map +1 -1
- package/dist/local-host.d.ts +7 -1
- package/dist/local-host.js +29 -30
- package/dist/local-host.js.map +1 -1
- package/dist/machine-host.d.ts +11 -18
- package/dist/machine-host.js +105 -142
- package/dist/machine-host.js.map +1 -1
- package/dist/product-cli.d.ts +26 -0
- package/dist/product-cli.js +233 -0
- package/dist/product-cli.js.map +1 -0
- package/dist/pty-host.js +1 -1
- package/dist/pty-host.js.map +1 -1
- package/dist/runtime-command-host.d.ts +0 -4
- package/dist/runtime-command-host.js +5 -23
- package/dist/runtime-command-host.js.map +1 -1
- package/dist/service/cli.js +5 -10
- package/dist/service/cli.js.map +1 -1
- package/dist/service/control.js +1 -1
- package/dist/service/control.js.map +1 -1
- package/dist/service/keepalive.js +0 -2
- package/dist/service/keepalive.js.map +1 -1
- package/dist/service/registration.d.ts +8 -6
- package/dist/service/registration.js +10 -5
- package/dist/service/registration.js.map +1 -1
- package/dist/toolbox-host.js +3 -2
- package/dist/toolbox-host.js.map +1 -1
- package/dist/updates/artifacts.d.ts +0 -3
- package/dist/updates/artifacts.js +7 -15
- package/dist/updates/artifacts.js.map +1 -1
- package/dist/updates/controller.d.ts +2 -2
- package/dist/updates/controller.js +6 -9
- package/dist/updates/controller.js.map +1 -1
- package/dist/user-ground-host.d.ts +10 -6
- package/dist/user-ground-host.js +123 -142
- package/dist/user-ground-host.js.map +1 -1
- package/dist/watching/host.js +7 -1
- package/dist/watching/host.js.map +1 -1
- package/dist/wire-client.d.ts +3 -0
- package/dist/wire-client.js +3 -2
- package/dist/wire-client.js.map +1 -1
- package/dist/workspace-host.d.ts +0 -5
- package/dist/workspace-host.js +3 -3
- package/dist/workspace-host.js.map +1 -1
- package/examinations/native-service.mjs +4 -5
- package/examinations/runtime-upgrade.native-test.mjs +70 -38
- package/npm-shrinkwrap.json +102 -92
- package/package.json +13 -14
- package/skills/shell/SKILL.md +38 -12
- package/dist/automations-host.d.ts +0 -19
- package/dist/automations-host.js +0 -41
- package/dist/automations-host.js.map +0 -1
- package/dist/boot.d.ts +0 -49
- package/dist/boot.js +0 -292
- package/dist/boot.js.map +0 -1
- package/dist/bundle-apps.d.ts +0 -12
- package/dist/bundle-apps.js +0 -71
- package/dist/bundle-apps.js.map +0 -1
- package/dist/bundle-automations.d.ts +0 -8
- package/dist/bundle-automations.js +0 -115
- package/dist/bundle-automations.js.map +0 -1
- package/dist/bundle-bindings.d.ts +0 -8
- package/dist/bundle-bindings.js +0 -101
- package/dist/bundle-bindings.js.map +0 -1
- package/dist/bundle-port.d.ts +0 -14
- package/dist/bundle-port.js +0 -166
- package/dist/bundle-port.js.map +0 -1
- package/dist/compose.d.ts +0 -32
- package/dist/compose.js +0 -41
- package/dist/compose.js.map +0 -1
- package/dist/diagnostics-host.d.ts +0 -3
- package/dist/diagnostics-host.js +0 -92
- package/dist/diagnostics-host.js.map +0 -1
- package/dist/event-triggers-host.d.ts +0 -4
- package/dist/event-triggers-host.js +0 -48
- package/dist/event-triggers-host.js.map +0 -1
- package/dist/external-proxy-host.d.ts +0 -15
- package/dist/external-proxy-host.js +0 -167
- package/dist/external-proxy-host.js.map +0 -1
- package/dist/installation/layout.d.ts +0 -5
- package/dist/installation/layout.js +0 -18
- package/dist/installation/layout.js.map +0 -1
- package/dist/parity.d.ts +0 -36
- package/dist/parity.js +0 -71
- package/dist/parity.js.map +0 -1
- package/dist/ports-host.d.ts +0 -8
- package/dist/ports-host.js +0 -26
- package/dist/ports-host.js.map +0 -1
package/PURPOSE.md
CHANGED
|
@@ -283,12 +283,13 @@ computer. Every Shell startup composes Live's durable folder-link registry and
|
|
|
283
283
|
Core's snapshot/event projection together, including when Files has no cloud rail.
|
|
284
284
|
One folder remains a direct link; a named group remembers its selected child;
|
|
285
285
|
neither registration nor removal copies, moves, or deletes the linked contents.
|
|
286
|
-
The
|
|
286
|
+
The user's `workspaces/` folder exists before an unscoped chat can use it as its cwd.
|
|
287
287
|
It is the one default folder: agent runs, automation steps, terminals and Email
|
|
288
288
|
start there when nothing else is chosen, and a run started there also receives
|
|
289
289
|
every registered folder outside it as an additional directory. Shell gives Chat
|
|
290
290
|
the same folder, so a chat whose chosen folder is gone starts there instead.
|
|
291
|
-
|
|
291
|
+
Each computer keeps these local links in the user's `.amalgm/workspaces.json`
|
|
292
|
+
and their event tail in `.amalgm/state-events.jsonl`.
|
|
292
293
|
The registry file is authoritative. Replacement validates the complete registry,
|
|
293
294
|
flushes private temporary bytes and atomically renames them; a failed write cannot
|
|
294
295
|
publish uncommitted entries from memory, and corrupt state is never treated as empty.
|
|
@@ -440,15 +441,10 @@ The staging barrier composes a writer's acknowledgement only while its exact
|
|
|
440
441
|
physical file remains unchanged, and a retry obtains fresh writer evidence.
|
|
441
442
|
Git materialization requires Git 2.36 or newer to establish its declared writer
|
|
442
443
|
durability before immutable object files are closed.
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
format. Shell refuses that format before installing or starting an owner, or
|
|
448
|
-
initializing machine or user ground; status and removal remain available.
|
|
449
|
-
Stopping its process does not convert its credentials, journals or control files
|
|
450
|
-
into current state or portable content. An owner-certified conversion must
|
|
451
|
-
retire that layout before Shell can open it.
|
|
444
|
+
A lane has one layout, version 2, named by its `.amalgm-root.json`. Shell
|
|
445
|
+
creates that manifest in a lane that holds none yet, and refuses a lane whose
|
|
446
|
+
manifest names another version with a "Reinstall Amalgm" error before it opens
|
|
447
|
+
any of the lane's state. It never converts an older layout.
|
|
452
448
|
|
|
453
449
|
Every UI enters one finite setup operation. It serializes installation setup,
|
|
454
450
|
selects the server-approved account, and either proves adoption without changing
|
|
@@ -1467,8 +1463,9 @@ after adoption.
|
|
|
1467
1463
|
that does not declare Browser must not instantiate Browser state merely
|
|
1468
1464
|
because the SDK is installed. Native cookie adapters use Browser's separate
|
|
1469
1465
|
private credential on `/browser-adapter`; ordinary runtime access cannot
|
|
1470
|
-
read cookie values. Runtime publication names Browser's
|
|
1471
|
-
and shutdown drains live viewers before waiting
|
|
1466
|
+
read cookie values. Runtime publication names Browser's computer-only
|
|
1467
|
+
`.amalgm/browser/` folder, and shutdown drains live viewers before waiting
|
|
1468
|
+
for the gateway to close.
|
|
1472
1469
|
|
|
1473
1470
|
62. **PTY is one authenticated Shell host capability.** The running machine
|
|
1474
1471
|
runtime mounts the Core-owned PTY contract through Shell's native process
|
|
@@ -1480,14 +1477,14 @@ after adoption.
|
|
|
1480
1477
|
this computer connects through the published authenticated loopback
|
|
1481
1478
|
binding; only a different computer uses the remote relay. Electron never
|
|
1482
1479
|
creates a second PTY implementation. A session with no explicit working
|
|
1483
|
-
directory starts
|
|
1480
|
+
directory starts in that signed-in user's `workspaces/` folder.
|
|
1484
1481
|
|
|
1485
1482
|
63. **Chat has one execution path.** Agents resolves an installed identity and
|
|
1486
1483
|
exact immutable revision; Tools resolves the selected catalog revision;
|
|
1487
1484
|
Chat owns the conversation, provider pump, journal, reconnect, usage, and
|
|
1488
|
-
interrupt. Shell mounts Chat's public HTTP adapter in
|
|
1489
|
-
|
|
1490
|
-
|
|
1485
|
+
interrupt. Shell mounts Chat's public HTTP adapter in the signed
|
|
1486
|
+
`MachineHost`; it owns no session store, event translation, or callback
|
|
1487
|
+
driver.
|
|
1491
1488
|
|
|
1492
1489
|
64. **One installation device key and broker serve every local product.**
|
|
1493
1490
|
Before registration, Shell creates one P-256 private key for the physical
|
|
@@ -1517,8 +1514,8 @@ after adoption.
|
|
|
1517
1514
|
the durable credential and device key stay inside Shell.
|
|
1518
1515
|
|
|
1519
1516
|
67. **Portable product deployments and machine coordination are physically
|
|
1520
|
-
separate.** Shell gives Tools
|
|
1521
|
-
|
|
1517
|
+
separate.** Shell gives Tools the user's `toolbox/` folder, one folder
|
|
1518
|
+
per tool, and its computer-only `.amalgm/tools/` folder for the catalog. It
|
|
1522
1519
|
observes each `deployment.activate` operation through Tools' Live surface;
|
|
1523
1520
|
a cloud-capable composition must bind that surface, while local StateRail
|
|
1524
1521
|
events remain presentation evidence rather than cloud authority. Shell
|
package/README.md
CHANGED
|
@@ -24,8 +24,8 @@ and one authenticated `/chat` protocol.
|
|
|
24
24
|
|
|
25
25
|
## Layout
|
|
26
26
|
|
|
27
|
-
- `src/
|
|
28
|
-
|
|
27
|
+
- `src/machine-host.ts` — the one composition root: production effects injected
|
|
28
|
+
into Core's machine setup, and the HTTP/MCP runtime assembled from bricks.
|
|
29
29
|
- `src/runtime-command-host.ts` — authenticated loopback publication and the
|
|
30
30
|
read-only runtime-health contract used by platform adapters.
|
|
31
31
|
- `src/authorization/` — the installation device key, UI issuance adapter, and
|
|
@@ -35,7 +35,7 @@ and one authenticated `/chat` protocol.
|
|
|
35
35
|
- `src/content-direct.ts` — authorized direct-R2 download and local envelope opening.
|
|
36
36
|
- `src/watching/` — the single Node watcher host: physical coverage, routing,
|
|
37
37
|
health, and retry; portable Watch law remains in `@amalgm/live`.
|
|
38
|
-
- `tests/` —
|
|
38
|
+
- `tests/` — adapter, restart, watcher, and two-device examinations.
|
|
39
39
|
|
|
40
40
|
Authorization issuers must be HTTPS origins outside loopback development,
|
|
41
41
|
credential-bearing redirects are rejected, and missing or unreadable stored
|
|
@@ -63,8 +63,8 @@ command restarts the runtime or disconnects the Gateway. Pause waits for sync
|
|
|
63
63
|
workers to stop; resume starts reconciliation in the background. Status reports
|
|
64
64
|
the transition or its error without claiming that files are up to date.
|
|
65
65
|
|
|
66
|
-
The setting is stored in the
|
|
67
|
-
outside installed
|
|
66
|
+
The setting is stored in the user's computer-only folder as `.amalgm/sync.json`,
|
|
67
|
+
outside installed runtime packages. Paused mode keeps the authenticated
|
|
68
68
|
Gateway, computer presence, chat, agents, tools and local file browsing available.
|
|
69
69
|
Register, Add and Sharing explain that sync is paused. It creates no sync host
|
|
70
70
|
and does not read, clear, acknowledge or prune its queues and retained cargo.
|
|
@@ -113,6 +113,10 @@ npx --package @amalgm/shell amalgm automations list --user person@example.com
|
|
|
113
113
|
printf '%s\n' '{"name":"Daily review"}' \
|
|
114
114
|
| npx --package @amalgm/shell amalgm automations create --stdin --user person@example.com
|
|
115
115
|
|
|
116
|
+
# Agents, Tools, Apps and Browser take their MCP tools as commands through the same runtime
|
|
117
|
+
npx --package @amalgm/shell amalgm agents --help
|
|
118
|
+
npx --package @amalgm/shell amalgm apps list --user person@example.com
|
|
119
|
+
|
|
116
120
|
# Share a construct and everything it depends on; --only shares the head alone
|
|
117
121
|
npx --package @amalgm/shell amalgm share app "Design Canvas" --add someone@example.com --role editor --user person@example.com
|
|
118
122
|
|
|
@@ -123,6 +127,18 @@ npx --package @amalgm/shell amalgm unshare app "Design Canvas" --user person@exa
|
|
|
123
127
|
|
|
124
128
|
Requires Node ≥ 24 and npm ≥ 11.19.1 < 12.
|
|
125
129
|
|
|
130
|
+
## Where files live
|
|
131
|
+
|
|
132
|
+
A lane is one folder, `~/amalgm` for production. Its computer-only `.amalgm/`
|
|
133
|
+
holds the device, the installed runtime packages under `rt/`, the launcher's
|
|
134
|
+
`current.json`, and each service's files and leases under `service/<id>/`.
|
|
135
|
+
Each user has one folder under `users/`: their agents, apps, toolbox,
|
|
136
|
+
workspaces and `instructions.md`, plus a computer-only `.amalgm/` holding
|
|
137
|
+
Shell's own files (`computer.json`, `credentials.json`, `runtime.json`, logs
|
|
138
|
+
and so on) and one folder per product. Core's `laneLayout` and `userLayout`
|
|
139
|
+
name every one of these paths; Shell composes them once and hands each product
|
|
140
|
+
exactly its folders. The installer alone owns `~/.amalgm`.
|
|
141
|
+
|
|
126
142
|
## Keep the runtime running
|
|
127
143
|
|
|
128
144
|
`amalgm setup` enrolls the machine and starts its independent OS service.
|
|
@@ -148,6 +164,9 @@ exact `main` owner checks pass. The occurrence generates a unique
|
|
|
148
164
|
prerelease version and records its source SHA; it reruns the owner suite, packs
|
|
149
165
|
once, and installs that tarball on Linux, macOS and Windows before publication.
|
|
150
166
|
`preview` has no checks: a push to it builds, packs and publishes directly.
|
|
167
|
+
A main brick publication probes Platform certification with its pending
|
|
168
|
+
version pinned in `brick_set` before it moves `candidate-main`; probe runs are
|
|
169
|
+
named "Brick probe …" and never publish the Shell.
|
|
151
170
|
The `candidate-main`/`candidate-preview` tags are release-assembly inputs and
|
|
152
171
|
never select installed runtimes. `package.json` declares this owner's gates,
|
|
153
172
|
CLI probes, peer-only exports and lifecycle permissions. The standalone runner
|
|
@@ -5,9 +5,7 @@ export interface AgentExecutionContext {
|
|
|
5
5
|
readonly agents: Agents;
|
|
6
6
|
readonly toolbox?: Toolbox;
|
|
7
7
|
readonly computerId: string;
|
|
8
|
-
readonly
|
|
9
|
-
readonly amalgmDir?: string;
|
|
10
|
-
readonly workspaces?: WorkspaceScope;
|
|
8
|
+
readonly workspaces: WorkspaceScope;
|
|
11
9
|
}
|
|
12
10
|
/** The Workspaces folder: where a run starts when nothing else is chosen. */
|
|
13
11
|
export interface WorkspaceScope {
|
package/dist/agent-execution.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** A run in the Workspaces folder also reaches every registered folder. */
|
|
2
2
|
export function workspaceCwd(options, path) {
|
|
3
|
-
const additionalDirectories =
|
|
3
|
+
const additionalDirectories = path === options.workspaces.root
|
|
4
4
|
? options.workspaces.folders().filter(folder => folder !== path)
|
|
5
5
|
: [];
|
|
6
6
|
return {
|
|
@@ -45,7 +45,7 @@ export function resolveAgentRun(options, installationId, selection = {}) {
|
|
|
45
45
|
toolIds: tools,
|
|
46
46
|
...(definition.toolbox.exposure ? { exposure: definition.toolbox.exposure } : {}),
|
|
47
47
|
},
|
|
48
|
-
cwd: workspaceCwd(options, definition.workspace.cwd || options.workspaces
|
|
48
|
+
cwd: workspaceCwd(options, definition.workspace.cwd || options.workspaces.root),
|
|
49
49
|
permissionMode: definition.metadata["permissionMode"] === "ask" ? "ask" : "full_access",
|
|
50
50
|
computerId: options.computerId,
|
|
51
51
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-execution.js","sourceRoot":"","sources":["../src/agent-execution.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agent-execution.js","sourceRoot":"","sources":["../src/agent-execution.ts"],"names":[],"mappings":"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"}
|
package/dist/apply-recovery.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* These are recovery evidence, never a second entity inventory or shared state. */
|
|
3
3
|
import { readFileSync } from "node:fs";
|
|
4
4
|
import { dirname, isAbsolute, join } from "node:path";
|
|
5
|
+
import { LOCAL_DIR_NAME } from "@amalgm/core/identity";
|
|
5
6
|
import { assertApplyIntent, assertRecord, } from "@amalgm/live";
|
|
6
7
|
import { atomicJson } from "./filesystem.js";
|
|
7
8
|
/** The frozen remainder as identity entries relative to the source root. */
|
|
@@ -42,7 +43,7 @@ function validatePreimage(value) {
|
|
|
42
43
|
}
|
|
43
44
|
/** Each receipt lives in its binding's reserved control tree, so the
|
|
44
45
|
* binding it serves is known before the receipt can be read. */
|
|
45
|
-
export const applyControlDirectory = (root, intent) => join(root,
|
|
46
|
+
export const applyControlDirectory = (root, intent) => join(root, LOCAL_DIR_NAME, "apply", `${intent.entityId}-${intent.throughSequence}`);
|
|
46
47
|
/** The binding root whose control tree holds `control`. */
|
|
47
48
|
export const applyControlRoot = (control) => dirname(dirname(dirname(control)));
|
|
48
49
|
export function readApplyRecovery(control, intent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apply-recovery.js","sourceRoot":"","sources":["../src/apply-recovery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"apply-recovery.js","sourceRoot":"","sources":["../src/apply-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { type DeviceKeyRecoveryStores } from "./recovery.js";
|
|
|
4
4
|
export { requestAuthorizationKeyRecovery } from "./recovery-client.js";
|
|
5
5
|
export type { AuthorizationRecoveryClientOptions } from "./recovery-client.js";
|
|
6
6
|
export interface ShellAuthorizationOptions {
|
|
7
|
-
/**
|
|
8
|
-
readonly
|
|
7
|
+
/** The lane's device-key folder (Core `laneLayout().authorization`). */
|
|
8
|
+
readonly dir: string;
|
|
9
9
|
readonly appUrl: string;
|
|
10
10
|
readonly computerAuthToken: string;
|
|
11
11
|
readonly computerId: string;
|
|
@@ -17,28 +17,28 @@ export interface ShellAuthorizationOptions {
|
|
|
17
17
|
readonly random?: () => number;
|
|
18
18
|
}
|
|
19
19
|
export declare function loadInstallationDeviceKey(options: Readonly<{
|
|
20
|
-
|
|
20
|
+
dir: string;
|
|
21
21
|
deviceId: string;
|
|
22
22
|
platform?: NodeJS.Platform;
|
|
23
23
|
keyStore?: DeviceKeyStore;
|
|
24
24
|
nowMs?: () => number;
|
|
25
25
|
}>): Promise<import("./device-key.js").DeviceKey>;
|
|
26
26
|
export declare function requireInstallationDeviceKey(options: Readonly<{
|
|
27
|
-
|
|
27
|
+
dir: string;
|
|
28
28
|
deviceId: string;
|
|
29
29
|
platform?: NodeJS.Platform;
|
|
30
30
|
keyStore?: DeviceKeyStore;
|
|
31
31
|
nowMs?: () => number;
|
|
32
32
|
}>): Promise<import("./device-key.js").DeviceKey>;
|
|
33
33
|
export declare function installationDeviceKeyStores(options: Readonly<{
|
|
34
|
-
|
|
34
|
+
dir: string;
|
|
35
35
|
deviceId: string;
|
|
36
36
|
platform?: NodeJS.Platform;
|
|
37
37
|
keyStore?: DeviceKeyStore;
|
|
38
38
|
recoveryKeyStore?: DeviceKeyStore;
|
|
39
39
|
}>): DeviceKeyRecoveryStores;
|
|
40
40
|
export declare function stageInstallationDeviceKeyRecovery(options: Readonly<{
|
|
41
|
-
|
|
41
|
+
dir: string;
|
|
42
42
|
deviceId: string;
|
|
43
43
|
platform?: NodeJS.Platform;
|
|
44
44
|
keyStore?: DeviceKeyStore;
|
|
@@ -46,7 +46,7 @@ export declare function stageInstallationDeviceKeyRecovery(options: Readonly<{
|
|
|
46
46
|
nowMs?: () => number;
|
|
47
47
|
}>): Promise<import("./device-key.js").DeviceKey>;
|
|
48
48
|
export declare function promoteInstallationDeviceKeyRecovery(options: Readonly<{
|
|
49
|
-
|
|
49
|
+
dir: string;
|
|
50
50
|
deviceId: string;
|
|
51
51
|
acceptedKeyThumbprint: string;
|
|
52
52
|
platform?: NodeJS.Platform;
|
|
@@ -7,7 +7,7 @@ import { promoteDeviceKeyRecovery, stageDeviceKeyRecovery, } from "./recovery.js
|
|
|
7
7
|
export { requestAuthorizationKeyRecovery } from "./recovery-client.js";
|
|
8
8
|
export async function loadInstallationDeviceKey(options) {
|
|
9
9
|
const store = options.keyStore ?? createDeviceKeyStore({
|
|
10
|
-
file: join(options.
|
|
10
|
+
file: join(options.dir, "device-key.json"),
|
|
11
11
|
account: `device:${options.deviceId}`,
|
|
12
12
|
...(options.platform ? { platform: options.platform } : {}),
|
|
13
13
|
});
|
|
@@ -21,12 +21,12 @@ export function installationDeviceKeyStores(options) {
|
|
|
21
21
|
const platform = options.platform ? { platform: options.platform } : {};
|
|
22
22
|
return Object.freeze({
|
|
23
23
|
active: options.keyStore ?? createDeviceKeyStore({
|
|
24
|
-
file: join(options.
|
|
24
|
+
file: join(options.dir, "device-key.json"),
|
|
25
25
|
account: `device:${options.deviceId}`,
|
|
26
26
|
...platform,
|
|
27
27
|
}),
|
|
28
28
|
pending: options.recoveryKeyStore ?? createDeviceKeyStore({
|
|
29
|
-
file: join(options.
|
|
29
|
+
file: join(options.dir, "device-key-recovery.json"),
|
|
30
30
|
account: `device:${options.deviceId}:recovery`,
|
|
31
31
|
...platform,
|
|
32
32
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authorization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAiBvE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAM9C;IACA,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,IAAI,oBAAoB,CAAC;QACrD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authorization/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ export declare function recoverMachineAuthorization(options: Readonly<{
|
|
|
15
15
|
localSession?: string;
|
|
16
16
|
fallbackName: string;
|
|
17
17
|
fallbackPlatform: string;
|
|
18
|
-
|
|
18
|
+
/** The lane's device-key folder. */
|
|
19
|
+
dir: string;
|
|
19
20
|
platform?: NodeJS.Platform;
|
|
20
21
|
keyStore?: DeviceKeyStore;
|
|
21
22
|
recoveryKeyStore?: DeviceKeyStore;
|
|
@@ -10,7 +10,7 @@ export async function recoverMachineAuthorization(options) {
|
|
|
10
10
|
if (!deviceId || !computerId || !userId)
|
|
11
11
|
throw recoveryError("authorization_recovery_identity_incomplete");
|
|
12
12
|
const keyOptions = {
|
|
13
|
-
|
|
13
|
+
dir: options.dir,
|
|
14
14
|
deviceId,
|
|
15
15
|
...(options.platform ? { platform: options.platform } : {}),
|
|
16
16
|
...(options.keyStore ? { keyStore: options.keyStore } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery-host.js","sourceRoot":"","sources":["../../src/authorization/recovery-host.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,oCAAoC,EACpC,kCAAkC,GACnC,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAWvE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,
|
|
1
|
+
{"version":3,"file":"recovery-host.js","sourceRoot":"","sources":["../../src/authorization/recovery-host.ts"],"names":[],"mappings":"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"}
|
package/dist/browser-host.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import type { BrowserDriver } from "@amalgm/browser";
|
|
|
2
2
|
import { createBrowserMcpTools } from "@amalgm/browser/mcp";
|
|
3
3
|
import type { BrickMount, BrickUpgradeMount } from "./gateway.js";
|
|
4
4
|
export interface BrowserHostConfig {
|
|
5
|
-
/**
|
|
5
|
+
/** This user's Browser folder (Core `userLayout().computer.browser`). */
|
|
6
6
|
readonly root: string;
|
|
7
7
|
/** The amalgm account every session browses as. */
|
|
8
8
|
readonly account: {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Agents } from "@amalgm/agents";
|
|
2
|
+
import type { ResolveCredentialInput, ResolvedCredential, UserLayout } from "@amalgm/core/identity";
|
|
2
3
|
import { type ChatRuntimePort } from "@amalgm/chat";
|
|
3
4
|
import { type PlatformCredentialBroker } from "@amalgm/chat/host";
|
|
4
5
|
import type { Toolbox } from "@amalgm/tools";
|
|
@@ -7,16 +8,20 @@ import { type WorkspaceScope } from "./agent-execution.js";
|
|
|
7
8
|
export interface ShellChatCompositionOptions {
|
|
8
9
|
readonly ownerUserId: string;
|
|
9
10
|
readonly computerId: string;
|
|
10
|
-
|
|
11
|
+
/** The user whose conversations, logs, instructions and Workspaces Chat is handed. */
|
|
12
|
+
readonly user: UserLayout;
|
|
13
|
+
/** The OS account home, where agent CLIs keep their own config. */
|
|
14
|
+
readonly osHome: string;
|
|
11
15
|
readonly agents: Agents;
|
|
12
16
|
readonly toolbox?: Toolbox;
|
|
17
|
+
/** Shell's credential vault, the only one Chat reads. */
|
|
18
|
+
readonly resolveCredential: (input: ResolveCredentialInput) => ResolvedCredential | null;
|
|
13
19
|
readonly runtime?: ChatRuntimePort<any, any>;
|
|
14
20
|
readonly localBaseUrl?: string | (() => string);
|
|
15
21
|
readonly runtimeToken?: string | (() => string);
|
|
16
22
|
readonly credentialBroker?: PlatformCredentialBroker;
|
|
17
23
|
readonly proxyBaseUrl?: string;
|
|
18
|
-
readonly
|
|
19
|
-
readonly workspaces?: WorkspaceScope;
|
|
24
|
+
readonly workspaces: WorkspaceScope;
|
|
20
25
|
}
|
|
21
26
|
/** The one Chat composition used by every Shell host. */
|
|
22
27
|
export declare function createShellChatComposition(options: ShellChatCompositionOptions): Promise<ChatHost>;
|
package/dist/chat-composition.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
-
import { join } from "node:path";
|
|
3
2
|
import { createExternalMessageRunner } from "@amalgm/chat";
|
|
4
3
|
import { createChatHost } from "@amalgm/chat/host";
|
|
5
4
|
import { createChatAgentRunner } from "@amalgm/chat/mcp";
|
|
@@ -14,7 +13,13 @@ export async function createShellChatComposition(options) {
|
|
|
14
13
|
const toolExecutions = new ChatToolbox();
|
|
15
14
|
const composed = await createChatHost({
|
|
16
15
|
ownerUserId: options.ownerUserId,
|
|
17
|
-
|
|
16
|
+
dir: options.user.computer.chat,
|
|
17
|
+
logsDir: options.user.computer.logs,
|
|
18
|
+
instructionsFile: options.user.instructions,
|
|
19
|
+
workspacesDir: options.user.workspaces,
|
|
20
|
+
osHome: options.osHome,
|
|
21
|
+
harnessHome: (agentId, harness, authKey) => options.agents.harnessHome(agentId, harness, authKey),
|
|
22
|
+
resolveCredential: options.resolveCredential,
|
|
18
23
|
...(options.runtime ? { runtime: options.runtime } : {
|
|
19
24
|
native: {
|
|
20
25
|
currentComputerId: options.computerId,
|
|
@@ -22,9 +27,6 @@ export async function createShellChatComposition(options) {
|
|
|
22
27
|
runtimeToken: options.runtimeToken,
|
|
23
28
|
credentialBroker: options.credentialBroker,
|
|
24
29
|
proxyBaseUrl: options.proxyBaseUrl,
|
|
25
|
-
amalgmDir: options.amalgmDir,
|
|
26
|
-
workspaces: options.workspaces,
|
|
27
|
-
runtimeHomeRoot: join(options.stateDir, "cli-homes"),
|
|
28
30
|
resolveAgent: (selection) => nativeAgent(options.agents.getAgentRevision(selection.installationId, selection.revisionId), options.agents),
|
|
29
31
|
resolveTools: (selection, contract) => (resolveToolboxServers(options.toolbox, agentToolSelection(options.toolbox, selection, options.agents.getAgentRevision(contract.agent.installationId, contract.agent.revisionId).definition.toolbox), options.localBaseUrl, options.runtimeToken, toolExecutions, contract.permissionMode)),
|
|
30
32
|
},
|
|
@@ -49,6 +51,7 @@ export async function createShellChatComposition(options) {
|
|
|
49
51
|
agentRunner,
|
|
50
52
|
externalMessages,
|
|
51
53
|
prepareChannelDefault: (suggested) => prepareChannelDefault(options, suggested),
|
|
54
|
+
isAgentBusy: composed.isAgentBusy,
|
|
52
55
|
mounts: [toolExecutions.mount()],
|
|
53
56
|
close: async () => { await composed.close(); toolExecutions.close(); },
|
|
54
57
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-composition.js","sourceRoot":"","sources":["../src/chat-composition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-composition.js","sourceRoot":"","sources":["../src/chat-composition.ts"],"names":[],"mappings":"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"}
|
package/dist/chat-host.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface ChatHostConfig {
|
|
|
10
10
|
readonly agentRunner: ChatAgentRunner;
|
|
11
11
|
readonly externalMessages: ExternalMessageRunner;
|
|
12
12
|
readonly prepareChannelDefault: (suggested: ChannelDefaultOffer) => ChannelDefaultOffer | null;
|
|
13
|
+
readonly isAgentBusy: (agentId: string) => boolean;
|
|
13
14
|
readonly close: () => Promise<void>;
|
|
14
15
|
readonly mounts?: readonly BrickMount[];
|
|
15
16
|
}
|
|
@@ -21,6 +22,8 @@ export declare class ChatHost {
|
|
|
21
22
|
readonly externalMessages: ExternalMessageRunner;
|
|
22
23
|
/** The Email default this computer can answer with, or null. */
|
|
23
24
|
readonly prepareChannelDefault: (suggested: ChannelDefaultOffer) => ChannelDefaultOffer | null;
|
|
25
|
+
/** Whether the agent has a turn running or a warm harness process. */
|
|
26
|
+
readonly isAgentBusy: (agentId: string) => boolean;
|
|
24
27
|
constructor(config: ChatHostConfig);
|
|
25
28
|
mounts(): readonly BrickMount[];
|
|
26
29
|
close(): Promise<void>;
|
package/dist/chat-host.js
CHANGED
|
@@ -5,6 +5,8 @@ export class ChatHost {
|
|
|
5
5
|
externalMessages;
|
|
6
6
|
/** The Email default this computer can answer with, or null. */
|
|
7
7
|
prepareChannelDefault;
|
|
8
|
+
/** Whether the agent has a turn running or a warm harness process. */
|
|
9
|
+
isAgentBusy;
|
|
8
10
|
#close;
|
|
9
11
|
#mount;
|
|
10
12
|
#auxiliary;
|
|
@@ -13,6 +15,7 @@ export class ChatHost {
|
|
|
13
15
|
this.agentRunner = config.agentRunner;
|
|
14
16
|
this.externalMessages = config.externalMessages;
|
|
15
17
|
this.prepareChannelDefault = config.prepareChannelDefault;
|
|
18
|
+
this.isAgentBusy = config.isAgentBusy;
|
|
16
19
|
this.#close = config.close;
|
|
17
20
|
this.#auxiliary = config.mounts || [];
|
|
18
21
|
this.#mount = {
|
package/dist/chat-host.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-host.js","sourceRoot":"","sources":["../src/chat-host.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-host.js","sourceRoot":"","sources":["../src/chat-host.ts"],"names":[],"mappings":"AAmBA,kDAAkD;AAClD,MAAM,OAAO,QAAQ;IACV,IAAI,CAAiB;IACrB,WAAW,CAAkB;IAC7B,gBAAgB,CAAwB;IACjD,gEAAgE;IACvD,qBAAqB,CAAiE;IAC/F,sEAAsE;IAC7D,WAAW,CAA+B;IAC1C,MAAM,CAAsB;IAC5B,MAAM,CAAa;IACnB,UAAU,CAAwB;IAE3C,YAAY,MAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAChD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG;YACZ,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;SACrF,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
|