@agent-native/core 0.24.0 → 0.24.2

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 (61) hide show
  1. package/README.md +22 -2
  2. package/dist/agent/thread-data-builder.d.ts +1 -0
  3. package/dist/agent/thread-data-builder.d.ts.map +1 -1
  4. package/dist/agent/thread-data-builder.js +8 -2
  5. package/dist/agent/thread-data-builder.js.map +1 -1
  6. package/dist/chat-threads/store.d.ts +9 -0
  7. package/dist/chat-threads/store.d.ts.map +1 -1
  8. package/dist/chat-threads/store.js +73 -8
  9. package/dist/chat-threads/store.js.map +1 -1
  10. package/dist/cli/templates-meta.js +1 -1
  11. package/dist/cli/templates-meta.js.map +1 -1
  12. package/dist/client/AgentPanel.d.ts +2 -0
  13. package/dist/client/AgentPanel.d.ts.map +1 -1
  14. package/dist/client/AgentPanel.js +2 -2
  15. package/dist/client/AgentPanel.js.map +1 -1
  16. package/dist/client/MultiTabAssistantChat.d.ts +3 -1
  17. package/dist/client/MultiTabAssistantChat.d.ts.map +1 -1
  18. package/dist/client/MultiTabAssistantChat.js +12 -3
  19. package/dist/client/MultiTabAssistantChat.js.map +1 -1
  20. package/dist/client/NewWorkspaceAppFlow.js +2 -2
  21. package/dist/client/NewWorkspaceAppFlow.js.map +1 -1
  22. package/dist/client/onboarding/OnboardingPanel.js +1 -1
  23. package/dist/client/onboarding/OnboardingPanel.js.map +1 -1
  24. package/dist/client/org/OrgSwitcher.d.ts.map +1 -1
  25. package/dist/client/org/OrgSwitcher.js +29 -2
  26. package/dist/client/org/OrgSwitcher.js.map +1 -1
  27. package/dist/client/org/workspace-app-links.d.ts +1 -0
  28. package/dist/client/org/workspace-app-links.d.ts.map +1 -1
  29. package/dist/client/org/workspace-app-links.js +7 -1
  30. package/dist/client/org/workspace-app-links.js.map +1 -1
  31. package/dist/client/use-chat-threads.d.ts +9 -0
  32. package/dist/client/use-chat-threads.d.ts.map +1 -1
  33. package/dist/client/use-chat-threads.js +135 -32
  34. package/dist/client/use-chat-threads.js.map +1 -1
  35. package/dist/client/use-chat-threads.spec.js +143 -0
  36. package/dist/client/use-chat-threads.spec.js.map +1 -1
  37. package/dist/scripts/chat/search-chats.d.ts.map +1 -1
  38. package/dist/scripts/chat/search-chats.js +7 -1
  39. package/dist/scripts/chat/search-chats.js.map +1 -1
  40. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  41. package/dist/server/agent-chat-plugin.js +115 -6
  42. package/dist/server/agent-chat-plugin.js.map +1 -1
  43. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  44. package/dist/server/core-routes-plugin.js +9 -13
  45. package/dist/server/core-routes-plugin.js.map +1 -1
  46. package/dist/server/framework-request-handler.d.ts.map +1 -1
  47. package/dist/server/framework-request-handler.js +45 -0
  48. package/dist/server/framework-request-handler.js.map +1 -1
  49. package/dist/server/index.d.ts +1 -1
  50. package/dist/server/index.d.ts.map +1 -1
  51. package/dist/server/index.js +1 -1
  52. package/dist/server/index.js.map +1 -1
  53. package/dist/templates/workspace-root/AGENTS.md +6 -5
  54. package/dist/templates/workspace-root/README.md +1 -1
  55. package/docs/content/cloneable-saas.md +1 -0
  56. package/docs/content/faq.md +1 -0
  57. package/docs/content/getting-started.md +1 -0
  58. package/docs/content/multi-tenancy.md +1 -1
  59. package/package.json +1 -1
  60. package/src/templates/workspace-root/AGENTS.md +6 -5
  61. package/src/templates/workspace-root/README.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"core-routes-plugin.d.ts","sourceRoot":"","sources":["../../src/server/core-routes-plugin.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAsBlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA6FvD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AA2IvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAWf;AAUD,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;wCACoC;IACpC,eAAe,CAAC,EAAE,OAAO,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAChF,qEAAqE;IACrE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAkzEhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAAyC,CAAC"}
1
+ {"version":3,"file":"core-routes-plugin.d.ts","sourceRoot":"","sources":["../../src/server/core-routes-plugin.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAsBlC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA6FvD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AA2IvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAWf;AAUD,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;wCACoC;IACpC,eAAe,CAAC,EAAE,OAAO,iBAAiB,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;IAChF,qEAAqE;IACrE,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC7E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,uBAA4B,GACpC,cAAc,CAkzEhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,cAAyC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { getH3App, awaitBootstrap, markDefaultPluginProvided, } from "./framework-request-handler.js";
2
2
  import { getAllowedCorsOrigin, readCorsAllowedOrigins, } from "./cors-origins.js";
3
- import { defineEventHandler, setResponseStatus, setResponseHeader, getMethod, getHeader, getCookie, setCookie, deleteCookie, } from "h3";
3
+ import { defineEventHandler, setResponseStatus, setResponseHeader, getMethod, getHeader, getCookie, setCookie, deleteCookie, getRequestURL, } from "h3";
4
4
  import path from "node:path";
5
5
  import { createPollHandler } from "./poll.js";
6
6
  import { createPollEventsHandler } from "./poll-events.js";
@@ -424,18 +424,14 @@ export function createCoreRoutesPlugin(options = {}) {
424
424
  })));
425
425
  }
426
426
  mountBrowserSessionRoutes(nitroApp, { routePrefix: P });
427
- const resolveBuilderOwnerContext = async (event) => {
427
+ const resolveBuilderOwnerContext = async (event, mode) => {
428
428
  const session = await getSession(event).catch(() => null);
429
429
  if (session?.email) {
430
430
  return { email: session.email, session, anonymous: false };
431
431
  }
432
- const rawUrl = event.node?.req?.url ?? event.path ?? "/";
433
- const queryStart = rawUrl.indexOf("?");
434
- const rawPath = queryStart >= 0 ? rawUrl.slice(0, queryStart) : rawUrl;
435
- const search = queryStart >= 0 ? rawUrl.slice(queryStart + 1) : "";
436
- const path = stripAppBasePath(rawPath);
437
- if (path === `${P}/builder/connect`) {
438
- const ownerFromConnectToken = verifyBuilderConnectTokenAndGetOwner(new URLSearchParams(search).get(BUILDER_CONNECT_PARAM));
432
+ const searchParams = getRequestURL(event).searchParams;
433
+ if (mode === "connect") {
434
+ const ownerFromConnectToken = verifyBuilderConnectTokenAndGetOwner(searchParams.get(BUILDER_CONNECT_PARAM));
439
435
  if (ownerFromConnectToken) {
440
436
  return {
441
437
  email: ownerFromConnectToken,
@@ -444,7 +440,7 @@ export function createCoreRoutesPlugin(options = {}) {
444
440
  };
445
441
  }
446
442
  }
447
- if (path === `${P}/builder/callback`) {
443
+ if (mode === "callback") {
448
444
  // Prefer the signed _an_state owner over the legacy
449
445
  // an_builder_connect_owner cookie. The cookie can be stale on a
450
446
  // shared browser — user A signed in earlier, user B starts a fresh
@@ -452,7 +448,7 @@ export function createCoreRoutesPlugin(options = {}) {
452
448
  // would mis-attribute B's Builder credentials to A. The signed
453
449
  // state is per-flow and TTL-bounded, so it's authoritative when
454
450
  // both are present.
455
- const ownerFromCallbackState = verifyBuilderCallbackStateAndGetOwner(new URLSearchParams(search).get(BUILDER_STATE_PARAM));
451
+ const ownerFromCallbackState = verifyBuilderCallbackStateAndGetOwner(searchParams.get(BUILDER_STATE_PARAM));
456
452
  if (ownerFromCallbackState) {
457
453
  return {
458
454
  email: ownerFromCallbackState,
@@ -696,7 +692,7 @@ export function createCoreRoutesPlugin(options = {}) {
696
692
  // with attacker-controlled p-key/api-key, hijacking the victim's
697
693
  // account.
698
694
  getH3App(nitroApp).use(`${P}/builder/connect`, defineEventHandler(async (event) => {
699
- const ownerContext = await resolveBuilderOwnerContext(event);
695
+ const ownerContext = await resolveBuilderOwnerContext(event, "connect");
700
696
  const ownerEmail = ownerContext.email;
701
697
  if (!ownerEmail) {
702
698
  setResponseStatus(event, 401);
@@ -896,7 +892,7 @@ export function createCoreRoutesPlugin(options = {}) {
896
892
  // A real session or a template-approved anonymous owner is required;
897
893
  // the pending-row check below (combined with the same-origin gate on
898
894
  // /builder/connect) blocks CSRF and callback replay.
899
- const ownerContext = await resolveBuilderOwnerContext(event);
895
+ const ownerContext = await resolveBuilderOwnerContext(event, "callback");
900
896
  const ownerEmail = ownerContext.email;
901
897
  // Diagnostic: log the resolver's inputs for debugging "No active
902
898
  // connect flow found" reports. Reveals session-vs-state owner