@stigmer/cli 3.12.5 → 3.12.6
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/commands/agent-exec-flags.d.ts +1 -0
- package/commands/agent-exec-flags.d.ts.map +1 -1
- package/commands/agent-exec-flags.js +3 -1
- package/commands/agent-exec-flags.js.map +1 -1
- package/package.json +5 -5
- package/resources/run/agent-exec.d.ts.map +1 -1
- package/resources/run/agent-exec.js +1 -0
- package/resources/run/agent-exec.js.map +1 -1
- package/resources/run/create.d.ts +2 -1
- package/resources/run/create.d.ts.map +1 -1
- package/resources/run/create.js +11 -6
- package/resources/run/create.js.map +1 -1
- package/resources/run/prepare.d.ts +15 -0
- package/resources/run/prepare.d.ts.map +1 -1
- package/resources/run/prepare.js +14 -0
- package/resources/run/prepare.js.map +1 -1
- package/resources/task-configs.js +10 -1
- package/resources/task-configs.js.map +1 -1
- package/src/commands/agent-exec-flags.ts +5 -2
- package/src/resources/run/agent-exec.test.ts +1 -0
- package/src/resources/run/agent-exec.ts +1 -0
- package/src/resources/run/create.test.ts +48 -1
- package/src/resources/run/create.ts +11 -6
- package/src/resources/run/prepare.test.ts +14 -1
- package/src/resources/run/prepare.ts +25 -0
- package/src/resources/task-configs.ts +10 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-exec-flags.d.ts","sourceRoot":"","sources":["../../src/commands/agent-exec-flags.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"agent-exec-flags.d.ts","sourceRoot":"","sources":["../../src/commands/agent-exec-flags.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAA0C,MAAM,6BAA6B,CAAC;AAE1G,yDAAyD;AACzD,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,UAAU,MAAM,EAAE,KAAG,MAAM,EAA0B,CAAC;AAE7F,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,UAAQ,GAAG,OAAO,CAsBnF;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAoB1E"}
|
|
@@ -28,7 +28,8 @@ export function addAgentExecFlags(command, requireMessage = false) {
|
|
|
28
28
|
.option("--model <model>", "LLM model to use (e.g. claude-sonnet-4-6)")
|
|
29
29
|
.option("--auto-approve", "automatically approve all tool executions")
|
|
30
30
|
.option("--mode <mode>", 'interaction mode: "agent" (default) or "plan" (read-only)')
|
|
31
|
-
.option("--service-tier <tier>", 'model service tier: "standard" (default) or "fast" (requires --model naming a model with a fast tier; billed at fast rates)')
|
|
31
|
+
.option("--service-tier <tier>", 'model service tier: "standard" (default) or "fast" (requires --model naming a model with a fast tier; billed at fast rates)')
|
|
32
|
+
.option("--thinking <mode>", 'extended reasoning: "disabled" (default) or "enabled" (requires --model naming a thinking-capable model; billed at base rates, uses more output tokens)');
|
|
32
33
|
}
|
|
33
34
|
/** Map parsed commander options onto the shared {@link AgentExecFlags} shape. */
|
|
34
35
|
export function toAgentExecFlags(options) {
|
|
@@ -49,6 +50,7 @@ export function toAgentExecFlags(options) {
|
|
|
49
50
|
autoApprove: options.autoApprove === true,
|
|
50
51
|
mode: (options.mode ?? ""),
|
|
51
52
|
serviceTier: (options.serviceTier ?? ""),
|
|
53
|
+
thinking: (options.thinking ?? ""),
|
|
52
54
|
};
|
|
53
55
|
}
|
|
54
56
|
//# sourceMappingURL=agent-exec-flags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-exec-flags.js","sourceRoot":"","sources":["../../src/commands/agent-exec-flags.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,iFAAiF;AACjF,kEAAkE;AAKlE,yDAAyD;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,QAAkB,EAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-exec-flags.js","sourceRoot":"","sources":["../../src/commands/agent-exec-flags.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,iFAAiF;AACjF,kEAAkE;AAKlE,yDAAyD;AACzD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,QAAkB,EAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAuB7F;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAgB,EAAE,cAAc,GAAG,KAAK;IACxE,MAAM,WAAW,GAAG,sCAAsC,CAAC;IAC3D,IAAI,cAAc;QAAE,OAAO,CAAC,cAAc,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;;QAC3E,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;IAEzD,OAAO,OAAO;SACX,MAAM,CAAC,iBAAiB,EAAE,mDAAmD,EAAE,OAAO,EAAE,EAAE,CAAC;SAC3F,MAAM,CAAC,4BAA4B,EAAE,8EAA8E,CAAC;SACpH,MAAM,CAAC,eAAe,EAAE,0CAA0C,CAAC;SACnE,MAAM,CAAC,UAAU,EAAE,0DAA0D,CAAC;SAC9E,MAAM,CAAC,0BAA0B,EAAE,qDAAqD,EAAE,OAAO,EAAE,EAAE,CAAC;SACtG,MAAM,CAAC,iBAAiB,EAAE,iDAAiD,CAAC;SAC5E,MAAM,CAAC,gBAAgB,EAAE,wDAAwD,CAAC;SAClF,MAAM,CAAC,YAAY,EAAE,wCAAwC,EAAE,OAAO,EAAE,EAAE,CAAC;SAC3E,MAAM,CAAC,mBAAmB,EAAE,yDAAyD,EAAE,OAAO,EAAE,EAAE,CAAC;SACnG,MAAM,CAAC,eAAe,EAAE,kDAAkD,EAAE,OAAO,EAAE,EAAE,CAAC;SACxF,MAAM,CAAC,sBAAsB,EAAE,gDAAgD,EAAE,OAAO,EAAE,EAAE,CAAC;SAC7F,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;SACtE,MAAM,CAAC,gBAAgB,EAAE,2CAA2C,CAAC;SACrE,MAAM,CAAC,eAAe,EAAE,2DAA2D,CAAC;SACpF,MAAM,CAAC,uBAAuB,EAAE,6HAA6H,CAAC;SAC9J,MAAM,CAAC,mBAAmB,EAAE,yJAAyJ,CAAC,CAAC;AAC5L,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE;QAC5C,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,IAAI;QACjC,MAAM,EAAE,OAAO,CAAC,MAAM,KAAK,IAAI;QAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,WAAW,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI;QACzC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAY;QACrC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAoB;QAC3D,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAiB;KACnD,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stigmer/cli",
|
|
3
|
-
"version": "3.12.
|
|
3
|
+
"version": "3.12.6",
|
|
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.
|
|
39
|
-
"@stigmer/mcp-server": "3.12.
|
|
40
|
-
"@stigmer/protos": "3.12.
|
|
41
|
-
"@stigmer/sdk": "3.12.
|
|
38
|
+
"@stigmer/ink": "3.12.6",
|
|
39
|
+
"@stigmer/mcp-server": "3.12.6",
|
|
40
|
+
"@stigmer/protos": "3.12.6",
|
|
41
|
+
"@stigmer/sdk": "3.12.6",
|
|
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,
|
|
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;
|
|
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"}
|
package/resources/run/create.js
CHANGED
|
@@ -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
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
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":"AAAA,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,iFAAiF;AACjF,4EAA4E;AAC5E,kFAAkF;AAGlF,OAAO,EAAE,MAAM,EAAoB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAuB,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AACxH,OAAO,EAAE,+BAA+B,EAAE,MAAM,iEAAiE,CAAC;AAClH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,8DAA8D,CAAC;
|
|
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":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8DAA8D,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AACjG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAmB,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAG5D,8EAA8E;AAC9E,MAAM,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,EAAE,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvD,mFAAmF;AACnF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../../src/resources/run/prepare.ts"],"names":[],"mappings":"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"}
|
package/resources/run/prepare.js
CHANGED
|
@@ -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":"AAAA,0EAA0E;AAC1E,8EAA8E;AAC9E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,6EAA6E;AAC7E,gFAAgF;AAChF,oEAAoE;AAGpE,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAG9F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAqB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAmB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;
|
|
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":"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"}
|
|
@@ -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
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// is faked to capture the exact proto sent to the RPC.
|
|
5
5
|
|
|
6
6
|
import { describe, expect, it } from "vitest";
|
|
7
|
-
import { InteractionMode, ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
7
|
+
import { InteractionMode, ServiceTier, ThinkingMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
8
8
|
import { create } from "@bufbuild/protobuf";
|
|
9
9
|
import {
|
|
10
10
|
LocalPathSourceSchema,
|
|
@@ -41,6 +41,7 @@ describe("createAgentExecution", () => {
|
|
|
41
41
|
model: "claude",
|
|
42
42
|
mode: "plan",
|
|
43
43
|
serviceTier: "",
|
|
44
|
+
thinking: "",
|
|
44
45
|
autoApproveAll: true,
|
|
45
46
|
});
|
|
46
47
|
|
|
@@ -69,6 +70,7 @@ describe("createAgentExecution", () => {
|
|
|
69
70
|
model: "",
|
|
70
71
|
mode: "",
|
|
71
72
|
serviceTier: "",
|
|
73
|
+
thinking: "",
|
|
72
74
|
autoApproveAll: false,
|
|
73
75
|
});
|
|
74
76
|
expect(exec.spec?.message).toBe("hi");
|
|
@@ -88,6 +90,7 @@ describe("createAgentExecution", () => {
|
|
|
88
90
|
model: "composer-2.5",
|
|
89
91
|
mode: "",
|
|
90
92
|
serviceTier: "fast",
|
|
93
|
+
thinking: "",
|
|
91
94
|
autoApproveAll: false,
|
|
92
95
|
});
|
|
93
96
|
expect(exec.spec?.executionConfig?.serviceTier).toBe(ServiceTier.FAST);
|
|
@@ -108,11 +111,52 @@ describe("createAgentExecution", () => {
|
|
|
108
111
|
model: "",
|
|
109
112
|
mode: "",
|
|
110
113
|
serviceTier: "standard",
|
|
114
|
+
thinking: "",
|
|
111
115
|
autoApproveAll: false,
|
|
112
116
|
});
|
|
113
117
|
expect(exec.spec?.executionConfig?.serviceTier).toBe(ServiceTier.STANDARD);
|
|
114
118
|
});
|
|
115
119
|
|
|
120
|
+
it("maps --thinking enabled to the enum (#772)", async () => {
|
|
121
|
+
const { fn } = fakeController();
|
|
122
|
+
const exec = await createAgentExecution(fn, {
|
|
123
|
+
agentId: "agt_1",
|
|
124
|
+
orgId: "acme",
|
|
125
|
+
message: "x",
|
|
126
|
+
runtimeEnv: {},
|
|
127
|
+
attachments: [],
|
|
128
|
+
workspaceFileRefs: [],
|
|
129
|
+
workspaceEntries: [],
|
|
130
|
+
model: "claude-haiku-4-5",
|
|
131
|
+
mode: "",
|
|
132
|
+
serviceTier: "",
|
|
133
|
+
thinking: "enabled",
|
|
134
|
+
autoApproveAll: false,
|
|
135
|
+
});
|
|
136
|
+
expect(exec.spec?.executionConfig?.thinkingMode).toBe(ThinkingMode.ENABLED);
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
it("maps an explicit --thinking disabled to DISABLED, not UNSPECIFIED", async () => {
|
|
140
|
+
// The tier's #772 twin: unspecified-vs-explicit-disabled is the same
|
|
141
|
+
// load-bearing ledger distinction.
|
|
142
|
+
const { fn } = fakeController();
|
|
143
|
+
const exec = await createAgentExecution(fn, {
|
|
144
|
+
agentId: "agt_1",
|
|
145
|
+
orgId: "acme",
|
|
146
|
+
message: "x",
|
|
147
|
+
runtimeEnv: {},
|
|
148
|
+
attachments: [],
|
|
149
|
+
workspaceFileRefs: [],
|
|
150
|
+
workspaceEntries: [],
|
|
151
|
+
model: "",
|
|
152
|
+
mode: "",
|
|
153
|
+
serviceTier: "",
|
|
154
|
+
thinking: "disabled",
|
|
155
|
+
autoApproveAll: false,
|
|
156
|
+
});
|
|
157
|
+
expect(exec.spec?.executionConfig?.thinkingMode).toBe(ThinkingMode.DISABLED);
|
|
158
|
+
});
|
|
159
|
+
|
|
116
160
|
it("leaves InteractionMode unspecified for agent mode", async () => {
|
|
117
161
|
const { fn } = fakeController();
|
|
118
162
|
const exec = await createAgentExecution(fn, {
|
|
@@ -126,6 +170,7 @@ describe("createAgentExecution", () => {
|
|
|
126
170
|
model: "m",
|
|
127
171
|
mode: "agent",
|
|
128
172
|
serviceTier: "",
|
|
173
|
+
thinking: "",
|
|
129
174
|
autoApproveAll: false,
|
|
130
175
|
});
|
|
131
176
|
expect(exec.spec?.sessionId).toBe("ses_1");
|
|
@@ -152,6 +197,7 @@ describe("createAgentExecution", () => {
|
|
|
152
197
|
model: "",
|
|
153
198
|
mode: "",
|
|
154
199
|
serviceTier: "",
|
|
200
|
+
thinking: "",
|
|
155
201
|
autoApproveAll: false,
|
|
156
202
|
});
|
|
157
203
|
|
|
@@ -175,6 +221,7 @@ describe("createAgentExecution", () => {
|
|
|
175
221
|
model: "",
|
|
176
222
|
mode: "",
|
|
177
223
|
serviceTier: "",
|
|
224
|
+
thinking: "",
|
|
178
225
|
autoApproveAll: false,
|
|
179
226
|
});
|
|
180
227
|
expect(exec.spec?.sessionSpec).toBeUndefined();
|
|
@@ -10,7 +10,7 @@ import type { Client } from "@connectrpc/connect";
|
|
|
10
10
|
import { create, type DescService } from "@bufbuild/protobuf";
|
|
11
11
|
import { type AgentExecution, AgentExecutionSchema } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
12
12
|
import { AgentExecutionCommandController } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/command_pb";
|
|
13
|
-
import { InteractionMode, ServiceTier } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
13
|
+
import { InteractionMode, ServiceTier, ThinkingMode } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
14
14
|
import type { Attachment } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/spec_pb";
|
|
15
15
|
import {
|
|
16
16
|
AgentExecutionSpecSchema,
|
|
@@ -29,7 +29,7 @@ import { WorkflowExecutionSpecSchema } from "@stigmer/protos/ai/stigmer/agentic/
|
|
|
29
29
|
import { ExecutionValueSchema } from "@stigmer/protos/ai/stigmer/agentic/executioncontext/v1/spec_pb";
|
|
30
30
|
import { ApiResourceMetadataSchema } from "@stigmer/protos/ai/stigmer/commons/apiresource/metadata_pb";
|
|
31
31
|
import type { RuntimeEnv } from "./env.js";
|
|
32
|
-
import type { RunMode, ServiceTierFlag } from "./prepare.js";
|
|
32
|
+
import type { RunMode, ServiceTierFlag, ThinkingFlag } from "./prepare.js";
|
|
33
33
|
|
|
34
34
|
const API_VERSION = "agentic.stigmer.ai/v1";
|
|
35
35
|
|
|
@@ -58,6 +58,7 @@ export interface CreateAgentExecutionInput {
|
|
|
58
58
|
readonly model: string;
|
|
59
59
|
readonly mode: RunMode;
|
|
60
60
|
readonly serviceTier: ServiceTierFlag;
|
|
61
|
+
readonly thinking: ThinkingFlag;
|
|
61
62
|
readonly autoApproveAll: boolean;
|
|
62
63
|
}
|
|
63
64
|
|
|
@@ -84,7 +85,7 @@ export async function createAgentExecution(
|
|
|
84
85
|
input.workspaceEntries.length > 0
|
|
85
86
|
? create(SessionSpecSchema, { workspaceEntries: [...input.workspaceEntries] })
|
|
86
87
|
: undefined,
|
|
87
|
-
executionConfig: buildExecutionConfig(input.model, input.mode, input.serviceTier),
|
|
88
|
+
executionConfig: buildExecutionConfig(input.model, input.mode, input.serviceTier, input.thinking),
|
|
88
89
|
}),
|
|
89
90
|
});
|
|
90
91
|
return controller(AgentExecutionCommandController).create(execution);
|
|
@@ -123,19 +124,23 @@ export async function createWorkflowExecution(
|
|
|
123
124
|
// Build ExecutionConfig, or undefined when no flag is set so the backend
|
|
124
125
|
// applies its defaults. Mirrors Go's buildExecutionConfig (only "plan" maps to a
|
|
125
126
|
// non-default InteractionMode; "agent"/"" leave it unspecified). An explicit
|
|
126
|
-
// --service-tier value maps to the enum even for
|
|
127
|
-
//
|
|
127
|
+
// --service-tier or --thinking value maps to the enum even for the base
|
|
128
|
+
// choice ("standard"/"disabled"): unspecified vs explicit is a load-bearing
|
|
129
|
+
// ledger distinction (#357/#772).
|
|
128
130
|
function buildExecutionConfig(
|
|
129
131
|
model: string,
|
|
130
132
|
mode: RunMode,
|
|
131
133
|
serviceTier: ServiceTierFlag,
|
|
134
|
+
thinking: ThinkingFlag,
|
|
132
135
|
): ExecutionConfig | undefined {
|
|
133
|
-
if (model === "" && mode === "" && serviceTier === "") return undefined;
|
|
136
|
+
if (model === "" && mode === "" && serviceTier === "" && thinking === "") return undefined;
|
|
134
137
|
const cfg = create(ExecutionConfigSchema);
|
|
135
138
|
if (model !== "") cfg.modelName = model;
|
|
136
139
|
if (mode === "plan") cfg.interactionMode = InteractionMode.PLAN;
|
|
137
140
|
if (serviceTier === "fast") cfg.serviceTier = ServiceTier.FAST;
|
|
138
141
|
else if (serviceTier === "standard") cfg.serviceTier = ServiceTier.STANDARD;
|
|
142
|
+
if (thinking === "enabled") cfg.thinkingMode = ThinkingMode.ENABLED;
|
|
143
|
+
else if (thinking === "disabled") cfg.thinkingMode = ThinkingMode.DISABLED;
|
|
139
144
|
return cfg;
|
|
140
145
|
}
|
|
141
146
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { describe, expect, it } from "vitest";
|
|
6
6
|
import { ApprovalAction } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
7
7
|
import type { Stigmer } from "@stigmer/sdk";
|
|
8
|
-
import { type AgentExecFlags, parseApprovalAction, prepareAgentExec, validateMode, validateServiceTier } from "./prepare.js";
|
|
8
|
+
import { type AgentExecFlags, parseApprovalAction, prepareAgentExec, validateMode, validateServiceTier, validateThinking } from "./prepare.js";
|
|
9
9
|
|
|
10
10
|
describe("parseApprovalAction", () => {
|
|
11
11
|
it("maps each accepted value (case-insensitive)", () => {
|
|
@@ -47,6 +47,18 @@ describe("validateServiceTier", () => {
|
|
|
47
47
|
});
|
|
48
48
|
});
|
|
49
49
|
|
|
50
|
+
describe("validateThinking", () => {
|
|
51
|
+
it("accepts empty, disabled, and enabled", () => {
|
|
52
|
+
expect(() => validateThinking("")).not.toThrow();
|
|
53
|
+
expect(() => validateThinking("disabled")).not.toThrow();
|
|
54
|
+
expect(() => validateThinking("enabled")).not.toThrow();
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it("rejects anything else before a network round trip", () => {
|
|
58
|
+
expect(() => validateThinking("harder")).toThrow(/must be "disabled" or "enabled"/);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
50
62
|
const BASE_FLAGS: AgentExecFlags = {
|
|
51
63
|
message: "hi",
|
|
52
64
|
attach: [],
|
|
@@ -64,6 +76,7 @@ const BASE_FLAGS: AgentExecFlags = {
|
|
|
64
76
|
autoApprove: false,
|
|
65
77
|
mode: "",
|
|
66
78
|
serviceTier: "",
|
|
79
|
+
thinking: "",
|
|
67
80
|
};
|
|
68
81
|
|
|
69
82
|
// prepareAgentExec only touches client.agentExecution for attachment uploads;
|
|
@@ -26,6 +26,12 @@ export type RunMode = "" | "agent" | "plan";
|
|
|
26
26
|
*/
|
|
27
27
|
export type ServiceTierFlag = "" | "standard" | "fast";
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* The `--thinking` flag's value space (#772), the tier's twin: empty means
|
|
31
|
+
* unset — distinct from an explicit "disabled" for the same ledger reason.
|
|
32
|
+
*/
|
|
33
|
+
export type ThinkingFlag = "" | "disabled" | "enabled";
|
|
34
|
+
|
|
29
35
|
/** Raw agent-execution flags shared by `run` and `draft` (Go's agentExecFlags). */
|
|
30
36
|
export interface AgentExecFlags {
|
|
31
37
|
readonly message: string;
|
|
@@ -44,6 +50,7 @@ export interface AgentExecFlags {
|
|
|
44
50
|
readonly autoApprove: boolean;
|
|
45
51
|
readonly mode: RunMode;
|
|
46
52
|
readonly serviceTier: ServiceTierFlag;
|
|
53
|
+
readonly thinking: ThinkingFlag;
|
|
47
54
|
}
|
|
48
55
|
|
|
49
56
|
/**
|
|
@@ -63,6 +70,7 @@ export interface PreparedRun {
|
|
|
63
70
|
readonly autoApproveAll: boolean;
|
|
64
71
|
readonly mode: RunMode;
|
|
65
72
|
readonly serviceTier: ServiceTierFlag;
|
|
73
|
+
readonly thinking: ThinkingFlag;
|
|
66
74
|
}
|
|
67
75
|
|
|
68
76
|
/** Optional behavior switches for {@link prepareAgentExec}. */
|
|
@@ -91,6 +99,7 @@ export async function prepareAgentExec(
|
|
|
91
99
|
const defaultAction = parseApprovalAction(flags.approveDefault);
|
|
92
100
|
validateMode(flags.mode);
|
|
93
101
|
validateServiceTier(flags.serviceTier);
|
|
102
|
+
validateThinking(flags.thinking);
|
|
94
103
|
|
|
95
104
|
// Layered model seed (oss#293 Phase 1.5): an explicit --model always wins;
|
|
96
105
|
// an omitted one fills from the account preference on cloud. `run` and
|
|
@@ -134,6 +143,7 @@ export async function prepareAgentExec(
|
|
|
134
143
|
autoApproveAll: flags.autoApprove,
|
|
135
144
|
mode: flags.mode,
|
|
136
145
|
serviceTier: flags.serviceTier,
|
|
146
|
+
thinking: flags.thinking,
|
|
137
147
|
};
|
|
138
148
|
}
|
|
139
149
|
|
|
@@ -202,3 +212,18 @@ export function validateServiceTier(tier: string): asserts tier is ServiceTierFl
|
|
|
202
212
|
);
|
|
203
213
|
}
|
|
204
214
|
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Validate the `--thinking` flag, the tier check's twin (#772). Empty means
|
|
218
|
+
* "platform default" (which resolves to disabled — never the provider
|
|
219
|
+
* account default). The server refuses enabled on models without the
|
|
220
|
+
* registry thinking capability; this check only catches spelling errors
|
|
221
|
+
* before a network round trip.
|
|
222
|
+
*/
|
|
223
|
+
export function validateThinking(mode: string): asserts mode is ThinkingFlag {
|
|
224
|
+
if (mode !== "" && mode !== "disabled" && mode !== "enabled") {
|
|
225
|
+
throw new UsageError(
|
|
226
|
+
`invalid --thinking value "${mode}": must be "disabled" or "enabled"`,
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
@@ -100,7 +100,7 @@ export function decodeWorkflowTaskConfigs(workflow: Workflow): void {
|
|
|
100
100
|
/**
|
|
101
101
|
* Rewrites user-friendly DSL forms to the shapes the proto decode expects —
|
|
102
102
|
* the twin of the server's `normalizeEnumShorthands` (unmarshal.go): agent_call
|
|
103
|
-
* harness shorthands ("cursor" → "HARNESS_CURSOR"), run_config service-tier
|
|
103
|
+
* harness shorthands ("cursor" → "HARNESS_CURSOR"), run_config service-tier/thinking-mode
|
|
104
104
|
* shorthands ("fast" → "SERVICE_TIER_FAST"), and the environment_refs kind
|
|
105
105
|
* default (an omitted kind means environment). Without this twin the offline
|
|
106
106
|
* decode would be STRICTER than a real apply and fail valid manifests.
|
|
@@ -123,6 +123,10 @@ function normalizeTaskConfigShorthands(kind: WorkflowTaskKind, config: JsonValue
|
|
|
123
123
|
const tier = SERVICE_TIER_SHORTHANDS[runConfig.service_tier.toLowerCase()];
|
|
124
124
|
if (tier !== undefined) runConfig.service_tier = tier;
|
|
125
125
|
}
|
|
126
|
+
if (typeof runConfig.thinking_mode === "string") {
|
|
127
|
+
const mode = THINKING_MODE_SHORTHANDS[runConfig.thinking_mode.toLowerCase()];
|
|
128
|
+
if (mode !== undefined) runConfig.thinking_mode = mode;
|
|
129
|
+
}
|
|
126
130
|
normalized.run_config = runConfig;
|
|
127
131
|
}
|
|
128
132
|
|
|
@@ -145,6 +149,11 @@ const SERVICE_TIER_SHORTHANDS: Record<string, string> = {
|
|
|
145
149
|
fast: "SERVICE_TIER_FAST",
|
|
146
150
|
};
|
|
147
151
|
|
|
152
|
+
const THINKING_MODE_SHORTHANDS: Record<string, string> = {
|
|
153
|
+
disabled: "THINKING_MODE_DISABLED",
|
|
154
|
+
enabled: "THINKING_MODE_ENABLED",
|
|
155
|
+
};
|
|
156
|
+
|
|
148
157
|
function isJsonObject(value: JsonValue | undefined): value is Record<string, JsonValue> {
|
|
149
158
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
150
159
|
}
|