awb-agent-manager 1.6.271 → 1.6.272
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/lib/chat-session-manager.js +2 -42
- package/dist/lib/chat-session-manager.js.map +1 -1
- package/dist/lib/config.d.ts +1 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/event-dispatcher.d.ts +26 -0
- package/dist/lib/event-dispatcher.js +200 -2
- package/dist/lib/event-dispatcher.js.map +1 -1
- package/dist/lib/instance-heartbeat.d.ts +2 -1
- package/dist/lib/instance-heartbeat.js +4 -1
- package/dist/lib/instance-heartbeat.js.map +1 -1
- package/dist/lib/rest.d.ts +6 -0
- package/dist/lib/rest.js +26 -0
- package/dist/lib/rest.js.map +1 -1
- package/dist/lib/setup.js +2 -0
- package/dist/lib/setup.js.map +1 -1
- package/dist/lib/ticket-ref-capture.d.ts +0 -12
- package/dist/lib/ticket-ref-capture.js +5 -42
- package/dist/lib/ticket-ref-capture.js.map +1 -1
- package/dist/main.js +11 -2
- package/dist/main.js.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import { log } from './logging.js';
|
|
|
8
8
|
import { classifyCliError, hasUntrustedWorkspaceWarning } from './cli-error-signatures.js';
|
|
9
9
|
import { callMcpTool, fireAndForgetTool, unwrapToolResult } from './mcp-client.js';
|
|
10
10
|
import { resolveRunCompletionRoute } from './run-provisioner.js';
|
|
11
|
-
import { trackedTicketTool, parseStreamToolResult, harvestTicketTitles, resolveTicketRef, resolveBatchTicketRefs, resolveRejectHandoffRefs, formatTicketRefsContent, chunkTicketRefs, trackedArtifactTool, resolveArtifactRef, chunkArtifactRefs, formatArtifactRefsContent,
|
|
11
|
+
import { trackedTicketTool, parseStreamToolResult, harvestTicketTitles, resolveTicketRef, resolveBatchTicketRefs, resolveRejectHandoffRefs, formatTicketRefsContent, chunkTicketRefs, trackedArtifactTool, resolveArtifactRef, chunkArtifactRefs, formatArtifactRefsContent, trackedBoardTool, resolveBoardRef, chunkBoardRefs, formatBoardRefsContent, } from './ticket-ref-capture.js';
|
|
12
12
|
import { findLiveBackgroundTasks, reapProcessTrees } from './process-tree.js';
|
|
13
13
|
import { chatFollowupPolicy, composeChatRoomPrompt } from './prompts.js';
|
|
14
14
|
import { approxBase64Bytes, prepareChatAttachments, renderAttachmentBlock, } from './chat-attachment-prep.js';
|
|
@@ -46,8 +46,6 @@ export class ChatSessionManager extends BaseSessionManager {
|
|
|
46
46
|
#ticketTitleCache = new Map();
|
|
47
47
|
#pendingArtifactTools = new Map();
|
|
48
48
|
#capturedArtifactRefs = new Map();
|
|
49
|
-
#pendingAgentTools = new Map();
|
|
50
|
-
#capturedAgentRefs = new Map();
|
|
51
49
|
#pendingBoardTools = new Map();
|
|
52
50
|
#capturedBoardRefs = new Map();
|
|
53
51
|
constructor(config) {
|
|
@@ -586,16 +584,6 @@ export class ChatSessionManager extends BaseSessionManager {
|
|
|
586
584
|
apend.set(block.id, actx);
|
|
587
585
|
return;
|
|
588
586
|
}
|
|
589
|
-
const agctx = trackedAgentTool(block?.name);
|
|
590
|
-
if (agctx) {
|
|
591
|
-
let agpend = this.#pendingAgentTools.get(pid);
|
|
592
|
-
if (!agpend) {
|
|
593
|
-
agpend = new Map();
|
|
594
|
-
this.#pendingAgentTools.set(pid, agpend);
|
|
595
|
-
}
|
|
596
|
-
agpend.set(block.id, agctx);
|
|
597
|
-
return;
|
|
598
|
-
}
|
|
599
587
|
const bctx = trackedBoardTool(block?.name, block?.input);
|
|
600
588
|
if (!bctx)
|
|
601
589
|
return;
|
|
@@ -628,7 +616,6 @@ export class ChatSessionManager extends BaseSessionManager {
|
|
|
628
616
|
this.#capturedTicketRefs.delete(pid);
|
|
629
617
|
}
|
|
630
618
|
this.#consumeArtifactToolResult(pid, useId, result, isError);
|
|
631
|
-
this.#consumeAgentToolResult(pid, useId, result, isError);
|
|
632
619
|
this.#consumeBoardToolResult(pid, useId, result, isError);
|
|
633
620
|
return;
|
|
634
621
|
}
|
|
@@ -672,23 +659,6 @@ export class ChatSessionManager extends BaseSessionManager {
|
|
|
672
659
|
refs.push(ref);
|
|
673
660
|
this.#capturedArtifactRefs.set(pid, refs);
|
|
674
661
|
}
|
|
675
|
-
#consumeAgentToolResult(pid, useId, result, isError) {
|
|
676
|
-
const agpend = this.#pendingAgentTools.get(pid);
|
|
677
|
-
const agctx = agpend && useId ? agpend.get(useId) : undefined;
|
|
678
|
-
if (!agctx || !agpend || !useId)
|
|
679
|
-
return;
|
|
680
|
-
agpend.delete(useId);
|
|
681
|
-
const ref = resolveAgentRef(agctx, result, isError);
|
|
682
|
-
if (ref)
|
|
683
|
-
this.#pushCapturedAgentRef(pid, ref);
|
|
684
|
-
}
|
|
685
|
-
#pushCapturedAgentRef(pid, ref) {
|
|
686
|
-
const refs = this.#capturedAgentRefs.get(pid) ?? [];
|
|
687
|
-
if (refs.some((r) => r.agent_id === ref.agent_id))
|
|
688
|
-
return;
|
|
689
|
-
refs.push(ref);
|
|
690
|
-
this.#capturedAgentRefs.set(pid, refs);
|
|
691
|
-
}
|
|
692
662
|
#consumeBoardToolResult(pid, useId, result, isError) {
|
|
693
663
|
const bpend = this.#pendingBoardTools.get(pid);
|
|
694
664
|
const bctx = bpend && useId ? bpend.get(useId) : undefined;
|
|
@@ -709,21 +679,17 @@ export class ChatSessionManager extends BaseSessionManager {
|
|
|
709
679
|
#flushTicketRefs(sess) {
|
|
710
680
|
const refs = this.#capturedTicketRefs.get(sess.pid);
|
|
711
681
|
const artifactRefs = this.#capturedArtifactRefs.get(sess.pid);
|
|
712
|
-
const agentRefs = this.#capturedAgentRefs.get(sess.pid);
|
|
713
682
|
const boardRefs = this.#capturedBoardRefs.get(sess.pid);
|
|
714
683
|
this.#capturedTicketRefs.delete(sess.pid);
|
|
715
684
|
this.#pendingTicketTools.delete(sess.pid);
|
|
716
685
|
this.#capturedArtifactRefs.delete(sess.pid);
|
|
717
686
|
this.#pendingArtifactTools.delete(sess.pid);
|
|
718
|
-
this.#capturedAgentRefs.delete(sess.pid);
|
|
719
|
-
this.#pendingAgentTools.delete(sess.pid);
|
|
720
687
|
this.#capturedBoardRefs.delete(sess.pid);
|
|
721
688
|
this.#pendingBoardTools.delete(sess.pid);
|
|
722
689
|
const hasTicket = !!refs && refs.length > 0;
|
|
723
690
|
const hasArtifact = !!artifactRefs && artifactRefs.length > 0;
|
|
724
|
-
const hasAgent = !!agentRefs && agentRefs.length > 0;
|
|
725
691
|
const hasBoard = !!boardRefs && boardRefs.length > 0;
|
|
726
|
-
if (!hasTicket && !hasArtifact && !
|
|
692
|
+
if (!hasTicket && !hasArtifact && !hasBoard)
|
|
727
693
|
return;
|
|
728
694
|
const roomId = sess.roomId;
|
|
729
695
|
const agentId = sess.agentId;
|
|
@@ -746,12 +712,6 @@ export class ChatSessionManager extends BaseSessionManager {
|
|
|
746
712
|
void postChatRoomMessage(cfg, roomId, agentId, content, { metadata: { artifact_refs: chunk } });
|
|
747
713
|
}
|
|
748
714
|
}
|
|
749
|
-
if (hasAgent) {
|
|
750
|
-
for (const chunk of chunkAgentRefs(agentRefs, AGENT_BOARD_REFS_PER_MESSAGE)) {
|
|
751
|
-
const content = formatAgentRefsContent(chunk);
|
|
752
|
-
void postChatRoomMessage(cfg, roomId, agentId, content, { metadata: { agent_refs: chunk } });
|
|
753
|
-
}
|
|
754
|
-
}
|
|
755
715
|
if (hasBoard) {
|
|
756
716
|
for (const chunk of chunkBoardRefs(boardRefs, AGENT_BOARD_REFS_PER_MESSAGE)) {
|
|
757
717
|
const content = formatBoardRefsContent(chunk);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-manager.js","sourceRoot":"","sources":["../../src/lib/chat-session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-session-manager.js","sourceRoot":"","sources":["../../src/lib/chat-session-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EACL,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GAEnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,32 @@ interface ResolvedEnvironmentConfig {
|
|
|
26
26
|
}
|
|
27
27
|
export declare function ordinaryWorkBoardsForChat(config: AwbConfig, usesNativeMcp: boolean, isActionRoom: boolean): Promise<never[] | import("./rest.js").OrdinaryWorkBoardCandidate[]>;
|
|
28
28
|
export declare function parseHarnessConfig(raw: unknown): HarnessSpec | null;
|
|
29
|
+
export interface TriggerRuntimeSpec {
|
|
30
|
+
manager_agent_id: string;
|
|
31
|
+
cli: string;
|
|
32
|
+
model: string | null;
|
|
33
|
+
working_dir: string;
|
|
34
|
+
folder_scope: string;
|
|
35
|
+
credential_id: string | null;
|
|
36
|
+
cli_runtime_profile: string | null;
|
|
37
|
+
runtime_config: unknown;
|
|
38
|
+
label: string;
|
|
39
|
+
role_prompt: string;
|
|
40
|
+
}
|
|
41
|
+
export declare function parseTriggerRuntime(raw: unknown): TriggerRuntimeSpec | null;
|
|
42
|
+
export declare function runtimeIdentityKey(spec: Pick<TriggerRuntimeSpec, 'cli' | 'working_dir' | 'credential_id'>): string;
|
|
43
|
+
export declare function matchRuntimeContextEntry(entry: {
|
|
44
|
+
cli?: string | null;
|
|
45
|
+
working_dir?: string | null;
|
|
46
|
+
model?: string | null;
|
|
47
|
+
credential_id?: string | null;
|
|
48
|
+
}, spec: Pick<TriggerRuntimeSpec, 'cli' | 'working_dir' | 'model' | 'credential_id'>): boolean;
|
|
49
|
+
export declare function findRuntimeContextEntry<T extends {
|
|
50
|
+
cli?: string | null;
|
|
51
|
+
working_dir?: string | null;
|
|
52
|
+
model?: string | null;
|
|
53
|
+
credential_id?: string | null;
|
|
54
|
+
}>(entries: readonly T[], spec: Pick<TriggerRuntimeSpec, 'cli' | 'working_dir' | 'model' | 'credential_id'>): T | undefined;
|
|
29
55
|
export declare function parseRuntimeProfile(raw: unknown): RuntimeProfileSpec | null;
|
|
30
56
|
export declare function resolveTriggerRuntimeProfile(rawCliRuntimeProfile: unknown, instanceOverride: RuntimeProfileSpec | null | undefined): RuntimeProfileSpec | null;
|
|
31
57
|
export declare function resolveRoomBroadcastRuntimeProfile(payload: any, responderAgentId: string, instanceOverride: RuntimeProfileSpec | null | undefined): RuntimeProfileSpec | null;
|
|
@@ -2,8 +2,8 @@ var _a;
|
|
|
2
2
|
import { log } from './logging.js';
|
|
3
3
|
import { loadAgentInfo } from './config.js';
|
|
4
4
|
import { spawnFailureTracker } from './spawn-failure-tracker.js';
|
|
5
|
-
import { fetchTicketContext, fetchChatRoomHistory, fetchOrdinaryWorkBoardCandidates, fetchAgentRecord, fetchRepositoryCredentialStatus, hasNewAgentComment, postFsResponse, postChatRoomMessage, postDispatchAck, provisionManagedAgentApiKey, } from './rest.js';
|
|
6
|
-
import { readApiKey, readMcpConfigServerNames, writeApiKey, writeMcpConfig } from './managed-agent-store.js';
|
|
5
|
+
import { fetchTicketContext, fetchChatRoomHistory, fetchOrdinaryWorkBoardCandidates, fetchAgentRecord, fetchRepositoryCredentialStatus, hasNewAgentComment, postFsResponse, postChatRoomMessage, postDispatchAck, provisionManagedAgentApiKey, provisionRuntimeApiKey, } from './rest.js';
|
|
6
|
+
import { ensureCliHomeDir, readApiKey, readMcpConfigServerNames, writeApiKey, writeMcpConfig } from './managed-agent-store.js';
|
|
7
7
|
import { recordEvent } from './event-log-recorder.js';
|
|
8
8
|
import { prepareChatAttachments } from './chat-attachment-prep.js';
|
|
9
9
|
import { injectWorkFolder, repositoryContextInstructions, worktreeInstructionsFor } from './prompts.js';
|
|
@@ -66,6 +66,66 @@ export function parseHarnessConfig(raw) {
|
|
|
66
66
|
}
|
|
67
67
|
return Object.keys(out).length > 0 ? out : null;
|
|
68
68
|
}
|
|
69
|
+
export function parseTriggerRuntime(raw) {
|
|
70
|
+
let obj = raw;
|
|
71
|
+
if (obj === null || obj === undefined)
|
|
72
|
+
return null;
|
|
73
|
+
if (typeof obj === 'string') {
|
|
74
|
+
if (!obj.trim())
|
|
75
|
+
return null;
|
|
76
|
+
try {
|
|
77
|
+
obj = JSON.parse(obj);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
log('parseTriggerRuntime: not an object or JSON string — dropping');
|
|
81
|
+
return null;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
|
|
85
|
+
log('parseTriggerRuntime: expected an object — dropping');
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
const managerAgentId = typeof obj.manager_agent_id === 'string' ? obj.manager_agent_id.trim() : '';
|
|
89
|
+
const cli = typeof obj.cli === 'string' ? obj.cli.trim().toLowerCase() : '';
|
|
90
|
+
const workingDir = typeof obj.working_dir === 'string' ? obj.working_dir.trim() : '';
|
|
91
|
+
if (!managerAgentId || !cli || !workingDir) {
|
|
92
|
+
log('parseTriggerRuntime: missing required field(s) ' +
|
|
93
|
+
`(manager_agent_id=${!!managerAgentId} cli=${!!cli} working_dir=${!!workingDir}) — dropping`);
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
96
|
+
const strOrNull = (v) => (typeof v === 'string' && v ? v : null);
|
|
97
|
+
const str = (v) => (typeof v === 'string' ? v : '');
|
|
98
|
+
return {
|
|
99
|
+
manager_agent_id: managerAgentId,
|
|
100
|
+
cli,
|
|
101
|
+
model: strOrNull(obj.model),
|
|
102
|
+
working_dir: workingDir,
|
|
103
|
+
folder_scope: str(obj.folder_scope) || 'shared',
|
|
104
|
+
credential_id: strOrNull(obj.credential_id),
|
|
105
|
+
cli_runtime_profile: strOrNull(obj.cli_runtime_profile),
|
|
106
|
+
runtime_config: obj.runtime_config ?? null,
|
|
107
|
+
label: str(obj.label),
|
|
108
|
+
role_prompt: str(obj.role_prompt),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
export function runtimeIdentityKey(spec) {
|
|
112
|
+
const norm = (v) => (v || '').trim();
|
|
113
|
+
const digest = createHash('sha256')
|
|
114
|
+
.update(`${norm(spec.cli).toLowerCase()}\0${norm(spec.working_dir)}\0${norm(spec.credential_id)}`, 'utf8')
|
|
115
|
+
.digest('hex')
|
|
116
|
+
.slice(0, 16);
|
|
117
|
+
return `rt-${digest}`;
|
|
118
|
+
}
|
|
119
|
+
export function matchRuntimeContextEntry(entry, spec) {
|
|
120
|
+
const norm = (v) => (v || '').trim();
|
|
121
|
+
return (norm(entry.cli).toLowerCase() === norm(spec.cli).toLowerCase() &&
|
|
122
|
+
norm(entry.working_dir) === norm(spec.working_dir) &&
|
|
123
|
+
norm(entry.model) === norm(spec.model) &&
|
|
124
|
+
norm(entry.credential_id) === norm(spec.credential_id));
|
|
125
|
+
}
|
|
126
|
+
export function findRuntimeContextEntry(entries, spec) {
|
|
127
|
+
return entries.find((e) => matchRuntimeContextEntry(e, spec));
|
|
128
|
+
}
|
|
69
129
|
function isRuntimeProfileShape(value) {
|
|
70
130
|
return (typeof value.id === 'string'
|
|
71
131
|
&& (value.protocol === 'anthropic-compatible' || value.protocol === 'openai-compatible')
|
|
@@ -658,6 +718,78 @@ export class EventDispatcher {
|
|
|
658
718
|
runtime_config: ctx.runtime_config ?? null,
|
|
659
719
|
};
|
|
660
720
|
}
|
|
721
|
+
async #resolveRuntimeContext(spec, workspaceId) {
|
|
722
|
+
if (!spec || !this.#managedAgentContexts)
|
|
723
|
+
return undefined;
|
|
724
|
+
const entry = findRuntimeContextEntry(this.#managedAgentContexts.list(), spec);
|
|
725
|
+
if (entry) {
|
|
726
|
+
const ctx = {
|
|
727
|
+
agent_id: entry.agent_id,
|
|
728
|
+
workspace_id: entry.workspace_id,
|
|
729
|
+
api_key: entry.api_key,
|
|
730
|
+
cwd: entry.working_dir,
|
|
731
|
+
mcp_config_path: entry.mcp_config_path,
|
|
732
|
+
cli: spec.cli,
|
|
733
|
+
cli_home_dir: entry.cli_home_dir,
|
|
734
|
+
extra_env: entry.extra_env,
|
|
735
|
+
credential_provider: entry.credential_provider ?? null,
|
|
736
|
+
credential_id: entry.credential_id ?? null,
|
|
737
|
+
model: spec.model ?? entry.model ?? null,
|
|
738
|
+
runtime_config: spec.runtime_config ?? entry.runtime_config ?? null,
|
|
739
|
+
};
|
|
740
|
+
if (!ctx.api_key || !ctx.cwd || !ctx.mcp_config_path)
|
|
741
|
+
return undefined;
|
|
742
|
+
return this.#scopeAgentContext(ctx, workspaceId);
|
|
743
|
+
}
|
|
744
|
+
return this.#provisionRuntimeContext(spec, workspaceId);
|
|
745
|
+
}
|
|
746
|
+
async #provisionRuntimeContext(spec, workspaceId) {
|
|
747
|
+
const dir = (spec.working_dir || '').trim();
|
|
748
|
+
const cli = (spec.cli || '').trim().toLowerCase();
|
|
749
|
+
const absolute = dir.startsWith('/') || /^[a-zA-Z]:[\\/]/.test(dir) || dir.startsWith('\\\\');
|
|
750
|
+
if (!absolute || !cli) {
|
|
751
|
+
log(`Runtime provision refused: need absolute working_dir + cli (dir='${dir.slice(0, 80)}' cli='${cli}')`);
|
|
752
|
+
return undefined;
|
|
753
|
+
}
|
|
754
|
+
const scope = String(workspaceId || '').trim();
|
|
755
|
+
if (!scope) {
|
|
756
|
+
log('Runtime provision refused: no workspace scope for key issuance');
|
|
757
|
+
return undefined;
|
|
758
|
+
}
|
|
759
|
+
const key = runtimeIdentityKey(spec);
|
|
760
|
+
try {
|
|
761
|
+
let apiKey = await readApiKey(key, scope);
|
|
762
|
+
if (!apiKey) {
|
|
763
|
+
const issued = await provisionRuntimeApiKey(this.#config, key, scope, spec.label || spec.cli);
|
|
764
|
+
if (!issued?.raw_key)
|
|
765
|
+
throw new Error('server refused runtime key issuance');
|
|
766
|
+
apiKey = issued.raw_key;
|
|
767
|
+
await writeApiKey(key, apiKey, scope);
|
|
768
|
+
}
|
|
769
|
+
const mcpConfigPath = await writeMcpConfig(key, this.#config.url, apiKey, scope);
|
|
770
|
+
const cliHomeDir = await ensureCliHomeDir(key);
|
|
771
|
+
log(`Runtime provisioned: key=${key} cli=${cli} model=${spec.model || '(default)'} ` +
|
|
772
|
+
`dir=${dir} scope=${scope.slice(0, 8)} (operator credential fallback)`);
|
|
773
|
+
return {
|
|
774
|
+
agent_id: key,
|
|
775
|
+
workspace_id: scope,
|
|
776
|
+
api_key: apiKey,
|
|
777
|
+
cwd: dir,
|
|
778
|
+
mcp_config_path: mcpConfigPath,
|
|
779
|
+
cli,
|
|
780
|
+
cli_home_dir: cliHomeDir,
|
|
781
|
+
extra_env: undefined,
|
|
782
|
+
credential_provider: null,
|
|
783
|
+
credential_id: spec.credential_id ?? null,
|
|
784
|
+
model: spec.model ?? null,
|
|
785
|
+
runtime_config: spec.runtime_config ?? null,
|
|
786
|
+
};
|
|
787
|
+
}
|
|
788
|
+
catch (e) {
|
|
789
|
+
log(`Runtime provision failed: ${e?.message ?? e} (key=${key}) — falling back to legacy miss path`);
|
|
790
|
+
return undefined;
|
|
791
|
+
}
|
|
792
|
+
}
|
|
661
793
|
async #scopeAgentContext(context, workspaceId) {
|
|
662
794
|
const scope = String(workspaceId || '').trim();
|
|
663
795
|
if (!context || !scope || context.workspace_id === scope)
|
|
@@ -1042,7 +1174,23 @@ export class EventDispatcher {
|
|
|
1042
1174
|
}
|
|
1043
1175
|
const selfAgentId = loadAgentInfo()?.agent_id || '';
|
|
1044
1176
|
const eventAgentId = ev.actor_name || ev.agent_id || '';
|
|
1177
|
+
const triggerRuntime = parseTriggerRuntime(ev.runtime);
|
|
1178
|
+
if (triggerRuntime && typeof ev.ticket_id === 'string' && ev.ticket_id) {
|
|
1179
|
+
log(`Trigger runtime snapshot: ticket=${ev.ticket_id.slice(0, 8)} ` +
|
|
1180
|
+
`cli=${triggerRuntime.cli} model=${triggerRuntime.model || '(default)'} ` +
|
|
1181
|
+
`dir=${triggerRuntime.working_dir}`);
|
|
1182
|
+
}
|
|
1045
1183
|
let agentContext = this.#resolveAgentContext(eventAgentId);
|
|
1184
|
+
if (triggerRuntime) {
|
|
1185
|
+
const rtCtx = await this.#resolveRuntimeContext(triggerRuntime, ev.workspace_id);
|
|
1186
|
+
if (rtCtx) {
|
|
1187
|
+
if (!agentContext || rtCtx.agent_id !== agentContext.agent_id) {
|
|
1188
|
+
log(`Trigger context from runtime snapshot: ticket=${String(ev.ticket_id || '').slice(0, 8)} ` +
|
|
1189
|
+
`agent=${rtCtx.agent_id.slice(0, 8)} (event target=${String(eventAgentId).slice(0, 8) || '_'})`);
|
|
1190
|
+
}
|
|
1191
|
+
agentContext = rtCtx;
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1046
1194
|
agentContext = await this.#scopeAgentContext(agentContext, ev.workspace_id);
|
|
1047
1195
|
const envConfig = parseEnvironmentConfig(ev.environment_config);
|
|
1048
1196
|
if (selfAgentId &&
|
|
@@ -1735,7 +1883,23 @@ export class EventDispatcher {
|
|
|
1735
1883
|
return;
|
|
1736
1884
|
}
|
|
1737
1885
|
const payload = ev.payload || {};
|
|
1886
|
+
const chatRuntime = parseTriggerRuntime(payload.runtime);
|
|
1887
|
+
if (chatRuntime && typeof payload.room_id === 'string' && payload.room_id) {
|
|
1888
|
+
log(`Chat runtime snapshot: room=${payload.room_id.slice(0, 8)} ` +
|
|
1889
|
+
`cli=${chatRuntime.cli} model=${chatRuntime.model || '(default)'} ` +
|
|
1890
|
+
`dir=${chatRuntime.working_dir}`);
|
|
1891
|
+
}
|
|
1738
1892
|
let agentContext = this.#resolveAgentContext(payload.agent_id || '');
|
|
1893
|
+
if (chatRuntime) {
|
|
1894
|
+
const rtCtx = await this.#resolveRuntimeContext(chatRuntime, payload.workspace_id);
|
|
1895
|
+
if (rtCtx) {
|
|
1896
|
+
if (!agentContext || rtCtx.agent_id !== agentContext.agent_id) {
|
|
1897
|
+
log(`Chat context from runtime snapshot: room=${String(payload.room_id || '').slice(0, 8)} ` +
|
|
1898
|
+
`agent=${rtCtx.agent_id.slice(0, 8)}`);
|
|
1899
|
+
}
|
|
1900
|
+
agentContext = rtCtx;
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1739
1903
|
agentContext = await this.#scopeAgentContext(agentContext, payload.workspace_id);
|
|
1740
1904
|
if (!agentContext) {
|
|
1741
1905
|
const missReason = this.#agentContextMissReason(payload.agent_id);
|
|
@@ -1889,6 +2053,17 @@ export class EventDispatcher {
|
|
|
1889
2053
|
const commentId = ev.comment_id || ev.field_changed || '';
|
|
1890
2054
|
const agentId = ev.agent_id || ev.actor_name || '';
|
|
1891
2055
|
let agentContext = this.#resolveAgentContext(agentId);
|
|
2056
|
+
if (!agentContext) {
|
|
2057
|
+
const mentionRuntime = parseTriggerRuntime(ev.runtime);
|
|
2058
|
+
if (mentionRuntime) {
|
|
2059
|
+
const rtCtx = await this.#resolveRuntimeContext(mentionRuntime, ev.workspace_id);
|
|
2060
|
+
if (rtCtx) {
|
|
2061
|
+
log(`Comment mention context from runtime snapshot: ticket=${String(ticketId).slice(0, 8)} ` +
|
|
2062
|
+
`agent=${rtCtx.agent_id.slice(0, 8)}`);
|
|
2063
|
+
agentContext = rtCtx;
|
|
2064
|
+
}
|
|
2065
|
+
}
|
|
2066
|
+
}
|
|
1892
2067
|
agentContext = await this.#scopeAgentContext(agentContext, ev.workspace_id);
|
|
1893
2068
|
if (!agentContext) {
|
|
1894
2069
|
const missReason = this.#agentContextMissReason(agentId);
|
|
@@ -2177,6 +2352,29 @@ export class EventDispatcher {
|
|
|
2177
2352
|
const memberIds = Array.isArray(p.agent_member_ids) ? p.agent_member_ids : [];
|
|
2178
2353
|
const senderAgentId = p.sender_type === 'agent' ? p.sender_id || '' : '';
|
|
2179
2354
|
let agentContext = this.#resolveAgentContextFromMembers(memberIds, senderAgentId);
|
|
2355
|
+
if (!agentContext) {
|
|
2356
|
+
const rtSpecs = (p.agent_member_runtimes && typeof p.agent_member_runtimes === 'object' && !Array.isArray(p.agent_member_runtimes))
|
|
2357
|
+
? p.agent_member_runtimes
|
|
2358
|
+
: null;
|
|
2359
|
+
if (rtSpecs) {
|
|
2360
|
+
for (const id of memberIds) {
|
|
2361
|
+
if (typeof id !== 'string' || !id.startsWith('rt-'))
|
|
2362
|
+
continue;
|
|
2363
|
+
if (senderAgentId && id === senderAgentId)
|
|
2364
|
+
continue;
|
|
2365
|
+
const spec = parseTriggerRuntime(rtSpecs[id]);
|
|
2366
|
+
if (!spec)
|
|
2367
|
+
continue;
|
|
2368
|
+
const rtCtx = await this.#resolveRuntimeContext(spec, p.workspace_id);
|
|
2369
|
+
if (rtCtx) {
|
|
2370
|
+
log(`Chat room member from runtime snapshot: room=${String(p.room_id || '').slice(0, 8)} ` +
|
|
2371
|
+
`key=${id.slice(0, 11)} cli=${spec.cli}`);
|
|
2372
|
+
agentContext = rtCtx;
|
|
2373
|
+
break;
|
|
2374
|
+
}
|
|
2375
|
+
}
|
|
2376
|
+
}
|
|
2377
|
+
}
|
|
2180
2378
|
agentContext = await this.#scopeAgentContext(agentContext, p.workspace_id);
|
|
2181
2379
|
if (p.sender_type === 'agent') {
|
|
2182
2380
|
if (!agentContext && this.#senderIsOwnedIdentity(p.sender_id)) {
|