@yeseh/cortex-cli 0.6.6 → 0.6.8

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.
Files changed (62) hide show
  1. package/dist/category/commands/create.d.ts.map +1 -1
  2. package/dist/chunk-dsfj4baj.js +1543 -0
  3. package/dist/chunk-dsfj4baj.js.map +38 -0
  4. package/dist/commands/init.d.ts +26 -5
  5. package/dist/commands/init.d.ts.map +1 -1
  6. package/dist/context.d.ts +22 -17
  7. package/dist/context.d.ts.map +1 -1
  8. package/dist/context.spec.d.ts +8 -0
  9. package/dist/context.spec.d.ts.map +1 -1
  10. package/dist/memory/commands/add.d.ts.map +1 -1
  11. package/dist/memory/commands/list.d.ts.map +1 -1
  12. package/dist/memory/commands/move.d.ts.map +1 -1
  13. package/dist/memory/commands/remove.d.ts.map +1 -1
  14. package/dist/memory/commands/show.d.ts.map +1 -1
  15. package/dist/memory/commands/update.d.ts.map +1 -1
  16. package/dist/observability.d.ts +33 -0
  17. package/dist/observability.d.ts.map +1 -0
  18. package/dist/observability.spec.d.ts +2 -0
  19. package/dist/observability.spec.d.ts.map +1 -0
  20. package/dist/output.d.ts +21 -1
  21. package/dist/output.d.ts.map +1 -1
  22. package/dist/program.d.ts.map +1 -1
  23. package/dist/program.js +11 -0
  24. package/dist/program.js.map +9 -0
  25. package/dist/run.js +10 -0
  26. package/dist/run.js.map +10 -0
  27. package/dist/store/commands/init.d.ts +23 -7
  28. package/dist/store/commands/init.d.ts.map +1 -1
  29. package/dist/store/commands/prune.d.ts.map +1 -1
  30. package/dist/store/commands/reindexs.d.ts.map +1 -1
  31. package/dist/test-helpers.spec.d.ts +2 -2
  32. package/dist/utils/input.d.ts.map +1 -0
  33. package/dist/{input.spec.d.ts.map → utils/input.spec.d.ts.map} +1 -1
  34. package/dist/{paths.d.ts → utils/paths.d.ts} +10 -0
  35. package/dist/utils/paths.d.ts.map +1 -0
  36. package/dist/utils/paths.spec.d.ts.map +1 -0
  37. package/dist/utils/prompts.d.ts +86 -0
  38. package/dist/utils/prompts.d.ts.map +1 -0
  39. package/dist/utils/prompts.spec.d.ts +2 -0
  40. package/dist/utils/prompts.spec.d.ts.map +1 -0
  41. package/dist/utils/resolve-default-store.d.ts +44 -0
  42. package/dist/utils/resolve-default-store.d.ts.map +1 -0
  43. package/dist/utils/resolve-default-store.spec.d.ts +7 -0
  44. package/dist/utils/resolve-default-store.spec.d.ts.map +1 -0
  45. package/package.json +9 -9
  46. package/src/run.ts +0 -0
  47. package/src/tests/cli.integration.spec.ts +270 -79
  48. package/src/utils/input.ts +9 -4
  49. package/src/utils/resolve-default-store.spec.ts +1 -1
  50. package/src/utils/resolve-default-store.ts +6 -2
  51. package/dist/create-cli-command.d.ts +0 -23
  52. package/dist/create-cli-command.d.ts.map +0 -1
  53. package/dist/create-cli-command.spec.d.ts +0 -10
  54. package/dist/create-cli-command.spec.d.ts.map +0 -1
  55. package/dist/input.d.ts.map +0 -1
  56. package/dist/memory/commands/handlers.spec.d.ts +0 -2
  57. package/dist/memory/commands/handlers.spec.d.ts.map +0 -1
  58. package/dist/paths.d.ts.map +0 -1
  59. package/dist/paths.spec.d.ts.map +0 -1
  60. /package/dist/{input.d.ts → utils/input.d.ts} +0 -0
  61. /package/dist/{input.spec.d.ts → utils/input.spec.d.ts} +0 -0
  62. /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;AAM5F,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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=observability.spec.d.ts.map
@@ -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: unknown, format: OutputFormat) => Result<string, OutputSerializeError>;
106
+ export declare const serializeOutput: (payload: OutputPayload, format: OutputFormat) => Result<string, OutputSerializeError>;
87
107
  //# sourceMappingURL=output.d.ts.map
@@ -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,OAAO,EAChB,QAAQ,YAAY,KACrB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAWrC,CAAC"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../src/output.ts"],"names":[],"mappings":"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"}
@@ -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;AAOtD;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,OAAO,qBAGQ,CAAC;AAOtB,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,QAAa,OAAO,CAAC,IAAI,CAe/C,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"}
@@ -0,0 +1,11 @@
1
+ // @bun
2
+ import {
3
+ program,
4
+ runProgram
5
+ } from "./chunk-dsfj4baj.js";
6
+ export {
7
+ runProgram,
8
+ program
9
+ };
10
+
11
+ //# debugId=2AC0BAFAD779CFB664756E2164756E21
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [
5
+ ],
6
+ "mappings": "",
7
+ "debugId": "2AC0BAFAD779CFB664756E2164756E21",
8
+ "names": []
9
+ }
package/dist/run.js ADDED
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env bun
2
+ // @bun
3
+ import {
4
+ runProgram
5
+ } from "./chunk-dsfj4baj.js";
6
+
7
+ // src/run.ts
8
+ runProgram();
9
+
10
+ //# debugId=441E4A4789A070FC64756E2164756E21
@@ -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. Uses initializeStore to create directory, index, and register
46
- * 4. Outputs the result
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 deps - Optional dependencies for testing
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;AAKtD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAK3E;;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;AAqBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,CAC5B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,GAAE,kBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkCf;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW;;;;;MAmBlB,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;AAGxD;;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,CAyCf;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY;;MAUnB,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;AAGxD;;;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"}
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, 'default', {});
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, {}, 'default', {});
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":["../src/input.spec.ts"],"names":[],"mappings":""}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=prompts.spec.d.ts.map
@@ -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,7 @@
1
+ /**
2
+ * Tests for resolveDefaultStore utility.
3
+ *
4
+ * @module cli/utils/resolve-default-store.spec
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=resolve-default-store.spec.d.ts.map
@@ -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.6",
3
+ "version": "0.6.8",
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": "./src/run.ts"
15
+ "cortex": "./dist/run.js"
16
16
  },
17
17
  "exports": {
18
18
  ".": {
19
- "import": "./src/program.ts",
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": "0.6.6",
38
- "@yeseh/cortex-storage-fs": "0.6.6",
37
+ "@yeseh/cortex-core": "0.6.8",
38
+ "@yeseh/cortex-storage-fs": "0.6.8",
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