@agent-native/core 0.58.5 → 0.59.1

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.
Files changed (57) hide show
  1. package/dist/client/AgentPanel.js +1 -1
  2. package/dist/client/AgentPanel.js.map +1 -1
  3. package/dist/client/AssistantChat.d.ts.map +1 -1
  4. package/dist/client/AssistantChat.js +12 -53
  5. package/dist/client/AssistantChat.js.map +1 -1
  6. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  7. package/dist/client/MultiTabAssistantChat.js +84 -88
  8. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  9. package/dist/client/agent-chat-adapter.d.ts.map +1 -1
  10. package/dist/client/agent-chat-adapter.js +65 -12
  11. package/dist/client/agent-chat-adapter.js.map +1 -1
  12. package/dist/client/agent-chat.d.ts +28 -0
  13. package/dist/client/agent-chat.d.ts.map +1 -1
  14. package/dist/client/agent-chat.js +84 -3
  15. package/dist/client/agent-chat.js.map +1 -1
  16. package/dist/client/chat/run-recovery.d.ts +2 -1
  17. package/dist/client/chat/run-recovery.d.ts.map +1 -1
  18. package/dist/client/chat/run-recovery.js +4 -2
  19. package/dist/client/chat/run-recovery.js.map +1 -1
  20. package/dist/client/extensions/ExtensionViewer.js +1 -1
  21. package/dist/client/extensions/ExtensionViewer.js.map +1 -1
  22. package/dist/client/index.d.ts +3 -1
  23. package/dist/client/index.d.ts.map +1 -1
  24. package/dist/client/index.js +3 -1
  25. package/dist/client/index.js.map +1 -1
  26. package/dist/client/notifications/NotificationsBell.d.ts +3 -1
  27. package/dist/client/notifications/NotificationsBell.d.ts.map +1 -1
  28. package/dist/client/notifications/NotificationsBell.js +7 -3
  29. package/dist/client/notifications/NotificationsBell.js.map +1 -1
  30. package/dist/client/terminal/AgentTerminal.d.ts.map +1 -1
  31. package/dist/client/terminal/AgentTerminal.js +6 -7
  32. package/dist/client/terminal/AgentTerminal.js.map +1 -1
  33. package/dist/client/use-agent-engine-configured.d.ts +16 -0
  34. package/dist/client/use-agent-engine-configured.d.ts.map +1 -0
  35. package/dist/client/use-agent-engine-configured.js +60 -0
  36. package/dist/client/use-agent-engine-configured.js.map +1 -0
  37. package/dist/org/auto-join-domain.d.ts +11 -3
  38. package/dist/org/auto-join-domain.d.ts.map +1 -1
  39. package/dist/org/auto-join-domain.js +7 -6
  40. package/dist/org/auto-join-domain.js.map +1 -1
  41. package/dist/org/context.d.ts.map +1 -1
  42. package/dist/org/context.js +68 -32
  43. package/dist/org/context.js.map +1 -1
  44. package/dist/org/migrations.d.ts.map +1 -1
  45. package/dist/org/migrations.js +6 -0
  46. package/dist/org/migrations.js.map +1 -1
  47. package/dist/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +9 -0
  48. package/dist/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +11 -1
  49. package/dist/vite/client.d.ts +2 -1
  50. package/dist/vite/client.d.ts.map +1 -1
  51. package/dist/vite/client.js +121 -2
  52. package/dist/vite/client.js.map +1 -1
  53. package/docs/content/context-awareness.md +14 -2
  54. package/docs/content/creating-templates.md +6 -0
  55. package/package.json +1 -1
  56. package/src/templates/workspace-core/.agents/skills/client-side-routing/SKILL.md +9 -0
  57. package/src/templates/workspace-core/.agents/skills/context-awareness/SKILL.md +11 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-chat-adapter.d.ts","sourceRoot":"","sources":["../../src/client/agent-chat-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAiBhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,MAAM,oBAAoB;AAC9B;;;;GAIG;AACD,KAAK;AACP,0EAA0E;GACxE,WAAW,CAAC;AAyjChB;;;;GAIG;AACH;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3C,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,GAAG,SAAS,CAAA;KAAE,CAAC;IACrD,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB,CAgrClB"}
1
+ {"version":3,"file":"agent-chat-adapter.d.ts","sourceRoot":"","sources":["../../src/client/agent-chat-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,qBAAqB,CAAC;AAiBhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAKrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,MAAM,oBAAoB;AAC9B;;;;GAIG;AACD,KAAK;AACP,0EAA0E;GACxE,WAAW,CAAC;AA0jChB;;;;GAIG;AACH;;;GAGG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3C,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IAC5C,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,GAAG,SAAS,CAAA;KAAE,CAAC;IACrD,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;KAAE,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAC;IAC3D,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAgB,sBAAsB,CACpC,OAAO,CAAC,EAAE,6BAA6B,GACtC,gBAAgB,CAquClB"}
@@ -20,6 +20,7 @@ const AUTO_CONTINUE_PROMPT = "Continue from where you left off and finish the us
20
20
  const AUTO_CONTINUE_COMPLETION_GUARD = "Before doing more work, inspect the prior partial assistant output in history. If it already gives a coherent answer, summary, artifact, coverage note, or next-step recommendation, finish with at most one short closing sentence and do not call tools, scan more data, or expand the search. Continue only genuinely unfinished work.";
21
21
  const MAX_RECONNECT_ATTEMPTS = 5;
22
22
  const MAX_STARTUP_RECOVERY_ATTEMPTS = 8;
23
+ const MAX_QUEUED_CONFLICT_RETRIES = 120;
23
24
  const MAX_STALE_RUN_CONTINUATIONS = 3;
24
25
  const MAX_STALLED_TRANSIENT_CONTINUATIONS = 8;
25
26
  const MAX_TOTAL_TRANSIENT_CONTINUATIONS = 32;
@@ -978,6 +979,7 @@ export function createAgentChatAdapter(options) {
978
979
  let includeReferences = Boolean(runConfig?.custom?.references);
979
980
  let internalContinuationRequest = false;
980
981
  let startupRecoveryAttempts = 0;
982
+ let queuedConflictRetries = 0;
981
983
  let staleRunContinuationAttempts = 0;
982
984
  let stalledTransientContinuationAttempts = 0;
983
985
  let emptyTransientContinuationAttempts = 0;
@@ -1502,12 +1504,65 @@ export function createAgentChatAdapter(options) {
1502
1504
  }
1503
1505
  if (!res.ok) {
1504
1506
  if (res.status === 409) {
1505
- let handledConflict = false;
1507
+ let activeRunId = null;
1506
1508
  try {
1507
1509
  const body = await res.json();
1508
1510
  if (body?.activeRunId) {
1509
- handledConflict = true;
1510
- runId = String(body.activeRunId);
1511
+ activeRunId = String(body.activeRunId);
1512
+ }
1513
+ }
1514
+ catch {
1515
+ // Fall through to the generic response handling below.
1516
+ }
1517
+ // A 409 means the server still has an active run for this
1518
+ // thread. For a fresh user turn — a queued follow-up OR a normal
1519
+ // send fired shortly after the previous run finished (the server
1520
+ // can report a just-finished run as active for up to
1521
+ // RUN_STALE_MS while its terminal status write lands) — adopting
1522
+ // `activeRunId` below would reconnect to that prior run, replay
1523
+ // its final answer, and silently drop this turn. Wait for the
1524
+ // run to clear and retry THIS prompt instead. Only genuine
1525
+ // internal continuations (deliberate resumes of the active run)
1526
+ // fall through to the reconnect path.
1527
+ if (!internalContinuationRequest && activeRunId) {
1528
+ queuedConflictRetries += 1;
1529
+ if (queuedConflictRetries <= MAX_QUEUED_CONFLICT_RETRIES) {
1530
+ await delay(500, abortSignal);
1531
+ if (abortSignal.aborted)
1532
+ return;
1533
+ continue;
1534
+ }
1535
+ const message = "The previous response is still finishing and the new message could not start yet. Please try again.";
1536
+ const runError = {
1537
+ message,
1538
+ details: `The server kept reporting active run ${activeRunId} for this thread after ${MAX_QUEUED_CONFLICT_RETRIES} retries.`,
1539
+ errorCode: "active_run_conflict",
1540
+ recoverable: true,
1541
+ runId: activeRunId,
1542
+ };
1543
+ if (typeof window !== "undefined") {
1544
+ window.dispatchEvent(new CustomEvent("agent-chat:run-error", {
1545
+ detail: { ...runError, tabId },
1546
+ }));
1547
+ }
1548
+ content.push({
1549
+ type: "text",
1550
+ text: `Something went wrong: ${message}`,
1551
+ });
1552
+ yield {
1553
+ content: [...content],
1554
+ status: {
1555
+ type: "incomplete",
1556
+ reason: "error",
1557
+ },
1558
+ metadata: { custom: { runError } },
1559
+ };
1560
+ clearActiveRun();
1561
+ return;
1562
+ }
1563
+ if (activeRunId) {
1564
+ try {
1565
+ runId = activeRunId;
1511
1566
  if (!attemptedRunIds.includes(runId)) {
1512
1567
  attemptedRunIds.push(runId);
1513
1568
  }
@@ -1518,16 +1573,14 @@ export function createAgentChatAdapter(options) {
1518
1573
  const reconnected = yield* reconnectCurrentRun();
1519
1574
  if (reconnected)
1520
1575
  return;
1576
+ await delay(1000, abortSignal);
1577
+ if (abortSignal.aborted)
1578
+ return;
1579
+ continue;
1580
+ }
1581
+ catch {
1582
+ // Fall through to the generic response handling below.
1521
1583
  }
1522
- }
1523
- catch {
1524
- // Fall through to the generic response handling below.
1525
- }
1526
- if (handledConflict) {
1527
- await delay(1000, abortSignal);
1528
- if (abortSignal.aborted)
1529
- return;
1530
- continue;
1531
1584
  }
1532
1585
  }
1533
1586
  if (res.status === 401 || res.status === 403) {