@radkode/neo 1.1.2 → 1.3.0
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 +81 -9
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +46 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent/context/index.d.ts.map +1 -1
- package/dist/commands/agent/context/index.js +84 -78
- package/dist/commands/agent/context/index.js.map +1 -1
- package/dist/commands/agent/index.d.ts.map +1 -1
- package/dist/commands/agent/index.js +7 -1
- package/dist/commands/agent/index.js.map +1 -1
- package/dist/commands/agent/init/index.d.ts.map +1 -1
- package/dist/commands/agent/init/index.js +36 -33
- package/dist/commands/agent/init/index.js.map +1 -1
- package/dist/commands/alias/setup/index.d.ts.map +1 -1
- package/dist/commands/alias/setup/index.js +57 -52
- package/dist/commands/alias/setup/index.js.map +1 -1
- package/dist/commands/completions/index.d.ts.map +1 -1
- package/dist/commands/completions/index.js +20 -12
- package/dist/commands/completions/index.js.map +1 -1
- package/dist/commands/config/index.d.ts.map +1 -1
- package/dist/commands/config/index.js +173 -158
- package/dist/commands/config/index.js.map +1 -1
- package/dist/commands/config/profile/index.d.ts.map +1 -1
- package/dist/commands/config/profile/index.js +169 -232
- package/dist/commands/config/profile/index.js.map +1 -1
- package/dist/commands/gh/pr/create/index.d.ts.map +1 -1
- package/dist/commands/gh/pr/create/index.js +86 -56
- package/dist/commands/gh/pr/create/index.js.map +1 -1
- package/dist/commands/git/branch/index.d.ts.map +1 -1
- package/dist/commands/git/branch/index.js +56 -43
- package/dist/commands/git/branch/index.js.map +1 -1
- package/dist/commands/git/commit/index.d.ts.map +1 -1
- package/dist/commands/git/commit/index.js +67 -45
- package/dist/commands/git/commit/index.js.map +1 -1
- package/dist/commands/git/pull/index.d.ts +7 -1
- package/dist/commands/git/pull/index.d.ts.map +1 -1
- package/dist/commands/git/pull/index.js +62 -70
- package/dist/commands/git/pull/index.js.map +1 -1
- package/dist/commands/git/push/index.d.ts +2 -0
- package/dist/commands/git/push/index.d.ts.map +1 -1
- package/dist/commands/git/push/index.js +61 -39
- package/dist/commands/git/push/index.js.map +1 -1
- package/dist/commands/git/stash/index.d.ts.map +1 -1
- package/dist/commands/git/stash/index.js +42 -11
- package/dist/commands/git/stash/index.js.map +1 -1
- package/dist/commands/git/worktree/add.d.ts.map +1 -1
- package/dist/commands/git/worktree/add.js +21 -15
- package/dist/commands/git/worktree/add.js.map +1 -1
- package/dist/commands/git/worktree/list.d.ts.map +1 -1
- package/dist/commands/git/worktree/list.js +32 -20
- package/dist/commands/git/worktree/list.js.map +1 -1
- package/dist/commands/git/worktree/remove.d.ts.map +1 -1
- package/dist/commands/git/worktree/remove.js +17 -8
- package/dist/commands/git/worktree/remove.js.map +1 -1
- package/dist/commands/git/worktree/switch.d.ts.map +1 -1
- package/dist/commands/git/worktree/switch.js +23 -9
- package/dist/commands/git/worktree/switch.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +3 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +53 -28
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/pr/index.d.ts.map +1 -1
- package/dist/commands/pr/index.js +6 -20
- package/dist/commands/pr/index.js.map +1 -1
- package/dist/commands/schema/index.d.ts +44 -0
- package/dist/commands/schema/index.d.ts.map +1 -0
- package/dist/commands/schema/index.js +214 -0
- package/dist/commands/schema/index.js.map +1 -0
- package/dist/commands/update/index.d.ts.map +1 -1
- package/dist/commands/update/index.js +103 -91
- package/dist/commands/update/index.js.map +1 -1
- package/dist/services/ai/index.d.ts.map +1 -1
- package/dist/services/ai/index.js +9 -2
- package/dist/services/ai/index.js.map +1 -1
- package/dist/services/ai/prompts.d.ts +6 -1
- package/dist/services/ai/prompts.d.ts.map +1 -1
- package/dist/services/ai/prompts.js +10 -4
- package/dist/services/ai/prompts.js.map +1 -1
- package/dist/types/schemas.d.ts +3 -7
- package/dist/types/schemas.d.ts.map +1 -1
- package/dist/types/schemas.js +3 -3
- package/dist/types/schemas.js.map +1 -1
- package/dist/utils/agent.d.ts.map +1 -1
- package/dist/utils/agent.js +5 -11
- package/dist/utils/agent.js.map +1 -1
- package/dist/utils/config.js +1 -1
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +52 -11
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/output.d.ts +15 -0
- package/dist/utils/output.d.ts.map +1 -0
- package/dist/utils/output.js +50 -0
- package/dist/utils/output.js.map +1 -0
- package/dist/utils/prompt.d.ts +17 -2
- package/dist/utils/prompt.d.ts.map +1 -1
- package/dist/utils/prompt.js +66 -11
- package/dist/utils/prompt.js.map +1 -1
- package/dist/utils/run-action.d.ts +3 -0
- package/dist/utils/run-action.d.ts.map +1 -0
- package/dist/utils/run-action.js +19 -0
- package/dist/utils/run-action.js.map +1 -0
- package/dist/utils/runtime-context.d.ts +27 -0
- package/dist/utils/runtime-context.d.ts.map +1 -0
- package/dist/utils/runtime-context.js +74 -0
- package/dist/utils/runtime-context.js.map +1 -0
- package/dist/utils/ui-types.d.ts +2 -0
- package/dist/utils/ui-types.d.ts.map +1 -1
- package/dist/utils/ui.d.ts +2 -0
- package/dist/utils/ui.d.ts.map +1 -1
- package/dist/utils/ui.js +96 -22
- package/dist/utils/ui.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -74,14 +74,26 @@ neo git stash pop # Pop latest stash
|
|
|
74
74
|
neo git stash list # List stashes
|
|
75
75
|
```
|
|
76
76
|
|
|
77
|
+
### `neo git commit`
|
|
78
|
+
|
|
79
|
+
Conventional commits with optional AI-drafted messages.
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
neo git commit # Interactive conventional commit
|
|
83
|
+
neo git commit --ai # Draft a message from the staged diff (Anthropic API)
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
The AI path uses `claude-haiku-4-5` by default and caches the system prompt. Set your key with `neo config set ai.apiKey` or `ANTHROPIC_API_KEY`.
|
|
87
|
+
|
|
77
88
|
### `neo config`
|
|
78
89
|
|
|
79
|
-
Key-value configuration with secure secrets storage.
|
|
90
|
+
Key-value configuration with secure secrets storage and profiles.
|
|
80
91
|
|
|
81
92
|
```bash
|
|
82
|
-
neo config set key value
|
|
83
|
-
neo config get key
|
|
84
|
-
neo config list
|
|
93
|
+
neo config set key value # Set a value
|
|
94
|
+
neo config get key # Get a value
|
|
95
|
+
neo config list # List all values
|
|
96
|
+
neo config profile create work # Create/switch profiles
|
|
85
97
|
```
|
|
86
98
|
|
|
87
99
|
### `neo update`
|
|
@@ -93,14 +105,74 @@ neo update # Update to latest
|
|
|
93
105
|
neo update --check-only # Check for updates
|
|
94
106
|
```
|
|
95
107
|
|
|
108
|
+
## Agent mode
|
|
109
|
+
|
|
110
|
+
Neo is built to be scripted and driven by AI coding agents (Claude Code, Cursor, Aider, etc.). Every command returns structured output on demand, has deterministic exit codes, and can skip prompts — no screen-scraping required.
|
|
111
|
+
|
|
112
|
+
### Flags
|
|
113
|
+
|
|
114
|
+
| Flag | What it does |
|
|
115
|
+
|------|--------------|
|
|
116
|
+
| `--json` | Emit a single JSON payload on stdout. Implies `--non-interactive` and `--quiet`. Errors come back as `{"error": {...}}`. |
|
|
117
|
+
| `-y, --yes` | Auto-accept prompt defaults. Safe for idempotent operations; destructive actions still require an explicit flag like `--force`. |
|
|
118
|
+
| `--non-interactive` | Fail fast with exit code `2` instead of prompting. Pair with `--yes` or the prompt-specific flag. |
|
|
119
|
+
| `-q, --quiet` | Suppress banner, spinners, and decorative output. |
|
|
120
|
+
|
|
121
|
+
### Exit codes
|
|
122
|
+
|
|
123
|
+
| Code | Meaning |
|
|
124
|
+
|------|---------|
|
|
125
|
+
| `0` | Success |
|
|
126
|
+
| `1` | Command failure (see stderr/JSON error for details) |
|
|
127
|
+
| `2` | Non-interactive prompt required — pass the missing flag |
|
|
128
|
+
|
|
129
|
+
### Environment markers
|
|
130
|
+
|
|
131
|
+
Neo auto-detects agent environments and switches to agent defaults (no banner, no color, non-interactive):
|
|
132
|
+
|
|
133
|
+
- `CLAUDECODE=1` — Claude Code
|
|
134
|
+
- `CURSOR_AGENT=1` — Cursor agent
|
|
135
|
+
- `AIDER=1` — Aider
|
|
136
|
+
- `NEO_AGENT=1` — any other agent
|
|
137
|
+
|
|
138
|
+
Override flags: `NEO_JSON`, `NEO_YES`, `NEO_NON_INTERACTIVE`, `NEO_QUIET`. `NO_COLOR` and `CI` are also respected.
|
|
139
|
+
|
|
140
|
+
### Discover the command tree
|
|
141
|
+
|
|
142
|
+
Rather than relying on training data, agents should query Neo's schema directly:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
neo schema # Compact JSON on stdout
|
|
146
|
+
neo schema --pretty # Pretty-printed JSON
|
|
147
|
+
neo schema --markdown # Human-readable docs
|
|
148
|
+
neo schema | jq '.commands[] | .path'
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
The schema follows an OpenCLI-lite shape: every command, option, argument, and global flag is enumerated with types and descriptions.
|
|
152
|
+
|
|
153
|
+
### Example: create a PR from an agent
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
neo git push --yes --json \
|
|
157
|
+
&& neo gh pr create --title "Add X" --body "…" --yes --json \
|
|
158
|
+
| jq -r '.url'
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
If a required prompt can't be answered non-interactively you'll get exit code `2` and a structured error telling you which flag was missing.
|
|
162
|
+
|
|
96
163
|
## Global Options
|
|
97
164
|
|
|
98
165
|
```
|
|
99
|
-
-v, --verbose
|
|
100
|
-
|
|
101
|
-
--no-
|
|
102
|
-
-
|
|
103
|
-
-
|
|
166
|
+
-v, --verbose Verbose output
|
|
167
|
+
-c, --config <path> Path to config file
|
|
168
|
+
--no-color Disable colors
|
|
169
|
+
--no-banner Hide banner
|
|
170
|
+
--json Machine-readable JSON on stdout (implies --non-interactive, --quiet)
|
|
171
|
+
-y, --yes Auto-accept prompt defaults
|
|
172
|
+
--non-interactive Fail fast instead of prompting
|
|
173
|
+
-q, --quiet Suppress banner and decorative output
|
|
174
|
+
-h, --help Show help
|
|
175
|
+
-V, --version Show version
|
|
104
176
|
```
|
|
105
177
|
|
|
106
178
|
## Development
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAwBtD,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CA2NlD"}
|
package/dist/cli.js
CHANGED
|
@@ -9,6 +9,9 @@ import { Colors } from './utils/ui-types.js';
|
|
|
9
9
|
import { pluginRegistry, commandRegistry, eventBus } from './core/plugins/index.js';
|
|
10
10
|
import { CliEvents } from './core/interfaces/index.js';
|
|
11
11
|
import { success } from './core/errors/index.js';
|
|
12
|
+
import { buildRuntimeContext, setRuntimeContext } from './utils/runtime-context.js';
|
|
13
|
+
import { runAction } from './utils/run-action.js';
|
|
14
|
+
import { emitError } from './utils/output.js';
|
|
12
15
|
import packageJson from '../package.json' with { type: 'json' };
|
|
13
16
|
let pluginsLoaded = false;
|
|
14
17
|
let commandStartTime = 0;
|
|
@@ -22,23 +25,58 @@ export async function createCLI() {
|
|
|
22
25
|
.option('-c, --config <path>', 'path to config file')
|
|
23
26
|
.option('--no-color', 'disable colored output')
|
|
24
27
|
.option('--no-banner', 'hide banner')
|
|
28
|
+
.option('--json', 'emit machine-readable JSON on stdout (implies --non-interactive, --quiet)')
|
|
29
|
+
.option('-y, --yes', 'auto-accept prompt defaults (agent-friendly)')
|
|
30
|
+
.option('--non-interactive', 'fail fast instead of prompting for missing input')
|
|
31
|
+
.option('-q, --quiet', 'suppress banner, spinners, and decorative output')
|
|
32
|
+
.addHelpText('after', `
|
|
33
|
+
Agent mode:
|
|
34
|
+
Flags --json, --yes, --non-interactive, --quiet, --no-color, --no-banner
|
|
35
|
+
Env NEO_JSON, NEO_YES, NEO_NON_INTERACTIVE, NEO_QUIET, NO_COLOR, CI
|
|
36
|
+
Schema neo schema dump every command & option as JSON
|
|
37
|
+
Quick neo git commit --ai --yes --json AI commit, no prompts, JSON output
|
|
38
|
+
neo git pull --yes --json pull + auto-rebase, structured result
|
|
39
|
+
neo gh pr create --yes --json push + PR using inferred title
|
|
40
|
+
|
|
41
|
+
Exit codes:
|
|
42
|
+
0 success
|
|
43
|
+
1 command failure
|
|
44
|
+
2 non-interactive prompt required (missing flag) — see error.flag for the fix
|
|
45
|
+
|
|
46
|
+
Learn more:
|
|
47
|
+
neo <command> --help detailed help for a command
|
|
48
|
+
neo schema --pretty full CLI description for agents
|
|
49
|
+
`)
|
|
25
50
|
.hook('preAction', async (thisCommand, actionCommand) => {
|
|
26
51
|
const opts = thisCommand.opts();
|
|
27
52
|
const commandName = actionCommand.name();
|
|
53
|
+
const overrides = {
|
|
54
|
+
json: Boolean(opts['json']),
|
|
55
|
+
yes: Boolean(opts['yes']),
|
|
56
|
+
nonInteractive: Boolean(opts['nonInteractive']),
|
|
57
|
+
quiet: Boolean(opts['quiet']),
|
|
58
|
+
verbose: Boolean(opts['verbose']),
|
|
59
|
+
};
|
|
60
|
+
if (opts['color'] === false)
|
|
61
|
+
overrides.color = false;
|
|
62
|
+
const ctx = buildRuntimeContext(overrides);
|
|
63
|
+
setRuntimeContext(ctx);
|
|
28
64
|
const isHelpOrVersion = commandName === 'version' ||
|
|
29
65
|
commandName === 'help' ||
|
|
30
66
|
process.argv.includes('--version') ||
|
|
31
67
|
process.argv.includes('-V') ||
|
|
32
68
|
process.argv.includes('--help') ||
|
|
33
69
|
process.argv.includes('-h');
|
|
34
|
-
|
|
70
|
+
const isMachineOutputCommand = commandName === 'schema' || commandName === 'completions';
|
|
71
|
+
if (ctx.verbose) {
|
|
35
72
|
logger.setVerbose(true);
|
|
36
73
|
logger.debug(`Executing command: ${commandName}`);
|
|
37
74
|
}
|
|
38
|
-
if (
|
|
75
|
+
if (!ctx.color) {
|
|
39
76
|
chalk.level = 0;
|
|
40
77
|
}
|
|
41
|
-
|
|
78
|
+
const suppressBanner = ctx.quiet || ctx.format === 'json' || ctx.isAgent || ctx.isCI || isMachineOutputCommand;
|
|
79
|
+
if (!isHelpOrVersion && opts.banner !== false && !suppressBanner) {
|
|
42
80
|
let bannerType = 'full';
|
|
43
81
|
try {
|
|
44
82
|
const config = await configManager.read();
|
|
@@ -49,7 +87,7 @@ export async function createCLI() {
|
|
|
49
87
|
}
|
|
50
88
|
displayBanner(bannerType);
|
|
51
89
|
}
|
|
52
|
-
if (!isHelpOrVersion) {
|
|
90
|
+
if (!isHelpOrVersion && !suppressBanner && !ctx.nonInteractive) {
|
|
53
91
|
await notifyIfCliUpdateAvailable();
|
|
54
92
|
}
|
|
55
93
|
commandStartTime = Date.now();
|
|
@@ -104,19 +142,19 @@ export async function createCLI() {
|
|
|
104
142
|
}
|
|
105
143
|
}
|
|
106
144
|
}
|
|
107
|
-
cmd.action(async (...args) => {
|
|
145
|
+
cmd.action(runAction(async (...args) => {
|
|
108
146
|
const opts = args[args.length - 2];
|
|
109
147
|
const cmdArgs = args.slice(0, -2);
|
|
110
148
|
if (command.validate && !command.validate(opts)) {
|
|
111
|
-
|
|
149
|
+
emitError(new Error(`Invalid options for command "${command.name}"`));
|
|
112
150
|
process.exit(1);
|
|
113
151
|
}
|
|
114
152
|
const result = await command.execute(opts, cmdArgs);
|
|
115
153
|
if (!result.success) {
|
|
116
|
-
|
|
154
|
+
emitError(result.error);
|
|
117
155
|
process.exit(1);
|
|
118
156
|
}
|
|
119
|
-
});
|
|
157
|
+
}));
|
|
120
158
|
program.addCommand(cmd);
|
|
121
159
|
logger.debug(`Registered plugin command: ${command.name}`);
|
|
122
160
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAGhE,IAAI,aAAa,GAAG,KAAK,CAAC;AAG1B,IAAI,gBAAgB,GAAW,CAAC,CAAC;AAEjC,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,KAAK,CAAC;SACX,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;SACpC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;SAC5B,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;SACjD,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;SACpD,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC;SACpC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,EAAE;QACtD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/agent/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/agent/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAyBtD,wBAAgB,yBAAyB,IAAI,OAAO,CAUnD"}
|
|
@@ -2,7 +2,11 @@ import { Command } from '@commander-js/extra-typings';
|
|
|
2
2
|
import inquirer from 'inquirer';
|
|
3
3
|
import { ContextDB } from '../../../storage/db.js';
|
|
4
4
|
import { ui } from '../../../utils/ui.js';
|
|
5
|
-
import { validate, validateArgument
|
|
5
|
+
import { validate, validateArgument } from '../../../utils/validation.js';
|
|
6
|
+
import { getRuntimeContext } from '../../../utils/runtime-context.js';
|
|
7
|
+
import { NonInteractiveError } from '../../../utils/prompt.js';
|
|
8
|
+
import { emitJson } from '../../../utils/output.js';
|
|
9
|
+
import { runAction } from '../../../utils/run-action.js';
|
|
6
10
|
import { agentContextAddOptionsSchema, agentContextListOptionsSchema, contextIdSchema, contextContentSchema, } from '../../../types/schemas.js';
|
|
7
11
|
import { ensureAgentInitialized, getAgentDbPath } from '../../../utils/agent.js';
|
|
8
12
|
export function createAgentContextCommand() {
|
|
@@ -21,30 +25,12 @@ function createContextAddCommand() {
|
|
|
21
25
|
.argument('<content>', 'context content')
|
|
22
26
|
.option('--tag <tags...>', 'tags to assign')
|
|
23
27
|
.option('--priority <priority>', 'priority level (low, medium, high, critical)')
|
|
24
|
-
.action(async (rawContent, options) => {
|
|
28
|
+
.action(runAction(async (rawContent, options) => {
|
|
25
29
|
await ensureAgentInitialized();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
content = validateArgument(contextContentSchema, rawContent, 'context content');
|
|
29
|
-
}
|
|
30
|
-
catch (error) {
|
|
31
|
-
if (isValidationError(error)) {
|
|
32
|
-
process.exit(1);
|
|
33
|
-
}
|
|
34
|
-
throw error;
|
|
35
|
-
}
|
|
36
|
-
let validatedOptions;
|
|
37
|
-
try {
|
|
38
|
-
validatedOptions = validate(agentContextAddOptionsSchema, options, 'context add options');
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
if (isValidationError(error)) {
|
|
42
|
-
process.exit(1);
|
|
43
|
-
}
|
|
44
|
-
throw error;
|
|
45
|
-
}
|
|
30
|
+
const content = validateArgument(contextContentSchema, rawContent, 'context content');
|
|
31
|
+
const validatedOptions = validate(agentContextAddOptionsSchema, options, 'context add options');
|
|
46
32
|
await addContext(content, validatedOptions);
|
|
47
|
-
});
|
|
33
|
+
}));
|
|
48
34
|
return command;
|
|
49
35
|
}
|
|
50
36
|
function createContextListCommand() {
|
|
@@ -53,20 +39,11 @@ function createContextListCommand() {
|
|
|
53
39
|
.description('List context items')
|
|
54
40
|
.option('--tag <tag>', 'filter by tag')
|
|
55
41
|
.option('--priority <priority>', 'filter by priority')
|
|
56
|
-
.action(async (options) => {
|
|
42
|
+
.action(runAction(async (options) => {
|
|
57
43
|
await ensureAgentInitialized();
|
|
58
|
-
|
|
59
|
-
try {
|
|
60
|
-
validatedOptions = validate(agentContextListOptionsSchema, options, 'context list options');
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
if (isValidationError(error)) {
|
|
64
|
-
process.exit(1);
|
|
65
|
-
}
|
|
66
|
-
throw error;
|
|
67
|
-
}
|
|
44
|
+
const validatedOptions = validate(agentContextListOptionsSchema, options, 'context list options');
|
|
68
45
|
await listContexts(validatedOptions);
|
|
69
|
-
});
|
|
46
|
+
}));
|
|
70
47
|
return command;
|
|
71
48
|
}
|
|
72
49
|
function createContextRemoveCommand() {
|
|
@@ -74,27 +51,17 @@ function createContextRemoveCommand() {
|
|
|
74
51
|
command
|
|
75
52
|
.description('Remove a context item')
|
|
76
53
|
.argument('<id>', 'context ID to remove')
|
|
77
|
-
.action(async (rawId) => {
|
|
54
|
+
.action(runAction(async (rawId) => {
|
|
78
55
|
await ensureAgentInitialized();
|
|
79
|
-
|
|
80
|
-
try {
|
|
81
|
-
id = validateArgument(contextIdSchema, rawId, 'context ID');
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
if (isValidationError(error)) {
|
|
85
|
-
process.exit(1);
|
|
86
|
-
}
|
|
87
|
-
throw error;
|
|
88
|
-
}
|
|
56
|
+
const id = validateArgument(contextIdSchema, rawId, 'context ID');
|
|
89
57
|
await removeContext(id);
|
|
90
|
-
});
|
|
58
|
+
}));
|
|
91
59
|
return command;
|
|
92
60
|
}
|
|
93
61
|
async function addContext(content, options) {
|
|
94
62
|
const dbPath = await getAgentDbPath();
|
|
95
63
|
if (!dbPath) {
|
|
96
|
-
|
|
97
|
-
process.exit(1);
|
|
64
|
+
throw new Error('Failed to get database path');
|
|
98
65
|
}
|
|
99
66
|
const spinner = ui.spinner('Adding context');
|
|
100
67
|
spinner.start();
|
|
@@ -107,25 +74,35 @@ async function addContext(content, options) {
|
|
|
107
74
|
});
|
|
108
75
|
db.close();
|
|
109
76
|
spinner.succeed('Context added successfully');
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
77
|
+
emitJson({
|
|
78
|
+
ok: true,
|
|
79
|
+
command: 'agent.context.add',
|
|
80
|
+
context: {
|
|
81
|
+
id: contextItem.id,
|
|
82
|
+
content: contextItem.content,
|
|
83
|
+
tags: contextItem.tags,
|
|
84
|
+
priority: contextItem.priority,
|
|
85
|
+
created_at: contextItem.created_at.toISOString(),
|
|
86
|
+
},
|
|
87
|
+
}, {
|
|
88
|
+
text: () => ui.keyValue([
|
|
89
|
+
['ID', contextItem.id],
|
|
90
|
+
['Content', contextItem.content],
|
|
91
|
+
['Tags', contextItem.tags.join(', ') || 'none'],
|
|
92
|
+
['Priority', contextItem.priority],
|
|
93
|
+
['Created', contextItem.created_at.toLocaleString()],
|
|
94
|
+
]),
|
|
95
|
+
});
|
|
117
96
|
}
|
|
118
97
|
catch (error) {
|
|
119
98
|
spinner.fail('Failed to add context');
|
|
120
|
-
|
|
121
|
-
process.exit(1);
|
|
99
|
+
throw error instanceof Error ? error : new Error(String(error));
|
|
122
100
|
}
|
|
123
101
|
}
|
|
124
102
|
async function listContexts(options) {
|
|
125
103
|
const dbPath = await getAgentDbPath();
|
|
126
104
|
if (!dbPath) {
|
|
127
|
-
|
|
128
|
-
process.exit(1);
|
|
105
|
+
throw new Error('Failed to get database path');
|
|
129
106
|
}
|
|
130
107
|
const spinner = ui.spinner('Loading contexts');
|
|
131
108
|
spinner.start();
|
|
@@ -140,6 +117,27 @@ async function listContexts(options) {
|
|
|
140
117
|
const stats = db.getStats();
|
|
141
118
|
db.close();
|
|
142
119
|
spinner.succeed('Contexts loaded');
|
|
120
|
+
const rtCtx = getRuntimeContext();
|
|
121
|
+
if (rtCtx.format === 'json') {
|
|
122
|
+
emitJson({
|
|
123
|
+
ok: true,
|
|
124
|
+
command: 'agent.context.list',
|
|
125
|
+
total: stats.total,
|
|
126
|
+
filtered: contexts.length,
|
|
127
|
+
filter: {
|
|
128
|
+
tag: options.tag ?? null,
|
|
129
|
+
priority: options.priority ?? null,
|
|
130
|
+
},
|
|
131
|
+
contexts: contexts.map((c) => ({
|
|
132
|
+
id: c.id,
|
|
133
|
+
content: c.content,
|
|
134
|
+
tags: c.tags,
|
|
135
|
+
priority: c.priority,
|
|
136
|
+
created_at: c.created_at.toISOString(),
|
|
137
|
+
})),
|
|
138
|
+
});
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
143
141
|
if (contexts.length === 0) {
|
|
144
142
|
ui.warn('No contexts found');
|
|
145
143
|
ui.muted('Add your first context with: neo agent context add "Your context here"');
|
|
@@ -173,24 +171,20 @@ async function listContexts(options) {
|
|
|
173
171
|
}
|
|
174
172
|
catch (error) {
|
|
175
173
|
spinner.fail('Failed to load contexts');
|
|
176
|
-
|
|
177
|
-
process.exit(1);
|
|
174
|
+
throw error instanceof Error ? error : new Error(String(error));
|
|
178
175
|
}
|
|
179
176
|
}
|
|
180
177
|
async function removeContext(id) {
|
|
181
178
|
const dbPath = await getAgentDbPath();
|
|
182
179
|
if (!dbPath) {
|
|
183
|
-
|
|
184
|
-
process.exit(1);
|
|
180
|
+
throw new Error('Failed to get database path');
|
|
185
181
|
}
|
|
186
182
|
try {
|
|
187
183
|
const db = await ContextDB.create(dbPath);
|
|
188
184
|
const context = db.getContext(id);
|
|
189
185
|
if (!context) {
|
|
190
186
|
db.close();
|
|
191
|
-
|
|
192
|
-
ui.muted(`No context found with ID: ${id}`);
|
|
193
|
-
process.exit(1);
|
|
187
|
+
throw new Error(`No context found with ID: ${id}`);
|
|
194
188
|
}
|
|
195
189
|
ui.section('Context to Remove');
|
|
196
190
|
ui.keyValue([
|
|
@@ -200,14 +194,26 @@ async function removeContext(id) {
|
|
|
200
194
|
['Priority', context.priority],
|
|
201
195
|
['Created', context.created_at.toLocaleString()],
|
|
202
196
|
]);
|
|
203
|
-
const
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
197
|
+
const rtCtx = getRuntimeContext();
|
|
198
|
+
let confirmed;
|
|
199
|
+
if (rtCtx.yes) {
|
|
200
|
+
confirmed = true;
|
|
201
|
+
}
|
|
202
|
+
else if (rtCtx.nonInteractive) {
|
|
203
|
+
db.close();
|
|
204
|
+
throw new NonInteractiveError('Context removal requires confirmation', '--yes');
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
const answer = await inquirer.prompt([
|
|
208
|
+
{
|
|
209
|
+
type: 'confirm',
|
|
210
|
+
name: 'confirmed',
|
|
211
|
+
message: 'Are you sure you want to remove this context?',
|
|
212
|
+
default: false,
|
|
213
|
+
},
|
|
214
|
+
]);
|
|
215
|
+
confirmed = Boolean(answer.confirmed);
|
|
216
|
+
}
|
|
211
217
|
if (!confirmed) {
|
|
212
218
|
db.close();
|
|
213
219
|
ui.info('Context removal cancelled');
|
|
@@ -225,9 +231,9 @@ async function removeContext(id) {
|
|
|
225
231
|
}
|
|
226
232
|
}
|
|
227
233
|
catch (error) {
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
234
|
+
if (error instanceof NonInteractiveError)
|
|
235
|
+
throw error;
|
|
236
|
+
throw error instanceof Error ? error : new Error(String(error));
|
|
231
237
|
}
|
|
232
238
|
}
|
|
233
239
|
function truncateText(text, maxLength) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/agent/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/agent/context/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAOtD,wBAAgB,kBAAkB,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAOtD,wBAAgB,kBAAkB,IAAI,OAAO,CAkB5C"}
|
|
@@ -6,7 +6,13 @@ export function createAgentCommand() {
|
|
|
6
6
|
command
|
|
7
7
|
.description('Manage AI agent context and configuration')
|
|
8
8
|
.addCommand(createAgentInitCommand())
|
|
9
|
-
.addCommand(createAgentContextCommand())
|
|
9
|
+
.addCommand(createAgentContextCommand())
|
|
10
|
+
.addHelpText('after', `
|
|
11
|
+
Agent-friendly usage:
|
|
12
|
+
$ neo agent context list --json
|
|
13
|
+
$ neo agent context add "Important fact" --tag important --json
|
|
14
|
+
$ neo agent context remove <id> --yes --json
|
|
15
|
+
`);
|
|
10
16
|
return command;
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAK9E,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;SACJ,WAAW,CAAC,2CAA2C,CAAC;SACxD,UAAU,CAAC,sBAAsB,EAAE,CAAC;SACpC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAK9E,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;SACJ,WAAW,CAAC,2CAA2C,CAAC;SACxD,UAAU,CAAC,sBAAsB,EAAE,CAAC;SACpC,UAAU,CAAC,yBAAyB,EAAE,CAAC;SACvC,WAAW,CACV,OAAO,EACP;;;;;CAKL,CACI,CAAC;IAEJ,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/agent/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/agent/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAmBtD,wBAAgB,sBAAsB,IAAI,OAAO,CAkBhD"}
|