@stigmer/cli 3.12.5 → 3.12.7

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 (57) hide show
  1. package/commands/agent-exec-flags.d.ts +1 -0
  2. package/commands/agent-exec-flags.d.ts.map +1 -1
  3. package/commands/agent-exec-flags.js +3 -1
  4. package/commands/agent-exec-flags.js.map +1 -1
  5. package/commands/setup.d.ts.map +1 -1
  6. package/commands/setup.js +38 -18
  7. package/commands/setup.js.map +1 -1
  8. package/local/daemon/components.d.ts.map +1 -1
  9. package/local/daemon/components.js +11 -1
  10. package/local/daemon/components.js.map +1 -1
  11. package/local/daemon/env.d.ts +6 -0
  12. package/local/daemon/env.d.ts.map +1 -1
  13. package/local/daemon/env.js +8 -0
  14. package/local/daemon/env.js.map +1 -1
  15. package/local/daemon/launch.d.ts.map +1 -1
  16. package/local/daemon/launch.js +15 -0
  17. package/local/daemon/launch.js.map +1 -1
  18. package/local/operator-config.d.ts +28 -0
  19. package/local/operator-config.d.ts.map +1 -0
  20. package/local/operator-config.js +77 -0
  21. package/local/operator-config.js.map +1 -0
  22. package/local/setup/wizard.d.ts +16 -3
  23. package/local/setup/wizard.d.ts.map +1 -1
  24. package/local/setup/wizard.js +72 -13
  25. package/local/setup/wizard.js.map +1 -1
  26. package/package.json +5 -5
  27. package/resources/run/agent-exec.d.ts.map +1 -1
  28. package/resources/run/agent-exec.js +1 -0
  29. package/resources/run/agent-exec.js.map +1 -1
  30. package/resources/run/create.d.ts +2 -1
  31. package/resources/run/create.d.ts.map +1 -1
  32. package/resources/run/create.js +11 -6
  33. package/resources/run/create.js.map +1 -1
  34. package/resources/run/prepare.d.ts +15 -0
  35. package/resources/run/prepare.d.ts.map +1 -1
  36. package/resources/run/prepare.js +14 -0
  37. package/resources/run/prepare.js.map +1 -1
  38. package/resources/task-configs.js +10 -1
  39. package/resources/task-configs.js.map +1 -1
  40. package/src/commands/agent-exec-flags.ts +5 -2
  41. package/src/commands/setup.ts +48 -18
  42. package/src/local/daemon/components.test.ts +20 -0
  43. package/src/local/daemon/components.ts +9 -1
  44. package/src/local/daemon/env.test.ts +21 -0
  45. package/src/local/daemon/env.ts +14 -0
  46. package/src/local/daemon/launch.ts +17 -0
  47. package/src/local/operator-config.test.ts +72 -0
  48. package/src/local/operator-config.ts +95 -0
  49. package/src/local/setup/wizard.test.ts +46 -1
  50. package/src/local/setup/wizard.ts +82 -13
  51. package/src/resources/run/agent-exec.test.ts +1 -0
  52. package/src/resources/run/agent-exec.ts +1 -0
  53. package/src/resources/run/create.test.ts +48 -1
  54. package/src/resources/run/create.ts +11 -6
  55. package/src/resources/run/prepare.test.ts +14 -1
  56. package/src/resources/run/prepare.ts +25 -0
  57. package/src/resources/task-configs.ts +10 -1
@@ -7,11 +7,13 @@
7
7
  // Local agent execution is Anthropic-only (the native runner only constructs
8
8
  // Anthropic clients and the registry's native entries are Anthropic models),
9
9
  // so the interactive flow is a single API-key prompt rather than a provider
10
- // menu. There is no model concept here at all: the platform model registry
11
- // owns the execution default, and per-run overrides belong to `stigmer run
12
- // --model` (oss#314 removed the dead setup-level pin).
10
+ // menu, followed by the skippable operator-identity prompt (oss#796). There
11
+ // is no model concept here at all: the platform model registry owns the
12
+ // execution default, and per-run overrides belong to `stigmer run --model`
13
+ // (oss#314 removed the dead setup-level pin).
13
14
  import { setLlm } from "../llm-config.js";
14
- import { promptSecret } from "./prompt.js";
15
+ import { setOperator, validateOperatorIdentity, } from "../operator-config.js";
16
+ import { promptLine, promptSecret } from "./prompt.js";
15
17
  /**
16
18
  * The providers `stigmer setup` accepts. This is the single source of truth
17
19
  * for the CLI's local-provider surface — `setup --provider` validates against
@@ -37,24 +39,81 @@ export function buildLlmForChoice(choice, inputs = {}) {
37
39
  export function applyChoice(config, choice, inputs = {}) {
38
40
  return setLlm(config, buildLlmForChoice(choice, inputs));
39
41
  }
42
+ /**
43
+ * Resolve operator-identity inputs to the settings to persist, validating the
44
+ * way the server's boot check will (oss#796) — the pure decision core shared
45
+ * by the flag path and the interactive prompt, like buildLlmForChoice. An
46
+ * empty email with an empty name yields `undefined` (nothing to persist —
47
+ * identity stays whatever it was; the anonymous default is the absence of
48
+ * the section, not an empty one). Throws on inputs the server would refuse
49
+ * at boot, so the failure surfaces at setup time.
50
+ */
51
+ export function buildOperatorForInputs(email, name) {
52
+ const error = validateOperatorIdentity(email, name);
53
+ if (error !== undefined) {
54
+ throw new Error(error);
55
+ }
56
+ const trimmedEmail = email.trim();
57
+ if (trimmedEmail === "")
58
+ return undefined;
59
+ const trimmedName = name.trim();
60
+ return trimmedName === "" ? { email: trimmedEmail } : { email: trimmedEmail, name: trimmedName };
61
+ }
62
+ /** Apply operator-identity inputs to a config, returning the updated copy. */
63
+ export function applyOperatorIdentity(config, email, name) {
64
+ const settings = buildOperatorForInputs(email, name);
65
+ return settings === undefined ? config : setOperator(config, settings);
66
+ }
40
67
  /**
41
68
  * Run the interactive setup against the current terminal: one Anthropic
42
- * API-key prompt. A key already in the environment is used without prompting
43
- * (and never persisted — env precedence makes a copy redundant); an empty
44
- * entry is an explicit skip.
69
+ * API-key prompt, then the (skippable) operator-identity prompt. A key
70
+ * already in the environment is used without prompting (and never persisted —
71
+ * env precedence makes a copy redundant); an empty entry is an explicit skip.
45
72
  */
46
73
  export async function runInteractiveWizard(config, env = process.env) {
47
74
  process.stderr.write("\nStigmer runs local agents on Anthropic Claude models.\n");
48
75
  process.stderr.write("The model is chosen automatically from the platform model registry.\n\n");
76
+ let updated;
49
77
  if (env.ANTHROPIC_API_KEY) {
50
78
  process.stderr.write("Using ANTHROPIC_API_KEY from environment\n");
51
- return applyChoice(config, "anthropic");
79
+ updated = applyChoice(config, "anthropic");
80
+ }
81
+ else {
82
+ const key = (await promptSecret("Enter your Anthropic API key (press Enter to skip)")).trim();
83
+ if (key === "") {
84
+ process.stderr.write("Skipped. Agents won't execute until a provider is configured (stigmer setup).\n");
85
+ updated = applyChoice(config, "skip");
86
+ }
87
+ else {
88
+ updated = applyChoice(config, "anthropic", { apiKey: key });
89
+ }
90
+ }
91
+ return runOperatorIdentityStep(updated, env);
92
+ }
93
+ /**
94
+ * The operator-identity step (oss#796): opt-in, skippable, and env-aware in
95
+ * the same way the API-key step is — an env-provided identity is used without
96
+ * prompting and never persisted (env precedence makes a copy redundant). An
97
+ * invalid entry is refused and NOT persisted (re-run `stigmer setup`), the
98
+ * same rule the server enforces at boot, just earlier.
99
+ */
100
+ async function runOperatorIdentityStep(config, env) {
101
+ process.stderr.write("\nAn operator identity attributes local creates to you and unlocks identity-gated MCP tools.\n");
102
+ if ((env.STIGMER_OPERATOR_EMAIL ?? "").trim() !== "") {
103
+ process.stderr.write("Using STIGMER_OPERATOR_EMAIL from environment\n");
104
+ return config;
105
+ }
106
+ const email = (await promptLine("Operator email (press Enter to skip): ")).trim();
107
+ if (email === "") {
108
+ return config;
109
+ }
110
+ const name = (await promptLine("Operator display name (optional): ")).trim();
111
+ try {
112
+ return applyOperatorIdentity(config, email, name);
52
113
  }
53
- const key = (await promptSecret("Enter your Anthropic API key (press Enter to skip)")).trim();
54
- if (key === "") {
55
- process.stderr.write("Skipped. Agents won't execute until a provider is configured (stigmer setup).\n");
56
- return applyChoice(config, "skip");
114
+ catch (error) {
115
+ process.stderr.write(`Not saved: ${error instanceof Error ? error.message : String(error)} — re-run stigmer setup.\n`);
116
+ return config;
57
117
  }
58
- return applyChoice(config, "anthropic", { apiKey: key });
59
118
  }
60
119
  //# sourceMappingURL=wizard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/local/setup/wizard.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,4EAA4E;AAC5E,wEAAwE;AACxE,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,2EAA2E;AAC3E,uDAAuD;AAGvD,OAAO,EAAoB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,CAAU,CAAC;AAQ/D;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB,EAAE,SAA0B,EAAE;IACpF,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,QAAQ,GAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnD,IAAI,MAAM,CAAC,MAAM;QAAE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAsB,EAAE,SAA0B,EAAE;IAC9F,OAAO,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAc,EAAE,MAAyB,OAAO,CAAC,GAAG;IAC7F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC;IAEhG,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,GAAG,GAAG,CAAC,MAAM,YAAY,CAAC,oDAAoD,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9F,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACxG,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"wizard.js","sourceRoot":"","sources":["../../../src/local/setup/wizard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigmer/cli",
3
- "version": "3.12.5",
3
+ "version": "3.12.7",
4
4
  "description": "Stigmer command-line interface — manage agents, workflows, MCP servers, skills, and executions from the terminal",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -35,10 +35,10 @@
35
35
  "@connectrpc/connect": "^2.0.0",
36
36
  "@connectrpc/connect-node": "^2.1.1",
37
37
  "@modelcontextprotocol/sdk": "^1.26.0",
38
- "@stigmer/ink": "3.12.5",
39
- "@stigmer/mcp-server": "3.12.5",
40
- "@stigmer/protos": "3.12.5",
41
- "@stigmer/sdk": "3.12.5",
38
+ "@stigmer/ink": "3.12.7",
39
+ "@stigmer/mcp-server": "3.12.7",
40
+ "@stigmer/protos": "3.12.7",
41
+ "@stigmer/sdk": "3.12.7",
42
42
  "commander": "^12.1.0",
43
43
  "fflate": "^0.8.3",
44
44
  "ink": "^7.0.0",
@@ -1 +1 @@
1
- {"version":3,"file":"agent-exec.d.ts","sourceRoot":"","sources":["../../../src/resources/run/agent-exec.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DvF"}
1
+ {"version":3,"file":"agent-exec.d.ts","sourceRoot":"","sources":["../../../src/resources/run/agent-exec.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oDAAoD,CAAC;AAChF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;CAChC;AAED,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgEvF"}
@@ -27,6 +27,7 @@ export async function executeResolvedAgent(input) {
27
27
  model: prepared.model,
28
28
  mode: prepared.mode,
29
29
  serviceTier: prepared.serviceTier,
30
+ thinking: prepared.thinking,
30
31
  autoApproveAll: prepared.autoApproveAll,
31
32
  });
32
33
  // The backend owns the canonical session id: it creates the session and
@@ -1 +1 @@
1
- {"version":3,"file":"agent-exec.js","sourceRoot":"","sources":["../../../src/resources/run/agent-exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-exec.js","sourceRoot":"","sources":["../../../src/resources/run/agent-exec.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import type { Attachment } from "@stigmer/protos/ai/stigmer/agentic/agentexecuti
5
5
  import type { WorkspaceEntry } from "@stigmer/protos/ai/stigmer/agentic/session/v1/workspace_pb";
6
6
  import { type WorkflowExecution } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
7
7
  import type { RuntimeEnv } from "./env.js";
8
- import type { RunMode, ServiceTierFlag } from "./prepare.js";
8
+ import type { RunMode, ServiceTierFlag, ThinkingFlag } from "./prepare.js";
9
9
  export type ControllerFn = <Desc extends DescService>(service: Desc) => Client<Desc>;
10
10
  /**
11
11
  * Inputs for creating an agent execution. At least one of agentId/sessionId
@@ -28,6 +28,7 @@ export interface CreateAgentExecutionInput {
28
28
  readonly model: string;
29
29
  readonly mode: RunMode;
30
30
  readonly serviceTier: ServiceTierFlag;
31
+ readonly thinking: ThinkingFlag;
31
32
  readonly autoApproveAll: boolean;
32
33
  }
33
34
  /** Create an agent execution. Mirrors Go's createAgentExecution. */
@@ -1 +1 @@
1
- {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/resources/run/create.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,6DAA6D,CAAC;AAGxH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAQ/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AACjG,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,gEAAgE,CAAC;AAKxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAM7D,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,SAAS,WAAW,EAAE,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,oEAAoE;AACpE,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED,gDAAgD;AAChD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAY5B"}
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/resources/run/create.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,6DAA6D,CAAC;AAGxH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAQ/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AACjG,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,gEAAgE,CAAC;AAKxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM3E,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,SAAS,WAAW,EAAE,OAAO,EAAE,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAC;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,oEAAoE;AACpE,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED,gDAAgD;AAChD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,YAAY,EACxB,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,iBAAiB,CAAC,CAY5B"}
@@ -8,7 +8,7 @@
8
8
  import { create } from "@bufbuild/protobuf";
9
9
  import { AgentExecutionSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
10
10
  import { AgentExecutionCommandController } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/command_pb";
11
- import { InteractionMode, ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
11
+ import { InteractionMode, ServiceTier, ThinkingMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
12
12
  import { AgentExecutionSpecSchema, ExecutionConfigSchema, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/spec_pb";
13
13
  import { SessionSpecSchema } from "@stigmer/protos/ai/stigmer/agentic/session/v1/spec_pb";
14
14
  import { WorkflowExecutionSchema, } from "@stigmer/protos/ai/stigmer/agentic/workflowexecution/v1/api_pb";
@@ -36,7 +36,7 @@ export async function createAgentExecution(controller, input) {
36
36
  sessionSpec: input.workspaceEntries.length > 0
37
37
  ? create(SessionSpecSchema, { workspaceEntries: [...input.workspaceEntries] })
38
38
  : undefined,
39
- executionConfig: buildExecutionConfig(input.model, input.mode, input.serviceTier),
39
+ executionConfig: buildExecutionConfig(input.model, input.mode, input.serviceTier, input.thinking),
40
40
  }),
41
41
  });
42
42
  return controller(AgentExecutionCommandController).create(execution);
@@ -62,10 +62,11 @@ export async function createWorkflowExecution(controller, input) {
62
62
  // Build ExecutionConfig, or undefined when no flag is set so the backend
63
63
  // applies its defaults. Mirrors Go's buildExecutionConfig (only "plan" maps to a
64
64
  // non-default InteractionMode; "agent"/"" leave it unspecified). An explicit
65
- // --service-tier value maps to the enum even for "standard": unspecified vs
66
- // explicit-standard is a load-bearing ledger distinction (#357).
67
- function buildExecutionConfig(model, mode, serviceTier) {
68
- if (model === "" && mode === "" && serviceTier === "")
65
+ // --service-tier or --thinking value maps to the enum even for the base
66
+ // choice ("standard"/"disabled"): unspecified vs explicit is a load-bearing
67
+ // ledger distinction (#357/#772).
68
+ function buildExecutionConfig(model, mode, serviceTier, thinking) {
69
+ if (model === "" && mode === "" && serviceTier === "" && thinking === "")
69
70
  return undefined;
70
71
  const cfg = create(ExecutionConfigSchema);
71
72
  if (model !== "")
@@ -76,6 +77,10 @@ function buildExecutionConfig(model, mode, serviceTier) {
76
77
  cfg.serviceTier = ServiceTier.FAST;
77
78
  else if (serviceTier === "standard")
78
79
  cfg.serviceTier = ServiceTier.STANDARD;
80
+ if (thinking === "enabled")
81
+ cfg.thinkingMode = ThinkingMode.ENABLED;
82
+ else if (thinking === "disabled")
83
+ cfg.thinkingMode = ThinkingMode.DISABLED;
79
84
  return cfg;
80
85
  }
81
86
  // Convert the merged runtime env to the proto map of ExecutionValue.
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/resources/run/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/resources/run/create.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ export type RunMode = "" | "agent" | "plan";
12
12
  * unspecified-vs-explicit distinction.
13
13
  */
14
14
  export type ServiceTierFlag = "" | "standard" | "fast";
15
+ /**
16
+ * The `--thinking` flag's value space (#772), the tier's twin: empty means
17
+ * unset — distinct from an explicit "disabled" for the same ledger reason.
18
+ */
19
+ export type ThinkingFlag = "" | "disabled" | "enabled";
15
20
  /** Raw agent-execution flags shared by `run` and `draft` (Go's agentExecFlags). */
16
21
  export interface AgentExecFlags {
17
22
  readonly message: string;
@@ -30,6 +35,7 @@ export interface AgentExecFlags {
30
35
  readonly autoApprove: boolean;
31
36
  readonly mode: RunMode;
32
37
  readonly serviceTier: ServiceTierFlag;
38
+ readonly thinking: ThinkingFlag;
33
39
  }
34
40
  /**
35
41
  * The validated, resolved inputs ready for create + stream. Mirrors Go's
@@ -48,6 +54,7 @@ export interface PreparedRun {
48
54
  readonly autoApproveAll: boolean;
49
55
  readonly mode: RunMode;
50
56
  readonly serviceTier: ServiceTierFlag;
57
+ readonly thinking: ThinkingFlag;
51
58
  }
52
59
  /** Optional behavior switches for {@link prepareAgentExec}. */
53
60
  export interface PrepareAgentExecOptions {
@@ -83,4 +90,12 @@ export declare function validateMode(mode: string): asserts mode is RunMode;
83
90
  * only catches spelling errors before a network round trip.
84
91
  */
85
92
  export declare function validateServiceTier(tier: string): asserts tier is ServiceTierFlag;
93
+ /**
94
+ * Validate the `--thinking` flag, the tier check's twin (#772). Empty means
95
+ * "platform default" (which resolves to disabled — never the provider
96
+ * account default). The server refuses enabled on models without the
97
+ * registry thinking capability; this check only catches spelling errors
98
+ * before a network round trip.
99
+ */
100
+ export declare function validateThinking(mode: string): asserts mode is ThinkingFlag;
86
101
  //# sourceMappingURL=prepare.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export async function prepareAgentExec(flags, client, org, progress, options) {
19
19
  const defaultAction = parseApprovalAction(flags.approveDefault);
20
20
  validateMode(flags.mode);
21
21
  validateServiceTier(flags.serviceTier);
22
+ validateThinking(flags.thinking);
22
23
  // Layered model seed (oss#293 Phase 1.5): an explicit --model always wins;
23
24
  // an omitted one fills from the account preference on cloud. `run` and
24
25
  // `draft` always create a NEW session (threading lives in `resume`, which
@@ -51,6 +52,7 @@ export async function prepareAgentExec(flags, client, org, progress, options) {
51
52
  autoApproveAll: flags.autoApprove,
52
53
  mode: flags.mode,
53
54
  serviceTier: flags.serviceTier,
55
+ thinking: flags.thinking,
54
56
  };
55
57
  }
56
58
  /**
@@ -113,4 +115,16 @@ export function validateServiceTier(tier) {
113
115
  throw new UsageError(`invalid --service-tier value "${tier}": must be "standard" or "fast"`);
114
116
  }
115
117
  }
118
+ /**
119
+ * Validate the `--thinking` flag, the tier check's twin (#772). Empty means
120
+ * "platform default" (which resolves to disabled — never the provider
121
+ * account default). The server refuses enabled on models without the
122
+ * registry thinking capability; this check only catches spelling errors
123
+ * before a network round trip.
124
+ */
125
+ export function validateThinking(mode) {
126
+ if (mode !== "" && mode !== "disabled" && mode !== "enabled") {
127
+ throw new UsageError(`invalid --thinking value "${mode}": must be "disabled" or "enabled"`);
128
+ }
129
+ }
116
130
  //# sourceMappingURL=prepare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
@@ -92,7 +92,7 @@ export function decodeWorkflowTaskConfigs(workflow) {
92
92
  /**
93
93
  * Rewrites user-friendly DSL forms to the shapes the proto decode expects —
94
94
  * the twin of the server's `normalizeEnumShorthands` (unmarshal.go): agent_call
95
- * harness shorthands ("cursor" → "HARNESS_CURSOR"), run_config service-tier
95
+ * harness shorthands ("cursor" → "HARNESS_CURSOR"), run_config service-tier/thinking-mode
96
96
  * shorthands ("fast" → "SERVICE_TIER_FAST"), and the environment_refs kind
97
97
  * default (an omitted kind means environment). Without this twin the offline
98
98
  * decode would be STRICTER than a real apply and fail valid manifests.
@@ -114,6 +114,11 @@ function normalizeTaskConfigShorthands(kind, config) {
114
114
  if (tier !== undefined)
115
115
  runConfig.service_tier = tier;
116
116
  }
117
+ if (typeof runConfig.thinking_mode === "string") {
118
+ const mode = THINKING_MODE_SHORTHANDS[runConfig.thinking_mode.toLowerCase()];
119
+ if (mode !== undefined)
120
+ runConfig.thinking_mode = mode;
121
+ }
117
122
  normalized.run_config = runConfig;
118
123
  }
119
124
  if (Array.isArray(normalized.environment_refs)) {
@@ -129,6 +134,10 @@ const SERVICE_TIER_SHORTHANDS = {
129
134
  standard: "SERVICE_TIER_STANDARD",
130
135
  fast: "SERVICE_TIER_FAST",
131
136
  };
137
+ const THINKING_MODE_SHORTHANDS = {
138
+ disabled: "THINKING_MODE_DISABLED",
139
+ enabled: "THINKING_MODE_ENABLED",
140
+ };
132
141
  function isJsonObject(value) {
133
142
  return typeof value === "object" && value !== null && !Array.isArray(value);
134
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-configs.js","sourceRoot":"","sources":["../../src/resources/task-configs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-configs.js","sourceRoot":"","sources":["../../src/resources/task-configs.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,8EAA8E;AAC9E,oCAAoC;AACpC,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,wEAAwE;AACxE,sEAAsE;AACtE,yBAAyB;AACzB,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,gCAAgC;AAEhC,OAAO,EAAoB,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oEAAoE,CAAC;AAC/G,OAAO,EAAE,4BAA4B,EAAE,MAAM,uEAAuE,CAAC;AACrH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oEAAoE,CAAC;AAC/G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AACpG,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAC7G,OAAO,EAAE,0BAA0B,EAAE,MAAM,qEAAqE,CAAC;AACjH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,sEAAsE,CAAC;AACpH,OAAO,EAAE,qBAAqB,EAAE,MAAM,+DAA+D,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AACxG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAC5G,OAAO,EAAE,oBAAoB,EAAE,MAAM,8DAA8D,CAAC;AAEpG,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,CAAC,MAAM,mBAAmB,GAA+C,IAAI,GAAG,CAGpF;IACA,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAChD,CAAC,gBAAgB,CAAC,SAAS,EAAE,wBAAwB,CAAC;IACtD,CAAC,gBAAgB,CAAC,SAAS,EAAE,wBAAwB,CAAC;IACtD,CAAC,gBAAgB,CAAC,WAAW,EAAE,sBAAsB,CAAC;IACtD,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IAChD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAC7C,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACjD,CAAC,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACjD,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAC7C,CAAC,gBAAgB,CAAC,aAAa,EAAE,4BAA4B,CAAC;IAC9D,CAAC,gBAAgB,CAAC,WAAW,EAAE,qBAAqB,CAAC;IACrD,CAAC,gBAAgB,CAAC,YAAY,EAAE,mBAAmB,CAAC;IACpD,CAAC,gBAAgB,CAAC,UAAU,EAAE,yBAAyB,CAAC;IACxD,CAAC,gBAAgB,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IACpD,CAAC,gBAAgB,CAAC,SAAS,EAAE,yBAAyB,CAAC;IACvD,CAAC,gBAAgB,CAAC,WAAW,EAAE,0BAA0B,CAAC;IAC1D,CAAC,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IACrD,CAAC,gBAAgB,CAAC,UAAU,EAAE,yBAAyB,CAAC;IACxD,CAAC,gBAAgB,CAAC,YAAY,EAAE,4BAA4B,CAAC;IAC7D,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,CAAC;CAC9C,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAAkB;IAC1D,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS;QAC5C,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,SAAS;YAAE,SAAS,CAAC,2DAA2D;QAE/F,yEAAyE;QACzE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,CAAC;YACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,IAAI,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA4B,GAAa,CAAC,OAAO,EAAE,CACvG,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,6BAA6B,CAAC,IAAsB,EAAE,MAAiB;IAC9E,IAAI,IAAI,KAAK,gBAAgB,CAAC,UAAU,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAA8B,EAAE,GAAG,MAAM,EAAE,CAAC;IAE5D,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACrE,IAAI,OAAO,KAAK,SAAS;YAAE,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;IAC1D,CAAC;IAED,IAAI,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAA8B,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;QAC1E,IAAI,OAAO,SAAS,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,uBAAuB,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3E,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC;QACxD,CAAC;QACD,IAAI,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,wBAAwB,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7E,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;QACzD,CAAC;QACD,UAAU,CAAC,UAAU,GAAG,SAAS,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/C,UAAU,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACpE,YAAY,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,kBAAkB,GAA2B;IACjD,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;CACzB,CAAC;AAEF,MAAM,uBAAuB,GAA2B;IACtD,QAAQ,EAAE,uBAAuB;IACjC,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAEF,MAAM,wBAAwB,GAA2B;IACvD,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,uBAAuB;CACjC,CAAC;AAEF,SAAS,YAAY,CAAC,KAA4B;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -3,7 +3,7 @@
3
3
  // execution flag is added here once and both surfaces pick it up.
4
4
 
5
5
  import type { Command } from "commander";
6
- import type { AgentExecFlags, RunMode, ServiceTierFlag } from "../resources/run/prepare.js";
6
+ import type { AgentExecFlags, RunMode, ServiceTierFlag, ThinkingFlag } from "../resources/run/prepare.js";
7
7
 
8
8
  /** Commander collector for repeatable string options. */
9
9
  export const collect = (value: string, previous: string[]): string[] => [...previous, value];
@@ -26,6 +26,7 @@ export interface AgentExecOptions {
26
26
  autoApprove?: boolean;
27
27
  mode?: string;
28
28
  serviceTier?: string;
29
+ thinking?: string;
29
30
  }
30
31
 
31
32
  /**
@@ -52,7 +53,8 @@ export function addAgentExecFlags(command: Command, requireMessage = false): Com
52
53
  .option("--model <model>", "LLM model to use (e.g. claude-sonnet-4-6)")
53
54
  .option("--auto-approve", "automatically approve all tool executions")
54
55
  .option("--mode <mode>", 'interaction mode: "agent" (default) or "plan" (read-only)')
55
- .option("--service-tier <tier>", 'model service tier: "standard" (default) or "fast" (requires --model naming a model with a fast tier; billed at fast rates)');
56
+ .option("--service-tier <tier>", 'model service tier: "standard" (default) or "fast" (requires --model naming a model with a fast tier; billed at fast rates)')
57
+ .option("--thinking <mode>", 'extended reasoning: "disabled" (default) or "enabled" (requires --model naming a thinking-capable model; billed at base rates, uses more output tokens)');
56
58
  }
57
59
 
58
60
  /** Map parsed commander options onto the shared {@link AgentExecFlags} shape. */
@@ -74,5 +76,6 @@ export function toAgentExecFlags(options: AgentExecOptions): AgentExecFlags {
74
76
  autoApprove: options.autoApprove === true,
75
77
  mode: (options.mode ?? "") as RunMode,
76
78
  serviceTier: (options.serviceTier ?? "") as ServiceTierFlag,
79
+ thinking: (options.thinking ?? "") as ThinkingFlag,
77
80
  };
78
81
  }
@@ -1,11 +1,14 @@
1
- // `stigmer setup` — configure the LLM provider used for agent execution.
1
+ // `stigmer setup` — configure the LLM provider used for agent execution and
2
+ // the optional self-hosted operator identity (oss#796).
2
3
  //
3
4
  // Two paths share one decision core (local/setup/wizard.ts): a non-interactive
4
- // flag path (`--provider`, `--api-key`) for scripts and CI, and an
5
- // interactive API-key prompt when no provider flag is given. Both write to
6
- // backend.local.llm, preserving every other config field. The valid provider
7
- // set is owned by wizard.ts's PROVIDER_CHOICES (Anthropic-only + skip — the
8
- // only story the native runner serves).
5
+ // flag path (`--provider`/`--api-key`, `--operator-email`/`--operator-name`)
6
+ // for scripts and CI, and an interactive flow when NO flag is given. Flags
7
+ // are independently applicable — operator flags without `--provider` leave
8
+ // the LLM section untouched, and vice versa. Writes land under
9
+ // backend.local.llm / backend.local.operator, preserving every other config
10
+ // field. The valid provider set is owned by wizard.ts's PROVIDER_CHOICES
11
+ // (Anthropic-only + skip — the only story the native runner serves).
9
12
  //
10
13
  // Setup deliberately has NO model concept: the platform model registry owns
11
14
  // the execution default, and per-run overrides belong to `stigmer run
@@ -21,45 +24,72 @@ import { addResultFlags, resultFormat } from "./shared.js";
21
24
  interface SetupFlags extends OutputFlags {
22
25
  provider?: string;
23
26
  apiKey?: string;
27
+ operatorEmail?: string;
28
+ operatorName?: string;
24
29
  }
25
30
 
26
31
  export function registerSetup(program: Command): void {
27
32
  const setup = program
28
33
  .command("setup")
29
- .description("configure the LLM provider for agent execution")
34
+ .description("configure the LLM provider and operator identity for local execution")
30
35
  .option("--provider <name>", "provider: anthropic, or skip to clear (non-interactive)")
31
36
  .option("--api-key <key>", "Anthropic API key")
37
+ .option("--operator-email <email>", "operator identity for local caller attribution (non-interactive)")
38
+ .option("--operator-name <name>", "operator display name (requires --operator-email)")
32
39
  .action((options: SetupFlags) => runSetup(options));
33
40
  addResultFlags(setup);
34
41
  }
35
42
 
36
43
  async function runSetup(options: SetupFlags): Promise<void> {
37
44
  const { load, save } = await import("../config/config.js");
38
- const { PROVIDER_CHOICES, applyChoice, runInteractiveWizard } = await import("../local/setup/wizard.js");
45
+ const { PROVIDER_CHOICES, applyChoice, applyOperatorIdentity, runInteractiveWizard } =
46
+ await import("../local/setup/wizard.js");
39
47
  const { isRunning } = await import("../local/daemon/launch.js");
40
48
  const { CliExitError } = await import("../errors/cli-exit-error.js");
41
49
  const { ExitCode } = await import("../errors/exit-codes.js");
42
50
 
43
51
  const config = load();
52
+ const nonInteractive =
53
+ options.provider !== undefined ||
54
+ options.operatorEmail !== undefined ||
55
+ options.operatorName !== undefined;
44
56
 
45
57
  let updated: typeof config;
46
- if (options.provider !== undefined) {
47
- const provider = options.provider.toLowerCase();
48
- if (!(PROVIDER_CHOICES as readonly string[]).includes(provider)) {
49
- throw new CliExitError(`unknown provider: ${options.provider}`, ExitCode.Usage, [
50
- `Valid providers: ${PROVIDER_CHOICES.join(", ")}`,
51
- ]);
58
+ if (nonInteractive) {
59
+ updated = config;
60
+ if (options.provider !== undefined) {
61
+ const provider = options.provider.toLowerCase();
62
+ if (!(PROVIDER_CHOICES as readonly string[]).includes(provider)) {
63
+ throw new CliExitError(`unknown provider: ${options.provider}`, ExitCode.Usage, [
64
+ `Valid providers: ${PROVIDER_CHOICES.join(", ")}`,
65
+ ]);
66
+ }
67
+ updated = applyChoice(updated, provider as (typeof PROVIDER_CHOICES)[number], {
68
+ apiKey: options.apiKey,
69
+ });
70
+ }
71
+ if (options.operatorEmail !== undefined || options.operatorName !== undefined) {
72
+ try {
73
+ updated = applyOperatorIdentity(
74
+ updated,
75
+ options.operatorEmail ?? "",
76
+ options.operatorName ?? "",
77
+ );
78
+ } catch (error) {
79
+ // Same rule the server enforces at boot, surfaced at setup time.
80
+ throw new CliExitError(
81
+ error instanceof Error ? error.message : String(error),
82
+ ExitCode.Usage,
83
+ );
84
+ }
52
85
  }
53
- updated = applyChoice(config, provider as (typeof PROVIDER_CHOICES)[number], {
54
- apiKey: options.apiKey,
55
- });
56
86
  } else {
57
87
  updated = await runInteractiveWizard(config);
58
88
  }
59
89
 
60
90
  save(updated);
61
91
 
62
- const result = CommandResult.success("LLM configuration saved");
92
+ const result = CommandResult.success("Configuration saved");
63
93
  if (await isRunning(homedir())) {
64
94
  result.hint("Restart to apply: stigmer down && stigmer up");
65
95
  }
@@ -26,6 +26,26 @@ describe("buildServerEnv", () => {
26
26
  expect(env.DB_PATH).toBe("/home/u/.stigmer/stigmer.db");
27
27
  expect(env.STORAGE_PATH).toBe("/home/u/.stigmer/storage");
28
28
  });
29
+
30
+ it("forwards the operator identity only when set, resolved value winning over the base env (oss#796)", () => {
31
+ const bare = buildServerEnv(config, {});
32
+ expect(bare.STIGMER_OPERATOR_EMAIL).toBeUndefined();
33
+ expect(bare.STIGMER_OPERATOR_NAME).toBeUndefined();
34
+
35
+ // Contract value authoritative over a stale inherited export — the
36
+ // ANTHROPIC_API_KEY precedent in buildRunnerEnv.
37
+ const env = buildServerEnv(
38
+ { ...config, operatorEmail: "ada@example.com", operatorName: "Ada" },
39
+ { STIGMER_OPERATOR_EMAIL: "stale@example.com" },
40
+ );
41
+ expect(env.STIGMER_OPERATOR_EMAIL).toBe("ada@example.com");
42
+ expect(env.STIGMER_OPERATOR_NAME).toBe("Ada");
43
+ });
44
+
45
+ it("does not deliver the operator identity to the runner — it resolves identity from session data", () => {
46
+ const env = buildRunnerEnv({ ...config, operatorEmail: "ada@example.com" }, {});
47
+ expect(env.STIGMER_OPERATOR_EMAIL).toBeUndefined();
48
+ });
29
49
  });
30
50
 
31
51
  describe("buildRunnerEnv", () => {