@soleri/core 9.5.0 → 9.6.0

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 (192) hide show
  1. package/dist/adapters/claude-code-adapter.d.ts +27 -0
  2. package/dist/adapters/claude-code-adapter.d.ts.map +1 -0
  3. package/dist/adapters/claude-code-adapter.js +111 -0
  4. package/dist/adapters/claude-code-adapter.js.map +1 -0
  5. package/dist/adapters/index.d.ts +9 -0
  6. package/dist/adapters/index.d.ts.map +1 -0
  7. package/dist/adapters/index.js +10 -0
  8. package/dist/adapters/index.js.map +1 -0
  9. package/dist/adapters/registry.d.ts +21 -0
  10. package/dist/adapters/registry.d.ts.map +1 -0
  11. package/dist/adapters/registry.js +44 -0
  12. package/dist/adapters/registry.js.map +1 -0
  13. package/dist/adapters/types.d.ts +93 -0
  14. package/dist/adapters/types.d.ts.map +1 -0
  15. package/dist/adapters/types.js +10 -0
  16. package/dist/adapters/types.js.map +1 -0
  17. package/dist/brain/brain.d.ts +12 -1
  18. package/dist/brain/brain.d.ts.map +1 -1
  19. package/dist/brain/brain.js +106 -44
  20. package/dist/brain/brain.js.map +1 -1
  21. package/dist/brain/intelligence.d.ts.map +1 -1
  22. package/dist/brain/intelligence.js +36 -30
  23. package/dist/brain/intelligence.js.map +1 -1
  24. package/dist/chat/agent-loop.js +1 -1
  25. package/dist/chat/agent-loop.js.map +1 -1
  26. package/dist/chat/notifications.d.ts.map +1 -1
  27. package/dist/chat/notifications.js +4 -0
  28. package/dist/chat/notifications.js.map +1 -1
  29. package/dist/control/intent-router.d.ts +1 -0
  30. package/dist/control/intent-router.d.ts.map +1 -1
  31. package/dist/control/intent-router.js +11 -5
  32. package/dist/control/intent-router.js.map +1 -1
  33. package/dist/curator/curator.d.ts +4 -0
  34. package/dist/curator/curator.d.ts.map +1 -1
  35. package/dist/curator/curator.js +141 -27
  36. package/dist/curator/curator.js.map +1 -1
  37. package/dist/index.d.ts +14 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +12 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/llm/llm-client.d.ts.map +1 -1
  42. package/dist/llm/llm-client.js +1 -0
  43. package/dist/llm/llm-client.js.map +1 -1
  44. package/dist/packs/index.d.ts +3 -2
  45. package/dist/packs/index.d.ts.map +1 -1
  46. package/dist/packs/index.js +3 -2
  47. package/dist/packs/index.js.map +1 -1
  48. package/dist/packs/lockfile.d.ts +23 -1
  49. package/dist/packs/lockfile.d.ts.map +1 -1
  50. package/dist/packs/lockfile.js +50 -4
  51. package/dist/packs/lockfile.js.map +1 -1
  52. package/dist/packs/pack-installer.d.ts +10 -0
  53. package/dist/packs/pack-installer.d.ts.map +1 -1
  54. package/dist/packs/pack-installer.js +69 -2
  55. package/dist/packs/pack-installer.js.map +1 -1
  56. package/dist/packs/pack-lifecycle.d.ts +50 -0
  57. package/dist/packs/pack-lifecycle.d.ts.map +1 -0
  58. package/dist/packs/pack-lifecycle.js +91 -0
  59. package/dist/packs/pack-lifecycle.js.map +1 -0
  60. package/dist/packs/types.d.ts +64 -44
  61. package/dist/packs/types.d.ts.map +1 -1
  62. package/dist/packs/types.js +9 -0
  63. package/dist/packs/types.js.map +1 -1
  64. package/dist/persistence/sqlite-provider.d.ts +5 -1
  65. package/dist/persistence/sqlite-provider.d.ts.map +1 -1
  66. package/dist/persistence/sqlite-provider.js +22 -2
  67. package/dist/persistence/sqlite-provider.js.map +1 -1
  68. package/dist/planning/github-projection.d.ts +8 -8
  69. package/dist/planning/github-projection.d.ts.map +1 -1
  70. package/dist/planning/github-projection.js +42 -42
  71. package/dist/planning/github-projection.js.map +1 -1
  72. package/dist/plugins/types.d.ts +21 -21
  73. package/dist/queue/pipeline-runner.d.ts.map +1 -1
  74. package/dist/queue/pipeline-runner.js +4 -0
  75. package/dist/queue/pipeline-runner.js.map +1 -1
  76. package/dist/runtime/curator-extra-ops.d.ts.map +1 -1
  77. package/dist/runtime/curator-extra-ops.js +9 -1
  78. package/dist/runtime/curator-extra-ops.js.map +1 -1
  79. package/dist/runtime/facades/memory-facade.d.ts.map +1 -1
  80. package/dist/runtime/facades/memory-facade.js +169 -0
  81. package/dist/runtime/facades/memory-facade.js.map +1 -1
  82. package/dist/runtime/orchestrate-ops.d.ts.map +1 -1
  83. package/dist/runtime/orchestrate-ops.js +133 -4
  84. package/dist/runtime/orchestrate-ops.js.map +1 -1
  85. package/dist/runtime/runtime.d.ts.map +1 -1
  86. package/dist/runtime/runtime.js +128 -90
  87. package/dist/runtime/runtime.js.map +1 -1
  88. package/dist/runtime/session-briefing.d.ts.map +1 -1
  89. package/dist/runtime/session-briefing.js +44 -11
  90. package/dist/runtime/session-briefing.js.map +1 -1
  91. package/dist/runtime/shutdown-registry.d.ts +36 -0
  92. package/dist/runtime/shutdown-registry.d.ts.map +1 -0
  93. package/dist/runtime/shutdown-registry.js +74 -0
  94. package/dist/runtime/shutdown-registry.js.map +1 -0
  95. package/dist/runtime/types.d.ts +10 -1
  96. package/dist/runtime/types.d.ts.map +1 -1
  97. package/dist/subagent/concurrency-manager.d.ts +29 -0
  98. package/dist/subagent/concurrency-manager.d.ts.map +1 -0
  99. package/dist/subagent/concurrency-manager.js +73 -0
  100. package/dist/subagent/concurrency-manager.js.map +1 -0
  101. package/dist/subagent/dispatcher.d.ts +41 -0
  102. package/dist/subagent/dispatcher.d.ts.map +1 -0
  103. package/dist/subagent/dispatcher.js +259 -0
  104. package/dist/subagent/dispatcher.js.map +1 -0
  105. package/dist/subagent/index.d.ts +14 -0
  106. package/dist/subagent/index.d.ts.map +1 -0
  107. package/dist/subagent/index.js +15 -0
  108. package/dist/subagent/index.js.map +1 -0
  109. package/dist/subagent/orphan-reaper.d.ts +37 -0
  110. package/dist/subagent/orphan-reaper.d.ts.map +1 -0
  111. package/dist/subagent/orphan-reaper.js +71 -0
  112. package/dist/subagent/orphan-reaper.js.map +1 -0
  113. package/dist/subagent/result-aggregator.d.ts +7 -0
  114. package/dist/subagent/result-aggregator.d.ts.map +1 -0
  115. package/dist/subagent/result-aggregator.js +57 -0
  116. package/dist/subagent/result-aggregator.js.map +1 -0
  117. package/dist/subagent/task-checkout.d.ts +36 -0
  118. package/dist/subagent/task-checkout.d.ts.map +1 -0
  119. package/dist/subagent/task-checkout.js +52 -0
  120. package/dist/subagent/task-checkout.js.map +1 -0
  121. package/dist/subagent/types.d.ts +114 -0
  122. package/dist/subagent/types.d.ts.map +1 -0
  123. package/dist/subagent/types.js +9 -0
  124. package/dist/subagent/types.js.map +1 -0
  125. package/dist/subagent/workspace-resolver.d.ts +35 -0
  126. package/dist/subagent/workspace-resolver.d.ts.map +1 -0
  127. package/dist/subagent/workspace-resolver.js +99 -0
  128. package/dist/subagent/workspace-resolver.js.map +1 -0
  129. package/dist/transport/http-server.d.ts.map +1 -1
  130. package/dist/transport/http-server.js +49 -3
  131. package/dist/transport/http-server.js.map +1 -1
  132. package/dist/transport/ws-server.d.ts.map +1 -1
  133. package/dist/transport/ws-server.js +7 -0
  134. package/dist/transport/ws-server.js.map +1 -1
  135. package/dist/vault/linking.d.ts +3 -4
  136. package/dist/vault/linking.d.ts.map +1 -1
  137. package/dist/vault/linking.js +79 -32
  138. package/dist/vault/linking.js.map +1 -1
  139. package/dist/vault/vault-maintenance.d.ts.map +1 -1
  140. package/dist/vault/vault-maintenance.js +7 -14
  141. package/dist/vault/vault-maintenance.js.map +1 -1
  142. package/dist/vault/vault-memories.d.ts.map +1 -1
  143. package/dist/vault/vault-memories.js +19 -9
  144. package/dist/vault/vault-memories.js.map +1 -1
  145. package/dist/vault/vault-schema.d.ts +1 -0
  146. package/dist/vault/vault-schema.d.ts.map +1 -1
  147. package/dist/vault/vault-schema.js +20 -0
  148. package/dist/vault/vault-schema.js.map +1 -1
  149. package/dist/vault/vault.d.ts.map +1 -1
  150. package/dist/vault/vault.js +7 -3
  151. package/dist/vault/vault.js.map +1 -1
  152. package/package.json +8 -2
  153. package/src/__tests__/adapters/claude-code-adapter.test.ts +167 -0
  154. package/src/__tests__/adapters/registry.test.ts +100 -0
  155. package/src/__tests__/packs/pack-lifecycle.test.ts +379 -0
  156. package/src/__tests__/subagent/concurrency-manager.test.ts +132 -0
  157. package/src/__tests__/subagent/dispatcher.test.ts +195 -0
  158. package/src/__tests__/subagent/orphan-reaper.test.ts +141 -0
  159. package/src/__tests__/subagent/result-aggregator.test.ts +141 -0
  160. package/src/__tests__/subagent/task-checkout.test.ts +86 -0
  161. package/src/__tests__/subagent/workspace-resolver.test.ts +138 -0
  162. package/src/adapters/claude-code-adapter.ts +163 -0
  163. package/src/adapters/index.ts +22 -0
  164. package/src/adapters/registry.ts +53 -0
  165. package/src/adapters/types.ts +114 -0
  166. package/src/curator/curator.ts +1 -0
  167. package/src/index.ts +38 -1
  168. package/src/packs/index.ts +5 -1
  169. package/src/packs/lockfile.ts +70 -5
  170. package/src/packs/pack-installer.ts +78 -2
  171. package/src/packs/pack-lifecycle.ts +115 -0
  172. package/src/packs/pack-lockfile.test.ts +1 -1
  173. package/src/packs/pack-system.test.ts +1 -1
  174. package/src/packs/types.ts +40 -2
  175. package/src/persistence/sqlite-provider.ts +26 -2
  176. package/src/runtime/admin-setup-ops.test.ts +9 -4
  177. package/src/runtime/orchestrate-ops.ts +153 -1
  178. package/src/runtime/runtime.ts +15 -0
  179. package/src/runtime/session-briefing.test.ts +94 -2
  180. package/src/runtime/session-briefing.ts +48 -12
  181. package/src/runtime/types.ts +6 -0
  182. package/src/subagent/concurrency-manager.ts +89 -0
  183. package/src/subagent/dispatcher.ts +326 -0
  184. package/src/subagent/index.ts +28 -0
  185. package/src/subagent/orphan-reaper.ts +82 -0
  186. package/src/subagent/result-aggregator.ts +66 -0
  187. package/src/subagent/task-checkout.ts +60 -0
  188. package/src/subagent/types.ts +138 -0
  189. package/src/subagent/workspace-resolver.ts +117 -0
  190. package/src/vault/vault-scaling.test.ts +3 -2
  191. package/vitest.config.ts +2 -0
  192. package/src/hooks/index.ts +0 -6
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Pack Lifecycle Manager — Central state machine for pack lifecycle management.
3
+ *
4
+ * Manages in-memory pack states, validates transitions against VALID_TRANSITIONS,
5
+ * records transition history, and notifies listeners on state changes.
6
+ */
7
+ import type { PackState, PackTransition } from './types.js';
8
+ type TransitionListener = (packId: string, from: PackState, to: PackState, reason?: string) => void;
9
+ export declare class PackLifecycleManager {
10
+ private packs;
11
+ private listeners;
12
+ /**
13
+ * Transition a pack to a new state. Validates against VALID_TRANSITIONS.
14
+ * Throws a descriptive error if the transition is not allowed.
15
+ */
16
+ transition(packId: string, to: PackState, reason?: string): void;
17
+ /**
18
+ * Set initial state without transition validation (for loading from lockfile).
19
+ */
20
+ initState(packId: string, state: PackState): void;
21
+ /**
22
+ * Returns current state of a pack, or undefined if not tracked.
23
+ */
24
+ getState(packId: string): PackState | undefined;
25
+ /**
26
+ * Returns the full transition history for a pack.
27
+ */
28
+ getTransitions(packId: string): PackTransition[];
29
+ /**
30
+ * Register a listener for state transitions. Returns an unsubscribe function.
31
+ */
32
+ onTransition(callback: TransitionListener): () => void;
33
+ /**
34
+ * Remove a pack from tracking entirely.
35
+ */
36
+ remove(packId: string): void;
37
+ /**
38
+ * List all tracked packs with their current state.
39
+ */
40
+ listAll(): Array<{
41
+ packId: string;
42
+ state: PackState;
43
+ }>;
44
+ /**
45
+ * Clear all tracked state and listeners.
46
+ */
47
+ reset(): void;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=pack-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-lifecycle.d.ts","sourceRoot":"","sources":["../../src/packs/pack-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5D,KAAK,kBAAkB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAOpG,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,SAAS,CAAiC;IAElD;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IA8BhE;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI;IAIjD;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI/C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,EAAE;IAIhD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAUtD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,OAAO,IAAI,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,CAAC;IAQtD;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Pack Lifecycle Manager — Central state machine for pack lifecycle management.
3
+ *
4
+ * Manages in-memory pack states, validates transitions against VALID_TRANSITIONS,
5
+ * records transition history, and notifies listeners on state changes.
6
+ */
7
+ import { VALID_TRANSITIONS } from './types.js';
8
+ export class PackLifecycleManager {
9
+ packs = new Map();
10
+ listeners = [];
11
+ /**
12
+ * Transition a pack to a new state. Validates against VALID_TRANSITIONS.
13
+ * Throws a descriptive error if the transition is not allowed.
14
+ */
15
+ transition(packId, to, reason) {
16
+ const entry = this.packs.get(packId);
17
+ if (!entry) {
18
+ throw new Error(`Pack '${packId}' is not being tracked`);
19
+ }
20
+ const currentState = entry.state;
21
+ const validTargets = VALID_TRANSITIONS[currentState];
22
+ if (!validTargets.includes(to)) {
23
+ throw new Error(`Invalid pack lifecycle transition for '${packId}': '${currentState}' \u2192 '${to}'. Valid targets from '${currentState}': ${validTargets.join(', ')}`);
24
+ }
25
+ const transition = {
26
+ from: currentState,
27
+ to,
28
+ timestamp: Date.now(),
29
+ reason,
30
+ };
31
+ entry.state = to;
32
+ entry.transitions.push(transition);
33
+ for (const listener of this.listeners) {
34
+ listener(packId, currentState, to, reason);
35
+ }
36
+ }
37
+ /**
38
+ * Set initial state without transition validation (for loading from lockfile).
39
+ */
40
+ initState(packId, state) {
41
+ this.packs.set(packId, { state, transitions: [] });
42
+ }
43
+ /**
44
+ * Returns current state of a pack, or undefined if not tracked.
45
+ */
46
+ getState(packId) {
47
+ return this.packs.get(packId)?.state;
48
+ }
49
+ /**
50
+ * Returns the full transition history for a pack.
51
+ */
52
+ getTransitions(packId) {
53
+ return this.packs.get(packId)?.transitions ?? [];
54
+ }
55
+ /**
56
+ * Register a listener for state transitions. Returns an unsubscribe function.
57
+ */
58
+ onTransition(callback) {
59
+ this.listeners.push(callback);
60
+ return () => {
61
+ const idx = this.listeners.indexOf(callback);
62
+ if (idx !== -1) {
63
+ this.listeners.splice(idx, 1);
64
+ }
65
+ };
66
+ }
67
+ /**
68
+ * Remove a pack from tracking entirely.
69
+ */
70
+ remove(packId) {
71
+ this.packs.delete(packId);
72
+ }
73
+ /**
74
+ * List all tracked packs with their current state.
75
+ */
76
+ listAll() {
77
+ const result = [];
78
+ for (const [packId, entry] of this.packs) {
79
+ result.push({ packId, state: entry.state });
80
+ }
81
+ return result;
82
+ }
83
+ /**
84
+ * Clear all tracked state and listeners.
85
+ */
86
+ reset() {
87
+ this.packs.clear();
88
+ this.listeners.length = 0;
89
+ }
90
+ }
91
+ //# sourceMappingURL=pack-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-lifecycle.js","sourceRoot":"","sources":["../../src/packs/pack-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -41,15 +41,15 @@ export declare const packManifestSchema: z.ZodObject<{
41
41
  depends: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
42
42
  knowledge: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString, "many">>>;
43
43
  }, "strip", z.ZodTypeAny, {
44
- knowledge: string[];
45
- id: string;
46
44
  description: string;
47
- depends: string[];
45
+ id: string;
46
+ knowledge: string[];
48
47
  requires: string[];
49
48
  provides: string[];
49
+ depends: string[];
50
50
  }, {
51
- id: string;
52
51
  description: string;
52
+ id: string;
53
53
  requires: string[];
54
54
  provides: string[];
55
55
  knowledge?: string[] | undefined;
@@ -64,28 +64,28 @@ export declare const packManifestSchema: z.ZodObject<{
64
64
  description: z.ZodDefault<z.ZodOptional<z.ZodString>>;
65
65
  auth: z.ZodDefault<z.ZodOptional<z.ZodEnum<["read", "write", "admin"]>>>;
66
66
  }, "strip", z.ZodTypeAny, {
67
- description: string;
68
67
  name: string;
69
- auth: "read" | "write" | "admin";
68
+ description: string;
69
+ auth: "admin" | "read" | "write";
70
70
  }, {
71
71
  name: string;
72
72
  description?: string | undefined;
73
- auth?: "read" | "write" | "admin" | undefined;
73
+ auth?: "admin" | "read" | "write" | undefined;
74
74
  }>, "many">;
75
75
  }, "strip", z.ZodTypeAny, {
76
- description: string;
77
76
  name: string;
77
+ description: string;
78
78
  ops: {
79
- description: string;
80
79
  name: string;
81
- auth: "read" | "write" | "admin";
80
+ description: string;
81
+ auth: "admin" | "read" | "write";
82
82
  }[];
83
83
  }, {
84
84
  name: string;
85
85
  ops: {
86
86
  name: string;
87
87
  description?: string | undefined;
88
- auth?: "read" | "write" | "admin" | undefined;
88
+ auth?: "admin" | "read" | "write" | undefined;
89
89
  }[];
90
90
  description?: string | undefined;
91
91
  }>, "many">>>;
@@ -117,30 +117,30 @@ export declare const packManifestSchema: z.ZodObject<{
117
117
  dir?: string | undefined;
118
118
  }>>;
119
119
  }, "strip", z.ZodTypeAny, {
120
- domains: string[];
121
120
  version: string;
122
- id: string;
123
- description: string;
124
- tier: "default" | "community" | "premium";
125
121
  name: string;
126
- capabilities: {
127
- knowledge: string[];
128
- id: string;
129
- description: string;
130
- depends: string[];
131
- requires: string[];
132
- provides: string[];
133
- }[];
134
- dependencies: string[];
122
+ domains: string[];
123
+ tier: "default" | "community" | "premium";
124
+ description: string;
125
+ id: string;
135
126
  facades: {
136
- description: string;
137
127
  name: string;
128
+ description: string;
138
129
  ops: {
139
- description: string;
140
130
  name: string;
141
- auth: "read" | "write" | "admin";
131
+ description: string;
132
+ auth: "admin" | "read" | "write";
142
133
  }[];
143
134
  }[];
135
+ dependencies: string[];
136
+ capabilities: {
137
+ description: string;
138
+ id: string;
139
+ knowledge: string[];
140
+ requires: string[];
141
+ provides: string[];
142
+ depends: string[];
143
+ }[];
144
144
  vault?: {
145
145
  dir: string;
146
146
  } | undefined;
@@ -153,47 +153,59 @@ export declare const packManifestSchema: z.ZodObject<{
153
153
  } | undefined;
154
154
  }, {
155
155
  version: string;
156
- id: string;
157
156
  name: string;
158
- domains?: string[] | undefined;
159
- description?: string | undefined;
160
- tier?: "default" | "community" | "premium" | undefined;
157
+ id: string;
161
158
  vault?: {
162
159
  dir?: string | undefined;
163
160
  } | undefined;
164
- capabilities?: {
165
- id: string;
166
- description: string;
167
- requires: string[];
168
- provides: string[];
169
- knowledge?: string[] | undefined;
170
- depends?: string[] | undefined;
171
- }[] | undefined;
172
- dependencies?: string[] | undefined;
161
+ domains?: string[] | undefined;
162
+ engine?: string | undefined;
163
+ tier?: "default" | "community" | "premium" | undefined;
164
+ description?: string | undefined;
173
165
  facades?: {
174
166
  name: string;
175
167
  ops: {
176
168
  name: string;
177
169
  description?: string | undefined;
178
- auth?: "read" | "write" | "admin" | undefined;
170
+ auth?: "admin" | "read" | "write" | undefined;
179
171
  }[];
180
172
  description?: string | undefined;
181
173
  }[] | undefined;
182
- engine?: string | undefined;
183
174
  skills?: {
184
175
  dir?: string | undefined;
185
176
  } | undefined;
177
+ dependencies?: string[] | undefined;
178
+ capabilities?: {
179
+ description: string;
180
+ id: string;
181
+ requires: string[];
182
+ provides: string[];
183
+ knowledge?: string[] | undefined;
184
+ depends?: string[] | undefined;
185
+ }[] | undefined;
186
186
  hooks?: {
187
187
  dir?: string | undefined;
188
188
  } | undefined;
189
189
  }>;
190
190
  export type PackManifest = z.infer<typeof packManifestSchema>;
191
- export type PackStatus = 'installed' | 'error' | 'uninstalled';
191
+ /** Full lifecycle state for a pack */
192
+ export type PackState = 'installed' | 'ready' | 'disabled' | 'error' | 'upgrade_pending' | 'uninstalled';
193
+ /** @deprecated Use PackState instead */
194
+ export type PackStatus = PackState;
195
+ /** Valid state transitions — key is "from" state, values are allowed "to" states */
196
+ export declare const VALID_TRANSITIONS: Record<PackState, PackState[]>;
197
+ /** A recorded state transition */
198
+ export interface PackTransition {
199
+ from: PackState;
200
+ to: PackState;
201
+ timestamp: number;
202
+ reason?: string;
203
+ }
192
204
  export interface InstalledPack {
193
205
  id: string;
194
206
  manifest: PackManifest;
195
207
  directory: string;
196
- status: PackStatus;
208
+ status: PackState;
197
209
  error?: string;
198
210
  /** Number of vault entries seeded */
199
211
  vaultEntries: number;
@@ -204,6 +216,14 @@ export interface InstalledPack {
204
216
  /** Whether facades were registered via plugin system */
205
217
  facadesRegistered: boolean;
206
218
  installedAt: number;
219
+ /** Lifecycle transition history (most recent last) */
220
+ transitions?: PackTransition[];
221
+ /** When the pack was disabled (if in disabled state) */
222
+ disabledAt?: number;
223
+ /** Error message (if in error state) */
224
+ errorMessage?: string;
225
+ /** Version available for upgrade (if in upgrade_pending state) */
226
+ upgradeVersion?: string;
207
227
  }
208
228
  export interface InstallResult {
209
229
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/packs/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,UAAU,8CAA+C,CAAC;AACvE,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;;;IAK7B,iHAAiH;;IAEjH,+BAA+B;;IAE/B,qDAAqD;;IAErD,yCAAyC;;IAEzC,wEAAwE;;;;;;;;;;;;;;;;;;;;;;;IAmBxE,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBnD,0BAA0B;;QAGtB,0EAA0E;;;;;;;IAI9E,2BAA2B;;QAGvB,iEAAiE;;;;;;;IAIrE,0BAA0B;;QAGtB,+DAA+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAInE,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;AAE/D,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB;IACvB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wDAAwD;IACxD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,wCAAwC;IACxC,MAAM,CAAC,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/packs/types.ts"],"names":[],"mappings":"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"}
@@ -86,4 +86,13 @@ export const packManifestSchema = z.object({
86
86
  })
87
87
  .optional(),
88
88
  });
89
+ /** Valid state transitions — key is "from" state, values are allowed "to" states */
90
+ export const VALID_TRANSITIONS = {
91
+ installed: ['ready', 'error', 'uninstalled'],
92
+ ready: ['ready', 'disabled', 'error', 'upgrade_pending', 'uninstalled'],
93
+ disabled: ['ready', 'uninstalled'],
94
+ error: ['ready', 'uninstalled'],
95
+ upgrade_pending: ['ready', 'error', 'uninstalled'],
96
+ uninstalled: ['installed'],
97
+ };
89
98
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/packs/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/packs/types.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,12 @@
3
3
  *
4
4
  * Supports both positional (array) and named (object) parameters.
5
5
  * Exposes getDatabase() for backward-compat consumers that need the raw db.
6
+ *
7
+ * better-sqlite3 is loaded lazily at construction time (not at module import)
8
+ * so that code paths that never instantiate a provider don't require the
9
+ * native module to be installed.
6
10
  */
7
- import Database from 'better-sqlite3';
11
+ import type Database from 'better-sqlite3';
8
12
  import type { PersistenceProvider, PersistenceParams, RunResult, FtsSearchOptions } from './types.js';
9
13
  /** Apply performance-tuning PRAGMAs for file-backed SQLite databases. */
10
14
  export declare function applyPerformancePragmas(db: Database.Database): void;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-provider.d.ts","sourceRoot":"","sources":["../../src/persistence/sqlite-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAInE;AAED,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,OAAO,CAAC,EAAE,CAAoB;gBAElB,IAAI,GAAE,MAAmB;IAMrC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS;IAOvD,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,GAAG,SAAS;IAOxF,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE;IAO9E,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,gBAAgB,GACzB,CAAC,EAAE;IAwBN,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/B,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,WAAW,IAAI,QAAQ,CAAC,QAAQ;CAQjC"}
1
+ {"version":3,"file":"sqlite-provider.d.ts","sourceRoot":"","sources":["../../src/persistence/sqlite-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAoBpB,yEAAyE;AACzE,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAKnE;AAED,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,QAAQ,CAAC,OAAO,EAAG,QAAQ,CAAU;IACrC,OAAO,CAAC,EAAE,CAAoB;gBAElB,IAAI,GAAE,MAAmB;IAOrC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI1B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,SAAS;IAOvD,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,GAAG,SAAS;IAOxF,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE;IAO9E,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI9B,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,gBAAgB,GACzB,CAAC,EAAE;IAwBN,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS/B,KAAK,IAAI,IAAI;IAIb;;;;OAIG;IACH,WAAW,IAAI,QAAQ,CAAC,QAAQ;CAQjC"}
@@ -3,23 +3,43 @@
3
3
  *
4
4
  * Supports both positional (array) and named (object) parameters.
5
5
  * Exposes getDatabase() for backward-compat consumers that need the raw db.
6
+ *
7
+ * better-sqlite3 is loaded lazily at construction time (not at module import)
8
+ * so that code paths that never instantiate a provider don't require the
9
+ * native module to be installed.
6
10
  */
7
- import Database from 'better-sqlite3';
11
+ import { createRequire } from 'node:module';
8
12
  import { mkdirSync } from 'node:fs';
9
13
  import { dirname } from 'node:path';
14
+ let _DatabaseCtor;
15
+ function loadDriver() {
16
+ if (!_DatabaseCtor) {
17
+ const req = createRequire(import.meta.url);
18
+ try {
19
+ _DatabaseCtor = req('better-sqlite3');
20
+ }
21
+ catch {
22
+ throw new Error('better-sqlite3 is required for persistence but is not installed.\n' +
23
+ 'Run: npm install better-sqlite3');
24
+ }
25
+ }
26
+ return _DatabaseCtor;
27
+ }
10
28
  /** Apply performance-tuning PRAGMAs for file-backed SQLite databases. */
11
29
  export function applyPerformancePragmas(db) {
12
30
  db.pragma('cache_size = -64000'); // 64MB
13
31
  db.pragma('temp_store = MEMORY');
14
32
  db.pragma('mmap_size = 268435456'); // 256MB
33
+ db.pragma('synchronous = NORMAL');
15
34
  }
16
35
  export class SQLitePersistenceProvider {
17
36
  backend = 'sqlite';
18
37
  db;
19
38
  constructor(path = ':memory:') {
39
+ const Driver = loadDriver();
20
40
  if (path !== ':memory:')
21
41
  mkdirSync(dirname(path), { recursive: true });
22
- this.db = new Database(path);
42
+ this.db = new Driver(path);
23
43
  if (path !== ':memory:')
24
44
  applyPerformancePragmas(this.db);
25
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-provider.js","sourceRoot":"","sources":["../../src/persistence/sqlite-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-provider.js","sourceRoot":"","sources":["../../src/persistence/sqlite-provider.ts"],"names":[],"mappings":"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"}
@@ -55,28 +55,28 @@ export declare function parseGitHubRemote(remoteUrl: string): GitHubRepo | null;
55
55
  * Detect the GitHub remote from a project directory.
56
56
  * Returns null if no GitHub remote found or not a git repo.
57
57
  */
58
- export declare function detectGitHubRemote(projectPath: string): GitHubRepo | null;
58
+ export declare function detectGitHubRemote(projectPath: string): Promise<GitHubRepo | null>;
59
59
  /**
60
60
  * Check if the `gh` CLI is authenticated.
61
61
  */
62
- export declare function isGhAuthenticated(): boolean;
62
+ export declare function isGhAuthenticated(): Promise<boolean>;
63
63
  /**
64
64
  * List milestones for a GitHub repo.
65
65
  */
66
- export declare function listMilestones(repo: GitHubRepo): GitHubMilestone[];
66
+ export declare function listMilestones(repo: GitHubRepo): Promise<GitHubMilestone[]>;
67
67
  /**
68
68
  * List open issues for a GitHub repo.
69
69
  */
70
- export declare function listOpenIssues(repo: GitHubRepo, limit?: number): GitHubIssue[];
70
+ export declare function listOpenIssues(repo: GitHubRepo, limit?: number): Promise<GitHubIssue[]>;
71
71
  /**
72
72
  * List labels for a GitHub repo.
73
73
  */
74
- export declare function listLabels(repo: GitHubRepo): GitHubLabel[];
74
+ export declare function listLabels(repo: GitHubRepo): Promise<GitHubLabel[]>;
75
75
  /**
76
76
  * Detect full GitHub context for a project.
77
77
  * Returns null if not a GitHub project or gh CLI not available.
78
78
  */
79
- export declare function detectGitHubContext(projectPath: string): GitHubContext | null;
79
+ export declare function detectGitHubContext(projectPath: string): Promise<GitHubContext | null>;
80
80
  /**
81
81
  * Find the best matching milestone by name similarity.
82
82
  * Uses simple word overlap scoring.
@@ -114,9 +114,9 @@ export declare function formatIssueBody(plan: PlanMetadataForIssue, taskTitle: s
114
114
  export declare function createGitHubIssue(repo: GitHubRepo, title: string, body: string, options?: {
115
115
  milestone?: number;
116
116
  labels?: string[];
117
- }): number | null;
117
+ }): Promise<number | null>;
118
118
  /**
119
119
  * Update an existing GitHub issue body (for linking plans to existing issues).
120
120
  */
121
- export declare function updateGitHubIssueBody(repo: GitHubRepo, issueNumber: number, body: string): boolean;
121
+ export declare function updateGitHubIssueBody(repo: GitHubRepo, issueNumber: number, body: string): Promise<boolean>;
122
122
  //# sourceMappingURL=github-projection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"github-projection.d.ts","sourceRoot":"","sources":["../../src/planning/github-projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-projection.d.ts","sourceRoot":"","sources":["../../src/planning/github-projection.ts"],"names":[],"mappings":"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"}