@bradygaster/squad-cli 0.9.3-insider.1 → 0.9.4

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 (149) hide show
  1. package/README.md +33 -0
  2. package/dist/cli/commands/cast.d.ts.map +1 -1
  3. package/dist/cli/commands/cast.js +9 -2
  4. package/dist/cli/commands/cast.js.map +1 -1
  5. package/dist/cli/commands/externalize.d.ts +27 -0
  6. package/dist/cli/commands/externalize.d.ts.map +1 -0
  7. package/dist/cli/commands/externalize.js +209 -0
  8. package/dist/cli/commands/externalize.js.map +1 -0
  9. package/dist/cli/commands/loop.d.ts +6 -1
  10. package/dist/cli/commands/loop.d.ts.map +1 -1
  11. package/dist/cli/commands/loop.js +13 -13
  12. package/dist/cli/commands/loop.js.map +1 -1
  13. package/dist/cli/commands/migrate.js +2 -2
  14. package/dist/cli/commands/migrate.js.map +1 -1
  15. package/dist/cli/commands/plugin.d.ts.map +1 -1
  16. package/dist/cli/commands/plugin.js +2 -1
  17. package/dist/cli/commands/plugin.js.map +1 -1
  18. package/dist/cli/commands/rc.js +2 -2
  19. package/dist/cli/commands/rc.js.map +1 -1
  20. package/dist/cli/commands/skill.d.ts +31 -0
  21. package/dist/cli/commands/skill.d.ts.map +1 -0
  22. package/dist/cli/commands/skill.js +497 -0
  23. package/dist/cli/commands/skill.js.map +1 -0
  24. package/dist/cli/commands/start.d.ts.map +1 -1
  25. package/dist/cli/commands/start.js +31 -5
  26. package/dist/cli/commands/start.js.map +1 -1
  27. package/dist/cli/commands/watch/agent-spawn.d.ts +62 -0
  28. package/dist/cli/commands/watch/agent-spawn.d.ts.map +1 -0
  29. package/dist/cli/commands/watch/agent-spawn.js +127 -0
  30. package/dist/cli/commands/watch/agent-spawn.js.map +1 -0
  31. package/dist/cli/commands/watch/capabilities/decision-hygiene.js +3 -3
  32. package/dist/cli/commands/watch/capabilities/decision-hygiene.js.map +1 -1
  33. package/dist/cli/commands/watch/capabilities/execute.d.ts.map +1 -1
  34. package/dist/cli/commands/watch/capabilities/execute.js +15 -5
  35. package/dist/cli/commands/watch/capabilities/execute.js.map +1 -1
  36. package/dist/cli/commands/watch/capabilities/monitor-email.js +3 -3
  37. package/dist/cli/commands/watch/capabilities/monitor-email.js.map +1 -1
  38. package/dist/cli/commands/watch/capabilities/monitor-teams.js +3 -3
  39. package/dist/cli/commands/watch/capabilities/monitor-teams.js.map +1 -1
  40. package/dist/cli/commands/watch/capabilities/retro.js +3 -3
  41. package/dist/cli/commands/watch/capabilities/retro.js.map +1 -1
  42. package/dist/cli/commands/watch/capabilities/wave-dispatch.js +3 -3
  43. package/dist/cli/commands/watch/capabilities/wave-dispatch.js.map +1 -1
  44. package/dist/cli/commands/watch/config.d.ts +10 -8
  45. package/dist/cli/commands/watch/config.d.ts.map +1 -1
  46. package/dist/cli/commands/watch/config.js +27 -5
  47. package/dist/cli/commands/watch/config.js.map +1 -1
  48. package/dist/cli/commands/watch/external-loader.d.ts +14 -0
  49. package/dist/cli/commands/watch/external-loader.d.ts.map +1 -0
  50. package/dist/cli/commands/watch/external-loader.js +85 -0
  51. package/dist/cli/commands/watch/external-loader.js.map +1 -0
  52. package/dist/cli/commands/watch/health.js +10 -9
  53. package/dist/cli/commands/watch/health.js.map +1 -1
  54. package/dist/cli/commands/watch/index.d.ts +10 -0
  55. package/dist/cli/commands/watch/index.d.ts.map +1 -1
  56. package/dist/cli/commands/watch/index.js +53 -7
  57. package/dist/cli/commands/watch/index.js.map +1 -1
  58. package/dist/cli/commands/watch/pid-tracker.d.ts +35 -0
  59. package/dist/cli/commands/watch/pid-tracker.d.ts.map +1 -0
  60. package/dist/cli/commands/watch/pid-tracker.js +127 -0
  61. package/dist/cli/commands/watch/pid-tracker.js.map +1 -0
  62. package/dist/cli/commands/watch/types.d.ts +5 -0
  63. package/dist/cli/commands/watch/types.d.ts.map +1 -1
  64. package/dist/cli/core/email-scrub.js +2 -2
  65. package/dist/cli/core/email-scrub.js.map +1 -1
  66. package/dist/cli/core/gh-cli.d.ts +2 -1
  67. package/dist/cli/core/gh-cli.d.ts.map +1 -1
  68. package/dist/cli/core/gh-cli.js +3 -2
  69. package/dist/cli/core/gh-cli.js.map +1 -1
  70. package/dist/cli/core/init.d.ts.map +1 -1
  71. package/dist/cli/core/init.js +26 -31
  72. package/dist/cli/core/init.js.map +1 -1
  73. package/dist/cli/core/migrations.js +1 -1
  74. package/dist/cli/core/migrations.js.map +1 -1
  75. package/dist/cli/core/nap.js +2 -2
  76. package/dist/cli/core/nap.js.map +1 -1
  77. package/dist/cli/core/project-type.js +1 -1
  78. package/dist/cli/core/project-type.js.map +1 -1
  79. package/dist/cli/core/templates.d.ts.map +1 -1
  80. package/dist/cli/core/templates.js +48 -0
  81. package/dist/cli/core/templates.js.map +1 -1
  82. package/dist/cli/core/upgrade.d.ts +4 -2
  83. package/dist/cli/core/upgrade.d.ts.map +1 -1
  84. package/dist/cli/core/upgrade.js +46 -21
  85. package/dist/cli/core/upgrade.js.map +1 -1
  86. package/dist/cli/shell/index.d.ts.map +1 -1
  87. package/dist/cli/shell/index.js +22 -0
  88. package/dist/cli/shell/index.js.map +1 -1
  89. package/dist/cli/shell/session-store.js +2 -2
  90. package/dist/cli/shell/session-store.js.map +1 -1
  91. package/dist/cli-entry.js +101 -83
  92. package/dist/cli-entry.js.map +1 -1
  93. package/package.json +6 -2
  94. package/templates/casting-reference.md +104 -104
  95. package/templates/ceremonies.md +28 -28
  96. package/templates/fact-checker-charter.md +83 -0
  97. package/templates/mcp-config.md +0 -2
  98. package/templates/scribe-charter.md +1 -1
  99. package/templates/skills/external-comms/SKILL.md +329 -329
  100. package/templates/skills/gh-auth-isolation/SKILL.md +183 -183
  101. package/templates/skills/humanizer/SKILL.md +105 -105
  102. package/templates/skills/pr-review-response/SKILL.md +268 -0
  103. package/templates/skills/pr-screenshots/SKILL.md +149 -149
  104. package/templates/skills/versioning-policy/SKILL.md +119 -0
  105. package/templates/squad.agent.md.template +13 -6
  106. package/dist/cli/commands/watch/capabilities/budget-check.d.ts +0 -29
  107. package/dist/cli/commands/watch/capabilities/budget-check.d.ts.map +0 -1
  108. package/dist/cli/commands/watch/capabilities/budget-check.js +0 -38
  109. package/dist/cli/commands/watch/capabilities/budget-check.js.map +0 -1
  110. package/dist/cli/commands/watch/capabilities/circuit-breaker.d.ts +0 -52
  111. package/dist/cli/commands/watch/capabilities/circuit-breaker.d.ts.map +0 -1
  112. package/dist/cli/commands/watch/capabilities/circuit-breaker.js +0 -152
  113. package/dist/cli/commands/watch/capabilities/circuit-breaker.js.map +0 -1
  114. package/dist/cli/commands/watch/capabilities/health-check.d.ts +0 -29
  115. package/dist/cli/commands/watch/capabilities/health-check.d.ts.map +0 -1
  116. package/dist/cli/commands/watch/capabilities/health-check.js +0 -139
  117. package/dist/cli/commands/watch/capabilities/health-check.js.map +0 -1
  118. package/dist/cli/commands/watch/capabilities/heartbeat.d.ts +0 -48
  119. package/dist/cli/commands/watch/capabilities/heartbeat.d.ts.map +0 -1
  120. package/dist/cli/commands/watch/capabilities/heartbeat.js +0 -115
  121. package/dist/cli/commands/watch/capabilities/heartbeat.js.map +0 -1
  122. package/dist/cli/commands/watch/capabilities/lockfile.d.ts +0 -30
  123. package/dist/cli/commands/watch/capabilities/lockfile.d.ts.map +0 -1
  124. package/dist/cli/commands/watch/capabilities/lockfile.js +0 -100
  125. package/dist/cli/commands/watch/capabilities/lockfile.js.map +0 -1
  126. package/dist/cli/commands/watch/capabilities/machine-capabilities.d.ts +0 -30
  127. package/dist/cli/commands/watch/capabilities/machine-capabilities.d.ts.map +0 -1
  128. package/dist/cli/commands/watch/capabilities/machine-capabilities.js +0 -103
  129. package/dist/cli/commands/watch/capabilities/machine-capabilities.js.map +0 -1
  130. package/dist/cli/commands/watch/capabilities/post-failure.d.ts +0 -19
  131. package/dist/cli/commands/watch/capabilities/post-failure.d.ts.map +0 -1
  132. package/dist/cli/commands/watch/capabilities/post-failure.js +0 -58
  133. package/dist/cli/commands/watch/capabilities/post-failure.js.map +0 -1
  134. package/dist/cli/commands/watch/capabilities/priority.d.ts +0 -59
  135. package/dist/cli/commands/watch/capabilities/priority.d.ts.map +0 -1
  136. package/dist/cli/commands/watch/capabilities/priority.js +0 -101
  137. package/dist/cli/commands/watch/capabilities/priority.js.map +0 -1
  138. package/dist/cli/commands/watch/capabilities/rate-pool.d.ts +0 -67
  139. package/dist/cli/commands/watch/capabilities/rate-pool.d.ts.map +0 -1
  140. package/dist/cli/commands/watch/capabilities/rate-pool.js +0 -187
  141. package/dist/cli/commands/watch/capabilities/rate-pool.js.map +0 -1
  142. package/dist/cli/commands/watch/capabilities/stale-reclaim.d.ts +0 -23
  143. package/dist/cli/commands/watch/capabilities/stale-reclaim.d.ts.map +0 -1
  144. package/dist/cli/commands/watch/capabilities/stale-reclaim.js +0 -87
  145. package/dist/cli/commands/watch/capabilities/stale-reclaim.js.map +0 -1
  146. package/dist/cli/commands/watch/capabilities/webhook-alerts.d.ts +0 -29
  147. package/dist/cli/commands/watch/capabilities/webhook-alerts.d.ts.map +0 -1
  148. package/dist/cli/commands/watch/capabilities/webhook-alerts.js +0 -114
  149. package/dist/cli/commands/watch/capabilities/webhook-alerts.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhook-alerts.d.ts","sourceRoot":"","sources":["../../../../../src/cli/commands/watch/capabilities/webhook-alerts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpG,qBAAa,sBAAuB,YAAW,eAAe;IAC5D,QAAQ,CAAC,IAAI,oBAAoB;IACjC,QAAQ,CAAC,WAAW,6DAA6D;IACjF,QAAQ,CAAC,WAAW,EAAG,QAAQ,CAAU;IACzC,QAAQ,CAAC,QAAQ,UAAM;IACvB,QAAQ,CAAC,KAAK,EAAG,cAAc,CAAU;IAEnC,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAS1D,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAkFhE"}
@@ -1,114 +0,0 @@
1
- /**
2
- * Webhook alerts capability — POST to a webhook URL on consecutive failures.
3
- *
4
- * Ported from ralph-watch.ps1 Teams alert logic in `Invoke-PostFailureRemediation`.
5
- * Org-agnostic: works with any webhook that accepts JSON POST (Slack, Discord,
6
- * Teams Incoming Webhook, generic HTTP endpoint).
7
- *
8
- * Runs in the `housekeeping` phase.
9
- *
10
- * Config (via squad.config.ts → watch.capabilities["webhook-alerts"]):
11
- * webhookUrl – URL to POST to (also settable via --webhook-url flag)
12
- * alertThreshold – consecutive failures before alerting (default: 3, also --alert-threshold)
13
- * includeHostname – include machine hostname in payload (default: true)
14
- *
15
- * CLI flags:
16
- * --webhook-url <url> Override webhook URL
17
- * --alert-threshold <n> Override failure threshold
18
- */
19
- import * as os from 'node:os';
20
- import { getConsecutiveFailures } from './heartbeat.js';
21
- export class WebhookAlertCapability {
22
- name = 'webhook-alerts';
23
- description = 'POST to webhook on consecutive failures above threshold';
24
- configShape = 'object';
25
- requires = [];
26
- phase = 'housekeeping';
27
- async preflight(context) {
28
- const config = context.config;
29
- const url = config['webhookUrl'];
30
- if (!url) {
31
- return { ok: false, reason: 'No webhookUrl configured (use --webhook-url or config)' };
32
- }
33
- return { ok: true };
34
- }
35
- async execute(context) {
36
- const config = context.config;
37
- const webhookUrl = config['webhookUrl'];
38
- const threshold = config['alertThreshold'] ?? 3;
39
- const includeHostname = config['includeHostname'] ?? true;
40
- const failures = getConsecutiveFailures();
41
- if (failures < threshold) {
42
- return {
43
- success: true,
44
- summary: `${failures} failure(s) — below threshold (${threshold})`,
45
- };
46
- }
47
- // Build generic JSON payload (works with Slack, Discord, Teams, etc.)
48
- const hostname = includeHostname ? os.hostname() : 'unknown';
49
- const payload = {
50
- text: `🚨 Squad Watch Alert: ${failures} consecutive failures on ${hostname} (round ${context.round})`,
51
- // Slack-compatible fields
52
- blocks: [
53
- {
54
- type: 'section',
55
- text: {
56
- type: 'mrkdwn',
57
- text: `*🚨 Squad Watch Alert*\n${failures} consecutive failures`,
58
- },
59
- },
60
- {
61
- type: 'section',
62
- fields: [
63
- { type: 'mrkdwn', text: `*Machine:* ${hostname}` },
64
- { type: 'mrkdwn', text: `*Round:* ${context.round}` },
65
- { type: 'mrkdwn', text: `*Failures:* ${failures}` },
66
- { type: 'mrkdwn', text: `*Timestamp:* ${new Date().toISOString()}` },
67
- ],
68
- },
69
- ],
70
- // Teams-compatible fields (MessageCard format)
71
- '@type': 'MessageCard',
72
- '@context': 'https://schema.org/extensions',
73
- summary: `Squad Watch: ${failures} consecutive failures on ${hostname}`,
74
- themeColor: 'FF0000',
75
- title: `🚨 Squad Watch Alert — ${hostname}`,
76
- sections: [
77
- {
78
- activityTitle: `${failures} consecutive failures detected`,
79
- facts: [
80
- { name: 'Machine', value: hostname },
81
- { name: 'Round', value: String(context.round) },
82
- { name: 'Consecutive Failures', value: String(failures) },
83
- { name: 'Timestamp', value: new Date().toISOString() },
84
- ],
85
- },
86
- ],
87
- };
88
- try {
89
- const response = await fetch(webhookUrl, {
90
- method: 'POST',
91
- headers: { 'Content-Type': 'application/json' },
92
- body: JSON.stringify(payload),
93
- signal: AbortSignal.timeout(10_000),
94
- });
95
- if (!response.ok) {
96
- return {
97
- success: false,
98
- summary: `Webhook POST failed: ${response.status} ${response.statusText}`,
99
- };
100
- }
101
- return {
102
- success: true,
103
- summary: `Alert sent (${failures} failures, threshold ${threshold})`,
104
- };
105
- }
106
- catch (e) {
107
- return {
108
- success: false,
109
- summary: `Webhook error: ${e.message}`,
110
- };
111
- }
112
- }
113
- }
114
- //# sourceMappingURL=webhook-alerts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webhook-alerts.js","sourceRoot":"","sources":["../../../../../src/cli/commands/watch/capabilities/webhook-alerts.ts"],"names":[],"mappings":"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"}