crewly 1.20.346 → 1.20.348
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/backend/backend/src/constants.d.ts +30 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +30 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js +25 -1
- package/dist/backend/backend/src/controllers/chat-v2/chat-v2.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +5 -2
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +16 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +15 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +73 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +5 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +3 -2
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.service.d.ts +165 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.service.js +337 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.service.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.wiring.d.ts +45 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.wiring.js +71 -0
- package/dist/backend/backend/src/services/messaging/agent-ask-ledger.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts +49 -0
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js +107 -2
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/orc/triggered-by.d.ts +62 -0
- package/dist/backend/backend/src/services/orc/triggered-by.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orc/triggered-by.js +141 -0
- package/dist/backend/backend/src/services/orc/triggered-by.js.map +1 -0
- package/dist/backend/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/trace/trace-context.service.js +31 -6
- package/dist/backend/backend/src/services/trace/trace-context.service.js.map +1 -1
- package/dist/backend/backend/src/services/trace/turn-trigger.d.ts +141 -0
- package/dist/backend/backend/src/services/trace/turn-trigger.d.ts.map +1 -0
- package/dist/backend/backend/src/services/trace/turn-trigger.js +258 -0
- package/dist/backend/backend/src/services/trace/turn-trigger.js.map +1 -0
- package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts +21 -0
- package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-review.service.js +35 -0
- package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +30 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +30 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +5 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +3 -2
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/messaging/agent-ask-ledger.service.d.ts +165 -0
- package/dist/cli/backend/src/services/messaging/agent-ask-ledger.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/messaging/agent-ask-ledger.service.js +337 -0
- package/dist/cli/backend/src/services/messaging/agent-ask-ledger.service.js.map +1 -0
- package/dist/cli/backend/src/services/trace/trace-context.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/trace/trace-context.service.js +31 -6
- package/dist/cli/backend/src/services/trace/trace-context.service.js.map +1 -1
- package/dist/cli/backend/src/services/trace/turn-trigger.d.ts +141 -0
- package/dist/cli/backend/src/services/trace/turn-trigger.d.ts.map +1 -0
- package/dist/cli/backend/src/services/trace/turn-trigger.js +258 -0
- package/dist/cli/backend/src/services/trace/turn-trigger.js.map +1 -0
- package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts +21 -0
- package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-review.service.js +35 -0
- package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent ask ledger — the return path of agent-to-agent messages.
|
|
3
|
+
*
|
|
4
|
+
* When one agent hands work to another with a plain message (send-message /
|
|
5
|
+
* `/terminal/:to/write`), nothing brings the answer back: no WorkItem, no
|
|
6
|
+
* completion event. On 2026-10-14 Pia passed the owner's "replicate this X
|
|
7
|
+
* video" to Dex; Dex rendered the films in 24 minutes, wrote "both parts are
|
|
8
|
+
* done" into its own terminal and stopped. Nobody saw it for seven hours.
|
|
9
|
+
*
|
|
10
|
+
* This ledger remembers each agent message once it is delivered. When the
|
|
11
|
+
* receiver ends a turn that worked on it for a while and it neither wrote
|
|
12
|
+
* back to the sender nor posted anywhere, the harness passes the receiver's
|
|
13
|
+
* last words to the sender. The receiver's open asks also hold the owner's
|
|
14
|
+
* ticket open (an agent that handed the work on has not answered yet).
|
|
15
|
+
*
|
|
16
|
+
* Cheap by construction: no model call, one transcript read per forwarded
|
|
17
|
+
* ask. Off switch: `CREWLY_AGENT_ASK_RETURN=off`.
|
|
18
|
+
*
|
|
19
|
+
* @module services/messaging/agent-ask-ledger.service
|
|
20
|
+
*/
|
|
21
|
+
import * as fsSync from 'fs';
|
|
22
|
+
import * as path from 'path';
|
|
23
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
24
|
+
import { atomicWriteJson } from '../../utils/file-io.utils.js';
|
|
25
|
+
/** Tunables. */
|
|
26
|
+
export const AGENT_ASK_CONSTANTS = {
|
|
27
|
+
/** Store file under CREWLY_HOME */
|
|
28
|
+
FILE_NAME: 'agent-asks.json',
|
|
29
|
+
/** A turn this long after the delivery counts as having worked on the message (ms) */
|
|
30
|
+
MIN_WORK_MS: 2 * 60_000,
|
|
31
|
+
/**
|
|
32
|
+
* A turn that ends sooner than MIN_WORK_MS but at least this long after
|
|
33
|
+
* the delivery read it and let it go (an FYI, an "ok"): the ask is dropped
|
|
34
|
+
* without a word. Sooner than this, the turn that ended is the previous
|
|
35
|
+
* one, not the message's (ms).
|
|
36
|
+
*/
|
|
37
|
+
MIN_READ_MS: 15_000,
|
|
38
|
+
/** An ask nobody answered is forgotten after this (ms) */
|
|
39
|
+
TTL_MS: 12 * 60 * 60_000,
|
|
40
|
+
/** Asks kept in the store */
|
|
41
|
+
MAX_ASKS: 300,
|
|
42
|
+
/** Characters of the asked message quoted back to the sender */
|
|
43
|
+
EXCERPT_CHARS: 200,
|
|
44
|
+
/** Characters of the receiver's last words passed on */
|
|
45
|
+
RESULT_CHARS: 3000,
|
|
46
|
+
/** Env switch: `off` disables the ledger */
|
|
47
|
+
ENV_SWITCH: 'CREWLY_AGENT_ASK_RETURN',
|
|
48
|
+
};
|
|
49
|
+
const C = AGENT_ASK_CONSTANTS;
|
|
50
|
+
/**
|
|
51
|
+
* The member name in a session id: `flopost-dex-7f17ecbc` → `Dex`.
|
|
52
|
+
*
|
|
53
|
+
* @param session - Session name
|
|
54
|
+
* @returns Readable name
|
|
55
|
+
*/
|
|
56
|
+
export function memberName(session) {
|
|
57
|
+
const parts = session.split('-');
|
|
58
|
+
const name = parts.length >= 3 && /^[0-9a-f]{6,}$/.test(parts[parts.length - 1]) ? parts[parts.length - 2] : session;
|
|
59
|
+
return name.charAt(0).toUpperCase() + name.slice(1);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Text handed to the sender in place of the answer it never got.
|
|
63
|
+
*
|
|
64
|
+
* @param input - Names, the asked excerpt, minutes worked, the last words
|
|
65
|
+
* @returns Message for the sender
|
|
66
|
+
*/
|
|
67
|
+
export function renderReturnedAnswer(input) {
|
|
68
|
+
const head = `[ANSWER FROM ${input.target.toUpperCase()}] ${input.target} worked on your message for about ${input.minutes} min and ended without writing back to you or posting anywhere.`;
|
|
69
|
+
const asked = `Your message: "${input.excerpt}"`;
|
|
70
|
+
if (!input.lastWords) {
|
|
71
|
+
return `${head} Crewly could not read what it said. ${asked}\nAsk ${input.target} for the result.`;
|
|
72
|
+
}
|
|
73
|
+
return (`${head} Crewly is passing on its last words. ${asked}\n\n` +
|
|
74
|
+
`--- ${input.target} ---\n${input.lastWords}\n---\n\n` +
|
|
75
|
+
`If this is what you were waiting for, carry it on (for example, post it where the owner asked). No need to answer Crewly.`);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Remembers delivered agent messages and returns unsent answers. See module docs.
|
|
79
|
+
*/
|
|
80
|
+
export class AgentAskLedger {
|
|
81
|
+
deps;
|
|
82
|
+
asks = [];
|
|
83
|
+
posts = new Map();
|
|
84
|
+
logger;
|
|
85
|
+
now;
|
|
86
|
+
saving = Promise.resolve();
|
|
87
|
+
constructor(deps) {
|
|
88
|
+
this.deps = deps;
|
|
89
|
+
this.logger = LoggerService.getInstance().createComponentLogger('AgentAskLedger');
|
|
90
|
+
this.now = deps.now ?? Date.now;
|
|
91
|
+
this.load();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* A message from `sender` reached `target`'s turn.
|
|
95
|
+
*
|
|
96
|
+
* @param target - Receiving agent
|
|
97
|
+
* @param sender - Sending agent
|
|
98
|
+
* @param text - What was delivered
|
|
99
|
+
*/
|
|
100
|
+
noteDelivered(target, sender, text) {
|
|
101
|
+
if (!target || !sender || target === sender)
|
|
102
|
+
return;
|
|
103
|
+
const excerpt = text.replace(/\s+/g, ' ').trim().slice(0, C.EXCERPT_CHARS);
|
|
104
|
+
this.asks.push({ sender, target, excerpt, deliveredAt: this.now() });
|
|
105
|
+
this.prune();
|
|
106
|
+
this.save();
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* `from` wrote to `to`: every open ask of `to` to `from` is answered.
|
|
110
|
+
*
|
|
111
|
+
* @param from - Writing agent
|
|
112
|
+
* @param to - Agent written to
|
|
113
|
+
*/
|
|
114
|
+
noteAnswered(from, to) {
|
|
115
|
+
const before = this.asks.length;
|
|
116
|
+
this.asks = this.asks.filter((a) => !(a.target === from && a.sender === to));
|
|
117
|
+
if (this.asks.length !== before)
|
|
118
|
+
this.save();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* An agent posted in chat (an answer, not an interim note): asks delivered
|
|
122
|
+
* to it before now count as answered where they were asked to be.
|
|
123
|
+
*
|
|
124
|
+
* @param session - Posting agent
|
|
125
|
+
*/
|
|
126
|
+
notePost(session) {
|
|
127
|
+
if (!session)
|
|
128
|
+
return;
|
|
129
|
+
this.posts.set(session, this.now());
|
|
130
|
+
this.save();
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Asks `sender` made that are still unanswered.
|
|
134
|
+
*
|
|
135
|
+
* @param sender - Asking agent
|
|
136
|
+
* @returns Open asks, oldest first
|
|
137
|
+
*/
|
|
138
|
+
openAsksBy(sender) {
|
|
139
|
+
this.prune();
|
|
140
|
+
return this.asks.filter((a) => a.sender === sender);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* `target` finished a turn. An ask it worked on for at least
|
|
144
|
+
* {@link AGENT_ASK_CONSTANTS.MIN_WORK_MS} with no word back is answered
|
|
145
|
+
* for it: its last words go to the sender. One it answered in chat, or
|
|
146
|
+
* read in a short turn, is dropped. Never throws.
|
|
147
|
+
*
|
|
148
|
+
* @param target - Agent whose turn ended
|
|
149
|
+
* @returns Asks returned to their senders
|
|
150
|
+
*/
|
|
151
|
+
async onTurnEnded(target) {
|
|
152
|
+
try {
|
|
153
|
+
this.prune();
|
|
154
|
+
const now = this.now();
|
|
155
|
+
const mine = this.asks.filter((a) => a.target === target);
|
|
156
|
+
if (mine.length === 0)
|
|
157
|
+
return 0;
|
|
158
|
+
const posted = this.posts.get(target) ?? 0;
|
|
159
|
+
const age = (a) => now - a.deliveredAt;
|
|
160
|
+
// Answered in chat, or read and let go after a short turn: drop quietly.
|
|
161
|
+
const quiet = mine.filter((a) => posted >= a.deliveredAt || (age(a) >= C.MIN_READ_MS && age(a) < C.MIN_WORK_MS));
|
|
162
|
+
const due = mine.filter((a) => posted < a.deliveredAt && age(a) >= C.MIN_WORK_MS);
|
|
163
|
+
if (quiet.length === 0 && due.length === 0)
|
|
164
|
+
return 0;
|
|
165
|
+
const settled = new Set([...quiet, ...due]);
|
|
166
|
+
this.asks = this.asks.filter((a) => !settled.has(a));
|
|
167
|
+
this.save();
|
|
168
|
+
// One message per sender, from the oldest ask it is waiting on.
|
|
169
|
+
const bySender = new Map();
|
|
170
|
+
for (const a of due)
|
|
171
|
+
if (!bySender.has(a.sender))
|
|
172
|
+
bySender.set(a.sender, a);
|
|
173
|
+
let returned = 0;
|
|
174
|
+
for (const ask of bySender.values()) {
|
|
175
|
+
const lastWords = await this.deps.readLastWords(target, ask.deliveredAt).catch(() => null);
|
|
176
|
+
const text = renderReturnedAnswer({
|
|
177
|
+
target: (this.deps.displayName ?? memberName)(target),
|
|
178
|
+
excerpt: ask.excerpt,
|
|
179
|
+
minutes: Math.max(1, Math.round((now - ask.deliveredAt) / 60_000)),
|
|
180
|
+
lastWords: lastWords ? clipResult(lastWords) : null,
|
|
181
|
+
});
|
|
182
|
+
try {
|
|
183
|
+
await this.deps.deliver(ask.sender, text);
|
|
184
|
+
returned += 1;
|
|
185
|
+
this.logger.info('Returned an unsent answer to its asker', { from: target, to: ask.sender, hadText: !!lastWords });
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
this.logger.warn('Could not return an unsent answer', { from: target, to: ask.sender, error: err instanceof Error ? err.message : String(err) });
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return returned;
|
|
192
|
+
}
|
|
193
|
+
catch (err) {
|
|
194
|
+
this.logger.debug('Ask settle failed', { target, error: err instanceof Error ? err.message : String(err) });
|
|
195
|
+
return 0;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
prune() {
|
|
199
|
+
const cutoff = this.now() - C.TTL_MS;
|
|
200
|
+
this.asks = this.asks.filter((a) => a.deliveredAt >= cutoff).slice(-C.MAX_ASKS);
|
|
201
|
+
for (const [s, at] of this.posts)
|
|
202
|
+
if (at < cutoff)
|
|
203
|
+
this.posts.delete(s);
|
|
204
|
+
}
|
|
205
|
+
load() {
|
|
206
|
+
if (!this.deps.file)
|
|
207
|
+
return;
|
|
208
|
+
try {
|
|
209
|
+
const raw = JSON.parse(fsSync.readFileSync(this.deps.file, 'utf-8'));
|
|
210
|
+
if (Array.isArray(raw.asks)) {
|
|
211
|
+
this.asks = raw.asks.filter((a) => !!a && typeof a.sender === 'string' && typeof a.target === 'string' && typeof a.excerpt === 'string' && typeof a.deliveredAt === 'number');
|
|
212
|
+
}
|
|
213
|
+
if (raw.posts && typeof raw.posts === 'object') {
|
|
214
|
+
for (const [s, at] of Object.entries(raw.posts))
|
|
215
|
+
if (typeof at === 'number')
|
|
216
|
+
this.posts.set(s, at);
|
|
217
|
+
}
|
|
218
|
+
this.prune();
|
|
219
|
+
}
|
|
220
|
+
catch {
|
|
221
|
+
// missing or unreadable: start empty
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
save() {
|
|
225
|
+
const file = this.deps.file;
|
|
226
|
+
if (!file)
|
|
227
|
+
return;
|
|
228
|
+
const data = { asks: this.asks, posts: Object.fromEntries(this.posts) };
|
|
229
|
+
this.saving = this.saving
|
|
230
|
+
.then(async () => {
|
|
231
|
+
fsSync.mkdirSync(path.dirname(file), { recursive: true });
|
|
232
|
+
await atomicWriteJson(file, data);
|
|
233
|
+
})
|
|
234
|
+
.catch((err) => {
|
|
235
|
+
this.logger.debug('Ask ledger not saved', { error: err instanceof Error ? err.message : String(err) });
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
/** Wait for pending writes (tests). */
|
|
239
|
+
async flush() {
|
|
240
|
+
await this.saving;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The agent's last message in a transcript since a time: the text of the
|
|
245
|
+
* newest assistant entry that has text (Claude Code JSONL or Codex rollout).
|
|
246
|
+
* Subagent (sidechain), meta and API-error entries are not the agent's words.
|
|
247
|
+
*
|
|
248
|
+
* @param text - Whole JSONL lines (a tail of the file is fine)
|
|
249
|
+
* @param kind - Transcript format
|
|
250
|
+
* @param sinceMs - Ignore entries older than this (epoch ms)
|
|
251
|
+
* @returns The text, or null when there is none
|
|
252
|
+
*/
|
|
253
|
+
export function lastWordsFromTranscript(text, kind, sinceMs) {
|
|
254
|
+
let last = null;
|
|
255
|
+
for (const line of text.split('\n')) {
|
|
256
|
+
if (line.length < 20)
|
|
257
|
+
continue;
|
|
258
|
+
if (kind === 'claude' && !(line.includes('"type":"assistant"') && line.includes('"type":"text"')))
|
|
259
|
+
continue;
|
|
260
|
+
if (kind === 'codex' && !line.includes('"agent_message"') && !line.includes('"output_text"'))
|
|
261
|
+
continue;
|
|
262
|
+
let entry;
|
|
263
|
+
try {
|
|
264
|
+
entry = JSON.parse(line);
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
continue;
|
|
268
|
+
}
|
|
269
|
+
const at = typeof entry.timestamp === 'string' ? Date.parse(entry.timestamp) : NaN;
|
|
270
|
+
if (!Number.isFinite(at) || at < sinceMs)
|
|
271
|
+
continue;
|
|
272
|
+
let found = null;
|
|
273
|
+
if (kind === 'claude') {
|
|
274
|
+
if (entry.type !== 'assistant' || entry.isSidechain === true || entry.isMeta === true || entry.isApiErrorMessage === true)
|
|
275
|
+
continue;
|
|
276
|
+
const content = entry.message?.content;
|
|
277
|
+
if (!Array.isArray(content))
|
|
278
|
+
continue;
|
|
279
|
+
const parts = content
|
|
280
|
+
.filter((b) => !!b && b.type === 'text' && typeof b.text === 'string')
|
|
281
|
+
.map((b) => b.text.trim())
|
|
282
|
+
.filter(Boolean);
|
|
283
|
+
if (parts.length > 0)
|
|
284
|
+
found = parts.join('\n');
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
const p = entry.payload;
|
|
288
|
+
if (!p)
|
|
289
|
+
continue;
|
|
290
|
+
if (entry.type === 'event_msg' && p.type === 'agent_message' && typeof p.message === 'string')
|
|
291
|
+
found = p.message.trim();
|
|
292
|
+
else if (entry.type === 'response_item' && p.type === 'message' && p.role === 'assistant' && Array.isArray(p.content)) {
|
|
293
|
+
const parts = p.content
|
|
294
|
+
.filter((b) => b?.type === 'output_text' && typeof b.text === 'string')
|
|
295
|
+
.map((b) => b.text.trim())
|
|
296
|
+
.filter(Boolean);
|
|
297
|
+
if (parts.length > 0)
|
|
298
|
+
found = parts.join('\n');
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
if (found)
|
|
302
|
+
last = found;
|
|
303
|
+
}
|
|
304
|
+
return last;
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* Keep the end of a long text: the conclusion is at the end.
|
|
308
|
+
*
|
|
309
|
+
* @param text - Last words
|
|
310
|
+
* @returns At most {@link AGENT_ASK_CONSTANTS.RESULT_CHARS} characters
|
|
311
|
+
*/
|
|
312
|
+
function clipResult(text) {
|
|
313
|
+
const t = text.trim();
|
|
314
|
+
return t.length <= C.RESULT_CHARS ? t : `…${t.slice(-(C.RESULT_CHARS - 1))}`;
|
|
315
|
+
}
|
|
316
|
+
// ---------------------------------------------------------------------------
|
|
317
|
+
// Singleton
|
|
318
|
+
// ---------------------------------------------------------------------------
|
|
319
|
+
let instance = null;
|
|
320
|
+
/** @returns The wired ledger, or null before boot (and when switched off) */
|
|
321
|
+
export function getAgentAskLedger() {
|
|
322
|
+
return instance;
|
|
323
|
+
}
|
|
324
|
+
/** @param ledger - The ledger to expose (null clears) */
|
|
325
|
+
export function setAgentAskLedger(ledger) {
|
|
326
|
+
instance = ledger;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Whether the ledger is switched on.
|
|
330
|
+
*
|
|
331
|
+
* @param env - Environment
|
|
332
|
+
* @returns False when `CREWLY_AGENT_ASK_RETURN=off`
|
|
333
|
+
*/
|
|
334
|
+
export function agentAskReturnEnabled(env = process.env) {
|
|
335
|
+
return (env[C.ENV_SWITCH] ?? '').toLowerCase() !== 'off';
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=agent-ask-ledger.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-ask-ledger.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/agent-ask-ledger.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-context.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/trace/trace-context.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAGN,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"trace-context.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/trace/trace-context.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ import { createSessionProjectResolver } from './session-projects.js';
|
|
|
31
31
|
import { getTraceStore } from './trace-store.js';
|
|
32
32
|
import { cleanTraceData, extractTextRefs, parseTraceMarkers, safeSummary } from './trace-markers.js';
|
|
33
33
|
import { isTraceId, newTraceId, } from './trace.types.js';
|
|
34
|
+
import { getTurnTriggerTracker } from './turn-trigger.js';
|
|
35
|
+
import { getAgentAskLedger } from '../messaging/agent-ask-ledger.service.js';
|
|
34
36
|
/**
|
|
35
37
|
* Idle gap after which a session's current trace is dropped: the
|
|
36
38
|
* `CREWLY_TRACE_IDLE_CLEAR_MINUTES` env var, else
|
|
@@ -448,6 +450,21 @@ export class TraceContext {
|
|
|
448
450
|
const kind = classifyDelivery(text);
|
|
449
451
|
const traces = this.resolveTracesFromText(text, session);
|
|
450
452
|
const now = this.now();
|
|
453
|
+
// The finer trigger (reminder, restart, agent message + sender) is
|
|
454
|
+
// kept per session, so a reply posted from this turn can say why.
|
|
455
|
+
const current = this.currentTrace(session);
|
|
456
|
+
const traceId = traces.length === 0 ? null : current && traces.includes(current) ? current : traces[0];
|
|
457
|
+
const trigger = getTurnTriggerTracker().noteDelivery(session, text, { traceId }, now);
|
|
458
|
+
// Another agent's message reached this turn: remember it, so an answer
|
|
459
|
+
// the receiver never sends back can be returned for it.
|
|
460
|
+
if (trigger.triggerKind === 'agent_message' && trigger.sender) {
|
|
461
|
+
try {
|
|
462
|
+
getAgentAskLedger()?.noteDelivered(session, trigger.sender, text);
|
|
463
|
+
}
|
|
464
|
+
catch {
|
|
465
|
+
/* best effort */
|
|
466
|
+
}
|
|
467
|
+
}
|
|
451
468
|
if (traces.length === 0) {
|
|
452
469
|
// Nothing in the text names a run. An owner message may start one
|
|
453
470
|
// (pending root); anything else — a cron / scheduled prompt, a system
|
|
@@ -458,19 +475,27 @@ export class TraceContext {
|
|
|
458
475
|
this.pending.set(session, { summary: safeSummary(text), at: now });
|
|
459
476
|
return null;
|
|
460
477
|
}
|
|
461
|
-
const
|
|
462
|
-
const next = current && traces.includes(current) ? current : traces[0];
|
|
478
|
+
const next = traceId ?? traces[0];
|
|
463
479
|
this.setCurrent(session, next, now, traces.filter((id) => id !== next));
|
|
464
480
|
this.pending.delete(session);
|
|
465
|
-
const actor = kind === 'owner_message'
|
|
466
|
-
|
|
481
|
+
const actor = kind === 'owner_message'
|
|
482
|
+
? { kind: 'owner' }
|
|
483
|
+
: trigger.sender
|
|
484
|
+
? { kind: 'agent', session: trigger.sender }
|
|
485
|
+
: { kind: 'system' };
|
|
486
|
+
for (const id of traces) {
|
|
467
487
|
this.record({
|
|
468
|
-
traceId,
|
|
488
|
+
traceId: id,
|
|
469
489
|
type: 'turn.delivered',
|
|
470
490
|
actor,
|
|
471
491
|
summary: `${DELIVERY_LABELS[kind]} delivered to ${session}: ${text}`,
|
|
472
492
|
refs: { session },
|
|
473
|
-
data: {
|
|
493
|
+
data: {
|
|
494
|
+
kind,
|
|
495
|
+
subkind: trigger.triggerKind,
|
|
496
|
+
...(trigger.sender ? { sender: trigger.sender } : {}),
|
|
497
|
+
runtime,
|
|
498
|
+
},
|
|
474
499
|
});
|
|
475
500
|
}
|
|
476
501
|
return next;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-context.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/trace/trace-context.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trace-context.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/trace/trace-context.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What started an agent's turn — the "trigger" of everything it posts from
|
|
3
|
+
* that turn (agent-provenance audit 2026-10-14).
|
|
4
|
+
*
|
|
5
|
+
* The harness writes every prompt into a turn (terminal `/write` and
|
|
6
|
+
* `/deliver`, `sendMessageToAgent`). Each delivery is classified here into a
|
|
7
|
+
* finer kind than {@link classifyDelivery} (which lumps restarts, reminders,
|
|
8
|
+
* app changes and agent-to-agent messages into `system`), with the sending
|
|
9
|
+
* agent when another agent wrote it. The last trigger of each session is kept
|
|
10
|
+
* in memory, so a reply posted from that turn can say why it exists.
|
|
11
|
+
*
|
|
12
|
+
* Agent-to-agent sends are noted when the sender's request arrives
|
|
13
|
+
* ({@link TurnTriggerTracker.noteSender}) and matched to the delivery by text,
|
|
14
|
+
* so a message queued while the target was busy keeps its sender.
|
|
15
|
+
*
|
|
16
|
+
* @module services/trace/turn-trigger
|
|
17
|
+
*/
|
|
18
|
+
/** Fine-grained kinds of what started a turn. */
|
|
19
|
+
export declare const TURN_TRIGGER_KINDS: readonly ["owner_message", "agent_message", "dispatch", "redelivery", "follow_up", "owner_report_due", "follow_through", "stale_item", "decision", "restart", "scheduled", "app_change", "status", "system"];
|
|
20
|
+
/** What started a turn. */
|
|
21
|
+
export type TurnTriggerKind = (typeof TURN_TRIGGER_KINDS)[number];
|
|
22
|
+
/** A classified delivery. */
|
|
23
|
+
export interface ClassifiedTrigger {
|
|
24
|
+
triggerKind: TurnTriggerKind;
|
|
25
|
+
/** Work item the prompt names (`[CREWLY-DISPATCH] WorkItem <id>`, task recovery) */
|
|
26
|
+
workItemId?: string;
|
|
27
|
+
/** Ticket or decision label the prompt names (`TKT-12`, `D-4`) */
|
|
28
|
+
ticket?: string;
|
|
29
|
+
/** Chat conversation of an owner message (`[CHAT:<id>]`) */
|
|
30
|
+
conversationId?: string;
|
|
31
|
+
}
|
|
32
|
+
/** The trigger of a session's current turn. */
|
|
33
|
+
export interface TurnTrigger extends ClassifiedTrigger {
|
|
34
|
+
/** Agent session that sent it, for `agent_message` */
|
|
35
|
+
sender?: string;
|
|
36
|
+
/** Run trace the delivery joined, if any */
|
|
37
|
+
traceId?: string;
|
|
38
|
+
/**
|
|
39
|
+
* What started the chain: the trigger kind of the first hop. For an
|
|
40
|
+
* agent message, the sender's own trigger kind (and so on up the chain).
|
|
41
|
+
*/
|
|
42
|
+
rootKind: TurnTriggerKind;
|
|
43
|
+
/** The root's reference: conversation, work item or ticket id */
|
|
44
|
+
rootRef?: string;
|
|
45
|
+
/** Agents the request passed through before this one, oldest first */
|
|
46
|
+
viaAgents: string[];
|
|
47
|
+
/** When it was delivered (epoch ms) */
|
|
48
|
+
at: number;
|
|
49
|
+
}
|
|
50
|
+
/** Provenance record stored on a chat row (`metadata.triggeredBy`). */
|
|
51
|
+
export interface TriggeredByMetadata {
|
|
52
|
+
traceId?: string;
|
|
53
|
+
rootKind: TurnTriggerKind;
|
|
54
|
+
rootRef?: string;
|
|
55
|
+
triggerKind: TurnTriggerKind;
|
|
56
|
+
viaAgents: string[];
|
|
57
|
+
/** The rendered line, without the markdown wrapper (empty when not shown) */
|
|
58
|
+
label?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Classify a delivered prompt.
|
|
62
|
+
*
|
|
63
|
+
* @param text - Exactly what was written into the turn
|
|
64
|
+
* @returns The trigger kind and the ids the prompt names
|
|
65
|
+
*/
|
|
66
|
+
export declare function classifyTurnTrigger(text: string): ClassifiedTrigger;
|
|
67
|
+
/**
|
|
68
|
+
* Last trigger of each session. Singleton (see {@link getTurnTriggerTracker}).
|
|
69
|
+
*/
|
|
70
|
+
export declare class TurnTriggerTracker {
|
|
71
|
+
private readonly current;
|
|
72
|
+
private readonly sends;
|
|
73
|
+
/** Per session: conversation id → when the owner last wrote to it there */
|
|
74
|
+
private readonly ownerAsks;
|
|
75
|
+
/**
|
|
76
|
+
* Note that `sender` asked to write `text` to `target` (the terminal write
|
|
77
|
+
* route, before delivery or queueing).
|
|
78
|
+
*
|
|
79
|
+
* @param target - Receiving session
|
|
80
|
+
* @param text - Message text
|
|
81
|
+
* @param sender - Sending agent session
|
|
82
|
+
* @param now - Clock (epoch ms)
|
|
83
|
+
*/
|
|
84
|
+
noteSender(target: string, text: string, sender: string, now?: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* Record what started `session`'s turn.
|
|
87
|
+
*
|
|
88
|
+
* @param session - Agent session written to
|
|
89
|
+
* @param text - Exactly what was delivered
|
|
90
|
+
* @param opts - Trace the delivery joined; sender when the caller knows it
|
|
91
|
+
* @param now - Clock (epoch ms)
|
|
92
|
+
* @returns The recorded trigger
|
|
93
|
+
*/
|
|
94
|
+
noteDelivery(session: string, text: string, opts?: {
|
|
95
|
+
traceId?: string | null;
|
|
96
|
+
sender?: string | null;
|
|
97
|
+
}, now?: number): TurnTrigger;
|
|
98
|
+
/**
|
|
99
|
+
* Whether the owner wrote to `session` in `conversationId` recently — a
|
|
100
|
+
* post there is then an answer to the owner, whatever came in since (a
|
|
101
|
+
* reminder delivered mid-turn must not relabel it).
|
|
102
|
+
*
|
|
103
|
+
* @param session - Agent session
|
|
104
|
+
* @param conversationId - Conversation posted to
|
|
105
|
+
* @param now - Clock (epoch ms)
|
|
106
|
+
* @returns True within {@link TURN_TRIGGER_CONSTANTS.OWNER_ANSWER_WINDOW_MS}
|
|
107
|
+
*/
|
|
108
|
+
ownerAskedRecently(session: string, conversationId: string, now?: number): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* The trigger of `session`'s current turn, while fresh.
|
|
111
|
+
*
|
|
112
|
+
* @param session - Agent session
|
|
113
|
+
* @param now - Clock (epoch ms)
|
|
114
|
+
* @returns The trigger, or null
|
|
115
|
+
*/
|
|
116
|
+
trigger(session: string, now?: number): TurnTrigger | null;
|
|
117
|
+
/** Forget everything (tests). */
|
|
118
|
+
reset(): void;
|
|
119
|
+
/**
|
|
120
|
+
* The sender of a noted send whose text the delivery contains (consumed).
|
|
121
|
+
*
|
|
122
|
+
* @param target - Receiving session
|
|
123
|
+
* @param text - Delivered text
|
|
124
|
+
* @param now - Clock
|
|
125
|
+
* @returns Sender session, or undefined
|
|
126
|
+
*/
|
|
127
|
+
private takeSender;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The process-wide tracker.
|
|
131
|
+
*
|
|
132
|
+
* @returns The singleton
|
|
133
|
+
*/
|
|
134
|
+
export declare function getTurnTriggerTracker(): TurnTriggerTracker;
|
|
135
|
+
/**
|
|
136
|
+
* Replace the singleton (tests).
|
|
137
|
+
*
|
|
138
|
+
* @param tracker - Replacement, or null to drop it
|
|
139
|
+
*/
|
|
140
|
+
export declare function setTurnTriggerTrackerForTesting(tracker: TurnTriggerTracker | null): void;
|
|
141
|
+
//# sourceMappingURL=turn-trigger.d.ts.map
|