@jaggerxtrm/specialists 3.7.1 → 3.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.
- package/README.md +23 -9
- package/config/mandatory-rules/README.md +113 -0
- package/config/mandatory-rules/gitnexus-required.md +12 -1
- package/config/mandatory-rules/serena-cheatsheet.md +41 -0
- package/config/skills/specialists-creator/SKILL.md +6 -32
- package/config/skills/specialists-creator/scripts/audit-spec-uniformity.mjs +86 -0
- package/config/skills/specialists-creator/scripts/scaffold-specialist.ts +1 -6
- package/config/skills/update-specialists/SKILL.md +83 -8
- package/config/skills/using-specialists/SKILL.md +13 -0
- package/config/skills/using-specialists-v2/SKILL.md +639 -0
- package/config/specialists/debugger.specialist.json +7 -9
- package/config/specialists/executor.specialist.json +5 -6
- package/config/specialists/explorer.specialist.json +3 -7
- package/config/specialists/memory-processor.specialist.json +8 -9
- package/config/specialists/node-coordinator.specialist.json +1 -5
- package/config/specialists/overthinker.specialist.json +7 -13
- package/config/specialists/planner.specialist.json +12 -12
- package/config/specialists/researcher.specialist.json +9 -14
- package/config/specialists/reviewer.specialist.json +8 -8
- package/config/specialists/specialists-creator.specialist.json +7 -2
- package/config/specialists/sync-docs.specialist.json +7 -11
- package/config/specialists/test-runner.specialist.json +4 -13
- package/config/specialists/xt-merge.specialist.json +3 -5
- package/dist/index.js +3066 -1368
- package/dist/lib.js +13219 -0
- package/dist/types/cli/attach.d.ts +2 -0
- package/dist/types/cli/attach.d.ts.map +1 -0
- package/dist/types/cli/clean.d.ts +2 -0
- package/dist/types/cli/clean.d.ts.map +1 -0
- package/dist/types/cli/config.d.ts +2 -0
- package/dist/types/cli/config.d.ts.map +1 -0
- package/dist/types/cli/db.d.ts +2 -0
- package/dist/types/cli/db.d.ts.map +1 -0
- package/dist/types/cli/doctor.d.ts +15 -0
- package/dist/types/cli/doctor.d.ts.map +1 -0
- package/dist/types/cli/edit.d.ts +2 -0
- package/dist/types/cli/edit.d.ts.map +1 -0
- package/dist/types/cli/end.d.ts +2 -0
- package/dist/types/cli/end.d.ts.map +1 -0
- package/dist/types/cli/epic.d.ts +8 -0
- package/dist/types/cli/epic.d.ts.map +1 -0
- package/dist/types/cli/feed.d.ts +19 -0
- package/dist/types/cli/feed.d.ts.map +1 -0
- package/dist/types/cli/follow-up.d.ts +2 -0
- package/dist/types/cli/follow-up.d.ts.map +1 -0
- package/dist/types/cli/format-helpers.d.ts +108 -0
- package/dist/types/cli/format-helpers.d.ts.map +1 -0
- package/dist/types/cli/help.d.ts +2 -0
- package/dist/types/cli/help.d.ts.map +1 -0
- package/dist/types/cli/init.d.ts +10 -0
- package/dist/types/cli/init.d.ts.map +1 -0
- package/dist/types/cli/install.d.ts +2 -0
- package/dist/types/cli/install.d.ts.map +1 -0
- package/dist/types/cli/list-rules.d.ts +2 -0
- package/dist/types/cli/list-rules.d.ts.map +1 -0
- package/dist/types/cli/list.d.ts +13 -0
- package/dist/types/cli/list.d.ts.map +1 -0
- package/dist/types/cli/memory.d.ts +2 -0
- package/dist/types/cli/memory.d.ts.map +1 -0
- package/dist/types/cli/merge.d.ts +79 -0
- package/dist/types/cli/merge.d.ts.map +1 -0
- package/dist/types/cli/models.d.ts +2 -0
- package/dist/types/cli/models.d.ts.map +1 -0
- package/dist/types/cli/node.d.ts +2 -0
- package/dist/types/cli/node.d.ts.map +1 -0
- package/dist/types/cli/poll.d.ts +25 -0
- package/dist/types/cli/poll.d.ts.map +1 -0
- package/dist/types/cli/ps.d.ts +2 -0
- package/dist/types/cli/ps.d.ts.map +1 -0
- package/dist/types/cli/quickstart.d.ts +2 -0
- package/dist/types/cli/quickstart.d.ts.map +1 -0
- package/dist/types/cli/result.d.ts +2 -0
- package/dist/types/cli/result.d.ts.map +1 -0
- package/dist/types/cli/resume.d.ts +2 -0
- package/dist/types/cli/resume.d.ts.map +1 -0
- package/dist/types/cli/run.d.ts +2 -0
- package/dist/types/cli/run.d.ts.map +1 -0
- package/dist/types/cli/script.d.ts +23 -0
- package/dist/types/cli/script.d.ts.map +1 -0
- package/dist/types/cli/serve.d.ts +17 -0
- package/dist/types/cli/serve.d.ts.map +1 -0
- package/dist/types/cli/setup.d.ts +2 -0
- package/dist/types/cli/setup.d.ts.map +1 -0
- package/dist/types/cli/status.d.ts +4 -0
- package/dist/types/cli/status.d.ts.map +1 -0
- package/dist/types/cli/steer.d.ts +2 -0
- package/dist/types/cli/steer.d.ts.map +1 -0
- package/dist/types/cli/stop.d.ts +2 -0
- package/dist/types/cli/stop.d.ts.map +1 -0
- package/dist/types/cli/tmux-utils.d.ts +23 -0
- package/dist/types/cli/tmux-utils.d.ts.map +1 -0
- package/dist/types/cli/validate.d.ts +11 -0
- package/dist/types/cli/validate.d.ts.map +1 -0
- package/dist/types/cli/version.d.ts +2 -0
- package/dist/types/cli/version.d.ts.map +1 -0
- package/dist/types/cli/view.d.ts +2 -0
- package/dist/types/cli/view.d.ts.map +1 -0
- package/dist/types/constants.d.ts +140 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/lib.d.ts +5 -0
- package/dist/types/lib.d.ts.map +1 -0
- package/dist/types/pi/backendMap.d.ts +3 -0
- package/dist/types/pi/backendMap.d.ts.map +1 -0
- package/dist/types/pi/session.d.ts +209 -0
- package/dist/types/pi/session.d.ts.map +1 -0
- package/dist/types/server.d.ts +10 -0
- package/dist/types/server.d.ts.map +1 -0
- package/dist/types/specialist/beads.d.ts +60 -0
- package/dist/types/specialist/beads.d.ts.map +1 -0
- package/dist/types/specialist/chain-identity.d.ts +18 -0
- package/dist/types/specialist/chain-identity.d.ts.map +1 -0
- package/dist/types/specialist/epic-lifecycle.d.ts +57 -0
- package/dist/types/specialist/epic-lifecycle.d.ts.map +1 -0
- package/dist/types/specialist/epic-readiness.d.ts +55 -0
- package/dist/types/specialist/epic-readiness.d.ts.map +1 -0
- package/dist/types/specialist/epic-reconciler.d.ts +35 -0
- package/dist/types/specialist/epic-reconciler.d.ts.map +1 -0
- package/dist/types/specialist/hooks.d.ts +44 -0
- package/dist/types/specialist/hooks.d.ts.map +1 -0
- package/dist/types/specialist/job-control.d.ts +29 -0
- package/dist/types/specialist/job-control.d.ts.map +1 -0
- package/dist/types/specialist/job-file-output.d.ts +4 -0
- package/dist/types/specialist/job-file-output.d.ts.map +1 -0
- package/dist/types/specialist/job-root.d.ts +21 -0
- package/dist/types/specialist/job-root.d.ts.map +1 -0
- package/dist/types/specialist/jobRegistry.d.ts +69 -0
- package/dist/types/specialist/jobRegistry.d.ts.map +1 -0
- package/dist/types/specialist/json-output.d.ts +2 -0
- package/dist/types/specialist/json-output.d.ts.map +1 -0
- package/dist/types/specialist/loader.d.ts +48 -0
- package/dist/types/specialist/loader.d.ts.map +1 -0
- package/dist/types/specialist/mandatory-rules.d.ts +41 -0
- package/dist/types/specialist/mandatory-rules.d.ts.map +1 -0
- package/dist/types/specialist/memory-retrieval.d.ts +34 -0
- package/dist/types/specialist/memory-retrieval.d.ts.map +1 -0
- package/dist/types/specialist/model-display.d.ts +4 -0
- package/dist/types/specialist/model-display.d.ts.map +1 -0
- package/dist/types/specialist/node-contract.d.ts +343 -0
- package/dist/types/specialist/node-contract.d.ts.map +1 -0
- package/dist/types/specialist/node-resolve.d.ts +5 -0
- package/dist/types/specialist/node-resolve.d.ts.map +1 -0
- package/dist/types/specialist/node-supervisor.d.ts +198 -0
- package/dist/types/specialist/node-supervisor.d.ts.map +1 -0
- package/dist/types/specialist/observability-db.d.ts +19 -0
- package/dist/types/specialist/observability-db.d.ts.map +1 -0
- package/dist/types/specialist/observability-sqlite.d.ts +218 -0
- package/dist/types/specialist/observability-sqlite.d.ts.map +1 -0
- package/dist/types/specialist/pipeline.d.ts +23 -0
- package/dist/types/specialist/pipeline.d.ts.map +1 -0
- package/dist/types/specialist/process-liveness.d.ts +2 -0
- package/dist/types/specialist/process-liveness.d.ts.map +1 -0
- package/dist/types/specialist/runner.d.ts +98 -0
- package/dist/types/specialist/runner.d.ts.map +1 -0
- package/dist/types/specialist/schema.d.ts +2875 -0
- package/dist/types/specialist/schema.d.ts.map +1 -0
- package/dist/types/specialist/script-runner.d.ts +47 -0
- package/dist/types/specialist/script-runner.d.ts.map +1 -0
- package/dist/types/specialist/supervisor.d.ts +142 -0
- package/dist/types/specialist/supervisor.d.ts.map +1 -0
- package/dist/types/specialist/templateEngine.d.ts +2 -0
- package/dist/types/specialist/templateEngine.d.ts.map +1 -0
- package/dist/types/specialist/timeline-events.d.ts +563 -0
- package/dist/types/specialist/timeline-events.d.ts.map +1 -0
- package/dist/types/specialist/timeline-query.d.ts +129 -0
- package/dist/types/specialist/timeline-query.d.ts.map +1 -0
- package/dist/types/specialist/worktree-gc.d.ts +24 -0
- package/dist/types/specialist/worktree-gc.d.ts.map +1 -0
- package/dist/types/specialist/worktree.d.ts +69 -0
- package/dist/types/specialist/worktree.d.ts.map +1 -0
- package/dist/types/tools/specialist/feed_specialist.tool.d.ts +51 -0
- package/dist/types/tools/specialist/feed_specialist.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/list_specialists.tool.d.ts +28 -0
- package/dist/types/tools/specialist/list_specialists.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/resume_specialist.tool.d.ts +46 -0
- package/dist/types/tools/specialist/resume_specialist.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/specialist_init.tool.d.ts +26 -0
- package/dist/types/tools/specialist/specialist_init.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/specialist_status.tool.d.ts +33 -0
- package/dist/types/tools/specialist/specialist_status.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/steer_specialist.tool.d.ts +38 -0
- package/dist/types/tools/specialist/steer_specialist.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/stop_specialist.tool.d.ts +31 -0
- package/dist/types/tools/specialist/stop_specialist.tool.d.ts.map +1 -0
- package/dist/types/tools/specialist/use_specialist.tool.d.ts +93 -0
- package/dist/types/tools/specialist/use_specialist.tool.d.ts.map +1 -0
- package/dist/types/utils/circuitBreaker.d.ts +19 -0
- package/dist/types/utils/circuitBreaker.d.ts.map +1 -0
- package/dist/types/utils/logger.d.ts +11 -0
- package/dist/types/utils/logger.d.ts.map +1 -0
- package/package.json +13 -2
- package/config/specialists/parallel-review.specialist.json +0 -65
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attach.d.ts","sourceRoot":"","sources":["../../../src/cli/attach.ts"],"names":[],"mappings":"AA2BA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA8BzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/clean.ts"],"names":[],"mappings":"AAySA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsCzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/config.ts"],"names":[],"mappings":"AAgFA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAQzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/cli/db.ts"],"names":[],"mappings":"AAuyBA,wBAAsB,GAAG,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDxF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare function parseVersionTuple(value: string): [number, number, number] | null;
|
|
2
|
+
export declare function compareVersions(left: string, right: string): number;
|
|
3
|
+
export declare function setStatusError(statusPath: string): void;
|
|
4
|
+
interface CleanupProcessesResult {
|
|
5
|
+
total: number;
|
|
6
|
+
running: number;
|
|
7
|
+
zombies: number;
|
|
8
|
+
updated: number;
|
|
9
|
+
zombieJobIds: string[];
|
|
10
|
+
}
|
|
11
|
+
export declare function cleanupProcesses(jobsDir: string, dryRun: boolean): CleanupProcessesResult;
|
|
12
|
+
export declare function renderProcessSummary(result: CleanupProcessesResult, dryRun: boolean): string;
|
|
13
|
+
export declare function run(argv?: readonly string[]): Promise<void>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"AA0bA,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAKhF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWnE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CASvD;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAuEzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ5F;AAiFD,wBAAsB,GAAG,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../../src/cli/edit.ts"],"names":[],"mappings":"AAglBA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAwGzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"end.d.ts","sourceRoot":"","sources":["../../../src/cli/end.ts"],"names":[],"mappings":"AAkHA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqCzC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare function handleEpicListCommand(argv: readonly string[]): Promise<void>;
|
|
2
|
+
export declare function handleEpicResolveCommand(argv: readonly string[]): Promise<void>;
|
|
3
|
+
export declare function handleEpicMergeCommand(argv: readonly string[]): Promise<void>;
|
|
4
|
+
export declare function handleEpicSyncCommand(argv: readonly string[]): Promise<void>;
|
|
5
|
+
export declare function handleEpicAbandonCommand(argv: readonly string[]): Promise<void>;
|
|
6
|
+
export declare function handleEpicStatusCommand(argv: readonly string[]): Promise<void>;
|
|
7
|
+
export declare function handleEpicCommand(argv: readonly string[]): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=epic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epic.d.ts","sourceRoot":"","sources":["../../../src/cli/epic.ts"],"names":[],"mappings":"AA8dA,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+ClF;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ErF;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFnF;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDlF;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CrF;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAwFpF;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4E9E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feed v2: unified chronological timeline for specialists jobs.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* specialists|sp feed [options]
|
|
6
|
+
*
|
|
7
|
+
* Options:
|
|
8
|
+
* --job <id> Filter to a specific job
|
|
9
|
+
* --specialist <name> Filter by specialist name
|
|
10
|
+
* --node <node-ref> Filter by node id (unique prefix allowed)
|
|
11
|
+
* --since <timestamp> Start time (ISO 8601 or milliseconds ago like '5m', '1h')
|
|
12
|
+
* --from <job:seq> Show only events at/after cursor tuple (job_id:seq)
|
|
13
|
+
* --limit <n> Max recent events to show (default: 100)
|
|
14
|
+
* --follow, -f Live follow mode (append new events at bottom)
|
|
15
|
+
* --forever Stay open even when all jobs complete
|
|
16
|
+
* --json Output as NDJSON
|
|
17
|
+
*/
|
|
18
|
+
export declare function run(): Promise<void>;
|
|
19
|
+
//# sourceMappingURL=feed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/cli/feed.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AA+zBH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA8CzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-up.d.ts","sourceRoot":"","sources":["../../../src/cli/follow-up.ts"],"names":[],"mappings":"AAGA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAMzC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared formatting primitives for specialists observability surfaces.
|
|
3
|
+
*
|
|
4
|
+
* Used by:
|
|
5
|
+
* - `feed.ts` — timeline event rendering
|
|
6
|
+
* - `status.ts` — job table rendering
|
|
7
|
+
* - future dashboard/UI surfaces
|
|
8
|
+
*
|
|
9
|
+
* ## Design goals
|
|
10
|
+
*
|
|
11
|
+
* - Compact, information-dense output
|
|
12
|
+
* - Stable color assignment across refresh/follow iterations
|
|
13
|
+
* - Consistent labels and timestamps
|
|
14
|
+
* - Clear lifecycle banners
|
|
15
|
+
*/
|
|
16
|
+
export declare const dim: (s: string) => string;
|
|
17
|
+
export declare const bold: (s: string) => string;
|
|
18
|
+
export declare const cyan: (s: string) => string;
|
|
19
|
+
export declare const yellow: (s: string) => string;
|
|
20
|
+
export declare const red: (s: string) => string;
|
|
21
|
+
export declare const green: (s: string) => string;
|
|
22
|
+
export declare const blue: (s: string) => string;
|
|
23
|
+
export declare const magenta: (s: string) => string;
|
|
24
|
+
export type Colorizer = (s: string) => string;
|
|
25
|
+
/** Standard color palette for job attribution (cycled) */
|
|
26
|
+
export declare const JOB_COLORS: Colorizer[];
|
|
27
|
+
/**
|
|
28
|
+
* Format timestamp as HH:MM:SS (compact, for event lines).
|
|
29
|
+
*/
|
|
30
|
+
export declare function formatTime(t: number): string;
|
|
31
|
+
/**
|
|
32
|
+
* Format timestamp as YYYY-MM-DD HH:MM:SS (verbose, for banners).
|
|
33
|
+
*/
|
|
34
|
+
export declare function formatDateTime(t: number): string;
|
|
35
|
+
/**
|
|
36
|
+
* Format elapsed seconds as compact string (e.g., "42s", "5m 30s").
|
|
37
|
+
*/
|
|
38
|
+
export declare function formatElapsed(seconds: number): string;
|
|
39
|
+
export declare function formatCostUsd(costUsd: number | undefined): string | null;
|
|
40
|
+
export declare function formatTokenUsageSummary(tokenUsage: {
|
|
41
|
+
total_tokens?: number;
|
|
42
|
+
input_tokens?: number;
|
|
43
|
+
output_tokens?: number;
|
|
44
|
+
cost_usd?: number;
|
|
45
|
+
} | undefined): string[];
|
|
46
|
+
/**
|
|
47
|
+
* Compact labels for event types (5 chars max, pad for alignment).
|
|
48
|
+
*/
|
|
49
|
+
export declare const EVENT_LABELS: Record<string, string>;
|
|
50
|
+
/**
|
|
51
|
+
* Get compact label for an event type.
|
|
52
|
+
*/
|
|
53
|
+
export declare function getEventLabel(type: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Human-readable status strings.
|
|
56
|
+
*/
|
|
57
|
+
export declare function getStatusLabel(status: string): string;
|
|
58
|
+
/**
|
|
59
|
+
* Colorizer for status values.
|
|
60
|
+
*/
|
|
61
|
+
export declare function statusColorizer(status: string): Colorizer;
|
|
62
|
+
/**
|
|
63
|
+
* Stable color assignment for jobs.
|
|
64
|
+
* Same job ID always gets the same color across iterations.
|
|
65
|
+
*/
|
|
66
|
+
export declare class JobColorMap {
|
|
67
|
+
private colors;
|
|
68
|
+
private nextIdx;
|
|
69
|
+
getColor(jobId: string): Colorizer;
|
|
70
|
+
/** Get color for a job ID, assigning a new one if needed */
|
|
71
|
+
get(jobId: string): Colorizer;
|
|
72
|
+
/** Check if we already have a color for this job */
|
|
73
|
+
has(jobId: string): boolean;
|
|
74
|
+
/** Number of jobs with assigned colors */
|
|
75
|
+
get size(): number;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Format job completion banner.
|
|
79
|
+
*/
|
|
80
|
+
export declare function formatCompleteBanner(jobId: string, specialist: string, elapsed_s: number, colorize: Colorizer): string;
|
|
81
|
+
/**
|
|
82
|
+
* Format job error banner.
|
|
83
|
+
*/
|
|
84
|
+
export declare function formatErrorBanner(jobId: string, specialist: string, error: string, colorize: Colorizer): string;
|
|
85
|
+
/**
|
|
86
|
+
* Format job discovery banner (new job found during follow).
|
|
87
|
+
*/
|
|
88
|
+
export declare function formatDiscoveryBanner(jobId: string): string;
|
|
89
|
+
import type { TimelineEvent } from '../specialist/timeline-events.js';
|
|
90
|
+
export declare function formatEventLine(event: TimelineEvent, options: {
|
|
91
|
+
jobId: string;
|
|
92
|
+
specialist: string;
|
|
93
|
+
beadId?: string;
|
|
94
|
+
nodeId?: string;
|
|
95
|
+
contextPct?: number;
|
|
96
|
+
colorize: Colorizer;
|
|
97
|
+
}): string;
|
|
98
|
+
/**
|
|
99
|
+
* Format a single timeline event as a compact inline line for run's human output mode.
|
|
100
|
+
* Returns null for events that should be suppressed (noisy internals).
|
|
101
|
+
*/
|
|
102
|
+
export declare function formatEventInline(event: TimelineEvent): string | null;
|
|
103
|
+
export type InlineIndicatorPhase = 'thinking' | 'text' | null;
|
|
104
|
+
export declare function formatEventInlineDebounced(event: TimelineEvent, activePhase: InlineIndicatorPhase): {
|
|
105
|
+
line: string | null;
|
|
106
|
+
nextPhase: InlineIndicatorPhase;
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=format-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../src/cli/format-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../../src/cli/help.ts"],"names":[],"mappings":"AAmEA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAiGzC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface InitOptions {
|
|
2
|
+
/** When true, copy canonical specialists to .specialists/default/ and migrate legacy layouts. */
|
|
3
|
+
syncDefaults?: boolean;
|
|
4
|
+
/** When true, overwrite canonical skills in .xtrm/skills/default/ and refresh active symlinks only. */
|
|
5
|
+
syncSkills?: boolean;
|
|
6
|
+
/** Skip xtrm prerequisites (.xtrm dir + xt CLI). Useful for CI/testing. */
|
|
7
|
+
noXtrmCheck?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function run(opts?: InitOptions): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAq0BA,MAAM,WAAW,WAAW;IAC1B,iGAAiG;IACjG,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uGAAuG;IACvG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwG/D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/install.ts"],"names":[],"mappings":"AAOA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAazC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-rules.d.ts","sourceRoot":"","sources":["../../../src/cli/list-rules.ts"],"names":[],"mappings":"AA4LA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAgFzC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface ParsedArgs {
|
|
2
|
+
category?: string;
|
|
3
|
+
scope?: 'default' | 'user';
|
|
4
|
+
json?: boolean;
|
|
5
|
+
live?: boolean;
|
|
6
|
+
showDead?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare class ArgParseError extends Error {
|
|
9
|
+
constructor(message: string);
|
|
10
|
+
}
|
|
11
|
+
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
12
|
+
export declare function run(): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/cli/list.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoBD,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AA8JD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA6CpD;AAGD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA+DzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cli/memory.ts"],"names":[],"mappings":"AAgBA,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAyB5D"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { type EpicState } from '../specialist/epic-lifecycle.js';
|
|
2
|
+
interface JobStatusRecord {
|
|
3
|
+
id: string;
|
|
4
|
+
bead_id?: string;
|
|
5
|
+
status?: string;
|
|
6
|
+
branch?: string;
|
|
7
|
+
worktree_path?: string;
|
|
8
|
+
started_at_ms?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ChainMergeTarget {
|
|
11
|
+
beadId: string;
|
|
12
|
+
branch: string;
|
|
13
|
+
worktreePath: string;
|
|
14
|
+
jobId: string;
|
|
15
|
+
jobStatus: string;
|
|
16
|
+
startedAtMs: number;
|
|
17
|
+
}
|
|
18
|
+
export interface MergeStepResult {
|
|
19
|
+
beadId: string;
|
|
20
|
+
branch: string;
|
|
21
|
+
changedFiles: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface MergeExecutionOptions {
|
|
24
|
+
rebuild: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type PublicationMode = 'direct' | 'pr';
|
|
27
|
+
export interface PublicationExecutionOptions extends MergeExecutionOptions {
|
|
28
|
+
mode: PublicationMode;
|
|
29
|
+
publicationLabel: string;
|
|
30
|
+
}
|
|
31
|
+
export interface PublicationResult {
|
|
32
|
+
steps: MergeStepResult[];
|
|
33
|
+
pullRequestUrl?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare function parseChildBeadIds(childrenOutput: string): string[];
|
|
36
|
+
export declare function resolveChainEpicMembership(chainRootBeadId: string): {
|
|
37
|
+
epicId?: string;
|
|
38
|
+
source: 'sqlite' | 'bead-parent' | 'none';
|
|
39
|
+
};
|
|
40
|
+
export interface EpicGuardResult {
|
|
41
|
+
blocked: boolean;
|
|
42
|
+
epicId?: string;
|
|
43
|
+
epicStatus?: EpicState;
|
|
44
|
+
message?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function checkEpicUnresolvedGuard(chainRootBeadId: string): EpicGuardResult;
|
|
47
|
+
export declare function readAllJobStatuses(): JobStatusRecord[];
|
|
48
|
+
export declare function selectNewestChainRootJob(beadId: string, statuses: readonly JobStatusRecord[]): ChainMergeTarget | null;
|
|
49
|
+
export declare function ensureTerminalJobs(chains: readonly ChainMergeTarget[]): void;
|
|
50
|
+
export declare function topologicallySortChains(chains: readonly ChainMergeTarget[], dependenciesByBeadId: ReadonlyMap<string, readonly string[]>): ChainMergeTarget[];
|
|
51
|
+
export declare function resolveMergeTargetsForBeadIds(beadIds: readonly string[]): ChainMergeTarget[];
|
|
52
|
+
export declare function resolveMergeTargets(target: string): ChainMergeTarget[];
|
|
53
|
+
interface MergePreviewFileDelta {
|
|
54
|
+
status: string;
|
|
55
|
+
path: string;
|
|
56
|
+
}
|
|
57
|
+
interface MergePreviewDelta {
|
|
58
|
+
branch: string;
|
|
59
|
+
files: MergePreviewFileDelta[];
|
|
60
|
+
substantiveFiles: MergePreviewFileDelta[];
|
|
61
|
+
noiseFiles: MergePreviewFileDelta[];
|
|
62
|
+
}
|
|
63
|
+
interface MergeWorthinessDecision {
|
|
64
|
+
shouldMerge: boolean;
|
|
65
|
+
reason: 'ok' | 'empty-delta' | 'noise-only-delta';
|
|
66
|
+
}
|
|
67
|
+
export declare function assertMainRepoCleanForMerge(cwd: string): void;
|
|
68
|
+
export declare function previewBranchMergeDelta(branch: string, cwd?: string): MergePreviewDelta;
|
|
69
|
+
export declare function evaluateMergeWorthiness(preview: MergePreviewDelta): MergeWorthinessDecision;
|
|
70
|
+
export declare function rebaseBranchOntoMaster(branch: string, worktreePath: string): void;
|
|
71
|
+
export declare function mergeBranch(branch: string, cwd?: string): void;
|
|
72
|
+
export declare function runTypecheckGate(cwd?: string): void;
|
|
73
|
+
export declare function runRebuild(cwd?: string): void;
|
|
74
|
+
export declare function printSummary(steps: readonly MergeStepResult[], rebuild: boolean): void;
|
|
75
|
+
export declare function runMergePlan(targets: readonly ChainMergeTarget[], options: MergeExecutionOptions): MergeStepResult[];
|
|
76
|
+
export declare function executePublicationPlan(targets: readonly ChainMergeTarget[], options: PublicationExecutionOptions): PublicationResult;
|
|
77
|
+
export declare function run(): Promise<void>;
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/cli/merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../src/cli/models.ts"],"names":[],"mappings":"AAyDA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/cli/node.ts"],"names":[],"mappings":"AAk/BA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiErE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI command: specialists poll <job-id>
|
|
3
|
+
*
|
|
4
|
+
* Machine-readable job status polling.
|
|
5
|
+
* DB-backed in normal runtime; file reads remain legacy/operator-only.
|
|
6
|
+
* Designed for programmatic consumption (Claude Code, scripts).
|
|
7
|
+
*
|
|
8
|
+
* Output (JSON mode):
|
|
9
|
+
* {
|
|
10
|
+
* "job_id": "abc123",
|
|
11
|
+
* "status": "running" | "done" | "error" | "cancelled" | "waiting",
|
|
12
|
+
* "elapsed_ms": 45000,
|
|
13
|
+
* "cursor": 1523,
|
|
14
|
+
* "output": "...", // full output when done
|
|
15
|
+
* "output_delta": "...", // new output since cursor
|
|
16
|
+
* "events": [...], // new events since cursor
|
|
17
|
+
* "current_event": "text",
|
|
18
|
+
* "current_tool": "read",
|
|
19
|
+
* "model": "claude-sonnet-4-6",
|
|
20
|
+
* "backend": "anthropic",
|
|
21
|
+
* "bead_id": "unitAI-123"
|
|
22
|
+
* }
|
|
23
|
+
*/
|
|
24
|
+
export declare function run(): Promise<void>;
|
|
25
|
+
//# sourceMappingURL=poll.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../../src/cli/poll.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAuHH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAwBzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ps.d.ts","sourceRoot":"","sources":["../../../src/cli/ps.ts"],"names":[],"mappings":"AAy6BA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quickstart.d.ts","sourceRoot":"","sources":["../../../src/cli/quickstart.ts"],"names":[],"mappings":"AAmBA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqOzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/cli/result.ts"],"names":[],"mappings":"AA4OA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAoQzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resume.d.ts","sourceRoot":"","sources":["../../../src/cli/resume.ts"],"names":[],"mappings":"AAUA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA2CzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AAsiBA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA8RzC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ScriptGenerateResult } from '../specialist/script-runner.js';
|
|
2
|
+
interface ScriptArgs {
|
|
3
|
+
specialist: string;
|
|
4
|
+
variables: Record<string, string>;
|
|
5
|
+
template?: string;
|
|
6
|
+
modelOverride?: string;
|
|
7
|
+
thinking?: string;
|
|
8
|
+
projectDir: string;
|
|
9
|
+
dbPath?: string;
|
|
10
|
+
timeoutMs?: number;
|
|
11
|
+
json: boolean;
|
|
12
|
+
singleInstance?: string;
|
|
13
|
+
trace: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function parseArgs(argv: string[]): ScriptArgs;
|
|
16
|
+
export declare function mapExitCode(result: ScriptGenerateResult): number;
|
|
17
|
+
export declare function run(argv?: string[]): Promise<void>;
|
|
18
|
+
export declare const scriptCli: {
|
|
19
|
+
parseArgs: typeof parseArgs;
|
|
20
|
+
mapExitCode: typeof mapExitCode;
|
|
21
|
+
};
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=script.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/cli/script.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE5H,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAsCpD;AAcD,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAchE;AAwBD,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,eAAO,MAAM,SAAS;;;CAA6B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type IncomingMessage, type ServerResponse } from 'node:http';
|
|
2
|
+
interface ServeArgs {
|
|
3
|
+
port: number;
|
|
4
|
+
concurrency: number;
|
|
5
|
+
queueTimeoutMs: number;
|
|
6
|
+
shutdownGraceMs: number;
|
|
7
|
+
projectDir: string;
|
|
8
|
+
fallbackModel?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function startServe(argv?: string[]): Promise<{
|
|
11
|
+
server: import("http").Server<typeof IncomingMessage, typeof ServerResponse>;
|
|
12
|
+
args: ServeArgs;
|
|
13
|
+
db: import("../specialist/observability-sqlite.js").ObservabilitySqliteClient | null;
|
|
14
|
+
}>;
|
|
15
|
+
export declare function run(argv?: string[]): Promise<void>;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=serve.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAQpF,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA+CD,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAM,EAA0B;;;;GAqDtE;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/cli/setup.ts"],"names":[],"mappings":"AAOA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/status.ts"],"names":[],"mappings":"AAsEA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzC,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAsLD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAiOzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steer.d.ts","sourceRoot":"","sources":["../../../src/cli/steer.ts"],"names":[],"mappings":"AAUA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0CzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../../src/cli/stop.ts"],"names":[],"mappings":"AA0DA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA8FzC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Returns true if tmux is available on PATH */
|
|
2
|
+
export declare function isTmuxAvailable(): boolean;
|
|
3
|
+
/** Build canonical session name: sp-<specialist>-<suffix> */
|
|
4
|
+
export declare function buildSessionName(specialist: string, suffix: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Create a detached tmux session running cmd.
|
|
7
|
+
* - Sets SPECIALISTS_TMUX_SESSION=name as env var inside the session
|
|
8
|
+
* - Unsets CLAUDECODE, CLAUDE_CODE_SSE_PORT, CLAUDE_CODE_ENTRYPOINT (Claude Code nesting guard)
|
|
9
|
+
* - Wraps command in /bin/bash -c '...' for cross-shell compatibility
|
|
10
|
+
* - extraEnv: additional key=value pairs to export in the session
|
|
11
|
+
* @throws if tmux exits non-zero
|
|
12
|
+
*/
|
|
13
|
+
export declare function createTmuxSession(name: string, cwd: string, cmd: string, extraEnv?: Record<string, string>): void;
|
|
14
|
+
/**
|
|
15
|
+
* Check whether a tmux session currently exists.
|
|
16
|
+
* Returns false when tmux exits non-zero or the check times out.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isTmuxSessionAlive(sessionName: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Kill a tmux session. Idempotent — does not throw if session is already dead.
|
|
21
|
+
*/
|
|
22
|
+
export declare function killTmuxSession(name: string): void;
|
|
23
|
+
//# sourceMappingURL=tmux-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmux-utils.d.ts","sourceRoot":"","sources":["../../../src/cli/tmux-utils.ts"],"names":[],"mappings":"AAYA,gDAAgD;AAChD,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACpC,IAAI,CAuBN;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAElD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ParsedArgs {
|
|
2
|
+
value: string;
|
|
3
|
+
json?: boolean;
|
|
4
|
+
target?: 'script';
|
|
5
|
+
}
|
|
6
|
+
export declare class ArgParseError extends Error {
|
|
7
|
+
constructor(message: string);
|
|
8
|
+
}
|
|
9
|
+
export declare function parseArgs(argv: string[]): ParsedArgs;
|
|
10
|
+
export declare function run(): Promise<void>;
|
|
11
|
+
//# sourceMappingURL=validate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/validate.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAapD;AAgCD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0FzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/cli/version.ts"],"names":[],"mappings":"AAOA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAmBzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/cli/view.ts"],"names":[],"mappings":"AAyOA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDzC"}
|