@agent-native/core 0.181.0 → 0.181.1-nightly-20260916144018

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 (58) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/templates/clips/app/components/player/create-account-dialog.tsx +2 -1
  3. package/corpus/templates/clips/changelog/2026-09-15-google-sign-up-now-opens-reliably-in-embedded-browsers.md +6 -0
  4. package/corpus/templates/content/actions/resolve-preview-document-draft.ts +320 -60
  5. package/corpus/templates/content/app/components/editor/DocumentBlockFields.tsx +3 -1
  6. package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +349 -104
  7. package/corpus/templates/content/app/components/editor/DocumentReconcileRecovery.tsx +109 -0
  8. package/corpus/templates/content/app/components/editor/PageDraftRecovery.tsx +31 -153
  9. package/corpus/templates/content/app/components/editor/RecoveryComparison.tsx +230 -0
  10. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +46 -19
  11. package/corpus/templates/content/app/components/editor/editor-draft-save.ts +13 -0
  12. package/corpus/templates/content/app/components/editor/useDocumentReconcileRecovery.ts +248 -0
  13. package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +2 -1
  14. package/corpus/templates/content/app/i18n-data.ts +13 -0
  15. package/corpus/templates/content/changelog/2026-09-15-oauth-connections-now-open-reliably-in-embedded-browsers.md +6 -0
  16. package/corpus/templates/content/docs/solutions/2026-09-02-content-suggested-edits-parity-shape.md +84 -2
  17. package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +27 -7
  18. package/corpus/templates/design/app/components/design/DesignCanvas.tsx +45 -15
  19. package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +35 -8
  20. package/corpus/templates/design/app/components/design/design-canvas/element-payload.ts +14 -0
  21. package/corpus/templates/design/app/pages/DesignEditor.tsx +18 -5
  22. package/corpus/templates/design/app/pages/design-editor/commands/record-pending-live-structure-edit.ts +9 -4
  23. package/corpus/templates/design/app/pages/design-editor/commands/screen-visual-structure-change.ts +3 -0
  24. package/corpus/templates/design/app/pages/design-editor/commands/start-sidebar-resize.ts +7 -2
  25. package/corpus/templates/design/app/pages/design-editor/commands/visual-structure-change.ts +2 -0
  26. package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +4 -0
  27. package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +197 -147
  28. package/corpus/templates/design/changelog/2026-09-16-design-editor-agent-chat-uses-shared-conversation-tabs-and-s.md +6 -0
  29. package/corpus/templates/design/changelog/2026-09-16-visual-edits-stay-applied-after-replacements.md +5 -0
  30. package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +2 -1
  31. package/corpus/templates/mail/changelog/2026-09-15-google-connections-now-open-reliably-in-embedded-browsers.md +6 -0
  32. package/dist/client/AgentPanel.d.ts +1 -1
  33. package/dist/client/AgentPanel.js +4 -4
  34. package/dist/client/auth/AuthPage.js +6 -1
  35. package/dist/client/oauth-popup.d.ts +7 -0
  36. package/dist/client/oauth-popup.js +14 -0
  37. package/dist/client/ocean/OceanBackground.d.ts +3 -1
  38. package/dist/client/ocean/OceanBackground.js +4 -3
  39. package/dist/client/resources/mcp-integration-catalog.js +7 -3
  40. package/dist/client/settings/useBuilderStatus.js +4 -3
  41. package/dist/collab/routes.d.ts +1 -1
  42. package/dist/collab/struct-routes.d.ts +1 -1
  43. package/dist/file-upload/actions/upload-image.d.ts +2 -2
  44. package/dist/mcp/screen-memory-stdio.d.ts +7 -7
  45. package/dist/notifications/routes.d.ts +3 -3
  46. package/dist/observability/routes.d.ts +3 -3
  47. package/dist/org/app-roles.d.ts +8 -0
  48. package/dist/org/app-roles.js +7 -0
  49. package/dist/org/index.d.ts +1 -1
  50. package/dist/org/index.js +1 -1
  51. package/dist/provider-api/actions/custom-provider-registration.d.ts +4 -4
  52. package/dist/secrets/routes.d.ts +6 -6
  53. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  54. package/dist/server/auth.js +3 -0
  55. package/dist/server/core-routes-plugin.d.ts +3 -0
  56. package/dist/server/core-routes-plugin.js +17 -0
  57. package/dist/server/realtime-token.d.ts +1 -1
  58. package/package.json +5 -4
@@ -26,8 +26,8 @@ export declare const getCollabState: import("h3").EventHandlerWithFetch<import("
26
26
  * Body: { update: string (base64), requestSource?: string }
27
27
  */
28
28
  export declare const postCollabUpdate: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
29
- ok?: undefined;
30
29
  error: string;
30
+ ok?: undefined;
31
31
  } | {
32
32
  error?: undefined;
33
33
  ok: boolean;
@@ -13,8 +13,8 @@
13
13
  * Body: { json: any, fieldName?: string, type?: "map"|"array", requestSource?: string }
14
14
  */
15
15
  export declare const postCollabJson: import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
16
- error: string;
17
16
  ok?: undefined;
17
+ error: string;
18
18
  } | {
19
19
  error?: undefined;
20
20
  ok: boolean;
@@ -3,18 +3,18 @@ declare const _default: import("../../action.js").ActionDefinition<{
3
3
  url?: string;
4
4
  filename?: string;
5
5
  }, {
6
- id?: undefined;
7
6
  error: string;
8
7
  configured?: undefined;
9
8
  connectPath?: undefined;
10
9
  url?: undefined;
10
+ id?: undefined;
11
11
  provider?: undefined;
12
12
  } | {
13
- id?: undefined;
14
13
  error: string;
15
14
  configured: boolean;
16
15
  connectPath: string;
17
16
  url?: undefined;
17
+ id?: undefined;
18
18
  provider?: undefined;
19
19
  } | {
20
20
  error?: undefined;
@@ -137,13 +137,13 @@ export declare function screenMemoryMcpToolDefinitions(): ({
137
137
  inputSchema: {
138
138
  type: string;
139
139
  properties: {
140
+ count?: undefined;
140
141
  query?: undefined;
141
142
  minutes?: undefined;
142
143
  limit?: undefined;
143
144
  clientHint?: undefined;
144
145
  timestamp?: undefined;
145
146
  chapterId?: undefined;
146
- count?: undefined;
147
147
  startAt?: undefined;
148
148
  endAt?: undefined;
149
149
  reason?: undefined;
@@ -159,6 +159,7 @@ export declare function screenMemoryMcpToolDefinitions(): ({
159
159
  inputSchema: {
160
160
  type: string;
161
161
  properties: {
162
+ count?: undefined;
162
163
  query: {
163
164
  type: string;
164
165
  description: string;
@@ -174,7 +175,6 @@ export declare function screenMemoryMcpToolDefinitions(): ({
174
175
  clientHint?: undefined;
175
176
  timestamp?: undefined;
176
177
  chapterId?: undefined;
177
- count?: undefined;
178
178
  startAt?: undefined;
179
179
  endAt?: undefined;
180
180
  reason?: undefined;
@@ -190,6 +190,7 @@ export declare function screenMemoryMcpToolDefinitions(): ({
190
190
  inputSchema: {
191
191
  type: string;
192
192
  properties: {
193
+ count?: undefined;
193
194
  minutes: {
194
195
  type: string;
195
196
  description: string;
@@ -199,7 +200,6 @@ export declare function screenMemoryMcpToolDefinitions(): ({
199
200
  clientHint?: undefined;
200
201
  timestamp?: undefined;
201
202
  chapterId?: undefined;
202
- count?: undefined;
203
203
  startAt?: undefined;
204
204
  endAt?: undefined;
205
205
  reason?: undefined;
@@ -216,6 +216,7 @@ export declare function screenMemoryMcpToolDefinitions(): ({
216
216
  type: string;
217
217
  required: string[];
218
218
  properties: {
219
+ count?: undefined;
219
220
  query: {
220
221
  type: string;
221
222
  description: string;
@@ -234,7 +235,6 @@ export declare function screenMemoryMcpToolDefinitions(): ({
234
235
  };
235
236
  timestamp?: undefined;
236
237
  chapterId?: undefined;
237
- count?: undefined;
238
238
  startAt?: undefined;
239
239
  endAt?: undefined;
240
240
  reason?: undefined;
@@ -250,6 +250,7 @@ export declare function screenMemoryMcpToolDefinitions(): ({
250
250
  type: string;
251
251
  required: string[];
252
252
  properties: {
253
+ count?: undefined;
253
254
  query?: undefined;
254
255
  minutes?: undefined;
255
256
  limit?: undefined;
@@ -263,7 +264,6 @@ export declare function screenMemoryMcpToolDefinitions(): ({
263
264
  description: string;
264
265
  };
265
266
  chapterId?: undefined;
266
- count?: undefined;
267
267
  startAt?: undefined;
268
268
  endAt?: undefined;
269
269
  includeMicrophone?: undefined;
@@ -314,13 +314,13 @@ export declare function screenMemoryMcpToolDefinitions(): ({
314
314
  type: string;
315
315
  required: string[];
316
316
  properties: {
317
+ count?: undefined;
317
318
  query?: undefined;
318
319
  minutes?: undefined;
319
320
  limit?: undefined;
320
321
  clientHint?: undefined;
321
322
  timestamp?: undefined;
322
323
  chapterId?: undefined;
323
- count?: undefined;
324
324
  startAt: {
325
325
  type: string;
326
326
  description: string;
@@ -349,13 +349,13 @@ export declare function screenMemoryMcpToolDefinitions(): ({
349
349
  type: string;
350
350
  required: string[];
351
351
  properties: {
352
+ count?: undefined;
352
353
  query?: undefined;
353
354
  minutes?: undefined;
354
355
  limit?: undefined;
355
356
  clientHint?: undefined;
356
357
  timestamp?: undefined;
357
358
  chapterId?: undefined;
358
- count?: undefined;
359
359
  startAt?: undefined;
360
360
  endAt?: undefined;
361
361
  reason?: undefined;
@@ -16,18 +16,18 @@ export declare function createNotificationsHandler(): import("h3").EventHandlerW
16
16
  error?: undefined;
17
17
  ok?: undefined;
18
18
  } | {
19
+ count?: undefined;
19
20
  updated: number;
20
21
  error?: undefined;
21
22
  ok?: undefined;
22
- count?: undefined;
23
23
  } | {
24
+ count?: undefined;
24
25
  updated?: undefined;
25
26
  error: string;
26
27
  ok?: undefined;
27
- count?: undefined;
28
28
  } | {
29
+ count?: undefined;
29
30
  updated?: undefined;
30
31
  error?: undefined;
31
32
  ok: boolean;
32
- count?: undefined;
33
33
  }>>;
@@ -41,11 +41,11 @@ export declare function createObservabilityHandler(): import("h3").EventHandlerW
41
41
  thumbsUpRate: number;
42
42
  avgEvalScore: number;
43
43
  } | {
44
+ id?: undefined;
44
45
  error?: undefined;
45
46
  ok?: undefined;
46
47
  summary: import("./types.js").TraceSummary;
47
48
  spans: import("./types.js").TraceSpan[];
48
- id?: undefined;
49
49
  } | {
50
50
  error?: undefined;
51
51
  ok?: undefined;
@@ -53,15 +53,15 @@ export declare function createObservabilityHandler(): import("h3").EventHandlerW
53
53
  spans?: undefined;
54
54
  id: string;
55
55
  } | {
56
+ id?: undefined;
56
57
  ok?: undefined;
57
58
  summary?: undefined;
58
59
  spans?: undefined;
59
- id?: undefined;
60
60
  error: any;
61
61
  } | {
62
+ id?: undefined;
62
63
  error?: undefined;
63
64
  summary?: undefined;
64
65
  spans?: undefined;
65
- id?: undefined;
66
66
  ok: boolean;
67
67
  }>>;
@@ -144,6 +144,14 @@ export declare function setAppMemberRoles(opts: {
144
144
  roles: readonly string[];
145
145
  updatedBy: string;
146
146
  }): Promise<void>;
147
+ /** @deprecated Use setAppMemberRoles instead. */
148
+ export declare function setAppMemberRole(opts: {
149
+ appId: string;
150
+ orgId: string;
151
+ email: string;
152
+ role: string | null;
153
+ updatedBy: string;
154
+ }): Promise<void>;
147
155
  export declare function getAppPermissionOverrides(appId: string, orgId: string): Promise<Record<string, string[]>>;
148
156
  /** Resolve the app authorization snapshot once for an agent turn. */
149
157
  export declare function resolveAppAuthorizationContext(appId: string, caller: AppRoleCaller): Promise<AppAuthorizationContext | null>;
@@ -286,6 +286,13 @@ export async function setAppMemberRoles(opts) {
286
286
  });
287
287
  });
288
288
  }
289
+ /** @deprecated Use setAppMemberRoles instead. */
290
+ export async function setAppMemberRole(opts) {
291
+ await setAppMemberRoles({
292
+ ...opts,
293
+ roles: opts.role === null ? [] : [opts.role],
294
+ });
295
+ }
289
296
  export async function getAppPermissionOverrides(appId, orgId) {
290
297
  const { rows } = await getDbExec().execute({
291
298
  sql: `SELECT permission, roles_json FROM app_permission_overrides WHERE app_id = ? AND org_id = ?`,
@@ -12,7 +12,7 @@ export { isMissingOrganizationTableError } from "./membership.js";
12
12
  export { offboardMember } from "../identity/offboard.js";
13
13
  export type { OffboardMemberOptions, OffboardMemberResult, } from "../identity/offboard.js";
14
14
  export { claimWorkspaceAppForOrganization, isStandaloneDispatchRuntime, isWorkspaceAppAccessAllowed, } from "./workspace-app-access.js";
15
- export { defineAppRoles, getRegisteredAppRoles, listRegisteredAppRoles, listAppMemberRoles, resolveAppRole, setAppMemberRoles, applyInvitationAppRoles, getAppPermissionOverrides, setAppPermissionRoles, resolveAppAuthorizationContext, } from "./app-roles.js";
15
+ export { defineAppRoles, getRegisteredAppRoles, listRegisteredAppRoles, listAppMemberRoles, resolveAppRole, setAppMemberRole, setAppMemberRoles, applyInvitationAppRoles, getAppPermissionOverrides, setAppPermissionRoles, resolveAppAuthorizationContext, } from "./app-roles.js";
16
16
  export type { AppRoles, AppRolesDescriptor, AppRoleCaller, AppRoleLookup, AppMemberRoleRow, AppAuthorizationContext, } from "./app-roles.js";
17
17
  export { ORG_MIGRATIONS } from "./migrations.js";
18
18
  export { CROSS_APP_ORG_FEDERATION_FLAG, CROSS_APP_ORG_FEDERATION_SCOPE, } from "./feature-flags.js";
package/dist/org/index.js CHANGED
@@ -9,7 +9,7 @@ export { invalidateMemberOrgCaches } from "./request-org-cache.js";
9
9
  export { isMissingOrganizationTableError } from "./membership.js";
10
10
  export { offboardMember } from "../identity/offboard.js";
11
11
  export { claimWorkspaceAppForOrganization, isStandaloneDispatchRuntime, isWorkspaceAppAccessAllowed, } from "./workspace-app-access.js";
12
- export { defineAppRoles, getRegisteredAppRoles, listRegisteredAppRoles, listAppMemberRoles, resolveAppRole, setAppMemberRoles, applyInvitationAppRoles, getAppPermissionOverrides, setAppPermissionRoles, resolveAppAuthorizationContext, } from "./app-roles.js";
12
+ export { defineAppRoles, getRegisteredAppRoles, listRegisteredAppRoles, listAppMemberRoles, resolveAppRole, setAppMemberRole, setAppMemberRoles, applyInvitationAppRoles, getAppPermissionOverrides, setAppPermissionRoles, resolveAppAuthorizationContext, } from "./app-roles.js";
13
13
  export { ORG_MIGRATIONS } from "./migrations.js";
14
14
  export { CROSS_APP_ORG_FEDERATION_FLAG, CROSS_APP_ORG_FEDERATION_SCOPE, } from "./feature-flags.js";
15
15
  export { addFederatedOrganizationMember, provisionFederatedOrganization, revokeFederatedOrganizationMember, syncOrganizationToIdentityHub, validateFederatedOrganizationMembership, validateFederatedOrganizationMembershipForCurrentRequest, updateFederatedOrganizationMemberRole, } from "./federation.js";
@@ -75,6 +75,7 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
75
75
  user: "user";
76
76
  }>>;
77
77
  }, z.core.$strip>>, {
78
+ message?: undefined;
78
79
  id?: undefined;
79
80
  provider?: undefined;
80
81
  deleted?: undefined;
@@ -91,8 +92,8 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
91
92
  count: number;
92
93
  registered?: undefined;
93
94
  label?: undefined;
94
- message?: undefined;
95
95
  } | {
96
+ message?: undefined;
96
97
  id?: undefined;
97
98
  deleted?: undefined;
98
99
  providers?: undefined;
@@ -101,8 +102,8 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
101
102
  provider: import("../custom-registry.js").CustomProviderConfig;
102
103
  registered?: undefined;
103
104
  label?: undefined;
104
- message?: undefined;
105
105
  } | {
106
+ message?: undefined;
106
107
  provider?: undefined;
107
108
  deleted?: undefined;
108
109
  providers?: undefined;
@@ -111,8 +112,8 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
111
112
  id: string;
112
113
  registered?: undefined;
113
114
  label?: undefined;
114
- message?: undefined;
115
115
  } | {
116
+ message?: undefined;
116
117
  provider?: undefined;
117
118
  found?: undefined;
118
119
  providers?: undefined;
@@ -121,7 +122,6 @@ export declare function createCustomProviderRegistrationAction<TSchema extends Z
121
122
  id: string;
122
123
  registered?: undefined;
123
124
  label?: undefined;
124
- message?: undefined;
125
125
  } | {
126
126
  provider?: undefined;
127
127
  deleted?: undefined;
@@ -60,17 +60,17 @@ export declare function createWriteSecretHandler(): import("h3").EventHandlerWit
60
60
  ok?: undefined;
61
61
  status?: undefined;
62
62
  } | {
63
+ error?: undefined;
63
64
  ok: boolean;
64
65
  status: string;
65
- error?: undefined;
66
66
  } | {
67
67
  ok?: undefined;
68
68
  error: string;
69
69
  removed?: undefined;
70
70
  } | {
71
+ error?: undefined;
71
72
  ok: boolean;
72
73
  removed: boolean;
73
- error?: undefined;
74
74
  }>>;
75
75
  /**
76
76
  * POST /_agent-native/secrets/:key/test — validate an optional candidate value
@@ -81,13 +81,13 @@ export declare function createTestSecretHandler(): import("h3").EventHandlerWith
81
81
  error: string;
82
82
  note?: undefined;
83
83
  } | {
84
+ error?: undefined;
84
85
  ok: boolean;
85
86
  note?: undefined;
86
- error?: undefined;
87
87
  } | {
88
+ error?: undefined;
88
89
  ok: boolean;
89
90
  note: string;
90
- error?: undefined;
91
91
  } | {
92
92
  note?: undefined;
93
93
  ok: boolean;
@@ -119,11 +119,11 @@ export interface AdHocSecretPayload {
119
119
  export declare function createAdHocSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<AdHocSecretPayload[] | {
120
120
  error: string;
121
121
  } | {
122
+ error?: undefined;
122
123
  ok: boolean;
123
124
  key: string;
124
- error?: undefined;
125
125
  } | {
126
+ error?: undefined;
126
127
  ok: boolean;
127
128
  removed: boolean;
128
- error?: undefined;
129
129
  }>>;
@@ -56,10 +56,10 @@ export declare function createAgentEngineApiKeyHandler(): import("h3").EventHand
56
56
  ok: boolean;
57
57
  error: string;
58
58
  } | {
59
+ error?: undefined;
59
60
  ok: boolean;
60
61
  key: string;
61
62
  baseUrlKey?: string;
62
63
  scope: AgentEngineApiKeyScope;
63
- error?: undefined;
64
64
  }>>;
65
65
  export {};
@@ -2905,6 +2905,9 @@ function createAuthGuardFn(app) {
2905
2905
  return;
2906
2906
  if (p === "/_agent-native/speculation-rules.json")
2907
2907
  return;
2908
+ if (getMethod(event) === "GET" && p === "/_agent-native/oauth/popup") {
2909
+ return;
2910
+ }
2908
2911
  // Liveness probes: always public so uptime monitors and the keep-warm cron
2909
2912
  // can reach them without a session. Ping exposes only a static message;
2910
2913
  // health exposes only aggregate readiness and a trivial `SELECT 1`.
@@ -443,6 +443,9 @@ export declare function resolveOAuthCustodyBuilderKeyStatus(dependencies?: {
443
443
  lookupFailed: boolean;
444
444
  }>;
445
445
  }): Promise<OAuthCustodyBuilderKeyStatus>;
446
+ export declare function createOAuthPopupWaitingHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, "<!doctype html><html><head><meta charset=\"utf-8\"><meta name=\"color-scheme\" content=\"light dark\"><title></title></head><body></body></html>" | {
447
+ error: string;
448
+ }>;
446
449
  export declare function mountApplicationStateRoutes(nitroApp: any, routePrefix?: string, app?: H3AppShim): void;
447
450
  export declare function createCoreRoutesPlugin(options?: CoreRoutesPluginOptions): NitroPluginDef;
448
451
  /**
@@ -1208,6 +1208,20 @@ export async function resolveOAuthCustodyBuilderKeyStatus(dependencies = {
1208
1208
  };
1209
1209
  }
1210
1210
  }
1211
+ const OAUTH_POPUP_WAITING_HTML = '<!doctype html><html><head><meta charset="utf-8"><meta name="color-scheme" content="light dark"><title></title></head><body></body></html>';
1212
+ export function createOAuthPopupWaitingHandler() {
1213
+ return defineEventHandler((event) => {
1214
+ if (getMethod(event) !== "GET") {
1215
+ setResponseStatus(event, 405);
1216
+ return { error: "Method not allowed" };
1217
+ }
1218
+ setResponseHeader(event, "Content-Type", "text/html; charset=utf-8");
1219
+ setResponseHeader(event, "Cache-Control", "public, max-age=300");
1220
+ setResponseHeader(event, "Content-Security-Policy", "default-src 'none'; frame-ancestors 'none'");
1221
+ setResponseHeader(event, "X-Frame-Options", "DENY");
1222
+ return OAUTH_POPUP_WAITING_HTML;
1223
+ });
1224
+ }
1211
1225
  export function mountApplicationStateRoutes(nitroApp, routePrefix = FRAMEWORK_ROUTE_PREFIX, app = getH3App(nitroApp)) {
1212
1226
  app.use(`${routePrefix}/application-state/compose`, defineEventHandler(async (event) => {
1213
1227
  const id = (event.url?.pathname || "").replace(/^\/+/, "").split("/")[0] || "";
@@ -1281,6 +1295,7 @@ export function createCoreRoutesPlugin(options = {}) {
1281
1295
  `${FRAMEWORK_ROUTE_PREFIX}/ping`,
1282
1296
  `${FRAMEWORK_ROUTE_PREFIX}/health`,
1283
1297
  `${FRAMEWORK_ROUTE_PREFIX}/identity`,
1298
+ `${FRAMEWORK_ROUTE_PREFIX}/oauth/popup`,
1284
1299
  `${FRAMEWORK_ROUTE_PREFIX}/embed/start`,
1285
1300
  `${FRAMEWORK_ROUTE_PREFIX}/application-state`,
1286
1301
  ...FRAMEWORK_AUTH_EARLY_PATHS,
@@ -1292,6 +1307,7 @@ export function createCoreRoutesPlugin(options = {}) {
1292
1307
  ...(!options.disablePing ? [`${P}/ping`] : []),
1293
1308
  ...(!options.disableHealth ? [`${P}/health`] : []),
1294
1309
  `${P}/identity`,
1310
+ `${P}/oauth/popup`,
1295
1311
  ...(!options.disableEmbedRoute ? [`${P}/embed/start`] : []),
1296
1312
  ...(!options.disableAppState ? [`${P}/application-state`] : []),
1297
1313
  ]);
@@ -1301,6 +1317,7 @@ export function createCoreRoutesPlugin(options = {}) {
1301
1317
  // provider under the conventional `s3` id, so preserve that explicit
1302
1318
  // registration instead of replacing it during core bootstrap.
1303
1319
  ensureS3FileUploadProvider();
1320
+ getH3App(nitroApp).use(`${P}/oauth/popup`, createOAuthPopupWaitingHandler());
1304
1321
  if (!options.disableAppState) {
1305
1322
  // Application state is part of the client bootstrap contract. Register
1306
1323
  // it before optional plugin/bootstrap work so the first localization
@@ -59,8 +59,8 @@ export declare function createRealtimeTokenHandler(): import("h3").EventHandlerW
59
59
  expiresAt?: undefined;
60
60
  ttlSeconds?: undefined;
61
61
  } | {
62
+ error?: undefined;
62
63
  token: string;
63
64
  expiresAt: string;
64
65
  ttlSeconds: number;
65
- error?: undefined;
66
66
  }>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.181.0",
3
+ "version": "0.181.1-nightly-20260916144018",
4
4
  "description": "The agentic application framework for building autonomous agents with intuitive UIs",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -176,6 +176,7 @@
176
176
  "./client/AgentPanel": "./dist/client/AgentPanel.js",
177
177
  "./client/application-state": "./dist/client/application-state.js",
178
178
  "./client/api-path": "./dist/client/api-path.js",
179
+ "./client/oauth-popup": "./dist/client/oauth-popup.js",
179
180
  "./client/clipboard": "./dist/client/clipboard.js",
180
181
  "./client/route-state": "./dist/client/route-state.js",
181
182
  "./client/observability": "./dist/client/observability/index.js",
@@ -484,9 +485,9 @@
484
485
  "yaml": "^2.9.0",
485
486
  "yjs": "^13.6.32",
486
487
  "zod": "^4.3.6",
487
- "@agent-native/recap-cli": "0.5.32",
488
- "@agent-native/agentkit": "^0.2.2",
489
- "@agent-native/toolkit": "^0.20.2"
488
+ "@agent-native/agentkit": "^0.2.3-nightly-20260916144018",
489
+ "@agent-native/toolkit": "^0.20.3-nightly-20260916144018",
490
+ "@agent-native/recap-cli": "0.5.32"
490
491
  },
491
492
  "devDependencies": {
492
493
  "@ai-sdk/anthropic": "^3.0.71",