@yeseh/cortex-cli 0.6.0 → 0.6.4

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 (145) hide show
  1. package/package.json +3 -3
  2. package/src/category/commands/create.ts +7 -3
  3. package/src/context.ts +15 -20
  4. package/src/memory/commands/add.ts +2 -1
  5. package/src/memory/commands/list.ts +2 -1
  6. package/src/memory/commands/move.ts +6 -2
  7. package/src/memory/commands/remove.ts +6 -2
  8. package/src/memory/commands/show.ts +3 -2
  9. package/src/memory/commands/update.ts +2 -1
  10. package/src/observability.spec.ts +8 -21
  11. package/src/observability.ts +26 -7
  12. package/src/program.ts +1 -1
  13. package/src/run.ts +0 -0
  14. package/src/store/commands/init.spec.ts +62 -78
  15. package/src/store/commands/init.ts +31 -15
  16. package/src/store/commands/prune.ts +4 -4
  17. package/src/store/commands/reindexs.ts +4 -3
  18. package/src/tests/cli.integration.spec.ts +136 -0
  19. package/src/utils/input.ts +9 -4
  20. package/src/utils/resolve-default-store.spec.ts +135 -0
  21. package/src/utils/resolve-default-store.ts +74 -0
  22. package/dist/category/commands/create.d.ts +0 -44
  23. package/dist/category/commands/create.d.ts.map +0 -1
  24. package/dist/category/commands/create.spec.d.ts +0 -7
  25. package/dist/category/commands/create.spec.d.ts.map +0 -1
  26. package/dist/category/index.d.ts +0 -19
  27. package/dist/category/index.d.ts.map +0 -1
  28. package/dist/commands/init.d.ts +0 -58
  29. package/dist/commands/init.d.ts.map +0 -1
  30. package/dist/commands/init.spec.d.ts +0 -2
  31. package/dist/commands/init.spec.d.ts.map +0 -1
  32. package/dist/context.d.ts +0 -18
  33. package/dist/context.d.ts.map +0 -1
  34. package/dist/context.spec.d.ts +0 -2
  35. package/dist/context.spec.d.ts.map +0 -1
  36. package/dist/create-cli-command.d.ts +0 -23
  37. package/dist/create-cli-command.d.ts.map +0 -1
  38. package/dist/create-cli-command.spec.d.ts +0 -10
  39. package/dist/create-cli-command.spec.d.ts.map +0 -1
  40. package/dist/errors.d.ts +0 -57
  41. package/dist/errors.d.ts.map +0 -1
  42. package/dist/errors.spec.d.ts +0 -2
  43. package/dist/errors.spec.d.ts.map +0 -1
  44. package/dist/input.d.ts +0 -42
  45. package/dist/input.d.ts.map +0 -1
  46. package/dist/input.spec.d.ts +0 -2
  47. package/dist/input.spec.d.ts.map +0 -1
  48. package/dist/memory/commands/add.d.ts +0 -62
  49. package/dist/memory/commands/add.d.ts.map +0 -1
  50. package/dist/memory/commands/add.spec.d.ts +0 -7
  51. package/dist/memory/commands/add.spec.d.ts.map +0 -1
  52. package/dist/memory/commands/definitions.spec.d.ts +0 -10
  53. package/dist/memory/commands/definitions.spec.d.ts.map +0 -1
  54. package/dist/memory/commands/handlers.spec.d.ts +0 -2
  55. package/dist/memory/commands/handlers.spec.d.ts.map +0 -1
  56. package/dist/memory/commands/list.d.ts +0 -119
  57. package/dist/memory/commands/list.d.ts.map +0 -1
  58. package/dist/memory/commands/list.spec.d.ts +0 -2
  59. package/dist/memory/commands/list.spec.d.ts.map +0 -1
  60. package/dist/memory/commands/move.d.ts +0 -42
  61. package/dist/memory/commands/move.d.ts.map +0 -1
  62. package/dist/memory/commands/move.spec.d.ts +0 -2
  63. package/dist/memory/commands/move.spec.d.ts.map +0 -1
  64. package/dist/memory/commands/remove.d.ts +0 -41
  65. package/dist/memory/commands/remove.d.ts.map +0 -1
  66. package/dist/memory/commands/remove.spec.d.ts +0 -2
  67. package/dist/memory/commands/remove.spec.d.ts.map +0 -1
  68. package/dist/memory/commands/show.d.ts +0 -81
  69. package/dist/memory/commands/show.d.ts.map +0 -1
  70. package/dist/memory/commands/show.spec.d.ts +0 -2
  71. package/dist/memory/commands/show.spec.d.ts.map +0 -1
  72. package/dist/memory/commands/test-helpers.spec.d.ts +0 -19
  73. package/dist/memory/commands/test-helpers.spec.d.ts.map +0 -1
  74. package/dist/memory/commands/update.d.ts +0 -73
  75. package/dist/memory/commands/update.d.ts.map +0 -1
  76. package/dist/memory/commands/update.spec.d.ts +0 -2
  77. package/dist/memory/commands/update.spec.d.ts.map +0 -1
  78. package/dist/memory/index.d.ts +0 -29
  79. package/dist/memory/index.d.ts.map +0 -1
  80. package/dist/memory/index.spec.d.ts +0 -10
  81. package/dist/memory/index.spec.d.ts.map +0 -1
  82. package/dist/memory/parsing.d.ts +0 -3
  83. package/dist/memory/parsing.d.ts.map +0 -1
  84. package/dist/memory/parsing.spec.d.ts +0 -7
  85. package/dist/memory/parsing.spec.d.ts.map +0 -1
  86. package/dist/output.d.ts +0 -87
  87. package/dist/output.d.ts.map +0 -1
  88. package/dist/output.spec.d.ts +0 -2
  89. package/dist/output.spec.d.ts.map +0 -1
  90. package/dist/paths.d.ts +0 -27
  91. package/dist/paths.d.ts.map +0 -1
  92. package/dist/paths.spec.d.ts +0 -7
  93. package/dist/paths.spec.d.ts.map +0 -1
  94. package/dist/program.d.ts +0 -41
  95. package/dist/program.d.ts.map +0 -1
  96. package/dist/program.spec.d.ts +0 -11
  97. package/dist/program.spec.d.ts.map +0 -1
  98. package/dist/run.d.ts +0 -7
  99. package/dist/run.d.ts.map +0 -1
  100. package/dist/run.spec.d.ts +0 -12
  101. package/dist/run.spec.d.ts.map +0 -1
  102. package/dist/store/commands/add.d.ts +0 -73
  103. package/dist/store/commands/add.d.ts.map +0 -1
  104. package/dist/store/commands/add.spec.d.ts +0 -17
  105. package/dist/store/commands/add.spec.d.ts.map +0 -1
  106. package/dist/store/commands/init.d.ts +0 -75
  107. package/dist/store/commands/init.d.ts.map +0 -1
  108. package/dist/store/commands/init.spec.d.ts +0 -7
  109. package/dist/store/commands/init.spec.d.ts.map +0 -1
  110. package/dist/store/commands/list.d.ts +0 -62
  111. package/dist/store/commands/list.d.ts.map +0 -1
  112. package/dist/store/commands/list.spec.d.ts +0 -7
  113. package/dist/store/commands/list.spec.d.ts.map +0 -1
  114. package/dist/store/commands/prune.d.ts +0 -92
  115. package/dist/store/commands/prune.d.ts.map +0 -1
  116. package/dist/store/commands/prune.spec.d.ts +0 -7
  117. package/dist/store/commands/prune.spec.d.ts.map +0 -1
  118. package/dist/store/commands/reindexs.d.ts +0 -54
  119. package/dist/store/commands/reindexs.d.ts.map +0 -1
  120. package/dist/store/commands/reindexs.spec.d.ts +0 -7
  121. package/dist/store/commands/reindexs.spec.d.ts.map +0 -1
  122. package/dist/store/commands/remove.d.ts +0 -63
  123. package/dist/store/commands/remove.d.ts.map +0 -1
  124. package/dist/store/commands/remove.spec.d.ts +0 -17
  125. package/dist/store/commands/remove.spec.d.ts.map +0 -1
  126. package/dist/store/index.d.ts +0 -32
  127. package/dist/store/index.d.ts.map +0 -1
  128. package/dist/store/index.spec.d.ts +0 -9
  129. package/dist/store/index.spec.d.ts.map +0 -1
  130. package/dist/store/utils/resolve-store-name.d.ts +0 -30
  131. package/dist/store/utils/resolve-store-name.d.ts.map +0 -1
  132. package/dist/store/utils/resolve-store-name.spec.d.ts +0 -2
  133. package/dist/store/utils/resolve-store-name.spec.d.ts.map +0 -1
  134. package/dist/test-helpers.spec.d.ts +0 -224
  135. package/dist/test-helpers.spec.d.ts.map +0 -1
  136. package/dist/tests/cli.integration.spec.d.ts +0 -11
  137. package/dist/tests/cli.integration.spec.d.ts.map +0 -1
  138. package/dist/toon.d.ts +0 -197
  139. package/dist/toon.d.ts.map +0 -1
  140. package/dist/toon.spec.d.ts +0 -9
  141. package/dist/toon.spec.d.ts.map +0 -1
  142. package/dist/utils/git.d.ts +0 -20
  143. package/dist/utils/git.d.ts.map +0 -1
  144. package/dist/utils/git.spec.d.ts +0 -7
  145. package/dist/utils/git.spec.d.ts.map +0 -1
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=handlers.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/handlers.spec.ts"],"names":[],"mappings":""}
@@ -1,119 +0,0 @@
1
- /**
2
- * Memory list command for browsing memories with optional filtering.
3
- *
4
- * Lists all memories in a category, or all memories across all categories
5
- * if no category is specified. Expired memories are excluded by default
6
- * unless the `--include-expired` flag is provided.
7
- *
8
- * When no category is specified, the command dynamically discovers all
9
- * root categories from the store's index rather than using a hardcoded list.
10
- *
11
- * @example
12
- * ```bash
13
- * # List all memories
14
- * cortex memory list
15
- *
16
- * # List memories in a specific category
17
- * cortex memory list project/cortex
18
- *
19
- * # Include expired memories
20
- * cortex memory list --include-expired
21
- *
22
- * # Output in JSON format
23
- * cortex memory list --format json
24
- *
25
- * # Use a specific store (either placement works)
26
- * cortex memory list -s my-store
27
- * cortex memory -s my-store list
28
- * ```
29
- */
30
- import { Command } from '@commander-js/extra-typings';
31
- import { type CortexContext } from '@yeseh/cortex-core';
32
- /**
33
- * Options for the list command.
34
- */
35
- export interface ListCommandOptions {
36
- /** Include expired memories in the output */
37
- includeExpired?: boolean;
38
- /** Output format (yaml, json, toon) */
39
- format?: string;
40
- /** Store name (can be specified on subcommand or parent) */
41
- store?: string;
42
- }
43
- /**
44
- * Dependencies for the list command handler.
45
- * Allows injection for testing.
46
- */
47
- export interface ListHandlerDeps {
48
- /** Output stream for writing results (defaults to process.stdout) */
49
- stdout?: NodeJS.WritableStream;
50
- /** Current time for expiration checks */
51
- now?: Date;
52
- }
53
- /**
54
- * Entry representing a memory in the list output.
55
- */
56
- export interface ListMemoryEntry {
57
- path: string;
58
- tokenEstimate: number;
59
- summary?: string;
60
- expiresAt?: Date;
61
- isExpired: boolean;
62
- }
63
- /**
64
- * Entry representing a subcategory in the list output.
65
- */
66
- export interface ListSubcategoryEntry {
67
- path: string;
68
- memoryCount: number;
69
- description?: string;
70
- }
71
- /**
72
- * Result of the list command containing memories and subcategories.
73
- */
74
- export interface ListResult {
75
- memories: ListMemoryEntry[];
76
- subcategories: ListSubcategoryEntry[];
77
- }
78
- /**
79
- * Handles the list command execution.
80
- *
81
- * This function:
82
- * 1. Resolves the store context
83
- * 2. Loads category index (or all categories if none specified)
84
- * 3. Collects memories and subcategories, filtering expired if needed
85
- * 4. Formats and outputs the result
86
- *
87
- * @param category - Optional category path to list (lists all if omitted)
88
- * @param options - Command options (includeExpired, format)
89
- * @param storeName - Optional store name from parent command
90
- * @param deps - Optional dependencies for testing
91
- * @throws {InvalidArgumentError} When arguments are invalid
92
- * @throws {CommanderError} When read or parse fails
93
- */
94
- export declare function handleList(ctx: CortexContext, storeName: string | undefined, category: string | undefined, options: ListCommandOptions, deps?: ListHandlerDeps): Promise<void>;
95
- /**
96
- * The `list` subcommand for browsing memories.
97
- *
98
- * Lists memories in a category, or all memories across all root categories
99
- * if no category is specified. By default, expired memories are excluded.
100
- *
101
- * The `--store` option can be specified either on this command or on the
102
- * parent `memory` command for flexibility.
103
- *
104
- * @example
105
- * ```bash
106
- * cortex memory list
107
- * cortex memory list project/cortex
108
- * cortex memory list --include-expired
109
- * cortex memory list --format json
110
- * cortex memory list -s my-store
111
- * cortex memory -s my-store list
112
- * ```
113
- */
114
- export declare const listCommand: Command<[string | undefined], {
115
- store?: string | undefined;
116
- includeExpired?: true | undefined;
117
- format: string;
118
- }, {}>;
119
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAItD,OAAO,EAAa,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKnE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,yCAAyC;IACzC,GAAG,CAAC,EAAE,IAAI,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,aAAa,EAAE,oBAAoB,EAAE,CAAC;CACzC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC5B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,eAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAsHf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW;;;;MAgBlB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=list.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/list.spec.ts"],"names":[],"mappings":""}
@@ -1,42 +0,0 @@
1
- /**
2
- * Memory move command implementation using Commander.js.
3
- *
4
- * Moves a memory from one path to another within the same store.
5
- *
6
- * @example
7
- * ```bash
8
- * # Move a memory to a new location
9
- * cortex memory move project/old-name project/new-name
10
- *
11
- * # Move with explicit store
12
- * cortex memory --store my-store move project/old project/new
13
- * ```\n */
14
- import { Command } from '@commander-js/extra-typings';
15
- import { type CortexContext } from '@yeseh/cortex-core';
16
- /** Options for the move command. */
17
- export interface MoveCommandOptions {
18
- /** Output format (yaml, json, toon) */
19
- format?: string;
20
- }
21
- /**
22
- * Handler for the memory move command.
23
- * Exported for direct testing without Commander parsing.
24
- *
25
- * @param ctx - CLI context containing Cortex client and streams
26
- * @param storeName - Optional store name from parent command
27
- * @param from - Source memory path
28
- * @param to - Destination memory path
29
- */
30
- export declare function handleMove(ctx: CortexContext, storeName: string | undefined, from: string, to: string, options?: MoveCommandOptions): Promise<void>;
31
- /**
32
- * The `memory move` subcommand.
33
- *
34
- * Moves a memory from one path to another within the store.
35
- * Both paths must be valid memory slug paths.
36
- *
37
- * The `--store` option is inherited from the parent `memory` command.
38
- */
39
- export declare const moveCommand: Command<[string, string], {
40
- format?: string | undefined;
41
- }, {}>;
42
- //# sourceMappingURL=move.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/move.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;WAYW;AAEX,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIpE,oCAAoC;AACpC,MAAM,WAAW,kBAAkB;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC5B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,kBAAuB,GACjC,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;MAalB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=move.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"move.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/move.spec.ts"],"names":[],"mappings":""}
@@ -1,41 +0,0 @@
1
- /**
2
- * Memory remove command implementation using Commander.js.
3
- *
4
- * Deletes an existing memory at the specified path.
5
- *
6
- * @example
7
- * ```bash
8
- * # Remove a memory
9
- * cortex memory remove project/tech-stack
10
- *
11
- * # Remove memory from a specific store
12
- * cortex memory --store work remove project/notes
13
- * ```
14
- */
15
- import { Command } from '@commander-js/extra-typings';
16
- import { type CortexContext } from '@yeseh/cortex-core';
17
- /** Options for the remove command. */
18
- export interface RemoveCommandOptions {
19
- /** Output format (yaml, json, toon) */
20
- format?: string;
21
- }
22
- /**
23
- * Handler for the memory remove command.
24
- * Exported for direct testing without Commander parsing.
25
- *
26
- * @param ctx - CLI context containing Cortex client and streams
27
- * @param storeName - Optional store name from parent command
28
- * @param path - Memory path to remove (e.g., "project/tech-stack")
29
- */
30
- export declare function handleRemove(ctx: CortexContext, storeName: string | undefined, path: string, options?: RemoveCommandOptions): Promise<void>;
31
- /**
32
- * The `memory remove` subcommand.
33
- *
34
- * Deletes an existing memory at the specified path.
35
- *
36
- * The `--store` option is inherited from the parent `memory` command.
37
- */
38
- export declare const removeCommand: Command<[string], {
39
- format?: string | undefined;
40
- }, {}>;
41
- //# sourceMappingURL=remove.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/remove.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIpE,sCAAsC;AACtC,MAAM,WAAW,oBAAoB;IACjC,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAC9B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,oBAAyB,GACnC,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;MAYpB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=remove.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"remove.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/remove.spec.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- /**
2
- * Memory show command for displaying a memory's content and metadata.
3
- *
4
- * This command reads a memory from the store and displays it in the
5
- * specified format. Expired memories are excluded by default unless
6
- * the `--include-expired` flag is provided.
7
- *
8
- * @example
9
- * ```bash
10
- * # Show a memory in YAML format (default)
11
- * cortex memory show project/notes
12
- *
13
- * # Show a memory in JSON format
14
- * cortex memory show project/notes --format json
15
- *
16
- * # Include expired memories
17
- * cortex memory show project/notes --include-expired
18
- *
19
- * # Use a specific store
20
- * cortex memory --store my-store show project/notes
21
- * ```
22
- */
23
- import { Command } from '@commander-js/extra-typings';
24
- import { type CortexContext } from '@yeseh/cortex-core';
25
- import { type StoreClient } from '@yeseh/cortex-core/store';
26
- /**
27
- * Options for the show command.
28
- */
29
- export interface ShowCommandOptions {
30
- /** Include expired memories in the output */
31
- includeExpired?: boolean;
32
- /** Output format (yaml, json, toon) */
33
- format?: string;
34
- }
35
- /**
36
- * Dependencies for the show command handler.
37
- * Allows injection for testing.
38
- */
39
- export interface ShowHandlerDeps {
40
- /** Output stream for writing results (defaults to process.stdout) */
41
- stdout?: NodeJS.WritableStream;
42
- /** Pre-resolved store client for testing */
43
- store?: StoreClient;
44
- }
45
- /**
46
- * Handles the show command execution.
47
- *
48
- * This function:
49
- * 1. Resolves the store context
50
- * 2. Validates the memory path
51
- * 3. Reads the memory file from storage
52
- * 4. Parses the memory content and frontmatter
53
- * 5. Checks expiration status (unless --include-expired)
54
- * 6. Serializes and outputs the result
55
- *
56
- * @param path - The memory path to show (e.g., "project/notes")
57
- * @param options - Command options (includeExpired, format)
58
- * @param storeName - Optional store name from parent command
59
- * @param deps - Optional dependencies for testing
60
- * @throws {InvalidArgumentError} When the path is invalid
61
- * @throws {CommanderError} When the memory is not found or read fails
62
- */
63
- export declare function handleShow(ctx: CortexContext, storeName: string | undefined, path: string, options: ShowCommandOptions, deps?: ShowHandlerDeps): Promise<void>;
64
- /**
65
- * The `show` subcommand for displaying a memory.
66
- *
67
- * Reads a memory from the store and displays its content and metadata
68
- * in the specified format. By default, expired memories are excluded.
69
- *
70
- * @example
71
- * ```bash
72
- * cortex memory show project/notes
73
- * cortex memory show project/notes --format json
74
- * cortex memory show project/notes --include-expired
75
- * ```
76
- */
77
- export declare const showCommand: Command<[string], {
78
- includeExpired?: true | undefined;
79
- format: string;
80
- }, {}>;
81
- //# sourceMappingURL=show.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/show.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,EAAgC,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IAC/B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAC5B,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,eAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;;;MAalB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=show.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"show.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/show.spec.ts"],"names":[],"mappings":""}
@@ -1,19 +0,0 @@
1
- import { PassThrough } from 'node:stream';
2
- import { Memory, type AdapterFactory, type ConfigStores, type CortexContext, type CortexSettings, type MemoryMetadata, type StorageAdapter } from '@yeseh/cortex-core';
3
- export declare const createMockMemoryCommandAdapter: (overrides?: Record<string, unknown>) => StorageAdapter;
4
- export declare const createMemoryCommandContext: (options: {
5
- adapter: StorageAdapter;
6
- storePath: string;
7
- stdout?: PassThrough;
8
- stdin?: PassThrough;
9
- stores?: ConfigStores;
10
- settings?: CortexSettings;
11
- now?: () => Date;
12
- adapterFactory?: AdapterFactory;
13
- }) => CortexContext;
14
- export declare const createCaptureStream: () => {
15
- stream: PassThrough;
16
- getOutput: () => string;
17
- };
18
- export declare const createMemoryFixture: (path: string, overrides?: Partial<MemoryMetadata>, content?: string) => Memory;
19
- //# sourceMappingURL=test-helpers.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/test-helpers.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAEH,MAAM,EAEN,KAAK,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACtB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,8BAA8B,GACvC,YAAW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,KACxC,cAwBgC,CAAC;AAEpC,eAAO,MAAM,0BAA0B,GAAI,SAAS;IAChD,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC,KAAG,aAsCH,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,MAAM,CAAA;CAYpF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC5B,MAAM,MAAM,EACZ,YAAW,OAAO,CAAC,cAAc,CAAM,EACvC,gBAA0B,KAC3B,MAiBF,CAAC"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Memory update command implementation using Commander.js.
3
- *
4
- * Updates an existing memory at the specified path with new content, tags,
5
- * or expiration date.
6
- *
7
- * @example
8
- * ```bash
9
- * # Update memory content inline
10
- * cortex memory update project/tech-stack --content "Updated stack: TypeScript"
11
- *
12
- * # Update memory content from a file
13
- * cortex memory update project/notes --file ./updated-notes.md
14
- *
15
- * # Update tags
16
- * cortex memory update project/tech-stack --tags "typescript,nodejs,updated"
17
- *
18
- * # Update expiration date
19
- * cortex memory update project/temp --expires-at "2026-12-31T00:00:00Z"
20
- *
21
- * # Clear expiration date
22
- * cortex memory update project/temp --no-expires-at
23
- *
24
- * # Update from a specific store
25
- * cortex memory --store work update project/notes --content "New content"
26
- * ```
27
- */
28
- import { Command } from '@commander-js/extra-typings';
29
- import { type CortexContext } from '@yeseh/cortex-core';
30
- /** Options parsed by Commander for the update command */
31
- export interface UpdateCommandOptions {
32
- content?: string;
33
- file?: string;
34
- tags?: string[];
35
- /**
36
- * Expiration date from Commander.js option parsing.
37
- * - `string` — ISO 8601 date provided via `--expires-at <date>`
38
- * - `false` — expiration cleared via `--no-expires-at` negation flag
39
- * - `undefined` (omitted) — keep the existing value unchanged
40
- */
41
- expiresAt?: string | false;
42
- citation?: string[];
43
- format?: string;
44
- }
45
- /**
46
- * Handler for the memory update command.
47
- * Exported for direct testing without Commander parsing.
48
- *
49
- * @param ctx - CLI context containing Cortex client and streams
50
- * @param storeName - Optional store name from parent command
51
- * @param path - Memory path to update (e.g., "project/tech-stack")
52
- * @param options - Command options from Commander
53
- */
54
- export declare function handleUpdate(ctx: CortexContext, storeName: string | undefined, path: string, options: UpdateCommandOptions): Promise<void>;
55
- /**
56
- * The `memory update` subcommand.
57
- *
58
- * Updates an existing memory at the specified path. Can update:
59
- * - Content via `--content` flag for inline text or `--file` to read from a file
60
- * - Tags via `--tags` flag (replaces existing tags)
61
- * - Expiration via `--expires-at` or `--no-expires-at`
62
- *
63
- * The `--store` option is inherited from the parent `memory` command.
64
- */
65
- export declare const updateCommand: Command<[string], {
66
- content?: string | undefined;
67
- file?: string | undefined;
68
- tags?: string[] | undefined;
69
- expiresAt?: string | false | undefined;
70
- citation?: string[] | undefined;
71
- format?: string | undefined;
72
- }, {}>;
73
- //# sourceMappingURL=update.d.ts.map
@@ -1 +0,0 @@
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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=update.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update.spec.d.ts","sourceRoot":"","sources":["../../../src/memory/commands/update.spec.ts"],"names":[],"mappings":""}
@@ -1,29 +0,0 @@
1
- /**
2
- * Memory command group for the CLI.
3
- *
4
- * This module defines the `memory` command group, which provides operations
5
- * for managing memories in the Cortex memory system. The `--store` option
6
- * is defined at the group level and inherited by all subcommands.
7
- *
8
- * @example
9
- * ```bash
10
- * # Use default store
11
- * cortex memory add project/notes --content "Hello"
12
- *
13
- * # Use specific store
14
- * cortex memory --store my-store add project/notes --content "Hello"
15
- * cortex memory -s my-store list
16
- * ```
17
- */
18
- import { Command } from '@commander-js/extra-typings';
19
- /**
20
- * The `memory` command group.
21
- *
22
- * Provides memory management operations. The `--store` option allows
23
- * targeting a specific named store instead of the default store.
24
- * This option is inherited by all subcommands.
25
- */
26
- export declare const memoryCommand: Command<[], {
27
- store?: string | undefined;
28
- }, {}>;
29
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAStD;;;;;;GAMG;AACH,eAAO,MAAM,aAAa;;MAEqC,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Unit tests for memory command group wiring.
3
- *
4
- * Verifies that the `memory` command group is correctly configured with
5
- * the expected name, description, options, and subcommands.
6
- *
7
- * @module cli/memory/index.spec
8
- */
9
- export {};
10
- //# sourceMappingURL=index.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../src/memory/index.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,3 +0,0 @@
1
- export declare const parseTags: (raw?: string[]) => string[];
2
- export declare const parseExpiresAt: (raw?: string) => Date | undefined;
3
- //# sourceMappingURL=parsing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../src/memory/parsing.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,EAAE,KAAG,MAAM,EAMrC,CAAC;AAEb,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,IAAI,GAAG,SAWpD,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Unit tests for memory/parsing.ts
3
- *
4
- * @module cli/memory/parsing.spec
5
- */
6
- export {};
7
- //# sourceMappingURL=parsing.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parsing.spec.d.ts","sourceRoot":"","sources":["../../src/memory/parsing.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
package/dist/output.d.ts DELETED
@@ -1,87 +0,0 @@
1
- /**
2
- * Output format types and serialization helpers.
3
- *
4
- * This module provides type definitions for CLI output payloads and a thin
5
- * wrapper around the core serialize function. Validation is expected to happen
6
- * at object construction time, not during serialization.
7
- */
8
- import { type Result } from '@yeseh/cortex-core';
9
- import { type OutputFormat } from '@yeseh/cortex-core';
10
- export type { OutputFormat };
11
- export interface OutputMemoryMetadata {
12
- createdAt: Date;
13
- updatedAt?: Date;
14
- tags: string[];
15
- source?: string;
16
- tokenEstimate?: number;
17
- expiresAt?: Date;
18
- }
19
- export interface OutputMemory {
20
- path: string;
21
- metadata: OutputMemoryMetadata;
22
- content: string;
23
- }
24
- export interface OutputCategoryMemory {
25
- path: string;
26
- tokenEstimate?: number;
27
- summary?: string;
28
- }
29
- export interface OutputSubcategory {
30
- path: string;
31
- memoryCount: number;
32
- }
33
- export interface OutputCategory {
34
- path: string;
35
- memories: OutputCategoryMemory[];
36
- subcategories: OutputSubcategory[];
37
- }
38
- export interface OutputStore {
39
- name: string;
40
- path: string;
41
- }
42
- export interface OutputStoreRegistry {
43
- stores: OutputStore[];
44
- }
45
- export interface OutputStoreInit {
46
- path: string;
47
- name: string;
48
- }
49
- export interface OutputInit {
50
- path: string;
51
- categories: string[];
52
- }
53
- export type OutputPayload = {
54
- kind: 'memory';
55
- value: OutputMemory;
56
- } | {
57
- kind: 'category';
58
- value: OutputCategory;
59
- } | {
60
- kind: 'store';
61
- value: OutputStore;
62
- } | {
63
- kind: 'store-registry';
64
- value: OutputStoreRegistry;
65
- } | {
66
- kind: 'store-init';
67
- value: OutputStoreInit;
68
- } | {
69
- kind: 'init';
70
- value: OutputInit;
71
- };
72
- export interface OutputSerializeError {
73
- code: 'INVALID_FORMAT' | 'SERIALIZE_FAILED';
74
- message: string;
75
- }
76
- /**
77
- * Serialize an output payload to the specified format.
78
- *
79
- * This is a thin wrapper around the core serialize function that extracts
80
- * the value from the discriminated union and handles errors.
81
- *
82
- * @param payload - The output payload to serialize
83
- * @param format - The output format ('yaml', 'json', or 'toon')
84
- * @returns Result with serialized string or error
85
- */
86
- export declare const serializeOutput: (payload: unknown, format: OutputFormat) => Result<string, OutputSerializeError>;
87
- //# sourceMappingURL=output.d.ts.map
@@ -1 +0,0 @@
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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=output.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output.spec.d.ts","sourceRoot":"","sources":["../src/output.spec.ts"],"names":[],"mappings":""}
package/dist/paths.d.ts DELETED
@@ -1,27 +0,0 @@
1
- /**
2
- * Path resolution utilities for CLI commands.
3
- *
4
- * Provides cross-platform path handling including:
5
- * - Home directory (~) expansion
6
- * - Absolute path detection (Unix, Windows drive, UNC)
7
- * - Relative path resolution
8
- */
9
- /**
10
- * Checks if a path is absolute.
11
- * Handles Unix paths, Windows drive paths (C:\), and UNC paths (\\server).
12
- */
13
- export declare function isAbsolutePath(inputPath: string): boolean;
14
- /**
15
- * Resolves a user-provided path to an absolute path.
16
- *
17
- * Handles:
18
- * - Home directory expansion (~)
19
- * - Absolute paths (returned as-is, normalized)
20
- * - Relative paths (resolved against cwd)
21
- *
22
- * @param inputPath - The path to resolve
23
- * @param cwd - Current working directory for relative path resolution
24
- * @returns Normalized absolute path
25
- */
26
- export declare function resolveUserPath(inputPath: string, cwd: string): string;
27
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/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"}