@schnick371/devsteps-shared 0.8.4 → 1.0.0-next.2

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 (148) hide show
  1. package/README.md +8 -3
  2. package/dist/constants/index.d.ts +26 -0
  3. package/dist/constants/index.d.ts.map +1 -1
  4. package/dist/constants/index.js +26 -0
  5. package/dist/constants/index.js.map +1 -1
  6. package/dist/core/add.d.ts +8 -1
  7. package/dist/core/add.d.ts.map +1 -1
  8. package/dist/core/add.js +17 -10
  9. package/dist/core/add.js.map +1 -1
  10. package/dist/core/archive.d.ts +9 -2
  11. package/dist/core/archive.d.ts.map +1 -1
  12. package/dist/core/archive.js +40 -30
  13. package/dist/core/archive.js.map +1 -1
  14. package/dist/core/auto-migrate-detect.d.ts +61 -0
  15. package/dist/core/auto-migrate-detect.d.ts.map +1 -0
  16. package/dist/core/auto-migrate-detect.js +68 -0
  17. package/dist/core/auto-migrate-detect.js.map +1 -0
  18. package/dist/core/auto-migrate-impl.d.ts +32 -0
  19. package/dist/core/auto-migrate-impl.d.ts.map +1 -0
  20. package/dist/core/auto-migrate-impl.js +120 -0
  21. package/dist/core/auto-migrate-impl.js.map +1 -0
  22. package/dist/core/auto-migrate.d.ts +16 -131
  23. package/dist/core/auto-migrate.d.ts.map +1 -1
  24. package/dist/core/auto-migrate.js +25 -318
  25. package/dist/core/auto-migrate.js.map +1 -1
  26. package/dist/core/auto-migrate.test.js +11 -7
  27. package/dist/core/auto-migrate.test.js.map +1 -1
  28. package/dist/core/bulk-update.d.ts +13 -6
  29. package/dist/core/bulk-update.d.ts.map +1 -1
  30. package/dist/core/bulk-update.js +19 -12
  31. package/dist/core/bulk-update.js.map +1 -1
  32. package/dist/core/config.d.ts +7 -0
  33. package/dist/core/config.d.ts.map +1 -1
  34. package/dist/core/config.js +7 -0
  35. package/dist/core/config.js.map +1 -1
  36. package/dist/core/context.d.ts +13 -4
  37. package/dist/core/context.d.ts.map +1 -1
  38. package/dist/core/context.js +22 -13
  39. package/dist/core/context.js.map +1 -1
  40. package/dist/core/get.d.ts +8 -1
  41. package/dist/core/get.d.ts.map +1 -1
  42. package/dist/core/get.js +12 -5
  43. package/dist/core/get.js.map +1 -1
  44. package/dist/core/index-rebuild.d.ts +3 -0
  45. package/dist/core/index-rebuild.d.ts.map +1 -1
  46. package/dist/core/index-rebuild.js +11 -8
  47. package/dist/core/index-rebuild.js.map +1 -1
  48. package/dist/core/index-rebuild.test.js +6 -15
  49. package/dist/core/index-rebuild.test.js.map +1 -1
  50. package/dist/core/index-refs-core.d.ts +114 -0
  51. package/dist/core/index-refs-core.d.ts.map +1 -0
  52. package/dist/core/index-refs-core.js +306 -0
  53. package/dist/core/index-refs-core.js.map +1 -0
  54. package/dist/core/index-refs.d.ts +9 -124
  55. package/dist/core/index-refs.d.ts.map +1 -1
  56. package/dist/core/index-refs.js +19 -345
  57. package/dist/core/index-refs.js.map +1 -1
  58. package/dist/core/index-refs.test.js +3 -3
  59. package/dist/core/index-refs.test.js.map +1 -1
  60. package/dist/core/index.d.ts +19 -10
  61. package/dist/core/index.d.ts.map +1 -1
  62. package/dist/core/index.js +19 -10
  63. package/dist/core/index.js.map +1 -1
  64. package/dist/core/link.d.ts +33 -0
  65. package/dist/core/link.d.ts.map +1 -0
  66. package/dist/core/link.js +102 -0
  67. package/dist/core/link.js.map +1 -0
  68. package/dist/core/list.d.ts +9 -1
  69. package/dist/core/list.d.ts.map +1 -1
  70. package/dist/core/list.js +92 -15
  71. package/dist/core/list.js.map +1 -1
  72. package/dist/core/unlink.d.ts +26 -0
  73. package/dist/core/unlink.d.ts.map +1 -0
  74. package/dist/core/unlink.js +78 -0
  75. package/dist/core/unlink.js.map +1 -0
  76. package/dist/core/update.d.ts +8 -1
  77. package/dist/core/update.d.ts.map +1 -1
  78. package/dist/core/update.js +23 -15
  79. package/dist/core/update.js.map +1 -1
  80. package/dist/core/validation.d.ts +26 -1
  81. package/dist/core/validation.d.ts.map +1 -1
  82. package/dist/core/validation.js +65 -4
  83. package/dist/core/validation.js.map +1 -1
  84. package/dist/index.d.ts +11 -4
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +11 -4
  87. package/dist/index.js.map +1 -1
  88. package/dist/schemas/analysis.d.ts +206 -0
  89. package/dist/schemas/analysis.d.ts.map +1 -0
  90. package/dist/schemas/analysis.js +138 -0
  91. package/dist/schemas/analysis.js.map +1 -0
  92. package/dist/schemas/cbp-loops.d.ts +154 -0
  93. package/dist/schemas/cbp-loops.d.ts.map +1 -0
  94. package/dist/schemas/cbp-loops.js +160 -0
  95. package/dist/schemas/cbp-loops.js.map +1 -0
  96. package/dist/schemas/cbp-loops.test.d.ts +10 -0
  97. package/dist/schemas/cbp-loops.test.d.ts.map +1 -0
  98. package/dist/schemas/cbp-loops.test.js +268 -0
  99. package/dist/schemas/cbp-loops.test.js.map +1 -0
  100. package/dist/schemas/cbp-mandate.d.ts +107 -0
  101. package/dist/schemas/cbp-mandate.d.ts.map +1 -0
  102. package/dist/schemas/cbp-mandate.js +107 -0
  103. package/dist/schemas/cbp-mandate.js.map +1 -0
  104. package/dist/schemas/cbp-mandate.test.d.ts +10 -0
  105. package/dist/schemas/cbp-mandate.test.d.ts.map +1 -0
  106. package/dist/schemas/cbp-mandate.test.js +188 -0
  107. package/dist/schemas/cbp-mandate.test.js.map +1 -0
  108. package/dist/schemas/index-refs.schema.d.ts +4 -1
  109. package/dist/schemas/index-refs.schema.d.ts.map +1 -1
  110. package/dist/schemas/index-refs.schema.js +24 -3
  111. package/dist/schemas/index-refs.schema.js.map +1 -1
  112. package/dist/schemas/index.d.ts +17 -7
  113. package/dist/schemas/index.d.ts.map +1 -1
  114. package/dist/schemas/index.js +14 -1
  115. package/dist/schemas/index.js.map +1 -1
  116. package/dist/schemas/project.d.ts +7 -0
  117. package/dist/schemas/project.d.ts.map +1 -1
  118. package/dist/schemas/project.js +7 -0
  119. package/dist/schemas/project.js.map +1 -1
  120. package/dist/schemas/relationships.d.ts +3 -0
  121. package/dist/schemas/relationships.d.ts.map +1 -1
  122. package/dist/schemas/relationships.js +3 -0
  123. package/dist/schemas/relationships.js.map +1 -1
  124. package/dist/types/commands.d.ts +7 -0
  125. package/dist/types/commands.d.ts.map +1 -1
  126. package/dist/types/commands.js +7 -0
  127. package/dist/types/commands.js.map +1 -1
  128. package/dist/types/index-refs.types.d.ts +3 -0
  129. package/dist/types/index-refs.types.d.ts.map +1 -1
  130. package/dist/types/index-refs.types.js +3 -0
  131. package/dist/types/index-refs.types.js.map +1 -1
  132. package/dist/types/index.d.ts +9 -1
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/dist/types/index.js +7 -0
  135. package/dist/types/index.js.map +1 -1
  136. package/dist/utils/cache.d.ts +7 -0
  137. package/dist/utils/cache.d.ts.map +1 -1
  138. package/dist/utils/cache.js +7 -0
  139. package/dist/utils/cache.js.map +1 -1
  140. package/dist/utils/index.d.ts +9 -1
  141. package/dist/utils/index.d.ts.map +1 -1
  142. package/dist/utils/index.js +26 -3
  143. package/dist/utils/index.js.map +1 -1
  144. package/dist/utils/init-helpers.d.ts +30 -0
  145. package/dist/utils/init-helpers.d.ts.map +1 -0
  146. package/dist/utils/init-helpers.js +134 -0
  147. package/dist/utils/init-helpers.js.map +1 -0
  148. package/package.json +1 -1
@@ -1,146 +1,31 @@
1
1
  /**
2
- * Refs-Style Index Core Operations
2
+ * Copyright © 2025 Thomas Hertel (the@devsteps.dev)
3
+ * Licensed under the Apache License, Version 2.0
3
4
  *
4
- * Git-inspired distributed index implementation with atomic operations
5
- * and consistency guarantees across all index files.
5
+ * Refs-Style Index — Public API
6
6
  *
7
- * Architecture:
8
- * - `.devsteps/index/by-type/*.json` - Type categorization
9
- * - `.devsteps/index/by-status/*.json` - Status filtering
10
- * - `.devsteps/index/by-priority/*.json` - Priority queries
11
- * - `.devsteps/index/counters.json` - ID generation state
12
- *
13
- * Benefits:
14
- * - Zero merge conflicts (separate files)
15
- * - Faster queries (load only needed index)
16
- * - Atomic updates per category
17
- * - Better scalability
7
+ * Re-exports setup + I/O primitives from index-refs-core.ts
8
+ * and provides synchronization operations that coordinate changes
9
+ * across multiple index dimensions (type, status, priority).
18
10
  *
19
11
  * @see EPIC-018 Index Architecture Refactoring
20
- * @see STORY-069 Foundation: Refs-Style Index Schema
21
12
  */
22
13
  import type { EisenhowerQuadrant, ItemMetadata, ItemStatus, ItemType } from '../schemas/index.js';
23
- import type { IndexPaths, RefsStyleIndex } from '../types/index-refs.types.js';
24
- /**
25
- * Get index directory paths for a DevSteps project
26
- */
27
- export declare function getIndexPaths(devstepsDir: string): IndexPaths;
28
- /**
29
- * Check if refs-style index structure exists
30
- */
31
- export declare function hasRefsStyleIndex(devstepsDir: string): boolean;
32
- /**
33
- * Check if legacy index.json exists (migration detection)
34
- */
35
- export declare function hasLegacyIndex(devstepsDir: string): boolean;
36
- /**
37
- * Initialize refs-style index directory structure
38
- *
39
- * Creates:
40
- * - .devsteps/index/by-type/
41
- * - .devsteps/index/by-status/
42
- * - .devsteps/index/by-priority/
43
- * - .devsteps/index/counters.json
44
- *
45
- * @param devstepsDir Path to .devsteps directory
46
- * @param initialCounters Optional initial counters (for migration)
47
- */
48
- export declare function initializeRefsStyleIndex(devstepsDir: string, initialCounters?: Record<string, number>): void;
49
- /**
50
- * Load index by item type
51
- *
52
- * @example
53
- * ```typescript
54
- * const taskIds = await loadIndexByType(devstepsDir, 'task');
55
- * // Returns: ['TASK-160', 'TASK-161', 'TASK-162']
56
- * ```
57
- */
58
- export declare function loadIndexByType(devstepsDir: string, type: ItemType): string[];
59
- /**
60
- * Load index by item status
61
- *
62
- * @example
63
- * ```typescript
64
- * const draftIds = await loadIndexByStatus(devstepsDir, 'draft');
65
- * // Returns: ['STORY-069', 'TASK-198', ...]
66
- * ```
67
- */
68
- export declare function loadIndexByStatus(devstepsDir: string, status: ItemStatus): string[];
14
+ export * from './index-refs-core.js';
69
15
  /**
70
- * Load index by priority (Eisenhower quadrant)
71
- *
72
- * @example
73
- * ```typescript
74
- * const urgentIds = await loadIndexByPriority(devstepsDir, 'urgent-important');
75
- * // Returns Q1 items
76
- * ```
77
- */
78
- export declare function loadIndexByPriority(devstepsDir: string, priority: EisenhowerQuadrant): string[];
79
- /**
80
- * Load all indexes into memory
81
- *
82
- * Useful for operations that need complete index access.
83
- * For most queries, prefer loading only the needed index.
84
- */
85
- export declare function loadAllIndexes(devstepsDir: string): RefsStyleIndex;
86
- /**
87
- * Load ID generation counters
88
- */
89
- export declare function loadCounters(devstepsDir: string): Record<string, number>;
90
- /**
91
- * Update type index
92
- *
93
- * @example
94
- * ```typescript
95
- * updateIndexByType(devstepsDir, 'task', ['TASK-160', 'TASK-161', 'TASK-162']);
96
- * ```
97
- */
98
- export declare function updateIndexByType(devstepsDir: string, type: ItemType, items: string[]): void;
99
- /**
100
- * Update status index
101
- */
102
- export declare function updateIndexByStatus(devstepsDir: string, status: ItemStatus, items: string[]): void;
103
- /**
104
- * Update priority index
105
- */
106
- export declare function updateIndexByPriority(devstepsDir: string, priority: EisenhowerQuadrant, items: string[]): void;
107
- /**
108
- * Update counters file
109
- */
110
- export declare function updateCounters(devstepsDir: string, counters: Record<string, number>): void;
111
- /**
112
- * Add item to all relevant indexes
113
- *
114
- * Ensures consistency: item appears in exactly one index per dimension
115
- *
116
- * @param devstepsDir Path to .devsteps directory
117
- * @param item Item metadata
16
+ * Add item to all relevant indexes (type, status, priority)
118
17
  */
119
18
  export declare function addItemToIndex(devstepsDir: string, item: ItemMetadata): void;
120
19
  /**
121
20
  * Remove item from all indexes
122
- *
123
- * @param devstepsDir Path to .devsteps directory
124
- * @param itemId Item ID to remove
125
- * @param type Item type (for efficient lookup)
126
- * @param status Item status (for efficient lookup)
127
- * @param priority Item priority (for efficient lookup)
128
21
  */
129
22
  export declare function removeItemFromIndex(devstepsDir: string, itemId: string, type?: ItemType, status?: ItemStatus, priority?: EisenhowerQuadrant): void;
130
23
  /**
131
- * Update item in indexes (when status/priority changes)
132
- *
133
- * @param devstepsDir Path to .devsteps directory
134
- * @param itemId Item ID
135
- * @param oldStatus Previous status (to remove from old index)
136
- * @param newStatus New status (to add to new index)
137
- * @param oldPriority Previous priority
138
- * @param newPriority New priority
24
+ * Update item in indexes when status/priority changes
139
25
  */
140
26
  export declare function updateItemInIndex(devstepsDir: string, itemId: string, oldStatus?: ItemStatus, newStatus?: ItemStatus, oldPriority?: EisenhowerQuadrant, newPriority?: EisenhowerQuadrant): void;
141
27
  /**
142
28
  * Load legacy index.json (for migration/fallback)
143
- *
144
29
  * @deprecated Use refs-style index operations instead
145
30
  */
146
31
  export declare function loadLegacyIndex(devstepsDir: string): {
@@ -1 +1 @@
1
- {"version":3,"file":"index-refs.d.ts","sourceRoot":"","sources":["../../src/core/index-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-refs.d.ts","sourceRoot":"","sources":["../../src/core/index-refs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAalG,cAAc,sBAAsB,CAAC;AAMrC;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CAS5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,QAAQ,EACf,MAAM,CAAC,EAAE,UAAU,EACnB,QAAQ,CAAC,EAAE,kBAAkB,GAC5B,IAAI,CA2BN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,kBAAkB,EAChC,WAAW,CAAC,EAAE,kBAAkB,GAC/B,IAAI,CAYN;AAMD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG;IACpD,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,UAAU,CAAC;QAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;KAAE,CAAC,CAAC;IAClG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAIA"}
@@ -1,329 +1,37 @@
1
1
  /**
2
- * Refs-Style Index Core Operations
2
+ * Copyright © 2025 Thomas Hertel (the@devsteps.dev)
3
+ * Licensed under the Apache License, Version 2.0
3
4
  *
4
- * Git-inspired distributed index implementation with atomic operations
5
- * and consistency guarantees across all index files.
5
+ * Refs-Style Index — Public API
6
6
  *
7
- * Architecture:
8
- * - `.devsteps/index/by-type/*.json` - Type categorization
9
- * - `.devsteps/index/by-status/*.json` - Status filtering
10
- * - `.devsteps/index/by-priority/*.json` - Priority queries
11
- * - `.devsteps/index/counters.json` - ID generation state
12
- *
13
- * Benefits:
14
- * - Zero merge conflicts (separate files)
15
- * - Faster queries (load only needed index)
16
- * - Atomic updates per category
17
- * - Better scalability
7
+ * Re-exports setup + I/O primitives from index-refs-core.ts
8
+ * and provides synchronization operations that coordinate changes
9
+ * across multiple index dimensions (type, status, priority).
18
10
  *
19
11
  * @see EPIC-018 Index Architecture Refactoring
20
- * @see STORY-069 Foundation: Refs-Style Index Schema
21
12
  */
22
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
23
- import { join } from 'node:path';
24
- import { CountersSchema, validateCategoryIndex, validateCounters, } from '../schemas/index-refs.schema.js';
13
+ import { existsSync, readFileSync } from 'node:fs';
25
14
  import { INDEX_FILENAMES } from '../types/index-refs.types.js';
26
- import { getCurrentTimestamp } from '../utils/index.js';
27
- /**
28
- * Get index directory paths for a DevSteps project
29
- */
30
- export function getIndexPaths(devstepsDir) {
31
- const indexRoot = join(devstepsDir, 'index');
32
- return {
33
- root: indexRoot,
34
- byType: join(indexRoot, 'by-type'),
35
- byStatus: join(indexRoot, 'by-status'),
36
- byPriority: join(indexRoot, 'by-priority'),
37
- counters: join(indexRoot, 'counters.json'),
38
- legacy: join(devstepsDir, 'index.json'),
39
- };
40
- }
41
- /**
42
- * Check if refs-style index structure exists
43
- */
44
- export function hasRefsStyleIndex(devstepsDir) {
45
- const paths = getIndexPaths(devstepsDir);
46
- return (existsSync(paths.root) &&
47
- existsSync(paths.byType) &&
48
- existsSync(paths.byStatus) &&
49
- existsSync(paths.byPriority) &&
50
- existsSync(paths.counters));
51
- }
52
- /**
53
- * Check if legacy index.json exists (migration detection)
54
- */
55
- export function hasLegacyIndex(devstepsDir) {
56
- const paths = getIndexPaths(devstepsDir);
57
- return existsSync(paths.legacy);
58
- }
59
- /**
60
- * Initialize refs-style index directory structure
61
- *
62
- * Creates:
63
- * - .devsteps/index/by-type/
64
- * - .devsteps/index/by-status/
65
- * - .devsteps/index/by-priority/
66
- * - .devsteps/index/counters.json
67
- *
68
- * @param devstepsDir Path to .devsteps directory
69
- * @param initialCounters Optional initial counters (for migration)
70
- */
71
- export function initializeRefsStyleIndex(devstepsDir, initialCounters = {}) {
72
- const paths = getIndexPaths(devstepsDir);
73
- // Create directory structure
74
- mkdirSync(paths.root, { recursive: true });
75
- mkdirSync(paths.byType, { recursive: true });
76
- mkdirSync(paths.byStatus, { recursive: true });
77
- mkdirSync(paths.byPriority, { recursive: true });
78
- // Initialize counters
79
- const counters = CountersSchema.parse(initialCounters);
80
- writeFileSync(paths.counters, JSON.stringify(counters, null, 2));
81
- // Create empty index files for all categories
82
- const now = getCurrentTimestamp();
83
- // Type indexes
84
- for (const [type, filename] of Object.entries(INDEX_FILENAMES.TYPE)) {
85
- const indexPath = join(paths.byType, filename);
86
- if (!existsSync(indexPath)) {
87
- const emptyIndex = {
88
- category: type,
89
- items: [],
90
- updated: now,
91
- };
92
- writeFileSync(indexPath, JSON.stringify(emptyIndex, null, 2));
93
- }
94
- }
95
- // Status indexes
96
- for (const [status, filename] of Object.entries(INDEX_FILENAMES.STATUS)) {
97
- const indexPath = join(paths.byStatus, filename);
98
- if (!existsSync(indexPath)) {
99
- const emptyIndex = {
100
- category: status,
101
- items: [],
102
- updated: now,
103
- };
104
- writeFileSync(indexPath, JSON.stringify(emptyIndex, null, 2));
105
- }
106
- }
107
- // Priority indexes
108
- for (const [priority, filename] of Object.entries(INDEX_FILENAMES.PRIORITY)) {
109
- const indexPath = join(paths.byPriority, filename);
110
- if (!existsSync(indexPath)) {
111
- const emptyIndex = {
112
- category: priority,
113
- items: [],
114
- updated: now,
115
- };
116
- writeFileSync(indexPath, JSON.stringify(emptyIndex, null, 2));
117
- }
118
- }
119
- }
120
- //=============================================================================
121
- // READ OPERATIONS
122
- //=============================================================================
123
- /**
124
- * Load single category index file
125
- *
126
- * @param filePath Absolute path to index file
127
- * @returns Category index or empty if file missing
128
- */
129
- function loadCategoryIndex(filePath) {
130
- if (!existsSync(filePath)) {
131
- return null;
132
- }
133
- try {
134
- const content = readFileSync(filePath, 'utf-8');
135
- const data = JSON.parse(content);
136
- return validateCategoryIndex(data);
137
- }
138
- catch (error) {
139
- throw new Error(`Failed to load index from ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
140
- }
141
- }
142
- /**
143
- * Load index by item type
144
- *
145
- * @example
146
- * ```typescript
147
- * const taskIds = await loadIndexByType(devstepsDir, 'task');
148
- * // Returns: ['TASK-160', 'TASK-161', 'TASK-162']
149
- * ```
150
- */
151
- export function loadIndexByType(devstepsDir, type) {
152
- const paths = getIndexPaths(devstepsDir);
153
- const filename = INDEX_FILENAMES.TYPE[type];
154
- const filePath = join(paths.byType, filename);
155
- const index = loadCategoryIndex(filePath);
156
- return index?.items ?? [];
157
- }
158
- /**
159
- * Load index by item status
160
- *
161
- * @example
162
- * ```typescript
163
- * const draftIds = await loadIndexByStatus(devstepsDir, 'draft');
164
- * // Returns: ['STORY-069', 'TASK-198', ...]
165
- * ```
166
- */
167
- export function loadIndexByStatus(devstepsDir, status) {
168
- const paths = getIndexPaths(devstepsDir);
169
- const filename = INDEX_FILENAMES.STATUS[status];
170
- const filePath = join(paths.byStatus, filename);
171
- const index = loadCategoryIndex(filePath);
172
- return index?.items ?? [];
173
- }
174
- /**
175
- * Load index by priority (Eisenhower quadrant)
176
- *
177
- * @example
178
- * ```typescript
179
- * const urgentIds = await loadIndexByPriority(devstepsDir, 'urgent-important');
180
- * // Returns Q1 items
181
- * ```
182
- */
183
- export function loadIndexByPriority(devstepsDir, priority) {
184
- const paths = getIndexPaths(devstepsDir);
185
- const filename = INDEX_FILENAMES.PRIORITY[priority];
186
- const filePath = join(paths.byPriority, filename);
187
- const index = loadCategoryIndex(filePath);
188
- return index?.items ?? [];
189
- }
190
- /**
191
- * Load all indexes into memory
192
- *
193
- * Useful for operations that need complete index access.
194
- * For most queries, prefer loading only the needed index.
195
- */
196
- export function loadAllIndexes(devstepsDir) {
197
- const paths = getIndexPaths(devstepsDir);
198
- // Load counters
199
- let counters = {};
200
- if (existsSync(paths.counters)) {
201
- const content = readFileSync(paths.counters, 'utf-8');
202
- counters = validateCounters(JSON.parse(content));
203
- }
204
- // Load type indexes
205
- const byType = new Map();
206
- for (const type of Object.keys(INDEX_FILENAMES.TYPE)) {
207
- byType.set(type, loadIndexByType(devstepsDir, type));
208
- }
209
- // Load status indexes
210
- const byStatus = new Map();
211
- for (const status of Object.keys(INDEX_FILENAMES.STATUS)) {
212
- byStatus.set(status, loadIndexByStatus(devstepsDir, status));
213
- }
214
- // Load priority indexes
215
- const byPriority = new Map();
216
- for (const priority of Object.keys(INDEX_FILENAMES.PRIORITY)) {
217
- byPriority.set(priority, loadIndexByPriority(devstepsDir, priority));
218
- }
219
- return {
220
- byType,
221
- byStatus,
222
- byPriority,
223
- counters,
224
- lastUpdated: getCurrentTimestamp(),
225
- };
226
- }
227
- /**
228
- * Load ID generation counters
229
- */
230
- export function loadCounters(devstepsDir) {
231
- const paths = getIndexPaths(devstepsDir);
232
- if (!existsSync(paths.counters)) {
233
- return {};
234
- }
235
- const content = readFileSync(paths.counters, 'utf-8');
236
- return validateCounters(JSON.parse(content));
237
- }
238
- //=============================================================================
239
- // WRITE OPERATIONS
240
- //=============================================================================
241
- /**
242
- * Save category index to file (atomic write)
243
- *
244
- * @param filePath Absolute path to index file
245
- * @param category Category name
246
- * @param items Array of item IDs
247
- */
248
- function saveCategoryIndex(filePath, category, items) {
249
- const index = {
250
- category,
251
- items,
252
- updated: getCurrentTimestamp(),
253
- };
254
- // Write directly (directory should already exist via update* functions)
255
- writeFileSync(filePath, JSON.stringify(index, null, 2));
256
- }
257
- /**
258
- * Update type index
259
- *
260
- * @example
261
- * ```typescript
262
- * updateIndexByType(devstepsDir, 'task', ['TASK-160', 'TASK-161', 'TASK-162']);
263
- * ```
264
- */
265
- export function updateIndexByType(devstepsDir, type, items) {
266
- const paths = getIndexPaths(devstepsDir);
267
- const filename = INDEX_FILENAMES.TYPE[type];
268
- const filePath = join(paths.byType, filename);
269
- // Ensure directory exists
270
- mkdirSync(paths.byType, { recursive: true });
271
- saveCategoryIndex(filePath, type, items);
272
- }
273
- /**
274
- * Update status index
275
- */
276
- export function updateIndexByStatus(devstepsDir, status, items) {
277
- const paths = getIndexPaths(devstepsDir);
278
- const filename = INDEX_FILENAMES.STATUS[status];
279
- const filePath = join(paths.byStatus, filename);
280
- mkdirSync(paths.byStatus, { recursive: true });
281
- saveCategoryIndex(filePath, status, items);
282
- }
283
- /**
284
- * Update priority index
285
- */
286
- export function updateIndexByPriority(devstepsDir, priority, items) {
287
- const paths = getIndexPaths(devstepsDir);
288
- const filename = INDEX_FILENAMES.PRIORITY[priority];
289
- const filePath = join(paths.byPriority, filename);
290
- mkdirSync(paths.byPriority, { recursive: true });
291
- saveCategoryIndex(filePath, priority, items);
292
- }
293
- /**
294
- * Update counters file
295
- */
296
- export function updateCounters(devstepsDir, counters) {
297
- const paths = getIndexPaths(devstepsDir);
298
- mkdirSync(paths.root, { recursive: true });
299
- const validated = validateCounters(counters);
300
- writeFileSync(paths.counters, JSON.stringify(validated, null, 2));
301
- }
15
+ import { getIndexPaths, loadIndexByPriority, loadIndexByStatus, loadIndexByType, updateIndexByPriority, updateIndexByStatus, updateIndexByType, } from './index-refs-core.js';
16
+ // Re-export all core I/O primitives for backward compatibility
17
+ export * from './index-refs-core.js';
302
18
  //=============================================================================
303
19
  // INDEX SYNCHRONIZATION
304
20
  //=============================================================================
305
21
  /**
306
- * Add item to all relevant indexes
307
- *
308
- * Ensures consistency: item appears in exactly one index per dimension
309
- *
310
- * @param devstepsDir Path to .devsteps directory
311
- * @param item Item metadata
22
+ * Add item to all relevant indexes (type, status, priority)
312
23
  */
313
24
  export function addItemToIndex(devstepsDir, item) {
314
- // Add to type index
315
25
  const typeItems = loadIndexByType(devstepsDir, item.type);
316
26
  if (!typeItems.includes(item.id)) {
317
27
  typeItems.push(item.id);
318
28
  updateIndexByType(devstepsDir, item.type, typeItems);
319
29
  }
320
- // Add to status index
321
30
  const statusItems = loadIndexByStatus(devstepsDir, item.status);
322
31
  if (!statusItems.includes(item.id)) {
323
32
  statusItems.push(item.id);
324
33
  updateIndexByStatus(devstepsDir, item.status, statusItems);
325
34
  }
326
- // Add to priority index
327
35
  const priorityItems = loadIndexByPriority(devstepsDir, item.eisenhower);
328
36
  if (!priorityItems.includes(item.id)) {
329
37
  priorityItems.push(item.id);
@@ -332,22 +40,12 @@ export function addItemToIndex(devstepsDir, item) {
332
40
  }
333
41
  /**
334
42
  * Remove item from all indexes
335
- *
336
- * @param devstepsDir Path to .devsteps directory
337
- * @param itemId Item ID to remove
338
- * @param type Item type (for efficient lookup)
339
- * @param status Item status (for efficient lookup)
340
- * @param priority Item priority (for efficient lookup)
341
43
  */
342
44
  export function removeItemFromIndex(devstepsDir, itemId, type, status, priority) {
343
- // Remove from type index
344
45
  if (type) {
345
- const typeItems = loadIndexByType(devstepsDir, type);
346
- const filtered = typeItems.filter((id) => id !== itemId);
347
- updateIndexByType(devstepsDir, type, filtered);
46
+ updateIndexByType(devstepsDir, type, loadIndexByType(devstepsDir, type).filter((id) => id !== itemId));
348
47
  }
349
48
  else {
350
- // Fallback: search all type indexes
351
49
  for (const t of Object.keys(INDEX_FILENAMES.TYPE)) {
352
50
  const items = loadIndexByType(devstepsDir, t);
353
51
  if (items.includes(itemId)) {
@@ -356,11 +54,8 @@ export function removeItemFromIndex(devstepsDir, itemId, type, status, priority)
356
54
  }
357
55
  }
358
56
  }
359
- // Remove from status index
360
57
  if (status) {
361
- const statusItems = loadIndexByStatus(devstepsDir, status);
362
- const filtered = statusItems.filter((id) => id !== itemId);
363
- updateIndexByStatus(devstepsDir, status, filtered);
58
+ updateIndexByStatus(devstepsDir, status, loadIndexByStatus(devstepsDir, status).filter((id) => id !== itemId));
364
59
  }
365
60
  else {
366
61
  for (const s of Object.keys(INDEX_FILENAMES.STATUS)) {
@@ -371,11 +66,8 @@ export function removeItemFromIndex(devstepsDir, itemId, type, status, priority)
371
66
  }
372
67
  }
373
68
  }
374
- // Remove from priority index
375
69
  if (priority) {
376
- const priorityItems = loadIndexByPriority(devstepsDir, priority);
377
- const filtered = priorityItems.filter((id) => id !== itemId);
378
- updateIndexByPriority(devstepsDir, priority, filtered);
70
+ updateIndexByPriority(devstepsDir, priority, loadIndexByPriority(devstepsDir, priority).filter((id) => id !== itemId));
379
71
  }
380
72
  else {
381
73
  for (const p of Object.keys(INDEX_FILENAMES.PRIORITY)) {
@@ -388,34 +80,19 @@ export function removeItemFromIndex(devstepsDir, itemId, type, status, priority)
388
80
  }
389
81
  }
390
82
  /**
391
- * Update item in indexes (when status/priority changes)
392
- *
393
- * @param devstepsDir Path to .devsteps directory
394
- * @param itemId Item ID
395
- * @param oldStatus Previous status (to remove from old index)
396
- * @param newStatus New status (to add to new index)
397
- * @param oldPriority Previous priority
398
- * @param newPriority New priority
83
+ * Update item in indexes when status/priority changes
399
84
  */
400
85
  export function updateItemInIndex(devstepsDir, itemId, oldStatus, newStatus, oldPriority, newPriority) {
401
- // Update status index
402
86
  if (oldStatus && newStatus && oldStatus !== newStatus) {
403
- // Remove from old status
404
- const oldItems = loadIndexByStatus(devstepsDir, oldStatus);
405
- updateIndexByStatus(devstepsDir, oldStatus, oldItems.filter((id) => id !== itemId));
406
- // Add to new status
87
+ updateIndexByStatus(devstepsDir, oldStatus, loadIndexByStatus(devstepsDir, oldStatus).filter((id) => id !== itemId));
407
88
  const newItems = loadIndexByStatus(devstepsDir, newStatus);
408
89
  if (!newItems.includes(itemId)) {
409
90
  newItems.push(itemId);
410
91
  updateIndexByStatus(devstepsDir, newStatus, newItems);
411
92
  }
412
93
  }
413
- // Update priority index
414
94
  if (oldPriority && newPriority && oldPriority !== newPriority) {
415
- // Remove from old priority
416
- const oldItems = loadIndexByPriority(devstepsDir, oldPriority);
417
- updateIndexByPriority(devstepsDir, oldPriority, oldItems.filter((id) => id !== itemId));
418
- // Add to new priority
95
+ updateIndexByPriority(devstepsDir, oldPriority, loadIndexByPriority(devstepsDir, oldPriority).filter((id) => id !== itemId));
419
96
  const newItems = loadIndexByPriority(devstepsDir, newPriority);
420
97
  if (!newItems.includes(itemId)) {
421
98
  newItems.push(itemId);
@@ -428,15 +105,12 @@ export function updateItemInIndex(devstepsDir, itemId, oldStatus, newStatus, old
428
105
  //=============================================================================
429
106
  /**
430
107
  * Load legacy index.json (for migration/fallback)
431
- *
432
108
  * @deprecated Use refs-style index operations instead
433
109
  */
434
110
  export function loadLegacyIndex(devstepsDir) {
435
111
  const paths = getIndexPaths(devstepsDir);
436
- if (!existsSync(paths.legacy)) {
112
+ if (!existsSync(paths.legacy))
437
113
  throw new Error('Legacy index.json not found');
438
- }
439
- const content = readFileSync(paths.legacy, 'utf-8');
440
- return JSON.parse(content);
114
+ return JSON.parse(readFileSync(paths.legacy, 'utf-8'));
441
115
  }
442
116
  //# sourceMappingURL=index-refs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-refs.js","sourceRoot":"","sources":["../../src/core/index-refs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index-refs.js","sourceRoot":"","sources":["../../src/core/index-refs.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  *
4
4
  * @see STORY-069 Foundation: Refs-Style Index Schema & Core Operations
5
5
  */
6
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
7
- import { mkdirSync, rmSync, existsSync } from 'node:fs';
6
+ import { existsSync, mkdirSync, rmSync } from 'node:fs';
8
7
  import { tmpdir } from 'node:os';
9
8
  import { join } from 'node:path';
10
- import { getIndexPaths, hasRefsStyleIndex, hasLegacyIndex, initializeRefsStyleIndex, loadIndexByType, loadIndexByStatus, loadIndexByPriority, loadAllIndexes, loadCounters, updateIndexByType, updateIndexByStatus, updateIndexByPriority, updateCounters, addItemToIndex, removeItemFromIndex, updateItemInIndex, } from './index-refs.js';
9
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
10
+ import { addItemToIndex, getIndexPaths, hasLegacyIndex, hasRefsStyleIndex, initializeRefsStyleIndex, loadAllIndexes, loadCounters, loadIndexByPriority, loadIndexByStatus, loadIndexByType, removeItemFromIndex, updateCounters, updateIndexByPriority, updateIndexByStatus, updateIndexByType, updateItemInIndex, } from './index-refs.js';
11
11
  describe('Refs-Style Index Operations', () => {
12
12
  let testDir;
13
13
  let devstepsDir;