@yeseh/cortex-cli 0.6.0 → 0.6.3

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 (142) 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/run.ts +0 -0
  11. package/src/store/commands/init.spec.ts +62 -78
  12. package/src/store/commands/init.ts +31 -15
  13. package/src/store/commands/prune.ts +4 -4
  14. package/src/store/commands/reindexs.ts +4 -3
  15. package/src/tests/cli.integration.spec.ts +136 -0
  16. package/src/utils/input.ts +9 -4
  17. package/src/utils/resolve-default-store.spec.ts +135 -0
  18. package/src/utils/resolve-default-store.ts +74 -0
  19. package/dist/category/commands/create.d.ts +0 -44
  20. package/dist/category/commands/create.d.ts.map +0 -1
  21. package/dist/category/commands/create.spec.d.ts +0 -7
  22. package/dist/category/commands/create.spec.d.ts.map +0 -1
  23. package/dist/category/index.d.ts +0 -19
  24. package/dist/category/index.d.ts.map +0 -1
  25. package/dist/commands/init.d.ts +0 -58
  26. package/dist/commands/init.d.ts.map +0 -1
  27. package/dist/commands/init.spec.d.ts +0 -2
  28. package/dist/commands/init.spec.d.ts.map +0 -1
  29. package/dist/context.d.ts +0 -18
  30. package/dist/context.d.ts.map +0 -1
  31. package/dist/context.spec.d.ts +0 -2
  32. package/dist/context.spec.d.ts.map +0 -1
  33. package/dist/create-cli-command.d.ts +0 -23
  34. package/dist/create-cli-command.d.ts.map +0 -1
  35. package/dist/create-cli-command.spec.d.ts +0 -10
  36. package/dist/create-cli-command.spec.d.ts.map +0 -1
  37. package/dist/errors.d.ts +0 -57
  38. package/dist/errors.d.ts.map +0 -1
  39. package/dist/errors.spec.d.ts +0 -2
  40. package/dist/errors.spec.d.ts.map +0 -1
  41. package/dist/input.d.ts +0 -42
  42. package/dist/input.d.ts.map +0 -1
  43. package/dist/input.spec.d.ts +0 -2
  44. package/dist/input.spec.d.ts.map +0 -1
  45. package/dist/memory/commands/add.d.ts +0 -62
  46. package/dist/memory/commands/add.d.ts.map +0 -1
  47. package/dist/memory/commands/add.spec.d.ts +0 -7
  48. package/dist/memory/commands/add.spec.d.ts.map +0 -1
  49. package/dist/memory/commands/definitions.spec.d.ts +0 -10
  50. package/dist/memory/commands/definitions.spec.d.ts.map +0 -1
  51. package/dist/memory/commands/handlers.spec.d.ts +0 -2
  52. package/dist/memory/commands/handlers.spec.d.ts.map +0 -1
  53. package/dist/memory/commands/list.d.ts +0 -119
  54. package/dist/memory/commands/list.d.ts.map +0 -1
  55. package/dist/memory/commands/list.spec.d.ts +0 -2
  56. package/dist/memory/commands/list.spec.d.ts.map +0 -1
  57. package/dist/memory/commands/move.d.ts +0 -42
  58. package/dist/memory/commands/move.d.ts.map +0 -1
  59. package/dist/memory/commands/move.spec.d.ts +0 -2
  60. package/dist/memory/commands/move.spec.d.ts.map +0 -1
  61. package/dist/memory/commands/remove.d.ts +0 -41
  62. package/dist/memory/commands/remove.d.ts.map +0 -1
  63. package/dist/memory/commands/remove.spec.d.ts +0 -2
  64. package/dist/memory/commands/remove.spec.d.ts.map +0 -1
  65. package/dist/memory/commands/show.d.ts +0 -81
  66. package/dist/memory/commands/show.d.ts.map +0 -1
  67. package/dist/memory/commands/show.spec.d.ts +0 -2
  68. package/dist/memory/commands/show.spec.d.ts.map +0 -1
  69. package/dist/memory/commands/test-helpers.spec.d.ts +0 -19
  70. package/dist/memory/commands/test-helpers.spec.d.ts.map +0 -1
  71. package/dist/memory/commands/update.d.ts +0 -73
  72. package/dist/memory/commands/update.d.ts.map +0 -1
  73. package/dist/memory/commands/update.spec.d.ts +0 -2
  74. package/dist/memory/commands/update.spec.d.ts.map +0 -1
  75. package/dist/memory/index.d.ts +0 -29
  76. package/dist/memory/index.d.ts.map +0 -1
  77. package/dist/memory/index.spec.d.ts +0 -10
  78. package/dist/memory/index.spec.d.ts.map +0 -1
  79. package/dist/memory/parsing.d.ts +0 -3
  80. package/dist/memory/parsing.d.ts.map +0 -1
  81. package/dist/memory/parsing.spec.d.ts +0 -7
  82. package/dist/memory/parsing.spec.d.ts.map +0 -1
  83. package/dist/output.d.ts +0 -87
  84. package/dist/output.d.ts.map +0 -1
  85. package/dist/output.spec.d.ts +0 -2
  86. package/dist/output.spec.d.ts.map +0 -1
  87. package/dist/paths.d.ts +0 -27
  88. package/dist/paths.d.ts.map +0 -1
  89. package/dist/paths.spec.d.ts +0 -7
  90. package/dist/paths.spec.d.ts.map +0 -1
  91. package/dist/program.d.ts +0 -41
  92. package/dist/program.d.ts.map +0 -1
  93. package/dist/program.spec.d.ts +0 -11
  94. package/dist/program.spec.d.ts.map +0 -1
  95. package/dist/run.d.ts +0 -7
  96. package/dist/run.d.ts.map +0 -1
  97. package/dist/run.spec.d.ts +0 -12
  98. package/dist/run.spec.d.ts.map +0 -1
  99. package/dist/store/commands/add.d.ts +0 -73
  100. package/dist/store/commands/add.d.ts.map +0 -1
  101. package/dist/store/commands/add.spec.d.ts +0 -17
  102. package/dist/store/commands/add.spec.d.ts.map +0 -1
  103. package/dist/store/commands/init.d.ts +0 -75
  104. package/dist/store/commands/init.d.ts.map +0 -1
  105. package/dist/store/commands/init.spec.d.ts +0 -7
  106. package/dist/store/commands/init.spec.d.ts.map +0 -1
  107. package/dist/store/commands/list.d.ts +0 -62
  108. package/dist/store/commands/list.d.ts.map +0 -1
  109. package/dist/store/commands/list.spec.d.ts +0 -7
  110. package/dist/store/commands/list.spec.d.ts.map +0 -1
  111. package/dist/store/commands/prune.d.ts +0 -92
  112. package/dist/store/commands/prune.d.ts.map +0 -1
  113. package/dist/store/commands/prune.spec.d.ts +0 -7
  114. package/dist/store/commands/prune.spec.d.ts.map +0 -1
  115. package/dist/store/commands/reindexs.d.ts +0 -54
  116. package/dist/store/commands/reindexs.d.ts.map +0 -1
  117. package/dist/store/commands/reindexs.spec.d.ts +0 -7
  118. package/dist/store/commands/reindexs.spec.d.ts.map +0 -1
  119. package/dist/store/commands/remove.d.ts +0 -63
  120. package/dist/store/commands/remove.d.ts.map +0 -1
  121. package/dist/store/commands/remove.spec.d.ts +0 -17
  122. package/dist/store/commands/remove.spec.d.ts.map +0 -1
  123. package/dist/store/index.d.ts +0 -32
  124. package/dist/store/index.d.ts.map +0 -1
  125. package/dist/store/index.spec.d.ts +0 -9
  126. package/dist/store/index.spec.d.ts.map +0 -1
  127. package/dist/store/utils/resolve-store-name.d.ts +0 -30
  128. package/dist/store/utils/resolve-store-name.d.ts.map +0 -1
  129. package/dist/store/utils/resolve-store-name.spec.d.ts +0 -2
  130. package/dist/store/utils/resolve-store-name.spec.d.ts.map +0 -1
  131. package/dist/test-helpers.spec.d.ts +0 -224
  132. package/dist/test-helpers.spec.d.ts.map +0 -1
  133. package/dist/tests/cli.integration.spec.d.ts +0 -11
  134. package/dist/tests/cli.integration.spec.d.ts.map +0 -1
  135. package/dist/toon.d.ts +0 -197
  136. package/dist/toon.d.ts.map +0 -1
  137. package/dist/toon.spec.d.ts +0 -9
  138. package/dist/toon.spec.d.ts.map +0 -1
  139. package/dist/utils/git.d.ts +0 -20
  140. package/dist/utils/git.d.ts.map +0 -1
  141. package/dist/utils/git.spec.d.ts +0 -7
  142. package/dist/utils/git.spec.d.ts.map +0 -1
@@ -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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Unit tests for CLI path resolution utilities.
3
- *
4
- * @module cli/paths.spec
5
- */
6
- export {};
7
- //# sourceMappingURL=paths.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.spec.d.ts","sourceRoot":"","sources":["../src/paths.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
package/dist/program.d.ts DELETED
@@ -1,41 +0,0 @@
1
- /**
2
- * Commander.js program setup for Cortex CLI.
3
- *
4
- * This module sets up the main Commander program and wires together
5
- * all command groups. It serves as the entry point for the CLI.
6
- *
7
- * @module cli/program
8
- */
9
- import { Command } from '@commander-js/extra-typings';
10
- /**
11
- * The main Commander program instance for Cortex CLI.
12
- *
13
- * Configured with:
14
- * - Name: cortex
15
- * - Description: Memory system for AI agents
16
- * - Version: 0.1.0
17
- *
18
- * @example
19
- * ```ts
20
- * import { program } from './program.ts';
21
- * await program.parseAsync(process.argv);
22
- * ```
23
- */
24
- declare const program: Command<[], {}, {}>;
25
- export { program };
26
- /**
27
- * Runs the CLI program by parsing command-line arguments.
28
- *
29
- * This function handles errors gracefully and sets the appropriate
30
- * exit code on failure.
31
- *
32
- * @returns A promise that resolves when the program completes
33
- *
34
- * @example
35
- * ```ts
36
- * import { runProgram } from './program.ts';
37
- * await runProgram();
38
- * ```
39
- */
40
- export declare const runProgram: () => Promise<void>;
41
- //# sourceMappingURL=program.d.ts.map
@@ -1 +0,0 @@
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,11 +0,0 @@
1
- /**
2
- * Unit tests for the Commander.js program setup and runProgram entrypoint.
3
- *
4
- * Verifies that the program is correctly wired with the expected name,
5
- * version, and top-level subcommands, and that `runProgram` is exported
6
- * as a callable function.
7
- *
8
- * @module cli/program.spec
9
- */
10
- export {};
11
- //# sourceMappingURL=program.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"program.spec.d.ts","sourceRoot":"","sources":["../src/program.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
package/dist/run.d.ts DELETED
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env bun
2
- /**
3
- * CLI runner script for integration testing.
4
- * This script is spawned as a subprocess by the integration tests.
5
- */
6
- export {};
7
- //# sourceMappingURL=run.d.ts.map
package/dist/run.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":";AACA;;;GAGG"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Unit tests for the run.ts CLI entrypoint.
3
- *
4
- * `run.ts` is a side-effect-only module that calls `runProgram()` on import.
5
- * Because importing it would immediately parse `process.argv`, we do NOT
6
- * import it directly in tests. Instead we verify that the function it
7
- * delegates to (`runProgram`) is correctly exported from `program.ts`.
8
- *
9
- * @module cli/run.spec
10
- */
11
- export {};
12
- //# sourceMappingURL=run.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run.spec.d.ts","sourceRoot":"","sources":["../src/run.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Store add command for registering a new store.
3
- *
4
- * This command registers a new store in the global registry with a given
5
- * name and filesystem path. Paths are resolved relative to the current
6
- * working directory, with support for tilde expansion.
7
- *
8
- * @example
9
- * ```bash
10
- * # Register a store with an absolute path
11
- * cortex store add work /path/to/work/memories
12
- *
13
- * # Register a store with a relative path
14
- * cortex store add project ./cortex
15
- *
16
- * # Register a store with tilde expansion
17
- * cortex store add personal ~/memories
18
- * ```
19
- */
20
- import { Command } from '@commander-js/extra-typings';
21
- import { type CortexContext } from '@yeseh/cortex-core';
22
- /**
23
- * Options for the add command.
24
- */
25
- export interface AddCommandOptions {
26
- /** Output format (yaml, json, toon) */
27
- format?: string;
28
- }
29
- /**
30
- * Dependencies for the add command handler.
31
- * Allows injection for testing.
32
- */
33
- export interface AddHandlerDeps {
34
- /** Output stream for writing results (defaults to process.stdout) */
35
- stdout?: NodeJS.WritableStream;
36
- }
37
- /**
38
- * Handles the add command execution.
39
- *
40
- * This function:
41
- * 1. Validates the store name format
42
- * 2. Validates and resolves the store path
43
- * 3. Checks if store already exists in context
44
- * 4. Reads current config file
45
- * 5. Adds the store to the config and saves
46
- * 6. Outputs the result
47
- *
48
- * @param ctx - The CortexContext with loaded configuration
49
- * @param name - The store name to register
50
- * @param storePath - The filesystem path to the store
51
- * @param options - Command options (format)
52
- * @param deps - Optional dependencies for testing
53
- * @throws {InvalidArgumentError} When the store name or path is invalid
54
- * @throws {CommanderError} When the store already exists or config operations fail
55
- */
56
- export declare function handleAdd(ctx: CortexContext, name: string, storePath: string, options?: AddCommandOptions, deps?: AddHandlerDeps): Promise<void>;
57
- /**
58
- * The `add` subcommand for registering a new store.
59
- *
60
- * Registers a store with the given name and filesystem path. The path is
61
- * resolved relative to the current working directory, with support for
62
- * tilde expansion.
63
- *
64
- * @example
65
- * ```bash
66
- * cortex store add work /path/to/work/memories
67
- * cortex store add project ./cortex --format json
68
- * ```
69
- */
70
- export declare const addCommand: Command<[string, string], {
71
- format: string;
72
- }, {}>;
73
- //# sourceMappingURL=add.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/store/commands/add.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAKtD,OAAO,EAAqB,KAAK,aAAa,EAAoB,MAAM,oBAAoB,CAAC;AAG7F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAClC;AAwDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,SAAS,CAC3B,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,iBAAsB,EAC/B,IAAI,GAAE,cAAmB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA8Ef;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU;;MAWjB,CAAC"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Unit tests for the store add command handler.
3
- *
4
- * Note: `handleAdd` reads and writes the global config file via `Bun.file()` and
5
- * `Bun.write()`. These I/O calls are not dependency-injected, so the success
6
- * path is not testable at the unit level without filesystem mocking (prohibited
7
- * by project rules). Only the validation paths that throw before any I/O are
8
- * covered here.
9
- *
10
- * Slug normalization behavior: `Slug.from()` normalizes most inputs rather than
11
- * rejecting them (e.g. 'INVALID' → 'invalid', 'my store' → 'my-store'). Only
12
- * empty/whitespace strings fail `Slug.from()` and produce `InvalidArgumentError`.
13
- *
14
- * @module cli/store/commands/add.spec
15
- */
16
- export {};
17
- //# sourceMappingURL=add.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add.spec.d.ts","sourceRoot":"","sources":["../../../src/store/commands/add.spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG"}
@@ -1,75 +0,0 @@
1
- /**
2
- * Store init command for initializing a new memory store.
3
- *
4
- * This command creates a new memory store at the specified path (or current
5
- * directory) and registers it in the global registry. The store name is
6
- * either explicitly provided via --name or auto-detected from the git
7
- * repository name.
8
- *
9
- * @example
10
- * ```bash
11
- * # Initialize store with auto-detected name from git repo
12
- * cortex store init
13
- *
14
- * # Initialize store with explicit name
15
- * cortex store init --name my-project
16
- *
17
- * # Initialize store at a specific path
18
- * cortex store init ./my-store --name my-project
19
- *
20
- * # Initialize store with tilde expansion
21
- * cortex store init ~/memories --name personal
22
- * ```
23
- */
24
- import { Command } from '@commander-js/extra-typings';
25
- import { type CategoryMode, type CortexContext } from '@yeseh/cortex-core';
26
- /**
27
- * Options for the init command.
28
- */
29
- export interface InitCommandOptions {
30
- /** Explicit store name (otherwise auto-detected from git) */
31
- name?: string;
32
- /** Category mode for the store */
33
- categoryMode?: CategoryMode;
34
- /** Output format (yaml, json, toon) */
35
- format?: string;
36
- /** Optional description for the store */
37
- description?: string;
38
- }
39
- /**
40
- * Handles the init command execution.
41
- *
42
- * This function:
43
- * 1. Resolves the store name (explicit or git detection)
44
- * 2. Resolves target path (default to .cortex in cwd)
45
- * 3. Uses initializeStore to create directory, index, and register
46
- * 4. Outputs the result
47
- *
48
- * @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
51
- * @throws {InvalidArgumentError} When the store name is invalid
52
- * @throws {CommanderError} When the store already exists or init fails
53
- */
54
- export declare function handleInit(ctx: CortexContext, targetPath: string | undefined, options?: InitCommandOptions): Promise<void>;
55
- /**
56
- * The `init` subcommand for initializing a new memory store.
57
- *
58
- * Creates a new store at the specified path (or .cortex in current directory)
59
- * and registers it in the global registry. The store name is auto-detected
60
- * from the git repository name or can be explicitly provided.
61
- *
62
- * @example
63
- * ```bash
64
- * cortex store init # Auto-detect name from git
65
- * cortex store init --name my-project # Explicit name
66
- * cortex store init ./store --name custom # Custom path and name
67
- * ```
68
- */
69
- export declare const initCommand: Command<[string | undefined], {
70
- name?: string | undefined;
71
- description?: string | undefined;
72
- categoryMode: string;
73
- format: string;
74
- }, {}>;
75
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
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,7 +0,0 @@
1
- /**
2
- * Unit tests for the store init command handler.
3
- *
4
- * @module cli/store/commands/init.spec
5
- */
6
- export {};
7
- //# sourceMappingURL=init.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.spec.d.ts","sourceRoot":"","sources":["../../../src/store/commands/init.spec.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -1,62 +0,0 @@
1
- /**
2
- * Store list command for displaying all registered stores.
3
- *
4
- * This command reads the store registry and displays all registered
5
- * stores sorted alphabetically by name.
6
- *
7
- * @example
8
- * ```bash
9
- * # List all stores in YAML format (default)
10
- * cortex store list
11
- *
12
- * # List all stores in JSON format
13
- * cortex store list --format json
14
- * ```
15
- */
16
- import { Command } from '@commander-js/extra-typings';
17
- import { type CortexContext } from '@yeseh/cortex-core';
18
- /**
19
- * Options for the list command.
20
- */
21
- export interface ListCommandOptions {
22
- /** Output format (yaml, json, toon) */
23
- format?: string;
24
- }
25
- /**
26
- * Dependencies for the list command handler.
27
- * Allows injection for testing.
28
- */
29
- export interface ListHandlerDeps {
30
- /** Output stream for writing results (defaults to process.stdout) */
31
- stdout?: NodeJS.WritableStream;
32
- }
33
- /**
34
- * Handles the list command execution.
35
- *
36
- * This function:
37
- * 1. Gets stores from the context
38
- * 2. Formats the stores as a sorted list
39
- * 3. Serializes and outputs the result
40
- *
41
- * @param ctx - The Cortex context containing stores configuration
42
- * @param options - Command options (format)
43
- * @param deps - Optional dependencies for testing
44
- * @throws {CommanderError} When serialization fails
45
- */
46
- export declare function handleList(ctx: CortexContext, options: ListCommandOptions, deps?: ListHandlerDeps): Promise<void>;
47
- /**
48
- * The `list` subcommand for displaying all registered stores.
49
- *
50
- * Reads the store registry and displays all stores sorted alphabetically
51
- * by name in the specified format.
52
- *
53
- * @example
54
- * ```bash
55
- * cortex store list
56
- * cortex store list --format json
57
- * ```
58
- */
59
- export declare const listCommand: Command<[], {
60
- format: string;
61
- }, {}>;
62
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/store/commands/list.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAKxD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAClC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC5B,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,kBAAkB,EAC3B,IAAI,GAAE,eAAoB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;MASlB,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Unit tests for the store list command handler.
3
- *
4
- * @module cli/store/commands/list.spec
5
- */
6
- export {};
7
- //# sourceMappingURL=list.spec.d.ts.map