chatroom-cli 1.108.3 → 1.109.0
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/index.js +8 -145
- package/dist/index.js.map +9 -10
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -87338,11 +87338,7 @@ class AgentProcessManager {
|
|
|
87338
87338
|
slot,
|
|
87339
87339
|
eventId: `${opts.pid}:${++this.agentTurnEndedSequence}`
|
|
87340
87340
|
};
|
|
87341
|
-
|
|
87342
|
-
if (outcomes.includes("reminder_requested")) {
|
|
87343
|
-
console.log(`[AgentProcessManager] ⏩ Handoff reminder requested for ${opts.role}`);
|
|
87344
|
-
return;
|
|
87345
|
-
}
|
|
87341
|
+
await Promise.all([...this.agentTurnEndedHandlers].map((handler) => handler(event)));
|
|
87346
87342
|
setNativeTurnPhase(slot, defaultNativeTurnPhase());
|
|
87347
87343
|
console.log(`[AgentProcessManager] ✅ Native agent_end completed for ${opts.role}`);
|
|
87348
87344
|
return;
|
|
@@ -116854,25 +116850,6 @@ class NativeDeliveryService {
|
|
|
116854
116850
|
this.deps.agentTaskState.clear({ chatroomId: event.chatroomId, role: event.role });
|
|
116855
116851
|
}
|
|
116856
116852
|
async handleAgentTurnEnded(event) {
|
|
116857
|
-
const activeTask = this.deps.agentTaskState.get({
|
|
116858
|
-
chatroomId: event.chatroomId,
|
|
116859
|
-
role: event.role
|
|
116860
|
-
});
|
|
116861
|
-
if (!activeTask) {
|
|
116862
|
-
this.scheduleRoleDelivery(event.chatroomId, event.role);
|
|
116863
|
-
return;
|
|
116864
|
-
}
|
|
116865
|
-
const result = await this.deps.agentTaskState.handleAgentTurnEnded({
|
|
116866
|
-
chatroomId: event.chatroomId,
|
|
116867
|
-
role: event.role,
|
|
116868
|
-
version: {
|
|
116869
|
-
taskId: activeTask.taskId,
|
|
116870
|
-
generation: activeTask.generation
|
|
116871
|
-
},
|
|
116872
|
-
eventId: event.eventId
|
|
116873
|
-
});
|
|
116874
|
-
if (result.outcome === "reminder_requested")
|
|
116875
|
-
return "reminder_requested";
|
|
116876
116853
|
this.scheduleRoleDelivery(event.chatroomId, event.role);
|
|
116877
116854
|
}
|
|
116878
116855
|
scheduleRoleDelivery(chatroomId, role) {
|
|
@@ -116895,17 +116872,6 @@ class NativeDeliveryService {
|
|
|
116895
116872
|
return this.deps.agentTaskState;
|
|
116896
116873
|
}
|
|
116897
116874
|
async handleTaskInboxUpdate(update6) {
|
|
116898
|
-
for (const signal of update6.signals) {
|
|
116899
|
-
if (signal.taskStatus === "completed") {
|
|
116900
|
-
await this.deps.runSerializedForAgent({ chatroomId: signal.chatroomId, role: signal.targetRole }, { timeoutMs: TASK_STATE_UPDATE_TIMEOUT_MS }, async () => {
|
|
116901
|
-
this.recordTaskHandedOff({
|
|
116902
|
-
chatroomId: signal.chatroomId,
|
|
116903
|
-
role: signal.targetRole,
|
|
116904
|
-
taskId: signal.taskId
|
|
116905
|
-
});
|
|
116906
|
-
});
|
|
116907
|
-
}
|
|
116908
|
-
}
|
|
116909
116875
|
this.deps.taskSnapshotState.applySignalPage(update6.signals, update6.snapshots);
|
|
116910
116876
|
await this.processSnapshots("inbox-signal", update6.snapshots);
|
|
116911
116877
|
}
|
|
@@ -116923,18 +116889,7 @@ class NativeDeliveryService {
|
|
|
116923
116889
|
recordTaskDelivered(args2) {
|
|
116924
116890
|
this.deps.agentTaskState.start(args2);
|
|
116925
116891
|
}
|
|
116926
|
-
recordTaskHandedOff(args2) {
|
|
116927
|
-
const key = { chatroomId: args2.chatroomId, role: args2.role };
|
|
116928
|
-
const active2 = this.deps.agentTaskState.get(key);
|
|
116929
|
-
if (active2?.taskId !== args2.taskId)
|
|
116930
|
-
return;
|
|
116931
|
-
this.deps.agentTaskState.markHandedOff(key, {
|
|
116932
|
-
taskId: active2.taskId,
|
|
116933
|
-
generation: active2.generation
|
|
116934
|
-
});
|
|
116935
|
-
}
|
|
116936
116892
|
}
|
|
116937
|
-
var TASK_STATE_UPDATE_TIMEOUT_MS = 30000;
|
|
116938
116893
|
var init_native_delivery_service = __esm(() => {
|
|
116939
116894
|
init_task_delivery_processor();
|
|
116940
116895
|
});
|
|
@@ -117118,9 +117073,6 @@ var init_operational_inbox = __esm(() => {
|
|
|
117118
117073
|
function keyOf(key) {
|
|
117119
117074
|
return `${key.chatroomId}:${key.role.toLowerCase()}`;
|
|
117120
117075
|
}
|
|
117121
|
-
function matches(state, version3) {
|
|
117122
|
-
return state.taskId === version3.taskId && state.generation === version3.generation;
|
|
117123
|
-
}
|
|
117124
117076
|
|
|
117125
117077
|
class InMemoryActiveTaskStateStore {
|
|
117126
117078
|
states = new Map;
|
|
@@ -117129,51 +117081,14 @@ class InMemoryActiveTaskStateStore {
|
|
|
117129
117081
|
return state ? { ...state } : undefined;
|
|
117130
117082
|
}
|
|
117131
117083
|
start(input) {
|
|
117132
|
-
const previous = this.states.get(keyOf(input));
|
|
117133
117084
|
const state = {
|
|
117134
117085
|
chatroomId: input.chatroomId,
|
|
117135
117086
|
role: input.role,
|
|
117136
|
-
taskId: input.taskId
|
|
117137
|
-
generation: (previous?.generation ?? 0) + 1,
|
|
117138
|
-
status: "in_flight",
|
|
117139
|
-
handedOff: false,
|
|
117140
|
-
reminderAttempts: 0
|
|
117087
|
+
taskId: input.taskId
|
|
117141
117088
|
};
|
|
117142
117089
|
this.states.set(keyOf(input), state);
|
|
117143
117090
|
return { ...state };
|
|
117144
117091
|
}
|
|
117145
|
-
markHandedOff(key, version3) {
|
|
117146
|
-
const state = this.states.get(keyOf(key));
|
|
117147
|
-
if (!state || !matches(state, version3))
|
|
117148
|
-
return false;
|
|
117149
|
-
this.states.set(keyOf(key), {
|
|
117150
|
-
...state,
|
|
117151
|
-
status: "handed_off",
|
|
117152
|
-
handedOff: true
|
|
117153
|
-
});
|
|
117154
|
-
return true;
|
|
117155
|
-
}
|
|
117156
|
-
recordTurnEnd(key, version3, eventId) {
|
|
117157
|
-
const state = this.states.get(keyOf(key));
|
|
117158
|
-
if (!state || !matches(state, version3) || state.lastTurnEndEventId === eventId) {
|
|
117159
|
-
return;
|
|
117160
|
-
}
|
|
117161
|
-
const next4 = {
|
|
117162
|
-
...state,
|
|
117163
|
-
status: state.handedOff ? "handed_off" : "reminder_requested",
|
|
117164
|
-
reminderAttempts: state.handedOff ? state.reminderAttempts : state.reminderAttempts + 1,
|
|
117165
|
-
lastTurnEndEventId: eventId
|
|
117166
|
-
};
|
|
117167
|
-
this.states.set(keyOf(key), next4);
|
|
117168
|
-
return { ...next4 };
|
|
117169
|
-
}
|
|
117170
|
-
complete(key, version3) {
|
|
117171
|
-
const state = this.states.get(keyOf(key));
|
|
117172
|
-
if (!state || !matches(state, version3))
|
|
117173
|
-
return false;
|
|
117174
|
-
this.states.delete(keyOf(key));
|
|
117175
|
-
return true;
|
|
117176
|
-
}
|
|
117177
117092
|
clear(key) {
|
|
117178
117093
|
return this.states.delete(keyOf(key));
|
|
117179
117094
|
}
|
|
@@ -117184,37 +117099,6 @@ class InMemoryActiveTaskStateStore {
|
|
|
117184
117099
|
}
|
|
117185
117100
|
}
|
|
117186
117101
|
|
|
117187
|
-
// src/daemon/infrastructure/agent-process-manager/components/agent-task-state/usecase/handle-agent-turn-ended.ts
|
|
117188
|
-
async function handleAgentTurnEnded(deps, input) {
|
|
117189
|
-
const active2 = deps.taskState.get(input);
|
|
117190
|
-
if (!active2)
|
|
117191
|
-
return { outcome: "no_active_task" };
|
|
117192
|
-
if (active2.taskId !== input.version.taskId || active2.generation !== input.version.generation) {
|
|
117193
|
-
return { outcome: "stale_event" };
|
|
117194
|
-
}
|
|
117195
|
-
if (active2.lastTurnEndEventId === input.eventId) {
|
|
117196
|
-
return { outcome: "duplicate_event" };
|
|
117197
|
-
}
|
|
117198
|
-
const recorded = deps.taskState.recordTurnEnd(input, input.version, input.eventId);
|
|
117199
|
-
if (!recorded)
|
|
117200
|
-
return { outcome: "stale_event" };
|
|
117201
|
-
if (recorded.handedOff) {
|
|
117202
|
-
deps.taskState.complete(input, input.version);
|
|
117203
|
-
return { outcome: "already_handed_off", taskId: recorded.taskId };
|
|
117204
|
-
}
|
|
117205
|
-
await deps.reminder.remind({
|
|
117206
|
-
chatroomId: recorded.chatroomId,
|
|
117207
|
-
role: recorded.role,
|
|
117208
|
-
taskId: recorded.taskId,
|
|
117209
|
-
attempt: recorded.reminderAttempts
|
|
117210
|
-
});
|
|
117211
|
-
return {
|
|
117212
|
-
outcome: "reminder_requested",
|
|
117213
|
-
taskId: recorded.taskId,
|
|
117214
|
-
attempt: recorded.reminderAttempts
|
|
117215
|
-
};
|
|
117216
|
-
}
|
|
117217
|
-
|
|
117218
117102
|
// src/daemon/infrastructure/agent-process-manager/components/agent-task-state/usecase/agent-task-state-service.ts
|
|
117219
117103
|
class DefaultAgentTaskStateService {
|
|
117220
117104
|
deps;
|
|
@@ -117227,12 +117111,6 @@ class DefaultAgentTaskStateService {
|
|
|
117227
117111
|
start(input) {
|
|
117228
117112
|
return this.deps.taskState.start(input);
|
|
117229
117113
|
}
|
|
117230
|
-
markHandedOff(key, version3) {
|
|
117231
|
-
return this.deps.taskState.markHandedOff(key, version3);
|
|
117232
|
-
}
|
|
117233
|
-
handleAgentTurnEnded(input) {
|
|
117234
|
-
return handleAgentTurnEnded(this.deps, input);
|
|
117235
|
-
}
|
|
117236
117114
|
clear(key) {
|
|
117237
117115
|
return this.deps.taskState.clear(key);
|
|
117238
117116
|
}
|
|
@@ -117240,19 +117118,14 @@ class DefaultAgentTaskStateService {
|
|
|
117240
117118
|
return this.deps.taskState.clearAll();
|
|
117241
117119
|
}
|
|
117242
117120
|
}
|
|
117243
|
-
var init_agent_task_state_service = () => {};
|
|
117244
117121
|
|
|
117245
117122
|
// src/daemon/infrastructure/agent-process-manager/components/agent-task-state/index.ts
|
|
117246
|
-
function createAgentTaskStateService(
|
|
117123
|
+
function createAgentTaskStateService() {
|
|
117247
117124
|
return new DefaultAgentTaskStateService({
|
|
117248
|
-
taskState: new InMemoryActiveTaskStateStore
|
|
117249
|
-
reminder: deps.reminder
|
|
117125
|
+
taskState: new InMemoryActiveTaskStateStore
|
|
117250
117126
|
});
|
|
117251
117127
|
}
|
|
117252
|
-
var init_agent_task_state =
|
|
117253
|
-
init_agent_task_state_service();
|
|
117254
|
-
init_agent_task_state_service();
|
|
117255
|
-
});
|
|
117128
|
+
var init_agent_task_state = () => {};
|
|
117256
117129
|
|
|
117257
117130
|
// src/daemon/infrastructure/inbox/fetch-machine-assigned-task-snapshots.ts
|
|
117258
117131
|
async function fetchMachineAssignedTaskSnapshots(sessionDeps, machineId) {
|
|
@@ -117658,7 +117531,7 @@ async function runOperationalInboxLoopWithRestart(options, onUpdate, isStopped)
|
|
|
117658
117531
|
}
|
|
117659
117532
|
}
|
|
117660
117533
|
}
|
|
117661
|
-
var NATIVE_DELIVERY_RECONCILE_MS = 1e4, INBOX_RESTART_INITIAL_MS = 1000, INBOX_RESTART_MAX_MS = 30000,
|
|
117534
|
+
var NATIVE_DELIVERY_RECONCILE_MS = 1e4, INBOX_RESTART_INITIAL_MS = 1000, INBOX_RESTART_MAX_MS = 30000, startTaskInboxEffect = (wsClient2) => exports_Effect.gen(function* () {
|
|
117662
117535
|
const session2 = yield* DaemonSessionService;
|
|
117663
117536
|
const agentMgr = yield* DaemonAgentProcessManagerService;
|
|
117664
117537
|
const commandService = yield* DaemonAgentProcessManagerCommandService;
|
|
@@ -117685,17 +117558,7 @@ var NATIVE_DELIVERY_RECONCILE_MS = 1e4, INBOX_RESTART_INITIAL_MS = 1000, INBOX_R
|
|
|
117685
117558
|
let stopped = false;
|
|
117686
117559
|
const taskSnapshotState = new MachineTaskSnapshotState;
|
|
117687
117560
|
const agentOperationalReadModel = new AgentOperationalReadModel;
|
|
117688
|
-
const agentTaskState = createAgentTaskStateService(
|
|
117689
|
-
reminder: {
|
|
117690
|
-
remind: async ({ chatroomId, role }) => {
|
|
117691
|
-
await exports_Effect.runPromise(agentMgr.resumeTurnForSlot({
|
|
117692
|
-
chatroomId,
|
|
117693
|
-
role,
|
|
117694
|
-
prompt: NATIVE_HANDOFF_REMINDER
|
|
117695
|
-
}));
|
|
117696
|
-
}
|
|
117697
|
-
}
|
|
117698
|
-
});
|
|
117561
|
+
const agentTaskState = createAgentTaskStateService();
|
|
117699
117562
|
const nativeDelivery = new NativeDeliveryService({
|
|
117700
117563
|
runtime: runtime4,
|
|
117701
117564
|
effectContext: effectContext2,
|
|
@@ -135246,4 +135109,4 @@ program2.hook("preAction", async (_thisCommand, actionCommand) => {
|
|
|
135246
135109
|
});
|
|
135247
135110
|
program2.parse();
|
|
135248
135111
|
|
|
135249
|
-
//# debugId=
|
|
135112
|
+
//# debugId=4F6AF6B53314C68764756E2164756E21
|