@usabledev/usable-chat 1.152.1 → 1.153.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/cli.js +39 -4
- package/package.json +1 -1
package/cli.js
CHANGED
|
@@ -175976,6 +175976,33 @@ data: ${JSON.stringify(envelope)}
|
|
|
175976
175976
|
});
|
|
175977
175977
|
|
|
175978
175978
|
// src/core/tools/spawn-subagent.ts
|
|
175979
|
+
async function maybeStartBackgroundRelay(redis, context, conversationId, taskId, success2) {
|
|
175980
|
+
if (!redis || !context.startBackgroundSubagentRelay) return false;
|
|
175981
|
+
try {
|
|
175982
|
+
const record2 = await spawnedTaskStore.get(redis, taskId);
|
|
175983
|
+
if (record2?.notifiedTurnAt) {
|
|
175984
|
+
return true;
|
|
175985
|
+
}
|
|
175986
|
+
const lockKey = `subagents:background-relay-lock:${conversationId}`;
|
|
175987
|
+
const acquired = await redis.set(lockKey, taskId, "NX", "EX", 180).catch(() => null);
|
|
175988
|
+
if (!acquired) {
|
|
175989
|
+
return true;
|
|
175990
|
+
}
|
|
175991
|
+
const started = await context.startBackgroundSubagentRelay({
|
|
175992
|
+
conversationId,
|
|
175993
|
+
taskId,
|
|
175994
|
+
reason: success2 ? "completed" : "failed"
|
|
175995
|
+
});
|
|
175996
|
+
return started;
|
|
175997
|
+
} catch (err) {
|
|
175998
|
+
logger.debug("SpawnSubagent", "Failed to start background relay job", {
|
|
175999
|
+
conversationId,
|
|
176000
|
+
taskId,
|
|
176001
|
+
error: err instanceof Error ? err.message : String(err)
|
|
176002
|
+
});
|
|
176003
|
+
return false;
|
|
176004
|
+
}
|
|
176005
|
+
}
|
|
175979
176006
|
async function maybeEmitPingPrompt(redis, conversationId, taskId) {
|
|
175980
176007
|
if (!redis) return;
|
|
175981
176008
|
try {
|
|
@@ -176276,7 +176303,10 @@ HOW TO USE THIS:
|
|
|
176276
176303
|
tokenUsage: response.tokenUsage
|
|
176277
176304
|
}
|
|
176278
176305
|
});
|
|
176279
|
-
await
|
|
176306
|
+
const relayed = await maybeStartBackgroundRelay(redis, context, conversationId, taskId, success2);
|
|
176307
|
+
if (!relayed) {
|
|
176308
|
+
await maybeEmitPingPrompt(redis, conversationId, taskId);
|
|
176309
|
+
}
|
|
176280
176310
|
} catch (err) {
|
|
176281
176311
|
const errorMessage = err instanceof Error ? err.message : String(err);
|
|
176282
176312
|
const status = abort.signal.aborted ? "cancelled" : "failed";
|
|
@@ -176291,7 +176321,10 @@ HOW TO USE THIS:
|
|
|
176291
176321
|
taskId,
|
|
176292
176322
|
data: { error: errorMessage }
|
|
176293
176323
|
});
|
|
176294
|
-
await
|
|
176324
|
+
const relayed = await maybeStartBackgroundRelay(redis, context, conversationId, taskId, false);
|
|
176325
|
+
if (!relayed) {
|
|
176326
|
+
await maybeEmitPingPrompt(redis, conversationId, taskId);
|
|
176327
|
+
}
|
|
176295
176328
|
} finally {
|
|
176296
176329
|
spawnedTaskStore.unregisterLocalAbort(taskId);
|
|
176297
176330
|
}
|
|
@@ -249322,7 +249355,8 @@ async function orchestrate(request) {
|
|
|
249322
249355
|
chatMode,
|
|
249323
249356
|
imageGenModel: context.metadata?.imageGenModel,
|
|
249324
249357
|
imageGenThinking: context.metadata?.imageGenThinking,
|
|
249325
|
-
registeredParentToolSchemas: context.registeredParentToolSchemas
|
|
249358
|
+
registeredParentToolSchemas: context.registeredParentToolSchemas,
|
|
249359
|
+
startBackgroundSubagentRelay: context.startBackgroundSubagentRelay
|
|
249326
249360
|
});
|
|
249327
249361
|
if (!config3.localFilesystem) {
|
|
249328
249362
|
aiTools["spawn_subagent"] = {
|
|
@@ -252400,6 +252434,7 @@ function createOrchestratorRequest(messages4, context, config3, persona, apiKey,
|
|
|
252400
252434
|
metadata: context.metadata,
|
|
252401
252435
|
allowedWorkspaceIds: context.allowedWorkspaceIds,
|
|
252402
252436
|
registeredParentToolSchemas: context.registeredParentToolSchemas,
|
|
252437
|
+
startBackgroundSubagentRelay: context.startBackgroundSubagentRelay,
|
|
252403
252438
|
extensions: context.extensions
|
|
252404
252439
|
// Plugin hook seam (CLI only; undefined on web)
|
|
252405
252440
|
},
|
|
@@ -270948,7 +270983,7 @@ init_tui_select();
|
|
|
270948
270983
|
init_model_registry();
|
|
270949
270984
|
|
|
270950
270985
|
// package.json
|
|
270951
|
-
var version2 = "1.
|
|
270986
|
+
var version2 = "1.153.0";
|
|
270952
270987
|
|
|
270953
270988
|
// src/adapters/cli/model-catalog.ts
|
|
270954
270989
|
init_codex_auth();
|