@matthias-hausberger/beige 0.1.3 → 0.2.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/config.schema.json +2 -10
  2. package/dist/channels/tui.d.ts.map +1 -1
  3. package/dist/channels/tui.js +44 -68
  4. package/dist/channels/tui.js.map +1 -1
  5. package/dist/cli.d.ts +1 -2
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +84 -110
  8. package/dist/cli.js.map +1 -1
  9. package/dist/config/loader.d.ts.map +1 -1
  10. package/dist/config/loader.js +39 -35
  11. package/dist/config/loader.js.map +1 -1
  12. package/dist/config/schema.d.ts +4 -6
  13. package/dist/config/schema.d.ts.map +1 -1
  14. package/dist/config/schema.js +17 -9
  15. package/dist/config/schema.js.map +1 -1
  16. package/dist/gateway/agent-manager.d.ts +9 -0
  17. package/dist/gateway/agent-manager.d.ts.map +1 -1
  18. package/dist/gateway/agent-manager.js +31 -29
  19. package/dist/gateway/agent-manager.js.map +1 -1
  20. package/dist/gateway/api.d.ts +4 -0
  21. package/dist/gateway/api.d.ts.map +1 -1
  22. package/dist/gateway/api.js +4 -0
  23. package/dist/gateway/api.js.map +1 -1
  24. package/dist/gateway/gateway.d.ts.map +1 -1
  25. package/dist/gateway/gateway.js +2 -0
  26. package/dist/gateway/gateway.js.map +1 -1
  27. package/dist/gateway/system-prompt.template.md +5 -4
  28. package/dist/tools/installer.d.ts +93 -0
  29. package/dist/tools/installer.d.ts.map +1 -0
  30. package/dist/tools/installer.js +597 -0
  31. package/dist/tools/installer.js.map +1 -0
  32. package/dist/tools/registry.d.ts.map +1 -1
  33. package/dist/tools/registry.js +5 -3
  34. package/dist/tools/registry.js.map +1 -1
  35. package/package.json +2 -1
  36. package/dist/toolkit/index.d.ts +0 -4
  37. package/dist/toolkit/index.d.ts.map +0 -1
  38. package/dist/toolkit/index.js +0 -4
  39. package/dist/toolkit/index.js.map +0 -1
  40. package/dist/toolkit/installer.d.ts +0 -26
  41. package/dist/toolkit/installer.d.ts.map +0 -1
  42. package/dist/toolkit/installer.js +0 -249
  43. package/dist/toolkit/installer.js.map +0 -1
  44. package/dist/toolkit/registry.d.ts +0 -19
  45. package/dist/toolkit/registry.d.ts.map +0 -1
  46. package/dist/toolkit/registry.js +0 -126
  47. package/dist/toolkit/registry.js.map +0 -1
  48. package/dist/toolkit/schema.d.ts +0 -61
  49. package/dist/toolkit/schema.d.ts.map +0 -1
  50. package/dist/toolkit/schema.js +0 -116
  51. package/dist/toolkit/schema.js.map +0 -1
@@ -66,17 +66,13 @@
66
66
  "^(.*)$": {
67
67
  "title": "ToolConfig",
68
68
  "type": "object",
69
- "required": [
70
- "path",
71
- "target"
72
- ],
73
69
  "properties": {
74
70
  "path": {
75
- "description": "Path to the tool package directory. Resolved relative to the config file unless absolute.",
71
+ "description": "Path to the tool package directory. Resolved relative to the config file unless absolute. Auto-resolved for tools installed via 'beige tools install'.",
76
72
  "type": "string"
77
73
  },
78
74
  "target": {
79
- "description": "\"gateway\" runs the handler on the host process. \"sandbox\" is planned.",
75
+ "description": "\"gateway\" runs the handler on the host process. \"sandbox\" is planned. Auto-resolved for tools installed via 'beige tools install'.",
80
76
  "anyOf": [
81
77
  {
82
78
  "const": "gateway",
@@ -94,10 +90,6 @@
94
90
  "patternProperties": {
95
91
  "^(.*)$": {}
96
92
  }
97
- },
98
- "_toolkit": {
99
- "description": "Internal: set by the loader for tools auto-discovered from toolkits",
100
- "type": "string"
101
93
  }
102
94
  }
103
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/channels/tui.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AAmCpE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsBD,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAsI/D"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/channels/tui.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAe,MAAM,qBAAqB,CAAC;AA6CpE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsBD,wBAAsB,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuI/D"}
@@ -4,9 +4,10 @@ import { getModel } from "@mariozechner/pi-ai";
4
4
  import { resolve, basename } from "path";
5
5
  import { mkdirSync } from "fs";
6
6
  import { beigeDir } from "../paths.js";
7
+ import { buildSystemPrompt, readWorkspaceAgentsMd } from "../gateway/agent-manager.js";
7
8
  import { SessionSettingsStore, resolveSessionSetting } from "../gateway/session-settings.js";
8
9
  import { BeigeSessionStore } from "../gateway/sessions.js";
9
- import { loadSkills, buildSkillContext, validateSkillDeps } from "../skills/registry.js";
10
+ import { loadSkills, validateSkillDeps } from "../skills/registry.js";
10
11
  import { RestrictedModelRegistry, buildAllowedModels } from "../config/restricted-model-registry.js";
11
12
  /**
12
13
  * TUI channel — runs in a separate process and connects to the gateway HTTP API.
@@ -120,12 +121,13 @@ export async function launchTUI(opts) {
120
121
  toolStartHandlerRef.fn = makeTUIToolStartHandler();
121
122
  }
122
123
  // ── Build extension and create session ───────────────────
123
- // systemPromptRef is shared between the extension (handleAgent writes to it)
124
- // and createSession (populates it + the resource loader reads from it).
125
- // We create it up front so both can reference the same object.
124
+ // systemPromptRef and agentsFilesRef are shared mutable refs read by the
125
+ // resource loader. They are updated by /beige-agent (switch agent) and by
126
+ // the session_switch handler (re-read AGENTS.md after /new).
126
127
  const systemPromptRef = { value: "" };
127
- const extensionsResult = await buildBeigeExtension(state, agentNames, systemPromptRef);
128
- await createSession(state, extensionsResult, systemPromptRef);
128
+ const agentsFilesRef = { value: [] };
129
+ const extensionsResult = await buildBeigeExtension(state, agentNames, systemPromptRef, agentsFilesRef);
130
+ await createSession(state, extensionsResult, systemPromptRef, agentsFilesRef);
129
131
  if (!state.session) {
130
132
  console.error("[TUI] Failed to create initial session");
131
133
  process.exit(1);
@@ -156,7 +158,7 @@ export async function launchTUI(opts) {
156
158
  * when switching agents so the new context takes effect without recreating the
157
159
  * AgentSession.
158
160
  */
159
- async function createSession(state, extensionsResult, systemPromptRef) {
161
+ async function createSession(state, extensionsResult, systemPromptRef, agentsFilesRef) {
160
162
  const { agentName, agentConfig, gatewayUrl, authStorage, modelRegistry, underlyingModelRegistry, toolStartHandlerRef, loadedSkills } = state;
161
163
  // Fetch agent info from gateway
162
164
  const agentsRes = await fetch(`${gatewayUrl}/api/agents`);
@@ -171,10 +173,15 @@ async function createSession(state, extensionsResult, systemPromptRef) {
171
173
  // Pass a getter so tool calls always route to the currently-active agent,
172
174
  // even after /beige-agent switches state.agentName.
173
175
  const coreTools = createProxyTools(() => state.agentName, gatewayUrl, toolStartHandlerRef);
174
- const toolContext = buildToolContext(toolNames);
175
- const skillContext = buildSkillContext(skillNames, loadedSkills);
176
+ // Use pre-built tool/skill context from the gateway (which has full tool manifests).
177
+ const toolContext = agentInfo?.toolContext ?? "";
178
+ const skillContext = agentInfo?.skillContext ?? "";
176
179
  // Populate the shared mutable ref with the initial system prompt.
177
180
  systemPromptRef.value = buildSystemPrompt(agentName, toolContext, skillContext);
181
+ // Read workspace AGENTS.md so it's injected into the system prompt context.
182
+ const agentDir = resolve(beigeDir(), "agents", agentName);
183
+ const workspaceDir = agentConfig.workspaceDir ?? resolve(agentDir, "workspace");
184
+ agentsFilesRef.value = readWorkspaceAgentsMd(workspaceDir);
178
185
  const sessionsDir = resolve(beigeDir(), "sessions", agentName);
179
186
  // Always start a fresh session. Users can resume via /beige-resume.
180
187
  const sessionManager = SessionManager.create(process.cwd(), sessionsDir);
@@ -183,7 +190,7 @@ async function createSession(state, extensionsResult, systemPromptRef) {
183
190
  getSkills: () => ({ skills: [], diagnostics: [] }),
184
191
  getPrompts: () => ({ prompts: [], diagnostics: [] }),
185
192
  getThemes: () => ({ themes: [], diagnostics: [] }),
186
- getAgentsFiles: () => ({ agentsFiles: [] }),
193
+ getAgentsFiles: () => ({ agentsFiles: agentsFilesRef.value }),
187
194
  // Read from mutable ref so updates from /beige-agent are reflected.
188
195
  getSystemPrompt: () => systemPromptRef.value,
189
196
  getAppendSystemPrompt: () => [],
@@ -215,7 +222,7 @@ async function createSession(state, extensionsResult, systemPromptRef) {
215
222
  /**
216
223
  * Build the inline "beige" extension that registers all TUI commands.
217
224
  */
218
- async function buildBeigeExtension(state, availableAgents, systemPromptRef) {
225
+ async function buildBeigeExtension(state, availableAgents, systemPromptRef, agentsFilesRef) {
219
226
  const runtime = createExtensionRuntime();
220
227
  // ── /verbose and /v ───────────────────────────────────────
221
228
  const handleVerbose = async (args, ctx) => {
@@ -320,14 +327,21 @@ async function buildBeigeExtension(state, availableAgents, systemPromptRef) {
320
327
  const agentsRes = await fetch(`${state.gatewayUrl}/api/agents`);
321
328
  const { agents } = (await agentsRes.json());
322
329
  const agentInfo = agents.find((a) => a.name === arg);
323
- const toolNames = agentInfo?.tools ?? [];
324
- const skillNames = agentInfo?.skills ?? [];
325
- const toolContext = buildToolContext(toolNames);
326
- const skillContext = buildSkillContext(skillNames, state.loadedSkills);
330
+ // Use pre-built tool/skill context from the gateway (which has full tool manifests).
331
+ const toolContext = agentInfo?.toolContext ?? "";
332
+ const skillContext = agentInfo?.skillContext ?? "";
327
333
  const newSystemPrompt = buildSystemPrompt(arg, toolContext, skillContext);
328
334
  systemPromptRef.value = newSystemPrompt;
335
+ // Update agents files for the new agent's workspace.
336
+ const newAgentDir = resolve(beigeDir(), "agents", arg);
337
+ const newWorkspaceDir = newAgentConfig.workspaceDir ?? resolve(newAgentDir, "workspace");
338
+ agentsFilesRef.value = readWorkspaceAgentsMd(newWorkspaceDir);
329
339
  if (state.session) {
330
- state.session._baseSystemPrompt = newSystemPrompt;
340
+ // Trigger a full rebuild so pi's buildSystemPrompt picks up both the
341
+ // updated system prompt ref AND the fresh AGENTS.md from getAgentsFiles().
342
+ const toolNames = state.session.getActiveToolNames();
343
+ state.session._baseSystemPrompt = state.session._rebuildSystemPrompt(toolNames);
344
+ state.session.agent.setSystemPrompt(state.session._baseSystemPrompt);
331
345
  }
332
346
  // Update verbose handler for new session key.
333
347
  const sessionKey = BeigeSessionStore.tuiKey(arg);
@@ -359,7 +373,20 @@ async function buildBeigeExtension(state, availableAgents, systemPromptRef) {
359
373
  const extension = {
360
374
  path: "<beige-tui>",
361
375
  resolvedPath: "<beige-tui>",
362
- handlers: new Map(),
376
+ handlers: new Map([
377
+ // Re-read AGENTS.md on /new and session switches so that edits the
378
+ // agent made during the previous session are picked up.
379
+ ["session_switch", [async () => {
380
+ const dir = resolve(beigeDir(), "agents", state.agentName);
381
+ const ws = state.agentConfig.workspaceDir ?? resolve(dir, "workspace");
382
+ agentsFilesRef.value = readWorkspaceAgentsMd(ws);
383
+ if (state.session) {
384
+ const toolNames = state.session.getActiveToolNames();
385
+ state.session._baseSystemPrompt = state.session._rebuildSystemPrompt(toolNames);
386
+ state.session.agent.setSystemPrompt(state.session._baseSystemPrompt);
387
+ }
388
+ }]],
389
+ ]),
363
390
  tools: new Map(),
364
391
  messageRenderers: new Map(),
365
392
  commands: new Map([
@@ -499,57 +526,6 @@ function createProxyTools(getAgentName, gatewayUrl, handlerRef) {
499
526
  ];
500
527
  }
501
528
  // ── Helpers ───────────────────────────────────────────────────────────────────
502
- function buildToolContext(toolNames) {
503
- if (toolNames.length === 0)
504
- return "";
505
- const lines = [
506
- "## Available Tools",
507
- "",
508
- "The following tools are available via `/tools/bin/` in the sandbox:",
509
- "",
510
- ];
511
- for (const name of toolNames) {
512
- lines.push(`- **${name}** — run with \`exec: /tools/bin/${name} <args>\``);
513
- }
514
- lines.push("");
515
- lines.push("Read tool documentation: `exec: cat /tools/packages/<name>/README.md`");
516
- return lines.join("\n");
517
- }
518
- function buildSystemPrompt(agentName, toolContext, skillContext = "") {
519
- return `You are an AI agent named "${agentName}" running inside a secure sandbox managed by the Beige agent system.
520
-
521
- ## Environment
522
-
523
- - You run inside a Docker container with a writable workspace at \`/workspace\`.
524
- - You have 4 core tools: \`read\`, \`write\`, \`patch\`, and \`exec\`.
525
- - Additional tools are available as executables in \`/tools/bin/\`. Run them with \`exec\`.
526
- - Tool documentation is available in \`/tools/packages/<name>/\`.
527
- - Your working directory is \`/workspace\`. Files you create persist here.
528
- - You can write and execute scripts (TypeScript via Deno, shell scripts, Python, etc.).
529
-
530
- ## How to Use Tools
531
-
532
- To call a tool, use the \`exec\` core tool:
533
- \`\`\`
534
- exec: /tools/bin/<tool-name> <args...>
535
- \`\`\`
536
-
537
- To write and run a script:
538
- 1. Use \`write\` to create a script file in \`/workspace\`
539
- 2. Use \`exec\` to run it (e.g., \`exec deno run --allow-all /workspace/script.ts\`)
540
-
541
- Scripts can call tools by executing \`/tools/bin/<tool-name>\` as subprocesses.
542
-
543
- ${toolContext}
544
- ${skillContext}
545
- ## Guidelines
546
-
547
- - Be helpful and proactive.
548
- - When tasks require multiple steps, write scripts to chain tool calls.
549
- - If you're unsure about a tool, read its documentation in \`/tools/packages/<name>/\`.
550
- - Always handle errors gracefully.
551
- `;
552
- }
553
529
  function resolveModel(agentConfig, modelRegistry) {
554
530
  const { provider, model: modelId } = agentConfig.model;
555
531
  // Prefer ModelRegistry.find() over the static getModel() because the registry
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/channels/tui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,aAAa,EACb,cAAc,EACd,eAAe,EACf,sBAAsB,GAOvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAc,SAAS,EAAE,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAoB,MAAM,uBAAuB,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAErG;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AA4BpD,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAgB;IAC9C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC;IAE1D,8BAA8B;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,sCAAsC,UAAU,IAAI;YACpD,wCAAwC;YACxC,gBAAgB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAC3D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAA2E,CAAC;IACtH,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,oCAAoC,SAAS,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,SAAS,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACtD,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9E,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;YAC1B,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IAEtE,iEAAiE;IACjE,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9E,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,CAAC;YACjD,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBACvC,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,MAAM,EAAE,cAAc,CAAC,MAAM;gBAC7B,GAAG,EAAE,cAAc,CAAC,GAAU;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IAE9C,6DAA6D;IAC7D,+EAA+E;IAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,kBAAkB,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACxF,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAE1F,6DAA6D;IAC7D,MAAM,aAAa,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACjD,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAoC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;IAE/E,MAAM,KAAK,GAAa;QACtB,SAAS;QACT,WAAW;QACX,OAAO,EAAE,IAAI;QACb,mBAAmB;QACnB,UAAU;QACV,MAAM;QACN,WAAW;QACX,aAAa,EAAE,uBAAuB;QACtC,uBAAuB,EAAE,aAAa;QACtC,aAAa;QACb,YAAY;QACZ,YAAY;KACb,CAAC;IAEF,6BAA6B;IAC7B,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,qBAAqB,CAC1C,SAAS,EACT,KAAK,EACL,SAAS,EACT,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CACzC,CAAC;IACF,IAAI,cAAc,EAAE,CAAC;QACnB,mBAAmB,CAAC,EAAE,GAAG,uBAAuB,EAAE,CAAC;IACrD,CAAC;IAED,4DAA4D;IAC5D,6EAA6E;IAC7E,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,eAAe,GAAsB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IACvF,MAAM,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IAE9D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,KAAK,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IAEhH,4CAA4C;IAC5C,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,OAAO,CAAC,GAAG,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,kBAAkB,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,wCAAwC,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,iHAAiH,CAAC,CAAC;IAE/H,oFAAoF;IACpF,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;IAExC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;AACnB,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;GAQG;AACH,KAAK,UAAU,aAAa,CAC1B,KAAe,EACf,gBAAsC,EACtC,eAAkC;IAElC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE7I,gCAAgC;IAChC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,aAAa,CAAC,CAAC;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAA2E,CAAC;IACtH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;IAE3C,8BAA8B;IAC9B,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAEvD,kFAAkF;IAClF,MAAM,KAAK,GAAG,YAAY,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;IACjE,0EAA0E;IAC1E,oDAAoD;IACpD,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAEjE,kEAAkE;IAClE,eAAe,CAAC,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IAEhF,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,oEAAoE;IACpE,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAEzE,MAAM,cAAc,GAAmB;QACrC,aAAa,EAAE,GAAG,EAAE,CAAC,gBAAgB;QACrC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAClD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACpD,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAClD,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAC3C,oEAAoE;QACpE,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK;QAC5C,qBAAqB,EAAE,GAAG,EAAE,CAAC,EAAE;QAC/B,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE;QAChC,eAAe,EAAE,GAAG,EAAE,GAAE,CAAC;QACzB,MAAM,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACvB,CAAC;IAEF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,kBAAkB,CAAC;QAC3C,KAAK;QACL,aAAa,EAAG,WAAW,CAAC,KAAK,CAAC,aAAqB,IAAI,KAAK;QAChE,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,SAAS;QACtB,cAAc;QACd,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;YACxC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;YAC7B,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE;SACxC,CAAC;QACF,cAAc;QACd,WAAW;QACX,gDAAgD;QAChD,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE;KAC7C,CAAC,CAAC;IAEH,kEAAkE;IAClE,kEAAkE;IACjE,OAAe,CAAC,cAAc,GAAG,aAAa,CAAC;IAEhD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;AAC1B,CAAC;AAED,iFAAiF;AAEjF;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAChC,KAAe,EACf,eAAyB,EACzB,eAAkC;IAElC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,MAAM,aAAa,GAAG,KAAK,EAAE,IAAY,EAAE,GAAQ,EAAE,EAAE;QACrD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAEtC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC;YACxE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,6BAA6B,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,gCAAgC,EAAE,MAAM,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,KAAK,IAAI,CAAC;QAC5B,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACvD,KAAK,CAAC,mBAAmB,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE9E,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,MAAM;YACJ,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,8CAA8C,EAClD,MAAM,CACP,CAAC;IACJ,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,cAAc,GAAG,KAAK,EAAE,KAAa,EAAE,GAAQ,EAAE,EAAE;QACvD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,0BAA0B,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QAClE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC9C,MAAM,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,aAAa,QAAQ,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QAEhE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAE,GAAQ,EAAE,EAAE;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC1D,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;gBACf,+BAA+B;gBAC/B,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,+CAA+C,QAAQ;qBACpD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;qBACX,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;qBAChD,IAAI,CAAC,IAAI,CAAC,EAAE,EACf,MAAM,CACP,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wEAAwE,EAAE,OAAO,CAAC,CAAC;YACnG,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,oEAAoE;QACpE,kEAAkE;QAClE,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,GAAG,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/E,CAAC,CAAC;IAEF,6DAA6D;IAC7D,MAAM,WAAW,GAAG,KAAK,EAAE,IAAY,EAAE,GAAQ,EAAE,EAAE;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAExB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,kBAAkB,KAAK,CAAC,SAAS,0BAA0B,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAC5I,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,kBAAkB,GAAG,iBAAiB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAClE,OAAO,CACR,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,GAAG,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,wBAAwB,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,GAAG,wBAAwB,EAAE,OAAO,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,gFAAgF;QAChF,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;QACtB,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QAEnC,mEAAmE;QACnE,MAAM,aAAa,GAAG,kBAAkB,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;QAC9F,KAAK,CAAC,aAAa,GAAG,IAAI,uBAAuB,CAAC,KAAK,CAAC,uBAAuB,EAAE,aAAa,CAAC,CAAC;QAChG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,OAAe,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;QAC9D,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,2EAA2E;QAC3E,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,GAAG,KAAK,CAAC,UAAU,aAAa,CAAC,CAAC;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,CAA2E,CAAC;QACtH,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAC1E,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC;QACxC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,OAAe,CAAC,iBAAiB,GAAG,eAAe,CAAC;QAC7D,CAAC;QAED,8CAA8C;QAC9C,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,qBAAqB,CACnC,SAAS,EACT,KAAK,EACL,SAAS,EACT,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAC/C,CAAC;QACF,KAAK,CAAC,mBAAmB,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/E,wEAAwE;QACxE,gFAAgF;QAChF,6CAA6C;QAC7C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YAC5D,SAAS,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,OAAO,CAAC,cAAsB,CAAC,UAAU,GAAG,cAAc,CAAC;QACpE,CAAC;QAED,0EAA0E;QAC1E,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAED,8DAA8D;QAC9D,qEAAqE;QACrE,kEAAkE;QAClE,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,6BAA6B;IAC7B,MAAM,SAAS,GAAc;QAC3B,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,IAAI,GAAG,EAAE;QACnB,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,gBAAgB,EAAE,IAAI,GAAG,EAAE;QAC3B,QAAQ,EAAE,IAAI,GAAG,CAA4B;YAC3C,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,uDAAuD,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC1I,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,yCAAyC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;YACpG,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iDAAiD,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YACvI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,yDAAyD,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YACzI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,wDAAwD,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;SACtI,CAAC;QACF,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,SAAS,EAAE,IAAI,GAAG,EAAE;KACrB,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC;AASD;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,SAAiB;IACrC,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACtC,OAAO,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,EAAE,IAAI,CAAC,WAAW;QACtB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;KACpC,CAAC,CAAC,CAAC;AACN,CAAC;AAGD,iFAAiF;AAEjF,SAAS,uBAAuB;IAC9B,OAAO,CAAC,QAAgB,EAAE,MAA+B,EAAE,EAAE;QAC3D,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB,EAAE,MAA+B;IACvE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,SAAS,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACpE,CAAC;QACD,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,OAAO,UAAU,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;QACzC,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,OAAO,UAAU,MAAM,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC;QACD;YACE,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAClE,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF,SAAS,gBAAgB,CACvB,YAA0B,EAC1B,UAAkB,EAClB,UAA2C;IAE3C,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,MAA2B;QAE3B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,UAAU,eAAe,kBAAkB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE;YAC7F,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SACvC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC3E,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAQ,CAAC;IACnC,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,WAAW;YAClB,WAAW,EACT,8GAA8G;YAChH,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC;gBACvD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC,CAAC;gBACpG,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC,CAAC;aACtF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,MAA2D,CAAC;gBACtE,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAwB,CAAC,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAc,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAClF,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,+EAA+E;YAC5F,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;gBACxD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,8BAA8B,EAAE,CAAC;aACtE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,MAA2C,CAAC;gBACtD,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAwB,CAAC,CAAC;gBACpE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAc,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAClF,CAAC;SACF;QACD;YACE,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,YAAY;YACnB,WAAW,EAAE,0FAA0F;YACvG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;gBACxD,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;gBACvE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;aAClE,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,MAA4D,CAAC;gBACvE,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,CAAwB,CAAC,CAAC;gBACpE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAc,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAClF,CAAC;SACF;QACD;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,iBAAiB;YACxB,WAAW,EAAE,8EAA8E;YAC3F,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;gBACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;gBAC/D,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE,CAAC,CAAC;aAC1F,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,CAAC,GAAG,MAA+C,CAAC;gBAC1D,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAwB,CAAC,CAAC;gBACnE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAc,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAClF,CAAC;SACF;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF,SAAS,gBAAgB,CAAC,SAAmB;IAC3C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG;QACZ,oBAAoB;QACpB,EAAE;QACF,qEAAqE;QACrE,EAAE;KACH,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,oCAAoC,IAAI,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;IACpF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB,EAAE,WAAmB,EAAE,eAAuB,EAAE;IAC1F,OAAO,8BAA8B,SAAS;;;;;;;;;;;;;;;;;;;;;;;;EAwB9C,WAAW;EACX,YAAY;;;;;;;CAOb,CAAC;AACF,CAAC;AAED,SAAS,YAAY,CAAC,WAAwB,EAAE,aAAsD;IACpG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;IACvD,8EAA8E;IAC9E,kFAAkF;IAClF,iFAAiF;IACjF,+EAA+E;IAC/E,gFAAgF;IAChF,gFAAgF;IAChF,kBAAkB;IAClB,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC;IACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAe,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,IAAI,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/channels/tui.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -12,8 +12,7 @@
12
12
  * beige gateway logs Show gateway logs
13
13
  * beige gateway logs -f Follow gateway logs (tail -f)
14
14
  * beige tui [agent] Connect to a running gateway via TUI
15
- * beige install <source> Install a toolkit (npm, github, local, url)
16
- * beige toolkit <command> Manage toolkits
15
+ * beige tools <command> Manage tools (install, list, update, remove)
17
16
  * beige --config <path> Use a specific config file
18
17
  *
19
18
  * Shell 1: beige ← starts gateway daemon
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;GAmBG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG"}
package/dist/cli.js CHANGED
@@ -12,8 +12,7 @@
12
12
  * beige gateway logs Show gateway logs
13
13
  * beige gateway logs -f Follow gateway logs (tail -f)
14
14
  * beige tui [agent] Connect to a running gateway via TUI
15
- * beige install <source> Install a toolkit (npm, github, local, url)
16
- * beige toolkit <command> Manage toolkits
15
+ * beige tools <command> Manage tools (install, list, update, remove)
17
16
  * beige --config <path> Use a specific config file
18
17
  *
19
18
  * Shell 1: beige ← starts gateway daemon
@@ -25,7 +24,7 @@ import { spawn } from "child_process";
25
24
  import { watch } from "fs";
26
25
  import { runSetup } from "./install.js";
27
26
  import { beigeDir } from "./paths.js";
28
- import { installToolkit, removeToolkit, listInstalledToolkits, getInstalledToolkit, sourceToString, } from "./toolkit/index.js";
27
+ import { installTools, removeTool, updateTool, updateAllTools, listInstalledTools, readMetaFile, } from "./tools/installer.js";
29
28
  // ── Timestamp helpers ────────────────────────────────────────────────
30
29
  /** Returns a local-time HH:MM:SS prefix, e.g. "14:03:07". */
31
30
  function timestampPrefix() {
@@ -419,8 +418,7 @@ Usage:
419
418
  beige setup First-time setup (copies tools, writes default config)
420
419
  beige gateway <command> Manage the gateway daemon
421
420
  beige tui [agent] Connect TUI to running gateway
422
- beige install <source> Install a toolkit (npm, github, local, url)
423
- beige toolkit <command> Manage toolkits
421
+ beige tools <command> Manage tools (install, list, update, remove)
424
422
 
425
423
  Options:
426
424
  -c, --config <path> Config file (default: ~/.beige/config.json5)
@@ -429,26 +427,26 @@ Options:
429
427
  -h, --help Show this help
430
428
 
431
429
  Run 'beige gateway' for gateway-specific commands.
432
- Run 'beige toolkit' for toolkit-specific commands.
430
+ Run 'beige tools' for tool management commands.
433
431
  `);
434
432
  }
435
- function printToolkitHelp() {
433
+ function printToolsHelp() {
436
434
  console.log(`
437
- Beige — Toolkit commands
435
+ Beige — Tool commands
438
436
 
439
437
  Usage:
440
- beige install <source> Install a toolkit
441
- beige toolkit list List installed toolkits
442
- beige toolkit show <name> Show toolkit details
443
- beige toolkit remove <name> Remove a toolkit
444
- beige toolkit update Update all installed toolkits
438
+ beige tools install <source> Install tools from a source
439
+ beige tools list List installed tools
440
+ beige tools remove <name> Remove an installed tool
441
+ beige tools update [name] Update a tool (or all tools)
445
442
 
446
443
  Install sources:
447
- npm:@scope/toolkit-name NPM package
448
- github:owner/repo GitHub repository
449
- github:owner/repo#tag GitHub repository with tag/branch
450
- ./path/to/toolkit Local directory
451
- https://.../toolkit.tar.gz URL to tarball
444
+ npm:@scope/package NPM package (latest)
445
+ npm:@scope/package@1.2.3 NPM package (specific version)
446
+ github:owner/repo GitHub repository (all tools)
447
+ github:owner/repo/path/to/tool Single tool from a GitHub subfolder
448
+ github:owner/repo#tag GitHub repository at a tag/branch
449
+ ./path/to/tool Local directory
452
450
 
453
451
  Options:
454
452
  --force, -f Force install even with conflicts
@@ -534,43 +532,37 @@ function parseArgs() {
534
532
  const force = args.includes("--force") || args.includes("-f");
535
533
  return { kind: "setup", force };
536
534
  }
537
- if (cmd === "install") {
535
+ if (cmd === "tools") {
538
536
  if (!sub || sub === "--help" || sub === "-h") {
539
- printToolkitHelp();
540
- process.exit(sub === "--help" || sub === "-h" ? 0 : 1);
541
- }
542
- const force = rest.includes("--force") || rest.includes("-f");
543
- return { kind: "install", source: sub, force };
544
- }
545
- if (cmd === "toolkit") {
546
- if (!sub || sub === "--help" || sub === "-h") {
547
- printToolkitHelp();
537
+ printToolsHelp();
548
538
  process.exit(0);
549
539
  }
550
- if (sub === "list") {
551
- return { kind: "toolkit-list" };
552
- }
553
- if (sub === "show") {
554
- const name = rest[0];
555
- if (!name) {
556
- console.error("[BEIGE] Missing toolkit name. Usage: beige toolkit show <name>");
557
- process.exit(1);
540
+ if (sub === "install") {
541
+ const source = rest[0];
542
+ if (!source || source === "--help" || source === "-h") {
543
+ printToolsHelp();
544
+ process.exit(source === "--help" || source === "-h" ? 0 : 1);
558
545
  }
559
- return { kind: "toolkit-show", name };
546
+ const force = rest.includes("--force") || rest.includes("-f");
547
+ return { kind: "install", source, force };
548
+ }
549
+ if (sub === "list") {
550
+ return { kind: "tools-list" };
560
551
  }
561
552
  if (sub === "remove") {
562
553
  const name = rest[0];
563
554
  if (!name) {
564
- console.error("[BEIGE] Missing toolkit name. Usage: beige toolkit remove <name>");
555
+ console.error("[BEIGE] Missing tool name. Usage: beige tools remove <name>");
565
556
  process.exit(1);
566
557
  }
567
- return { kind: "toolkit-remove", name };
558
+ return { kind: "tools-remove", name };
568
559
  }
569
560
  if (sub === "update") {
570
- return { kind: "toolkit-update" };
561
+ const name = rest[0]; // optional — if omitted, update all
562
+ return { kind: "tools-update", name };
571
563
  }
572
- console.error(`[BEIGE] Unknown toolkit subcommand: ${sub}`);
573
- printToolkitHelp();
564
+ console.error(`[BEIGE] Unknown tools subcommand: ${sub}`);
565
+ printToolsHelp();
574
566
  process.exit(1);
575
567
  }
576
568
  console.error(`[BEIGE] Unknown command: ${cmd}`);
@@ -639,21 +631,18 @@ else if (mode.kind === "tui") {
639
631
  else if (mode.kind === "install") {
640
632
  await cmdInstall(mode.source, mode.force);
641
633
  }
642
- else if (mode.kind === "toolkit-list") {
643
- cmdToolkitList();
644
- }
645
- else if (mode.kind === "toolkit-show") {
646
- cmdToolkitShow(mode.name);
634
+ else if (mode.kind === "tools-list") {
635
+ cmdToolsList();
647
636
  }
648
- else if (mode.kind === "toolkit-remove") {
649
- cmdToolkitRemove(mode.name);
637
+ else if (mode.kind === "tools-remove") {
638
+ cmdToolsRemove(mode.name);
650
639
  }
651
- else if (mode.kind === "toolkit-update") {
652
- await cmdToolkitUpdate();
640
+ else if (mode.kind === "tools-update") {
641
+ await cmdToolsUpdate(mode.name);
653
642
  }
654
643
  async function cmdInstall(source, force) {
655
- console.log(`[BEIGE] Installing toolkit from: ${source}`);
656
- const result = await installToolkit(source, { force });
644
+ console.log(`[BEIGE] Installing from: ${source}`);
645
+ const result = await installTools(source, { force });
657
646
  if (!result.success) {
658
647
  if (result.conflicts && result.conflicts.length > 0) {
659
648
  console.error("[BEIGE] Tool name conflicts detected:");
@@ -663,85 +652,70 @@ async function cmdInstall(source, force) {
663
652
  console.error("\n[BEIGE] Use --force to override.");
664
653
  }
665
654
  else {
666
- console.error(`[BEIGE] Failed to install toolkit: ${result.error}`);
655
+ console.error(`[BEIGE] Failed to install: ${result.error}`);
667
656
  }
668
657
  process.exit(1);
669
658
  }
670
- if (result.toolkit) {
671
- const action = result.updated ? "Updated" : "Installed";
672
- console.log(`[BEIGE] ${action} toolkit: ${result.toolkit.manifest.name} v${result.toolkit.manifest.version}`);
673
- console.log(`[BEIGE] Tools available:`);
674
- for (const tool of result.toolkit.tools) {
659
+ if (result.tools && result.tools.length > 0) {
660
+ console.log(`[BEIGE] Installed ${result.tools.length} tool(s):`);
661
+ for (const tool of result.tools) {
675
662
  console.log(` - ${tool.name}: ${tool.manifest.description}`);
676
663
  }
677
- console.log(`\n[BEIGE] Add tools to your agent's config to enable them.`);
664
+ console.log(`\n[BEIGE] Add tools to your agent's 'tools' array to enable them.`);
678
665
  }
679
666
  }
680
- function cmdToolkitList() {
681
- const toolkits = listInstalledToolkits();
682
- if (toolkits.length === 0) {
683
- console.log("[BEIGE] No toolkits installed.");
684
- console.log("\n[BEIGE] Install a toolkit with: beige install <source>");
667
+ function cmdToolsList() {
668
+ const tools = listInstalledTools();
669
+ if (tools.length === 0) {
670
+ console.log("[BEIGE] No tools installed.");
671
+ console.log("\n[BEIGE] Install tools with: beige tools install <source>");
685
672
  return;
686
673
  }
687
- console.log("[BEIGE] Installed toolkits:\n");
688
- for (const toolkit of toolkits) {
689
- const source = sourceToString(toolkit.source);
690
- console.log(` ${toolkit.name} v${toolkit.version}`);
674
+ console.log("[BEIGE] Installed tools:\n");
675
+ for (const tool of tools) {
676
+ const meta = readMetaFile(tool.name);
677
+ const source = meta?.source ?? "unknown";
678
+ console.log(` ${tool.name}`);
679
+ console.log(` ${tool.manifest.description}`);
691
680
  console.log(` Source: ${source}`);
692
- console.log(` Tools: ${toolkit.tools.join(", ")}`);
693
- console.log(` Installed: ${new Date(toolkit.installedAt).toLocaleDateString()}`);
681
+ if (meta?.package) {
682
+ console.log(` Package: ${meta.package}`);
683
+ }
694
684
  console.log();
695
685
  }
696
686
  }
697
- function cmdToolkitShow(name) {
698
- const toolkit = getInstalledToolkit(name);
699
- if (!toolkit) {
700
- console.error(`[BEIGE] Toolkit '${name}' not found.`);
701
- console.error("[BEIGE] Run 'beige toolkit list' to see installed toolkits.");
702
- process.exit(1);
703
- }
704
- const source = sourceToString(toolkit.source);
705
- console.log(`Toolkit: ${toolkit.name}`);
706
- console.log(`Version: ${toolkit.version}`);
707
- console.log(`Source: ${source}`);
708
- console.log(`Path: ${toolkit.path}`);
709
- console.log(`Installed: ${new Date(toolkit.installedAt).toLocaleString()}`);
710
- console.log(`\nTools:`);
711
- for (const toolName of toolkit.tools) {
712
- console.log(` - ${toolName}`);
713
- }
714
- }
715
- function cmdToolkitRemove(name) {
716
- const result = removeToolkit(name);
687
+ function cmdToolsRemove(name) {
688
+ const result = removeTool(name);
717
689
  if (!result.success) {
718
690
  console.error(`[BEIGE] ${result.error}`);
719
691
  process.exit(1);
720
692
  }
721
- console.log(`[BEIGE] Removed toolkit: ${name}`);
693
+ console.log(`[BEIGE] Removed tool: ${name}`);
722
694
  }
723
- async function cmdToolkitUpdate() {
724
- const toolkits = listInstalledToolkits();
725
- if (toolkits.length === 0) {
726
- console.log("[BEIGE] No toolkits installed.");
727
- return;
728
- }
729
- console.log(`[BEIGE] Updating ${toolkits.length} toolkit(s)...\n`);
730
- let updated = 0;
731
- let failed = 0;
732
- for (const toolkit of toolkits) {
733
- const source = sourceToString(toolkit.source);
734
- console.log(`[BEIGE] Updating ${toolkit.name} from ${source}...`);
735
- const result = await installToolkit(source, { force: true });
695
+ async function cmdToolsUpdate(name) {
696
+ if (name) {
697
+ console.log(`[BEIGE] Updating tool: ${name}`);
698
+ const result = await updateTool(name);
736
699
  if (result.success) {
737
- console.log(`[BEIGE] Updated to v${result.toolkit?.manifest.version}`);
738
- updated++;
700
+ console.log(`[BEIGE] Updated ${result.tools?.length ?? 0} tool(s) from same source.`);
739
701
  }
740
702
  else {
741
- console.error(`[BEIGE] Failed: ${result.error}`);
742
- failed++;
703
+ console.error(`[BEIGE] Failed to update: ${result.error}`);
704
+ process.exit(1);
743
705
  }
706
+ return;
707
+ }
708
+ // Update all
709
+ const tools = listInstalledTools();
710
+ if (tools.length === 0) {
711
+ console.log("[BEIGE] No tools installed.");
712
+ return;
713
+ }
714
+ console.log(`[BEIGE] Updating all installed tools...\n`);
715
+ const result = await updateAllTools();
716
+ console.log(`\n[BEIGE] Update complete: ${result.updated.length} updated, ${result.failed.length} failed.`);
717
+ for (const f of result.failed) {
718
+ console.error(` Failed: ${f.source} — ${f.error}`);
744
719
  }
745
- console.log(`\n[BEIGE] Update complete: ${updated} updated, ${failed} failed.`);
746
720
  }
747
721
  //# sourceMappingURL=cli.js.map