@agent-deck/cli 2.1.1 → 2.2.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/dist/run.d.ts CHANGED
@@ -1,15 +1,6 @@
1
+ import { type AgentRunService, type ClaudeAdapterDeps, type ClaudeClientProbe, type ClientAdapter, type CodexAdapterDeps, type CursorAdapterDeps, type MuseAdapterDeps, type RunClient, type RunDeck, type RunResumeOrigin, type RunQueryFn, type RunToolsProfile } from '@agent-deck/backend/agent-run';
1
2
  import { resolveMcpLaunchPlan } from './mcp-launcher';
2
- import { type RunClient, type RunToolsProfile } from './run-adapter';
3
- import { type ClaudeAdapterDeps, type RunQueryFn } from './run-claude';
4
- import { type CodexAdapterDeps } from './run-codex';
5
- import { type CursorAdapterDeps } from './run-cursor';
6
- import { type MuseAdapterDeps } from './run-muse';
7
- export { allowedToolsForProfile, RUN_EDIT_TOOLS, RUN_PERMISSION_MODE, RUN_READONLY_TOOLS, RUN_SETTING_SOURCES, RUN_TOOL_PROFILES, type RunToolsProfile, } from './run-adapter';
8
- export type { RunClient } from './run-adapter';
9
- export type { ClaudeAdapterDeps, RunQueryFn, RunQueryMessage, RunQueryOptions } from './run-claude';
10
- export type { CodexAdapterDeps } from './run-codex';
11
- export type { CursorAdapterDeps } from './run-cursor';
12
- export type { MuseAdapterDeps } from './run-muse';
3
+ export { allowedToolsForProfile, CLAUDE_AUTH_LOGIN_COMMAND, claudeAuthStatusShowsLogin, defaultClaudeClientProbe, findExecutableOnPath, findReceiptDeckMismatch, newRunId, RUN_CLAUDE_NOT_INSTALLED_ERROR, RUN_CLAUDE_NOT_SIGNED_IN_ERROR, RUN_EDIT_TOOLS, RUN_PERMISSION_MODE, RUN_READONLY_TOOLS, RUN_SETTING_SOURCES, RUN_TOOL_PROFILES, writeRunMeta, type ClaudeAdapterDeps, type ClaudeClientProbe, type ClaudeClientStatus, type CodexAdapterDeps, type CursorAdapterDeps, type MuseAdapterDeps, type RunClient, type RunLogLine, type RunMeta, type RunQueryFn, type RunQueryMessage, type RunQueryOptions, type RunToolsProfile, } from '@agent-deck/backend/agent-run';
13
4
  export type RunOptions = {
14
5
  deckRef: string;
15
6
  client: RunClient;
@@ -26,48 +17,6 @@ export type RunOptions = {
26
17
  export declare function parseRunArgs(args: string[]): RunOptions | {
27
18
  error: string;
28
19
  };
29
- export type RunLogLine = {
30
- t: 'text';
31
- ts: string;
32
- text: string;
33
- } | {
34
- t: 'tool';
35
- ts: string;
36
- name: string;
37
- } | {
38
- t: 'result';
39
- ts: string;
40
- sessionId: string | null;
41
- subtype: string;
42
- result: unknown;
43
- } | {
44
- t: 'end';
45
- ts: string;
46
- sessionId: string | null;
47
- } | {
48
- t: 'notice';
49
- ts: string;
50
- message: string;
51
- sessionId: string | null;
52
- } | {
53
- t: 'error';
54
- ts: string;
55
- message: string;
56
- sessionId: string | null;
57
- };
58
- export type RunMeta = {
59
- runId: string;
60
- deck: string;
61
- client: RunClient;
62
- tools: RunToolsProfile;
63
- cwd: string;
64
- pid: number;
65
- startedAt: string;
66
- state: 'running' | 'ended' | 'error';
67
- sessionId?: string;
68
- /** Present only when the launch bypassed a client workspace-trust guard. */
69
- trustOverride?: true;
70
- };
71
20
  export type RunDeps = {
72
21
  /** NOT-400 seam, kept for compatibility: injected `query()` for the Claude adapter. */
73
22
  query?: RunQueryFn;
@@ -87,36 +36,9 @@ export type RunDeps = {
87
36
  homeDir?: string;
88
37
  /** Injected in tests; production probes the local Claude Code CLI (NOT-405). */
89
38
  claudeProbe?: ClaudeClientProbe;
39
+ /** Injected in tests: replaces every client adapter with a fixture. */
40
+ createAdapter?: (client: RunClient) => ClientAdapter;
90
41
  };
91
- /** Outcome of the Claude Code client probe: installed and signed in, or why not. */
92
- export type ClaudeClientStatus = {
93
- ok: true;
94
- } | {
95
- ok: false;
96
- reason: 'not-installed' | 'not-signed-in';
97
- };
98
- export type ClaudeClientProbe = () => Promise<ClaudeClientStatus> | ClaudeClientStatus;
99
- /** The one fix command both preflight remedies name. Verified against `claude auth --help`. */
100
- export declare const CLAUDE_AUTH_LOGIN_COMMAND = "claude auth login";
101
- export declare const RUN_CLAUDE_NOT_INSTALLED_ERROR = "Claude Code is not installed (no `claude` on PATH). Install Claude Code, then run `claude auth login` to sign in, then retry.";
102
- export declare const RUN_CLAUDE_NOT_SIGNED_IN_ERROR = "Claude Code is not signed in. Run `claude auth login` to sign in with your own account, then retry.";
103
- /** First executable `name` on `pathEnv`, or null. Pure apart from the fs check. */
104
- export declare function findExecutableOnPath(name: string, pathEnv?: string): string | null;
105
- /**
106
- * True only when `claude auth status` JSON reports a login. Never throws:
107
- * garbage, an empty string, or a logged-out report all read as signed out.
108
- */
109
- export declare function claudeAuthStatusShowsLogin(stdout: string): boolean;
110
- /**
111
- * Default Claude Code preflight: the `claude` CLI must be on PATH and
112
- * `claude auth status` must report a login. Local only — no model call.
113
- * An explicit ANTHROPIC_API_KEY passes without the OAuth check once the
114
- * `claude` CLI is found on PATH (API-key onboarding stays out of scope;
115
- * the friend path signs in via `claude auth login`). Any other failure —
116
- * logged out, unparseable output, a hung or crashed `claude` — reads as
117
- * not signed in; re-running the login is the remedy in every case.
118
- */
119
- export declare function defaultClaudeClientProbe(): Promise<ClaudeClientStatus>;
120
42
  /**
121
43
  * Test-only fake runner for the `run --detach` integration suite. The detached
122
44
  * child is a real process, so dependency injection cannot reach it; instead the
@@ -142,32 +64,12 @@ export type RunFakeBehavior = {
142
64
  };
143
65
  export declare function loadRunFakeBehavior(): RunFakeBehavior | null;
144
66
  export type RunPrereqDeps = Pick<RunDeps, 'resolveDeck' | 'resolveLaunchPlan' | 'claudeProbe'>;
145
- export declare function newRunId(): string;
146
- /**
147
- * Atomic run-record write: readers (`run status`, detach tests, orchestrators)
148
- * poll meta.json while the run child rewrites it, and a plain writeFileSync
149
- * truncates before writing — a concurrent read lands on empty/partial bytes
150
- * and JSON.parse throws. Writing to a sibling temp file and renaming keeps
151
- * every observed state a complete document (rename is atomic on POSIX and
152
- * Windows). The pid suffix keeps the starter's and the child's temp files
153
- * distinct when both target the same meta.json.
154
- */
155
- export declare function writeRunMeta(metaPath: string, meta: RunMeta): void;
156
67
  /**
157
- * Session receipt check: the agent harness prints the bound deck as one
158
- * `get_session_context` receipt line rendering `display_summary`
159
- * (e.g. `◆ dev · 2 MCP · 0 keys · 1 playbooks`). Returns the mismatching deck
160
- * token when the log positively shows a deck other than the requested one;
161
- * a missing receipt is not a mismatch (the pre-start assignment gate is the
162
- * fail-closed check; this is a second net for a mis-bound session).
163
- * The fragments are joined before scanning: real clients stream token-level
164
- * deltas, so one receipt line can arrive split across many text events and a
165
- * per-fragment scan would miss the mismatch.
68
+ * The shared run service wired to the CLI host: deck lookup through the local
69
+ * collection, the folder assignment as the MCP launcher reads it, the Claude
70
+ * SDK resolved from this package, and the detach-integration fake.
166
71
  */
167
- export declare function findReceiptDeckMismatch(texts: readonly string[], deck: {
168
- id: string;
169
- name: string;
170
- }): string | null;
72
+ export declare function createCliRunService(deps?: RunDeps): AgentRunService;
171
73
  /**
172
74
  * Everything a run must prove before it may start streaming: a readable brief,
173
75
  * an existing cwd, a known deck, and a folder assignment already bound to that
@@ -176,10 +78,8 @@ export declare function findReceiptDeckMismatch(texts: readonly string[], deck:
176
78
  */
177
79
  export declare function validateRunPrereqs(options: RunOptions, deps?: RunPrereqDeps): Promise<{
178
80
  promptText: string;
179
- deck: {
180
- id: string;
181
- name: string;
182
- };
81
+ deck: RunDeck;
82
+ resumedFrom?: RunResumeOrigin;
183
83
  } | {
184
84
  error: string;
185
85
  }>;
package/dist/run.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}