crewly 1.20.154 → 1.20.156
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/config/skills/agent/core/attach-file/SKILL.md +1 -1
- package/config/skills/agent/core/attach-file/execute.sh +1 -1
- package/config/skills/agent/core/reply-channel/SKILL.md +4 -1
- package/config/skills/agent/core/reply-chat/SKILL.md +17 -0
- package/config/skills/agent/core/reply-chat/execute.sh +6 -1
- package/config/skills/agent/core/slack-post/SKILL.md +1 -1
- package/config/skills/team-leader/delegate-task/execute.sh +17 -4
- package/dist/backend/backend/src/constants.d.ts +138 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +149 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +18 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +42 -6
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts +32 -0
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +122 -8
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +6 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +20 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +16 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +54 -4
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts +153 -1
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js +371 -22
- package/dist/backend/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts +13 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js +16 -0
- package/dist/backend/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +46 -3
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- 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 +17 -4
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js +6 -0
- package/dist/backend/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +93 -6
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +169 -15
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts +2 -2
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js +15 -2
- package/dist/backend/backend/src/services/slack/slack-agent-post.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +7 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts +40 -0
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js +86 -9
- package/dist/backend/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +33 -4
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts +227 -0
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +455 -0
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-thread-key.d.ts +66 -0
- package/dist/backend/backend/src/services/slack/slack-thread-key.d.ts.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-thread-key.js +109 -0
- package/dist/backend/backend/src/services/slack/slack-thread-key.js.map +1 -0
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +89 -13
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +224 -50
- package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +2 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts +47 -0
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js +118 -3
- package/dist/backend/backend/src/services/v3/workitem-dispatch.subscriber.js.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.d.ts +5 -0
- package/dist/backend/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/backend/backend/src/types/slack.types.d.ts +43 -0
- package/dist/backend/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/slack.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +138 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +149 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +16 -0
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +54 -4
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts +409 -0
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js +961 -0
- package/dist/cli/backend/src/services/agent/fresh-task-conversation.service.js.map +1 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts +13 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.d.ts.map +1 -1
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js +16 -0
- package/dist/cli/backend/src/services/ai/prompt-modules/communication.module.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +30 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +46 -3
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- 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 +17 -4
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js +6 -0
- package/dist/cli/backend/src/services/event-bus/event-bus.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +93 -6
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +169 -15
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts +40 -0
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js +86 -9
- package/dist/cli/backend/src/services/slack/slack-orchestrator-bridge.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +33 -4
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts +227 -0
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +455 -0
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-thread-key.d.ts +66 -0
- package/dist/cli/backend/src/services/slack/slack-thread-key.d.ts.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-thread-key.js +109 -0
- package/dist/cli/backend/src/services/slack/slack-thread-key.js.map +1 -0
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +89 -13
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +224 -50
- package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +2 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.d.ts +5 -0
- package/dist/cli/backend/src/types/event-bus.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/event-bus.types.js.map +1 -1
- package/dist/cli/backend/src/types/slack.types.d.ts +43 -0
- package/dist/cli/backend/src/types/slack.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/slack.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,15 @@
|
|
|
26
26
|
* idle and nobody else just wrote to it; any failure falls back to plain
|
|
27
27
|
* delivery — nothing here throws into dispatch.
|
|
28
28
|
*
|
|
29
|
+
* Idle-boundary context cap: one task can run for 1000+ turns, so a new root
|
|
30
|
+
* alone does not bound the context. A periodic sweep
|
|
31
|
+
* ({@link FreshTaskConversationService.startContextCapSweep}) saves and
|
|
32
|
+
* clears an idle Claude Code member whose last turn carried more than
|
|
33
|
+
* `CREWLY_MEMBER_CONTEXT_CAP_TOKENS` (300k by default, `0` disables), then
|
|
34
|
+
* writes one line naming its active WorkItem and the handover. Same safety
|
|
35
|
+
* rules — never the orchestrator, never mid-turn, never while a message is
|
|
36
|
+
* queued for or being delivered to it — plus at most one cap per 20 minutes.
|
|
37
|
+
*
|
|
29
38
|
* @module services/agent/fresh-task-conversation.service
|
|
30
39
|
*/
|
|
31
40
|
import type { WorkItem } from '../../types/v2/work-item.types.js';
|
|
@@ -98,6 +107,60 @@ export declare function decideFreshConversation(input: FreshTaskDecisionInput):
|
|
|
98
107
|
* @returns One line
|
|
99
108
|
*/
|
|
100
109
|
export declare function freshConversationNote(handoverPath: string): string;
|
|
110
|
+
/**
|
|
111
|
+
* The context cap for members, from the environment.
|
|
112
|
+
*
|
|
113
|
+
* @param env - Environment (tests)
|
|
114
|
+
* @returns Tokens; 0 means the cap is off. Unset or invalid → the default.
|
|
115
|
+
*/
|
|
116
|
+
export declare function memberContextCapTokens(env?: NodeJS.ProcessEnv): number;
|
|
117
|
+
/** Everything the idle-boundary context-cap decision depends on. */
|
|
118
|
+
export interface ContextCapDecisionInput {
|
|
119
|
+
/** Agent session */
|
|
120
|
+
sessionName: string;
|
|
121
|
+
/** Its runtime */
|
|
122
|
+
runtimeType?: string;
|
|
123
|
+
/** Cap in tokens (0 = off) */
|
|
124
|
+
capTokens: number;
|
|
125
|
+
/** Env + settings kill-switch of the fresh-conversation feature */
|
|
126
|
+
enabled: boolean;
|
|
127
|
+
/** Last turn's context, or null when unknown */
|
|
128
|
+
contextTokens: number | null;
|
|
129
|
+
/** Agent is mid-turn */
|
|
130
|
+
busy: boolean;
|
|
131
|
+
/** How long the PTY has been quiet (null = unknown) */
|
|
132
|
+
quietMs: number | null;
|
|
133
|
+
/** A message is being delivered, was just delivered, or a prepare/clear is running */
|
|
134
|
+
deliveryActive: boolean;
|
|
135
|
+
/** Messages are queued for the agent */
|
|
136
|
+
queuedMessages: boolean;
|
|
137
|
+
/** When the session was last capped (ms), if ever */
|
|
138
|
+
lastCapAt: number | null;
|
|
139
|
+
/** Now (ms) */
|
|
140
|
+
now: number;
|
|
141
|
+
/** Id of the WorkItem the agent is on (null = none) */
|
|
142
|
+
activeWorkItemId: string | null;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Decide whether to cap (save + clear + re-orient) a member's conversation.
|
|
146
|
+
* Pure; the order of checks is also the order of the logged reasons.
|
|
147
|
+
*
|
|
148
|
+
* @param input - Decision inputs
|
|
149
|
+
* @returns The decision
|
|
150
|
+
*/
|
|
151
|
+
export declare function decideContextCap(input: ContextCapDecisionInput): FreshTaskDecision;
|
|
152
|
+
/**
|
|
153
|
+
* The one line written after a context-cap clear. It must carry the WorkItem
|
|
154
|
+
* id: the new conversation id is found by it.
|
|
155
|
+
*
|
|
156
|
+
* @param args - WorkItem, handover file and the old context size
|
|
157
|
+
* @returns One line
|
|
158
|
+
*/
|
|
159
|
+
export declare function contextCapReorientation(args: {
|
|
160
|
+
workItem: Pick<WorkItem, 'id' | 'title'>;
|
|
161
|
+
handoverPath: string;
|
|
162
|
+
contextTokens: number;
|
|
163
|
+
}): string;
|
|
101
164
|
/** What the service needs to know about a session. */
|
|
102
165
|
export interface FreshTaskSessionInfo {
|
|
103
166
|
/** Runtime */
|
|
@@ -142,6 +205,14 @@ export interface FreshTaskDeps {
|
|
|
142
205
|
sleep: (ms: number) => Promise<void>;
|
|
143
206
|
/** Environment */
|
|
144
207
|
env: NodeJS.ProcessEnv;
|
|
208
|
+
/** Registered agent sessions (context-cap sweep) */
|
|
209
|
+
listSessions: () => string[];
|
|
210
|
+
/** Messages are queued for the session and not yet written */
|
|
211
|
+
hasQueuedMessages: (sessionName: string) => boolean;
|
|
212
|
+
/** How long the session's PTY has been quiet (ms), or null when unknown */
|
|
213
|
+
getQuietMs: (sessionName: string) => number | null;
|
|
214
|
+
/** Write one message into the session (paste + Enter); false when the session is gone */
|
|
215
|
+
sendMessage: (sessionName: string, text: string) => Promise<boolean>;
|
|
145
216
|
}
|
|
146
217
|
/** Result of {@link FreshTaskConversationService.prepareForTask}. */
|
|
147
218
|
export interface PrepareForTaskResult {
|
|
@@ -150,8 +221,20 @@ export interface PrepareForTaskResult {
|
|
|
150
221
|
/** Handover file for the old conversation (when cleared) */
|
|
151
222
|
handoverPath?: string;
|
|
152
223
|
}
|
|
224
|
+
/** Result of {@link FreshTaskConversationService.capContextIfNeeded}. */
|
|
225
|
+
export interface ContextCapResult {
|
|
226
|
+
/** The conversation was saved, cleared and the agent re-oriented */
|
|
227
|
+
capped: boolean;
|
|
228
|
+
/** Why (logged; the decision reason when not capped) */
|
|
229
|
+
reason: string;
|
|
230
|
+
/** Handover file for the old conversation (when capped) */
|
|
231
|
+
handoverPath?: string;
|
|
232
|
+
/** WorkItem the agent was re-oriented on (when capped) */
|
|
233
|
+
workItemId?: string;
|
|
234
|
+
}
|
|
153
235
|
/**
|
|
154
|
-
* Singleton that starts a fresh Claude Code conversation per new task
|
|
236
|
+
* Singleton that starts a fresh Claude Code conversation per new task, and
|
|
237
|
+
* caps a long task's conversation at idle boundaries.
|
|
155
238
|
*/
|
|
156
239
|
export declare class FreshTaskConversationService {
|
|
157
240
|
private static instance;
|
|
@@ -162,6 +245,14 @@ export declare class FreshTaskConversationService {
|
|
|
162
245
|
private readonly inFlight;
|
|
163
246
|
/** Last time a message was written to a session (terminal write / deliver) */
|
|
164
247
|
private readonly lastDelivery;
|
|
248
|
+
/** Deliveries currently being written to a session (see {@link beginDelivery}) */
|
|
249
|
+
private readonly deliveriesInFlight;
|
|
250
|
+
/** Last context-cap clear per session (rate limit) */
|
|
251
|
+
private readonly lastCapAt;
|
|
252
|
+
/** Context-cap sweep timer */
|
|
253
|
+
private capSweepTimer;
|
|
254
|
+
/** A sweep is running (sweeps never overlap) */
|
|
255
|
+
private capSweepRunning;
|
|
165
256
|
private constructor();
|
|
166
257
|
/**
|
|
167
258
|
* @returns The singleton
|
|
@@ -176,6 +267,22 @@ export declare class FreshTaskConversationService {
|
|
|
176
267
|
static createForTesting(deps: Partial<FreshTaskDeps>): FreshTaskConversationService;
|
|
177
268
|
/** Drop the singleton (tests). */
|
|
178
269
|
static resetInstance(): void;
|
|
270
|
+
/**
|
|
271
|
+
* Mark a delivery to a session as in progress until the returned function
|
|
272
|
+
* is called. Neither a new-task clear nor a context-cap clear starts while
|
|
273
|
+
* one is running: it would wipe the message before the agent reads it.
|
|
274
|
+
*
|
|
275
|
+
* @param sessionName - Session being written to
|
|
276
|
+
* @returns Call when the delivery has finished (idempotent)
|
|
277
|
+
*/
|
|
278
|
+
beginDelivery(sessionName: string): () => void;
|
|
279
|
+
/**
|
|
280
|
+
* Whether a delivery is being written to the session right now.
|
|
281
|
+
*
|
|
282
|
+
* @param sessionName - Session
|
|
283
|
+
* @returns True while a {@link beginDelivery} is open
|
|
284
|
+
*/
|
|
285
|
+
isDelivering(sessionName: string): boolean;
|
|
179
286
|
/**
|
|
180
287
|
* Record that a message is being written to a session. A clear right after
|
|
181
288
|
* would wipe it before the agent reads it, so {@link prepareForTask} skips
|
|
@@ -210,7 +317,52 @@ export declare class FreshTaskConversationService {
|
|
|
210
317
|
* @returns Whether it cleared, and the handover file when it did
|
|
211
318
|
*/
|
|
212
319
|
prepareForTask(sessionName: string, workItem: Pick<WorkItem, 'id' | 'metadata'>): Promise<PrepareForTaskResult>;
|
|
320
|
+
/**
|
|
321
|
+
* Start the periodic context-cap sweep (idempotent). The timer is unref'd
|
|
322
|
+
* so it never keeps the process alive.
|
|
323
|
+
*
|
|
324
|
+
* @param intervalMs - Sweep interval
|
|
325
|
+
*/
|
|
326
|
+
startContextCapSweep(intervalMs?: number): void;
|
|
327
|
+
/** Stop the periodic context-cap sweep. */
|
|
328
|
+
stopContextCapSweep(): void;
|
|
329
|
+
/**
|
|
330
|
+
* Check every registered session once. Sessions are handled one after
|
|
331
|
+
* another and sweeps never overlap. Never throws.
|
|
332
|
+
*
|
|
333
|
+
* @returns Per-session results (sessions skipped cheaply are omitted)
|
|
334
|
+
*/
|
|
335
|
+
runContextCapSweep(): Promise<Record<string, ContextCapResult>>;
|
|
336
|
+
/**
|
|
337
|
+
* If the member is idle between turns and its last turn carried more than
|
|
338
|
+
* the cap, save the conversation (handover file + wiki), `/clear` it and
|
|
339
|
+
* write one line naming its WorkItem and the handover. Runs in the same
|
|
340
|
+
* per-session chain as {@link prepareForTask}, so terminal writes wait for
|
|
341
|
+
* it. Never throws.
|
|
342
|
+
*
|
|
343
|
+
* @param sessionName - Member session
|
|
344
|
+
* @returns What happened
|
|
345
|
+
*/
|
|
346
|
+
capContextIfNeeded(sessionName: string): Promise<ContextCapResult>;
|
|
347
|
+
private doCapContext;
|
|
348
|
+
/**
|
|
349
|
+
* The WorkItem a member is on: running before accepted before proposed,
|
|
350
|
+
* then the most recently started.
|
|
351
|
+
*/
|
|
352
|
+
private pickCurrentItem;
|
|
213
353
|
private doPrepare;
|
|
354
|
+
/**
|
|
355
|
+
* Save the current conversation (handover file + memory/wiki copy, no
|
|
356
|
+
* agent turn) and write `/clear`. Shared by the new-task and the
|
|
357
|
+
* context-cap paths.
|
|
358
|
+
*
|
|
359
|
+
* @param sessionName - Agent session
|
|
360
|
+
* @param conv - Its cwd and current conversation id
|
|
361
|
+
* @param handover - Task the old conversation was on, and why it closed
|
|
362
|
+
* @returns The handover file and the time `/clear` was written, or null
|
|
363
|
+
* when nothing was cleared (transcript missing, session gone)
|
|
364
|
+
*/
|
|
365
|
+
private saveAndClear;
|
|
214
366
|
/**
|
|
215
367
|
* Write the handover file (same shape as the orchestrator's restart handover).
|
|
216
368
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fresh-task-conversation.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/fresh-task-conversation.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"fresh-task-conversation.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/fresh-task-conversation.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAkBH,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,mCAAmC,CAAC;AAOlF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAOzD;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAI7F;AAED,gDAAgD;AAChD,MAAM,WAAW,sBAAsB;IACrC,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,oDAAoD;IACpD,cAAc,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,kCAAkC;AAClC,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB,CAWxF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAMnF;AAED,oEAAoE;AACpE,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,uDAAuD;IACvD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,sFAAsF;IACtF,cAAc,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,cAAc,EAAE,OAAO,CAAC;IACxB,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,CAuBlF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,CAMT;AAMD,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,cAAc;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,oBAAoB,GAAG,IAAI,CAAC;IACrE,yDAAyD;IACzD,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3D,oCAAoC;IACpC,eAAe,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,wDAAwD;IACxD,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,wBAAwB;IACxB,MAAM,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,qEAAqE;IACrE,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,4CAA4C;IAC5C,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7D,oDAAoD;IACpD,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/D,wEAAwE;IACxE,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChH,2CAA2C;IAC3C,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY;IACZ,GAAG,EAAE,MAAM,MAAM,CAAC;IAClB,YAAY;IACZ,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,kBAAkB;IAClB,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,oDAAoD;IACpD,YAAY,EAAE,MAAM,MAAM,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IACpD,2EAA2E;IAC3E,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACnD,yFAAyF;IACzF,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACtE;AAiHD,qEAAqE;AACrE,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6C;IAEpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,KAAK,CAA+B;IAC5C,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAoD;IAC7E,8EAA8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA6B;IAChE,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,8BAA8B;IAC9B,OAAO,CAAC,aAAa,CAA+B;IACpD,gDAAgD;IAChD,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO;IAKP;;OAEG;WACW,WAAW,IAAI,4BAA4B;IAOzD;;;;;OAKG;WACW,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,4BAA4B;IAK1F,kCAAkC;WACpB,aAAa,IAAI,IAAI;IAKnC;;;;;;;OAOG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,IAAI;IAa9C;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAI1C;;;;;;;OAOG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIvC;;;;;;OAMG;IACG,cAAc,CAClB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAkE,GACxE,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;OAKG;IACH,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI/C;;;;;;;;OAQG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAmCrH;;;;;OAKG;IACH,oBAAoB,CAAC,UAAU,GAAE,MAA+D,GAAG,IAAI;IAYvG,2CAA2C;IAC3C,mBAAmB,IAAI,IAAI;IAK3B;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAsBrE;;;;;;;;;OASG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAuB1D,YAAY;IAgF1B;;;OAGG;IACH,OAAO,CAAC,eAAe;YAcT,SAAS;IAyEvB;;;;;;;;;;OAUG;YACW,YAAY;IAyC1B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA+BrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAOvB;;;;;;;;;;;;OAYG;YACW,oBAAoB;IA+BlC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA6BzB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAmBpB,iEAAiE;IACjE,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,UAAU;CAiBnB"}
|