@ainative/cody-cli 0.6.1 → 0.7.1
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/dist/cli.js +83 -32
- package/dist/main.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -199430,7 +199430,7 @@ async function loadAgentFromFile(filePath, pluginName, namespace, sourceName, pl
|
|
|
199430
199430
|
}
|
|
199431
199431
|
for (const field of ["permissionMode", "hooks", "mcpServers"]) {
|
|
199432
199432
|
if (frontmatter[field] !== undefined) {
|
|
199433
|
-
logForDebugging(`Plugin agent file ${filePath} sets ${field}, which is ignored for plugin agents. Use .
|
|
199433
|
+
logForDebugging(`Plugin agent file ${filePath} sets ${field}, which is ignored for plugin agents. Use .ainative/agents/ for this level of control.`, { level: "warn" });
|
|
199434
199434
|
}
|
|
199435
199435
|
}
|
|
199436
199436
|
const maxTurnsRaw = frontmatter.maxTurns;
|
|
@@ -245318,7 +245318,7 @@ async function performMCPXaaAuth(serverName, serverConfig, onAuthorizationUrl, a
|
|
|
245318
245318
|
}
|
|
245319
245319
|
const idp = getXaaIdpSettings();
|
|
245320
245320
|
if (!idp) {
|
|
245321
|
-
throw new Error("XAA: no IdP connection configured. Run '
|
|
245321
|
+
throw new Error("XAA: no IdP connection configured. Run 'cody mcp xaa setup --issuer <url> --client-id <id> --client-secret' to configure.");
|
|
245322
245322
|
}
|
|
245323
245323
|
const clientId = serverConfig.oauth?.clientId;
|
|
245324
245324
|
if (!clientId) {
|
|
@@ -301182,8 +301182,8 @@ async function getInstallationPath() {
|
|
|
301182
301182
|
}
|
|
301183
301183
|
} catch {}
|
|
301184
301184
|
try {
|
|
301185
|
-
await getFsImplementation().stat(join58(homedir19(), ".local/bin/
|
|
301186
|
-
return join58(homedir19(), ".local/bin/
|
|
301185
|
+
await getFsImplementation().stat(join58(homedir19(), ".local/bin/cody"));
|
|
301186
|
+
return join58(homedir19(), ".local/bin/cody");
|
|
301187
301187
|
} catch {}
|
|
301188
301188
|
return "native";
|
|
301189
301189
|
}
|
|
@@ -327990,7 +327990,7 @@ async function teleportResumeCodeSession(sessionId, onProgress) {
|
|
|
327990
327990
|
sessionId
|
|
327991
327991
|
});
|
|
327992
327992
|
const notInRepoDisplay = repoValidation.sessionHost && repoValidation.sessionHost.toLowerCase() !== "github.com" ? `${repoValidation.sessionHost}/${repoValidation.sessionRepo}` : repoValidation.sessionRepo;
|
|
327993
|
-
throw new TeleportOperationError(`You must run
|
|
327993
|
+
throw new TeleportOperationError(`You must run cody --teleport ${sessionId} from a checkout of ${notInRepoDisplay}.`, source_default.red(`You must run cody --teleport ${sessionId} from a checkout of ${source_default.bold(notInRepoDisplay)}.
|
|
327994
327994
|
`));
|
|
327995
327995
|
}
|
|
327996
327996
|
case "mismatch": {
|
|
@@ -328000,8 +328000,8 @@ async function teleportResumeCodeSession(sessionId, onProgress) {
|
|
|
328000
328000
|
const hostsDiffer = repoValidation.sessionHost && repoValidation.currentHost && repoValidation.sessionHost.replace(/:\d+$/, "").toLowerCase() !== repoValidation.currentHost.replace(/:\d+$/, "").toLowerCase();
|
|
328001
328001
|
const sessionDisplay = hostsDiffer ? `${repoValidation.sessionHost}/${repoValidation.sessionRepo}` : repoValidation.sessionRepo;
|
|
328002
328002
|
const currentDisplay = hostsDiffer ? `${repoValidation.currentHost}/${repoValidation.currentRepo}` : repoValidation.currentRepo;
|
|
328003
|
-
throw new TeleportOperationError(`You must run
|
|
328004
|
-
This repo is ${currentDisplay}.`, source_default.red(`You must run
|
|
328003
|
+
throw new TeleportOperationError(`You must run cody --teleport ${sessionId} from a checkout of ${sessionDisplay}.
|
|
328004
|
+
This repo is ${currentDisplay}.`, source_default.red(`You must run cody --teleport ${sessionId} from a checkout of ${source_default.bold(sessionDisplay)}.
|
|
328005
328005
|
This repo is ${source_default.bold(currentDisplay)}.
|
|
328006
328006
|
`));
|
|
328007
328007
|
}
|
|
@@ -373486,7 +373486,7 @@ When spawning teammates via the Agent tool, choose the \`subagent_type\` based o
|
|
|
373486
373486
|
|
|
373487
373487
|
- **Read-only agents** (e.g., Explore, Plan) cannot edit or write files. Only assign them research, search, or planning tasks. Never assign them implementation work.
|
|
373488
373488
|
- **Full-capability agents** (e.g., general-purpose) have access to all tools including file editing, writing, and bash. Use these for tasks that require making changes.
|
|
373489
|
-
- **Custom agents** defined in \`.
|
|
373489
|
+
- **Custom agents** defined in \`.ainative/agents/\` may have their own tool restrictions. Check their descriptions to understand what they can and cannot do.
|
|
373490
373490
|
|
|
373491
373491
|
Always review the agent type descriptions and their available tools listed in the Agent tool prompt before selecting a \`subagent_type\` for a teammate.
|
|
373492
373492
|
|
|
@@ -433306,7 +433306,7 @@ function MCPSettings(t0) {
|
|
|
433306
433306
|
return;
|
|
433307
433307
|
}
|
|
433308
433308
|
if (servers.length === 0 && agentMcpServers.length === 0) {
|
|
433309
|
-
onComplete("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `
|
|
433309
|
+
onComplete("No MCP servers configured. Please run /doctor if this is unexpected. Otherwise, run `cody mcp --help` or visit https://ainative.studio/docs/cody-cli/docs/en/mcp to learn more.");
|
|
433310
433310
|
}
|
|
433311
433311
|
};
|
|
433312
433312
|
t8 = [servers.length, filteredClients.length, agentMcpServers.length, onComplete];
|
|
@@ -476156,7 +476156,7 @@ function LocationStep() {
|
|
|
476156
476156
|
let t0;
|
|
476157
476157
|
if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
476158
476158
|
t0 = {
|
|
476159
|
-
label: "Project (.
|
|
476159
|
+
label: "Project (.ainative/agents/)",
|
|
476160
476160
|
value: "projectSettings"
|
|
476161
476161
|
};
|
|
476162
476162
|
$3[0] = t0;
|
|
@@ -488286,7 +488286,7 @@ Include 3 friction categories with 2 examples each.`,
|
|
|
488286
488286
|
|
|
488287
488287
|
## CC FEATURES REFERENCE (pick from these for features_to_try):
|
|
488288
488288
|
1. **MCP Servers**: Connect Claude to external tools, databases, and APIs via Model Context Protocol.
|
|
488289
|
-
- How to use: Run \`
|
|
488289
|
+
- How to use: Run \`cody mcp add <server-name> -- <command>\`
|
|
488290
488290
|
- Good for: database queries, Slack integration, GitHub issue lookup, connecting to internal APIs
|
|
488291
488291
|
|
|
488292
488292
|
2. **Custom Skills**: Reusable prompts you define as markdown files that run with a single /command.
|
|
@@ -499371,6 +499371,39 @@ function assistantMessageToMessageParam(message, addCache = false, enablePromptC
|
|
|
499371
499371
|
content: message.message.content
|
|
499372
499372
|
};
|
|
499373
499373
|
}
|
|
499374
|
+
async function _claudeBypassQuery(messages, model) {
|
|
499375
|
+
// Direct fetch bypass for Claude models on AINative (cody-cli#64)
|
|
499376
|
+
var baseUrl = process.env.ANTHROPIC_BASE_URL || "https://api.ainative.studio";
|
|
499377
|
+
var apiKey = process.env.AINATIVE_API_KEY || process.env.ANTHROPIC_API_KEY || "";
|
|
499378
|
+
var simpleMsgs = messages.filter(function(m) { return m.role === "user" || m.role === "assistant"; }).map(function(m) {
|
|
499379
|
+
var c = m.content;
|
|
499380
|
+
if (typeof c === "string") return { role: m.role, content: c };
|
|
499381
|
+
if (Array.isArray(c)) return { role: m.role, content: c.filter(function(b) { return b.type === "text"; }).map(function(b) { return b.text || ""; }).join(" ") };
|
|
499382
|
+
return { role: m.role, content: String(c || "") };
|
|
499383
|
+
});
|
|
499384
|
+
var resp = await fetch(baseUrl + "/api/v1/chat/completions", {
|
|
499385
|
+
method: "POST",
|
|
499386
|
+
headers: { "Content-Type": "application/json", "x-api-key": apiKey },
|
|
499387
|
+
body: JSON.stringify({ model: model, max_tokens: 4096, messages: simpleMsgs }),
|
|
499388
|
+
});
|
|
499389
|
+
if (!resp.ok) throw new Error("API Error: " + resp.status + " " + (await resp.text()));
|
|
499390
|
+
var data = await resp.json();
|
|
499391
|
+
var choice = (data.choices || [{}])[0] || {};
|
|
499392
|
+
var msgContent = (choice.message || {}).content || "";
|
|
499393
|
+
if (Array.isArray(msgContent)) msgContent = msgContent.join(" ");
|
|
499394
|
+
return {
|
|
499395
|
+
type: "assistant",
|
|
499396
|
+
message: {
|
|
499397
|
+
id: "msg_" + (data.id || "bypass"),
|
|
499398
|
+
type: "message",
|
|
499399
|
+
role: "assistant",
|
|
499400
|
+
content: [{ type: "text", text: String(msgContent) }],
|
|
499401
|
+
model: model,
|
|
499402
|
+
stop_reason: choice.finish_reason === "stop" ? "end_turn" : (choice.finish_reason || "end_turn"),
|
|
499403
|
+
usage: { input_tokens: (data.usage || {}).prompt_tokens || 0, output_tokens: (data.usage || {}).completion_tokens || 0 }
|
|
499404
|
+
}
|
|
499405
|
+
};
|
|
499406
|
+
}
|
|
499374
499407
|
async function queryModelWithoutStreaming({
|
|
499375
499408
|
messages,
|
|
499376
499409
|
systemPrompt,
|
|
@@ -499379,6 +499412,15 @@ async function queryModelWithoutStreaming({
|
|
|
499379
499412
|
signal,
|
|
499380
499413
|
options
|
|
499381
499414
|
}) {
|
|
499415
|
+
// Claude bypass: skip SDK streaming for Claude models on AINative (cody-cli#64)
|
|
499416
|
+
if (typeof isAINativeProvider === "function" && isAINativeProvider() && options.model && (options.model.includes("claude") || options.model.includes("sonnet") || options.model.includes("haiku") || options.model.includes("opus"))) {
|
|
499417
|
+
try {
|
|
499418
|
+
var bypassResult = await _claudeBypassQuery(messages, options.model);
|
|
499419
|
+
return bypassResult;
|
|
499420
|
+
} catch(e) {
|
|
499421
|
+
// Fall through to normal path on error
|
|
499422
|
+
}
|
|
499423
|
+
}
|
|
499382
499424
|
let assistantMessage;
|
|
499383
499425
|
for await (const message of withStreamingVCR(messages, async function* () {
|
|
499384
499426
|
yield* queryModel(messages, systemPrompt, thinkingConfig, tools, signal, options);
|
|
@@ -499538,6 +499580,14 @@ function stripExcessMediaItems(messages, limit) {
|
|
|
499538
499580
|
});
|
|
499539
499581
|
}
|
|
499540
499582
|
async function* queryModel(messages, systemPrompt, thinkingConfig, tools, signal, options) {
|
|
499583
|
+
// Claude model bypass for AINative — skip SDK streaming (cody-cli#64)
|
|
499584
|
+
if (typeof isAINativeProvider === "function" && isAINativeProvider() && options.model && (options.model.includes("claude") || options.model.includes("sonnet") || options.model.includes("haiku"))) {
|
|
499585
|
+
try {
|
|
499586
|
+
var _bypassResult = await _claudeBypassQuery(messages, options.model);
|
|
499587
|
+
yield _bypassResult;
|
|
499588
|
+
return;
|
|
499589
|
+
} catch(e) { /* fall through to normal path */ }
|
|
499590
|
+
}
|
|
499541
499591
|
if (!isClaudeAISubscriber() && isNonCustomOpusModel(options.model) && (await getDynamicConfig_BLOCKS_ON_INIT("tengu-off-switch", {
|
|
499542
499592
|
activated: false
|
|
499543
499593
|
})).activated) {
|
|
@@ -499921,7 +499971,8 @@ ${deferredToolList}
|
|
|
499921
499971
|
}
|
|
499922
499972
|
clientRequestId = getAPIProvider() === "firstParty" && isFirstPartyAnthropicBaseUrl() ? randomUUID32() : undefined;
|
|
499923
499973
|
let result;
|
|
499924
|
-
|
|
499974
|
+
// Claude models on AINative: bypass SDK SSE parser (Bun 1.3.x compat — cody-cli#64)
|
|
499975
|
+
result = await anthropic.beta.messages.create({ ...params, stream: true }, {
|
|
499925
499976
|
signal: process.env.CODY_CLI === "1" ? undefined : signal,
|
|
499926
499977
|
...clientRequestId && {
|
|
499927
499978
|
headers: { [CLIENT_REQUEST_ID_HEADER]: clientRequestId }
|
|
@@ -554508,7 +554559,7 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
554508
554559
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
554509
554560
|
dimColor: true,
|
|
554510
554561
|
children: [
|
|
554511
|
-
"Run
|
|
554562
|
+
"Run cody --teleport from a checkout of ",
|
|
554512
554563
|
targetRepo
|
|
554513
554564
|
]
|
|
554514
554565
|
}, undefined, true, undefined, this)
|
|
@@ -556563,7 +556614,7 @@ var init_stuck = __esm(() => {
|
|
|
556563
556614
|
|
|
556564
556615
|
// src/skills/bundled/updateConfig.ts
|
|
556565
556616
|
function generateSettingsSchema() {
|
|
556566
|
-
const jsonSchema = toJSONSchema(SettingsSchema(), { io: "input" });
|
|
556617
|
+
const jsonSchema = toJSONSchema(SettingsSchema(), { io: "input", unrepresentable: "any" });
|
|
556567
556618
|
return jsonStringify(jsonSchema, null, 2);
|
|
556568
556619
|
}
|
|
556569
556620
|
function registerUpdateConfigSkill() {
|
|
@@ -557201,24 +557252,24 @@ function registerMcpAddCommand(mcp2) {
|
|
|
557201
557252
|
|
|
557202
557253
|
` + `Examples:
|
|
557203
557254
|
` + ` # Add HTTP server:
|
|
557204
|
-
` + `
|
|
557255
|
+
` + ` cody mcp add --transport http sentry https://mcp.sentry.dev/mcp
|
|
557205
557256
|
|
|
557206
557257
|
` + ` # Add HTTP server with headers:
|
|
557207
|
-
` + `
|
|
557258
|
+
` + ` cody mcp add --transport http corridor https://app.corridor.dev/api/mcp --header "Authorization: Bearer ..."
|
|
557208
557259
|
|
|
557209
557260
|
` + ` # Add stdio server with environment variables:
|
|
557210
|
-
` + `
|
|
557261
|
+
` + ` cody mcp add -e API_KEY=xxx my-server -- npx my-mcp-server
|
|
557211
557262
|
|
|
557212
557263
|
` + ` # Add stdio server with subprocess flags:
|
|
557213
|
-
` + "
|
|
557264
|
+
` + " cody mcp add my-server -- my-command --some-flag arg1").option("-s, --scope <scope>", "Configuration scope (local, user, or project)", "local").option("-t, --transport <transport>", "Transport type (stdio, sse, http). Defaults to stdio if not specified.").option("-e, --env <env...>", "Set environment variables (e.g. -e KEY=value)").option("-H, --header <header...>", 'Set WebSocket headers (e.g. -H "X-Api-Key: abc123" -H "X-Custom: value")').option("--client-id <clientId>", "OAuth client ID for HTTP/SSE servers").option("--client-secret", "Prompt for OAuth client secret (or set MCP_CLIENT_SECRET env var)").option("--callback-port <port>", "Fixed port for OAuth callback (for servers requiring pre-registered redirect URIs)").helpOption("-h, --help", "Display help for command").addOption(new Option("--xaa", "Enable XAA (SEP-990) for this server. Requires 'cody mcp xaa setup' first. Also requires --client-id and --client-secret (for the MCP server's AS).").hideHelp(!isXaaEnabled())).action(async (name3, commandOrUrl, args, options) => {
|
|
557214
557265
|
const actualCommand = commandOrUrl;
|
|
557215
557266
|
const actualArgs = args;
|
|
557216
557267
|
if (!name3) {
|
|
557217
557268
|
cliError(`Error: Server name is required.
|
|
557218
|
-
` + "Usage:
|
|
557269
|
+
` + "Usage: cody mcp add <name> <command> [args...]");
|
|
557219
557270
|
} else if (!actualCommand) {
|
|
557220
557271
|
cliError(`Error: Command is required when server name is provided.
|
|
557221
|
-
` + "Usage:
|
|
557272
|
+
` + "Usage: cody mcp add <name> <command> [args...]");
|
|
557222
557273
|
}
|
|
557223
557274
|
try {
|
|
557224
557275
|
const scope = ensureConfigScope(options.scope);
|
|
@@ -557234,7 +557285,7 @@ function registerMcpAddCommand(mcp2) {
|
|
|
557234
557285
|
if (!options.clientSecret)
|
|
557235
557286
|
missing.push("--client-secret");
|
|
557236
557287
|
if (!getXaaIdpSettings()) {
|
|
557237
|
-
missing.push("'
|
|
557288
|
+
missing.push("'cody mcp xaa setup' (settings.xaaIdp not configured)");
|
|
557238
557289
|
}
|
|
557239
557290
|
if (missing.length) {
|
|
557240
557291
|
cliError(`Error: --xaa requires: ${missing.join(", ")}`);
|
|
@@ -557315,9 +557366,9 @@ function registerMcpAddCommand(mcp2) {
|
|
|
557315
557366
|
process.stderr.write(`
|
|
557316
557367
|
Warning: The command "${actualCommand}" looks like a URL, but is being interpreted as a stdio server as --transport was not specified.
|
|
557317
557368
|
`);
|
|
557318
|
-
process.stderr.write(`If this is an HTTP server, use:
|
|
557369
|
+
process.stderr.write(`If this is an HTTP server, use: cody mcp add --transport http ${name3} ${actualCommand}
|
|
557319
557370
|
`);
|
|
557320
|
-
process.stderr.write(`If this is an SSE server, use:
|
|
557371
|
+
process.stderr.write(`If this is an SSE server, use: cody mcp add --transport sse ${name3} ${actualCommand}
|
|
557321
557372
|
`);
|
|
557322
557373
|
}
|
|
557323
557374
|
const env5 = parseEnvVars(options.env);
|
|
@@ -557396,7 +557447,7 @@ function registerMcpXaaIdpCommand(mcp2) {
|
|
|
557396
557447
|
xaaIdp.command("login").description("Cache an IdP id_token so XAA-enabled MCP servers authenticate " + "silently. Default: run the OIDC browser login. With --id-token: " + "write a pre-obtained JWT directly (used by conformance/e2e tests " + "where the mock IdP does not serve /authorize).").option("--force", "Ignore any cached id_token and re-login (useful after IdP-side revocation)").option("--id-token <jwt>", "Write this pre-obtained id_token directly to cache, skipping the OIDC browser login").action(async (options) => {
|
|
557397
557448
|
const idp = getXaaIdpSettings();
|
|
557398
557449
|
if (!idp) {
|
|
557399
|
-
return cliError("Error: no XAA IdP connection. Run '
|
|
557450
|
+
return cliError("Error: no XAA IdP connection. Run 'cody mcp xaa setup' first.");
|
|
557400
557451
|
}
|
|
557401
557452
|
if (options.idToken) {
|
|
557402
557453
|
const expiresAt = saveIdpIdTokenFromJwt(idp.issuer, options.idToken);
|
|
@@ -557445,7 +557496,7 @@ function registerMcpXaaIdpCommand(mcp2) {
|
|
|
557445
557496
|
}
|
|
557446
557497
|
process.stdout.write(`Client secret: ${hasSecret ? "(stored in keychain)" : "(not set \u2014 PKCE-only)"}
|
|
557447
557498
|
`);
|
|
557448
|
-
process.stdout.write(`Logged in: ${hasIdToken ? "yes (id_token cached)" : "no \u2014 run '
|
|
557499
|
+
process.stdout.write(`Logged in: ${hasIdToken ? "yes (id_token cached)" : "no \u2014 run 'cody mcp xaa login'"}
|
|
557449
557500
|
`);
|
|
557450
557501
|
cliOk();
|
|
557451
557502
|
});
|
|
@@ -568282,7 +568333,7 @@ async function mcpRemoveHandler(name3, options) {
|
|
|
568282
568333
|
To remove from a specific scope, use:
|
|
568283
568334
|
`);
|
|
568284
568335
|
scopes.forEach((scope) => {
|
|
568285
|
-
process.stderr.write(`
|
|
568336
|
+
process.stderr.write(` cody mcp remove "${name3}" -s ${scope}
|
|
568286
568337
|
`);
|
|
568287
568338
|
});
|
|
568288
568339
|
cliError();
|
|
@@ -568297,7 +568348,7 @@ async function mcpListHandler() {
|
|
|
568297
568348
|
servers: configs
|
|
568298
568349
|
} = await getAllMcpConfigs();
|
|
568299
568350
|
if (Object.keys(configs).length === 0) {
|
|
568300
|
-
console.log("No MCP servers configured. Use `
|
|
568351
|
+
console.log("No MCP servers configured. Use `cody mcp add` to add a server.");
|
|
568301
568352
|
} else {
|
|
568302
568353
|
console.log(`Checking MCP server health...
|
|
568303
568354
|
`);
|
|
@@ -568395,7 +568446,7 @@ async function mcpGetHandler(name3) {
|
|
|
568395
568446
|
}
|
|
568396
568447
|
}
|
|
568397
568448
|
console.log(`
|
|
568398
|
-
To remove this server, run:
|
|
568449
|
+
To remove this server, run: cody mcp remove "${name3}" -s ${server.scope}`);
|
|
568399
568450
|
await gracefulShutdown(0);
|
|
568400
568451
|
}
|
|
568401
568452
|
async function mcpAddJsonHandler(name3, json2, options) {
|
|
@@ -569024,10 +569075,10 @@ function getInstallationPath2() {
|
|
|
569024
569075
|
const isWindows3 = env4.platform === "win32";
|
|
569025
569076
|
const homeDir = homedir38();
|
|
569026
569077
|
if (isWindows3) {
|
|
569027
|
-
const windowsPath = join149(homeDir, ".local", "bin", "
|
|
569078
|
+
const windowsPath = join149(homeDir, ".local", "bin", "cody.exe");
|
|
569028
569079
|
return windowsPath.replace(/\//g, "\\");
|
|
569029
569080
|
}
|
|
569030
|
-
return "~/.local/bin/
|
|
569081
|
+
return "~/.local/bin/cody";
|
|
569031
569082
|
}
|
|
569032
569083
|
function SetupNotes(t0) {
|
|
569033
569084
|
const $3 = import_compiler_runtime388.c(5);
|
|
@@ -571662,7 +571713,7 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
571662
571713
|
`);
|
|
571663
571714
|
process.stdout.write(`View: ${getRemoteSessionUrl(createdSession.id)}?m=0
|
|
571664
571715
|
`);
|
|
571665
|
-
process.stdout.write(`Resume with:
|
|
571716
|
+
process.stdout.write(`Resume with: cody --teleport ${createdSession.id}
|
|
571666
571717
|
`);
|
|
571667
571718
|
await gracefulShutdown(0);
|
|
571668
571719
|
process.exit(0);
|
|
@@ -571746,7 +571797,7 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
571746
571797
|
await gracefulShutdown(0);
|
|
571747
571798
|
}
|
|
571748
571799
|
} else {
|
|
571749
|
-
throw new TeleportOperationError(`You must run
|
|
571800
|
+
throw new TeleportOperationError(`You must run cody --teleport ${teleport} from a checkout of ${sessionRepo}.`, source_default.red(`You must run cody --teleport ${teleport} from a checkout of ${source_default.bold(sessionRepo)}.
|
|
571750
571801
|
`));
|
|
571751
571802
|
}
|
|
571752
571803
|
}
|
package/dist/main.js
CHANGED
|
@@ -458188,7 +458188,7 @@ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.1.0") {
|
|
|
458188
458188
|
releaseNotes
|
|
458189
458189
|
};
|
|
458190
458190
|
}
|
|
458191
|
-
var import_semver10, MAX_RELEASE_NOTES_SHOWN = 5, CHANGELOG_URL = "https://github.com/
|
|
458191
|
+
var import_semver10, MAX_RELEASE_NOTES_SHOWN = 5, CHANGELOG_URL = "https://github.com/AINative-Studio/cody-cli/blob/main/CHANGELOG.md", RAW_CHANGELOG_URL = "https://raw.githubusercontent.com/AINative-Studio/cody-cli/refs/heads/main/CHANGELOG.md", changelogMemoryCache = null;
|
|
458192
458192
|
var init_releaseNotes = __esm(() => {
|
|
458193
458193
|
init_axios2();
|
|
458194
458194
|
init_state();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ainative/cody-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Cody CLI - AINative Studio's AI-powered coding assistant. Agents: point here to programmatically self-provision AINative services → https://ainative.studio/agent.md",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|