@agent-native/core 0.15.0 → 0.15.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 (136) hide show
  1. package/dist/client/dev-mode.d.ts +14 -0
  2. package/dist/client/dev-mode.d.ts.map +1 -0
  3. package/dist/client/dev-mode.js +14 -0
  4. package/dist/client/dev-mode.js.map +1 -0
  5. package/dist/client/extensions/EmbeddedTool.d.ts +20 -0
  6. package/dist/client/extensions/EmbeddedTool.d.ts.map +1 -0
  7. package/dist/client/extensions/EmbeddedTool.js +199 -0
  8. package/dist/client/extensions/EmbeddedTool.js.map +1 -0
  9. package/dist/client/extensions/ToolEditor.d.ts +5 -0
  10. package/dist/client/extensions/ToolEditor.d.ts.map +1 -0
  11. package/dist/client/extensions/ToolEditor.js +129 -0
  12. package/dist/client/extensions/ToolEditor.js.map +1 -0
  13. package/dist/client/extensions/ToolViewer.d.ts +5 -0
  14. package/dist/client/extensions/ToolViewer.d.ts.map +1 -0
  15. package/dist/client/extensions/ToolViewer.js +400 -0
  16. package/dist/client/extensions/ToolViewer.js.map +1 -0
  17. package/dist/client/extensions/ToolViewerPage.d.ts +2 -0
  18. package/dist/client/extensions/ToolViewerPage.d.ts.map +1 -0
  19. package/dist/client/extensions/ToolViewerPage.js +24 -0
  20. package/dist/client/extensions/ToolViewerPage.js.map +1 -0
  21. package/dist/client/extensions/ToolsListPage.d.ts +2 -0
  22. package/dist/client/extensions/ToolsListPage.d.ts.map +1 -0
  23. package/dist/client/extensions/ToolsListPage.js +67 -0
  24. package/dist/client/extensions/ToolsListPage.js.map +1 -0
  25. package/dist/client/extensions/ToolsSidebarSection.d.ts +2 -0
  26. package/dist/client/extensions/ToolsSidebarSection.d.ts.map +1 -0
  27. package/dist/client/extensions/ToolsSidebarSection.js +236 -0
  28. package/dist/client/extensions/ToolsSidebarSection.js.map +1 -0
  29. package/dist/client/extensions/tool-order.d.ts +7 -0
  30. package/dist/client/extensions/tool-order.d.ts.map +1 -0
  31. package/dist/client/extensions/tool-order.js +47 -0
  32. package/dist/client/extensions/tool-order.js.map +1 -0
  33. package/dist/client/theme.js +1 -1
  34. package/dist/client/theme.js.map +1 -1
  35. package/dist/client/tools/EmbeddedTool.d.ts +20 -0
  36. package/dist/client/tools/EmbeddedTool.d.ts.map +1 -0
  37. package/dist/client/tools/EmbeddedTool.js +199 -0
  38. package/dist/client/tools/EmbeddedTool.js.map +1 -0
  39. package/dist/client/tools/ExtensionSlot.d.ts +27 -0
  40. package/dist/client/tools/ExtensionSlot.d.ts.map +1 -0
  41. package/dist/client/tools/ExtensionSlot.js +96 -0
  42. package/dist/client/tools/ExtensionSlot.js.map +1 -0
  43. package/dist/client/tools/ToolEditor.d.ts +5 -0
  44. package/dist/client/tools/ToolEditor.d.ts.map +1 -0
  45. package/dist/client/tools/ToolEditor.js +129 -0
  46. package/dist/client/tools/ToolEditor.js.map +1 -0
  47. package/dist/client/tools/ToolViewer.d.ts +5 -0
  48. package/dist/client/tools/ToolViewer.d.ts.map +1 -0
  49. package/dist/client/tools/ToolViewer.js +400 -0
  50. package/dist/client/tools/ToolViewer.js.map +1 -0
  51. package/dist/client/tools/ToolViewerPage.d.ts +2 -0
  52. package/dist/client/tools/ToolViewerPage.d.ts.map +1 -0
  53. package/dist/client/tools/ToolViewerPage.js +24 -0
  54. package/dist/client/tools/ToolViewerPage.js.map +1 -0
  55. package/dist/client/tools/ToolsListPage.d.ts +2 -0
  56. package/dist/client/tools/ToolsListPage.d.ts.map +1 -0
  57. package/dist/client/tools/ToolsListPage.js +67 -0
  58. package/dist/client/tools/ToolsListPage.js.map +1 -0
  59. package/dist/client/tools/ToolsSidebarSection.d.ts +2 -0
  60. package/dist/client/tools/ToolsSidebarSection.d.ts.map +1 -0
  61. package/dist/client/tools/ToolsSidebarSection.js +236 -0
  62. package/dist/client/tools/ToolsSidebarSection.js.map +1 -0
  63. package/dist/client/tools/iframe-bridge.d.ts +38 -0
  64. package/dist/client/tools/iframe-bridge.d.ts.map +1 -0
  65. package/dist/client/tools/iframe-bridge.js +207 -0
  66. package/dist/client/tools/iframe-bridge.js.map +1 -0
  67. package/dist/client/tools/index.d.ts +8 -0
  68. package/dist/client/tools/index.d.ts.map +1 -0
  69. package/dist/client/tools/index.js +8 -0
  70. package/dist/client/tools/index.js.map +1 -0
  71. package/dist/client/tools/tool-order.d.ts +7 -0
  72. package/dist/client/tools/tool-order.d.ts.map +1 -0
  73. package/dist/client/tools/tool-order.js +47 -0
  74. package/dist/client/tools/tool-order.js.map +1 -0
  75. package/dist/server/auth.d.ts.map +1 -1
  76. package/dist/server/auth.js +44 -6
  77. package/dist/server/auth.js.map +1 -1
  78. package/dist/server/google-auth-plugin.d.ts.map +1 -1
  79. package/dist/server/google-auth-plugin.js +15 -7
  80. package/dist/server/google-auth-plugin.js.map +1 -1
  81. package/dist/server/local-migration.d.ts +41 -0
  82. package/dist/server/local-migration.d.ts.map +1 -0
  83. package/dist/server/local-migration.js +235 -0
  84. package/dist/server/local-migration.js.map +1 -0
  85. package/dist/server/onboarding-html.d.ts.map +1 -1
  86. package/dist/server/onboarding-html.js +15 -7
  87. package/dist/server/onboarding-html.js.map +1 -1
  88. package/dist/tools/actions.d.ts +3 -0
  89. package/dist/tools/actions.d.ts.map +1 -0
  90. package/dist/tools/actions.js +272 -0
  91. package/dist/tools/actions.js.map +1 -0
  92. package/dist/tools/fetch-tool.d.ts +23 -0
  93. package/dist/tools/fetch-tool.d.ts.map +1 -0
  94. package/dist/tools/fetch-tool.js +178 -0
  95. package/dist/tools/fetch-tool.js.map +1 -0
  96. package/dist/tools/html-shell.d.ts +45 -0
  97. package/dist/tools/html-shell.d.ts.map +1 -0
  98. package/dist/tools/html-shell.js +514 -0
  99. package/dist/tools/html-shell.js.map +1 -0
  100. package/dist/tools/proxy-security.d.ts +12 -0
  101. package/dist/tools/proxy-security.d.ts.map +1 -0
  102. package/dist/tools/proxy-security.js +158 -0
  103. package/dist/tools/proxy-security.js.map +1 -0
  104. package/dist/tools/routes.d.ts +2 -0
  105. package/dist/tools/routes.d.ts.map +1 -0
  106. package/dist/tools/routes.js +627 -0
  107. package/dist/tools/routes.js.map +1 -0
  108. package/dist/tools/schema.d.ts +664 -0
  109. package/dist/tools/schema.d.ts.map +1 -0
  110. package/dist/tools/schema.js +146 -0
  111. package/dist/tools/schema.js.map +1 -0
  112. package/dist/tools/slots/routes.d.ts +15 -0
  113. package/dist/tools/slots/routes.d.ts.map +1 -0
  114. package/dist/tools/slots/routes.js +94 -0
  115. package/dist/tools/slots/routes.js.map +1 -0
  116. package/dist/tools/slots/schema.d.ts +303 -0
  117. package/dist/tools/slots/schema.d.ts.map +1 -0
  118. package/dist/tools/slots/schema.js +76 -0
  119. package/dist/tools/slots/schema.js.map +1 -0
  120. package/dist/tools/slots/store.d.ts +66 -0
  121. package/dist/tools/slots/store.d.ts.map +1 -0
  122. package/dist/tools/slots/store.js +227 -0
  123. package/dist/tools/slots/store.js.map +1 -0
  124. package/dist/tools/store.d.ts +40 -0
  125. package/dist/tools/store.d.ts.map +1 -0
  126. package/dist/tools/store.js +193 -0
  127. package/dist/tools/store.js.map +1 -0
  128. package/dist/tools/theme.d.ts +2 -0
  129. package/dist/tools/theme.d.ts.map +1 -0
  130. package/dist/tools/theme.js +67 -0
  131. package/dist/tools/theme.js.map +1 -0
  132. package/dist/tools/url-safety.d.ts +24 -0
  133. package/dist/tools/url-safety.d.ts.map +1 -0
  134. package/dist/tools/url-safety.js +224 -0
  135. package/dist/tools/url-safety.js.map +1 -0
  136. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ export { ToolsSidebarSection } from "./ToolsSidebarSection.js";
2
+ export { ToolViewer, type ToolViewerProps } from "./ToolViewer.js";
3
+ export { ToolEditor, type ToolEditorProps } from "./ToolEditor.js";
4
+ export { ToolsListPage } from "./ToolsListPage.js";
5
+ export { ToolViewerPage } from "./ToolViewerPage.js";
6
+ export { EmbeddedTool, type EmbeddedToolProps } from "./EmbeddedTool.js";
7
+ export { ExtensionSlot, type ExtensionSlotProps } from "./ExtensionSlot.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export { ToolsSidebarSection } from "./ToolsSidebarSection.js";
2
+ export { ToolViewer } from "./ToolViewer.js";
3
+ export { ToolEditor } from "./ToolEditor.js";
4
+ export { ToolsListPage } from "./ToolsListPage.js";
5
+ export { ToolViewerPage } from "./ToolViewerPage.js";
6
+ export { EmbeddedTool } from "./EmbeddedTool.js";
7
+ export { ExtensionSlot } from "./ExtensionSlot.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,aAAa,EAA2B,MAAM,oBAAoB,CAAC","sourcesContent":["export { ToolsSidebarSection } from \"./ToolsSidebarSection.js\";\nexport { ToolViewer, type ToolViewerProps } from \"./ToolViewer.js\";\nexport { ToolEditor, type ToolEditorProps } from \"./ToolEditor.js\";\nexport { ToolsListPage } from \"./ToolsListPage.js\";\nexport { ToolViewerPage } from \"./ToolViewerPage.js\";\nexport { EmbeddedTool, type EmbeddedToolProps } from \"./EmbeddedTool.js\";\nexport { ExtensionSlot, type ExtensionSlotProps } from \"./ExtensionSlot.js\";\n"]}
@@ -0,0 +1,7 @@
1
+ export declare const TOOLS_ORDER_CHANGE_EVENT = "tools-order-change";
2
+ export declare function getToolsOrder(): string[];
3
+ export declare function setToolsOrder(order: string[]): void;
4
+ export declare function applyToolsOrder<T extends {
5
+ id: string;
6
+ }>(items: T[], savedOrder: string[]): T[];
7
+ //# sourceMappingURL=tool-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-order.d.ts","sourceRoot":"","sources":["../../../src/client/tools/tool-order.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAI7D,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAYxC;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAU5C;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACtD,KAAK,EAAE,CAAC,EAAE,EACV,UAAU,EAAE,MAAM,EAAE,GACnB,CAAC,EAAE,CAeL"}
@@ -0,0 +1,47 @@
1
+ export const TOOLS_ORDER_CHANGE_EVENT = "tools-order-change";
2
+ const TOOLS_ORDER_KEY = "tools-order";
3
+ export function getToolsOrder() {
4
+ if (typeof window === "undefined")
5
+ return [];
6
+ try {
7
+ const raw = window.localStorage.getItem(TOOLS_ORDER_KEY);
8
+ if (!raw)
9
+ return [];
10
+ const parsed = JSON.parse(raw);
11
+ return Array.isArray(parsed)
12
+ ? parsed.filter((id) => typeof id === "string")
13
+ : [];
14
+ }
15
+ catch {
16
+ return [];
17
+ }
18
+ }
19
+ export function setToolsOrder(order) {
20
+ if (typeof window === "undefined")
21
+ return;
22
+ try {
23
+ window.localStorage.setItem(TOOLS_ORDER_KEY, JSON.stringify(order));
24
+ window.dispatchEvent(new CustomEvent(TOOLS_ORDER_CHANGE_EVENT, { detail: order }));
25
+ }
26
+ catch {
27
+ // localStorage unavailable / quota — ignore, order is best-effort
28
+ }
29
+ }
30
+ export function applyToolsOrder(items, savedOrder) {
31
+ if (savedOrder.length === 0)
32
+ return items;
33
+ const idToItem = new Map(items.map((item) => [item.id, item]));
34
+ const ordered = [];
35
+ for (const id of savedOrder) {
36
+ const item = idToItem.get(id);
37
+ if (item) {
38
+ ordered.push(item);
39
+ idToItem.delete(id);
40
+ }
41
+ }
42
+ for (const item of idToItem.values()) {
43
+ ordered.push(item);
44
+ }
45
+ return ordered;
46
+ }
47
+ //# sourceMappingURL=tool-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-order.js","sourceRoot":"","sources":["../../../src/client/tools/tool-order.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,oBAAoB,CAAC;AAE7D,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC,MAAM,UAAU,aAAa;IAC3B,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC;YAC/C,CAAC,CAAC,EAAE,CAAC;IACT,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe;IAC3C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO;IAC1C,IAAI,CAAC;QACH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC7D,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,kEAAkE;IACpE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAU,EACV,UAAoB;IAEpB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC","sourcesContent":["export const TOOLS_ORDER_CHANGE_EVENT = \"tools-order-change\";\n\nconst TOOLS_ORDER_KEY = \"tools-order\";\n\nexport function getToolsOrder(): string[] {\n if (typeof window === \"undefined\") return [];\n try {\n const raw = window.localStorage.getItem(TOOLS_ORDER_KEY);\n if (!raw) return [];\n const parsed = JSON.parse(raw);\n return Array.isArray(parsed)\n ? parsed.filter((id) => typeof id === \"string\")\n : [];\n } catch {\n return [];\n }\n}\n\nexport function setToolsOrder(order: string[]) {\n if (typeof window === \"undefined\") return;\n try {\n window.localStorage.setItem(TOOLS_ORDER_KEY, JSON.stringify(order));\n window.dispatchEvent(\n new CustomEvent(TOOLS_ORDER_CHANGE_EVENT, { detail: order }),\n );\n } catch {\n // localStorage unavailable / quota — ignore, order is best-effort\n }\n}\n\nexport function applyToolsOrder<T extends { id: string }>(\n items: T[],\n savedOrder: string[],\n): T[] {\n if (savedOrder.length === 0) return items;\n const idToItem = new Map(items.map((item) => [item.id, item]));\n const ordered: T[] = [];\n for (const id of savedOrder) {\n const item = idToItem.get(id);\n if (item) {\n ordered.push(item);\n idToItem.delete(id);\n }\n }\n for (const item of idToItem.values()) {\n ordered.push(item);\n }\n return ordered;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/server/auth.ts"],"names":[],"mappings":"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"}
@@ -1693,10 +1693,6 @@ async function mountBetterAuthRoutes(app, options) {
1693
1693
  try {
1694
1694
  const query = getQuery(event);
1695
1695
  const code = query.code;
1696
- if (!code) {
1697
- setResponseStatus(event, 400);
1698
- return { error: "Missing authorization code" };
1699
- }
1700
1696
  const { redirectUri, desktop, returnUrl, flowId } = decodeOAuthState(query.state, getAppUrl(event, "/_agent-native/google/callback"));
1701
1697
  callbackFlowId = flowId;
1702
1698
  callbackDesktop = desktop;
@@ -1707,14 +1703,50 @@ async function mountBetterAuthRoutes(app, options) {
1707
1703
  hasCode: !!code,
1708
1704
  returnUrl,
1709
1705
  });
1706
+ if (!code) {
1707
+ const providerError = typeof query.error === "string" && query.error
1708
+ ? query.error
1709
+ : undefined;
1710
+ const providerDescription = typeof query.error_description === "string" &&
1711
+ query.error_description
1712
+ ? query.error_description
1713
+ : undefined;
1714
+ const msg = providerDescription ||
1715
+ providerError ||
1716
+ "Missing authorization code";
1717
+ if (flowId) {
1718
+ setDesktopExchangeError(flowId, {
1719
+ message: `Google sign-in failed: ${msg}`,
1720
+ code: providerError || "missing_authorization_code",
1721
+ });
1722
+ }
1723
+ logGoogleOAuthDebug(event, "callback-error", {
1724
+ flowId,
1725
+ desktop,
1726
+ message: msg,
1727
+ code: providerError,
1728
+ });
1729
+ return oauthErrorPage(`Connection failed: ${msg}`);
1730
+ }
1710
1731
  // Defence in depth: the state is HMAC-signed, but if the signing
1711
1732
  // key ever leaked an attacker could mint state with their own
1712
1733
  // redirect_uri. Re-validate against the same allowlist used at
1713
1734
  // auth-url time so the token exchange is always sent to a URI we
1714
1735
  // own.
1715
1736
  if (!isAllowedOAuthRedirectUri(redirectUri, event)) {
1716
- setResponseStatus(event, 400);
1717
- return { error: "Invalid redirect_uri in state" };
1737
+ const msg = "Invalid Google OAuth redirect URI in state. Restart sign-in from this app.";
1738
+ if (flowId) {
1739
+ setDesktopExchangeError(flowId, {
1740
+ message: msg,
1741
+ code: "invalid_redirect_uri",
1742
+ });
1743
+ }
1744
+ logGoogleOAuthDebug(event, "callback-error", {
1745
+ flowId,
1746
+ desktop,
1747
+ message: msg,
1748
+ });
1749
+ return oauthErrorPage(`Connection failed: ${msg}`);
1718
1750
  }
1719
1751
  const tokenRes = await fetch("https://oauth2.googleapis.com/token", {
1720
1752
  method: "POST",
@@ -1785,6 +1817,12 @@ async function mountBetterAuthRoutes(app, options) {
1785
1817
  }
1786
1818
  catch (error) {
1787
1819
  const msg = error.message || "Unknown error";
1820
+ if (callbackFlowId) {
1821
+ setDesktopExchangeError(callbackFlowId, {
1822
+ message: `Google sign-in failed: ${msg}`,
1823
+ code: "callback_error",
1824
+ });
1825
+ }
1788
1826
  logGoogleOAuthDebug(event, "callback-error", {
1789
1827
  flowId: callbackFlowId,
1790
1828
  desktop: callbackDesktop,