@stigmer/runner 3.12.1 → 3.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-fingerprint +1 -1
- package/dist/activities/execute-cursor/capture-flow.d.ts +5 -4
- package/dist/activities/execute-cursor/capture-flow.js +5 -4
- package/dist/activities/execute-cursor/capture-flow.js.map +1 -1
- package/dist/activities/execute-cursor/cas-observations.d.ts +10 -4
- package/dist/activities/execute-cursor/cas-observations.js +10 -4
- package/dist/activities/execute-cursor/cas-observations.js.map +1 -1
- package/dist/activities/execute-cursor/hook-script.js +39 -13
- package/dist/activities/execute-cursor/hook-script.js.map +1 -1
- package/dist/activities/execute-cursor/skill-resolver.d.ts +8 -0
- package/dist/activities/execute-cursor/skill-resolver.js +77 -26
- package/dist/activities/execute-cursor/skill-resolver.js.map +1 -1
- package/dist/activities/execute-deep-agent/cas-capture-backend.d.ts +3 -1
- package/dist/activities/execute-deep-agent/cas-capture-backend.js +3 -1
- package/dist/activities/execute-deep-agent/cas-capture-backend.js.map +1 -1
- package/dist/activities/execute-deep-agent/setup.js +8 -0
- package/dist/activities/execute-deep-agent/setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-wiring.js +16 -9
- package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
- package/dist/activities/generate-session-subject.d.ts +80 -0
- package/dist/activities/generate-session-subject.js +283 -0
- package/dist/activities/generate-session-subject.js.map +1 -0
- package/dist/client/stigmer-client.d.ts +8 -0
- package/dist/client/stigmer-client.js +10 -0
- package/dist/client/stigmer-client.js.map +1 -1
- package/dist/middleware/approval-gate.d.ts +25 -10
- package/dist/middleware/approval-gate.js +33 -14
- package/dist/middleware/approval-gate.js.map +1 -1
- package/dist/middleware/otel-spans.d.ts +2 -1
- package/dist/middleware/otel-spans.js +2 -1
- package/dist/middleware/otel-spans.js.map +1 -1
- package/dist/runner-manager.js +3 -1
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner.js +3 -1
- package/dist/runner.js.map +1 -1
- package/dist/shared/attachment-vision.js +9 -0
- package/dist/shared/attachment-vision.js.map +1 -1
- package/dist/shared/mcp-manager.js +8 -0
- package/dist/shared/mcp-manager.js.map +1 -1
- package/package.json +2 -2
- package/src/activities/__tests__/generate-session-subject.test.ts +348 -0
- package/src/activities/execute-cursor/__tests__/hook-script.test.ts +60 -9
- package/src/activities/execute-cursor/__tests__/skill-resolver.test.ts +163 -7
- package/src/activities/execute-cursor/capture-flow.ts +5 -4
- package/src/activities/execute-cursor/cas-observations.ts +10 -4
- package/src/activities/execute-cursor/hook-script.ts +39 -13
- package/src/activities/execute-cursor/skill-resolver.ts +98 -31
- package/src/activities/execute-deep-agent/cas-capture-backend.ts +3 -1
- package/src/activities/execute-deep-agent/setup.ts +8 -0
- package/src/activities/execute-deep-agent/subagent-wiring.ts +16 -9
- package/src/activities/generate-session-subject.ts +370 -0
- package/src/client/stigmer-client.ts +11 -0
- package/src/middleware/__tests__/approval-gate.test.ts +130 -1
- package/src/middleware/approval-gate.ts +58 -24
- package/src/middleware/otel-spans.ts +2 -1
- package/src/runner-manager.ts +3 -0
- package/src/runner.ts +3 -0
- package/src/shared/__tests__/attachment-vision.test.ts +4 -0
- package/src/shared/__tests__/mcp-manager.test.ts +7 -2
- package/src/shared/attachment-vision.ts +9 -0
- package/src/shared/filereview/__tests__/capture.test.ts +48 -0
- package/src/shared/mcp-manager.ts +8 -0
|
@@ -65,18 +65,25 @@ export function buildSubAgentMiddleware(options = {}) {
|
|
|
65
65
|
}));
|
|
66
66
|
stack.push(createToolTruncationMiddleware(options.toolTruncation));
|
|
67
67
|
if (options.approvalGate) {
|
|
68
|
-
// captureIgnored (DD-19): a sub-agent flows gitignored writes
|
|
69
|
-
// CAS
|
|
68
|
+
// captureIgnored (DD-19): a sub-agent flows gitignored writes — and, since
|
|
69
|
+
// issue #303, non-secret CAS-owned deletes — into CAS iff a CAS observer
|
|
70
|
+
// backs its filesystem backend (compileSubagents passes this as
|
|
70
71
|
// `!!casObserver`). When true, inherit the parent gate verbatim so its
|
|
71
|
-
// captureIgnored + recordBlockedSecret feed the SAME
|
|
72
|
-
// backs the sub-agent's writes. When false (default;
|
|
73
|
-
// observer), force CAS routing off and drop
|
|
74
|
-
// gitignored paths stay on the interrupt gate — a flowed
|
|
75
|
-
// unobserved backend would apply unobserved,
|
|
76
|
-
// git-tracked edits are always captured by
|
|
72
|
+
// captureIgnored + recordBlockedSecret + captureDeleteBefore feed the SAME
|
|
73
|
+
// shared observer that backs the sub-agent's writes. When false (default;
|
|
74
|
+
// non-capture mode, or no observer), force CAS routing off and drop both
|
|
75
|
+
// observer sinks so gitignored paths stay on the interrupt gate — a flowed
|
|
76
|
+
// gitignored edit on an unobserved backend would apply unobserved,
|
|
77
|
+
// unreviewable bytes. Sub-agent git-tracked edits are always captured by
|
|
78
|
+
// the backend-agnostic boundary diff.
|
|
77
79
|
stack.push(createApprovalGateMiddleware(options.captureIgnored
|
|
78
80
|
? options.approvalGate
|
|
79
|
-
: {
|
|
81
|
+
: {
|
|
82
|
+
...options.approvalGate,
|
|
83
|
+
captureIgnored: false,
|
|
84
|
+
recordBlockedSecret: undefined,
|
|
85
|
+
captureDeleteBefore: undefined,
|
|
86
|
+
}));
|
|
80
87
|
}
|
|
81
88
|
if (options.costCap) {
|
|
82
89
|
stack.push(options.costCap.forSubAgent());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent-wiring.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/subagent-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAQH,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EACL,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AA4BnC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC;QACzC,eAAe,EAAE,2BAA2B;QAC5C,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAEnE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,
|
|
1
|
+
{"version":3,"file":"subagent-wiring.js","sourceRoot":"","sources":["../../../src/activities/execute-deep-agent/subagent-wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAQH,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EACL,4BAA4B,GAE7B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,wBAAwB,GAAG,CAAC,CAAC;AA4BnC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAqC,EAAE;IAEvC,MAAM,KAAK,GAAwB,EAAE,CAAC;IAEtC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7D,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC;QACzC,eAAe,EAAE,2BAA2B;QAC5C,WAAW,EAAE,wBAAwB;KACtC,CAAC,CAAC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAEnE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,2EAA2E;QAC3E,yEAAyE;QACzE,gEAAgE;QAChE,uEAAuE;QACvE,2EAA2E;QAC3E,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,mEAAmE;QACnE,yEAAyE;QACzE,sCAAsC;QACtC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CACrC,OAAO,CAAC,cAAc;YACpB,CAAC,CAAC,OAAO,CAAC,YAAY;YACtB,CAAC,CAAC;gBACE,GAAG,OAAO,CAAC,YAAY;gBACvB,cAAc,EAAE,KAAK;gBACrB,mBAAmB,EAAE,SAAS;gBAC9B,mBAAmB,EAAE,SAAS;aAC/B,CACN,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAEzC,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GenerateSessionSubject Temporal activity — replaces the sentinel subject of
|
|
3
|
+
* an auto-created session with a concise LLM-generated conversation title.
|
|
4
|
+
*
|
|
5
|
+
* Called fire-and-forget by the Go InvokeAgentExecutionWorkflow (Step 1.5 of
|
|
6
|
+
* BOTH the deep-agent and cursor flows) on the runner task queue, with a 60 s
|
|
7
|
+
* deadline and a single attempt. Failures are non-critical by contract: the
|
|
8
|
+
* session simply keeps its sentinel subject, and the workflow logs a warning.
|
|
9
|
+
*
|
|
10
|
+
* Cross-edition parity: this is the behavioral twin of stigmer-cloud's
|
|
11
|
+
* GenerateSessionSubjectActivityImpl (Java, runs in-process on the server
|
|
12
|
+
* because the Java server owns an LLM call service; the OSS LLM stack lives
|
|
13
|
+
* here in the runner). The system prompt, skip rules, 50-char cap, and the
|
|
14
|
+
* heuristic fallback are kept in lockstep so both editions title sessions
|
|
15
|
+
* identically. The previous owner was the retired Python agent-runner
|
|
16
|
+
* (stigmer/stigmer#665).
|
|
17
|
+
*
|
|
18
|
+
* Model + credential resolution follows ClassifyToolApprovals: the economy
|
|
19
|
+
* model for the configured primary (registry costTier=economy, graceful
|
|
20
|
+
* degrade to the primary), routed through the Stigmer proxy when one is
|
|
21
|
+
* configured, else called directly with the operator's provider key. Unlike
|
|
22
|
+
* classification — a security gate that fails closed — a missing credential
|
|
23
|
+
* here degrades to a heuristic title (the first words of the user message):
|
|
24
|
+
* a title is worth having even when no model is reachable.
|
|
25
|
+
*
|
|
26
|
+
* Activity contract (the Go stub dispatches exactly ONE argument — the cloud
|
|
27
|
+
* Java signature carries a second, invokerIdentityAccountId, that never
|
|
28
|
+
* crosses this wire):
|
|
29
|
+
* Name: "GenerateSessionSubject"
|
|
30
|
+
* Input: (executionId: string)
|
|
31
|
+
* Output: void
|
|
32
|
+
*/
|
|
33
|
+
import type { Config } from "../config.js";
|
|
34
|
+
import type { AgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/api_pb";
|
|
35
|
+
import type { Session } from "@stigmer/protos/ai/stigmer/agentic/session/v1/api_pb";
|
|
36
|
+
import type { Agent } from "@stigmer/protos/ai/stigmer/agentic/agent/v1/api_pb";
|
|
37
|
+
import type { AgentInstance } from "@stigmer/protos/ai/stigmer/agentic/agentinstance/v1/api_pb";
|
|
38
|
+
/**
|
|
39
|
+
* The sentinel written by the server on auto-created sessions — byte-identical
|
|
40
|
+
* to `autoCreatedSessionSubject` in stigmer-server's agentexecution create
|
|
41
|
+
* pipeline and to AUTO_CREATED_SUBJECT in the cloud activity. Only sessions
|
|
42
|
+
* still carrying it (or an empty subject) are ever titled.
|
|
43
|
+
*/
|
|
44
|
+
export declare const AUTO_CREATED_SUBJECT = "Auto-created session";
|
|
45
|
+
/** The client surface this activity needs — StigmerClient satisfies it. */
|
|
46
|
+
export interface SessionSubjectClient {
|
|
47
|
+
getExecution(executionId: string): Promise<AgentExecution>;
|
|
48
|
+
getSession(sessionId: string): Promise<Session>;
|
|
49
|
+
getAgent(agentId: string): Promise<Agent>;
|
|
50
|
+
getAgentInstance(instanceId: string): Promise<AgentInstance>;
|
|
51
|
+
updateSessionSubject(sessionId: string, subject: string): Promise<Session>;
|
|
52
|
+
}
|
|
53
|
+
export interface GenerateSessionSubjectOptions {
|
|
54
|
+
/** Null when the deployment has no proxy — the runner calls providers directly. */
|
|
55
|
+
proxyEndpoint: string | null;
|
|
56
|
+
stigmerToken: string | null;
|
|
57
|
+
primaryModel: string;
|
|
58
|
+
}
|
|
59
|
+
export declare function generateSessionSubject(executionId: string, client: SessionSubjectClient, options: GenerateSessionSubjectOptions): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* The agent behind the execution: the direct agent_id when the execution
|
|
62
|
+
* carries one, else resolved through the session's agent-instance chain.
|
|
63
|
+
* Empty string when unresolvable. Mirrors the cloud activity's resolveAgentId.
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveAgentId(execution: AgentExecution, session: Session, client: Pick<SessionSubjectClient, "getAgentInstance">): Promise<string>;
|
|
66
|
+
/** Kept in lockstep with the cloud activity's buildUserPrompt. */
|
|
67
|
+
export declare function buildUserPrompt(userMessage: string, agentName: string, agentDescription: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Best-effort subject from the first few words of the user message. Used when
|
|
70
|
+
* the LLM is unavailable. Kept in lockstep with the cloud activity.
|
|
71
|
+
*/
|
|
72
|
+
export declare function heuristicSubject(userMessage: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Strip one layer of wrapping quotes and enforce the length cap. Kept in
|
|
75
|
+
* lockstep with the cloud activity.
|
|
76
|
+
*/
|
|
77
|
+
export declare function cleanSubject(raw: string): string;
|
|
78
|
+
export declare function createGenerateSessionSubjectActivities(config: Config): {
|
|
79
|
+
GenerateSessionSubject: (executionId: string) => Promise<void>;
|
|
80
|
+
};
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GenerateSessionSubject Temporal activity — replaces the sentinel subject of
|
|
3
|
+
* an auto-created session with a concise LLM-generated conversation title.
|
|
4
|
+
*
|
|
5
|
+
* Called fire-and-forget by the Go InvokeAgentExecutionWorkflow (Step 1.5 of
|
|
6
|
+
* BOTH the deep-agent and cursor flows) on the runner task queue, with a 60 s
|
|
7
|
+
* deadline and a single attempt. Failures are non-critical by contract: the
|
|
8
|
+
* session simply keeps its sentinel subject, and the workflow logs a warning.
|
|
9
|
+
*
|
|
10
|
+
* Cross-edition parity: this is the behavioral twin of stigmer-cloud's
|
|
11
|
+
* GenerateSessionSubjectActivityImpl (Java, runs in-process on the server
|
|
12
|
+
* because the Java server owns an LLM call service; the OSS LLM stack lives
|
|
13
|
+
* here in the runner). The system prompt, skip rules, 50-char cap, and the
|
|
14
|
+
* heuristic fallback are kept in lockstep so both editions title sessions
|
|
15
|
+
* identically. The previous owner was the retired Python agent-runner
|
|
16
|
+
* (stigmer/stigmer#665).
|
|
17
|
+
*
|
|
18
|
+
* Model + credential resolution follows ClassifyToolApprovals: the economy
|
|
19
|
+
* model for the configured primary (registry costTier=economy, graceful
|
|
20
|
+
* degrade to the primary), routed through the Stigmer proxy when one is
|
|
21
|
+
* configured, else called directly with the operator's provider key. Unlike
|
|
22
|
+
* classification — a security gate that fails closed — a missing credential
|
|
23
|
+
* here degrades to a heuristic title (the first words of the user message):
|
|
24
|
+
* a title is worth having even when no model is reachable.
|
|
25
|
+
*
|
|
26
|
+
* Activity contract (the Go stub dispatches exactly ONE argument — the cloud
|
|
27
|
+
* Java signature carries a second, invokerIdentityAccountId, that never
|
|
28
|
+
* crosses this wire):
|
|
29
|
+
* Name: "GenerateSessionSubject"
|
|
30
|
+
* Input: (executionId: string)
|
|
31
|
+
* Output: void
|
|
32
|
+
*/
|
|
33
|
+
import { SystemMessage, HumanMessage } from "@langchain/core/messages";
|
|
34
|
+
import { ConnectError, Code } from "@connectrpc/connect";
|
|
35
|
+
import { activityStarted, activityFinished } from "../idle-watchdog.js";
|
|
36
|
+
import { StigmerClient } from "../client/stigmer-client.js";
|
|
37
|
+
import { getSummarizationModel } from "../shared/model-registry.js";
|
|
38
|
+
import { buildChatModel } from "../shared/model-client.js";
|
|
39
|
+
import { checkDirectCredentials } from "../shared/llm-backend.js";
|
|
40
|
+
import { tryInferProvider } from "../shared/llm-proxy.js";
|
|
41
|
+
/**
|
|
42
|
+
* The sentinel written by the server on auto-created sessions — byte-identical
|
|
43
|
+
* to `autoCreatedSessionSubject` in stigmer-server's agentexecution create
|
|
44
|
+
* pipeline and to AUTO_CREATED_SUBJECT in the cloud activity. Only sessions
|
|
45
|
+
* still carrying it (or an empty subject) are ever titled.
|
|
46
|
+
*/
|
|
47
|
+
export const AUTO_CREATED_SUBJECT = "Auto-created session";
|
|
48
|
+
const MAX_SUBJECT_LENGTH = 50;
|
|
49
|
+
/** Titles are tiny; matches the cloud activity's completion budget. */
|
|
50
|
+
const MAX_COMPLETION_TOKENS = 100;
|
|
51
|
+
const TEMPERATURE = 0.7;
|
|
52
|
+
/** Kept verbatim in lockstep with the cloud activity's SYSTEM_PROMPT. */
|
|
53
|
+
const SYSTEM_PROMPT = `\
|
|
54
|
+
You are a session title generator. Given a user's message and agent context, \
|
|
55
|
+
produce a concise conversation title.
|
|
56
|
+
|
|
57
|
+
Rules:
|
|
58
|
+
- 3 to 7 words, maximum 50 characters
|
|
59
|
+
- Capture the user's core intent or topic
|
|
60
|
+
- Be specific (e.g. "PostgreSQL Multi-AZ Setup" not "Database Help")
|
|
61
|
+
- No filler words ("help with", "question about", "I need")
|
|
62
|
+
- No quotes, no punctuation at the end
|
|
63
|
+
- Output ONLY the title, nothing else`;
|
|
64
|
+
export async function generateSessionSubject(executionId, client, options) {
|
|
65
|
+
const execution = await getOrSkip(() => client.getExecution(executionId), `execution not found: ${executionId}`);
|
|
66
|
+
if (execution === undefined)
|
|
67
|
+
return;
|
|
68
|
+
const sessionId = execution.spec?.sessionId ?? "";
|
|
69
|
+
const userMessage = execution.spec?.message ?? "";
|
|
70
|
+
if (sessionId === "") {
|
|
71
|
+
log(`no session_id on execution ${executionId}, skipping`);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (userMessage === "") {
|
|
75
|
+
log(`no user message on execution ${executionId}, skipping`);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const session = await getOrSkip(() => client.getSession(sessionId), `session not found: ${sessionId}`);
|
|
79
|
+
if (session === undefined)
|
|
80
|
+
return;
|
|
81
|
+
const currentSubject = session.spec?.subject ?? "";
|
|
82
|
+
if (currentSubject !== "" && currentSubject !== AUTO_CREATED_SUBJECT) {
|
|
83
|
+
log(`subject is '${currentSubject}' (already set), skipping`);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const agentId = await resolveAgentId(execution, session, client);
|
|
87
|
+
if (agentId === "") {
|
|
88
|
+
log(`cannot resolve agent_id for execution ${executionId}, skipping`);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const agent = await getOrSkip(() => client.getAgent(agentId), `agent not found: ${agentId}`);
|
|
92
|
+
if (agent === undefined)
|
|
93
|
+
return;
|
|
94
|
+
const subject = await generateTitle({
|
|
95
|
+
userMessage,
|
|
96
|
+
agentName: agent.metadata?.name ?? "",
|
|
97
|
+
agentDescription: agent.spec?.description ?? "",
|
|
98
|
+
executionId,
|
|
99
|
+
options,
|
|
100
|
+
});
|
|
101
|
+
if (subject === "") {
|
|
102
|
+
log("subject is empty after generation, skipping");
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
await client.updateSessionSubject(sessionId, subject);
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
log(`failed to persist subject for session ${sessionId}: ${message(err)}`);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
log(`updated session ${sessionId} subject to '${subject}'`);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* The agent behind the execution: the direct agent_id when the execution
|
|
116
|
+
* carries one, else resolved through the session's agent-instance chain.
|
|
117
|
+
* Empty string when unresolvable. Mirrors the cloud activity's resolveAgentId.
|
|
118
|
+
*/
|
|
119
|
+
export async function resolveAgentId(execution, session, client) {
|
|
120
|
+
const direct = execution.spec?.agentId ?? "";
|
|
121
|
+
if (direct !== "")
|
|
122
|
+
return direct;
|
|
123
|
+
const instanceId = session.spec?.agentInstanceId ?? "";
|
|
124
|
+
if (instanceId === "")
|
|
125
|
+
return "";
|
|
126
|
+
const instance = await getOrSkip(() => client.getAgentInstance(instanceId), `agent instance not found: ${instanceId}`);
|
|
127
|
+
return instance?.spec?.agentId ?? "";
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* LLM title with heuristic degrade. Every unavailability class — no direct
|
|
131
|
+
* credential, model build failure, provider error, empty completion — lands on
|
|
132
|
+
* the heuristic, matching the cloud activity (its LlmCallService swallows
|
|
133
|
+
* provider failures into a null completion; heuristicSubject documents the
|
|
134
|
+
* same "expired API key, rate limit, registry miss" cases).
|
|
135
|
+
*/
|
|
136
|
+
async function generateTitle(params) {
|
|
137
|
+
const { userMessage, agentName, agentDescription, executionId, options } = params;
|
|
138
|
+
const model = await getSummarizationModel(options.primaryModel);
|
|
139
|
+
// Direct mode with no credential path degrades up front with one actionable
|
|
140
|
+
// message (the ClassifyToolApprovals idiom — the provider follows the
|
|
141
|
+
// economy-model resolution, not the operator's key, so the log names it).
|
|
142
|
+
if (!options.proxyEndpoint) {
|
|
143
|
+
const provider = tryInferProvider(model);
|
|
144
|
+
const missing = provider === null ? null : checkDirectCredentials(provider);
|
|
145
|
+
if (missing !== null) {
|
|
146
|
+
log(`title model '${model}' (${provider}) has no credential path — ` +
|
|
147
|
+
`using heuristic fallback. ${missing}`);
|
|
148
|
+
return heuristicSubject(userMessage);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
const { model: llm } = await buildChatModel({
|
|
153
|
+
modelName: model,
|
|
154
|
+
proxyEndpoint: options.proxyEndpoint ?? undefined,
|
|
155
|
+
stigmerToken: options.stigmerToken ?? undefined,
|
|
156
|
+
headerScope: { executionId },
|
|
157
|
+
maxTokens: MAX_COMPLETION_TOKENS,
|
|
158
|
+
temperature: TEMPERATURE,
|
|
159
|
+
});
|
|
160
|
+
const result = await llm.invoke([
|
|
161
|
+
new SystemMessage(SYSTEM_PROMPT),
|
|
162
|
+
new HumanMessage(buildUserPrompt(userMessage, agentName, agentDescription)),
|
|
163
|
+
]);
|
|
164
|
+
const generated = contentToString(result.content).trim();
|
|
165
|
+
if (generated === "") {
|
|
166
|
+
log("LLM returned empty content, using heuristic fallback");
|
|
167
|
+
return heuristicSubject(userMessage);
|
|
168
|
+
}
|
|
169
|
+
return cleanSubject(generated);
|
|
170
|
+
}
|
|
171
|
+
catch (err) {
|
|
172
|
+
log(`LLM title generation failed, using heuristic fallback: ${message(err)}`);
|
|
173
|
+
return heuristicSubject(userMessage);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** Kept in lockstep with the cloud activity's buildUserPrompt. */
|
|
177
|
+
export function buildUserPrompt(userMessage, agentName, agentDescription) {
|
|
178
|
+
let prompt = `User's first message:\n"${userMessage}"\n\n`;
|
|
179
|
+
prompt += `Agent: ${agentName}\n`;
|
|
180
|
+
if (agentDescription !== "") {
|
|
181
|
+
prompt += `Agent purpose: ${agentDescription}\n`;
|
|
182
|
+
}
|
|
183
|
+
prompt += "\nGenerate the title:";
|
|
184
|
+
return prompt;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Best-effort subject from the first few words of the user message. Used when
|
|
188
|
+
* the LLM is unavailable. Kept in lockstep with the cloud activity.
|
|
189
|
+
*/
|
|
190
|
+
export function heuristicSubject(userMessage) {
|
|
191
|
+
const words = userMessage.trim().split(/\s+/);
|
|
192
|
+
let subject = words.slice(0, 7).join(" ");
|
|
193
|
+
if (subject.length > MAX_SUBJECT_LENGTH) {
|
|
194
|
+
subject = subject.slice(0, MAX_SUBJECT_LENGTH - 3) + "...";
|
|
195
|
+
}
|
|
196
|
+
return subject;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Strip one layer of wrapping quotes and enforce the length cap. Kept in
|
|
200
|
+
* lockstep with the cloud activity.
|
|
201
|
+
*/
|
|
202
|
+
export function cleanSubject(raw) {
|
|
203
|
+
let subject = raw.trim();
|
|
204
|
+
if (subject.length > 1 && subject.startsWith('"') && subject.endsWith('"')) {
|
|
205
|
+
subject = subject.slice(1, -1);
|
|
206
|
+
}
|
|
207
|
+
if (subject.length > 1 && subject.startsWith("'") && subject.endsWith("'")) {
|
|
208
|
+
subject = subject.slice(1, -1);
|
|
209
|
+
}
|
|
210
|
+
subject = subject.trim();
|
|
211
|
+
if (subject.length > MAX_SUBJECT_LENGTH) {
|
|
212
|
+
subject = subject.slice(0, MAX_SUBJECT_LENGTH - 3) + "...";
|
|
213
|
+
}
|
|
214
|
+
return subject;
|
|
215
|
+
}
|
|
216
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
217
|
+
// Helpers
|
|
218
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
219
|
+
/**
|
|
220
|
+
* Run a lookup, translating NOT_FOUND into a logged skip (undefined) — the
|
|
221
|
+
* cloud activity's Optional.isEmpty branches. Anything else propagates as a
|
|
222
|
+
* genuine activity failure; the workflow's fire-and-forget wrapper logs it
|
|
223
|
+
* as non-critical.
|
|
224
|
+
*/
|
|
225
|
+
async function getOrSkip(fetch, skipMessage) {
|
|
226
|
+
try {
|
|
227
|
+
return await fetch();
|
|
228
|
+
}
|
|
229
|
+
catch (err) {
|
|
230
|
+
if (err instanceof ConnectError && err.code === Code.NotFound) {
|
|
231
|
+
log(`${skipMessage}, skipping`);
|
|
232
|
+
return undefined;
|
|
233
|
+
}
|
|
234
|
+
throw err;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/** LangChain message content is a string or an array of typed parts. */
|
|
238
|
+
function contentToString(content) {
|
|
239
|
+
if (typeof content === "string")
|
|
240
|
+
return content;
|
|
241
|
+
if (Array.isArray(content)) {
|
|
242
|
+
return content
|
|
243
|
+
.map((part) => typeof part === "object" && part !== null && "text" in part
|
|
244
|
+
? String(part.text)
|
|
245
|
+
: "")
|
|
246
|
+
.join("");
|
|
247
|
+
}
|
|
248
|
+
return "";
|
|
249
|
+
}
|
|
250
|
+
function message(err) {
|
|
251
|
+
return err instanceof Error ? err.message : String(err);
|
|
252
|
+
}
|
|
253
|
+
function log(msg) {
|
|
254
|
+
console.log(`[GenerateSessionSubject] ${msg}`);
|
|
255
|
+
}
|
|
256
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
257
|
+
// Temporal Activity Factory
|
|
258
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
259
|
+
export function createGenerateSessionSubjectActivities(config) {
|
|
260
|
+
const client = new StigmerClient({
|
|
261
|
+
endpoint: config.stigmerBackendEndpoint,
|
|
262
|
+
token: config.stigmerToken,
|
|
263
|
+
tokenRef: config.stigmerTokenRef,
|
|
264
|
+
runnerTokenRef: config.stigmerRunnerTokenRef,
|
|
265
|
+
});
|
|
266
|
+
return {
|
|
267
|
+
GenerateSessionSubject: async (executionId) => {
|
|
268
|
+
activityStarted();
|
|
269
|
+
try {
|
|
270
|
+
log(`started: execution=${executionId}`);
|
|
271
|
+
await generateSessionSubject(executionId, client, {
|
|
272
|
+
proxyEndpoint: config.proxyEndpoint,
|
|
273
|
+
stigmerToken: config.stigmerToken,
|
|
274
|
+
primaryModel: config.primaryModel,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
finally {
|
|
278
|
+
activityFinished();
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=generate-session-subject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-session-subject.js","sourceRoot":"","sources":["../../src/activities/generate-session-subject.ts"],"names":[],"mappings":"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"}
|
|
@@ -249,6 +249,14 @@ export declare class StigmerClient {
|
|
|
249
249
|
listChannelTemplates(channel: string, scopedToken?: string): Promise<ChannelTemplate[]>;
|
|
250
250
|
getSession(sessionId: string): Promise<Session>;
|
|
251
251
|
updateSession(session: Session): Promise<Session>;
|
|
252
|
+
/**
|
|
253
|
+
* Race-safe, field-level subject write. The dedicated updateSubject RPC
|
|
254
|
+
* exists precisely so concurrent writers (title generation vs a user
|
|
255
|
+
* rename) cannot lose each other's updates the way full-resource
|
|
256
|
+
* {@link updateSession} round-trips can — always prefer it for subject
|
|
257
|
+
* changes.
|
|
258
|
+
*/
|
|
259
|
+
updateSessionSubject(sessionId: string, subject: string): Promise<Session>;
|
|
252
260
|
getAgent(agentId: string): Promise<Agent>;
|
|
253
261
|
getAgentInstance(instanceId: string): Promise<AgentInstance>;
|
|
254
262
|
getMcpServer(serverId: string): Promise<McpServer>;
|
|
@@ -359,6 +359,16 @@ export class StigmerClient {
|
|
|
359
359
|
async updateSession(session) {
|
|
360
360
|
return this.sessionCommand.update(session);
|
|
361
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Race-safe, field-level subject write. The dedicated updateSubject RPC
|
|
364
|
+
* exists precisely so concurrent writers (title generation vs a user
|
|
365
|
+
* rename) cannot lose each other's updates the way full-resource
|
|
366
|
+
* {@link updateSession} round-trips can — always prefer it for subject
|
|
367
|
+
* changes.
|
|
368
|
+
*/
|
|
369
|
+
async updateSessionSubject(sessionId, subject) {
|
|
370
|
+
return this.sessionCommand.updateSubject({ id: sessionId, subject });
|
|
371
|
+
}
|
|
362
372
|
async getAgent(agentId) {
|
|
363
373
|
return this.agentQuery.get({ value: agentId });
|
|
364
374
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stigmer-client.js","sourceRoot":"","sources":["../../src/client/stigmer-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stigmer-client.js","sourceRoot":"","sources":["../../src/client/stigmer-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,10 +73,11 @@ export interface ApprovalGateConfig {
|
|
|
73
73
|
* `write`/`delete` whose target path is capturable (git-tracked — see
|
|
74
74
|
* {@link isCapturablePath}) FLOWS instead of interrupting: the edit is reviewed
|
|
75
75
|
* post-hoc as a captured `FileChangeSet`, not gated before it runs. A gitignored
|
|
76
|
-
* path is NOT capturable, so it stays gated
|
|
77
|
-
*
|
|
78
|
-
* allow-branch. `shell` and MCP tools
|
|
79
|
-
* default) keeps the classic
|
|
76
|
+
* path is NOT capturable by the git substrate, so it stays gated unless
|
|
77
|
+
* {@link captureIgnored} routes it into CAS capture — the exact twin of the
|
|
78
|
+
* Cursor hook's `__stigmer_is_gitignored` allow-branch. `shell` and MCP tools
|
|
79
|
+
* are never bypassed by this flag. Off (the default) keeps the classic
|
|
80
|
+
* true-pause gate for every mutation.
|
|
80
81
|
*/
|
|
81
82
|
readonly fileCaptureMode?: boolean;
|
|
82
83
|
/**
|
|
@@ -92,12 +93,12 @@ export interface ApprovalGateConfig {
|
|
|
92
93
|
* instead of the interrupt gate, applying the DD-E secret gate. When off, a
|
|
93
94
|
* gitignored path stays on the interrupt gate exactly as before.
|
|
94
95
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
96
|
+
* True only for gates whose backend a CAS observer wraps: the parent gate
|
|
97
|
+
* always (setup.ts), and — since DD-19 — sub-agent gates too, because
|
|
98
|
+
* `compileSubagents` gives every sub-agent a CAS-observing backend wired to
|
|
99
|
+
* the SAME shared observer and `buildSubAgentMiddleware` then inherits this
|
|
100
|
+
* config verbatim. A gate over an UNOBSERVED backend must keep this false:
|
|
101
|
+
* flowing its gitignored edits would apply unobserved, unreviewable bytes.
|
|
101
102
|
*/
|
|
102
103
|
readonly captureIgnored?: boolean;
|
|
103
104
|
/**
|
|
@@ -107,6 +108,20 @@ export interface ApprovalGateConfig {
|
|
|
107
108
|
* secret; the CONTENT never leaves the workspace). Absent ⇒ nothing recorded.
|
|
108
109
|
*/
|
|
109
110
|
readonly recordBlockedSecret?: (rawPath: string) => void;
|
|
111
|
+
/**
|
|
112
|
+
* Capture a file's pre-delete bytes into the CAS observer so a CAS-owned
|
|
113
|
+
* (gitignored / non-git) DELETE can flow under {@link captureIgnored} and be
|
|
114
|
+
* reviewed post-hoc exactly like a write (issue #303) — the delete twin of the
|
|
115
|
+
* backend's `recordBefore` write observation. A delete is the one mutation the
|
|
116
|
+
* backend cannot observe (deepagents has no backend delete method to wrap), so
|
|
117
|
+
* the gate captures at authorization time instead: the file's bytes are still
|
|
118
|
+
* on disk here, and the turn boundary then reads after=null and authors a
|
|
119
|
+
* `FILE_CHANGE_KIND_DELETE` with the same discard-restores contract.
|
|
120
|
+
*
|
|
121
|
+
* Absent ⇒ deletes keep today's interrupt-gate behavior (fail-closed: a delete
|
|
122
|
+
* we cannot capture cannot be reviewed, so it must be approved up front).
|
|
123
|
+
*/
|
|
124
|
+
readonly captureDeleteBefore?: (rawPath: string) => Promise<void>;
|
|
110
125
|
/**
|
|
111
126
|
* Unattended approval mode (ExecutionConfig.approval_mode = UNATTENDED):
|
|
112
127
|
* the creating surface — a messaging channel, a guest share — has no
|