@adhdev/daemon-standalone 0.9.82-rc.545 → 0.9.82-rc.546

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/public/index.html CHANGED
@@ -7,7 +7,7 @@
7
7
  <meta name="description" content="ADHDev self-hosted dashboard for controlling AI agents" />
8
8
  <link rel="icon" href="/otter-logo.png" />
9
9
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-Vt94-N39.js"></script>
10
+ <script type="module" crossorigin src="/assets/index-CFipsywm.js"></script>
11
11
  <link rel="modulepreload" crossorigin href="/assets/vendor-MlvUnxKA.js">
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-D_scUWf6.css">
13
13
  </head>
@@ -3822,6 +3822,14 @@ function findInFlightDuplicate(ctx, message, targetNodeId) {
3822
3822
  return null;
3823
3823
  }
3824
3824
  async function meshEnqueueTask(ctx, args) {
3825
+ const message = readString(args.message);
3826
+ if (!message) {
3827
+ return JSON.stringify({
3828
+ success: false,
3829
+ code: "invalid_message",
3830
+ error: "mesh_enqueue_task requires a non-empty string `message`."
3831
+ });
3832
+ }
3825
3833
  const taskMode = readString(args.task_mode) || readString(args.taskMode);
3826
3834
  const readonly = args.readonly === true || args.read_only === true;
3827
3835
  const requiredTags = (0, import_daemon_core4.normalizeMeshCapabilityTags)(Array.isArray(args.requiredTags) ? args.requiredTags : args.required_tags);
@@ -3855,7 +3863,7 @@ async function meshEnqueueTask(ctx, args) {
3855
3863
  } else if (preferWorktree) {
3856
3864
  targetNodeId = resolvePreferredWorktreeNodeId(ctx) || void 0;
3857
3865
  }
3858
- const duplicateSuspect = allowDuplicate ? null : findInFlightDuplicate(ctx, args.message, targetNodeId);
3866
+ const duplicateSuspect = allowDuplicate ? null : findInFlightDuplicate(ctx, message, targetNodeId);
3859
3867
  if (duplicateSuspect && blockDuplicate) {
3860
3868
  return JSON.stringify({
3861
3869
  success: false,
@@ -3865,7 +3873,7 @@ async function meshEnqueueTask(ctx, args) {
3865
3873
  });
3866
3874
  }
3867
3875
  try {
3868
- const task = (0, import_daemon_core4.enqueueTask)(ctx.mesh.id, args.message, {
3876
+ const task = (0, import_daemon_core4.enqueueTask)(ctx.mesh.id, message, {
3869
3877
  taskMode,
3870
3878
  ...readonly ? { readonly: true } : {},
3871
3879
  requiredTags,
@@ -3919,7 +3927,7 @@ async function meshEnqueueTask(ctx, args) {
3919
3927
  if (!(0, import_daemon_core4.nodeSatisfiesRequiredTags)(requiredTags, (0, import_daemon_core4.buildMeshNodeCapabilityTags)(node))) continue;
3920
3928
  dispatchPromises.push(
3921
3929
  ipcDispatchToRemoteAgent(ctx, node, {
3922
- message: args.message,
3930
+ message,
3923
3931
  meshContext: {
3924
3932
  meshId: ctx.mesh.id,
3925
3933
  nodeId: node.id,
@@ -3930,7 +3938,7 @@ async function meshEnqueueTask(ctx, args) {
3930
3938
  if (result.success) {
3931
3939
  try {
3932
3940
  const providerType = result.providerType;
3933
- const descriptor = summarizeTaskMessage(args.message);
3941
+ const descriptor = summarizeTaskMessage(message);
3934
3942
  (0, import_daemon_core4.appendLedgerEntry)(ctx.mesh.id, {
3935
3943
  kind: "task_dispatched",
3936
3944
  nodeId: node.id,
@@ -3940,7 +3948,7 @@ async function meshEnqueueTask(ctx, args) {
3940
3948
  source: "queue",
3941
3949
  via: "p2p_direct",
3942
3950
  taskId: task.id,
3943
- message: args.message,
3951
+ message,
3944
3952
  taskTitle: descriptor.taskTitle,
3945
3953
  taskSummary: descriptor.taskSummary,
3946
3954
  ...task.taskMode ? { taskMode: task.taskMode } : {},
@@ -3988,14 +3996,14 @@ async function meshEnqueueTask(ctx, args) {
3988
3996
  });
3989
3997
  }
3990
3998
  } catch (e) {
3991
- const message = e?.message || String(e);
3992
- if (message.includes("live_debug_readonly_guardrail_violation")) {
3993
- return JSON.stringify({ success: false, code: "live_debug_readonly_guardrail_violation", taskMode, error: message });
3999
+ const message2 = e?.message || String(e);
4000
+ if (message2.includes("live_debug_readonly_guardrail_violation")) {
4001
+ return JSON.stringify({ success: false, code: "live_debug_readonly_guardrail_violation", taskMode, error: message2 });
3994
4002
  }
3995
- if (message.includes("dependency_cycle_detected")) {
3996
- return JSON.stringify({ success: false, code: "dependency_cycle_detected", dependsOn, error: message });
4003
+ if (message2.includes("dependency_cycle_detected")) {
4004
+ return JSON.stringify({ success: false, code: "dependency_cycle_detected", dependsOn, error: message2 });
3997
4005
  }
3998
- return JSON.stringify({ success: false, error: message });
4006
+ return JSON.stringify({ success: false, error: message2 });
3999
4007
  }
4000
4008
  }
4001
4009
  async function meshViewQueue(ctx, args) {
@@ -6234,10 +6242,18 @@ async function meshPruneStaleDirect(ctx, args = {}) {
6234
6242
  }, null, 2);
6235
6243
  }
6236
6244
  async function meshSendTask(ctx, args) {
6245
+ const message = readString(args.message);
6246
+ if (!message) {
6247
+ return JSON.stringify({
6248
+ success: false,
6249
+ code: "invalid_message",
6250
+ error: "mesh_send_task requires a non-empty string `message`."
6251
+ });
6252
+ }
6237
6253
  const requestedTaskMode = readString(args.task_mode) || readString(args.taskMode);
6238
6254
  const readonly = args.readonly === true || args.read_only === true;
6239
6255
  const missionId = readString(args.missionId) || readString(args.mission_id) || void 0;
6240
- const modeValidation = (0, import_daemon_core4.validateMeshTaskModeRequest)(requestedTaskMode, args.message, readonly);
6256
+ const modeValidation = (0, import_daemon_core4.validateMeshTaskModeRequest)(requestedTaskMode, message, readonly);
6241
6257
  if (!modeValidation.valid) {
6242
6258
  return JSON.stringify({
6243
6259
  success: false,
@@ -6329,7 +6345,7 @@ async function meshSendTask(ctx, args) {
6329
6345
  const coordinatorDaemonId = resolveCoordinatorDaemonId(ctx);
6330
6346
  const result2 = await ipcDispatchToRemoteAgent(ctx, node, {
6331
6347
  session_id: args.session_id,
6332
- message: args.message,
6348
+ message,
6333
6349
  providerType: cached?.providerType,
6334
6350
  verifiedSession: explicitTargetSession,
6335
6351
  meshContext: {
@@ -6354,7 +6370,7 @@ async function meshSendTask(ctx, args) {
6354
6370
  nodeId: args.node_id,
6355
6371
  sessionId: dispatchedSessionId,
6356
6372
  providerType,
6357
- payload: buildDirectTaskPayload(args.message, "p2p_direct", {
6373
+ payload: buildDirectTaskPayload(message, "p2p_direct", {
6358
6374
  taskId,
6359
6375
  taskMode,
6360
6376
  providerType,
@@ -6371,13 +6387,13 @@ async function meshSendTask(ctx, args) {
6371
6387
  nodeId: args.node_id,
6372
6388
  sessionId: dispatchedSessionId,
6373
6389
  providerType: providerType || void 0,
6374
- message: args.message,
6390
+ message,
6375
6391
  taskMode: taskMode || void 0,
6376
6392
  via: "p2p_direct",
6377
6393
  dispatchedAt
6378
6394
  });
6379
6395
  if (missionId) {
6380
- (0, import_daemon_core4.recordDirectDispatchTask)(ctx.mesh.id, args.message, {
6396
+ (0, import_daemon_core4.recordDirectDispatchTask)(ctx.mesh.id, message, {
6381
6397
  id: taskId,
6382
6398
  missionId,
6383
6399
  assignedNodeId: args.node_id,
@@ -6487,7 +6503,7 @@ async function meshSendTask(ctx, args) {
6487
6503
  sessionId: args.session_id,
6488
6504
  providerType: resolvedProviderType,
6489
6505
  kind: "task",
6490
- message: args.message,
6506
+ message,
6491
6507
  status: "queued"
6492
6508
  });
6493
6509
  return JSON.stringify({
@@ -6515,7 +6531,7 @@ async function meshSendTask(ctx, args) {
6515
6531
  nodeId: args.node_id,
6516
6532
  sessionId: args.session_id,
6517
6533
  providerType: resolvedProviderType,
6518
- payload: buildDirectTaskPayload(args.message, "local_direct", {
6534
+ payload: buildDirectTaskPayload(message, "local_direct", {
6519
6535
  taskId,
6520
6536
  taskMode,
6521
6537
  providerType: resolvedProviderType,
@@ -6535,7 +6551,7 @@ async function meshSendTask(ctx, args) {
6535
6551
  nodeId: args.node_id,
6536
6552
  sessionId: args.session_id,
6537
6553
  providerType: resolvedProviderType || void 0,
6538
- message: args.message,
6554
+ message,
6539
6555
  taskMode: taskMode || void 0,
6540
6556
  via: "local_direct",
6541
6557
  dispatchedToIdleSession: sessionWasIdle,
@@ -6552,7 +6568,7 @@ async function meshSendTask(ctx, args) {
6552
6568
  cliType: resolvedProviderType,
6553
6569
  providerType: resolvedProviderType,
6554
6570
  action: "send_chat",
6555
- message: args.message,
6571
+ message,
6556
6572
  meshContext: {
6557
6573
  meshId: ctx.mesh.id,
6558
6574
  nodeId: args.node_id,
@@ -6580,7 +6596,7 @@ async function meshSendTask(ctx, args) {
6580
6596
  }
6581
6597
  if (missionId) {
6582
6598
  try {
6583
- (0, import_daemon_core4.recordDirectDispatchTask)(ctx.mesh.id, args.message, {
6599
+ (0, import_daemon_core4.recordDirectDispatchTask)(ctx.mesh.id, message, {
6584
6600
  id: taskId,
6585
6601
  missionId,
6586
6602
  assignedNodeId: args.node_id,
@@ -6602,7 +6618,7 @@ async function meshSendTask(ctx, args) {
6602
6618
  providerType: resolvedProviderType || void 0,
6603
6619
  taskId,
6604
6620
  kind: "task",
6605
- message: args.message,
6621
+ message,
6606
6622
  status: sessionWasIdle ? "delivered" : "delivering"
6607
6623
  });
6608
6624
  deliveryId = delivery.id;
@@ -6625,7 +6641,7 @@ async function meshSendTask(ctx, args) {
6625
6641
  ...computeIdleDispatchAckRisk(sessionWasIdle, dispatchPreRecorded, args.session_id)
6626
6642
  });
6627
6643
  }
6628
- const task = (0, import_daemon_core4.enqueueTask)(ctx.mesh.id, args.message, {
6644
+ const task = (0, import_daemon_core4.enqueueTask)(ctx.mesh.id, message, {
6629
6645
  targetNodeId: args.node_id,
6630
6646
  targetSessionId: args.session_id,
6631
6647
  taskMode,