@dharta/cli 0.6.77 → 0.6.78
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/LICENSE +1 -1
- package/README.md +215 -11
- package/dist/agent.js +3 -2
- package/dist/agent.js.map +1 -1
- package/dist/api-error.js +6 -6
- package/dist/api-error.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.js +860 -149
- package/dist/cli.js.map +1 -1
- package/dist/command-tree.d.ts +3 -0
- package/dist/command-tree.js +10 -0
- package/dist/command-tree.js.map +1 -0
- package/dist/commands/agents.d.ts +54 -17
- package/dist/commands/agents.js +246 -136
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/analytics.js +6 -5
- package/dist/commands/analytics.js.map +1 -1
- package/dist/commands/api.js +71 -86
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/appearance.js +5 -6
- package/dist/commands/appearance.js.map +1 -1
- package/dist/commands/artifact.js +7 -6
- package/dist/commands/artifact.js.map +1 -1
- package/dist/commands/audit-log.js +2 -1
- package/dist/commands/audit-log.js.map +1 -1
- package/dist/commands/auth.js +26 -6
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/caps.js +11 -15
- package/dist/commands/caps.js.map +1 -1
- package/dist/commands/deploy.js +25 -10
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/dev.d.ts +10 -1
- package/dist/commands/dev.js +56 -25
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.js +60 -0
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/embed-keys.js +4 -13
- package/dist/commands/embed-keys.js.map +1 -1
- package/dist/commands/env.js +4 -7
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/files.js +3 -4
- package/dist/commands/files.js.map +1 -1
- package/dist/commands/fleet.d.ts +129 -0
- package/dist/commands/fleet.js +408 -0
- package/dist/commands/fleet.js.map +1 -0
- package/dist/commands/genui.d.ts +2 -0
- package/dist/commands/genui.js +53 -0
- package/dist/commands/genui.js.map +1 -0
- package/dist/commands/git-credential.js +2 -3
- package/dist/commands/git-credential.js.map +1 -1
- package/dist/commands/kartas.d.ts +9 -0
- package/dist/commands/kartas.js +33 -11
- package/dist/commands/kartas.js.map +1 -1
- package/dist/commands/keys.d.ts +17 -18
- package/dist/commands/keys.js +108 -19
- package/dist/commands/keys.js.map +1 -1
- package/dist/commands/login.js +2 -1
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/members.d.ts +10 -0
- package/dist/commands/members.js +20 -6
- package/dist/commands/members.js.map +1 -1
- package/dist/commands/model-connections.d.ts +44 -0
- package/dist/commands/model-connections.js +435 -0
- package/dist/commands/model-connections.js.map +1 -0
- package/dist/commands/open.d.ts +2 -2
- package/dist/commands/open.js +4 -3
- package/dist/commands/open.js.map +1 -1
- package/dist/commands/org.d.ts +9 -0
- package/dist/commands/org.js +42 -0
- package/dist/commands/org.js.map +1 -0
- package/dist/commands/organization.d.ts +16 -0
- package/dist/commands/organization.js +118 -0
- package/dist/commands/organization.js.map +1 -0
- package/dist/commands/parity.js +1 -3
- package/dist/commands/parity.js.map +1 -1
- package/dist/commands/repos.d.ts +4 -0
- package/dist/commands/repos.js +17 -0
- package/dist/commands/repos.js.map +1 -0
- package/dist/commands/rollback.js +2 -3
- package/dist/commands/rollback.js.map +1 -1
- package/dist/commands/schedules.js +26 -21
- package/dist/commands/schedules.js.map +1 -1
- package/dist/commands/scopes.js +8 -1
- package/dist/commands/scopes.js.map +1 -1
- package/dist/commands/sessions.js +9 -3
- package/dist/commands/sessions.js.map +1 -1
- package/dist/commands/setup.js +5 -4
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/update.d.ts +1 -0
- package/dist/commands/update.js +24 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/webhooks.d.ts +4 -1
- package/dist/commands/webhooks.js +21 -16
- package/dist/commands/webhooks.js.map +1 -1
- package/dist/completions.js +24 -13
- package/dist/completions.js.map +1 -1
- package/dist/config.d.ts +12 -0
- package/dist/config.js +121 -7
- package/dist/config.js.map +1 -1
- package/dist/context.d.ts +2 -0
- package/dist/context.js +23 -7
- package/dist/context.js.map +1 -1
- package/dist/docs/cli-reference.d.ts +2 -0
- package/dist/docs/cli-reference.js +191 -0
- package/dist/docs/cli-reference.js.map +1 -0
- package/dist/exit-codes.d.ts +25 -0
- package/dist/exit-codes.js +107 -0
- package/dist/exit-codes.js.map +1 -0
- package/dist/genui.d.ts +178 -0
- package/dist/genui.js +1130 -0
- package/dist/genui.js.map +1 -0
- package/dist/harnesses.js +2 -1
- package/dist/harnesses.js.map +1 -1
- package/dist/jq.d.ts +4 -0
- package/dist/jq.js +91 -0
- package/dist/jq.js.map +1 -0
- package/dist/login-offer.js +6 -2
- package/dist/login-offer.js.map +1 -1
- package/dist/manifest.d.ts +12 -0
- package/dist/manifest.js +126 -0
- package/dist/manifest.js.map +1 -1
- package/dist/model-auth.d.ts +29 -0
- package/dist/model-auth.js +117 -0
- package/dist/model-auth.js.map +1 -0
- package/dist/model-settings.d.ts +23 -0
- package/dist/model-settings.js +186 -0
- package/dist/model-settings.js.map +1 -0
- package/dist/money.js +2 -1
- package/dist/money.js.map +1 -1
- package/dist/output.d.ts +6 -0
- package/dist/output.js +54 -0
- package/dist/output.js.map +1 -1
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +1 -1
- package/dist/scaffold.js +2 -1
- package/dist/scaffold.js.map +1 -1
- package/dist/validators.js +17 -11
- package/dist/validators.js.map +1 -1
- package/dist/version-check.d.ts +1 -1
- package/dist/version-check.js +1 -1
- package/dist/version-check.js.map +1 -1
- package/node_modules/@dharta/contracts/LICENSE +21 -0
- package/node_modules/@dharta/contracts/README.md +45 -0
- package/node_modules/@dharta/contracts/artifact-runtime.json +750 -0
- package/node_modules/@dharta/contracts/dist/activity.d.ts +62 -0
- package/node_modules/@dharta/contracts/dist/activity.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/activity.js +178 -0
- package/node_modules/@dharta/contracts/dist/activity.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.d.ts +20 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.js +53 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-formats.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.d.ts +37 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.js +5107 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime-validators.generated.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.d.ts +154 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.d.ts +1670 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.js +1903 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.generated.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.js +377 -0
- package/node_modules/@dharta/contracts/dist/artifact-runtime.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/index.d.ts +6 -0
- package/node_modules/@dharta/contracts/dist/index.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/index.js +6 -0
- package/node_modules/@dharta/contracts/dist/index.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/model-auth.d.ts +31 -0
- package/node_modules/@dharta/contracts/dist/model-auth.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/model-auth.js +45 -0
- package/node_modules/@dharta/contracts/dist/model-auth.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/tasks.d.ts +44 -0
- package/node_modules/@dharta/contracts/dist/tasks.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/tasks.js +127 -0
- package/node_modules/@dharta/contracts/dist/tasks.js.map +1 -0
- package/node_modules/@dharta/contracts/dist/wire-events.d.ts +71 -0
- package/node_modules/@dharta/contracts/dist/wire-events.d.ts.map +1 -0
- package/node_modules/@dharta/contracts/dist/wire-events.js +48 -0
- package/node_modules/@dharta/contracts/dist/wire-events.js.map +1 -0
- package/node_modules/@dharta/contracts/model-auth-capabilities-v1.json +168 -0
- package/node_modules/@dharta/contracts/model-auth-reasons-v1.json +38 -0
- package/node_modules/@dharta/contracts/package.json +44 -0
- package/node_modules/@dharta/contracts/src/activity.ts +215 -0
- package/node_modules/@dharta/contracts/src/artifact-runtime-formats.ts +54 -0
- package/node_modules/@dharta/contracts/src/artifact-runtime-validators.generated.ts +29 -0
- package/node_modules/@dharta/contracts/src/artifact-runtime.generated.ts +2093 -0
- package/node_modules/@dharta/contracts/src/artifact-runtime.ts +520 -0
- package/node_modules/@dharta/contracts/src/index.ts +5 -0
- package/node_modules/@dharta/contracts/src/model-auth.ts +82 -0
- package/node_modules/@dharta/contracts/src/tasks.ts +142 -0
- package/node_modules/@dharta/contracts/src/wire-events.ts +150 -0
- package/node_modules/@dharta/contracts/wire-events.json +29 -0
- package/node_modules/@dharta/sdk/LICENSE +1 -1
- package/node_modules/@dharta/sdk/README.md +22 -8
- package/node_modules/@dharta/sdk/dist/errors.d.ts +9 -7
- package/node_modules/@dharta/sdk/dist/errors.d.ts.map +1 -1
- package/node_modules/@dharta/sdk/dist/errors.js +36 -18
- package/node_modules/@dharta/sdk/dist/errors.js.map +1 -1
- package/node_modules/@dharta/sdk/dist/fleet.d.ts +69 -0
- package/node_modules/@dharta/sdk/dist/fleet.d.ts.map +1 -0
- package/node_modules/@dharta/sdk/dist/fleet.js +240 -0
- package/node_modules/@dharta/sdk/dist/fleet.js.map +1 -0
- package/node_modules/@dharta/sdk/dist/http.d.ts +6 -2
- package/node_modules/@dharta/sdk/dist/http.d.ts.map +1 -1
- package/node_modules/@dharta/sdk/dist/http.js +71 -12
- package/node_modules/@dharta/sdk/dist/http.js.map +1 -1
- package/node_modules/@dharta/sdk/dist/idempotency.d.ts +12 -0
- package/node_modules/@dharta/sdk/dist/idempotency.d.ts.map +1 -0
- package/node_modules/@dharta/sdk/dist/idempotency.js +72 -0
- package/node_modules/@dharta/sdk/dist/idempotency.js.map +1 -0
- package/node_modules/@dharta/sdk/dist/index.d.ts +20 -6
- package/node_modules/@dharta/sdk/dist/index.d.ts.map +1 -1
- package/node_modules/@dharta/sdk/dist/index.js +27 -4
- package/node_modules/@dharta/sdk/dist/index.js.map +1 -1
- package/node_modules/@dharta/sdk/dist/resources.d.ts +108 -13
- package/node_modules/@dharta/sdk/dist/resources.d.ts.map +1 -1
- package/node_modules/@dharta/sdk/dist/resources.js +403 -57
- package/node_modules/@dharta/sdk/dist/resources.js.map +1 -1
- package/node_modules/@dharta/sdk/dist/types.d.ts +436 -16
- package/node_modules/@dharta/sdk/dist/types.d.ts.map +1 -1
- package/node_modules/@dharta/sdk/dist/types.js +31 -2
- package/node_modules/@dharta/sdk/dist/types.js.map +1 -1
- package/node_modules/@dharta/sdk/package.json +9 -3
- package/node_modules/@dharta/sdk/src/errors.ts +41 -18
- package/node_modules/@dharta/sdk/src/fleet.ts +339 -0
- package/node_modules/@dharta/sdk/src/http.ts +110 -17
- package/node_modules/@dharta/sdk/src/idempotency.ts +101 -0
- package/node_modules/@dharta/sdk/src/index.ts +50 -11
- package/node_modules/@dharta/sdk/src/resources.ts +549 -68
- package/node_modules/@dharta/sdk/src/types.ts +629 -20
- package/package.json +16 -6
- package/src/agent.ts +3 -2
- package/src/api-error.ts +6 -5
- package/src/cli.ts +978 -163
- package/src/command-tree.ts +13 -0
- package/src/commands/agents.ts +365 -167
- package/src/commands/analytics.ts +6 -5
- package/src/commands/api.ts +73 -92
- package/src/commands/appearance.ts +5 -6
- package/src/commands/artifact.ts +7 -6
- package/src/commands/audit-log.ts +2 -1
- package/src/commands/auth.ts +25 -5
- package/src/commands/caps.ts +11 -15
- package/src/commands/deploy.ts +18 -4
- package/src/commands/dev.ts +86 -25
- package/src/commands/doctor.ts +69 -0
- package/src/commands/embed-keys.ts +4 -14
- package/src/commands/env.ts +4 -7
- package/src/commands/files.ts +3 -4
- package/src/commands/fleet.ts +672 -0
- package/src/commands/genui.ts +59 -0
- package/src/commands/git-credential.ts +2 -3
- package/src/commands/kartas.ts +45 -11
- package/src/commands/keys.ts +152 -35
- package/src/commands/login.ts +2 -1
- package/src/commands/members.ts +31 -6
- package/src/commands/model-connections.ts +547 -0
- package/src/commands/open.ts +5 -4
- package/src/commands/org.ts +57 -0
- package/src/commands/organization.ts +153 -0
- package/src/commands/parity.ts +1 -3
- package/src/commands/repos.ts +23 -0
- package/src/commands/rollback.ts +2 -3
- package/src/commands/schedules.ts +33 -22
- package/src/commands/scopes.ts +8 -1
- package/src/commands/sessions.ts +9 -3
- package/src/commands/setup.ts +5 -4
- package/src/commands/update.ts +28 -12
- package/src/commands/webhooks.ts +30 -19
- package/src/completions.ts +25 -13
- package/src/config.ts +141 -9
- package/src/context.ts +34 -7
- package/src/docs/cli-reference.ts +206 -0
- package/src/exit-codes.ts +122 -0
- package/src/genui.ts +1398 -0
- package/src/harnesses.ts +2 -1
- package/src/jq.ts +109 -0
- package/src/login-offer.ts +6 -2
- package/src/manifest.ts +134 -0
- package/src/model-auth.ts +173 -0
- package/src/model-settings.ts +222 -0
- package/src/money.ts +5 -1
- package/src/output.ts +60 -0
- package/src/runtime.ts +1 -1
- package/src/scaffold.ts +2 -1
- package/src/validators.ts +18 -11
- package/src/version-check.ts +1 -1
- package/dist/commands/model-keys.d.ts +0 -22
- package/dist/commands/model-keys.js +0 -222
- package/dist/commands/model-keys.js.map +0 -1
- package/src/commands/model-keys.ts +0 -278
package/dist/commands/dev.js
CHANGED
|
@@ -8,7 +8,6 @@ import { promises as fs } from "node:fs";
|
|
|
8
8
|
import * as path from "node:path";
|
|
9
9
|
import * as net from "node:net";
|
|
10
10
|
import * as readline from "node:readline";
|
|
11
|
-
import { randomUUID } from "node:crypto";
|
|
12
11
|
import TOML from "@iarna/toml";
|
|
13
12
|
import { resolveRuntime, spawnRuntime } from "../runtime.js";
|
|
14
13
|
import { buildContext } from "../context.js";
|
|
@@ -17,6 +16,13 @@ import { parseDotenvFile } from "./env.js";
|
|
|
17
16
|
import { describeFolder } from "../setup-scan.js";
|
|
18
17
|
import { hasAgentMarker } from "../harnesses.js";
|
|
19
18
|
import { normalizeNonBlank } from "../validators.js";
|
|
19
|
+
import { mintIdempotencyKey } from "../config.js";
|
|
20
|
+
import { checkGenui } from "../genui.js";
|
|
21
|
+
import { CliUsageError } from "../exit-codes.js";
|
|
22
|
+
import { formatModelAuthCapability, resolveDevModelAuth, } from "../model-auth.js";
|
|
23
|
+
export function devServeArgs(dir, port, modelAuth) {
|
|
24
|
+
return ["dev-serve", dir, "--host", "127.0.0.1", "--port", String(port), "--model-auth", modelAuth];
|
|
25
|
+
}
|
|
20
26
|
// `dharta dev [path]` in a multi-agent repo (RFC 0024 DEP-8): with no path
|
|
21
27
|
// given, serve cwd if it is itself an agent; else the sole agent folder
|
|
22
28
|
// directly below it; else ask which one. An explicit path always wins (the
|
|
@@ -48,13 +54,13 @@ export async function dev(opts = {}) {
|
|
|
48
54
|
const write = opts.write ?? ((text) => process.stdout.write(text));
|
|
49
55
|
const fetchImpl = (opts.fetchImpl ?? globalThis.fetch).bind(globalThis);
|
|
50
56
|
if (opts.port !== undefined && (!Number.isInteger(opts.port) || opts.port < 1 || opts.port > 65535)) {
|
|
51
|
-
throw new
|
|
57
|
+
throw new CliUsageError("--port must be an integer between 1 and 65535.");
|
|
52
58
|
}
|
|
53
59
|
const normalizedDir = opts.dir === undefined ? undefined : normalizeNonBlank(opts.dir, "--dir");
|
|
54
60
|
const normalizedUser = opts.user === undefined ? undefined : normalizeNonBlank(opts.user, "--user");
|
|
55
61
|
const normalizedMessage = opts.message === undefined ? undefined : normalizeNonBlank(opts.message, "--message");
|
|
56
62
|
if (opts.includeSecrets && !opts.envRemote)
|
|
57
|
-
throw new
|
|
63
|
+
throw new CliUsageError("--include-secrets requires --env remote.");
|
|
58
64
|
let dir = path.resolve(normalizedDir ?? process.cwd());
|
|
59
65
|
if (normalizedDir !== undefined) {
|
|
60
66
|
await validateExplicitDevDir(dir);
|
|
@@ -64,6 +70,7 @@ export async function dev(opts = {}) {
|
|
|
64
70
|
if (normalizedDir === undefined)
|
|
65
71
|
dir = await resolveAgentDir(dir, log);
|
|
66
72
|
let childEnv;
|
|
73
|
+
let selectedModelAuth;
|
|
67
74
|
if (opts.release || opts.envRemote) {
|
|
68
75
|
const ctx = await buildContext({ fetch: opts.fetchImpl });
|
|
69
76
|
const inferOpts = { dir: normalizedDir, project: opts.project, fetchImpl: opts.fetchImpl };
|
|
@@ -84,6 +91,16 @@ export async function dev(opts = {}) {
|
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
93
|
}
|
|
94
|
+
if (!opts.attach) {
|
|
95
|
+
let authEnv = childEnv ?? process.env;
|
|
96
|
+
if (!opts.envRemote) {
|
|
97
|
+
authEnv = await devModelAuthEnv(dir, authEnv);
|
|
98
|
+
}
|
|
99
|
+
const resolvedAuth = resolveDevModelAuth(opts.modelAuth, authEnv, opts.modelAuthCommand);
|
|
100
|
+
childEnv = resolvedAuth.env;
|
|
101
|
+
selectedModelAuth = resolvedAuth.selection;
|
|
102
|
+
log(`✓ Model auth: ${formatModelAuthCapability(resolvedAuth.capability)}`);
|
|
103
|
+
}
|
|
87
104
|
const agentName = (await describeFolder(dir, ".")).name ?? path.basename(dir);
|
|
88
105
|
log(`Dharta dev mode: ${agentName}`);
|
|
89
106
|
log("");
|
|
@@ -99,7 +116,7 @@ export async function dev(opts = {}) {
|
|
|
99
116
|
const port = opts.port ?? (await freePort());
|
|
100
117
|
baseUrl = `http://127.0.0.1:${port}`;
|
|
101
118
|
log(`✓ Starting agent runtime (${runtime.description})…`);
|
|
102
|
-
child = spawnRuntime(runtime,
|
|
119
|
+
child = spawnRuntime(runtime, devServeArgs(dir, port, selectedModelAuth), {
|
|
103
120
|
stdio: "pipe",
|
|
104
121
|
env: childEnv,
|
|
105
122
|
});
|
|
@@ -139,18 +156,6 @@ export async function dev(opts = {}) {
|
|
|
139
156
|
log(" Preview parity is code + config, not infrastructure: no microVM, no per-user");
|
|
140
157
|
log(" workspaces, and turns run on YOUR harness credentials (prod injects its own).");
|
|
141
158
|
}
|
|
142
|
-
// The agent turn spawns `claude` on YOUR credentials; with none it exits 1.
|
|
143
|
-
// Hard-stop here rather than drop into a chat that can only fail (spawn
|
|
144
|
-
// path only - an attached runtime carries its own credentials).
|
|
145
|
-
if (child && !process.env.ANTHROPIC_API_KEY && !process.env.CLAUDE_CODE_OAUTH_TOKEN) {
|
|
146
|
-
log("");
|
|
147
|
-
log("! Error: No model credential found. Two options -");
|
|
148
|
-
log(" export ANTHROPIC_API_KEY=<your Anthropic API key>");
|
|
149
|
-
log(" OR");
|
|
150
|
-
log(" export CLAUDE_CODE_OAUTH_TOKEN=<Claude Code token from `claude setup-token`>");
|
|
151
|
-
process.exitCode = 1;
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
159
|
const session = await createSession(baseUrl, fetchImpl, normalizedUser);
|
|
155
160
|
if (normalizedUser)
|
|
156
161
|
log(`Simulating end user '${normalizedUser}'.`);
|
|
@@ -173,7 +178,12 @@ export async function dev(opts = {}) {
|
|
|
173
178
|
// Run one turn but never hang: abort if the runtime crashes (onFatal) or
|
|
174
179
|
// goes silent for idleMs, then surface the buffered runtime output. The
|
|
175
180
|
// idle timer pauses while we wait on a human (approval prompt).
|
|
181
|
+
// Counts turns in this REPL session. One root --idempotency-key covers the
|
|
182
|
+
// whole process, so without the index every turn after the first would
|
|
183
|
+
// replay the first turn's answer instead of running.
|
|
184
|
+
let turnIndex = 0;
|
|
176
185
|
const runTurnWatched = async (turnText, prefix) => {
|
|
186
|
+
turnIndex += 1;
|
|
177
187
|
const controller = new AbortController();
|
|
178
188
|
let idle;
|
|
179
189
|
let produced = false; // did the agent write any content this turn?
|
|
@@ -201,7 +211,7 @@ export async function dev(opts = {}) {
|
|
|
201
211
|
const aborted = new Promise((_, reject) => {
|
|
202
212
|
controller.signal.addEventListener("abort", () => reject(new Error("turn aborted")), { once: true });
|
|
203
213
|
});
|
|
204
|
-
const turn = runTurn(baseUrl, fetchImpl, session, turnText, { write: tracked, log, ask: pausedAsk }, controller.signal);
|
|
214
|
+
const turn = runTurn(baseUrl, fetchImpl, session, turnText, { write: tracked, log, ask: pausedAsk }, { signal: controller.signal, operation: `turn.${turnIndex}` });
|
|
205
215
|
try {
|
|
206
216
|
// Race the turn against the abort. A real fetch unblocks its body read
|
|
207
217
|
// on signal, but racing also covers a stream that wedges open without
|
|
@@ -219,7 +229,7 @@ export async function dev(opts = {}) {
|
|
|
219
229
|
turn.catch(() => { }); // detach the abandoned read
|
|
220
230
|
runtimeOutput?.dump();
|
|
221
231
|
throw new Error("No response - the agent runtime errored or went silent (see [runtime] output above). " +
|
|
222
|
-
"
|
|
232
|
+
"Check the selected model authentication with `dharta doctor`, then retry.");
|
|
223
233
|
}
|
|
224
234
|
throw err;
|
|
225
235
|
}
|
|
@@ -260,6 +270,10 @@ export async function dev(opts = {}) {
|
|
|
260
270
|
child.kill("SIGTERM");
|
|
261
271
|
}
|
|
262
272
|
}
|
|
273
|
+
export async function devModelAuthEnv(dir, baseEnv) {
|
|
274
|
+
const localEnv = await readOptionalLocalFile(path.join(dir, ".env"), ".env");
|
|
275
|
+
return { ...parseDotenvFile(localEnv.content), ...baseEnv };
|
|
276
|
+
}
|
|
263
277
|
async function validateExplicitDevDir(dir) {
|
|
264
278
|
try {
|
|
265
279
|
const stat = await fs.stat(dir);
|
|
@@ -280,7 +294,8 @@ async function validateExplicitDevDir(dir) {
|
|
|
280
294
|
// a surprise later. Full [env] tooling (env list/set/diff) is CLI-8.
|
|
281
295
|
export async function miniDoctor(dir) {
|
|
282
296
|
const warnings = [];
|
|
283
|
-
const
|
|
297
|
+
const manifestPath = path.join(dir, "dharta.toml");
|
|
298
|
+
const karta = await readOptionalLocalFile(manifestPath, "dharta.toml");
|
|
284
299
|
if (karta.warning)
|
|
285
300
|
warnings.push(karta.warning);
|
|
286
301
|
const kartaToml = karta.content;
|
|
@@ -290,6 +305,12 @@ export async function miniDoctor(dir) {
|
|
|
290
305
|
else {
|
|
291
306
|
try {
|
|
292
307
|
const parsed = TOML.parse(kartaToml);
|
|
308
|
+
// RFC 0056: the same [genui] problems the deploy pre-flight refuses on,
|
|
309
|
+
// said as warnings here so a broken component catalog surfaces while you
|
|
310
|
+
// develop. The manifest this doctor already read is handed straight in
|
|
311
|
+
// rather than read and parsed a second time.
|
|
312
|
+
const genui = await checkGenui({ path: manifestPath, text: kartaToml, parsed });
|
|
313
|
+
warnings.push(...genui.problems);
|
|
293
314
|
const env = parsed.env;
|
|
294
315
|
if (env) {
|
|
295
316
|
const localEnv = await readOptionalLocalFile(path.join(dir, ".env"), ".env");
|
|
@@ -425,7 +446,10 @@ async function waitForHealthy(baseUrl, fetchImpl, child, timeoutMs, spawnError =
|
|
|
425
446
|
async function createSession(baseUrl, fetchImpl, endUserId) {
|
|
426
447
|
const res = await fetchAgentApi(baseUrl, fetchImpl, "/v1/sessions", "create a session", {
|
|
427
448
|
method: "POST",
|
|
428
|
-
headers: {
|
|
449
|
+
headers: {
|
|
450
|
+
"Content-Type": "application/json",
|
|
451
|
+
"Idempotency-Key": mintIdempotencyKey("session"),
|
|
452
|
+
},
|
|
429
453
|
body: JSON.stringify({ metadata: endUserId ? { end_user_id: endUserId } : {} }),
|
|
430
454
|
});
|
|
431
455
|
if (!res.ok) {
|
|
@@ -437,13 +461,13 @@ async function createSession(baseUrl, fetchImpl, endUserId) {
|
|
|
437
461
|
}
|
|
438
462
|
return body.id;
|
|
439
463
|
}
|
|
440
|
-
export async function runTurn(baseUrl, fetchImpl, sessionId, text, io, signal) {
|
|
464
|
+
export async function runTurn(baseUrl, fetchImpl, sessionId, text, io, { signal, operation = "turn" } = {}) {
|
|
441
465
|
const res = await fetchAgentApi(baseUrl, fetchImpl, `/v1/sessions/${sessionId}/messages`, "send the message", {
|
|
442
466
|
method: "POST",
|
|
443
467
|
headers: {
|
|
444
468
|
"Content-Type": "application/json",
|
|
445
469
|
Accept: "text/event-stream",
|
|
446
|
-
"Idempotency-Key":
|
|
470
|
+
"Idempotency-Key": mintIdempotencyKey(operation),
|
|
447
471
|
},
|
|
448
472
|
body: JSON.stringify({ text, stream: true }),
|
|
449
473
|
signal,
|
|
@@ -453,15 +477,19 @@ export async function runTurn(baseUrl, fetchImpl, sessionId, text, io, signal) {
|
|
|
453
477
|
"the [runtime] output (dharta dev) or `dharta logs [slug]` (deployed).");
|
|
454
478
|
}
|
|
455
479
|
const pending = await renderEventStream(parseSse(res.body), io);
|
|
456
|
-
await resolvePendingInputs(baseUrl, fetchImpl, sessionId, pending, io);
|
|
480
|
+
await resolvePendingInputs(baseUrl, fetchImpl, sessionId, pending, io, operation);
|
|
457
481
|
}
|
|
458
482
|
// Approval loop: the harness pauses on tool permissions; the decision
|
|
459
483
|
// goes back over the same API the widget uses. The PUT's response is
|
|
460
484
|
// itself a batch of events (it may pause again).
|
|
461
|
-
async function resolvePendingInputs(baseUrl, fetchImpl, sessionId, first, io) {
|
|
485
|
+
async function resolvePendingInputs(baseUrl, fetchImpl, sessionId, first, io, operation) {
|
|
462
486
|
let pending = first;
|
|
463
487
|
let abortHintShown = false;
|
|
488
|
+
// Counts the decisions in THIS turn. The request id is unique too, but it is
|
|
489
|
+
// minted per run, so a key built from it would never match on a rerun.
|
|
490
|
+
let decisionIndex = 0;
|
|
464
491
|
while (pending) {
|
|
492
|
+
decisionIndex += 1;
|
|
465
493
|
const prompt = pending.message ?? `The agent wants to use ${pending.tool ?? "a tool"}`;
|
|
466
494
|
const answer = await io.ask(`\n${prompt} - approve? [y=once / s=session / n=deny] `);
|
|
467
495
|
if (answer === null && !abortHintShown) {
|
|
@@ -483,7 +511,10 @@ async function resolvePendingInputs(baseUrl, fetchImpl, sessionId, first, io) {
|
|
|
483
511
|
: "deny";
|
|
484
512
|
const res = await fetchAgentApi(baseUrl, fetchImpl, `/v1/sessions/${sessionId}/inputs/${pending.request_id}`, "deliver the decision", {
|
|
485
513
|
method: "PUT",
|
|
486
|
-
headers: {
|
|
514
|
+
headers: {
|
|
515
|
+
"Content-Type": "application/json",
|
|
516
|
+
"Idempotency-Key": mintIdempotencyKey(`${operation}.input.${decisionIndex}`),
|
|
517
|
+
},
|
|
487
518
|
body: JSON.stringify({ decision }),
|
|
488
519
|
});
|
|
489
520
|
if (!res.ok) {
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type RuntimeResolveOptions } from "../runtime.js";
|
|
2
|
+
import { type RunCommandStatus } from "../model-auth.js";
|
|
2
3
|
export interface DoctorReport {
|
|
3
4
|
lines: string[];
|
|
4
5
|
ok: boolean;
|
|
@@ -9,5 +10,6 @@ export interface DoctorOptions extends RuntimeResolveOptions {
|
|
|
9
10
|
currentVersion?: string;
|
|
10
11
|
fetchImpl?: typeof fetch;
|
|
11
12
|
latestUrl?: string;
|
|
13
|
+
modelAuthCommand?: RunCommandStatus;
|
|
12
14
|
}
|
|
13
15
|
export declare function doctor(opts?: DoctorOptions): Promise<DoctorReport>;
|
package/dist/commands/doctor.js
CHANGED
|
@@ -7,6 +7,20 @@ import { loadConfig } from "../config.js";
|
|
|
7
7
|
import { resolveRuntime, whichAll } from "../runtime.js";
|
|
8
8
|
import { installChannel, packageRoot } from "./update.js";
|
|
9
9
|
import { checkNpmLatestVersion, NPM_LATEST_URL } from "../version-check.js";
|
|
10
|
+
import { capabilityFor, checkClaudeAuth, formatModelAuthCapability, MODEL_AUTH_MISSING, runtimeSwitchOpen, } from "../model-auth.js";
|
|
11
|
+
// A malformed `DHARTA_MODEL_AUTH_*_ENABLED` is exactly the class of problem
|
|
12
|
+
// doctor exists to explain, so it is reported as a failed line rather than
|
|
13
|
+
// thrown: `runtimeSwitchOpen` raises on any value outside its two lists, and an
|
|
14
|
+
// unguarded call took out the whole report over one typo. A capability whose
|
|
15
|
+
// switch cannot be read counts as closed.
|
|
16
|
+
function readRuntimeSwitch(capability, env) {
|
|
17
|
+
try {
|
|
18
|
+
return { open: runtimeSwitchOpen(capability, env) };
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
return { open: false, problem: err instanceof Error ? err.message : String(err) };
|
|
22
|
+
}
|
|
23
|
+
}
|
|
10
24
|
export async function doctor(opts = {}) {
|
|
11
25
|
const env = opts.env ?? process.env;
|
|
12
26
|
const lines = [];
|
|
@@ -56,6 +70,52 @@ export async function doctor(opts = {}) {
|
|
|
56
70
|
lines.push(` ${l}`);
|
|
57
71
|
}
|
|
58
72
|
}
|
|
73
|
+
const apiKeyCapability = capabilityFor("api-key");
|
|
74
|
+
const apiKeySwitch = readRuntimeSwitch(apiKeyCapability, env);
|
|
75
|
+
if (apiKeySwitch.problem) {
|
|
76
|
+
ok = false;
|
|
77
|
+
lines.push(`✗ ${apiKeySwitch.problem}`);
|
|
78
|
+
lines.push(" Fix: set it to true or false, or unset it.");
|
|
79
|
+
}
|
|
80
|
+
const apiKeyPresent = Boolean(env.ANTHROPIC_API_KEY?.trim());
|
|
81
|
+
const apiKeyReady = apiKeyPresent && apiKeyCapability.admission === "enabled" && apiKeySwitch.open;
|
|
82
|
+
if (!apiKeyPresent) {
|
|
83
|
+
lines.push(`- ${MODEL_AUTH_MISSING}: ANTHROPIC_API_KEY is not set.`);
|
|
84
|
+
}
|
|
85
|
+
else if (!apiKeyReady) {
|
|
86
|
+
lines.push(`- ANTHROPIC_API_KEY is set, but ${apiKeyCapability.id} is disabled (model_auth_capability_disabled).`);
|
|
87
|
+
lines.push(` ${formatModelAuthCapability(apiKeyCapability)}`);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
lines.push(`✓ Anthropic API key auth: ${formatModelAuthCapability(apiKeyCapability)}`);
|
|
91
|
+
}
|
|
92
|
+
const claude = checkClaudeAuth(env, opts.modelAuthCommand);
|
|
93
|
+
const claudeCapability = capabilityFor("claude");
|
|
94
|
+
const claudeSwitch = readRuntimeSwitch(claudeCapability, env);
|
|
95
|
+
if (claudeSwitch.problem) {
|
|
96
|
+
ok = false;
|
|
97
|
+
lines.push(`✗ ${claudeSwitch.problem}`);
|
|
98
|
+
lines.push(" Fix: set it to true or false, or unset it.");
|
|
99
|
+
}
|
|
100
|
+
let claudeReady = false;
|
|
101
|
+
if (!claude.installed) {
|
|
102
|
+
lines.push(`- ${MODEL_AUTH_MISSING}: Claude client is not on PATH. Install it, then run \`claude auth login\` to use \`dharta dev --model-auth claude\`.`);
|
|
103
|
+
}
|
|
104
|
+
else if (!claude.authenticated) {
|
|
105
|
+
lines.push(`- ${MODEL_AUTH_MISSING}: Claude client is not logged in. Run \`claude auth login\`, then retry \`dharta dev --model-auth claude\`.`);
|
|
106
|
+
}
|
|
107
|
+
else if (claudeCapability.admission !== "enabled" || !claudeSwitch.open) {
|
|
108
|
+
lines.push(`- Claude client is logged in, but ${claudeCapability.id} is disabled (model_auth_capability_disabled).`);
|
|
109
|
+
lines.push(` ${formatModelAuthCapability(claudeCapability)}`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
claudeReady = true;
|
|
113
|
+
lines.push(`✓ Claude client auth: ${formatModelAuthCapability(claudeCapability)}`);
|
|
114
|
+
}
|
|
115
|
+
if (!apiKeyReady && !claudeReady) {
|
|
116
|
+
ok = false;
|
|
117
|
+
lines.push(" Fix: export ANTHROPIC_API_KEY or run `claude auth login` before `dharta dev`.");
|
|
118
|
+
}
|
|
59
119
|
if (opts.checkLatest !== false) {
|
|
60
120
|
const version = await checkLatestVersion(opts);
|
|
61
121
|
if (version.status === "outdated") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yEAAyE;AACzE,qEAAqE;AACrE,sEAAsE;AAEtE,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,QAAQ,EAA8B,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
1
|
import { inferAgentSlug } from "../agent.js";
|
|
3
2
|
import { fmtTs, table } from "../output.js";
|
|
4
3
|
import { normalizeHttpUrl, normalizeNonBlank } from "../validators.js";
|
|
4
|
+
import { CliUsageError } from "../exit-codes.js";
|
|
5
5
|
export async function embedKeysListData(ctx, opts) {
|
|
6
6
|
const slug = await inferAgentSlug(opts);
|
|
7
7
|
const res = await ctx.http.request({
|
|
@@ -23,7 +23,6 @@ export async function embedKeysCreateData(ctx, name, opts) {
|
|
|
23
23
|
const res = await ctx.http.request({
|
|
24
24
|
method: "POST",
|
|
25
25
|
path: `/api/agents/${encodeURIComponent(slug)}/embed_keys`,
|
|
26
|
-
headers: idempotencyHeader(),
|
|
27
26
|
body: {
|
|
28
27
|
name: normalizedName,
|
|
29
28
|
allowed_origins: normalizedOrigins,
|
|
@@ -50,7 +49,6 @@ export async function embedKeysRotateData(ctx, id, opts) {
|
|
|
50
49
|
const res = await ctx.http.request({
|
|
51
50
|
method: "POST",
|
|
52
51
|
path: `/api/agents/${encodeURIComponent(slug)}/embed_keys/${encodeURIComponent(normalizedId)}/rotate`,
|
|
53
|
-
headers: idempotencyHeader(),
|
|
54
52
|
});
|
|
55
53
|
return { slug, ...res };
|
|
56
54
|
}
|
|
@@ -68,7 +66,6 @@ export async function embedKeysToggleData(ctx, id, action, opts) {
|
|
|
68
66
|
const res = await ctx.http.request({
|
|
69
67
|
method: "POST",
|
|
70
68
|
path: `/api/agents/${encodeURIComponent(slug)}/embed_keys/${encodeURIComponent(normalizedId)}/${action}`,
|
|
71
|
-
headers: idempotencyHeader(),
|
|
72
69
|
});
|
|
73
70
|
return { slug, ...res };
|
|
74
71
|
}
|
|
@@ -82,7 +79,6 @@ export async function embedKeysSetIdentityData(ctx, id, opts) {
|
|
|
82
79
|
const res = await ctx.http.request({
|
|
83
80
|
method: "POST",
|
|
84
81
|
path: `/api/agents/${encodeURIComponent(slug)}/embed_keys/${encodeURIComponent(normalizedId)}/identity`,
|
|
85
|
-
headers: idempotencyHeader(),
|
|
86
82
|
});
|
|
87
83
|
return { slug, ...res };
|
|
88
84
|
}
|
|
@@ -100,7 +96,6 @@ export async function embedKeysClearIdentityData(ctx, id, opts) {
|
|
|
100
96
|
const res = await ctx.http.request({
|
|
101
97
|
method: "DELETE",
|
|
102
98
|
path: `/api/agents/${encodeURIComponent(slug)}/embed_keys/${encodeURIComponent(normalizedId)}/identity`,
|
|
103
|
-
headers: idempotencyHeader(),
|
|
104
99
|
});
|
|
105
100
|
return { slug, ...res };
|
|
106
101
|
}
|
|
@@ -114,7 +109,6 @@ export async function embedKeysRevokeData(ctx, id, opts) {
|
|
|
114
109
|
await ctx.http.request({
|
|
115
110
|
method: "DELETE",
|
|
116
111
|
path: `/api/agents/${encodeURIComponent(slug)}/embed_keys/${encodeURIComponent(normalizedId)}`,
|
|
117
|
-
headers: idempotencyHeader(),
|
|
118
112
|
});
|
|
119
113
|
return { slug, id: normalizedId, revoked: true };
|
|
120
114
|
}
|
|
@@ -130,7 +124,7 @@ export function parseOrigins(input) {
|
|
|
130
124
|
.map((value) => value.trim())
|
|
131
125
|
.filter(Boolean);
|
|
132
126
|
if (origins.length === 0) {
|
|
133
|
-
throw new
|
|
127
|
+
throw new CliUsageError("--origin must include at least one origin, e.g. --origin https://app.example.com.");
|
|
134
128
|
}
|
|
135
129
|
return origins.map((origin) => normalizeOrigin(origin));
|
|
136
130
|
}
|
|
@@ -138,7 +132,7 @@ function normalizeOrigin(origin) {
|
|
|
138
132
|
const normalized = normalizeHttpUrl(origin, "--origin");
|
|
139
133
|
const parsed = new URL(normalized);
|
|
140
134
|
if (parsed.pathname !== "/" || parsed.search || parsed.hash) {
|
|
141
|
-
throw new
|
|
135
|
+
throw new CliUsageError("--origin must be an origin like https://app.example.com, without a path, query, or fragment.");
|
|
142
136
|
}
|
|
143
137
|
return parsed.origin;
|
|
144
138
|
}
|
|
@@ -152,13 +146,10 @@ function row(key) {
|
|
|
152
146
|
created: fmtTs(key.created_at),
|
|
153
147
|
};
|
|
154
148
|
}
|
|
155
|
-
function idempotencyHeader() {
|
|
156
|
-
return { "Idempotency-Key": randomUUID() };
|
|
157
|
-
}
|
|
158
149
|
function normalizeEmbedKeyName(name) {
|
|
159
150
|
const normalized = name.trim();
|
|
160
151
|
if (!normalized) {
|
|
161
|
-
throw new
|
|
152
|
+
throw new CliUsageError("Embed key name cannot be blank.");
|
|
162
153
|
}
|
|
163
154
|
return normalized;
|
|
164
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"embed-keys.js","sourceRoot":"","sources":["../../src/commands/embed-keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"embed-keys.js","sourceRoot":"","sources":["../../src/commands/embed-keys.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/env.js
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
// locally; these verbs manage the prod bindings and report drift.
|
|
4
4
|
import { promises as fs } from "node:fs";
|
|
5
5
|
import * as path from "node:path";
|
|
6
|
-
import { randomUUID } from "node:crypto";
|
|
7
6
|
import TOML from "@iarna/toml";
|
|
8
7
|
import { inferAgentSlug, validateAgentSelectorOptions } from "../agent.js";
|
|
9
8
|
import { table } from "../output.js";
|
|
10
9
|
import { normalizeNonBlank } from "../validators.js";
|
|
10
|
+
import { CliUsageError } from "../exit-codes.js";
|
|
11
11
|
// Env values routinely hold credentials the setter never flagged `--secret`
|
|
12
12
|
// (a GitHub PAT, a webhook signing key). `list` therefore masks EVERY value by
|
|
13
13
|
// default - a routine listing must never dump a live secret to the terminal or
|
|
14
14
|
// CI logs. A short tail is kept so an operator can still tell two bindings
|
|
15
|
-
// apart (matching how `whoami`/model
|
|
15
|
+
// apart (matching how `whoami`/model connections show only a tail); `--reveal` prints
|
|
16
16
|
// the full value for the rare time it is actually needed.
|
|
17
17
|
export function maskEnvValue(v, reveal) {
|
|
18
18
|
if (reveal)
|
|
@@ -52,7 +52,6 @@ export async function envSetData(ctx, assignment, opts = {}) {
|
|
|
52
52
|
method: "PUT",
|
|
53
53
|
path: `/api/agents/${encodeURIComponent(slug)}/env/${encodeURIComponent(name)}`,
|
|
54
54
|
body,
|
|
55
|
-
headers: { "Idempotency-Key": randomUUID() },
|
|
56
55
|
});
|
|
57
56
|
return { slug, name, secret: !!opts.secret };
|
|
58
57
|
}
|
|
@@ -65,7 +64,7 @@ export function validateEnvName(name) {
|
|
|
65
64
|
function parseEnvAssignment(assignment) {
|
|
66
65
|
const eq = assignment.indexOf("=");
|
|
67
66
|
if (eq <= 0) {
|
|
68
|
-
throw new
|
|
67
|
+
throw new CliUsageError("Usage: dharta env set NAME=value [--secret]");
|
|
69
68
|
}
|
|
70
69
|
const name = normalizeEnvName(assignment.slice(0, eq));
|
|
71
70
|
const value = assignment.slice(eq + 1);
|
|
@@ -82,7 +81,6 @@ export async function envUnsetData(ctx, name, opts = {}) {
|
|
|
82
81
|
await ctx.http.request({
|
|
83
82
|
method: "DELETE",
|
|
84
83
|
path: `/api/agents/${encodeURIComponent(slug)}/env/${encodeURIComponent(normalizedName)}`,
|
|
85
|
-
headers: { "Idempotency-Key": randomUUID() },
|
|
86
84
|
});
|
|
87
85
|
return { slug, name: normalizedName, removed: true };
|
|
88
86
|
}
|
|
@@ -102,7 +100,6 @@ export async function envPullData(ctx, opts = {}) {
|
|
|
102
100
|
method: "POST",
|
|
103
101
|
path: `/api/agents/${encodeURIComponent(slug)}/env/pull`,
|
|
104
102
|
body: { include_secrets: !!opts.includeSecrets },
|
|
105
|
-
headers: { "Idempotency-Key": randomUUID() },
|
|
106
103
|
});
|
|
107
104
|
const bound = body.env.filter((v) => !v.withheld);
|
|
108
105
|
const lines = bound.map((v) => `${v.name}=${quoteIfNeeded(v.value ?? "")}`);
|
|
@@ -275,7 +272,7 @@ async function validateEnvPullTarget(dir, target, force) {
|
|
|
275
272
|
throw new Error(`Cannot write .env to ${target}: expected a file, got a directory.`);
|
|
276
273
|
}
|
|
277
274
|
if (!force) {
|
|
278
|
-
throw new
|
|
275
|
+
throw new CliUsageError(`${target} already exists. Re-run with --force to overwrite it (local-only keys are lost).`);
|
|
279
276
|
}
|
|
280
277
|
}
|
|
281
278
|
catch (error) {
|