@amalgm/shell 0.1.164-preview.35157059187 → 0.1.164-preview.35188094873
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 +2 -2
- package/README.md +7 -0
- package/dist/automations-host.d.ts +2 -0
- package/dist/automations-host.js.map +1 -1
- package/dist/boot.js +15 -20
- package/dist/boot.js.map +1 -1
- package/dist/bundle-automations.d.ts +2 -20
- package/dist/bundle-automations.js +17 -62
- package/dist/bundle-automations.js.map +1 -1
- package/dist/bundle-port.d.ts +2 -6
- package/dist/bundle-port.js +13 -15
- package/dist/bundle-port.js.map +1 -1
- package/dist/cli.js +51 -22
- package/dist/cli.js.map +1 -1
- package/dist/construct-apply-host.d.ts +61 -0
- package/dist/construct-apply-host.js +103 -0
- package/dist/construct-apply-host.js.map +1 -0
- package/dist/construct-door.d.ts +37 -0
- package/dist/construct-door.js +51 -0
- package/dist/construct-door.js.map +1 -0
- package/dist/construct-ledger.d.ts +26 -0
- package/dist/construct-ledger.js +86 -0
- package/dist/construct-ledger.js.map +1 -0
- package/dist/construct-products.d.ts +22 -0
- package/dist/construct-products.js +30 -0
- package/dist/construct-products.js.map +1 -0
- package/dist/entity-access-wire.d.ts +32 -0
- package/dist/entity-access-wire.js +153 -0
- package/dist/entity-access-wire.js.map +1 -0
- package/dist/entity-apply-host.d.ts +9 -1
- package/dist/entity-apply-host.js +20 -2
- package/dist/entity-apply-host.js.map +1 -1
- package/dist/entity-channel-holdings.d.ts +26 -0
- package/dist/entity-channel-holdings.js +52 -0
- package/dist/entity-channel-holdings.js.map +1 -0
- package/dist/entity-record-observability.js +21 -0
- package/dist/entity-record-observability.js.map +1 -1
- package/dist/entity-record-store.d.ts +8 -3
- package/dist/entity-record-store.js +28 -1
- package/dist/entity-record-store.js.map +1 -1
- package/dist/installation/environment.d.ts +0 -2
- package/dist/installation/environment.js +0 -4
- package/dist/installation/environment.js.map +1 -1
- package/dist/machine-host.d.ts +4 -5
- package/dist/machine-host.js +63 -81
- package/dist/machine-host.js.map +1 -1
- package/dist/runtime-command-host.d.ts +3 -1
- package/dist/runtime-command-host.js +2 -1
- package/dist/runtime-command-host.js.map +1 -1
- package/dist/sharing-host.d.ts +19 -0
- package/dist/sharing-host.js +19 -0
- package/dist/sharing-host.js.map +1 -0
- package/dist/sharing-mcp-host.d.ts +23 -0
- package/dist/{descriptor-mcp-host.js → sharing-mcp-host.js} +23 -9
- package/dist/sharing-mcp-host.js.map +1 -0
- package/dist/user-ground-host.d.ts +29 -3
- package/dist/user-ground-host.js +90 -5
- package/dist/user-ground-host.js.map +1 -1
- package/dist/wire-client.d.ts +0 -9
- package/dist/wire-client.js +0 -13
- package/dist/wire-client.js.map +1 -1
- package/examinations/fixtures/machine-control-plane.js +0 -13
- package/examinations/fixtures/private-wire-authority.js +170 -9
- package/npm-shrinkwrap.json +14 -14
- package/package.json +7 -7
- package/dist/descriptor-mcp-host.d.ts +0 -26
- package/dist/descriptor-mcp-host.js.map +0 -1
- package/dist/installed-automations.d.ts +0 -70
- package/dist/installed-automations.js +0 -135
- package/dist/installed-automations.js.map +0 -1
- package/dist/runtime-mcp-cli-host.d.ts +0 -29
- package/dist/runtime-mcp-cli-host.js +0 -84
- package/dist/runtime-mcp-cli-host.js.map +0 -1
- package/dist/share-host.d.ts +0 -24
- package/dist/share-host.js +0 -34
- package/dist/share-host.js.map +0 -1
package/PURPOSE.md
CHANGED
|
@@ -173,13 +173,13 @@ uses another data home. Windows Task Scheduler owns a hidden action in that
|
|
|
173
173
|
account's logged-in session; the action owns controller exit recovery using
|
|
174
174
|
Core's restart policy. Scheduler launch retries alone cannot recover a program
|
|
175
175
|
that started successfully and then exited.
|
|
176
|
+
The stable bootstrap retains a bounded result for each controller launch role,
|
|
177
|
+
including failures before the controller can open its own log.
|
|
176
178
|
Before launching any controller, the Windows action joins its own unnamed,
|
|
177
179
|
non-inheritable, kill-on-close Job Object; every descendant remains inside that
|
|
178
180
|
lifetime boundary, and only action termination releases its owning handle.
|
|
179
181
|
Failed job admission refuses launch, and stopping one action releases its parked
|
|
180
182
|
bootstrap and descendants without discovering or signalling remembered PIDs.
|
|
181
|
-
The stable bootstrap retains a bounded result for each controller launch role,
|
|
182
|
-
including failures before the controller can open its own log.
|
|
183
183
|
Native service descriptions preserve literal arguments, environment values and
|
|
184
184
|
working directories through the owning OS parser. Each directive uses its own
|
|
185
185
|
grammar; unrepresentable input is refused before replacing a service description.
|
package/README.md
CHANGED
|
@@ -93,6 +93,13 @@ npx --package @amalgm/shell amalgm automations list --user person@example.com
|
|
|
93
93
|
# Create/update inputs can be streamed so credentials never appear in argv
|
|
94
94
|
printf '%s\n' '{"name":"Daily review"}' \
|
|
95
95
|
| npx --package @amalgm/shell amalgm automations create --stdin --user person@example.com
|
|
96
|
+
|
|
97
|
+
# Share a construct and everything it depends on; --only shares the head alone
|
|
98
|
+
npx --package @amalgm/shell amalgm share app "Design Canvas" --add someone@example.com --role editor --user person@example.com
|
|
99
|
+
|
|
100
|
+
# See who can reach it, then revoke everything that share gave
|
|
101
|
+
npx --package @amalgm/shell amalgm access app "Design Canvas" --user person@example.com
|
|
102
|
+
npx --package @amalgm/shell amalgm unshare app "Design Canvas" --user person@example.com
|
|
96
103
|
```
|
|
97
104
|
|
|
98
105
|
Requires Node ≥ 24 and npm ≥ 11.19.1 < 12.
|
|
@@ -6,6 +6,8 @@ export interface AutomationsHostConfig {
|
|
|
6
6
|
principal?: (request: Request) => Promise<AutomationPrincipal>;
|
|
7
7
|
/** Fixed identity used only for portable bundle export/install. */
|
|
8
8
|
bundlePrincipal?: AutomationPrincipal;
|
|
9
|
+
/** Recipient target for installed bundle automations; never inferred. */
|
|
10
|
+
bundleTargetId?: string;
|
|
9
11
|
}
|
|
10
12
|
export declare function automationPrincipal(config: AutomationsHostConfig, request: Request): Promise<AutomationPrincipal>;
|
|
11
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"automations-host.js","sourceRoot":"","sources":["../src/automations-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"automations-host.js","sourceRoot":"","sources":["../src/automations-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAe1D,MAAM,eAAe,GAAwB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;AAEhF,MAAM,UAAU,mBAAmB,CACjC,MAA6B,EAC7B,OAAgB;IAEhB,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AACzF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC;KAChE,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,cAAc;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC;YACxD,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YACvD,CAAC;YACD,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAe,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,8BAA8B,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE;gBACjF,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;aACjG,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;YACpC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/E,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/boot.js
CHANGED
|
@@ -3,7 +3,7 @@ import { join } from "node:path";
|
|
|
3
3
|
import { Agents, listAgentConfigs } from "@amalgm/agents";
|
|
4
4
|
import { createRestServer } from "@amalgm/agents/http";
|
|
5
5
|
import { createMcpServer as createAgentsMcp, createMcpTools as createAgentsMcpTools } from "@amalgm/agents/mcp";
|
|
6
|
-
import { createMcpServer as createAppsMcp, createMcpTools as createAppsMcpTools
|
|
6
|
+
import { createMcpServer as createAppsMcp, createMcpTools as createAppsMcpTools } from "@amalgm/apps";
|
|
7
7
|
import { createAppsHttpServer } from "@amalgm/apps/http";
|
|
8
8
|
import { createAutomationMcpServer } from "@amalgm/automations/mcp";
|
|
9
9
|
import { createBrowser, } from "@amalgm/browser";
|
|
@@ -22,7 +22,6 @@ import { createShellChatComposition } from "./chat-composition.js";
|
|
|
22
22
|
import { connectOfficialMcpServer } from "./official-mcp-host.js";
|
|
23
23
|
import { platformToolDefinitions } from "./platform-tools.js";
|
|
24
24
|
import { createShellBundlePort } from "./bundle-port.js";
|
|
25
|
-
import { InstalledAutomations } from "./installed-automations.js";
|
|
26
25
|
import { composeShell } from "./compose.js";
|
|
27
26
|
import { createCredentialVault, credentialVaultMounts } from "./credentials-host.js";
|
|
28
27
|
import { createShellToolsMcp } from "./toolbox-host.js";
|
|
@@ -48,7 +47,6 @@ import { createWorkspaceHost, workspacePathHost } from "./workspace-host.js";
|
|
|
48
47
|
export async function bootShell(config = {}) {
|
|
49
48
|
const { stateDirs, userDir, deviceId } = composeShell(config);
|
|
50
49
|
const env = config.env ?? process.env;
|
|
51
|
-
const computerId = String(env.AMALGM_COMPUTER_ID || deviceId);
|
|
52
50
|
const token = config.runtimeToken ?? runtimeTokenFromEnv(env) ?? "shell-internal";
|
|
53
51
|
const home = config.homedir ?? homedir();
|
|
54
52
|
const pty = createPtyHost({ env, defaultCwd: home });
|
|
@@ -73,23 +71,12 @@ export async function bootShell(config = {}) {
|
|
|
73
71
|
browser: { tools: createBrowserMcpTools({}) },
|
|
74
72
|
products: { automations: Boolean(config.automations), channels: false },
|
|
75
73
|
});
|
|
76
|
-
const apps = createAppsMcp({
|
|
77
|
-
stateDir: stateDirs.apps,
|
|
78
|
-
onChange: (app) => state.append({
|
|
79
|
-
resource: "apps",
|
|
80
|
-
op: "deleted" in app ? "delete" : "update",
|
|
81
|
-
id: app.id,
|
|
82
|
-
...("deleted" in app ? {} : { value: app }),
|
|
83
|
-
source: "apps",
|
|
84
|
-
}),
|
|
85
|
-
});
|
|
86
74
|
const credentialVault = createCredentialVault(join(userMachineDir(userDir, deviceId), "credentials"));
|
|
87
75
|
const tools = await createShellToolsMcp({
|
|
88
76
|
credentials: { get: (ref) => credentialVault.getSecret(ref), set: (ref, value) => credentialVault.putSecret(ref, value), delete: (ref) => credentialVault.deleteSecret(ref) },
|
|
89
77
|
databaseFile: join(runtimeDir, "services", "tools", "tools.db"),
|
|
90
78
|
deploymentDir: stateDirs.toolbox,
|
|
91
79
|
systemTools: [...platformTools],
|
|
92
|
-
environment: (tool) => (tool.appId ? linkedToolEnvironment(apps.apps.get(tool.appId)) : {}),
|
|
93
80
|
onChange: (catalog) => {
|
|
94
81
|
state.append({ resource: "toolbox", op: "replace", value: catalog, source: "toolbox-projection" });
|
|
95
82
|
state.append({ resource: "tools", op: "replace", value: catalog.tools, source: "toolbox-projection" });
|
|
@@ -108,6 +95,16 @@ export async function bootShell(config = {}) {
|
|
|
108
95
|
source: toolDeploymentSurface.contract,
|
|
109
96
|
});
|
|
110
97
|
});
|
|
98
|
+
const apps = createAppsMcp({
|
|
99
|
+
stateDir: stateDirs.apps,
|
|
100
|
+
onChange: (app) => state.append({
|
|
101
|
+
resource: "apps",
|
|
102
|
+
op: "deleted" in app ? "delete" : "update",
|
|
103
|
+
id: app.id,
|
|
104
|
+
...("deleted" in app ? {} : { value: app }),
|
|
105
|
+
source: "apps",
|
|
106
|
+
}),
|
|
107
|
+
});
|
|
111
108
|
const agentsService = new Agents({ stateDir: stateDirs.agents });
|
|
112
109
|
installBuiltinAgents(agentsService, platformTools.map((tool) => tool.id));
|
|
113
110
|
const agents = createAgentsMcp({ agents: agentsService });
|
|
@@ -150,15 +147,13 @@ export async function bootShell(config = {}) {
|
|
|
150
147
|
?? (config.automations && !config.automations.principal
|
|
151
148
|
? { userId: "local", scopes: ["*"] }
|
|
152
149
|
: null);
|
|
153
|
-
// An accepted automation lives and runs on the machine that accepted it.
|
|
154
150
|
const bundlePort = createShellBundlePort({
|
|
155
|
-
apps:
|
|
151
|
+
apps: apps.apps,
|
|
156
152
|
toolbox: tools.toolbox,
|
|
157
153
|
...(config.automations && bundlePrincipal ? {
|
|
158
154
|
automations: {
|
|
159
155
|
crud: config.automations.service.for(bundlePrincipal),
|
|
160
|
-
targetId:
|
|
161
|
-
installed: new InstalledAutomations(join(stateDirs.system, "automations")),
|
|
156
|
+
...(config.automations.bundleTargetId ? { targetId: config.automations.bundleTargetId } : {}),
|
|
162
157
|
},
|
|
163
158
|
} : {}),
|
|
164
159
|
});
|
|
@@ -184,7 +179,7 @@ export async function bootShell(config = {}) {
|
|
|
184
179
|
const proxyBaseUrl = String(env.AMALGM_PROXY_URL || "").trim();
|
|
185
180
|
const chat = await createShellChatComposition({
|
|
186
181
|
ownerUserId: String(env.AMALGM_USER_ID || config.userEmail || config.scope || "local"),
|
|
187
|
-
computerId,
|
|
182
|
+
computerId: String(env.AMALGM_COMPUTER_ID || deviceId),
|
|
188
183
|
stateDir: join(stateDirs.system, "chat"),
|
|
189
184
|
agents: agentsService,
|
|
190
185
|
toolbox: tools.toolbox,
|
|
@@ -233,7 +228,7 @@ export async function bootShell(config = {}) {
|
|
|
233
228
|
workspaceHost.mount,
|
|
234
229
|
filesBrowserMount({
|
|
235
230
|
userEmail: config.userEmail ?? config.scope ?? env.AMALGM_USER_EMAIL ?? "local",
|
|
236
|
-
computerId,
|
|
231
|
+
computerId: env.AMALGM_COMPUTER_ID ?? deviceId,
|
|
237
232
|
userRoot: userDir,
|
|
238
233
|
}),
|
|
239
234
|
localMount({ home, env, amalgmPath: userDir, workspaceRoot }),
|
package/dist/boot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../src/boot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../src/boot.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
import { type AutomationCrud
|
|
2
|
-
import type { InstalledAutomations } from "./installed-automations.js";
|
|
1
|
+
import { type AutomationCrud } from "@amalgm/automations";
|
|
3
2
|
type Json = Record<string, any>;
|
|
4
|
-
/** Action ids a plan calls through the target machine's Toolbox. */
|
|
5
|
-
export declare function planActionIds(plan: AutomationPlan): string[];
|
|
6
3
|
export declare function exportBundleAutomation(crud: AutomationCrud, automationId: string): Promise<{
|
|
7
4
|
entry: Json;
|
|
8
5
|
toolIds: string[];
|
|
9
|
-
bindings: string[];
|
|
10
6
|
}>;
|
|
11
|
-
export
|
|
12
|
-
/** The accepting machine. It is where the automation lives and runs. */
|
|
13
|
-
targetId: string;
|
|
14
|
-
/** Where the accepted automation lands on that machine. */
|
|
15
|
-
installed: InstalledAutomations;
|
|
16
|
-
/** Action ids the target machine's Toolbox can call right now. */
|
|
17
|
-
installedActionIds: ReadonlySet<string>;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Accept automations onto this machine: register each with the service
|
|
21
|
-
* against this machine as the target, then project the registered record to
|
|
22
|
-
* disk. Every entry is checked against the Toolbox before any is registered,
|
|
23
|
-
* so a bundle that cannot run here is refused whole rather than half-created.
|
|
24
|
-
*/
|
|
25
|
-
export declare function installBundleAutomations(crud: AutomationCrud, entries: Json[], target: BundleAutomationInstallTarget): Promise<Json[]>;
|
|
7
|
+
export declare function installBundleAutomations(crud: AutomationCrud, entries: Json[], targetId: string): Promise<Json[]>;
|
|
26
8
|
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import crypto from "node:crypto";
|
|
2
|
-
import { isAbsolute } from "node:path";
|
|
3
2
|
import { compiledAutomationPlan } from "@amalgm/automations";
|
|
4
3
|
function toolIds(value, found = new Set()) {
|
|
5
4
|
if (Array.isArray(value))
|
|
@@ -19,32 +18,6 @@ function toolIds(value, found = new Set()) {
|
|
|
19
18
|
}
|
|
20
19
|
return [...found];
|
|
21
20
|
}
|
|
22
|
-
/** Action ids a plan calls through the target machine's Toolbox. */
|
|
23
|
-
export function planActionIds(plan) {
|
|
24
|
-
const ids = new Set();
|
|
25
|
-
for (const step of plan.steps) {
|
|
26
|
-
if ("actionId" in step && typeof step.actionId === "string")
|
|
27
|
-
ids.add(step.actionId);
|
|
28
|
-
}
|
|
29
|
-
return [...ids];
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* A bundle must not depend on the sharer's machine. Working directories are
|
|
33
|
-
* absolute paths on the machine that ran the automation; strip them and let
|
|
34
|
-
* the recipient's host default to its own home. Each stripped field becomes
|
|
35
|
-
* a binding the recipient can restore deliberately.
|
|
36
|
-
*/
|
|
37
|
-
function portablePlan(plan) {
|
|
38
|
-
const bindings = [];
|
|
39
|
-
const steps = plan.steps.map((step) => {
|
|
40
|
-
if (!("cwd" in step) || typeof step.cwd !== "string" || !isAbsolute(step.cwd))
|
|
41
|
-
return step;
|
|
42
|
-
const { cwd: _cwd, ...rest } = step;
|
|
43
|
-
bindings.push(`steps.${step.id}.cwd`);
|
|
44
|
-
return rest;
|
|
45
|
-
});
|
|
46
|
-
return { plan: { ...plan, steps }, bindings };
|
|
47
|
-
}
|
|
48
21
|
export async function exportBundleAutomation(crud, automationId) {
|
|
49
22
|
const automation = await crud.automations.get(automationId);
|
|
50
23
|
if (!automation)
|
|
@@ -55,8 +28,8 @@ export async function exportBundleAutomation(crud, automationId) {
|
|
|
55
28
|
throw new Error(`Automation has no shareable triggers: ${automationId}`);
|
|
56
29
|
if (!workflow?.script.trim())
|
|
57
30
|
throw new Error(`Automation has no shareable workflow: ${automationId}`);
|
|
58
|
-
const
|
|
59
|
-
const refs = toolIds(
|
|
31
|
+
const plan = compiledAutomationPlan(workflow.compiled);
|
|
32
|
+
const refs = toolIds(plan);
|
|
60
33
|
return {
|
|
61
34
|
entry: {
|
|
62
35
|
sourceAutomationId: automation.id,
|
|
@@ -69,12 +42,11 @@ export async function exportBundleAutomation(crud, automationId) {
|
|
|
69
42
|
}),
|
|
70
43
|
workflows: [{
|
|
71
44
|
name: workflow.name || "Workflow", enabled: true, workflowText: workflow.script,
|
|
72
|
-
compiled:
|
|
45
|
+
compiled: plan, allowlist: workflow.allowlist || {}, limits: workflow.limits || {},
|
|
73
46
|
}],
|
|
74
47
|
toolIds: refs,
|
|
75
48
|
},
|
|
76
49
|
toolIds: refs,
|
|
77
|
-
bindings: portable.bindings,
|
|
78
50
|
};
|
|
79
51
|
}
|
|
80
52
|
async function uniqueName(crud, value) {
|
|
@@ -92,38 +64,22 @@ async function uniqueName(crud, value) {
|
|
|
92
64
|
}
|
|
93
65
|
return `${base} (${crypto.randomUUID().slice(0, 8)})`;
|
|
94
66
|
}
|
|
95
|
-
function
|
|
96
|
-
if (!Array.isArray(entry.triggers) || !entry.triggers.length) {
|
|
97
|
-
throw new Error("automation entry must include at least one trigger");
|
|
98
|
-
}
|
|
99
|
-
if (!Array.isArray(entry.workflows) || entry.workflows.length !== 1) {
|
|
100
|
-
throw new Error("automation entry must include exactly one workflow");
|
|
101
|
-
}
|
|
102
|
-
const workflow = entry.workflows[0];
|
|
103
|
-
if (typeof workflow.workflowText !== "string" || !workflow.workflowText.trim()) {
|
|
104
|
-
throw new Error("automation entry workflows must include workflowText");
|
|
105
|
-
}
|
|
106
|
-
return { workflow, plan: compiledAutomationPlan(workflow.compiled) };
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Accept automations onto this machine: register each with the service
|
|
110
|
-
* against this machine as the target, then project the registered record to
|
|
111
|
-
* disk. Every entry is checked against the Toolbox before any is registered,
|
|
112
|
-
* so a bundle that cannot run here is refused whole rather than half-created.
|
|
113
|
-
*/
|
|
114
|
-
export async function installBundleAutomations(crud, entries, target) {
|
|
115
|
-
const prepared = entries.map((entry) => ({ entry, ...bundleWorkflow(entry) }));
|
|
116
|
-
for (const { entry, plan } of prepared) {
|
|
117
|
-
const missing = planActionIds(plan).filter((actionId) => !target.installedActionIds.has(actionId));
|
|
118
|
-
if (missing.length) {
|
|
119
|
-
const name = String(entry.automation?.name || "automation");
|
|
120
|
-
throw new Error(`Automation "${name}" needs actions this machine does not have: ${missing.join(", ")}`);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
67
|
+
export async function installBundleAutomations(crud, entries, targetId) {
|
|
123
68
|
const installed = [];
|
|
124
|
-
for (const
|
|
69
|
+
for (const entry of entries) {
|
|
70
|
+
if (!Array.isArray(entry.triggers) || !entry.triggers.length) {
|
|
71
|
+
throw new Error("automation entry must include at least one trigger");
|
|
72
|
+
}
|
|
73
|
+
if (!Array.isArray(entry.workflows) || entry.workflows.length !== 1) {
|
|
74
|
+
throw new Error("automation entry must include exactly one workflow");
|
|
75
|
+
}
|
|
76
|
+
const workflow = entry.workflows[0];
|
|
77
|
+
if (typeof workflow.workflowText !== "string" || !workflow.workflowText.trim()) {
|
|
78
|
+
throw new Error("automation entry workflows must include workflowText");
|
|
79
|
+
}
|
|
80
|
+
const plan = compiledAutomationPlan(workflow.compiled);
|
|
125
81
|
const automation = await crud.automations.create({
|
|
126
|
-
targetId
|
|
82
|
+
targetId,
|
|
127
83
|
name: await uniqueName(crud, entry.automation?.name),
|
|
128
84
|
description: entry.automation?.description || "",
|
|
129
85
|
enabled: true,
|
|
@@ -152,7 +108,6 @@ export async function installBundleAutomations(crud, entries, target) {
|
|
|
152
108
|
allowlist: workflow.allowlist || {},
|
|
153
109
|
limits: workflow.limits || {},
|
|
154
110
|
});
|
|
155
|
-
await target.installed.project(crud, automation.id);
|
|
156
111
|
installed.push(JSON.parse(JSON.stringify(automation)));
|
|
157
112
|
}
|
|
158
113
|
return installed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-automations.js","sourceRoot":"","sources":["../src/bundle-automations.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-automations.js","sourceRoot":"","sources":["../src/bundle-automations.ts"],"names":[],"mappings":"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"}
|
package/dist/bundle-port.d.ts
CHANGED
|
@@ -2,16 +2,12 @@ import type { AgentBundlePort } from "@amalgm/agents";
|
|
|
2
2
|
import type { Apps } from "@amalgm/apps";
|
|
3
3
|
import type { AutomationCrud } from "@amalgm/automations";
|
|
4
4
|
import type { Toolbox } from "@amalgm/tools";
|
|
5
|
-
import type { InstalledAutomations } from "./installed-automations.js";
|
|
6
5
|
export interface ShellBundlePortOptions {
|
|
7
|
-
|
|
8
|
-
apps: () => Apps;
|
|
6
|
+
apps: Apps;
|
|
9
7
|
toolbox: Toolbox;
|
|
10
8
|
automations?: {
|
|
11
9
|
crud: AutomationCrud;
|
|
12
|
-
|
|
13
|
-
targetId: string;
|
|
14
|
-
installed: InstalledAutomations;
|
|
10
|
+
targetId?: string;
|
|
15
11
|
};
|
|
16
12
|
}
|
|
17
13
|
/** Host composition for Engine's agent-bundles export/install resource ports. */
|
package/dist/bundle-port.js
CHANGED
|
@@ -20,8 +20,10 @@ function toolDefinition(record, actions, installedAppId) {
|
|
|
20
20
|
source: record.source,
|
|
21
21
|
display: record.display,
|
|
22
22
|
policy: record.policy,
|
|
23
|
-
metadata:
|
|
24
|
-
|
|
23
|
+
metadata: {
|
|
24
|
+
...(record.metadata || {}),
|
|
25
|
+
...(installedAppId ? { appId: installedAppId } : {}),
|
|
26
|
+
},
|
|
25
27
|
actions: actions.map((action) => ({
|
|
26
28
|
id: action.id,
|
|
27
29
|
name: action.name,
|
|
@@ -50,14 +52,11 @@ export function createShellBundlePort(options) {
|
|
|
50
52
|
automationEntries.push(exported.entry);
|
|
51
53
|
toolRefs.push(...exported.toolIds);
|
|
52
54
|
requirements.bindings.push(`automation:${id}:targetId`);
|
|
53
|
-
for (const field of exported.bindings)
|
|
54
|
-
requirements.bindings.push(`automation:${id}:${field}`);
|
|
55
55
|
}
|
|
56
56
|
const catalog = options.toolbox.catalog();
|
|
57
57
|
const toolById = new Map(catalog.tools.map((tool) => [tool.id, tool]));
|
|
58
58
|
const actionById = new Map(catalog.actions.map((action) => [action.id, action]));
|
|
59
|
-
const
|
|
60
|
-
const appById = new Map(apps.list().map((app) => [app.id, app]));
|
|
59
|
+
const appById = new Map(options.apps.list().map((app) => [app.id, app]));
|
|
61
60
|
const toolIds = [];
|
|
62
61
|
const appIds = [...input.appIds];
|
|
63
62
|
const appExports = new Map();
|
|
@@ -75,8 +74,8 @@ export function createShellBundlePort(options) {
|
|
|
75
74
|
else {
|
|
76
75
|
if (!toolIds.includes(tool.id))
|
|
77
76
|
toolIds.push(tool.id);
|
|
78
|
-
const
|
|
79
|
-
|
|
77
|
+
const metadataAppId = typeof tool.metadata?.appId === "string" ? tool.metadata.appId : "";
|
|
78
|
+
const owner = metadataAppId || [...appById.values()].find((app) => app.toolIds.includes(tool.id))?.id;
|
|
80
79
|
if (owner && !appIds.includes(owner))
|
|
81
80
|
appIds.push(owner);
|
|
82
81
|
}
|
|
@@ -85,7 +84,7 @@ export function createShellBundlePort(options) {
|
|
|
85
84
|
const id = appIds[appCursor++];
|
|
86
85
|
if (!appById.has(id))
|
|
87
86
|
throw new Error(`App not found: ${id}`);
|
|
88
|
-
const exported = exportBundleApp(apps, id);
|
|
87
|
+
const exported = exportBundleApp(options.apps, id);
|
|
89
88
|
appExports.set(id, exported);
|
|
90
89
|
for (const toolId of exported.entry.toolIds) {
|
|
91
90
|
if (!toolRefs.includes(toolId))
|
|
@@ -129,7 +128,7 @@ export function createShellBundlePort(options) {
|
|
|
129
128
|
};
|
|
130
129
|
},
|
|
131
130
|
async installResources(bundle) {
|
|
132
|
-
const appResult = await installBundleApps(options.apps
|
|
131
|
+
const appResult = await installBundleApps(options.apps, bundle.apps);
|
|
133
132
|
const warnings = [];
|
|
134
133
|
const installedTools = [];
|
|
135
134
|
const actionsByTool = new Map();
|
|
@@ -150,11 +149,10 @@ export function createShellBundlePort(options) {
|
|
|
150
149
|
if (bundle.automations.length) {
|
|
151
150
|
if (!options.automations)
|
|
152
151
|
throw new Error("Automations bundle install requires an Automations host");
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
});
|
|
152
|
+
if (!options.automations.targetId) {
|
|
153
|
+
throw new Error("Automations bundle install requires an owner-selected targetId");
|
|
154
|
+
}
|
|
155
|
+
installedAutomations = await installBundleAutomations(options.automations.crud, bundle.automations, options.automations.targetId);
|
|
158
156
|
}
|
|
159
157
|
return {
|
|
160
158
|
installedApps: appResult.installed,
|
package/dist/bundle-port.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-port.js","sourceRoot":"","sources":["../src/bundle-port.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"bundle-port.js","sourceRoot":"","sources":["../src/bundle-port.ts"],"names":[],"mappings":"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"}
|