@generacy-ai/generacy-plugin-claude-code 0.3.0 → 0.4.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.
@@ -32,6 +32,28 @@ export declare class ClaudeCodeLaunchPlugin {
32
32
  readonly pluginId = "claude-code";
33
33
  readonly provider = "claude-code";
34
34
  readonly supportedKinds: readonly ["phase", "pr-feedback", "validate-fix", "merge-conflict", "conversation-turn", "invoke"];
35
+ /**
36
+ * Whether the installed CLI supports a delivery mechanism for reasoning effort.
37
+ *
38
+ * Probes `claude --help` once per process (result cached in
39
+ * `effortMechanismCache`) and greps for `--effort`. Consulted by validate-time
40
+ * (`packages/generacy`) and spawn-time (orchestrator worker) warning surfaces
41
+ * per FR-010a of issue #1095. Runtime detection closes the drift hazard
42
+ * called out in the #1096 review Finding 3: a container whose CLI predates or
43
+ * removes `--effort` would otherwise still get the flag appended and fail the
44
+ * spawn with an unknown-option error and no `agent.effort.dropped` warning.
45
+ *
46
+ * If the probe cannot run (`claude` not on PATH, spawn error, timeout), the
47
+ * cache falls back to `true` — preserves the pre-#1096 behavior for hosts
48
+ * that do not yet have the CLI installed but will at spawn time. Force a
49
+ * fixed result in tests via `_setHasEffortMechanismForTests`.
50
+ */
51
+ static hasEffortMechanism(): boolean;
52
+ /**
53
+ * Test-only cache override. Pass `undefined` to force a re-probe on the next
54
+ * `hasEffortMechanism()` call. Not part of the public API.
55
+ */
56
+ static _setHasEffortMechanismForTests(value: boolean | undefined): void;
35
57
  buildLaunch(intent: ClaudeCodeIntent): LaunchSpec;
36
58
  createOutputParser(_intent: ClaudeCodeIntent): OutputParser;
37
59
  private buildPhaseLaunch;
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-launch-plugin.d.ts","sourceRoot":"","sources":["../../src/launch/claude-code-launch-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAOjB,MAAM,YAAY,CAAC;AAGpB;;;GAGG;AACH,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB;IACjC,QAAQ,CAAC,QAAQ,iBAAiB;IAClC,QAAQ,CAAC,QAAQ,iBAAiB;IAClC,QAAQ,CAAC,cAAc,qGAAsG;IAE7H,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAmBjD,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY;IAa3D,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,sBAAsB;IAmB9B,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,2BAA2B;CA0BpC"}
1
+ {"version":3,"file":"claude-code-launch-plugin.d.ts","sourceRoot":"","sources":["../../src/launch/claude-code-launch-plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAOjB,MAAM,YAAY,CAAC;AAGpB;;;GAGG;AACH,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,UAAU,YAAY;IACpB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,KAAK,IAAI,IAAI,CAAC;CACf;AASD;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB;IACjC,QAAQ,CAAC,QAAQ,iBAAiB;IAClC,QAAQ,CAAC,QAAQ,iBAAiB;IAClC,QAAQ,CAAC,cAAc,qGAAsG;IAE7H;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,kBAAkB,IAAI,OAAO;IAmBpC;;;OAGG;IACH,MAAM,CAAC,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAIvE,WAAW,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU;IAmBjD,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,YAAY;IAa3D,OAAO,CAAC,gBAAgB;IA8BxB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,sBAAsB;IA4B9B,OAAO,CAAC,wBAAwB;IA4BhC,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,2BAA2B;CA0BpC"}
@@ -1,4 +1,11 @@
1
+ import { execFileSync } from 'node:child_process';
1
2
  import { PHASE_TO_COMMAND, PTY_WRAPPER } from './constants.js';
3
+ /**
4
+ * Process-lifetime cache for the `--effort` capability probe. `undefined`
5
+ * means the probe has not yet run; `true`/`false` is the resolved answer.
6
+ * See `ClaudeCodeLaunchPlugin.hasEffortMechanism()`.
7
+ */
8
+ let effortMechanismCache = undefined;
2
9
  /**
3
10
  * Launch plugin for Claude Code subprocess invocations.
4
11
  *
@@ -15,6 +22,49 @@ export class ClaudeCodeLaunchPlugin {
15
22
  pluginId = 'claude-code';
16
23
  provider = 'claude-code';
17
24
  supportedKinds = ['phase', 'pr-feedback', 'validate-fix', 'merge-conflict', 'conversation-turn', 'invoke'];
25
+ /**
26
+ * Whether the installed CLI supports a delivery mechanism for reasoning effort.
27
+ *
28
+ * Probes `claude --help` once per process (result cached in
29
+ * `effortMechanismCache`) and greps for `--effort`. Consulted by validate-time
30
+ * (`packages/generacy`) and spawn-time (orchestrator worker) warning surfaces
31
+ * per FR-010a of issue #1095. Runtime detection closes the drift hazard
32
+ * called out in the #1096 review Finding 3: a container whose CLI predates or
33
+ * removes `--effort` would otherwise still get the flag appended and fail the
34
+ * spawn with an unknown-option error and no `agent.effort.dropped` warning.
35
+ *
36
+ * If the probe cannot run (`claude` not on PATH, spawn error, timeout), the
37
+ * cache falls back to `true` — preserves the pre-#1096 behavior for hosts
38
+ * that do not yet have the CLI installed but will at spawn time. Force a
39
+ * fixed result in tests via `_setHasEffortMechanismForTests`.
40
+ */
41
+ static hasEffortMechanism() {
42
+ if (effortMechanismCache !== undefined)
43
+ return effortMechanismCache;
44
+ try {
45
+ const output = execFileSync('claude', ['--help'], {
46
+ encoding: 'utf-8',
47
+ timeout: 5_000,
48
+ stdio: ['ignore', 'pipe', 'ignore'],
49
+ });
50
+ effortMechanismCache = /(^|\s)--effort(\s|=|$)/.test(output);
51
+ }
52
+ catch {
53
+ // `claude` not on PATH, spawn failed, or --help exited non-zero — preserve
54
+ // prior behavior. Operator surfaces (validate warnings + spawn-time
55
+ // warnings) rely on the plugin telling the truth about the CLI installed
56
+ // in the same environment; when we can't tell, don't invent a warning.
57
+ effortMechanismCache = true;
58
+ }
59
+ return effortMechanismCache;
60
+ }
61
+ /**
62
+ * Test-only cache override. Pass `undefined` to force a re-probe on the next
63
+ * `hasEffortMechanism()` call. Not part of the public API.
64
+ */
65
+ static _setHasEffortMechanismForTests(value) {
66
+ effortMechanismCache = value;
67
+ }
18
68
  buildLaunch(intent) {
19
69
  switch (intent.kind) {
20
70
  case 'phase':
@@ -55,6 +105,9 @@ export class ClaudeCodeLaunchPlugin {
55
105
  if (intent.model) {
56
106
  args.push('--model', intent.model);
57
107
  }
108
+ if (intent.effort) {
109
+ args.push('--effort', intent.effort);
110
+ }
58
111
  if (intent.sessionId) {
59
112
  args.push('--resume', intent.sessionId);
60
113
  }
@@ -76,6 +129,9 @@ export class ClaudeCodeLaunchPlugin {
76
129
  if (intent.model) {
77
130
  args.push('--model', intent.model);
78
131
  }
132
+ if (intent.effort) {
133
+ args.push('--effort', intent.effort);
134
+ }
79
135
  args.push(intent.prompt);
80
136
  return {
81
137
  command: 'claude',
@@ -92,8 +148,14 @@ export class ClaudeCodeLaunchPlugin {
92
148
  '--output-format', 'stream-json',
93
149
  '--dangerously-skip-permissions',
94
150
  '--verbose',
95
- intent.prompt,
96
151
  ];
152
+ if (intent.model) {
153
+ args.push('--model', intent.model);
154
+ }
155
+ if (intent.effort) {
156
+ args.push('--effort', intent.effort);
157
+ }
158
+ args.push(intent.prompt);
97
159
  return {
98
160
  command: 'claude',
99
161
  args,
@@ -109,8 +171,14 @@ export class ClaudeCodeLaunchPlugin {
109
171
  '--output-format', 'stream-json',
110
172
  '--dangerously-skip-permissions',
111
173
  '--verbose',
112
- intent.prompt,
113
174
  ];
175
+ if (intent.model) {
176
+ args.push('--model', intent.model);
177
+ }
178
+ if (intent.effort) {
179
+ args.push('--effort', intent.effort);
180
+ }
181
+ args.push(intent.prompt);
114
182
  return {
115
183
  command: 'claude',
116
184
  args,
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-launch-plugin.js","sourceRoot":"","sources":["../../src/launch/claude-code-launch-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-code-launch-plugin.js","sourceRoot":"","sources":["../../src/launch/claude-code-launch-plugin.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,12 @@
12
12
  * `claude-code-launch-plugin.ts`. (Issue #813 permits importing or structurally
13
13
  * matching the orchestrator-owned intent types.)
14
14
  */
15
+ /**
16
+ * Reasoning effort level mirror. The canonical schema lives in
17
+ * `@generacy-ai/config` (`EffortSchema`). Kept local here to avoid a build-time
18
+ * dep on the config package (same rationale as the intent-type mirrors above).
19
+ */
20
+ export type Effort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
15
21
  /**
16
22
  * Intent for executing a speckit workflow phase via Claude CLI.
17
23
  * Excludes 'validate' at compile time — validate runs via GenericSubprocessPlugin.
@@ -26,6 +32,8 @@ export interface PhaseIntent {
26
32
  sessionId?: string;
27
33
  /** Optional model override, provider-interpreted. */
28
34
  model?: string;
35
+ /** Optional reasoning-effort override, provider-interpreted. */
36
+ effort?: Effort;
29
37
  }
30
38
  /**
31
39
  * Intent for addressing PR review feedback via Claude CLI.
@@ -38,6 +46,8 @@ export interface PrFeedbackIntent {
38
46
  prompt: string;
39
47
  /** Optional model override, provider-interpreted. */
40
48
  model?: string;
49
+ /** Optional reasoning-effort override, provider-interpreted. */
50
+ effort?: Effort;
41
51
  }
42
52
  /**
43
53
  * Intent for a bounded merge-conflict resolution agent attempt (#898).
@@ -51,6 +61,12 @@ export interface MergeConflictIntent {
51
61
  issueNumber: number;
52
62
  /** Full prompt (built by MergeConflictHandler via buildMergeConflictPrompt) */
53
63
  prompt: string;
64
+ /** Provider breadcrumb (dispatch reads LaunchRequest.provider). */
65
+ provider?: string;
66
+ /** Optional model override, provider-interpreted. */
67
+ model?: string;
68
+ /** Optional reasoning-effort override, provider-interpreted. */
69
+ effort?: Effort;
54
70
  }
55
71
  /**
56
72
  * Intent for a bounded validate-fix agent attempt (#892). Routes through the
@@ -65,6 +81,12 @@ export interface ValidateFixIntent {
65
81
  prompt: string;
66
82
  /** 64-hex SHA-256 identity of the failing evidence — surfaces in logs. */
67
83
  evidenceHash: string;
84
+ /** Provider breadcrumb (dispatch reads LaunchRequest.provider). */
85
+ provider?: string;
86
+ /** Optional model override, provider-interpreted. */
87
+ model?: string;
88
+ /** Optional reasoning-effort override, provider-interpreted. */
89
+ effort?: Effort;
68
90
  }
69
91
  /**
70
92
  * Intent for a single interactive conversation turn via PTY-wrapped Claude CLI.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/launch/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9D,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,YAAY,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/launch/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,+BAA+B;IAC/B,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAC9D,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,gBAAgB,CAAC;IACvB,0BAA0B;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,QAAQ,CAAC;IACf,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,gBAAgB,GAChB,iBAAiB,GACjB,mBAAmB,GACnB,sBAAsB,GACtB,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@generacy-ai/generacy-plugin-claude-code",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Claude Code agent platform plugin for Generacy - invokes Claude Code agents in isolated Docker containers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",