@agent-native/core 0.84.25 → 0.84.28

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 (82) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +18 -0
  3. package/corpus/core/package.json +1 -1
  4. package/corpus/core/src/agent/production-agent.ts +4 -2
  5. package/corpus/core/src/agent/run-manager.ts +4 -3
  6. package/corpus/core/src/agent/types.ts +9 -2
  7. package/corpus/core/src/client/AssistantChat.tsx +15 -1
  8. package/corpus/core/src/client/FeedbackButton.tsx +2 -2
  9. package/corpus/core/src/client/MultiTabAssistantChat.tsx +17 -2
  10. package/corpus/core/src/client/agent-chat.ts +118 -0
  11. package/corpus/core/src/client/components/PresenceBar.tsx +7 -2
  12. package/corpus/core/src/client/composer/ComposerPlusMenu.tsx +23 -9
  13. package/corpus/core/src/client/index.ts +4 -0
  14. package/corpus/core/src/client/sharing/ShareButton.tsx +22 -3
  15. package/corpus/core/src/client/sharing/ShareDialog.tsx +13 -1
  16. package/corpus/core/src/client/sse-event-processor.ts +49 -20
  17. package/corpus/core/src/sharing/actions/set-resource-visibility.ts +3 -3
  18. package/corpus/templates/design/actions/insert-asset.ts +14 -2
  19. package/corpus/templates/design/actions/insert-design-native-asset.ts +16 -4
  20. package/corpus/templates/design/actions/insert-figma-library-asset.ts +14 -2
  21. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +14 -0
  22. package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +54 -10
  23. package/corpus/templates/design/app/components/design/EditPanel.tsx +23 -16
  24. package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +7 -2
  25. package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +9 -5
  26. package/corpus/templates/design/app/components/layout/Header.tsx +38 -2
  27. package/corpus/templates/design/app/pages/DesignEditor.tsx +281 -105
  28. package/corpus/templates/design/app/pages/DesignSystemSetup.tsx +15 -1
  29. package/corpus/templates/design/app/pages/Index.tsx +20 -9
  30. package/corpus/templates/design/app/routes/settings.tsx +1 -1
  31. package/corpus/templates/design/changelog/2026-07-01-design-editor-polish-makes-zoom-assets-sharing-and-agent-handoffs-clearer.md +6 -0
  32. package/corpus/templates/design/changelog/2026-07-01-design-qa-fixes-make-exports-permissions-and-tools-clearer.md +6 -0
  33. package/corpus/templates/design/changelog/2026-07-01-zoom-menus-in-the-design-editor-now-open-independently-from-.md +6 -0
  34. package/dist/agent/production-agent.d.ts.map +1 -1
  35. package/dist/agent/production-agent.js +4 -3
  36. package/dist/agent/production-agent.js.map +1 -1
  37. package/dist/agent/run-manager.d.ts.map +1 -1
  38. package/dist/agent/run-manager.js +4 -4
  39. package/dist/agent/run-manager.js.map +1 -1
  40. package/dist/agent/types.d.ts +3 -0
  41. package/dist/agent/types.d.ts.map +1 -1
  42. package/dist/agent/types.js.map +1 -1
  43. package/dist/client/AssistantChat.d.ts.map +1 -1
  44. package/dist/client/AssistantChat.js +16 -1
  45. package/dist/client/AssistantChat.js.map +1 -1
  46. package/dist/client/FeedbackButton.js +2 -2
  47. package/dist/client/FeedbackButton.js.map +1 -1
  48. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  49. package/dist/client/MultiTabAssistantChat.js +14 -2
  50. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  51. package/dist/client/agent-chat.d.ts +23 -0
  52. package/dist/client/agent-chat.d.ts.map +1 -1
  53. package/dist/client/agent-chat.js +79 -0
  54. package/dist/client/agent-chat.js.map +1 -1
  55. package/dist/client/components/PresenceBar.d.ts.map +1 -1
  56. package/dist/client/components/PresenceBar.js +6 -2
  57. package/dist/client/components/PresenceBar.js.map +1 -1
  58. package/dist/client/composer/ComposerPlusMenu.d.ts.map +1 -1
  59. package/dist/client/composer/ComposerPlusMenu.js +15 -7
  60. package/dist/client/composer/ComposerPlusMenu.js.map +1 -1
  61. package/dist/client/index.d.ts +1 -1
  62. package/dist/client/index.d.ts.map +1 -1
  63. package/dist/client/index.js +1 -1
  64. package/dist/client/index.js.map +1 -1
  65. package/dist/client/sharing/ShareButton.js +15 -2
  66. package/dist/client/sharing/ShareButton.js.map +1 -1
  67. package/dist/client/sharing/ShareDialog.js +16 -1
  68. package/dist/client/sharing/ShareDialog.js.map +1 -1
  69. package/dist/client/sse-event-processor.d.ts.map +1 -1
  70. package/dist/client/sse-event-processor.js +42 -16
  71. package/dist/client/sse-event-processor.js.map +1 -1
  72. package/dist/collab/awareness.d.ts +2 -2
  73. package/dist/collab/awareness.d.ts.map +1 -1
  74. package/dist/collab/routes.d.ts +1 -1
  75. package/dist/notifications/routes.d.ts +3 -3
  76. package/dist/observability/routes.d.ts +3 -3
  77. package/dist/progress/routes.d.ts +1 -1
  78. package/dist/resources/handlers.d.ts +1 -1
  79. package/dist/server/transcribe-voice.d.ts +1 -1
  80. package/dist/sharing/actions/set-resource-visibility.js +3 -3
  81. package/dist/sharing/actions/set-resource-visibility.js.map +1 -1
  82. package/package.json +1 -1
@@ -778,6 +778,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
778
778
  // When stop is clicked during reconnect, keep content visible (don't wipe it)
779
779
  const [reconnectFrozen, setReconnectFrozen] = useState(false);
780
780
  const reconnectRunIdRef = useRef(null);
781
+ const reconnectTailOnlyRef = useRef(false);
781
782
  const reconnectCanMaterializeRef = useRef(false);
782
783
  const reconnectAbortRef = useRef(null);
783
784
  // Nuclear stop: user clicked stop. Clears the stop button/indicator AND
@@ -1059,6 +1060,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
1059
1060
  return true;
1060
1061
  reconnectRunIdRef.current = runId;
1061
1062
  const afterSeq = resolveReconnectAfterSeq(threadId, runId);
1063
+ reconnectTailOnlyRef.current = afterSeq > 0;
1062
1064
  reconnectCanMaterializeRef.current = afterSeq === 0;
1063
1065
  const storedActivityTool = getActiveRunActivityTool(threadId, runId);
1064
1066
  setRunningActivityTool(storedActivityTool);
@@ -1204,6 +1206,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
1204
1206
  await refreshThreadFromServer();
1205
1207
  setReconnectContent([]);
1206
1208
  setReconnectFrozen(false);
1209
+ reconnectTailOnlyRef.current = false;
1207
1210
  }
1208
1211
  else {
1209
1212
  settleInterruptedToolCalls(latestContent);
@@ -1222,6 +1225,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
1222
1225
  reconnectAbortRef.current = null;
1223
1226
  setIsReconnecting(false);
1224
1227
  reconnectRunIdRef.current = null;
1228
+ reconnectTailOnlyRef.current = false;
1225
1229
  if (afterSeq > 0) {
1226
1230
  reconnectCanMaterializeRef.current = false;
1227
1231
  }
@@ -1254,6 +1258,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
1254
1258
  reconnectAbortRef.current = null;
1255
1259
  setIsReconnecting(false);
1256
1260
  reconnectRunIdRef.current = null;
1261
+ reconnectTailOnlyRef.current = false;
1257
1262
  if (loaded || afterSeq > 0 || latestContent.length === 0) {
1258
1263
  reconnectCanMaterializeRef.current = false;
1259
1264
  }
@@ -1277,6 +1282,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
1277
1282
  if (!threadId)
1278
1283
  return false;
1279
1284
  try {
1285
+ const storedActiveRun = getActiveRun();
1280
1286
  const runRes = await fetch(`${apiUrl}/runs/active?threadId=${encodeURIComponent(threadId)}`);
1281
1287
  if (!runRes.ok)
1282
1288
  return false;
@@ -1284,6 +1290,12 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
1284
1290
  if (!runInfo.active ||
1285
1291
  runInfo.status !== "running" ||
1286
1292
  activeRunLooksStale(runInfo)) {
1293
+ if (storedActiveRun?.threadId === threadId) {
1294
+ clearActiveRunIfMatches(threadId, storedActiveRun.runId);
1295
+ }
1296
+ else if (runInfo.runId) {
1297
+ clearActiveRunIfMatches(threadId, String(runInfo.runId));
1298
+ }
1287
1299
  await refreshThreadFromServer();
1288
1300
  return false;
1289
1301
  }
@@ -2038,7 +2050,9 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
2038
2050
  reconnectAbortRef.current = null;
2039
2051
  reconnectRunIdRef.current = null;
2040
2052
  setIsReconnecting(false);
2041
- const shouldFreezeReconnectContent = reconnectCanMaterializeRef.current && reconnectContent.length > 0;
2053
+ const shouldFreezeReconnectContent = !reconnectTailOnlyRef.current &&
2054
+ reconnectCanMaterializeRef.current &&
2055
+ reconnectContent.length > 0;
2042
2056
  if (shouldFreezeReconnectContent) {
2043
2057
  setReconnectFrozen(true);
2044
2058
  }
@@ -2047,6 +2061,7 @@ const AssistantChatInner = forwardRef(function AssistantChatInner({ emptyStateTe
2047
2061
  setReconnectContent([]);
2048
2062
  reconnectCanMaterializeRef.current = false;
2049
2063
  }
2064
+ reconnectTailOnlyRef.current = false;
2050
2065
  }
2051
2066
  threadRuntime.cancelRun();
2052
2067
  if (typeof window !== "undefined") {