@bradygaster/squad-cli 0.9.6-insider.2 → 0.10.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 (174) hide show
  1. package/dist/cli/commands/copilot-bridge.d.ts.map +1 -1
  2. package/dist/cli/commands/copilot-bridge.js +5 -1
  3. package/dist/cli/commands/copilot-bridge.js.map +1 -1
  4. package/dist/cli/commands/doctor.d.ts +6 -0
  5. package/dist/cli/commands/doctor.d.ts.map +1 -1
  6. package/dist/cli/commands/doctor.js +120 -5
  7. package/dist/cli/commands/doctor.js.map +1 -1
  8. package/dist/cli/commands/export.d.ts +7 -3
  9. package/dist/cli/commands/export.d.ts.map +1 -1
  10. package/dist/cli/commands/export.js +68 -16
  11. package/dist/cli/commands/export.js.map +1 -1
  12. package/dist/cli/commands/import.d.ts +7 -3
  13. package/dist/cli/commands/import.d.ts.map +1 -1
  14. package/dist/cli/commands/import.js +140 -42
  15. package/dist/cli/commands/import.js.map +1 -1
  16. package/dist/cli/commands/install-hooks.d.ts.map +1 -1
  17. package/dist/cli/commands/install-hooks.js +50 -5
  18. package/dist/cli/commands/install-hooks.js.map +1 -1
  19. package/dist/cli/commands/link.d.ts.map +1 -1
  20. package/dist/cli/commands/link.js +7 -1
  21. package/dist/cli/commands/link.js.map +1 -1
  22. package/dist/cli/commands/loop.d.ts.map +1 -1
  23. package/dist/cli/commands/loop.js +7 -5
  24. package/dist/cli/commands/loop.js.map +1 -1
  25. package/dist/cli/commands/memory.d.ts +2 -0
  26. package/dist/cli/commands/memory.d.ts.map +1 -0
  27. package/dist/cli/commands/memory.js +304 -0
  28. package/dist/cli/commands/memory.js.map +1 -0
  29. package/dist/cli/commands/migrate-backend.d.ts +36 -5
  30. package/dist/cli/commands/migrate-backend.d.ts.map +1 -1
  31. package/dist/cli/commands/migrate-backend.js +250 -40
  32. package/dist/cli/commands/migrate-backend.js.map +1 -1
  33. package/dist/cli/commands/notes.d.ts +27 -0
  34. package/dist/cli/commands/notes.d.ts.map +1 -0
  35. package/dist/cli/commands/notes.js +222 -0
  36. package/dist/cli/commands/notes.js.map +1 -0
  37. package/dist/cli/commands/plugin.d.ts.map +1 -1
  38. package/dist/cli/commands/plugin.js +423 -8
  39. package/dist/cli/commands/plugin.js.map +1 -1
  40. package/dist/cli/commands/skill.d.ts +31 -0
  41. package/dist/cli/commands/skill.d.ts.map +1 -0
  42. package/dist/cli/commands/skill.js +497 -0
  43. package/dist/cli/commands/skill.js.map +1 -0
  44. package/dist/cli/commands/start.d.ts.map +1 -1
  45. package/dist/cli/commands/start.js +9 -1
  46. package/dist/cli/commands/start.js.map +1 -1
  47. package/dist/cli/commands/state-mcp.d.ts +25 -0
  48. package/dist/cli/commands/state-mcp.d.ts.map +1 -0
  49. package/dist/cli/commands/state-mcp.js +168 -0
  50. package/dist/cli/commands/state-mcp.js.map +1 -0
  51. package/dist/cli/commands/watch/agent-spawn.d.ts +62 -0
  52. package/dist/cli/commands/watch/agent-spawn.d.ts.map +1 -0
  53. package/dist/cli/commands/watch/agent-spawn.js +127 -0
  54. package/dist/cli/commands/watch/agent-spawn.js.map +1 -0
  55. package/dist/cli/commands/watch/capabilities/board.d.ts.map +1 -1
  56. package/dist/cli/commands/watch/capabilities/board.js +2 -1
  57. package/dist/cli/commands/watch/capabilities/board.js.map +1 -1
  58. package/dist/cli/commands/watch/capabilities/decision-hygiene.d.ts.map +1 -1
  59. package/dist/cli/commands/watch/capabilities/decision-hygiene.js +3 -2
  60. package/dist/cli/commands/watch/capabilities/decision-hygiene.js.map +1 -1
  61. package/dist/cli/commands/watch/capabilities/execute.d.ts.map +1 -1
  62. package/dist/cli/commands/watch/capabilities/execute.js +14 -2
  63. package/dist/cli/commands/watch/capabilities/execute.js.map +1 -1
  64. package/dist/cli/commands/watch/capabilities/index.d.ts.map +1 -1
  65. package/dist/cli/commands/watch/capabilities/index.js +2 -0
  66. package/dist/cli/commands/watch/capabilities/index.js.map +1 -1
  67. package/dist/cli/commands/watch/capabilities/monitor-email.d.ts +1 -1
  68. package/dist/cli/commands/watch/capabilities/monitor-email.d.ts.map +1 -1
  69. package/dist/cli/commands/watch/capabilities/monitor-email.js +21 -4
  70. package/dist/cli/commands/watch/capabilities/monitor-email.js.map +1 -1
  71. package/dist/cli/commands/watch/capabilities/monitor-teams.d.ts +1 -1
  72. package/dist/cli/commands/watch/capabilities/monitor-teams.d.ts.map +1 -1
  73. package/dist/cli/commands/watch/capabilities/monitor-teams.js +21 -5
  74. package/dist/cli/commands/watch/capabilities/monitor-teams.js.map +1 -1
  75. package/dist/cli/commands/watch/capabilities/notes-promote.d.ts +11 -0
  76. package/dist/cli/commands/watch/capabilities/notes-promote.d.ts.map +1 -0
  77. package/dist/cli/commands/watch/capabilities/notes-promote.js +124 -0
  78. package/dist/cli/commands/watch/capabilities/notes-promote.js.map +1 -0
  79. package/dist/cli/commands/watch/capabilities/retro.d.ts.map +1 -1
  80. package/dist/cli/commands/watch/capabilities/retro.js +3 -2
  81. package/dist/cli/commands/watch/capabilities/retro.js.map +1 -1
  82. package/dist/cli/commands/watch/capabilities/wave-dispatch.d.ts.map +1 -1
  83. package/dist/cli/commands/watch/capabilities/wave-dispatch.js +2 -1
  84. package/dist/cli/commands/watch/capabilities/wave-dispatch.js.map +1 -1
  85. package/dist/cli/commands/watch/index.d.ts.map +1 -1
  86. package/dist/cli/commands/watch/index.js +16 -12
  87. package/dist/cli/commands/watch/index.js.map +1 -1
  88. package/dist/cli/core/cast.d.ts.map +1 -1
  89. package/dist/cli/core/cast.js +132 -1
  90. package/dist/cli/core/cast.js.map +1 -1
  91. package/dist/cli/core/command-help.d.ts +44 -0
  92. package/dist/cli/core/command-help.d.ts.map +1 -0
  93. package/dist/cli/core/command-help.js +401 -0
  94. package/dist/cli/core/command-help.js.map +1 -0
  95. package/dist/cli/core/copilot-invocation.d.ts +57 -0
  96. package/dist/cli/core/copilot-invocation.d.ts.map +1 -0
  97. package/dist/cli/core/copilot-invocation.js +84 -0
  98. package/dist/cli/core/copilot-invocation.js.map +1 -0
  99. package/dist/cli/core/effective-squad-dir.d.ts +33 -0
  100. package/dist/cli/core/effective-squad-dir.d.ts.map +1 -0
  101. package/dist/cli/core/effective-squad-dir.js +37 -0
  102. package/dist/cli/core/effective-squad-dir.js.map +1 -0
  103. package/dist/cli/core/init.d.ts +2 -0
  104. package/dist/cli/core/init.d.ts.map +1 -1
  105. package/dist/cli/core/init.js +74 -1
  106. package/dist/cli/core/init.js.map +1 -1
  107. package/dist/cli/core/mcp-root.d.ts +60 -0
  108. package/dist/cli/core/mcp-root.d.ts.map +1 -0
  109. package/dist/cli/core/mcp-root.js +124 -0
  110. package/dist/cli/core/mcp-root.js.map +1 -0
  111. package/dist/cli/core/mcp-spec.d.ts +48 -0
  112. package/dist/cli/core/mcp-spec.d.ts.map +1 -0
  113. package/dist/cli/core/mcp-spec.js +61 -0
  114. package/dist/cli/core/mcp-spec.js.map +1 -0
  115. package/dist/cli/core/npm-registry.d.ts +25 -0
  116. package/dist/cli/core/npm-registry.d.ts.map +1 -0
  117. package/dist/cli/core/npm-registry.js +65 -0
  118. package/dist/cli/core/npm-registry.js.map +1 -0
  119. package/dist/cli/core/templates.d.ts.map +1 -1
  120. package/dist/cli/core/templates.js +52 -16
  121. package/dist/cli/core/templates.js.map +1 -1
  122. package/dist/cli/core/upgrade.d.ts +5 -0
  123. package/dist/cli/core/upgrade.d.ts.map +1 -1
  124. package/dist/cli/core/upgrade.js +231 -12
  125. package/dist/cli/core/upgrade.js.map +1 -1
  126. package/dist/cli/index.d.ts +1 -0
  127. package/dist/cli/index.d.ts.map +1 -1
  128. package/dist/cli/index.js +1 -0
  129. package/dist/cli/index.js.map +1 -1
  130. package/dist/cli/shell/components/App.js +1 -1
  131. package/dist/cli/shell/components/App.js.map +1 -1
  132. package/dist/cli/shell/components/MessageStream.js +2 -2
  133. package/dist/cli/shell/components/MessageStream.js.map +1 -1
  134. package/dist/cli/shell/coordinator.d.ts.map +1 -1
  135. package/dist/cli/shell/coordinator.js +11 -5
  136. package/dist/cli/shell/coordinator.js.map +1 -1
  137. package/dist/cli/shell/index.d.ts.map +1 -1
  138. package/dist/cli/shell/index.js +14 -7
  139. package/dist/cli/shell/index.js.map +1 -1
  140. package/dist/cli/shell/lifecycle.d.ts.map +1 -1
  141. package/dist/cli/shell/lifecycle.js +12 -7
  142. package/dist/cli/shell/lifecycle.js.map +1 -1
  143. package/dist/cli/shell/session-store.d.ts +4 -4
  144. package/dist/cli/shell/session-store.d.ts.map +1 -1
  145. package/dist/cli/shell/session-store.js +11 -11
  146. package/dist/cli/shell/session-store.js.map +1 -1
  147. package/dist/cli-entry.js +162 -50
  148. package/dist/cli-entry.js.map +1 -1
  149. package/package.json +7 -3
  150. package/scripts/patch-esm-imports.mjs +3 -1
  151. package/templates/after-agent-reference.md +64 -0
  152. package/templates/ceremony-reference.md +82 -0
  153. package/templates/client-compatibility-reference.md +46 -0
  154. package/templates/copilot-agent.md +96 -0
  155. package/templates/copilot-instructions.md +14 -0
  156. package/templates/model-selection-reference.md +101 -0
  157. package/templates/prd-intake.md +105 -0
  158. package/templates/rai-charter.md +110 -0
  159. package/templates/rai-policy.md +103 -0
  160. package/templates/ralph-reference.md +141 -0
  161. package/templates/routing.md +1 -0
  162. package/templates/scribe-charter.md +18 -151
  163. package/templates/session-init-reference.md +199 -0
  164. package/templates/skills/e2e-template-testing/SKILL.md +557 -0
  165. package/templates/skills/fact-checking/SKILL.md +61 -0
  166. package/templates/skills/squad-commands/SKILL.md +303 -0
  167. package/templates/skills/squad-version-check/SKILL.md +160 -0
  168. package/templates/spawn-reference.md +131 -0
  169. package/templates/squad.agent.md.template +200 -625
  170. package/templates/workflow-wiring-appendix-a-code-reviewer.md +131 -0
  171. package/templates/workflow-wiring-appendix-b-documenter.md +140 -0
  172. package/templates/workflow-wiring-guide.md +276 -0
  173. package/templates/workflows/squad-heartbeat.yml +167 -167
  174. package/templates/worktree-reference.md +126 -0
@@ -0,0 +1,304 @@
1
+ import { FSStorageProvider, LocalMemoryStore, } from '@bradygaster/squad-sdk';
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ const REAL_COPILOT_UNAVAILABLE_REASON = 'Real Copilot Memory API unavailable: no concrete callable API was found in installed @github/copilot SDK/tooling. Squad will not fake provider=copilot; use hostInjectedCopilotAdapter only when a host supplies a client.';
5
+ const MEMORY_DIAGNOSTIC_LEVELS = {
6
+ none: 0,
7
+ error: 1,
8
+ info: 2,
9
+ debug: 3,
10
+ };
11
+ function readFlag(args, name) {
12
+ const equalsPrefix = `${name}=`;
13
+ const equalsValue = args.find(arg => arg.startsWith(equalsPrefix));
14
+ if (equalsValue)
15
+ return equalsValue.slice(equalsPrefix.length);
16
+ const index = args.indexOf(name);
17
+ return index >= 0 ? args[index + 1] : undefined;
18
+ }
19
+ function readContent(args) {
20
+ const content = readFlag(args, '--content');
21
+ if (content)
22
+ return content;
23
+ return args.filter(arg => !arg.startsWith('--')).slice(1).join(' ');
24
+ }
25
+ function parseClass(value) {
26
+ if (!value)
27
+ return undefined;
28
+ const normalized = value.toUpperCase();
29
+ if (['TRANSIENT', 'LOCAL', 'DECISION', 'POLICY', 'COPILOT_MEMORY', 'FORBIDDEN'].includes(normalized)) {
30
+ return normalized;
31
+ }
32
+ throw new Error(`Unknown memory class: ${value}`);
33
+ }
34
+ function parseLoadGuidance(value) {
35
+ if (!value)
36
+ return undefined;
37
+ const normalized = value.trim().replace(/^\[|\]$/g, '').toUpperCase();
38
+ if (['ALWAYS', 'ON-DEMAND', 'ARCHIVE', 'NEVER'].includes(normalized)) {
39
+ return normalized;
40
+ }
41
+ throw new Error(`Unknown load guidance: ${value}`);
42
+ }
43
+ function parseBoolean(value, defaultValue) {
44
+ if (value === undefined)
45
+ return defaultValue;
46
+ if (['true', '1', 'yes', 'on'].includes(value.toLowerCase()))
47
+ return true;
48
+ if (['false', '0', 'no', 'off'].includes(value.toLowerCase()))
49
+ return false;
50
+ throw new Error(`Expected boolean value, got: ${value}`);
51
+ }
52
+ function parseLogLevel(value) {
53
+ if (!value)
54
+ return 'none';
55
+ const normalized = value.toLowerCase();
56
+ if (normalized === 'none' || normalized === 'silent' || normalized === 'off')
57
+ return 'none';
58
+ if (normalized === 'error')
59
+ return 'error';
60
+ if (normalized === 'info')
61
+ return 'info';
62
+ if (normalized === 'debug' || normalized === 'verbose' || normalized === 'all')
63
+ return 'debug';
64
+ throw new Error(`Unknown memory log level: ${value}. Expected none|error|info|debug.`);
65
+ }
66
+ function readConfiguredLogLevel(projectRoot) {
67
+ const configPath = path.join(projectRoot, '.squad', 'config.json');
68
+ if (!fs.existsSync(configPath))
69
+ return undefined;
70
+ let parsed;
71
+ try {
72
+ parsed = JSON.parse(fs.readFileSync(configPath, 'utf8'));
73
+ }
74
+ catch {
75
+ return undefined;
76
+ }
77
+ const logLevel = parsed.memory?.logLevel;
78
+ return typeof logLevel === 'string' ? parseLogLevel(logLevel) : undefined;
79
+ }
80
+ function parseDiagnostics(projectRoot, args) {
81
+ const filtered = [];
82
+ let logLevel;
83
+ for (let index = 0; index < args.length; index++) {
84
+ const arg = args[index];
85
+ if (arg === '--verbose' || arg === '-v') {
86
+ logLevel ??= 'debug';
87
+ continue;
88
+ }
89
+ if (arg === '--log-level') {
90
+ logLevel = parseLogLevel(args[index + 1]);
91
+ index++;
92
+ continue;
93
+ }
94
+ if (arg.startsWith('--log-level=')) {
95
+ logLevel = parseLogLevel(arg.slice('--log-level='.length));
96
+ continue;
97
+ }
98
+ filtered.push(arg);
99
+ }
100
+ return {
101
+ args: filtered,
102
+ logLevel: logLevel ?? (process.env['SQUAD_MEMORY_LOG_LEVEL'] !== undefined
103
+ ? parseLogLevel(process.env['SQUAD_MEMORY_LOG_LEVEL'])
104
+ : readConfiguredLogLevel(projectRoot) ?? 'none'),
105
+ };
106
+ }
107
+ function createMemoryDiagnostics(logLevel) {
108
+ const emit = (level, event, data = {}) => {
109
+ if (MEMORY_DIAGNOSTIC_LEVELS[logLevel] < MEMORY_DIAGNOSTIC_LEVELS[level])
110
+ return;
111
+ const details = Object.entries(data)
112
+ .filter(([, value]) => value !== undefined)
113
+ .map(([key, value]) => `${key}=${value}`)
114
+ .join(' ');
115
+ console.error(`[memory:${level}] ${event}${details ? ` ${details}` : ''}`);
116
+ };
117
+ return {
118
+ error: (event, data) => emit('error', event, data),
119
+ info: (event, data) => emit('info', event, data),
120
+ debug: (event, data) => emit('debug', event, data),
121
+ };
122
+ }
123
+ export async function runMemoryCommand(projectRoot, args) {
124
+ const diagnosticsConfig = parseDiagnostics(projectRoot, args);
125
+ const commandArgs = diagnosticsConfig.args;
126
+ const diagnostics = createMemoryDiagnostics(diagnosticsConfig.logLevel);
127
+ const operation = commandArgs[0] ?? 'help';
128
+ const startedAt = Date.now();
129
+ const store = new LocalMemoryStore(new FSStorageProvider(), projectRoot);
130
+ const providerStore = store;
131
+ diagnostics.info('command.start', { command: operation, projectRoot });
132
+ try {
133
+ if (operation === 'classify') {
134
+ const content = readContent(commandArgs);
135
+ const loadGuidance = parseLoadGuidance(readFlag(commandArgs, '--load-guidance'));
136
+ const requestedClass = parseClass(readFlag(commandArgs, '--class'));
137
+ diagnostics.debug('classify.request', { contentLength: content.length, requestedClass, loadGuidance });
138
+ const classification = await store.classify({
139
+ content,
140
+ requestedClass,
141
+ metadata: loadGuidance ? { loadGuidance } : undefined,
142
+ });
143
+ diagnostics.info('classify.complete', {
144
+ class: classification.class,
145
+ allowed: classification.allowed,
146
+ destination: classification.destination,
147
+ loadGuidance: classification.loadGuidance,
148
+ elapsedMs: Date.now() - startedAt,
149
+ });
150
+ console.log(JSON.stringify(classification, null, 2));
151
+ return;
152
+ }
153
+ if (operation === 'write') {
154
+ const content = readContent(commandArgs);
155
+ const loadGuidance = parseLoadGuidance(readFlag(commandArgs, '--load-guidance'));
156
+ const requestedClass = parseClass(readFlag(commandArgs, '--class'));
157
+ diagnostics.debug('write.request', {
158
+ contentLength: content.length,
159
+ requestedClass,
160
+ loadGuidance,
161
+ titleProvided: readFlag(commandArgs, '--title') !== undefined,
162
+ authorProvided: readFlag(commandArgs, '--author') !== undefined,
163
+ approved: commandArgs.includes('--approved'),
164
+ });
165
+ const result = await store.write({
166
+ content,
167
+ title: readFlag(commandArgs, '--title'),
168
+ author: readFlag(commandArgs, '--author'),
169
+ requestedClass,
170
+ approved: commandArgs.includes('--approved'),
171
+ metadata: loadGuidance ? { loadGuidance } : undefined,
172
+ });
173
+ diagnostics.info('write.complete', {
174
+ stored: result.stored,
175
+ class: result.classification.class,
176
+ provider: result.classification.class === 'COPILOT_MEMORY' ? 'hostInjectedCopilotAdapter' : 'local',
177
+ loadGuidance: result.classification.loadGuidance,
178
+ path: result.path,
179
+ elapsedMs: Date.now() - startedAt,
180
+ });
181
+ console.log(JSON.stringify(result, null, 2));
182
+ return;
183
+ }
184
+ if (operation === 'search') {
185
+ const query = readFlag(commandArgs, '--query') ?? commandArgs.slice(1).join(' ');
186
+ diagnostics.debug('search.request', { queryLength: query.length });
187
+ const results = await store.search(query);
188
+ diagnostics.info('search.complete', {
189
+ count: results.length,
190
+ providers: [...new Set(results.map(result => result.provider ?? 'local'))].join(',') || 'none',
191
+ elapsedMs: Date.now() - startedAt,
192
+ });
193
+ console.log(JSON.stringify(results, null, 2));
194
+ return;
195
+ }
196
+ if (operation === 'promote') {
197
+ const id = commandArgs[1];
198
+ const targetClass = parseClass(readFlag(commandArgs, '--class'));
199
+ if (!id || !targetClass || targetClass === 'FORBIDDEN' || targetClass === 'TRANSIENT') {
200
+ throw new Error('Usage: squad memory promote <id> --class LOCAL|DECISION|POLICY|COPILOT_MEMORY');
201
+ }
202
+ diagnostics.debug('promote.request', { id, targetClass, actorProvided: readFlag(commandArgs, '--actor') !== undefined });
203
+ const result = await store.promote(id, targetClass, readFlag(commandArgs, '--actor'));
204
+ diagnostics.info('promote.complete', {
205
+ id,
206
+ stored: result.stored,
207
+ class: result.classification.class,
208
+ path: result.path,
209
+ elapsedMs: Date.now() - startedAt,
210
+ });
211
+ console.log(JSON.stringify(result, null, 2));
212
+ return;
213
+ }
214
+ if (operation === 'delete') {
215
+ const id = commandArgs[1];
216
+ if (!id)
217
+ throw new Error('Usage: squad memory delete <id>');
218
+ diagnostics.debug('delete.request', { id, actorProvided: readFlag(commandArgs, '--actor') !== undefined });
219
+ const deleted = await store.delete(id, readFlag(commandArgs, '--actor'));
220
+ diagnostics.info('delete.complete', { id, deleted, elapsedMs: Date.now() - startedAt });
221
+ console.log(JSON.stringify({ deleted }, null, 2));
222
+ return;
223
+ }
224
+ if (operation === 'audit') {
225
+ const audit = await store.auditLog();
226
+ diagnostics.info('audit.complete', { count: audit.length, elapsedMs: Date.now() - startedAt });
227
+ console.log(JSON.stringify(audit, null, 2));
228
+ return;
229
+ }
230
+ if (operation === 'provider' || operation === 'providers' || operation === 'status') {
231
+ if (readFlag(commandArgs, '--provider') === 'copilot' || commandArgs.includes('--default-copilot')) {
232
+ throw new Error(REAL_COPILOT_UNAVAILABLE_REASON);
233
+ }
234
+ if (commandArgs.includes('--enable-host-injected-copilot-adapter') || commandArgs.includes('--enable-copilot')) {
235
+ const requireApproval = parseBoolean(readFlag(commandArgs, '--require-approval'), true);
236
+ diagnostics.debug('provider.configure.request', {
237
+ enabled: true,
238
+ requireApproval,
239
+ defaultProvider: commandArgs.includes('--default-host-injected-copilot-adapter') ? 'hostInjectedCopilotAdapter' : undefined,
240
+ });
241
+ const config = await providerStore.configureHostInjectedCopilotAdapter({
242
+ enabled: true,
243
+ requireApproval,
244
+ defaultProvider: commandArgs.includes('--default-host-injected-copilot-adapter')
245
+ ? 'hostInjectedCopilotAdapter'
246
+ : undefined,
247
+ actor: readFlag(commandArgs, '--actor'),
248
+ });
249
+ diagnostics.info('provider.configure.complete', {
250
+ defaultProvider: config.defaultProvider,
251
+ hostInjectedCopilotAdapterEnabled: config.externalProviders.hostInjectedCopilotAdapter.enabled,
252
+ requireApproval: config.externalProviders.hostInjectedCopilotAdapter.requireApproval,
253
+ elapsedMs: Date.now() - startedAt,
254
+ });
255
+ console.log(JSON.stringify(config, null, 2));
256
+ return;
257
+ }
258
+ if (commandArgs.includes('--disable-host-injected-copilot-adapter') || commandArgs.includes('--disable-copilot')) {
259
+ diagnostics.debug('provider.configure.request', { enabled: false, defaultProvider: 'local' });
260
+ const config = await providerStore.configureHostInjectedCopilotAdapter({
261
+ enabled: false,
262
+ defaultProvider: 'local',
263
+ actor: readFlag(commandArgs, '--actor'),
264
+ });
265
+ diagnostics.info('provider.configure.complete', {
266
+ defaultProvider: config.defaultProvider,
267
+ hostInjectedCopilotAdapterEnabled: config.externalProviders.hostInjectedCopilotAdapter.enabled,
268
+ elapsedMs: Date.now() - startedAt,
269
+ });
270
+ console.log(JSON.stringify(config, null, 2));
271
+ return;
272
+ }
273
+ const status = await providerStore.providerStatus();
274
+ diagnostics.info('provider.status.complete', {
275
+ defaultProvider: status.defaultProvider,
276
+ realCopilotConfigured: status.realCopilotMemory.configured,
277
+ hostInjectedCopilotAdapterConfigured: status.hostInjectedCopilotAdapter.configured,
278
+ hostInjectedCopilotAdapterClientAvailable: status.hostInjectedCopilotAdapter.clientAvailable,
279
+ elapsedMs: Date.now() - startedAt,
280
+ });
281
+ console.log(JSON.stringify(status, null, 2));
282
+ return;
283
+ }
284
+ diagnostics.info('help.complete', { elapsedMs: Date.now() - startedAt });
285
+ console.log([
286
+ 'Usage: squad memory <classify|write|search|promote|delete|audit|provider>',
287
+ ' write --content "..." --class LOCAL --title "..." --author scribe [--load-guidance ALWAYS|ON-DEMAND|ARCHIVE|NEVER]',
288
+ ' search --query "testing strategy"',
289
+ ' provider [--enable-host-injected-copilot-adapter|--disable-host-injected-copilot-adapter] [--require-approval true|false]',
290
+ ' provider --provider copilot fails unless a real Copilot Memory API module is present.',
291
+ ' diagnostics: --log-level none|error|info|debug, --verbose, SQUAD_MEMORY_LOG_LEVEL, or .squad/config.json memory.logLevel (stderr; never logs raw memory content or search text).',
292
+ 'hostInjectedCopilotAdapter is not real provider=copilot persistence; enabling config alone never fakes remote memory.',
293
+ ].join('\n'));
294
+ }
295
+ catch (error) {
296
+ diagnostics.error('command.error', {
297
+ command: operation,
298
+ message: error instanceof Error ? error.message : String(error),
299
+ elapsedMs: Date.now() - startedAt,
300
+ });
301
+ throw error;
302
+ }
303
+ }
304
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,47 @@
1
1
  /**
2
- * Backend migration — upgrades state backend from local to orphan or two-layer.
2
+ * Backend migration — upgrades state backend across allowed transitions.
3
3
  *
4
- * Currently supports:
4
+ * Supported migrations:
5
5
  * - local → orphan
6
6
  * - local → two-layer
7
+ * - worktree → orphan
8
+ * - worktree → two-layer
9
+ * - orphan ↔ two-layer (both write to the squad-state orphan branch via different layers)
7
10
  *
8
- * Migration from orphan/two-layer back to local is not supported (would require
9
- * materializing all state from the orphan branch back to the working tree).
11
+ * In addition to flipping the `stateBackend` key in `.squad/config.json`, this
12
+ * function MIGRATES pre-existing working-tree state (`decisions.md`,
13
+ * `agents/<name>/history.md`) onto the squad-state orphan branch when moving
14
+ * from a working-tree backend to an orphan-storage backend, so post-upgrade
15
+ * agents can read pre-upgrade content (UPGRADE-NO-MIGRATION fix).
10
16
  */
17
+ /** Best-effort: ensure the squad-state orphan branch exists. Returns true on success. */
18
+ export declare function ensureOrphanBranch(dest: string): boolean;
11
19
  /**
12
20
  * Migrate the state backend for an existing squad project.
13
- * Only local → orphan/two-layer is supported.
21
+ *
22
+ * Fixes:
23
+ * - UPGRADE-FLAG-IGNORED: writes the new `stateBackend` value into config.json
24
+ * via JSON-aware merge (never textual append → avoids Bug E duplicates).
25
+ * - UPGRADE-NO-MIGRATION: when moving from a working-tree backend to an
26
+ * orphan-storage backend, carries existing decisions.md and agent histories
27
+ * onto the squad-state orphan branch so post-upgrade agents see prior state.
28
+ * - WI-1: re-installs the full hook set (including new pre-commit/post-commit).
14
29
  */
15
30
  export declare function migrateStateBackend(dest: string, target: string): Promise<void>;
31
+ /**
32
+ * INSIDER3-INIT-LEAK fix: when `squad init --state-backend orphan|two-layer`
33
+ * runs, the SDK still hand-writes mutable state files (decisions.md and each
34
+ * agent's history.md) into the working tree because it has no knowledge of the
35
+ * future backend choice. This helper, invoked by the CLI immediately after the
36
+ * orphan branch is created, lifts those mutable files onto the squad-state
37
+ * orphan branch and removes them from the working tree so post-init agents
38
+ * read state exclusively through the runtime bridge.
39
+ *
40
+ * Source-of-truth hierarchy preserved: static files (team.md, charters,
41
+ * ceremonies.md, casting/*, templates/*) are NEVER touched — only mutable
42
+ * state (decisions.md, agents/<n>/history.md) migrates.
43
+ *
44
+ * Returns the relative paths of files that were migrated + removed.
45
+ */
46
+ export declare function liftInitMutableStateOntoOrphan(dest: string): string[];
16
47
  //# sourceMappingURL=migrate-backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate-backend.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqErF"}
1
+ {"version":3,"file":"migrate-backend.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/migrate-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAsBH,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA4BxD;AA8FD;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgHrF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBrE"}