@bradygaster/squad-sdk 0.8.17-preview → 0.8.18

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 (64) hide show
  1. package/dist/adapter/client.d.ts.map +1 -1
  2. package/dist/adapter/client.js +2 -0
  3. package/dist/adapter/client.js.map +1 -1
  4. package/dist/config/init.d.ts +43 -2
  5. package/dist/config/init.d.ts.map +1 -1
  6. package/dist/config/init.js +389 -46
  7. package/dist/config/init.js.map +1 -1
  8. package/dist/index.d.ts +8 -13
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +6 -9
  11. package/dist/index.js.map +1 -1
  12. package/dist/ralph/index.js +5 -5
  13. package/dist/ralph/index.js.map +1 -1
  14. package/dist/remote/bridge.d.ts +2 -0
  15. package/dist/remote/bridge.d.ts.map +1 -1
  16. package/dist/remote/bridge.js +34 -4
  17. package/dist/remote/bridge.js.map +1 -1
  18. package/dist/resolution.d.ts +13 -0
  19. package/dist/resolution.d.ts.map +1 -1
  20. package/dist/resolution.js +9 -1
  21. package/dist/resolution.js.map +1 -1
  22. package/dist/sharing/consult.d.ts +226 -0
  23. package/dist/sharing/consult.d.ts.map +1 -0
  24. package/dist/sharing/consult.js +818 -0
  25. package/dist/sharing/consult.js.map +1 -0
  26. package/dist/sharing/index.d.ts +2 -1
  27. package/dist/sharing/index.d.ts.map +1 -1
  28. package/dist/sharing/index.js +2 -1
  29. package/dist/sharing/index.js.map +1 -1
  30. package/package.json +207 -205
  31. package/templates/casting-history.json +4 -0
  32. package/templates/casting-policy.json +35 -0
  33. package/templates/casting-registry.json +3 -0
  34. package/templates/ceremonies.md +41 -0
  35. package/templates/charter.md +53 -0
  36. package/templates/constraint-tracking.md +38 -0
  37. package/templates/copilot-instructions.md +46 -0
  38. package/templates/history.md +10 -0
  39. package/templates/identity/now.md +9 -0
  40. package/templates/identity/wisdom.md +15 -0
  41. package/templates/mcp-config.md +98 -0
  42. package/templates/multi-agent-format.md +28 -0
  43. package/templates/orchestration-log.md +27 -0
  44. package/templates/plugin-marketplace.md +49 -0
  45. package/templates/raw-agent-output.md +37 -0
  46. package/templates/roster.md +60 -0
  47. package/templates/routing.md +54 -0
  48. package/templates/run-output.md +50 -0
  49. package/templates/scribe-charter.md +119 -0
  50. package/templates/skill.md +24 -0
  51. package/templates/skills/project-conventions/SKILL.md +56 -0
  52. package/templates/squad.agent.md +1146 -0
  53. package/templates/workflows/squad-ci.yml +24 -0
  54. package/templates/workflows/squad-docs.yml +50 -0
  55. package/templates/workflows/squad-heartbeat.yml +316 -0
  56. package/templates/workflows/squad-insider-release.yml +61 -0
  57. package/templates/workflows/squad-issue-assign.yml +161 -0
  58. package/templates/workflows/squad-label-enforce.yml +181 -0
  59. package/templates/workflows/squad-main-guard.yml +129 -0
  60. package/templates/workflows/squad-preview.yml +55 -0
  61. package/templates/workflows/squad-promote.yml +121 -0
  62. package/templates/workflows/squad-release.yml +77 -0
  63. package/templates/workflows/squad-triage.yml +260 -0
  64. package/templates/workflows/sync-squad-labels.yml +169 -0
@@ -3,14 +3,55 @@
3
3
  *
4
4
  * Creates new Squad projects with typed configuration.
5
5
  * Generates squad.config.ts or squad.config.json with agent definitions.
6
+ * Scaffolds directory structure, templates, workflows, and agent files.
6
7
  *
7
8
  * @module config/init
8
9
  */
9
- import { mkdir, writeFile } from 'fs/promises';
10
- import { join } from 'path';
11
- import { existsSync } from 'fs';
10
+ import { mkdir, writeFile, appendFile, unlink } from 'fs/promises';
11
+ import { join, dirname } from 'path';
12
+ import { fileURLToPath } from 'url';
13
+ import { existsSync, cpSync, statSync, mkdirSync, readFileSync, readdirSync } from 'fs';
12
14
  import { MODELS } from '../runtime/constants.js';
13
15
  // ============================================================================
16
+ // Template Resolution
17
+ // ============================================================================
18
+ /**
19
+ * Get the SDK templates directory path.
20
+ */
21
+ export function getSDKTemplatesDir() {
22
+ // Use fileURLToPath for cross-platform compatibility (handles Windows drive letters, URL encoding)
23
+ const currentDir = dirname(fileURLToPath(import.meta.url));
24
+ // Try relative to this file (in dist/)
25
+ const distPath = join(currentDir, '../../templates');
26
+ if (existsSync(distPath)) {
27
+ return distPath;
28
+ }
29
+ // Try relative to package root (for dev)
30
+ const pkgPath = join(currentDir, '../../../templates');
31
+ if (existsSync(pkgPath)) {
32
+ return pkgPath;
33
+ }
34
+ return null;
35
+ }
36
+ /**
37
+ * Copy a directory recursively.
38
+ */
39
+ function copyRecursiveSync(src, dest) {
40
+ if (!existsSync(dest)) {
41
+ mkdirSync(dest, { recursive: true });
42
+ }
43
+ for (const entry of statSync(src).isDirectory() ? readdirSync(src) : []) {
44
+ const srcPath = join(src, entry);
45
+ const destPath = join(dest, entry);
46
+ if (statSync(srcPath).isDirectory()) {
47
+ copyRecursiveSync(srcPath, destPath);
48
+ }
49
+ else {
50
+ cpSync(srcPath, destPath);
51
+ }
52
+ }
53
+ }
54
+ // ============================================================================
14
55
  // Default Agent Templates
15
56
  // ============================================================================
16
57
  /**
@@ -35,7 +76,7 @@ const AGENT_TEMPLATES = {
35
76
  },
36
77
  'ralph': {
37
78
  displayName: 'Ralph',
38
- description: 'Work monitor that tracks the work queue and ensures the team never sits idle.'
79
+ description: 'Persistent memory agent that maintains context across sessions.'
39
80
  }
40
81
  };
41
82
  // ============================================================================
@@ -269,21 +310,35 @@ function titleCase(str) {
269
310
  // ============================================================================
270
311
  // Initialization Functions
271
312
  // ============================================================================
313
+ /**
314
+ * Stamp version into squad.agent.md content.
315
+ */
316
+ function stampVersionInContent(content, version) {
317
+ return content.replace(/<!-- version: [^>]* -->/, `<!-- version: ${version} -->`);
318
+ }
272
319
  /**
273
320
  * Initialize a new Squad project.
274
321
  *
275
322
  * Creates:
276
- * - .squad/ directory structure
323
+ * - .squad/ directory structure (agents, casting, decisions, skills, identity, etc.)
277
324
  * - squad.config.ts or squad.config.json
278
325
  * - Agent directories with charter.md and history.md
279
326
  * - .gitattributes for merge drivers
327
+ * - .gitignore entries for logs
328
+ * - .github/agents/squad.agent.md
329
+ * - .github/workflows/ (optional)
330
+ * - .squad-templates/ (optional)
331
+ * - .copilot/mcp-config.json (optional)
332
+ * - Identity files (now.md, wisdom.md)
333
+ * - ceremonies.md
280
334
  *
281
335
  * @param options - Initialization options
282
336
  * @returns Result with created file paths
283
337
  */
284
338
  export async function initSquad(options) {
285
- const { teamRoot, projectName, projectDescription, agents, configFormat = 'typescript', userName } = options;
339
+ const { teamRoot, projectName, projectDescription, agents, configFormat = 'typescript', userName, skipExisting = true, includeWorkflows = true, includeTemplates = true, includeMcpConfig = true, projectType = 'unknown', version = '0.0.0', } = options;
286
340
  const createdFiles = [];
341
+ const skippedFiles = [];
287
342
  const agentDirs = [];
288
343
  // Validate inputs
289
344
  if (!teamRoot) {
@@ -295,40 +350,91 @@ export async function initSquad(options) {
295
350
  if (!agents || agents.length === 0) {
296
351
  throw new Error('At least one agent is required');
297
352
  }
298
- // Create .squad directory
353
+ // Get templates directory
354
+ const templatesDir = getSDKTemplatesDir();
355
+ // Helper to convert absolute path to relative
356
+ const toRelativePath = (absolutePath) => {
357
+ // Use path separator-agnostic approach
358
+ if (absolutePath.startsWith(teamRoot)) {
359
+ const relative = absolutePath.slice(teamRoot.length);
360
+ // Remove leading separator if present
361
+ return relative.startsWith('/') || relative.startsWith('\\')
362
+ ? relative.slice(1)
363
+ : relative;
364
+ }
365
+ return absolutePath;
366
+ };
367
+ // Helper to write file (respects skipExisting)
368
+ const writeIfNotExists = async (filePath, content) => {
369
+ if (existsSync(filePath) && skipExisting) {
370
+ skippedFiles.push(toRelativePath(filePath));
371
+ return false;
372
+ }
373
+ await mkdir(dirname(filePath), { recursive: true });
374
+ await writeFile(filePath, content, 'utf-8');
375
+ createdFiles.push(toRelativePath(filePath));
376
+ return true;
377
+ };
378
+ // Helper to copy file (respects skipExisting)
379
+ const copyIfNotExists = async (src, dest) => {
380
+ if (existsSync(dest) && skipExisting) {
381
+ skippedFiles.push(toRelativePath(dest));
382
+ return false;
383
+ }
384
+ await mkdir(dirname(dest), { recursive: true });
385
+ cpSync(src, dest);
386
+ createdFiles.push(toRelativePath(dest));
387
+ return true;
388
+ };
389
+ // -------------------------------------------------------------------------
390
+ // Create .squad/ directory structure
391
+ // -------------------------------------------------------------------------
299
392
  const squadDir = join(teamRoot, '.squad');
300
- if (!existsSync(squadDir)) {
301
- await mkdir(squadDir, { recursive: true });
302
- }
303
- // Create agents directory
304
- const agentsDir = join(squadDir, 'agents');
305
- if (!existsSync(agentsDir)) {
306
- await mkdir(agentsDir, { recursive: true });
307
- }
308
- // Create casting directory (for future casting system)
309
- const castingDir = join(squadDir, 'casting');
310
- if (!existsSync(castingDir)) {
311
- await mkdir(castingDir, { recursive: true });
312
- }
313
- // Create decisions directory
314
- const decisionsDir = join(squadDir, 'decisions');
315
- if (!existsSync(decisionsDir)) {
316
- await mkdir(decisionsDir, { recursive: true });
393
+ const directories = [
394
+ join(squadDir, 'agents'),
395
+ join(squadDir, 'casting'),
396
+ join(squadDir, 'decisions'),
397
+ join(squadDir, 'decisions', 'inbox'),
398
+ join(squadDir, 'skills'),
399
+ join(squadDir, 'plugins'),
400
+ join(squadDir, 'identity'),
401
+ join(squadDir, 'orchestration-log'),
402
+ join(squadDir, 'log'),
403
+ ];
404
+ for (const dir of directories) {
405
+ if (!existsSync(dir)) {
406
+ await mkdir(dir, { recursive: true });
407
+ }
317
408
  }
318
- // Create skills directory
319
- const skillsDir = join(squadDir, 'skills');
320
- if (!existsSync(skillsDir)) {
321
- await mkdir(skillsDir, { recursive: true });
409
+ // -------------------------------------------------------------------------
410
+ // Create .squad/config.json for squad settings
411
+ // -------------------------------------------------------------------------
412
+ const squadConfigPath = join(squadDir, 'config.json');
413
+ if (!existsSync(squadConfigPath)) {
414
+ const squadConfig = {
415
+ version: 1,
416
+ teamRoot: teamRoot,
417
+ };
418
+ // Only include extractionDisabled if explicitly set
419
+ if (options.extractionDisabled) {
420
+ squadConfig.extractionDisabled = true;
421
+ }
422
+ await writeFile(squadConfigPath, JSON.stringify(squadConfig, null, 2), 'utf-8');
423
+ createdFiles.push(toRelativePath(squadConfigPath));
322
424
  }
323
- // Generate configuration file
425
+ // -------------------------------------------------------------------------
426
+ // Create configuration file
427
+ // -------------------------------------------------------------------------
324
428
  const configFileName = configFormat === 'typescript' ? 'squad.config.ts' : 'squad.config.json';
325
429
  const configPath = join(teamRoot, configFileName);
326
430
  const configContent = configFormat === 'typescript'
327
431
  ? generateTypeScriptConfig(options)
328
432
  : generateJsonConfig(options);
329
- await writeFile(configPath, configContent, 'utf-8');
330
- createdFiles.push(configPath);
433
+ await writeIfNotExists(configPath, configContent);
434
+ // -------------------------------------------------------------------------
331
435
  // Create agent directories and files
436
+ // -------------------------------------------------------------------------
437
+ const agentsDir = join(squadDir, 'agents');
332
438
  for (const agent of agents) {
333
439
  const agentDir = join(agentsDir, agent.name);
334
440
  await mkdir(agentDir, { recursive: true });
@@ -336,23 +442,53 @@ export async function initSquad(options) {
336
442
  // Create charter.md
337
443
  const charterPath = join(agentDir, 'charter.md');
338
444
  const charterContent = generateCharter(agent, projectName, projectDescription);
339
- await writeFile(charterPath, charterContent, 'utf-8');
340
- createdFiles.push(charterPath);
445
+ await writeIfNotExists(charterPath, charterContent);
341
446
  // Create history.md
342
447
  const historyPath = join(agentDir, 'history.md');
343
448
  const historyContent = generateInitialHistory(agent, projectName, projectDescription, userName);
344
- await writeFile(historyPath, historyContent, 'utf-8');
345
- createdFiles.push(historyPath);
449
+ await writeIfNotExists(historyPath, historyContent);
346
450
  }
347
- // Create .gitattributes for merge drivers
348
- const gitattributesPath = join(teamRoot, '.gitattributes');
349
- const gitattributesContent = `.squad/agents/*/history.md merge=union
350
- .squad/decisions/*.md merge=union
451
+ // -------------------------------------------------------------------------
452
+ // Create identity files (now.md, wisdom.md)
453
+ // -------------------------------------------------------------------------
454
+ const identityDir = join(squadDir, 'identity');
455
+ const nowMdPath = join(identityDir, 'now.md');
456
+ const wisdomMdPath = join(identityDir, 'wisdom.md');
457
+ const nowContent = `---
458
+ updated_at: ${new Date().toISOString()}
459
+ focus_area: Initial setup
460
+ active_issues: []
461
+ ---
462
+
463
+ # What We're Focused On
464
+
465
+ Getting started. Updated by coordinator at session start.
466
+ `;
467
+ const wisdomContent = `---
468
+ last_updated: ${new Date().toISOString()}
469
+ ---
470
+
471
+ # Team Wisdom
472
+
473
+ Reusable patterns and heuristics learned through work. NOT transcripts — each entry is a distilled, actionable insight.
474
+
475
+ ## Patterns
476
+
477
+ <!-- Append entries below. Format: **Pattern:** description. **Context:** when it applies. -->
351
478
  `;
352
- await writeFile(gitattributesPath, gitattributesContent, 'utf-8');
353
- createdFiles.push(gitattributesPath);
354
- // Create initial decisions.md
355
- const decisionsPath = join(decisionsDir, 'decisions.md');
479
+ await writeIfNotExists(nowMdPath, nowContent);
480
+ await writeIfNotExists(wisdomMdPath, wisdomContent);
481
+ // -------------------------------------------------------------------------
482
+ // Create ceremonies.md
483
+ // -------------------------------------------------------------------------
484
+ const ceremoniesDest = join(squadDir, 'ceremonies.md');
485
+ if (templatesDir && existsSync(join(templatesDir, 'ceremonies.md'))) {
486
+ await copyIfNotExists(join(templatesDir, 'ceremonies.md'), ceremoniesDest);
487
+ }
488
+ // -------------------------------------------------------------------------
489
+ // Create decisions.md (canonical location at squad root)
490
+ // -------------------------------------------------------------------------
491
+ const decisionsPath = join(squadDir, 'decisions.md');
356
492
  const decisionsContent = `# Squad Decisions
357
493
 
358
494
  ## Active Decisions
@@ -365,12 +501,219 @@ No decisions recorded yet.
365
501
  - Document architectural decisions here
366
502
  - Keep history focused on work, decisions focused on direction
367
503
  `;
368
- await writeFile(decisionsPath, decisionsContent, 'utf-8');
369
- createdFiles.push(decisionsPath);
504
+ await writeIfNotExists(decisionsPath, decisionsContent);
505
+ // -------------------------------------------------------------------------
506
+ // Create team.md (required by shell lifecycle)
507
+ // -------------------------------------------------------------------------
508
+ const teamPath = join(squadDir, 'team.md');
509
+ const teamContent = `# Squad Team
510
+
511
+ > ${projectDescription || projectName}
512
+
513
+ ## Coordinator
514
+
515
+ | Name | Role | Notes |
516
+ |------|------|-------|
517
+ | Squad | Coordinator | Routes work, enforces handoffs and reviewer gates. |
518
+
519
+ ## Members
520
+
521
+ | Name | Role | Charter | Status |
522
+ |------|------|---------|--------|
523
+
524
+ ## Project Context
525
+
526
+ - **Project:** ${projectName}
527
+ ${projectDescription ? `- **Description:** ${projectDescription}\n` : ''}- **Created:** ${new Date().toISOString().split('T')[0]}
528
+ `;
529
+ await writeIfNotExists(teamPath, teamContent);
530
+ // -------------------------------------------------------------------------
531
+ // Create routing.md
532
+ // -------------------------------------------------------------------------
533
+ const routingPath = join(squadDir, 'routing.md');
534
+ if (templatesDir && existsSync(join(templatesDir, 'routing.md'))) {
535
+ await copyIfNotExists(join(templatesDir, 'routing.md'), routingPath);
536
+ }
537
+ else {
538
+ const routingContent = `# Squad Routing
539
+
540
+ ## Work Type Rules
541
+
542
+ | Work Type | Primary Agent | Fallback |
543
+ |-----------|---------------|----------|
544
+
545
+ ## Governance
546
+
547
+ - Route based on work type and agent expertise
548
+ - Update this file as team capabilities evolve
549
+ `;
550
+ await writeIfNotExists(routingPath, routingContent);
551
+ }
552
+ // -------------------------------------------------------------------------
553
+ // Copy starter skills
554
+ // -------------------------------------------------------------------------
555
+ const skillsDir = join(squadDir, 'skills');
556
+ if (templatesDir && existsSync(join(templatesDir, 'skills'))) {
557
+ const skillsSrc = join(templatesDir, 'skills');
558
+ const existingSkills = existsSync(skillsDir) ? readdirSync(skillsDir) : [];
559
+ if (existingSkills.length === 0) {
560
+ cpSync(skillsSrc, skillsDir, { recursive: true });
561
+ createdFiles.push('.squad/skills');
562
+ }
563
+ }
564
+ // -------------------------------------------------------------------------
565
+ // Create .gitattributes for merge drivers
566
+ // -------------------------------------------------------------------------
567
+ const gitattributesPath = join(teamRoot, '.gitattributes');
568
+ const unionRules = [
569
+ '.squad/decisions.md merge=union',
570
+ '.squad/agents/*/history.md merge=union',
571
+ '.squad/log/** merge=union',
572
+ '.squad/orchestration-log/** merge=union',
573
+ ];
574
+ let existingAttrs = '';
575
+ if (existsSync(gitattributesPath)) {
576
+ existingAttrs = readFileSync(gitattributesPath, 'utf-8');
577
+ }
578
+ const missingRules = unionRules.filter(rule => !existingAttrs.includes(rule));
579
+ if (missingRules.length > 0) {
580
+ const block = (existingAttrs && !existingAttrs.endsWith('\n') ? '\n' : '')
581
+ + '# Squad: union merge for append-only team state files\n'
582
+ + missingRules.join('\n') + '\n';
583
+ await appendFile(gitattributesPath, block);
584
+ createdFiles.push(toRelativePath(gitattributesPath));
585
+ }
586
+ // -------------------------------------------------------------------------
587
+ // Create .gitignore entries for logs
588
+ // -------------------------------------------------------------------------
589
+ const gitignorePath = join(teamRoot, '.gitignore');
590
+ const ignoreEntries = [
591
+ '.squad/orchestration-log/',
592
+ '.squad/log/',
593
+ ];
594
+ let existingIgnore = '';
595
+ if (existsSync(gitignorePath)) {
596
+ existingIgnore = readFileSync(gitignorePath, 'utf-8');
597
+ }
598
+ const missingIgnore = ignoreEntries.filter(entry => !existingIgnore.includes(entry));
599
+ if (missingIgnore.length > 0) {
600
+ const block = (existingIgnore && !existingIgnore.endsWith('\n') ? '\n' : '')
601
+ + '# Squad: ignore generated logs\n'
602
+ + missingIgnore.join('\n') + '\n';
603
+ await appendFile(gitignorePath, block);
604
+ createdFiles.push(toRelativePath(gitignorePath));
605
+ }
606
+ // -------------------------------------------------------------------------
607
+ // Create .github/agents/squad.agent.md
608
+ // -------------------------------------------------------------------------
609
+ const agentFile = join(teamRoot, '.github', 'agents', 'squad.agent.md');
610
+ if (!existsSync(agentFile) || !skipExisting) {
611
+ if (templatesDir && existsSync(join(templatesDir, 'squad.agent.md'))) {
612
+ let agentContent = readFileSync(join(templatesDir, 'squad.agent.md'), 'utf-8');
613
+ agentContent = stampVersionInContent(agentContent, version);
614
+ await mkdir(dirname(agentFile), { recursive: true });
615
+ await writeFile(agentFile, agentContent, 'utf-8');
616
+ createdFiles.push(toRelativePath(agentFile));
617
+ }
618
+ }
619
+ else {
620
+ skippedFiles.push(toRelativePath(agentFile));
621
+ }
622
+ // -------------------------------------------------------------------------
623
+ // Copy .squad-templates/ (optional)
624
+ // -------------------------------------------------------------------------
625
+ if (includeTemplates && templatesDir) {
626
+ const templatesDest = join(teamRoot, '.squad-templates');
627
+ if (!existsSync(templatesDest)) {
628
+ cpSync(templatesDir, templatesDest, { recursive: true });
629
+ createdFiles.push(toRelativePath(templatesDest));
630
+ }
631
+ else {
632
+ skippedFiles.push(toRelativePath(templatesDest));
633
+ }
634
+ }
635
+ // -------------------------------------------------------------------------
636
+ // Copy workflows (optional)
637
+ // -------------------------------------------------------------------------
638
+ if (includeWorkflows && templatesDir && existsSync(join(templatesDir, 'workflows'))) {
639
+ const workflowsSrc = join(templatesDir, 'workflows');
640
+ const workflowsDest = join(teamRoot, '.github', 'workflows');
641
+ if (statSync(workflowsSrc).isDirectory()) {
642
+ const workflowFiles = readdirSync(workflowsSrc).filter(f => f.endsWith('.yml'));
643
+ await mkdir(workflowsDest, { recursive: true });
644
+ for (const file of workflowFiles) {
645
+ const destFile = join(workflowsDest, file);
646
+ if (!existsSync(destFile) || !skipExisting) {
647
+ cpSync(join(workflowsSrc, file), destFile);
648
+ createdFiles.push(toRelativePath(destFile));
649
+ }
650
+ else {
651
+ skippedFiles.push(toRelativePath(destFile));
652
+ }
653
+ }
654
+ }
655
+ }
656
+ // -------------------------------------------------------------------------
657
+ // Create sample MCP config (optional)
658
+ // -------------------------------------------------------------------------
659
+ if (includeMcpConfig) {
660
+ const mcpConfigPath = join(teamRoot, '.copilot', 'mcp-config.json');
661
+ if (!existsSync(mcpConfigPath)) {
662
+ const mcpSample = {
663
+ mcpServers: {
664
+ "EXAMPLE-trello": {
665
+ command: "npx",
666
+ args: ["-y", "@trello/mcp-server"],
667
+ env: {
668
+ TRELLO_API_KEY: "${TRELLO_API_KEY}",
669
+ TRELLO_TOKEN: "${TRELLO_TOKEN}"
670
+ }
671
+ }
672
+ }
673
+ };
674
+ await mkdir(dirname(mcpConfigPath), { recursive: true });
675
+ await writeFile(mcpConfigPath, JSON.stringify(mcpSample, null, 2) + '\n', 'utf-8');
676
+ createdFiles.push(toRelativePath(mcpConfigPath));
677
+ }
678
+ else {
679
+ skippedFiles.push(toRelativePath(mcpConfigPath));
680
+ }
681
+ }
682
+ // -------------------------------------------------------------------------
683
+ // Create .first-run marker
684
+ // -------------------------------------------------------------------------
685
+ const firstRunMarker = join(squadDir, '.first-run');
686
+ if (!existsSync(firstRunMarker)) {
687
+ await writeFile(firstRunMarker, new Date().toISOString() + '\n', 'utf-8');
688
+ createdFiles.push(toRelativePath(firstRunMarker));
689
+ }
690
+ // -------------------------------------------------------------------------
691
+ // Store init prompt for REPL auto-casting
692
+ // -------------------------------------------------------------------------
693
+ if (options.prompt) {
694
+ const promptFile = join(squadDir, '.init-prompt');
695
+ await writeFile(promptFile, options.prompt, 'utf-8');
696
+ createdFiles.push(toRelativePath(promptFile));
697
+ }
370
698
  return {
371
699
  createdFiles,
700
+ skippedFiles,
372
701
  configPath,
373
- agentDirs
702
+ agentDirs,
703
+ agentFile,
704
+ squadDir,
374
705
  };
375
706
  }
707
+ /**
708
+ * Clean up orphan .init-prompt file.
709
+ * Called by CLI on Ctrl+C abort to remove partial state.
710
+ *
711
+ * @param squadDir - Path to the .squad directory
712
+ */
713
+ export async function cleanupOrphanInitPrompt(squadDir) {
714
+ const promptFile = join(squadDir, '.init-prompt');
715
+ if (existsSync(promptFile)) {
716
+ await unlink(promptFile);
717
+ }
718
+ }
376
719
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/config/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/config/init.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,9 +4,8 @@
4
4
  * CLI entry point lives in src/cli-entry.ts.
5
5
  */
6
6
  export declare const VERSION: string;
7
- export { resolveSquad, resolveSquadPaths, resolveGlobalSquadPath, ensureSquadPath, ensureSquadPathDual, ensureSquadPathResolved } from './resolution.js';
8
- export type { ResolvedSquadPaths, SquadDirConfig } from './resolution.js';
9
- export { MODELS, TIMEOUTS, AGENT_ROLES } from './runtime/constants.js';
7
+ export { resolveSquad, resolveGlobalSquadPath, ensureSquadPath, loadDirConfig, isConsultMode } from './resolution.js';
8
+ export type { SquadDirConfig, ResolvedSquadPaths } from './resolution.js';
10
9
  export * from './config/index.js';
11
10
  export * from './agents/onboarding.js';
12
11
  export * from './casting/index.js';
@@ -15,26 +14,22 @@ export { selectResponseTier, getTier } from './coordinator/response-tiers.js';
15
14
  export type { ResponseTier, TierName, TierContext, ModelTierSuggestion } from './coordinator/response-tiers.js';
16
15
  export { loadConfig, loadConfigSync } from './runtime/config.js';
17
16
  export type { ConfigLoadResult, ConfigValidationError } from './runtime/config.js';
17
+ export { MODELS, TIMEOUTS, AGENT_ROLES } from './runtime/constants.js';
18
+ export type { AgentRole } from './runtime/constants.js';
18
19
  export * from './runtime/streaming.js';
19
20
  export * from './runtime/cost-tracker.js';
20
21
  export * from './runtime/telemetry.js';
21
22
  export * from './runtime/offline.js';
22
23
  export * from './runtime/i18n.js';
23
24
  export * from './runtime/benchmarks.js';
24
- export * from './runtime/otel.js';
25
- export { createOTelTransport, bridgeEventBusToOTel } from './runtime/otel-bridge.js';
25
+ export * from './runtime/otel-init.js';
26
26
  export * from './runtime/otel-metrics.js';
27
- export { initSquadTelemetry, initAgentModeTelemetry } from './runtime/otel-init.js';
28
- export type { SquadTelemetryOptions, SquadTelemetryHandle } from './runtime/otel-init.js';
29
- export { EventBus as RuntimeEventBus } from './runtime/event-bus.js';
30
- export type { SquadEvent as RuntimeSquadEvent, SquadEventType as RuntimeSquadEventType } from './runtime/event-bus.js';
31
- export { SquadObserver, classifyFile } from './runtime/squad-observer.js';
32
- export type { SquadFileChange, SquadFileCategory, SquadObserverConfig } from './runtime/squad-observer.js';
27
+ export { getMeter, getTracer } from './runtime/otel.js';
33
28
  export { safeTimestamp } from './utils/safe-timestamp.js';
29
+ export { EventBus as RuntimeEventBus } from './runtime/event-bus.js';
34
30
  export * from './marketplace/index.js';
35
31
  export * from './build/index.js';
36
32
  export * from './sharing/index.js';
37
33
  export * from './upstream/index.js';
38
- export { getSquadRoot, resolveSquadPath, listSquads, createSquad, deleteSquad, switchSquad, migrateIfNeeded, } from './multi-squad.js';
39
- export type { SquadEntry, MultiSquadConfig, SquadInfo } from './multi-squad.js';
34
+ export * from './remote/index.js';
40
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,eAAe,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AACzJ,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACvE,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrF,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpF,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACrE,YAAY,EAAE,UAAU,IAAI,iBAAiB,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACvH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAE3G,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,eAAO,MAAM,OAAO,EAAE,MAAoB,CAAC;AAG3C,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtH,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC9E,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAChH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAErE,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}