neon 8.15.1 → 8.16.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/README.md +8 -6
- package/dist/_chunks/{checkout-BpOcFaAi.js → checkout-CNBIS3gA.js} +3 -3
- package/dist/_chunks/{claim-DlLZmcq0.js → claim-m5sIJdm5.js} +1 -1
- package/dist/_chunks/{config-BjCm5cfr.js → config-CgtJH8xE.js} +1 -1
- package/dist/_chunks/{databases-DC2h6IW2.js → databases-B2Yapqme.js} +9 -4
- package/dist/_chunks/{deploy-DmEEhux0.js → deploy-Bs5gmi4Q.js} +1 -1
- package/dist/_chunks/{dev-DlUJFzRs.js → dev-DxiIp4c9.js} +3 -3
- package/dist/_chunks/{functions-3ypiRwZK.js → functions-PHaU-kRb.js} +1 -1
- package/dist/_chunks/{git-j6xSVo3e.js → git-DRUZBCmZ.js} +2 -2
- package/dist/_chunks/{link-nAiuWKfg.js → link-CNO-HxHN.js} +2 -2
- package/dist/_chunks/{mcp-BznTRK3w.js → mcp-SvqWzHnT.js} +6 -4
- package/dist/_chunks/{roles-xRuu0462.js → roles-BVc69rjG.js} +9 -4
- package/dist/_chunks/{status-BC4XXuuE.js → status-BlrzeKyA.js} +1 -1
- package/dist/commands/bootstrap.js +1 -1
- package/dist/commands/checkout.js +1 -1
- package/dist/commands/claim.js +1 -1
- package/dist/commands/config.js +1 -1
- package/dist/commands/databases.js +1 -1
- package/dist/commands/deploy.js +1 -1
- package/dist/commands/dev.js +1 -1
- package/dist/commands/env.js +1 -1
- package/dist/commands/functions.js +1 -1
- package/dist/commands/functions_new.js +1 -1
- package/dist/commands/git.js +1 -1
- package/dist/commands/index.js +16 -16
- package/dist/commands/link.js +1 -1
- package/dist/commands/mcp.js +1 -1
- package/dist/commands/plugins.js +1 -1
- package/dist/commands/roles.js +1 -1
- package/dist/commands/skills.js +1 -1
- package/dist/commands/status.js +1 -1
- package/dist/commands/subscribe.js +1 -1
- package/dist/index.js +1 -1
- package/dist/init/agents.js +11 -3
- package/dist/init/auth.js +2 -2
- package/dist/init/detect.js +1 -2
- package/dist/init/link.js +1 -1
- package/dist/init/plan.js +2 -63
- package/dist/init/run.js +7 -7
- package/dist/init/tooling.js +5 -5
- package/dist/init/unknown_agent_arg.js +63 -0
- package/dist/init/wizard.js +2 -2
- package/dist/mcp/agents.js +25 -5
- package/dist/mcp/install.js +95 -30
- package/dist/mcp/targets.js +2 -3
- package/dist/plugins/run.js +0 -2
- package/dist/plugins/targets.js +5 -4
- package/dist/skills/catalog.js +0 -10
- package/dist/skills/targets.js +1 -2
- package/dist/update_notifier.js +1 -1
- package/dist/utils/ai_gateway_notice.js +1 -1
- package/package.json +8 -7
- package/dist/_chunks/{bootstrap-BDkvsAVJ.js → bootstrap-vAtWRZXa.js} +2 -2
- package/dist/_chunks/{env-BOt9AZ1j.js → env-BtG4vH55.js} +1 -1
- package/dist/_chunks/{plugins-B2Gym8Lw.js → plugins-7cxVcgay.js} +3 -3
- package/dist/_chunks/{skills-DKgafm65.js → skills-Bv8oKKwE.js} +3 -3
package/README.md
CHANGED
|
@@ -951,7 +951,9 @@ On a TTY the command asks for config location (global is the default), then agen
|
|
|
951
951
|
|
|
952
952
|
`-y` skips those questions. `neon mcp -y` writes `https://mcp.neon.tech/mcp` into global config for globally installed apps, else the host CLI agent, reuses an existing Neon MCP API key or mints an account-wide key, leaves write tools enabled, exposes every tool category, and does not pin a project (including from `.neon`). `--agent`, `--project`, `--oauth`, `--read-only`, `--project-id` and `--category` still apply with `-y`. `--read-only` and `--category` are flags only and are never prompted. A linked project-folder install asks whether to pin MCP tools to that `.neon` project (`?projectId=`). If you pin and selected API-key auth, the minted key is limited to that project too. An unlinked project folder does not ask. Global installs never add that param unless you pass `--project-id`. Without a TTY, pass `-y` to mint into every detected agent, `--agent <name>` to name them, or `--oauth` to write the URL only. If `-y` finds no agent, it exits: pass `--agent <name>`, run from a supported agent, or omit `-y` in a terminal to pick. `neon mcp --help` lists the server URL, those `-y` defaults, the supported agent names, and the `--category` values.
|
|
953
953
|
|
|
954
|
-
Supported agents: `antigravity`, `cline`, `cline-cli`, `claude-code`, `codex`, `cursor`, `gemini-cli`, `goose`, `github-copilot-cli`, `grok-build`, `mcporter`, `opencode`, `vscode`, `windsurf`, `zed`. Project installs drop `antigravity`, `cline`, `cline-cli`, `goose` and `windsurf`. `claude-desktop` is a known name that is then skipped.
|
|
954
|
+
Supported agents: `antigravity`, `cline`, `cline-cli`, `claude-code`, `codex`, `cursor`, `factory-droid`, `fx`, `gemini-cli`, `goose`, `github-copilot-cli`, `grok-build`, `hermes`, `junie`, `kilo-code`, `kimi-code`, `kiro-cli`, `mcporter`, `opencode`, `pi`, `vscode`, `windsurf`, `zed`. Project installs drop `antigravity`, `cline`, `cline-cli`, `fx`, `goose`, `hermes` and `windsurf`. `claude-desktop` is a known name that is then skipped. fx only takes `--oauth`; with an API key it is skipped. Pi reads MCP servers through [`pi-mcp-adapter`](https://github.com/nicobailon/pi-mcp-adapter) (`pi install npm:pi-mcp-adapter`).
|
|
955
|
+
|
|
956
|
+
GitHub Copilot CLI project installs write into `.mcp.json`, or into `.github/mcp.json` when only that file exists. Claude Code project installs always write `.mcp.json`. Copilot CLI reads `.mcp.json` first, so once that file exists it no longer reads `.github/mcp.json`.
|
|
955
957
|
|
|
956
958
|
The default mints an account-wide API key (or reuses the Bearer already configured for Neon at `https://mcp.neon.tech/mcp`) and writes it into each selected agent's config. That key reaches everything the account can, in every organization. Revoke it with `neon api-keys revoke <id>`. `--oauth` writes the URL with no `Authorization` header; the agent signs in on first use. `--project` writes into the project config (`.cursor/mcp.json` and similar). `--read-only` adds `?readonly=true`. `--project-id` adds `?projectId=` and, when a key is minted, limits that key to the named project. Accepting the linked-project pin does the same. Revoke a project-scoped key with `neon api-keys revoke <id> --org-id <org>`. A reused Bearer keeps the scope it already has. `--category` adds `?category=` (repeatable or comma-separated: `projects`, `branches`, `schema`, `querying`, `neon_auth`, `data_api`, `observability`, `docs`). `--read-only` and `--category` restrict which MCP tools the server exposes; they do not change what the minted key can do.
|
|
957
959
|
|
|
@@ -994,9 +996,9 @@ On a TTY the command asks which agents and which skills, then installs. Detected
|
|
|
994
996
|
|
|
995
997
|
`-y` skips those questions and installs the default skills into detected agents: project-folder markers such as `.cursor`, else the agent driving the CLI. `--agent` / `-a` names coding agents and skips the agent picker. `--skill` / `-s` names specific skills and skips the skill picker; it does not select agents. `--global -y` uses installed apps, else the host CLI agent. Without a TTY, pass `-y`, or `--skill <name>` (add `--agent <name>` to name agents). If `-y` finds no agent, it exits: pass `--agent <name>`, run from a supported agent, or omit `-y` in a terminal to pick.
|
|
996
998
|
|
|
997
|
-
`--skill` names by source repo: `neondatabase/agent-skills` (`neon`, `neon-ai-gateway`, `neon-auth`, `neon-functions`, `neon-object-storage`, `neon-postgres`, `neon-
|
|
999
|
+
`--skill` names by source repo: `neondatabase/agent-skills` (`neon`, `neon-ai-gateway`, `neon-auth`, `neon-functions`, `neon-object-storage`, `neon-postgres`, `neon-realtime`); `neondatabase/neon-for-agent-platforms` (`neon-postgres-agent-platforms`).
|
|
998
1000
|
|
|
999
|
-
Supported agents match `neon mcp`, minus agents that cannot install skills: `antigravity`, `cline`, `cline-cli`, `claude-code`, `claude-desktop`, `codex`, `cursor`, `gemini-cli`, `goose`, `github-copilot-cli`, `grok-build`, `opencode`, `vscode`, `windsurf`, `zed`. `mcporter` is a known MCP name that is then skipped. `neon skills --help` lists the same skill and agent values, and that `-y` leaves out `neon-postgres-agent-platforms`.
|
|
1001
|
+
Supported agents match `neon mcp`, minus agents that cannot install skills: `antigravity`, `cline`, `cline-cli`, `claude-code`, `claude-desktop`, `codex`, `cursor`, `factory-droid`, `fx`, `gemini-cli`, `goose`, `github-copilot-cli`, `grok-build`, `hermes`, `junie`, `kilo-code`, `kimi-code`, `kiro-cli`, `opencode`, `pi`, `vscode`, `windsurf`, `zed`. `mcporter` is a known MCP name that is then skipped. `neon skills --help` lists the same skill and agent values, and that `-y` leaves out `neon-postgres-agent-platforms`.
|
|
1000
1002
|
|
|
1001
1003
|
## Ask the Neon assistant (`ask`)
|
|
1002
1004
|
|
|
@@ -1054,13 +1056,13 @@ On a TTY the command asks which agents, then installs. Detected agents start sel
|
|
|
1054
1056
|
|
|
1055
1057
|
`-y` skips those questions and installs into detected agents: project-folder markers such as `.cursor`, else the agent driving the CLI. `--agent` / `-a` names coding agents and skips the agent picker. `--global -y` uses installed apps, else the host CLI agent. Without a TTY, pass `-y` or `--agent <name>`. If `-y` finds no agent, it exits: pass `--agent <name>`, run from a supported agent, or omit `-y` in a terminal to pick.
|
|
1056
1058
|
|
|
1057
|
-
Default scope is `project`. `--global` is `user`. On macOS and Linux, Cursor and Claude Code store the plugin cache under `~/.claude/plugins`; on Windows, Cursor installs into Cursor extensions. `project` vs `user` is the scope field the plugins CLI records, not a directory in the repo. VS Code, GitHub Copilot CLI,
|
|
1059
|
+
Default scope is `project`. `--global` is `user`. On macOS and Linux, Cursor and Claude Code store the plugin cache under `~/.claude/plugins`; on Windows, Cursor installs into Cursor extensions. `project` vs `user` is the scope field the plugins CLI records, not a directory in the repo. VS Code, GitHub Copilot CLI, Grok Build, and Kimi Code only install user-level: they are skipped at the default scope with a warning, and a VS Code-only project fails if nothing else is selected. Pass `--global` for those.
|
|
1058
1060
|
|
|
1059
1061
|
GitHub Copilot CLI and Grok Build install through their own CLIs (`copilot`, `grok`), so `neon plugins` runs `copilot --version` or `grok --version` first. A command that is missing, fails, or (for Copilot) is older than 0.0.400 is skipped with a warning under `-y`, fails an explicit `--agent`, and in `neon init` gets Neon skills and MCP instead of the plugin. The other agents install by writing files, so their detected config directory is enough.
|
|
1060
1062
|
|
|
1061
|
-
Supported agents with a plugins mapping: `claude-code`, `claude-desktop`, `codex`, `cursor`, `github-copilot-cli`, `grok-build`, `vscode`. `claude-desktop` installs as Claude Code; detecting both produces one install and lists both names in the table. `mcporter` is a known MCP name that is then skipped.
|
|
1063
|
+
Supported agents with a plugins mapping: `claude-code`, `claude-desktop`, `codex`, `cursor`, `github-copilot-cli`, `grok-build`, `kimi-code`, `vscode`. `claude-desktop` installs as Claude Code; detecting both produces one install and lists both names in the table. `mcporter` is a known MCP name that is then skipped.
|
|
1062
1064
|
|
|
1063
|
-
The plugins CLI installs every plugin it finds in the Neon plugin package. Today that is `neon-postgres` from `neondatabase/agent-skills`. It includes the Neon MCP server (`https://mcp.neon.tech/mcp`) and these skills: `neon`, `neon-ai-gateway`, `neon-auth`, `neon-functions`, `neon-object-storage`, `neon-postgres`, `neon-
|
|
1065
|
+
The plugins CLI installs every plugin it finds in the Neon plugin package. Today that is `neon-postgres` from `neondatabase/agent-skills`. It includes the Neon MCP server (`https://mcp.neon.tech/mcp`) and these skills: `neon`, `neon-ai-gateway`, `neon-auth`, `neon-functions`, `neon-object-storage`, `neon-postgres`, `neon-realtime`. It does not include `neon-postgres-agent-platforms`.
|
|
1064
1066
|
|
|
1065
1067
|
`neon plugins --help` lists the plugin, those contents, and the supported agent names.
|
|
1066
1068
|
|
|
@@ -11,9 +11,9 @@ import { looksLikeBranchId } from "../utils/formats.js";
|
|
|
11
11
|
import { fillSingleProject, listAllProjectBranches } from "../utils/enrichers.js";
|
|
12
12
|
import { buildCheckoutEvent, readGitContext } from "../utils/git.js";
|
|
13
13
|
import { buildHookBranch, loadHookConfig, resolveHookEnv, runCheckoutAfterHook, runCheckoutBeforeHook, runCreateAfterHook, runCreateBeforeHook } from "../utils/hooks.js";
|
|
14
|
-
import { n as autoPullEnvAfterPin } from "./env-
|
|
15
|
-
import { a as applyPolicyOnCreate, f as envFlag, l as createBranchFromPolicyOnCheckout } from "./config-
|
|
16
|
-
import { i as handler$1 } from "./link-
|
|
14
|
+
import { n as autoPullEnvAfterPin } from "./env-BtG4vH55.js";
|
|
15
|
+
import { a as applyPolicyOnCreate, f as envFlag, l as createBranchFromPolicyOnCheckout } from "./config-CgtJH8xE.js";
|
|
16
|
+
import { i as handler$1 } from "./link-CNO-HxHN.js";
|
|
17
17
|
import chalk from "chalk";
|
|
18
18
|
import prompts from "prompts";
|
|
19
19
|
// src/commands/checkout.ts
|
|
@@ -12,7 +12,7 @@ import { projectConfigPath } from "../project.js";
|
|
|
12
12
|
import { resolveEnvFilePath } from "../env_file.js";
|
|
13
13
|
import { writer } from "../writer.js";
|
|
14
14
|
import { noPassthrough } from "../utils/flags.js";
|
|
15
|
-
import { c as pull } from "./env-
|
|
15
|
+
import { c as pull } from "./env-BtG4vH55.js";
|
|
16
16
|
import { existsSync, readFileSync, unlinkSync, writeFileSync } from "node:fs";
|
|
17
17
|
import open from "open";
|
|
18
18
|
import prompts from "prompts";
|
|
@@ -26,7 +26,7 @@ import { readGitContext } from "../utils/git.js";
|
|
|
26
26
|
import { resolveHookEnv, runDeployAfterHook, runDeployBeforeHook } from "../utils/hooks.js";
|
|
27
27
|
import { pickServicesInteractively } from "../utils/service_picker.js";
|
|
28
28
|
import { zipBundle } from "../utils/zip.js";
|
|
29
|
-
import { n as autoPullEnvAfterPin } from "./env-
|
|
29
|
+
import { n as autoPullEnvAfterPin } from "./env-BtG4vH55.js";
|
|
30
30
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
31
31
|
import { dirname, join, relative, resolve } from "node:path";
|
|
32
32
|
import chalk from "chalk";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
|
|
2
|
+
import { log } from "../log.js";
|
|
2
3
|
import { retryOnLock } from "../api.js";
|
|
3
4
|
import { writer } from "../writer.js";
|
|
4
5
|
import { fillSingleProject, resolveBranchFromProps } from "../utils/enrichers.js";
|
|
@@ -75,9 +76,13 @@ const create = async (props) => {
|
|
|
75
76
|
const deleteDb = async (props) => {
|
|
76
77
|
const { branchId, branch } = await resolveBranchFromProps(props);
|
|
77
78
|
const { data } = await retryOnLock(() => props.apiClient.deleteProjectBranchDatabase(props.projectId, branchId, props.database));
|
|
78
|
-
if (data)
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
if (data) {
|
|
80
|
+
writer(props).end(data.database, {
|
|
81
|
+
fields: DATABASE_FIELDS,
|
|
82
|
+
humanTitle: `Database deleted from ${branch?.name ?? branchId}`
|
|
83
|
+
});
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
log.info(`Database "${props.database}" not found on branch ${branch?.name ?? branchId}; nothing to delete.`);
|
|
82
87
|
};
|
|
83
88
|
export { create as a, describe as c, command as i, handler as l, aliases as n, databases_exports as o, builder as r, deleteDb as s, DATABASE_FIELDS as t, list as u };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
|
|
2
2
|
import { fillSingleProject } from "../utils/enrichers.js";
|
|
3
|
-
import { f as envFlag, i as applyFlags, p as envPullFlag, r as applyCmd } from "./config-
|
|
3
|
+
import { f as envFlag, i as applyFlags, p as envPullFlag, r as applyCmd } from "./config-CgtJH8xE.js";
|
|
4
4
|
import { DEPLOY_COMMANDS_EPILOGUE } from "../commands/deploy_help.js";
|
|
5
5
|
// src/commands/deploy.ts
|
|
6
6
|
var deploy_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -4,12 +4,12 @@ import { isClaimableEnvTarget } from "../claimable/state.js";
|
|
|
4
4
|
import { getCliName } from "../utils/cli_name.js";
|
|
5
5
|
import { defaultDevEnvFiles, readEnvFile, resolveEnvFilePath } from "../env_file.js";
|
|
6
6
|
import { l as functionBaseUrlKey } from "./env-JgoSsmyt.js";
|
|
7
|
+
import { branchIdResolve } from "../utils/enrichers.js";
|
|
8
|
+
import { bundleEntry } from "../utils/esbuild.js";
|
|
7
9
|
import { a as resolveDevEnv } from "./env-CIFMBEon.js";
|
|
10
|
+
import { f as envFlag } from "./config-CgtJH8xE.js";
|
|
8
11
|
import { findConfigFunctionBySource, resolveFunctionsFromConfig } from "../dev/functions.js";
|
|
9
12
|
import { resolveWatchInputs } from "../dev/inputs.js";
|
|
10
|
-
import { branchIdResolve } from "../utils/enrichers.js";
|
|
11
|
-
import { bundleEntry } from "../utils/esbuild.js";
|
|
12
|
-
import { f as envFlag } from "./config-BjCm5cfr.js";
|
|
13
13
|
import { existsSync, mkdirSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
14
14
|
import { basename, dirname, join, relative, resolve } from "node:path";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
@@ -198,7 +198,7 @@ const builder = (argv) => argv.usage("$0 function <sub-command> [options]").opti
|
|
|
198
198
|
describe: "Function slug",
|
|
199
199
|
type: "string",
|
|
200
200
|
demandOption: true
|
|
201
|
-
}), (args) => deleteFn(args)).command(["domains", "domain"], "Manage custom domains on the branch
|
|
201
|
+
}), (args) => deleteFn(args)).command(["domains", "domain"], "Manage custom domains on the branch", (yargs) => yargs.command("list", "List custom domains on the branch", (yargs) => yargs, (args) => listDomains(args)).command("register <domain>", "Point a domain you already own at a function on the branch", (yargs) => yargs.positional("domain", {
|
|
202
202
|
describe: "Domain you already own (for example docs.example.com)",
|
|
203
203
|
type: "string",
|
|
204
204
|
demandOption: true
|
|
@@ -5,8 +5,8 @@ import { CONTEXT_FILE, contextBranch, gitBranchMap, gitBranchMapping, isUnfollow
|
|
|
5
5
|
import { writer } from "../writer.js";
|
|
6
6
|
import { neonSafeBranchName } from "../utils/branch_name.js";
|
|
7
7
|
import { currentGitBranch, gitPull, gitRepoRoot, hasUpstream, installPostCheckoutHook, isGitRepo, isManagedHook, localGitBranches, postCheckoutHookPath, readGitContext, removePostCheckoutHook } from "../utils/git.js";
|
|
8
|
-
import { o as quoteFlagValue } from "./link-
|
|
9
|
-
import { o as handler$1 } from "./checkout-
|
|
8
|
+
import { o as quoteFlagValue } from "./link-CNO-HxHN.js";
|
|
9
|
+
import { o as handler$1 } from "./checkout-CNBIS3gA.js";
|
|
10
10
|
import { existsSync } from "node:fs";
|
|
11
11
|
import { join } from "node:path";
|
|
12
12
|
import chalk from "chalk";
|
|
@@ -13,8 +13,8 @@ import { writer } from "../writer.js";
|
|
|
13
13
|
import { createBranch, pickBranchInteractively } from "../utils/branch_picker.js";
|
|
14
14
|
import { looksLikeBranchId } from "../utils/formats.js";
|
|
15
15
|
import { listAllProjectBranches } from "../utils/enrichers.js";
|
|
16
|
-
import { n as autoPullEnvAfterPin } from "./env-
|
|
17
|
-
import { h as initCmd } from "./config-
|
|
16
|
+
import { n as autoPullEnvAfterPin } from "./env-BtG4vH55.js";
|
|
17
|
+
import { h as initCmd } from "./config-CgtJH8xE.js";
|
|
18
18
|
import { formatLinkSummary } from "../commands/link_output.js";
|
|
19
19
|
import { r as REGIONS } from "./projects-a3X4OFEJ.js";
|
|
20
20
|
import prompts from "prompts";
|
|
@@ -4,11 +4,11 @@ import { readContextFile } from "../context.js";
|
|
|
4
4
|
import { recordCommandSuccessExtras } from "../analytics.js";
|
|
5
5
|
import { getCliName } from "../utils/cli_name.js";
|
|
6
6
|
import { helpCsv, helpEpilogue } from "../utils/help_text.js";
|
|
7
|
-
import { NEON_MCP_CATEGORIES, NEON_MCP_URL, existingNeonApiKey, installNeonMcpServer, neonMcpUrl, parseMcpCategories, trackedProjectMcpConfig } from "../mcp/install.js";
|
|
8
|
-
import { mcpInstallableAgents, resolveInstallTargets } from "../mcp/targets.js";
|
|
9
7
|
import { writer } from "../writer.js";
|
|
10
8
|
import { noPassthrough, single } from "../utils/flags.js";
|
|
11
9
|
import { AGENT_MCP_SKIP_MESSAGE } from "../init/copy.js";
|
|
10
|
+
import { NEON_MCP_CATEGORIES, NEON_MCP_URL, existingNeonApiKey, installNeonMcpServer, mcpInstallOrder, neonMcpUrl, parseMcpCategories, trackedProjectMcpConfig } from "../mcp/install.js";
|
|
11
|
+
import { mcpInstallableAgents, resolveInstallTargets } from "../mcp/targets.js";
|
|
12
12
|
import { mintMcpApiKey, mintedKeyRevokeCommand, withdrawMintedKey } from "../mcp/mint.js";
|
|
13
13
|
import { canPickAgentsInteractively, skippableAgentPicker } from "../utils/agent_picker.js";
|
|
14
14
|
import { resolveMcpPlan } from "../mcp/plan.js";
|
|
@@ -119,7 +119,8 @@ const setupNeonMcp = async (options) => {
|
|
|
119
119
|
});
|
|
120
120
|
const { install, skipped } = resolveInstallTargets({
|
|
121
121
|
agents: plan.agents,
|
|
122
|
-
scope: plan.scope
|
|
122
|
+
scope: plan.scope,
|
|
123
|
+
auth: plan.auth
|
|
123
124
|
});
|
|
124
125
|
const url = neonMcpUrl({
|
|
125
126
|
readOnly: plan.readOnly,
|
|
@@ -167,7 +168,7 @@ const setupNeonMcp = async (options) => {
|
|
|
167
168
|
const rows = [];
|
|
168
169
|
let successes = 0;
|
|
169
170
|
const failedAgents = [];
|
|
170
|
-
for (const agent of install) {
|
|
171
|
+
for (const agent of mcpInstallOrder(install)) {
|
|
171
172
|
const result = installNeonMcpServer({
|
|
172
173
|
agent,
|
|
173
174
|
scope: plan.scope,
|
|
@@ -182,6 +183,7 @@ const setupNeonMcp = async (options) => {
|
|
|
182
183
|
status: "installed"
|
|
183
184
|
});
|
|
184
185
|
log.info("Wrote %s", result.path);
|
|
186
|
+
if (agent === "pi") log.warning("Pi reads MCP servers through pi-mcp-adapter. Install it with `pi install npm:pi-mcp-adapter`, then run /reload in Pi.");
|
|
185
187
|
} else {
|
|
186
188
|
rows.push({
|
|
187
189
|
agent,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
|
|
2
|
+
import { log } from "../log.js";
|
|
2
3
|
import { retryOnLock } from "../api.js";
|
|
3
4
|
import { writer } from "../writer.js";
|
|
4
5
|
import { fillSingleProject, resolveBranchFromProps } from "../utils/enrichers.js";
|
|
@@ -70,9 +71,13 @@ const create = async (props) => {
|
|
|
70
71
|
const deleteRole = async (props) => {
|
|
71
72
|
const { branchId, branch } = await resolveBranchFromProps(props);
|
|
72
73
|
const { data } = await retryOnLock(() => props.apiClient.deleteProjectBranchRole(props.projectId, branchId, props.role));
|
|
73
|
-
if (data)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
if (data) {
|
|
75
|
+
writer(props).end(data.role, {
|
|
76
|
+
fields: ROLES_FIELDS,
|
|
77
|
+
humanTitle: `Role deleted from ${branch?.name ?? branchId}`
|
|
78
|
+
});
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
log.info(`Role "${props.role}" not found on branch ${branch?.name ?? branchId}; nothing to delete.`);
|
|
77
82
|
};
|
|
78
83
|
export { deleteRole as a, list as c, create as i, roles_exports as l, builder as n, describe as o, command as r, handler as s, aliases as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-BJohB4LM.js";
|
|
2
2
|
import { fillSingleProject } from "../utils/enrichers.js";
|
|
3
|
-
import { y as status } from "./config-
|
|
3
|
+
import { y as status } from "./config-CgtJH8xE.js";
|
|
4
4
|
// src/commands/status.ts
|
|
5
5
|
var status_exports = /* @__PURE__ */ __exportAll({
|
|
6
6
|
builder: () => builder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as builder, r as command, i as describe, a as handler } from "../_chunks/bootstrap-
|
|
1
|
+
export { n as builder, r as command, i as describe, a as handler } from "../_chunks/bootstrap-vAtWRZXa.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as builder, r as command, i as describe, a as formatCheckoutPolicyFailure, o as handler } from "../_chunks/checkout-
|
|
1
|
+
export { t as builder, r as command, i as describe, a as formatCheckoutPolicyFailure, o as handler } from "../_chunks/checkout-CNBIS3gA.js";
|
package/dist/commands/claim.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as CLAIM_CREATE_FIELDS, n as CLAIM_LIST_FIELDS, r as aliases, i as builder, a as claimCreateFields, s as claimableCapabilities, c as command, l as create, u as describe, d as handler } from "../_chunks/claim-
|
|
1
|
+
export { t as CLAIM_CREATE_FIELDS, n as CLAIM_LIST_FIELDS, r as aliases, i as builder, a as claimCreateFields, s as claimableCapabilities, c as command, l as create, u as describe, d as handler } from "../_chunks/claim-m5sIJdm5.js";
|
package/dist/commands/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as ConfigInstallFailed, n as addCmd, r as applyCmd, i as applyFlags, a as applyPolicyOnCreate, o as builder, s as command, l as createBranchFromPolicyOnCheckout, u as describe, d as ensureConfigPackages, f as envFlag, p as envPullFlag, m as handler, h as initCmd, g as installCommandFrom, _ as missingDependencies, v as planCmd, y as status } from "../_chunks/config-
|
|
1
|
+
export { t as ConfigInstallFailed, n as addCmd, r as applyCmd, i as applyFlags, a as applyPolicyOnCreate, o as builder, s as command, l as createBranchFromPolicyOnCheckout, u as describe, d as ensureConfigPackages, f as envFlag, p as envPullFlag, m as handler, h as initCmd, g as installCommandFrom, _ as missingDependencies, v as planCmd, y as status } from "../_chunks/config-CgtJH8xE.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as DATABASE_FIELDS, n as aliases, r as builder, i as command, a as create, s as deleteDb, c as describe, l as handler, u as list } from "../_chunks/databases-
|
|
1
|
+
export { t as DATABASE_FIELDS, n as aliases, r as builder, i as command, a as create, s as deleteDb, c as describe, l as handler, u as list } from "../_chunks/databases-B2Yapqme.js";
|
package/dist/commands/deploy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as builder, n as command, i as describe, a as handler } from "../_chunks/deploy-
|
|
1
|
+
export { t as builder, n as command, i as describe, a as handler } from "../_chunks/deploy-Bs5gmi4Q.js";
|
package/dist/commands/dev.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as builder, n as captureShellEnv, r as command, i as describe, a as devBundleDir, o as devEnvContext, c as diffUnits, l as formatEnvFiles, u as formatEnvSummary, d as handler, f as loadDevEnvFiles, p as localFunctionUrlEnv, m as planFunctionsToUnits, h as reportDevCredential, g as sourceFunctionUrlOverlay } from "../_chunks/dev-
|
|
1
|
+
export { t as builder, n as captureShellEnv, r as command, i as describe, a as devBundleDir, o as devEnvContext, c as diffUnits, l as formatEnvFiles, u as formatEnvSummary, d as handler, f as loadDevEnvFiles, p as localFunctionUrlEnv, m as planFunctionsToUnits, h as reportDevCredential, g as sourceFunctionUrlOverlay } from "../_chunks/dev-DxiIp4c9.js";
|
package/dist/commands/env.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as ENV_PULL_SKIPPED_HINT, n as autoPullEnvAfterPin, r as builder, i as command, a as describe, s as handler, c as pull } from "../_chunks/env-
|
|
1
|
+
export { t as ENV_PULL_SKIPPED_HINT, n as autoPullEnvAfterPin, r as builder, i as command, a as describe, s as handler, c as pull } from "../_chunks/env-BtG4vH55.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as aliases, n as builder, r as command, i as deploymentPollDelay, a as describe, s as handler } from "../_chunks/functions-
|
|
1
|
+
export { t as aliases, n as builder, r as command, i as deploymentPollDelay, a as describe, s as handler } from "../_chunks/functions-PHaU-kRb.js";
|
|
@@ -8,7 +8,7 @@ import { writer } from "../writer.js";
|
|
|
8
8
|
import { formatInitDone, printInitDone } from "../init/chrome.js";
|
|
9
9
|
import { FUNCTION_SLUG_PATTERN, deriveFunctionSlug } from "../utils/function_slug.js";
|
|
10
10
|
import { displayPath } from "./env_output.js";
|
|
11
|
-
import { _ as missingDependencies, d as ensureConfigPackages, g as installCommandFrom } from "../_chunks/config-
|
|
11
|
+
import { _ as missingDependencies, d as ensureConfigPackages, g as installCommandFrom } from "../_chunks/config-CgtJH8xE.js";
|
|
12
12
|
import { recommendedOperations } from "../functions/registry.js";
|
|
13
13
|
import { collidingFiles, operationsFromFlags, planConfigRegistration, planEnvExample, planScaffold, writeScaffold } from "../functions/scaffold.js";
|
|
14
14
|
import { describeRegistrySource, openRegistry } from "../functions/source.js";
|
package/dist/commands/git.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as aliases, n as builder, r as cleanup, i as command, a as describe, s as handler, c as install, l as partitionBranchesToPrune, u as status, d as sync, f as uninstall } from "../_chunks/git-
|
|
1
|
+
export { t as aliases, n as builder, r as cleanup, i as command, a as describe, s as handler, c as install, l as partitionBranchesToPrune, u as status, d as sync, f as uninstall } from "../_chunks/git-DRUZBCmZ.js";
|
package/dist/commands/index.js
CHANGED
|
@@ -2,29 +2,29 @@ import { r as auth_exports } from "../_chunks/auth-rup6nemJ.js";
|
|
|
2
2
|
import { t as api_exports } from "../_chunks/api-1MKsfpY3.js";
|
|
3
3
|
import { n as api_keys_exports } from "../_chunks/api_keys-6Xnxl7a8.js";
|
|
4
4
|
import { n as ask_exports } from "../_chunks/ask-Xlek1Pxh.js";
|
|
5
|
-
import { o as env_exports } from "../_chunks/env-
|
|
6
|
-
import { c as config_exports } from "../_chunks/config-
|
|
5
|
+
import { o as env_exports } from "../_chunks/env-BtG4vH55.js";
|
|
6
|
+
import { c as config_exports } from "../_chunks/config-CgtJH8xE.js";
|
|
7
7
|
import { u as projects_exports } from "../_chunks/projects-a3X4OFEJ.js";
|
|
8
|
-
import { a as link_exports } from "../_chunks/link-
|
|
9
|
-
import { o as mcp_exports } from "../_chunks/mcp-
|
|
10
|
-
import { c as plugins_exports } from "../_chunks/plugins-
|
|
11
|
-
import { l as skills_exports } from "../_chunks/skills-
|
|
12
|
-
import { t as bootstrap_exports } from "../_chunks/bootstrap-
|
|
8
|
+
import { a as link_exports } from "../_chunks/link-CNO-HxHN.js";
|
|
9
|
+
import { o as mcp_exports } from "../_chunks/mcp-SvqWzHnT.js";
|
|
10
|
+
import { c as plugins_exports } from "../_chunks/plugins-7cxVcgay.js";
|
|
11
|
+
import { l as skills_exports } from "../_chunks/skills-Bv8oKKwE.js";
|
|
12
|
+
import { t as bootstrap_exports } from "../_chunks/bootstrap-vAtWRZXa.js";
|
|
13
13
|
import { r as branches_exports } from "../_chunks/branches-Bp-5z1lM.js";
|
|
14
14
|
import { n as bucket_exports } from "../_chunks/bucket-D06bvDSa.js";
|
|
15
|
-
import { n as checkout_exports } from "../_chunks/checkout-
|
|
16
|
-
import { o as claim_exports } from "../_chunks/claim-
|
|
15
|
+
import { n as checkout_exports } from "../_chunks/checkout-CNBIS3gA.js";
|
|
16
|
+
import { o as claim_exports } from "../_chunks/claim-m5sIJdm5.js";
|
|
17
17
|
import { a as connection_string_exports } from "../_chunks/connection_string-C9e7N4xk.js";
|
|
18
18
|
import { a as credentials_exports } from "../_chunks/credentials-BMBNmW0t.js";
|
|
19
19
|
import { r as data_api_exports } from "../_chunks/data_api-CHDwvMTG.js";
|
|
20
|
-
import { o as databases_exports } from "../_chunks/databases-
|
|
21
|
-
import { r as deploy_exports } from "../_chunks/deploy-
|
|
22
|
-
import { s as dev_exports } from "../_chunks/dev-
|
|
20
|
+
import { o as databases_exports } from "../_chunks/databases-B2Yapqme.js";
|
|
21
|
+
import { r as deploy_exports } from "../_chunks/deploy-Bs5gmi4Q.js";
|
|
22
|
+
import { s as dev_exports } from "../_chunks/dev-DxiIp4c9.js";
|
|
23
23
|
import { i as diff_exports } from "../_chunks/diff-dnxneH0u.js";
|
|
24
24
|
import { c as docs_exports } from "../_chunks/docs-BpLiSTmm.js";
|
|
25
25
|
import { o as feedback_exports } from "../_chunks/feedback-mQmdTRFn.js";
|
|
26
|
-
import { o as functions_exports } from "../_chunks/functions-
|
|
27
|
-
import { o as git_exports } from "../_chunks/git-
|
|
26
|
+
import { o as functions_exports } from "../_chunks/functions-PHaU-kRb.js";
|
|
27
|
+
import { o as git_exports } from "../_chunks/git-DRUZBCmZ.js";
|
|
28
28
|
import { a as init_exports } from "../_chunks/init-CcVJb492.js";
|
|
29
29
|
import { o as inspect_exports } from "../_chunks/inspect-yFAb61qo.js";
|
|
30
30
|
import { a as ip_allow_exports } from "../_chunks/ip_allow-DBdxNEUa.js";
|
|
@@ -36,10 +36,10 @@ import { o as orgs_exports } from "../_chunks/orgs-Dpbr-K0A.js";
|
|
|
36
36
|
import { o as profile_exports } from "../_chunks/profile-BAlM625e.js";
|
|
37
37
|
import { a as psql_exports } from "../_chunks/psql-Bce4X0NG.js";
|
|
38
38
|
import { s as realtime_exports } from "../_chunks/realtime-BwtzYf5a.js";
|
|
39
|
-
import { l as roles_exports } from "../_chunks/roles-
|
|
39
|
+
import { l as roles_exports } from "../_chunks/roles-BVc69rjG.js";
|
|
40
40
|
import { a as set_context_exports } from "../_chunks/set_context-ompB6d2D.js";
|
|
41
41
|
import { s as snapshots_exports } from "../_chunks/snapshots-DxNhjcco.js";
|
|
42
|
-
import { a as status_exports } from "../_chunks/status-
|
|
42
|
+
import { a as status_exports } from "../_chunks/status-BlrzeKyA.js";
|
|
43
43
|
import { d as triggers_exports } from "../_chunks/triggers-BfvyeJUC.js";
|
|
44
44
|
import { s as user_exports } from "../_chunks/user-D9mC430O.js";
|
|
45
45
|
import { i as vpc_endpoints_exports } from "../_chunks/vpc_endpoints-C-Y4WK2M.js";
|
package/dist/commands/link.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as builder, n as command, r as describe, i as handler, o as quoteFlagValue, s as runLink, c as shouldOfferConfigInit } from "../_chunks/link-
|
|
1
|
+
export { t as builder, n as command, r as describe, i as handler, o as quoteFlagValue, s as runLink, c as shouldOfferConfigInit } from "../_chunks/link-CNO-HxHN.js";
|
package/dist/commands/mcp.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as builder, n as command, r as describe, i as handler, a as mcpInstallError, s as reportMcpInstall, c as setupNeonMcp } from "../_chunks/mcp-
|
|
1
|
+
export { t as builder, n as command, r as describe, i as handler, a as mcpInstallError, s as reportMcpInstall, c as setupNeonMcp } from "../_chunks/mcp-SvqWzHnT.js";
|
package/dist/commands/plugins.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as aliases, n as builder, r as command, i as describe, a as handler, o as installPlugins, s as pluginsInstallError, l as reportPluginsInstall } from "../_chunks/plugins-
|
|
1
|
+
export { t as aliases, n as builder, r as command, i as describe, a as handler, o as installPlugins, s as pluginsInstallError, l as reportPluginsInstall } from "../_chunks/plugins-7cxVcgay.js";
|
package/dist/commands/roles.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as aliases, n as builder, r as command, i as create, a as deleteRole, o as describe, s as handler, c as list } from "../_chunks/roles-
|
|
1
|
+
export { t as aliases, n as builder, r as command, i as create, a as deleteRole, o as describe, s as handler, c as list } from "../_chunks/roles-BVc69rjG.js";
|
package/dist/commands/skills.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as aliases, n as builder, r as command, i as describe, a as handler, o as installSkills, s as reportSkillsInstall, c as skillsInstallError } from "../_chunks/skills-
|
|
1
|
+
export { t as aliases, n as builder, r as command, i as describe, a as handler, o as installSkills, s as reportSkillsInstall, c as skillsInstallError } from "../_chunks/skills-Bv8oKKwE.js";
|
package/dist/commands/status.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { t as builder, n as command, r as describe, i as handler } from "../_chunks/status-
|
|
1
|
+
export { t as builder, n as command, r as describe, i as handler } from "../_chunks/status-BlrzeKyA.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { writer } from "../writer.js";
|
|
2
|
-
import { o as resolveNeonEnvVars } from "../_chunks/env-CIFMBEon.js";
|
|
3
2
|
import { branchIdFromProps } from "../utils/enrichers.js";
|
|
3
|
+
import { o as resolveNeonEnvVars } from "../_chunks/env-CIFMBEon.js";
|
|
4
4
|
import YAML from "yaml";
|
|
5
5
|
// src/commands/subscribe.ts
|
|
6
6
|
const builder = (argv) => argv.usage("$0 realtime subscribe \"<query>\" [options]").positional("query", {
|
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@ import { c as ensureAuth } from "./_chunks/auth-rup6nemJ.js";
|
|
|
13
13
|
import { recoverFrom401 } from "./auth_recovery.js";
|
|
14
14
|
import { UsageError, failOnUsageError, isBareParentCommand, showHelp, showUsageErrorHelp } from "./help.js";
|
|
15
15
|
import { lazyCommands, preloadCommand } from "./commands/manifest.js";
|
|
16
|
-
import { rewriteUnknownAgentArg } from "./init/
|
|
16
|
+
import { rewriteUnknownAgentArg } from "./init/unknown_agent_arg.js";
|
|
17
17
|
import { recoverFromSSO } from "./sso_recovery.js";
|
|
18
18
|
import { notifyIfUpdateAvailable, shouldRunSkillsNotifier } from "./update_notifier.js";
|
|
19
19
|
import { fillInArgs, resolveApiKeyFromEnv } from "./utils/middlewares.js";
|
package/dist/init/agents.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { agentSupportsHttpMcp, agentSupportsProjectMcp, detectInstalledAgents, getAgentDisplayName, listMcpAgentIds, resolveAddMcpAgentId, tryResolveAddMcpAgentId, uniqueAgentIds } from "../mcp/agents.js";
|
|
1
|
+
import { agentSupportsHttpMcp, agentSupportsProjectMcp, detectInstalledAgents, detectProjectAgents, getAgentDisplayName, listMcpAgentIds, resolveAddMcpAgentId, tryResolveAddMcpAgentId, uniqueAgentIds } from "../mcp/agents.js";
|
|
2
2
|
import { agents } from "add-mcp";
|
|
3
3
|
// src/init/agents.ts
|
|
4
4
|
const SKILLS_AGENT_BY_TYPE = {
|
|
@@ -16,7 +16,15 @@ const SKILLS_AGENT_BY_TYPE = {
|
|
|
16
16
|
"github-copilot-cli": "github-copilot",
|
|
17
17
|
windsurf: "windsurf",
|
|
18
18
|
zed: "zed",
|
|
19
|
-
"grok-build": "grok"
|
|
19
|
+
"grok-build": "grok",
|
|
20
|
+
"factory-droid": "droid",
|
|
21
|
+
fx: "fx",
|
|
22
|
+
hermes: "hermes-agent",
|
|
23
|
+
junie: "junie",
|
|
24
|
+
"kilo-code": "kilo",
|
|
25
|
+
"kimi-code": "kimi-code-cli",
|
|
26
|
+
"kiro-cli": "kiro-cli",
|
|
27
|
+
pi: "pi"
|
|
20
28
|
};
|
|
21
29
|
function getSkillsAgentName(agent) {
|
|
22
30
|
if (Object.prototype.hasOwnProperty.call(SKILLS_AGENT_BY_TYPE, agent)) return SKILLS_AGENT_BY_TYPE[agent];
|
|
@@ -47,4 +55,4 @@ function skillsPickerOptions() {
|
|
|
47
55
|
hint: "agent skills"
|
|
48
56
|
}));
|
|
49
57
|
}
|
|
50
|
-
export { agentPickerHint, agentSupportsHttpMcp, agentSupportsProjectMcp, detectInstalledAgents, getAgentDisplayName, getSkillsAgentName, listMcpAgentIds, mcpPickerOptions, resolveAddMcpAgentId, skillsPickerOptions, supportsSkills, tryResolveAddMcpAgentId, uniqueAgentIds };
|
|
58
|
+
export { agentPickerHint, agentSupportsHttpMcp, agentSupportsProjectMcp, detectInstalledAgents, detectProjectAgents, getAgentDisplayName, getSkillsAgentName, listMcpAgentIds, mcpPickerOptions, resolveAddMcpAgentId, skillsPickerOptions, supportsSkills, tryResolveAddMcpAgentId, uniqueAgentIds };
|
package/dist/init/auth.js
CHANGED
|
@@ -4,8 +4,8 @@ import "../config.js";
|
|
|
4
4
|
import "../auth.js";
|
|
5
5
|
import { c as ensureAuth, l as existingApiClient } from "../_chunks/auth-rup6nemJ.js";
|
|
6
6
|
import { recoverFrom401 } from "../auth_recovery.js";
|
|
7
|
-
import { c as pull } from "../_chunks/env-
|
|
8
|
-
import { c as setupNeonMcp } from "../_chunks/mcp-
|
|
7
|
+
import { c as pull } from "../_chunks/env-BtG4vH55.js";
|
|
8
|
+
import { c as setupNeonMcp } from "../_chunks/mcp-SvqWzHnT.js";
|
|
9
9
|
// src/init/auth.ts
|
|
10
10
|
const isUnauthorized = (error) => isNeonApiError(error) && error.status === 401;
|
|
11
11
|
const authenticationFailed = () => /* @__PURE__ */ new Error("Authentication failed.");
|
package/dist/init/detect.js
CHANGED
|
@@ -2,13 +2,12 @@ import { t as storeFor } from "../_chunks/credential_io-DbeSh3Pl.js";
|
|
|
2
2
|
import { isCi } from "../env.js";
|
|
3
3
|
import { h as resolveProfile, u as locationOf } from "../_chunks/profiles-DTazQtjK.js";
|
|
4
4
|
import { i as selectCredential, t as credentialInputs } from "../_chunks/auth_selection-CwGLN9Qz.js";
|
|
5
|
-
import { detectInstalledAgents, uniqueAgentIds } from "../mcp/agents.js";
|
|
5
|
+
import { detectInstalledAgents, detectProjectAgents, uniqueAgentIds } from "../mcp/agents.js";
|
|
6
6
|
import "./agents.js";
|
|
7
7
|
import { directoryIsEmpty } from "./plan.js";
|
|
8
8
|
import { detectAgent } from "./detect_host.js";
|
|
9
9
|
import { canPickAgentsInteractively } from "../utils/agent_picker.js";
|
|
10
10
|
import { existsSync, readdirSync } from "node:fs";
|
|
11
|
-
import { detectProjectAgents } from "add-mcp";
|
|
12
11
|
// src/init/detect.ts
|
|
13
12
|
const listingHasCredentials = (configDir, profile) => {
|
|
14
13
|
try {
|
package/dist/init/link.js
CHANGED
|
@@ -4,7 +4,7 @@ import "../config.js";
|
|
|
4
4
|
import "../auth.js";
|
|
5
5
|
import { c as ensureAuth } from "../_chunks/auth-rup6nemJ.js";
|
|
6
6
|
import { recoverFrom401 } from "../auth_recovery.js";
|
|
7
|
-
import { s as runLink } from "../_chunks/link-
|
|
7
|
+
import { s as runLink } from "../_chunks/link-CNO-HxHN.js";
|
|
8
8
|
// src/init/link.ts
|
|
9
9
|
const isUnauthorized = (error) => isNeonApiError(error) && error.status === 401;
|
|
10
10
|
const authenticationFailed = () => /* @__PURE__ */ new Error("Authentication failed.");
|
package/dist/init/plan.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { getCliName } from "../utils/cli_name.js";
|
|
2
2
|
import { tryResolveAddMcpAgentId, uniqueAgentIds } from "../mcp/agents.js";
|
|
3
|
-
import { mcpInstallableAgents } from "../mcp/targets.js";
|
|
4
3
|
import { supportsSkills } from "./agents.js";
|
|
5
4
|
import { pluginsInstallableAgents } from "../plugins/targets.js";
|
|
5
|
+
import { mcpInstallableAgents } from "../mcp/targets.js";
|
|
6
6
|
import { skillsInstallableAgents } from "../skills/targets.js";
|
|
7
7
|
import { agentArgv } from "../utils/agent_flag.js";
|
|
8
8
|
import { isAbsolute, join, relative, resolve } from "node:path";
|
|
@@ -92,67 +92,6 @@ const noDetectedAgentsMessage = (input) => {
|
|
|
92
92
|
return `${lead} ${hint} Supported agents: ${input.supported.join(", ")}`;
|
|
93
93
|
};
|
|
94
94
|
const INIT_NEEDS_YES_OR_TERMINAL = "No interactive terminal. Pass -y to use defaults, or run this command in a terminal to pick.";
|
|
95
|
-
const UNKNOWN_AGENT_COMMANDS = ["link"];
|
|
96
|
-
const unknownAgentArgHint = (command, cliName) => `${cliName} ${command} has no --agent. Pass --project-id <id> to link without a TTY, or run ${cliName} ${command} in a terminal.`;
|
|
97
|
-
const BOOLEAN_FLAGS = /* @__PURE__ */ new Set([
|
|
98
|
-
"-y",
|
|
99
|
-
"--yes",
|
|
100
|
-
"--default",
|
|
101
|
-
"--force",
|
|
102
|
-
"-h",
|
|
103
|
-
"--help",
|
|
104
|
-
"-v",
|
|
105
|
-
"--version",
|
|
106
|
-
"--color",
|
|
107
|
-
"--no-color",
|
|
108
|
-
"--analytics",
|
|
109
|
-
"--no-analytics",
|
|
110
|
-
"--oauth",
|
|
111
|
-
"--project",
|
|
112
|
-
"--global",
|
|
113
|
-
"--read-only",
|
|
114
|
-
"--readonly",
|
|
115
|
-
"--clear",
|
|
116
|
-
"--checks",
|
|
117
|
-
"--no-checks",
|
|
118
|
-
"--env-pull",
|
|
119
|
-
"--no-env-pull",
|
|
120
|
-
"--no-agent-setup",
|
|
121
|
-
"--no-link",
|
|
122
|
-
"--no-config",
|
|
123
|
-
"--claimable",
|
|
124
|
-
"--config",
|
|
125
|
-
"--list",
|
|
126
|
-
"--list-templates",
|
|
127
|
-
"--force-auth",
|
|
128
|
-
"--no-force-auth"
|
|
129
|
-
]);
|
|
130
|
-
const isUnknownAgentCommand = (token) => {
|
|
131
|
-
for (const command of UNKNOWN_AGENT_COMMANDS) if (command === token) return true;
|
|
132
|
-
return false;
|
|
133
|
-
};
|
|
134
|
-
const commandFromArgv = (argv) => {
|
|
135
|
-
let skipValue = false;
|
|
136
|
-
for (const token of argv) {
|
|
137
|
-
if (skipValue) {
|
|
138
|
-
skipValue = false;
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
if (token === "--") break;
|
|
142
|
-
if (token.startsWith("-")) {
|
|
143
|
-
const flag = token.split("=")[0];
|
|
144
|
-
if (flag !== void 0 && !token.includes("=") && !BOOLEAN_FLAGS.has(flag)) skipValue = true;
|
|
145
|
-
continue;
|
|
146
|
-
}
|
|
147
|
-
if (isUnknownAgentCommand(token)) return token;
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
const rewriteUnknownAgentArg = (input) => {
|
|
151
|
-
if (input.message !== "Unknown argument: agent" && input.message !== "Unknown argument: a") return;
|
|
152
|
-
const command = commandFromArgv(input.argv);
|
|
153
|
-
if (command === void 0) return;
|
|
154
|
-
return unknownAgentArgHint(command, input.cliName);
|
|
155
|
-
};
|
|
156
95
|
const initYesSupportedAgents = () => uniqueAgentIds([
|
|
157
96
|
...pluginsInstallableAgents("project"),
|
|
158
97
|
...skillsInstallableAgents(),
|
|
@@ -385,4 +324,4 @@ const resolveInitAgentSetup = async (input) => {
|
|
|
385
324
|
if (input.interactive) return input.pick();
|
|
386
325
|
throw new Error(INIT_NEEDS_YES_OR_TERMINAL);
|
|
387
326
|
};
|
|
388
|
-
export { FALLBACK_SKILLS_AGENTS, INIT_NEEDS_YES_OR_TERMINAL, NAMED_AGENTS_MIXED, NAMED_AGENTS_UNSUPPORTED, assertNamedAgentTooling, bootstrapInitStep, chooseYesAgentTooling, collectYesAgents, directoryIsEmpty, funnelAgentSetup, initPluginAgents, initSkillsMcpAgents, initYesSupportedAgents, linkInputArgv, namedAgentsMixedMessage, namedAgentsNeedSplit, noDetectedAgentsMessage, planAgentSteps, planConfigInitStep, planInitToolingSteps, planLinkStep, planToolingSteps, planYesAgentSteps, postScaffoldActions, projectContextFile, recommendedTooling, resolveInitAgentSetup, resolveNamedAgents, resolveYesAgentList,
|
|
327
|
+
export { FALLBACK_SKILLS_AGENTS, INIT_NEEDS_YES_OR_TERMINAL, NAMED_AGENTS_MIXED, NAMED_AGENTS_UNSUPPORTED, assertNamedAgentTooling, bootstrapInitStep, chooseYesAgentTooling, collectYesAgents, directoryIsEmpty, funnelAgentSetup, initPluginAgents, initSkillsMcpAgents, initYesSupportedAgents, linkInputArgv, namedAgentsMixedMessage, namedAgentsNeedSplit, noDetectedAgentsMessage, planAgentSteps, planConfigInitStep, planInitToolingSteps, planLinkStep, planToolingSteps, planYesAgentSteps, postScaffoldActions, projectContextFile, recommendedTooling, resolveInitAgentSetup, resolveNamedAgents, resolveYesAgentList, splitInitTooling };
|
package/dist/init/run.js
CHANGED
|
@@ -9,23 +9,23 @@ import { getCliName } from "../utils/cli_name.js";
|
|
|
9
9
|
import { servicesFlagValue } from "../neon_services.js";
|
|
10
10
|
import { CONFIG_INIT_SERVICES, parseConfigInitServices } from "../config_template.js";
|
|
11
11
|
import { hasNeonConfigFile, neonConfigFilename } from "../project.js";
|
|
12
|
+
import { inferPackageManager, resolvePackageManager } from "../utils/package_manager.js";
|
|
12
13
|
import { getAgentDisplayName } from "../mcp/agents.js";
|
|
13
|
-
import { mcpInstallableAgents } from "../mcp/targets.js";
|
|
14
14
|
import { missingPluginsCommands, pluginsCommandProblemText, pluginsInstallableAgents, unusablePluginsCommands } from "../plugins/targets.js";
|
|
15
|
-
import { skillsInstallableAgents } from "../skills/targets.js";
|
|
16
|
-
import { FALLBACK_SKILLS_AGENTS, assertNamedAgentTooling, funnelAgentSetup, planInitToolingSteps, recommendedTooling, resolveNamedAgents, splitInitTooling } from "./plan.js";
|
|
17
|
-
import { inferPackageManager, resolvePackageManager } from "../utils/package_manager.js";
|
|
18
15
|
import { AGENTS_NOT_INSTALLED, CANCELLED_BODY, CLAIMABLE_ACCOUNT_FLAGS, CLAIMABLE_ALREADY_LINKED, CLAIMABLE_MCP_API_KEY, CLAIMABLE_NO_LINK, MCP_API_KEY_NEEDS_AUTH, MCP_SCOPED_NEEDS_PROJECT, NON_TTY_LINK_NEEDS_AUTH, NO_AGENTS_FALLBACK_STATUS, PROGRESS, PROJECT_PINNED_OFFLINE, claimableNext, claimableThenServicesNext, configInitNext, envPullFailedNext, existingConfigNext, installFailedNext, mcpAfterLinkNext, mcpConfigLocationSkipped, mcpConfigLocationUnavailable, mcpKeyFailedNext, namedAgentsUnavailable, newConfigNext, offlinePinNext, skippedLinkNext, toolingFailedNext, unattendedUnauthedNext } from "./copy.js";
|
|
19
16
|
import { agentsRowValue, configRowValue, formatInitDone, headingForKind, printInitBanner, printInitDone, printInitProgress, projectRowValue, shouldPrintInitBanner } from "./chrome.js";
|
|
20
|
-
import { h as initCmd, t as ConfigInstallFailed } from "../_chunks/config-
|
|
21
|
-
import { o as quoteFlagValue, s as runLink } from "../_chunks/link-
|
|
17
|
+
import { h as initCmd, t as ConfigInstallFailed } from "../_chunks/config-CgtJH8xE.js";
|
|
18
|
+
import { o as quoteFlagValue, s as runLink } from "../_chunks/link-CNO-HxHN.js";
|
|
22
19
|
import { runAuthenticatedLink } from "./link.js";
|
|
20
|
+
import { mcpInstallableAgents } from "../mcp/targets.js";
|
|
21
|
+
import { skillsInstallableAgents } from "../skills/targets.js";
|
|
22
|
+
import { FALLBACK_SKILLS_AGENTS, assertNamedAgentTooling, funnelAgentSetup, planInitToolingSteps, recommendedTooling, resolveNamedAgents, splitInitTooling } from "./plan.js";
|
|
23
23
|
import { CannotMintApiKeyError } from "../mcp/mint.js";
|
|
24
24
|
import { pullInitEnv, resolveInitConfigApi } from "./auth.js";
|
|
25
25
|
import { InitCancelled, raceSigint, restoreCursor } from "./cancelled.js";
|
|
26
26
|
import { pickAgentSetupInteractively, pickInitAgentsInteractively, pickInitConfigInteractively, pickInitMcpAuthInteractively, pickInitMcpConfigLocationInteractively, pickInitModeInteractively, pickInitPackageManagerInteractively, pickInitProjectSetupInteractively, pickInitServicesInteractively, pickInitSkillsInteractively } from "./wizard.js";
|
|
27
27
|
import { runToolingSteps, toolingStepCommandText } from "./tooling.js";
|
|
28
|
-
import { l as create } from "../_chunks/claim-
|
|
28
|
+
import { l as create } from "../_chunks/claim-m5sIJdm5.js";
|
|
29
29
|
import { INIT_CONFIG_SERVICES_CONFLICT, configPlanFromResolution, initEnvPullAfterConfig, resolveInitConfigChoice } from "./choices.js";
|
|
30
30
|
import { detectInitEnvironment } from "./detect.js";
|
|
31
31
|
import { createInitFunnel, emitInitStart, finishInitFunnel, initStartProperties, recordInitError, recordInitExit } from "./funnel.js";
|