fix: wire watch/triage CLI command + add wiring regression test - #238
Closed
tamirdresher wants to merge 10 commits into
Closed
tamirdresher wants to merge 10 commits into
tamirdresher wants to merge 10 commits into
Annotations
10 errors
|
test/first-run-gating.test.ts#L658
AssertionError: expected null not to be null
❯ test/first-run-gating.test.ts:658:29
|
|
test/first-run-gating.test.ts#L504
AssertionError: expected '#!/usr/bin/env node\n\n/**\n * Squad …' to match /process\.env\.NODE_NO_WARNINGS\s*=\s*…/
- Expected:
/process\.env\.NODE_NO_WARNINGS\s*=\s*['"]1['"]/
+ Received:
"#!/usr/bin/env node
/**
* Squad CLI — entry point for command-line invocation.
* Separated from src/index.ts so library consumers can import
* the SDK without triggering CLI argument parsing or process.exit().
*
* SDK library exports live in src/index.ts (dist/index.js).
*/
import fs from 'node:fs';
import path from 'node:path';
import { fatal, SquadError } from './cli/core/errors.js';
import { BOLD, RESET, DIM, RED } from './cli/core/output.js';
import { runInit } from './cli/core/init.js';
import { resolveSquad, resolveGlobalSquadPath } from '@bradygaster/squad-sdk';
import { runShell } from './cli/shell/index.js';
// Keep VERSION in index.ts (public API); import it here via re-export
import { VERSION } from '@bradygaster/squad-sdk';
async function main(): Promise<void> {
const args = process.argv.slice(2);
const hasGlobal = args.includes('--global');
const cmd = args[0];
// --version / -v
if (cmd === '--version' || cmd === '-v') {
console.log(`squad ${VERSION}`);
return;
}
// --help / -h / help
if (cmd === '--help' || cmd === '-h' || cmd === 'help') {
console.log(`\\n${BOLD}squad${RESET} v${VERSION} — Add an AI agent team to any project\\n`);
console.log(`Usage: squad [command] [options]\\n`);
console.log(`Commands:`);
console.log(` ${BOLD}(default)${RESET} Launch interactive shell (no args)`);
console.log(` Flags: --global (init in personal squad directory)`);
console.log(` ${BOLD}init${RESET} Initialize Squad (skip files that already exist)`);
console.log(` Flags: --global (init in personal squad directory)`);
console.log(` ${BOLD}upgrade${RESET} Update Squad-owned files to latest version`);
console.log(` Overwrites: squad.agent.md, templates dir (.squad/templates/)`);
console.log(` Never touches: .squad/ or .ai-team/ (your team state)`);
console.log(` Flags: --global (upgrade personal squad), --migrate-directory (rename .ai-team/ → .squad/)`);
console.log(` ${BOLD}upstream${RESET} Manage upstream squad inheritance`);
console.log(` ${BOLD}status${RESET} Show which squad is active and why`);
console.log(` ${BOLD}triage${RESET} Scan for work and categorize issues`);
console.log(` Usage: triage [--interval <minutes>]`);
console.log(` Default: checks every 10 minutes (Ctrl+C to stop)`);
console.log(` ${BOLD}watch${RESET} Persistent Ralph — poll for work between sessions`);
console.log(` Usage: watch [--interval <minutes>]`);
console.log(` Default: checks every 10 minutes, runs until Ctrl+C`);
console.log(` ${BOLD}loop${RESET} Continuous work loop (Ralph mode)`);
console.log(` Usage: loop [--filter <label>] [--interval <minutes>]`);
console.log(` Default: checks every 10 minutes (Ctrl+C to stop)`);
console.log(` ${BOLD}hire${RESET} Team creation wizard`);
console.log(` Usage: hire [--name <name>] [--role <role>]`);
console.log(` ${BOLD}copilot${RESET} Add/remove the Copilot coding agent (@copilot)`);
console.log(` Usage: copilot [--off] [--auto-assign]`);
console.log(` ${BOLD}plugin${RESET} Manage plugin marketplaces`);
console.log(` Usage: plugin marketplace add|remove|list|browse`);
console.log(` ${BOLD}export${RESET} Export squad to a portable JSON snapshot`);
console.log(` Default: squad-export.json (use --out <path> to override)`);
console.log(` ${BOLD}import${RESET} Import squad from an export file`);
console.log(` Usage: import <file> [--force]`);
console.log(` ${BOLD}scrub-emails${RESET} Remove email addresses from Squad state files`);
console.log(` Usage: scrub-emails [direct
|
|
test/docs-build.test.ts#L166
Error: Test timed out in 5000ms.
If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".
❯ test/docs-build.test.ts:166:3
|
|
test/cli-p0-regressions.test.ts#L95
AssertionError: expected '✗ Unknown command: nonexistent-comman…' to match /squad doctor/i
- Expected:
/squad doctor/i
+ Received:
"✗ Unknown command: nonexistent-command
Run 'squad help' for usage information.
"
❯ test/cli-p0-regressions.test.ts:95:22
|
|
test/cli-p0-regressions.test.ts#L75
AssertionError: expected 1 to be +0 // Object.is equality
- Expected
+ Received
- 0
+ 1
❯ test/cli-p0-regressions.test.ts:75:24
|
|
test/cli-p0-regressions.test.ts#L63
AssertionError: expected 1 to be +0 // Object.is equality
- Expected
+ Received
- 0
+ 1
❯ test/cli-p0-regressions.test.ts:63:24
|
|
test/cli-p0-regressions.test.ts#L51
AssertionError: expected 1 to be +0 // Object.is equality
- Expected
+ Received
- 0
+ 1
❯ test/cli-p0-regressions.test.ts:51:24
|
|
test/cli-p0-regressions.test.ts#L38
AssertionError: expected 'squad 0.8.21-preview.3' to match /^\d+\.\d+\.\d+/
- Expected:
/^\d+\.\d+\.\d+/
+ Received:
"squad 0.8.21-preview.3"
❯ test/cli-p0-regressions.test.ts:38:22
|
|
test/cli-p0-regressions.test.ts#L29
AssertionError: expected 'squad 0.8.21-preview.3' to match /^\d+\.\d+\.\d+/
- Expected:
/^\d+\.\d+\.\d+/
+ Received:
"squad 0.8.21-preview.3"
❯ test/cli-p0-regressions.test.ts:29:24
|
|
test/aspire-integration.test.ts#L142
Error: browserType.launch: Executable doesn't exist at /home/runner/.cache/ms-playwright/chromium_headless_shell-1208/chrome-headless-shell-linux64/chrome-headless-shell
╔═════════════════════════════════════════════════════════════════════════╗
║ Looks like Playwright Test or Playwright was just installed or updated. ║
║ Please run the following command to download new browsers: ║
║ ║
║ npx playwright install ║
║ ║
║ <3 Playwright Team ║
╚═════════════════════════════════════════════════════════════════════════╝
❯ test/aspire-integration.test.ts:142:32
|
The logs for this run have expired and are no longer available.
Loading