@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-action.d.ts","sourceRoot":"","sources":["../../src/utils/run-action.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE9F,wBAAgB,SAAS,CAAC,IAAI,SAAS,OAAO,EAAE,EAC9C,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,GACxB,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAclC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { NonInteractiveError } from './prompt.js';
|
|
2
|
+
import { emitError } from './output.js';
|
|
3
|
+
export function runAction(fn) {
|
|
4
|
+
return async (...args) => {
|
|
5
|
+
try {
|
|
6
|
+
await fn(...args);
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
if (error instanceof NonInteractiveError) {
|
|
10
|
+
emitError(error);
|
|
11
|
+
process.exit(2);
|
|
12
|
+
}
|
|
13
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
14
|
+
emitError(err);
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=run-action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-action.js","sourceRoot":"","sources":["../../src/utils/run-action.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,MAAM,UAAU,SAAS,CACvB,EAAyB;IAEzB,OAAO,KAAK,EAAE,GAAG,IAAU,EAAiB,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;gBACzC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,SAAS,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type OutputFormat = 'text' | 'json';
|
|
2
|
+
export interface RuntimeContext {
|
|
3
|
+
format: OutputFormat;
|
|
4
|
+
yes: boolean;
|
|
5
|
+
nonInteractive: boolean;
|
|
6
|
+
quiet: boolean;
|
|
7
|
+
verbose: boolean;
|
|
8
|
+
color: boolean;
|
|
9
|
+
stdoutIsTTY: boolean;
|
|
10
|
+
stdinIsTTY: boolean;
|
|
11
|
+
isCI: boolean;
|
|
12
|
+
isAgent: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface RuntimeContextOverrides {
|
|
15
|
+
json?: boolean;
|
|
16
|
+
format?: OutputFormat;
|
|
17
|
+
yes?: boolean;
|
|
18
|
+
nonInteractive?: boolean;
|
|
19
|
+
quiet?: boolean;
|
|
20
|
+
verbose?: boolean;
|
|
21
|
+
color?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare function buildRuntimeContext(overrides?: RuntimeContextOverrides): RuntimeContext;
|
|
24
|
+
export declare function setRuntimeContext(ctx: RuntimeContext): void;
|
|
25
|
+
export declare function getRuntimeContext(): RuntimeContext;
|
|
26
|
+
export declare function isJsonMode(): boolean;
|
|
27
|
+
//# sourceMappingURL=runtime-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-context.d.ts","sourceRoot":"","sources":["../../src/utils/runtime-context.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,cAAc;IAE7B,MAAM,EAAE,YAAY,CAAC;IAErB,GAAG,EAAE,OAAO,CAAC;IAEb,cAAc,EAAE,OAAO,CAAC;IAExB,KAAK,EAAE,OAAO,CAAC;IAEf,OAAO,EAAE,OAAO,CAAC;IAEjB,KAAK,EAAE,OAAO,CAAC;IAEf,WAAW,EAAE,OAAO,CAAC;IAErB,UAAU,EAAE,OAAO,CAAC;IAEpB,IAAI,EAAE,OAAO,CAAC;IAEd,OAAO,EAAE,OAAO,CAAC;CAClB;AAgDD,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAMD,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,uBAA4B,GAAG,cAAc,CA0C3F;AAKD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI,CAE3D;AAGD,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAGD,wBAAgB,UAAU,IAAI,OAAO,CAEpC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
function detectCI() {
|
|
2
|
+
const env = process.env;
|
|
3
|
+
return Boolean(env['CI'] ||
|
|
4
|
+
env['CONTINUOUS_INTEGRATION'] ||
|
|
5
|
+
env['GITHUB_ACTIONS'] ||
|
|
6
|
+
env['GITLAB_CI'] ||
|
|
7
|
+
env['CIRCLECI'] ||
|
|
8
|
+
env['BUILDKITE'] ||
|
|
9
|
+
env['JENKINS_URL'] ||
|
|
10
|
+
env['TEAMCITY_VERSION']);
|
|
11
|
+
}
|
|
12
|
+
function detectAgent() {
|
|
13
|
+
const env = process.env;
|
|
14
|
+
return Boolean(env['CLAUDECODE'] ||
|
|
15
|
+
env['CLAUDE_CODE'] ||
|
|
16
|
+
env['CURSOR_AGENT'] ||
|
|
17
|
+
env['AIDER'] ||
|
|
18
|
+
env['CODEX_CLI'] ||
|
|
19
|
+
env['NEO_AGENT'] ||
|
|
20
|
+
env['AI_AGENT']);
|
|
21
|
+
}
|
|
22
|
+
function isTestEnvironment() {
|
|
23
|
+
const env = process.env;
|
|
24
|
+
return Boolean(env['VITEST'] || env['JEST_WORKER_ID'] || env['NODE_ENV'] === 'test');
|
|
25
|
+
}
|
|
26
|
+
function envBool(name) {
|
|
27
|
+
const v = process.env[name];
|
|
28
|
+
if (!v)
|
|
29
|
+
return false;
|
|
30
|
+
const lower = v.toLowerCase();
|
|
31
|
+
return lower === '1' || lower === 'true' || lower === 'yes';
|
|
32
|
+
}
|
|
33
|
+
export function buildRuntimeContext(overrides = {}) {
|
|
34
|
+
const stdoutIsTTY = Boolean(process.stdout.isTTY);
|
|
35
|
+
const stdinIsTTY = Boolean(process.stdin.isTTY);
|
|
36
|
+
const inTest = isTestEnvironment();
|
|
37
|
+
const isCI = inTest ? false : detectCI();
|
|
38
|
+
const isAgent = inTest ? false : detectAgent();
|
|
39
|
+
const jsonFromEnv = envBool('NEO_JSON');
|
|
40
|
+
const format = overrides.format ?? (overrides.json || jsonFromEnv ? 'json' : 'text');
|
|
41
|
+
const yes = overrides.yes ?? envBool('NEO_YES');
|
|
42
|
+
const nonInteractive = overrides.nonInteractive ??
|
|
43
|
+
(envBool('NEO_NON_INTERACTIVE') ||
|
|
44
|
+
isCI ||
|
|
45
|
+
isAgent ||
|
|
46
|
+
format === 'json' ||
|
|
47
|
+
(!stdinIsTTY && !inTest));
|
|
48
|
+
const quiet = overrides.quiet ?? (envBool('NEO_QUIET') || format === 'json');
|
|
49
|
+
const noColorEnv = Boolean(process.env['NO_COLOR']);
|
|
50
|
+
const color = overrides.color ?? !(noColorEnv || !stdoutIsTTY || format === 'json');
|
|
51
|
+
return {
|
|
52
|
+
format,
|
|
53
|
+
yes,
|
|
54
|
+
nonInteractive,
|
|
55
|
+
quiet,
|
|
56
|
+
verbose: overrides.verbose ?? false,
|
|
57
|
+
color,
|
|
58
|
+
stdoutIsTTY,
|
|
59
|
+
stdinIsTTY,
|
|
60
|
+
isCI,
|
|
61
|
+
isAgent,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
let current = buildRuntimeContext();
|
|
65
|
+
export function setRuntimeContext(ctx) {
|
|
66
|
+
current = ctx;
|
|
67
|
+
}
|
|
68
|
+
export function getRuntimeContext() {
|
|
69
|
+
return current;
|
|
70
|
+
}
|
|
71
|
+
export function isJsonMode() {
|
|
72
|
+
return current.format === 'json';
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=runtime-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-context.js","sourceRoot":"","sources":["../../src/utils/runtime-context.ts"],"names":[],"mappings":"AAkCA,SAAS,QAAQ;IACf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,OAAO,OAAO,CACZ,GAAG,CAAC,IAAI,CAAC;QACP,GAAG,CAAC,wBAAwB,CAAC;QAC7B,GAAG,CAAC,gBAAgB,CAAC;QACrB,GAAG,CAAC,WAAW,CAAC;QAChB,GAAG,CAAC,UAAU,CAAC;QACf,GAAG,CAAC,WAAW,CAAC;QAChB,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,kBAAkB,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAExB,OAAO,OAAO,CACZ,GAAG,CAAC,YAAY,CAAC;QACf,GAAG,CAAC,aAAa,CAAC;QAClB,GAAG,CAAC,cAAc,CAAC;QACnB,GAAG,CAAC,OAAO,CAAC;QACZ,GAAG,CAAC,WAAW,CAAC;QAChB,GAAG,CAAC,WAAW,CAAC;QAEhB,GAAG,CAAC,UAAU,CAAC,CAClB,CAAC;AACJ,CAAC;AAOD,SAAS,iBAAiB;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,CAAC;AAC9D,CAAC;AAgBD,MAAM,UAAU,mBAAmB,CAAC,YAAqC,EAAE;IACzE,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAGnC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAE/C,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,MAAM,GACV,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAExE,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IAIhD,MAAM,cAAc,GAClB,SAAS,CAAC,cAAc;QACxB,CAAC,OAAO,CAAC,qBAAqB,CAAC;YAC7B,IAAI;YACJ,OAAO;YACP,MAAM,KAAK,MAAM;YACjB,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC;IAE7E,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,WAAW,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC;IAEpF,OAAO;QACL,MAAM;QACN,GAAG;QACH,cAAc;QACd,KAAK;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,KAAK;QACnC,KAAK;QACL,WAAW;QACX,UAAU;QACV,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC;AAED,IAAI,OAAO,GAAmB,mBAAmB,EAAE,CAAC;AAGpD,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,OAAO,GAAG,GAAG,CAAC;AAChB,CAAC;AAGD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAGD,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC;AACnC,CAAC"}
|
package/dist/utils/ui-types.d.ts
CHANGED
|
@@ -50,6 +50,8 @@ export interface UIOutput {
|
|
|
50
50
|
highlight(message: string): void;
|
|
51
51
|
link(text: string, url?: string): void;
|
|
52
52
|
log(message: string): void;
|
|
53
|
+
newline(): void;
|
|
54
|
+
plain(message: string): void;
|
|
53
55
|
}
|
|
54
56
|
export interface UIStructured {
|
|
55
57
|
section(title: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-types.d.ts","sourceRoot":"","sources":["../../src/utils/ui-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAQ/B,eAAO,MAAM,MAAM;;;;;CAST,CAAC;AAKX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,MAAM,CAAC;AAO3C,eAAO,MAAM,KAAK;;;;;;;;;;CAmBR,CAAC;AAKX,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,KAAK,CAAC;AAKzC,MAAM,WAAW,YAAY;IAE3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;IAE3C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,MAAM,WAAW,SAAS;IAExB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IAEjB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAKD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAKxD,MAAM,WAAW,WAAW;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD,MAAM,WAAW,aAAc,SAAQ,GAAG;IAExC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAKD,MAAM,WAAW,QAAQ;IAYvB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAa/B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAa7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAa5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAa5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAa5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAa7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAcjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAavC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ui-types.d.ts","sourceRoot":"","sources":["../../src/utils/ui-types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/ui.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ declare class UISystem implements UI {
|
|
|
26
26
|
highlight(message: string): void;
|
|
27
27
|
link(text: string, url?: string): void;
|
|
28
28
|
log(message: string): void;
|
|
29
|
+
newline(): void;
|
|
30
|
+
plain(message: string): void;
|
|
29
31
|
section(title: string): void;
|
|
30
32
|
list(items: string[]): void;
|
|
31
33
|
keyValue(pairs: KeyValuePair[]): void;
|
package/dist/utils/ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,EAAE,EACP,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,EAAE,EACP,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAC;AA2DvB,cAAM,QAAS,YAAW,EAAE;IAE1B,SAAgB,MAAM;;;;;MAAU;IAGhC,SAAgB,KAAK;;;;;;;;;;MAAS;IAMvB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK9B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKhC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAStC,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM1B,OAAO,IAAI,IAAI;IAKf,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS5B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM5B,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAO3B,QAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAmBrC,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAoD5B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAe/C,OAAO,IAAI,IAAI;IAaf,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;CAyD5C;AAcD,eAAO,MAAM,EAAE,UAAiB,CAAC;AAKjC,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/utils/ui.js
CHANGED
|
@@ -1,61 +1,127 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import ora from 'ora';
|
|
3
3
|
import { Colors, Icons, } from './ui-types.js';
|
|
4
|
+
import { getRuntimeContext } from './runtime-context.js';
|
|
5
|
+
function err(line) {
|
|
6
|
+
process.stderr.write(`${line}\n`);
|
|
7
|
+
}
|
|
8
|
+
function shouldSuppressDecoration() {
|
|
9
|
+
const ctx = getRuntimeContext();
|
|
10
|
+
return ctx.quiet || ctx.format === 'json';
|
|
11
|
+
}
|
|
12
|
+
function createNoopSpinner(initialText) {
|
|
13
|
+
const spinner = {
|
|
14
|
+
text: initialText,
|
|
15
|
+
prefixText: '',
|
|
16
|
+
suffixText: '',
|
|
17
|
+
color: 'blue',
|
|
18
|
+
indent: 0,
|
|
19
|
+
spinner: { interval: 80, frames: [''] },
|
|
20
|
+
interval: 80,
|
|
21
|
+
isSpinning: false,
|
|
22
|
+
isEnabled: false,
|
|
23
|
+
isSilent: true,
|
|
24
|
+
};
|
|
25
|
+
const chain = () => spinner;
|
|
26
|
+
spinner.start = chain;
|
|
27
|
+
spinner.stop = chain;
|
|
28
|
+
spinner.succeed = chain;
|
|
29
|
+
spinner.fail = chain;
|
|
30
|
+
spinner.warn = chain;
|
|
31
|
+
spinner.info = chain;
|
|
32
|
+
spinner.stopAndPersist = chain;
|
|
33
|
+
spinner.clear = chain;
|
|
34
|
+
spinner.render = chain;
|
|
35
|
+
spinner.frame = () => '';
|
|
36
|
+
return spinner;
|
|
37
|
+
}
|
|
4
38
|
class UISystem {
|
|
5
39
|
colors = Colors;
|
|
6
40
|
icons = Icons;
|
|
7
41
|
success(message) {
|
|
8
|
-
|
|
42
|
+
if (shouldSuppressDecoration())
|
|
43
|
+
return;
|
|
44
|
+
err(chalk.hex(Colors.success)(`${Icons.success} ${message}`));
|
|
9
45
|
}
|
|
10
46
|
error(message) {
|
|
11
|
-
|
|
47
|
+
err(chalk.hex(Colors.error)(`${Icons.error} ${message}`));
|
|
12
48
|
}
|
|
13
49
|
warn(message) {
|
|
14
|
-
|
|
50
|
+
if (shouldSuppressDecoration())
|
|
51
|
+
return;
|
|
52
|
+
err(chalk.hex(Colors.error)(`${Icons.warning} ${message}`));
|
|
15
53
|
}
|
|
16
54
|
info(message) {
|
|
17
|
-
|
|
55
|
+
if (shouldSuppressDecoration())
|
|
56
|
+
return;
|
|
57
|
+
err(chalk.hex(Colors.muted)(`${Icons.info} ${message}`));
|
|
18
58
|
}
|
|
19
59
|
step(message) {
|
|
20
|
-
|
|
60
|
+
if (shouldSuppressDecoration())
|
|
61
|
+
return;
|
|
62
|
+
err(chalk.hex(Colors.muted)(`${Icons.step} ${message}`));
|
|
21
63
|
}
|
|
22
64
|
muted(message) {
|
|
23
|
-
|
|
65
|
+
if (shouldSuppressDecoration())
|
|
66
|
+
return;
|
|
67
|
+
err(chalk.hex(Colors.muted)(message));
|
|
24
68
|
}
|
|
25
69
|
highlight(message) {
|
|
26
|
-
|
|
70
|
+
if (shouldSuppressDecoration())
|
|
71
|
+
return;
|
|
72
|
+
err(chalk.hex(Colors.primary)(`${Icons.highlight} ${message}`));
|
|
27
73
|
}
|
|
28
74
|
link(text, url) {
|
|
75
|
+
if (shouldSuppressDecoration())
|
|
76
|
+
return;
|
|
29
77
|
if (url) {
|
|
30
|
-
|
|
78
|
+
err(`${text}: ${chalk.hex(Colors.primary).underline(url)}`);
|
|
31
79
|
}
|
|
32
80
|
else {
|
|
33
|
-
|
|
81
|
+
err(chalk.hex(Colors.primary).underline(text));
|
|
34
82
|
}
|
|
35
83
|
}
|
|
36
84
|
log(message) {
|
|
37
|
-
|
|
85
|
+
process.stdout.write(`${message}\n`);
|
|
86
|
+
}
|
|
87
|
+
newline() {
|
|
88
|
+
if (shouldSuppressDecoration())
|
|
89
|
+
return;
|
|
90
|
+
err('');
|
|
91
|
+
}
|
|
92
|
+
plain(message) {
|
|
93
|
+
if (shouldSuppressDecoration())
|
|
94
|
+
return;
|
|
95
|
+
err(message);
|
|
38
96
|
}
|
|
39
97
|
section(title) {
|
|
40
|
-
|
|
41
|
-
|
|
98
|
+
if (shouldSuppressDecoration())
|
|
99
|
+
return;
|
|
100
|
+
err(chalk.bold.hex(Colors.primary)(title));
|
|
101
|
+
err(chalk.hex(Colors.muted)('─'.repeat(title.length)));
|
|
42
102
|
}
|
|
43
103
|
list(items) {
|
|
104
|
+
if (shouldSuppressDecoration())
|
|
105
|
+
return;
|
|
44
106
|
items.forEach((item) => {
|
|
45
|
-
|
|
107
|
+
err(` ${chalk.hex(Colors.muted)(Icons.bullet)} ${item}`);
|
|
46
108
|
});
|
|
47
109
|
}
|
|
48
110
|
keyValue(pairs) {
|
|
111
|
+
if (shouldSuppressDecoration())
|
|
112
|
+
return;
|
|
49
113
|
if (pairs.length === 0) {
|
|
50
114
|
return;
|
|
51
115
|
}
|
|
52
116
|
const maxKeyLength = Math.max(...pairs.map(([key]) => key.length));
|
|
53
117
|
pairs.forEach(([key, value]) => {
|
|
54
118
|
const paddedKey = key.padEnd(maxKeyLength);
|
|
55
|
-
|
|
119
|
+
err(` ${chalk.hex(Colors.muted)(paddedKey + ':')} ${chalk.hex(Colors.primary)(value)}`);
|
|
56
120
|
});
|
|
57
121
|
}
|
|
58
122
|
table(data) {
|
|
123
|
+
if (shouldSuppressDecoration())
|
|
124
|
+
return;
|
|
59
125
|
const { headers, rows } = data;
|
|
60
126
|
if (rows.length === 0) {
|
|
61
127
|
return;
|
|
@@ -83,37 +149,45 @@ class UISystem {
|
|
|
83
149
|
});
|
|
84
150
|
return '│' + paddedCells.join('│') + '│';
|
|
85
151
|
};
|
|
86
|
-
|
|
152
|
+
err(chalk.hex(Colors.muted)(createSeparator('┌', '┬', '┐')));
|
|
87
153
|
if (headers && headers.length > 0) {
|
|
88
|
-
|
|
89
|
-
|
|
154
|
+
err(chalk.bold(createRow(headers)));
|
|
155
|
+
err(chalk.hex(Colors.muted)(createSeparator('├', '┼', '┤')));
|
|
90
156
|
}
|
|
91
157
|
rows.forEach((row) => {
|
|
92
|
-
|
|
158
|
+
err(createRow(row));
|
|
93
159
|
});
|
|
94
|
-
|
|
160
|
+
err(chalk.hex(Colors.muted)(createSeparator('└', '┴', '┘')));
|
|
95
161
|
}
|
|
96
162
|
code(code, options) {
|
|
163
|
+
if (shouldSuppressDecoration())
|
|
164
|
+
return;
|
|
97
165
|
const lines = code.split('\n');
|
|
98
166
|
const { lineNumbers = false, startLine = 1 } = options || {};
|
|
99
167
|
lines.forEach((line, index) => {
|
|
100
168
|
if (lineNumbers) {
|
|
101
169
|
const lineNum = (startLine + index).toString().padStart(3);
|
|
102
|
-
|
|
170
|
+
err(`${chalk.hex(Colors.muted)(lineNum + ' │')} ${chalk.dim(line)}`);
|
|
103
171
|
}
|
|
104
172
|
else {
|
|
105
|
-
|
|
173
|
+
err(chalk.dim(line));
|
|
106
174
|
}
|
|
107
175
|
});
|
|
108
176
|
}
|
|
109
177
|
divider() {
|
|
178
|
+
if (shouldSuppressDecoration())
|
|
179
|
+
return;
|
|
110
180
|
const width = process.stdout.columns || 80;
|
|
111
|
-
|
|
181
|
+
err(chalk.hex(Colors.muted)('─'.repeat(width)));
|
|
112
182
|
}
|
|
113
183
|
spinner(text) {
|
|
184
|
+
if (shouldSuppressDecoration()) {
|
|
185
|
+
return createNoopSpinner(text);
|
|
186
|
+
}
|
|
114
187
|
const instance = ora({
|
|
115
188
|
text,
|
|
116
189
|
color: 'blue',
|
|
190
|
+
stream: process.stderr,
|
|
117
191
|
});
|
|
118
192
|
instance.succeed = (text) => {
|
|
119
193
|
const options = {
|
package/dist/utils/ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EACL,MAAM,EACN,KAAK,GAMN,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/utils/ui.ts"],"names":[],"mappings":"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"}
|