@yeseh/cortex-cli 0.6.6 → 0.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/category/commands/create.d.ts.map +1 -1
- package/dist/chunk-tgrm2cc9.js +1543 -0
- package/dist/chunk-tgrm2cc9.js.map +38 -0
- package/dist/commands/init.d.ts +26 -5
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/context.d.ts +22 -17
- package/dist/context.d.ts.map +1 -1
- package/dist/context.spec.d.ts +8 -0
- package/dist/context.spec.d.ts.map +1 -1
- package/dist/memory/commands/add.d.ts.map +1 -1
- package/dist/memory/commands/list.d.ts.map +1 -1
- package/dist/memory/commands/move.d.ts.map +1 -1
- package/dist/memory/commands/remove.d.ts.map +1 -1
- package/dist/memory/commands/show.d.ts.map +1 -1
- package/dist/memory/commands/update.d.ts.map +1 -1
- package/dist/observability.d.ts +33 -0
- package/dist/observability.d.ts.map +1 -0
- package/dist/observability.spec.d.ts +2 -0
- package/dist/observability.spec.d.ts.map +1 -0
- package/dist/output.d.ts +21 -1
- package/dist/output.d.ts.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +11 -0
- package/dist/program.js.map +9 -0
- package/dist/run.js +10 -0
- package/dist/run.js.map +10 -0
- package/dist/store/commands/init.d.ts +23 -7
- package/dist/store/commands/init.d.ts.map +1 -1
- package/dist/store/commands/prune.d.ts.map +1 -1
- package/dist/store/commands/reindexs.d.ts.map +1 -1
- package/dist/test-helpers.spec.d.ts +2 -2
- package/dist/utils/input.d.ts.map +1 -0
- package/dist/{input.spec.d.ts.map → utils/input.spec.d.ts.map} +1 -1
- package/dist/{paths.d.ts → utils/paths.d.ts} +10 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.spec.d.ts.map +1 -0
- package/dist/utils/prompts.d.ts +86 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.spec.d.ts +2 -0
- package/dist/utils/prompts.spec.d.ts.map +1 -0
- package/dist/utils/resolve-default-store.d.ts +44 -0
- package/dist/utils/resolve-default-store.d.ts.map +1 -0
- package/dist/utils/resolve-default-store.spec.d.ts +7 -0
- package/dist/utils/resolve-default-store.spec.d.ts.map +1 -0
- package/package.json +9 -9
- package/src/run.ts +0 -0
- package/src/tests/cli.integration.spec.ts +270 -79
- package/src/utils/input.ts +9 -4
- package/src/utils/resolve-default-store.spec.ts +1 -1
- package/src/utils/resolve-default-store.ts +6 -2
- package/dist/create-cli-command.d.ts +0 -23
- package/dist/create-cli-command.d.ts.map +0 -1
- package/dist/create-cli-command.spec.d.ts +0 -10
- package/dist/create-cli-command.spec.d.ts.map +0 -1
- package/dist/input.d.ts.map +0 -1
- package/dist/memory/commands/handlers.spec.d.ts +0 -2
- package/dist/memory/commands/handlers.spec.d.ts.map +0 -1
- package/dist/paths.d.ts.map +0 -1
- package/dist/paths.spec.d.ts.map +0 -1
- /package/dist/{input.d.ts → utils/input.d.ts} +0 -0
- /package/dist/{input.spec.d.ts → utils/input.spec.d.ts} +0 -0
- /package/dist/{paths.spec.d.ts → utils/paths.spec.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAc,KAAK,aAAa,EAA0B,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAc,KAAK,aAAa,EAA0B,MAAM,oBAAoB,CAAC;AAO5F,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AA2ED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAC9B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa;;;;;;;MAkBpB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI observability — plain ConsoleLogger writing human-readable lines to stderr.
|
|
3
|
+
*
|
|
4
|
+
* No OTel SDK dependency — keeps the CLI binary small.
|
|
5
|
+
* Debug output is gated by the `DEBUG=cortex` environment variable.
|
|
6
|
+
*
|
|
7
|
+
* @module cli/observability
|
|
8
|
+
*/
|
|
9
|
+
import type { Logger } from '@yeseh/cortex-core';
|
|
10
|
+
/**
|
|
11
|
+
* Creates a plain console logger for CLI usage.
|
|
12
|
+
*
|
|
13
|
+
* Writes human-readable log lines to stderr (not stdout) to avoid
|
|
14
|
+
* polluting piped command output. Debug output is gated by the
|
|
15
|
+
* `DEBUG=cortex` environment variable.
|
|
16
|
+
*
|
|
17
|
+
* @returns Logger instance writing to stderr
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* const logger = createCliLogger();
|
|
22
|
+
* logger.info('Starting command', { store: 'global' });
|
|
23
|
+
* // → INFO: Starting command store=global
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```bash
|
|
28
|
+
* # Enable debug output
|
|
29
|
+
* DEBUG=cortex cortex memory list
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare const createCliLogger: () => Logger;
|
|
33
|
+
//# sourceMappingURL=observability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,eAAe,QAAO,MAiDlC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observability.spec.d.ts","sourceRoot":"","sources":["../src/observability.spec.ts"],"names":[],"mappings":""}
|
package/dist/output.d.ts
CHANGED
|
@@ -16,11 +16,18 @@ export interface OutputMemoryMetadata {
|
|
|
16
16
|
tokenEstimate?: number;
|
|
17
17
|
expiresAt?: Date;
|
|
18
18
|
}
|
|
19
|
+
export interface OutputPath {
|
|
20
|
+
path: string;
|
|
21
|
+
}
|
|
19
22
|
export interface OutputMemory {
|
|
20
23
|
path: string;
|
|
21
24
|
metadata: OutputMemoryMetadata;
|
|
22
25
|
content: string;
|
|
23
26
|
}
|
|
27
|
+
export interface OutputMovedMemory {
|
|
28
|
+
from: string;
|
|
29
|
+
to: string;
|
|
30
|
+
}
|
|
24
31
|
export interface OutputCategoryMemory {
|
|
25
32
|
path: string;
|
|
26
33
|
tokenEstimate?: number;
|
|
@@ -35,6 +42,10 @@ export interface OutputCategory {
|
|
|
35
42
|
memories: OutputCategoryMemory[];
|
|
36
43
|
subcategories: OutputSubcategory[];
|
|
37
44
|
}
|
|
45
|
+
export interface OutputCreatedCategory {
|
|
46
|
+
path: string;
|
|
47
|
+
created: boolean;
|
|
48
|
+
}
|
|
38
49
|
export interface OutputStore {
|
|
39
50
|
name: string;
|
|
40
51
|
path: string;
|
|
@@ -53,9 +64,18 @@ export interface OutputInit {
|
|
|
53
64
|
export type OutputPayload = {
|
|
54
65
|
kind: 'memory';
|
|
55
66
|
value: OutputMemory;
|
|
67
|
+
} | {
|
|
68
|
+
kind: 'moved-memory';
|
|
69
|
+
value: OutputMovedMemory;
|
|
70
|
+
} | {
|
|
71
|
+
kind: 'path';
|
|
72
|
+
value: OutputPath;
|
|
56
73
|
} | {
|
|
57
74
|
kind: 'category';
|
|
58
75
|
value: OutputCategory;
|
|
76
|
+
} | {
|
|
77
|
+
kind: 'created-category';
|
|
78
|
+
value: OutputCreatedCategory;
|
|
59
79
|
} | {
|
|
60
80
|
kind: 'store';
|
|
61
81
|
value: OutputStore;
|
|
@@ -83,5 +103,5 @@ export interface OutputSerializeError {
|
|
|
83
103
|
* @param format - The output format ('yaml', 'json', or 'toon')
|
|
84
104
|
* @returns Result with serialized string or error
|
|
85
105
|
*/
|
|
86
|
-
export declare const serializeOutput: (payload:
|
|
106
|
+
export declare const serializeOutput: (payload: OutputPayload, format: OutputFormat) => Result<string, OutputSerializeError>;
|
|
87
107
|
//# sourceMappingURL=output.d.ts.map
|
package/dist/output.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlE,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,GACxB,SAAS,
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
|
package/dist/program.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../src/program.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAStD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,OAAO,qBAGoB,CAAC;AAOlC,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,IAAI,CAgB/C,CAAC"}
|
package/dist/program.js
ADDED
package/dist/run.js
ADDED
package/dist/run.js.map
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/run.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"#!/usr/bin/env bun\n/**\n * CLI runner script for integration testing.\n * This script is spawned as a subprocess by the integration tests.\n */\n\nimport { runProgram } from './program.ts';\n\nrunProgram();\n"
|
|
6
|
+
],
|
|
7
|
+
"mappings": ";;;;;;;AAQA,WAAW;",
|
|
8
|
+
"debugId": "441E4A4789A070FC64756E2164756E21",
|
|
9
|
+
"names": []
|
|
10
|
+
}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
*/
|
|
24
24
|
import { Command } from '@commander-js/extra-typings';
|
|
25
25
|
import { type CategoryMode, type CortexContext } from '@yeseh/cortex-core';
|
|
26
|
+
import { type PromptDeps } from '../../utils/prompts.ts';
|
|
26
27
|
/**
|
|
27
28
|
* Options for the init command.
|
|
28
29
|
*/
|
|
@@ -37,21 +38,36 @@ export interface InitCommandOptions {
|
|
|
37
38
|
description?: string;
|
|
38
39
|
}
|
|
39
40
|
/**
|
|
40
|
-
* Handles the init command execution.
|
|
41
|
+
* Handles the store init command execution.
|
|
41
42
|
*
|
|
42
43
|
* This function:
|
|
43
|
-
* 1. Resolves the store name (explicit or git detection)
|
|
44
|
+
* 1. Resolves the store name (explicit or git detection; falls back to empty for TTY prompt)
|
|
44
45
|
* 2. Resolves target path (default to .cortex in cwd)
|
|
45
|
-
* 3.
|
|
46
|
-
* 4.
|
|
46
|
+
* 3. When stdin is a TTY, prompts for unresolved name and/or path
|
|
47
|
+
* 4. Uses `store.initialize` to create directory, index, and register
|
|
48
|
+
* 5. Outputs the result
|
|
47
49
|
*
|
|
50
|
+
* Interactive mode activates automatically when `ctx.stdin.isTTY === true`.
|
|
51
|
+
* In non-TTY environments (CI, pipes) the command behaves exactly as before —
|
|
52
|
+
* no behavioral regression.
|
|
53
|
+
*
|
|
54
|
+
* @param ctx - The Cortex context (stdin TTY state used for interactive detection)
|
|
48
55
|
* @param targetPath - Optional path for the store (defaults to .cortex in cwd)
|
|
49
|
-
* @param options - Command options (name, format)
|
|
50
|
-
* @param
|
|
56
|
+
* @param options - Command options (name, format, categoryMode, description)
|
|
57
|
+
* @param promptDeps - Injectable prompt functions; defaults to real `@inquirer/prompts` functions
|
|
51
58
|
* @throws {InvalidArgumentError} When the store name is invalid
|
|
52
59
|
* @throws {CommanderError} When the store already exists or init fails
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // Explicit name + path (no prompts even in TTY):
|
|
64
|
+
* await handleInit(ctx, './my-store', { name: 'my-project' });
|
|
65
|
+
*
|
|
66
|
+
* // Interactive (TTY detected, no --name given):
|
|
67
|
+
* await handleInit(ctx, undefined, {}, defaultPromptDeps);
|
|
68
|
+
* ```
|
|
53
69
|
*/
|
|
54
|
-
export declare function handleInit(ctx: CortexContext, targetPath: string | undefined, options?: InitCommandOptions): Promise<void>;
|
|
70
|
+
export declare function handleInit(ctx: CortexContext, targetPath: string | undefined, options?: InitCommandOptions, promptDeps?: PromptDeps): Promise<void>;
|
|
55
71
|
/**
|
|
56
72
|
* The `init` subcommand for initializing a new memory store.
|
|
57
73
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/store/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/store/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAMtD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAI3E,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAInF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAyFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAsB,UAAU,CAC5B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,GAAE,kBAAuB,EAChC,UAAU,GAAE,UAA8B,GAC3C,OAAO,CAAC,IAAI,CAAC,CAgDf;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW;;;;;MAiClB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../../src/store/commands/prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"prune.d.ts","sourceRoot":"","sources":["../../../src/store/commands/prune.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,6DAA6D;IAC7D,GAAG,CAAC,EAAE,IAAI,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAsB,WAAW,CAC7B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,gBAAqB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAwCf;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY;;MAUnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reindexs.d.ts","sourceRoot":"","sources":["../../../src/store/commands/reindexs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"reindexs.d.ts","sourceRoot":"","sources":["../../../src/store/commands/reindexs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAClC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,GAAE,kBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,qBASrB,CAAC"}
|
|
@@ -199,7 +199,7 @@ export interface MockContextResult {
|
|
|
199
199
|
* @example
|
|
200
200
|
* ```typescript
|
|
201
201
|
* const { ctx, stdout } = createMockContext();
|
|
202
|
-
* await handleAdd(ctx, args, '
|
|
202
|
+
* await handleAdd(ctx, args, 'global', {});
|
|
203
203
|
* expect(captureOutput(stdout)).toContain('Memory added');
|
|
204
204
|
* ```
|
|
205
205
|
*/
|
|
@@ -216,7 +216,7 @@ export declare function createMockContext(overrides?: MockContextOptions): MockC
|
|
|
216
216
|
* @example
|
|
217
217
|
* ```typescript
|
|
218
218
|
* const { ctx, stdout } = createMockContext();
|
|
219
|
-
* await handleList(ctx, {}, '
|
|
219
|
+
* await handleList(ctx, {}, 'global', {});
|
|
220
220
|
* expect(captureOutput(stdout)).toContain('No memories found');
|
|
221
221
|
* ```
|
|
222
222
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../src/utils/input.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,MAAM,cAAc,GACpB,0BAA0B,GAC1B,kBAAkB,GAClB,iBAAiB,GACjB,mBAAmB,CAAC;AAE1B,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,WAAW,GAAG,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACpD,KAAK,qBAAqB,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC;AAErE,eAAO,MAAM,mBAAmB,GAC5B,UAAU,MAAM,GAAG,SAAS,KAC7B,OAAO,CAAC,qBAAqB,CAuB/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAC9B,QAAQ,MAAM,CAAC,cAAc,KAC9B,OAAO,CAAC,qBAAqB,CAgB/B,CAAC;AAKF,eAAO,MAAM,YAAY,GAAU,QAAQ,WAAW,KAAG,OAAO,CAAC,WAAW,CAiD3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.spec.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"input.spec.d.ts","sourceRoot":"","sources":["../../src/utils/input.spec.ts"],"names":[],"mappings":""}
|
|
@@ -24,4 +24,14 @@ export declare function isAbsolutePath(inputPath: string): boolean;
|
|
|
24
24
|
* @returns Normalized absolute path
|
|
25
25
|
*/
|
|
26
26
|
export declare function resolveUserPath(inputPath: string, cwd: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Default path to the global store.
|
|
29
|
+
*/
|
|
30
|
+
export declare const getDefaultGlobalStorePath: () => string;
|
|
31
|
+
/**
|
|
32
|
+
* Default path to the store configuration file.
|
|
33
|
+
* Respects CORTEX_CONFIG (config file path) and CORTEX_CONFIG_DIR (config directory)
|
|
34
|
+
* environment variables when set.
|
|
35
|
+
*/
|
|
36
|
+
export declare const getDefaultConfigPath: () => string;
|
|
27
37
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAQzD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAYtE;AAED;;GAEG;AACH,eAAO,MAAM,yBAAyB,QAAO,MACQ,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,QAAO,MAWvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.spec.d.ts","sourceRoot":"","sources":["../../src/utils/paths.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared prompt utilities for interactive CLI commands.
|
|
3
|
+
*
|
|
4
|
+
* Provides TTY detection and injectable prompt dependencies (`PromptDeps`) so
|
|
5
|
+
* command handlers remain fully testable without spawning real terminals.
|
|
6
|
+
*
|
|
7
|
+
* Interactive mode activates automatically when stdin is a TTY (same heuristic
|
|
8
|
+
* as git and npm). In non-TTY environments (CI, pipes, scripts) the prompts are
|
|
9
|
+
* simply skipped.
|
|
10
|
+
*
|
|
11
|
+
* @module cli/prompts
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Async function that prompts the user for a text value.
|
|
15
|
+
*
|
|
16
|
+
* @param opts - Prompt options
|
|
17
|
+
* @param opts.message - The prompt message displayed to the user
|
|
18
|
+
* @param opts.default - The default value shown in the prompt
|
|
19
|
+
* @returns A promise resolving to the user's input or the default
|
|
20
|
+
*/
|
|
21
|
+
export type InputFn = (opts: {
|
|
22
|
+
message: string;
|
|
23
|
+
default?: string;
|
|
24
|
+
}) => Promise<string>;
|
|
25
|
+
/**
|
|
26
|
+
* Async function that prompts the user for a boolean confirmation.
|
|
27
|
+
*
|
|
28
|
+
* @param opts - Prompt options
|
|
29
|
+
* @param opts.message - The prompt message displayed to the user
|
|
30
|
+
* @param opts.default - The default answer (true = yes, false = no)
|
|
31
|
+
* @returns A promise resolving to the user's answer
|
|
32
|
+
*/
|
|
33
|
+
export type ConfirmFn = (opts: {
|
|
34
|
+
message: string;
|
|
35
|
+
default?: boolean;
|
|
36
|
+
}) => Promise<boolean>;
|
|
37
|
+
/**
|
|
38
|
+
* Injectable dependencies for interactive prompts.
|
|
39
|
+
*
|
|
40
|
+
* Pass real functions (from `@inquirer/prompts`) in production and stub
|
|
41
|
+
* implementations in tests to avoid blocking on terminal input.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```typescript
|
|
45
|
+
* // Production
|
|
46
|
+
* const deps = defaultPromptDeps;
|
|
47
|
+
*
|
|
48
|
+
* // Test stub
|
|
49
|
+
* const deps: PromptDeps = {
|
|
50
|
+
* input: async ({ default: d }) => d ?? 'test-value',
|
|
51
|
+
* confirm: async () => true,
|
|
52
|
+
* };
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export interface PromptDeps {
|
|
56
|
+
input: InputFn;
|
|
57
|
+
confirm: ConfirmFn;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Default prompt dependencies backed by `@inquirer/prompts`.
|
|
61
|
+
* Use this in production; inject stubs in tests.
|
|
62
|
+
*/
|
|
63
|
+
export declare const defaultPromptDeps: PromptDeps;
|
|
64
|
+
/**
|
|
65
|
+
* Checks whether the given readable stream is an interactive terminal (TTY).
|
|
66
|
+
*
|
|
67
|
+
* Returns `true` only when `stream.isTTY === true`. Returns `false` for:
|
|
68
|
+
* - `undefined` stream
|
|
69
|
+
* - streams without an `isTTY` property (e.g. `PassThrough`)
|
|
70
|
+
* - streams where `isTTY` is `false`
|
|
71
|
+
*
|
|
72
|
+
* This mirrors the same heuristic used by git and npm for auto-detecting
|
|
73
|
+
* interactive mode.
|
|
74
|
+
*
|
|
75
|
+
* @param stream - The readable stream to check (usually `ctx.stdin`)
|
|
76
|
+
* @returns `true` if the stream is a TTY, `false` otherwise
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* if (isTTY(ctx.stdin)) {
|
|
81
|
+
* // Show interactive prompts
|
|
82
|
+
* }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function isTTY(stream: NodeJS.ReadableStream | undefined): boolean;
|
|
86
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH;;;;;;;GAOG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEvF;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE3F;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,UAA+B,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,GAAG,SAAS,GAAG,OAAO,CAExE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.spec.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility for resolving which store to target when no `--store` flag is given.
|
|
3
|
+
*
|
|
4
|
+
* Resolution order (first match wins):
|
|
5
|
+
* 1. Explicit store name provided by the caller (from `--store` flag)
|
|
6
|
+
* 2. Local store – a registered store whose path starts with `<cwd>/.cortex`
|
|
7
|
+
* 3. `settings.defaultStore` from the Cortex config file
|
|
8
|
+
* 4. Hard-coded fallback: `"global"`
|
|
9
|
+
*
|
|
10
|
+
* @module cli/utils/resolve-default-store
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // In a command handler:
|
|
15
|
+
* const storeName = resolveDefaultStore(ctx, parentOpts?.store);
|
|
16
|
+
* const storeResult = ctx.cortex.getStore(storeName);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import type { CortexContext } from '@yeseh/cortex-core';
|
|
20
|
+
/**
|
|
21
|
+
* Resolves the effective store name for a command invocation.
|
|
22
|
+
*
|
|
23
|
+
* When a user runs a command without `--store` in a project directory where
|
|
24
|
+
* they have run `cortex store init`, the local store registered for that
|
|
25
|
+
* directory is automatically selected so they don't have to type `--store`
|
|
26
|
+
* on every command.
|
|
27
|
+
*
|
|
28
|
+
* @param ctx - The current Cortex context (provides `stores`, `settings`, `cwd`)
|
|
29
|
+
* @param explicit - Store name from the `--store` CLI flag (may be undefined)
|
|
30
|
+
* @returns The resolved store name to use
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* // No --store flag, inside /home/user/my-project with a .cortex store:
|
|
35
|
+
* resolveDefaultStore(ctx, undefined);
|
|
36
|
+
* // → "my-project" (the store registered at /home/user/my-project/.cortex)
|
|
37
|
+
*
|
|
38
|
+
* // Explicit flag always wins:
|
|
39
|
+
* resolveDefaultStore(ctx, "global");
|
|
40
|
+
* // → "global"
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveDefaultStore(ctx: CortexContext, explicit: string | undefined): string;
|
|
44
|
+
//# sourceMappingURL=resolve-default-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-default-store.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-default-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CA4B5F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-default-store.spec.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-default-store.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yeseh/cortex-cli",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -12,21 +12,21 @@
|
|
|
12
12
|
"access": "public"
|
|
13
13
|
},
|
|
14
14
|
"bin": {
|
|
15
|
-
"cortex": "./
|
|
15
|
+
"cortex": "./dist/run.js"
|
|
16
16
|
},
|
|
17
17
|
"exports": {
|
|
18
18
|
".": {
|
|
19
|
-
"
|
|
20
|
-
"types": "./src/program.ts"
|
|
19
|
+
"bun": "./src/program.ts",
|
|
20
|
+
"types": "./src/program.ts",
|
|
21
|
+
"import": "./dist/program.js"
|
|
21
22
|
}
|
|
22
23
|
},
|
|
23
24
|
"files": [
|
|
24
25
|
"src",
|
|
25
|
-
"dist"
|
|
26
|
-
"bin"
|
|
26
|
+
"dist"
|
|
27
27
|
],
|
|
28
28
|
"scripts": {
|
|
29
|
-
"build": "tsc",
|
|
29
|
+
"build": "rm -f tsconfig.tsbuildinfo && bun run build.ts && tsc",
|
|
30
30
|
"test": "bun test",
|
|
31
31
|
"start": "bun run src/run.ts"
|
|
32
32
|
},
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"typescript": "^5.9.3"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@yeseh/cortex-core": "
|
|
38
|
-
"@yeseh/cortex-storage-fs": "
|
|
37
|
+
"@yeseh/cortex-core": "workspace:*",
|
|
38
|
+
"@yeseh/cortex-storage-fs": "workspace:*",
|
|
39
39
|
"@commander-js/extra-typings": "^14.0.0",
|
|
40
40
|
"@inquirer/prompts": "^8.3.0",
|
|
41
41
|
"@toon-format/toon": "^1.4.0",
|
package/src/run.ts
CHANGED
|
File without changes
|