@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.
- package/corpus/README.md +1 -1
- package/corpus/templates/clips/app/components/player/create-account-dialog.tsx +2 -1
- package/corpus/templates/clips/changelog/2026-09-15-google-sign-up-now-opens-reliably-in-embedded-browsers.md +6 -0
- package/corpus/templates/content/actions/resolve-preview-document-draft.ts +320 -60
- package/corpus/templates/content/app/components/editor/DocumentBlockFields.tsx +3 -1
- package/corpus/templates/content/app/components/editor/DocumentEditor.tsx +349 -104
- package/corpus/templates/content/app/components/editor/DocumentReconcileRecovery.tsx +109 -0
- package/corpus/templates/content/app/components/editor/PageDraftRecovery.tsx +31 -153
- package/corpus/templates/content/app/components/editor/RecoveryComparison.tsx +230 -0
- package/corpus/templates/content/app/components/editor/VisualEditor.tsx +46 -19
- package/corpus/templates/content/app/components/editor/editor-draft-save.ts +13 -0
- package/corpus/templates/content/app/components/editor/useDocumentReconcileRecovery.ts +248 -0
- package/corpus/templates/content/app/components/sidebar/NotionButton.tsx +2 -1
- package/corpus/templates/content/app/i18n-data.ts +13 -0
- package/corpus/templates/content/changelog/2026-09-15-oauth-connections-now-open-reliably-in-embedded-browsers.md +6 -0
- package/corpus/templates/content/docs/solutions/2026-09-02-content-suggested-edits-parity-shape.md +84 -2
- package/corpus/templates/design/.generated/bridge/editor-chrome.generated.ts +27 -7
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +45 -15
- package/corpus/templates/design/app/components/design/bridge/editor-chrome.bridge.ts +35 -8
- package/corpus/templates/design/app/components/design/design-canvas/element-payload.ts +14 -0
- package/corpus/templates/design/app/pages/DesignEditor.tsx +18 -5
- package/corpus/templates/design/app/pages/design-editor/commands/record-pending-live-structure-edit.ts +9 -4
- package/corpus/templates/design/app/pages/design-editor/commands/screen-visual-structure-change.ts +3 -0
- package/corpus/templates/design/app/pages/design-editor/commands/start-sidebar-resize.ts +7 -2
- package/corpus/templates/design/app/pages/design-editor/commands/visual-structure-change.ts +2 -0
- package/corpus/templates/design/app/pages/design-editor/pending-edits.ts +4 -0
- package/corpus/templates/design/app/pages/design-editor/pending-structure-verification.ts +197 -147
- package/corpus/templates/design/changelog/2026-09-16-design-editor-agent-chat-uses-shared-conversation-tabs-and-s.md +6 -0
- package/corpus/templates/design/changelog/2026-09-16-visual-edits-stay-applied-after-replacements.md +5 -0
- package/corpus/templates/mail/app/components/GoogleConnectBanner.tsx +2 -1
- package/corpus/templates/mail/changelog/2026-09-15-google-connections-now-open-reliably-in-embedded-browsers.md +6 -0
- package/dist/client/AgentPanel.d.ts +1 -1
- package/dist/client/AgentPanel.js +4 -4
- package/dist/client/auth/AuthPage.js +6 -1
- package/dist/client/oauth-popup.d.ts +7 -0
- package/dist/client/oauth-popup.js +14 -0
- package/dist/client/ocean/OceanBackground.d.ts +3 -1
- package/dist/client/ocean/OceanBackground.js +4 -3
- package/dist/client/resources/mcp-integration-catalog.js +7 -3
- package/dist/client/settings/useBuilderStatus.js +4 -3
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +2 -2
- package/dist/mcp/screen-memory-stdio.d.ts +7 -7
- package/dist/notifications/routes.d.ts +3 -3
- package/dist/observability/routes.d.ts +3 -3
- package/dist/org/app-roles.d.ts +8 -0
- package/dist/org/app-roles.js +7 -0
- package/dist/org/index.d.ts +1 -1
- package/dist/org/index.js +1 -1
- package/dist/provider-api/actions/custom-provider-registration.d.ts +4 -4
- package/dist/secrets/routes.d.ts +6 -6
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/auth.js +3 -0
- package/dist/server/core-routes-plugin.d.ts +3 -0
- package/dist/server/core-routes-plugin.js +17 -0
- package/dist/server/realtime-token.d.ts +1 -1
- package/package.json +5 -4
package/dist/collab/routes.d.ts
CHANGED
|
@@ -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
|
}>>;
|
package/dist/org/app-roles.d.ts
CHANGED
|
@@ -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>;
|
package/dist/org/app-roles.js
CHANGED
|
@@ -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 = ?`,
|
package/dist/org/index.d.ts
CHANGED
|
@@ -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;
|
package/dist/secrets/routes.d.ts
CHANGED
|
@@ -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 {};
|
package/dist/server/auth.js
CHANGED
|
@@ -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.
|
|
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/
|
|
488
|
-
"@agent-native/
|
|
489
|
-
"@agent-native/
|
|
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",
|