@agent-native/core 0.172.8 → 0.172.10
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/templates/analytics/changelog/2026-08-24-chat-draft-preservation.md +1 -0
- package/corpus/templates/clips/changelog/2026-08-24-muted-microphone-start-guidance.md +1 -0
- package/corpus/templates/slides/changelog/2026-08-24-deck-previews-and-sharing-live-in-the-overflow-menu.md +1 -0
- package/dist/agent/harness/migrations.js +1 -1
- package/dist/client/org/workspace-app-links.d.ts +1 -0
- package/dist/client/org/workspace-app-links.js +18 -7
- package/dist/collab/awareness.d.ts +2 -2
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/progress/routes.d.ts +1 -1
- package/dist/secrets/routes.d.ts +6 -6
- package/dist/server/realtime-token.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/docs/content/template-calendar-developers.mdx +54 -54
- package/package.json +1 -1
|
@@ -62,7 +62,7 @@ export const AGENT_HARNESS_SESSION_MIGRATIONS = [
|
|
|
62
62
|
name: "agent-harness-sessions-generation",
|
|
63
63
|
sql: {
|
|
64
64
|
postgres: "ALTER TABLE agent_harness_sessions ADD COLUMN IF NOT EXISTS generation BIGINT NOT NULL DEFAULT 0",
|
|
65
|
-
sqlite: "ALTER TABLE agent_harness_sessions ADD COLUMN generation INTEGER NOT NULL DEFAULT 0",
|
|
65
|
+
sqlite: "ALTER TABLE agent_harness_sessions ADD COLUMN IF NOT EXISTS generation INTEGER NOT NULL DEFAULT 0",
|
|
66
66
|
},
|
|
67
67
|
},
|
|
68
68
|
];
|
|
@@ -20,6 +20,7 @@ export declare function isWorkspaceAppEnvironment(env?: RuntimeEnv): boolean;
|
|
|
20
20
|
export declare function dispatchOverviewHref(apps: OrgSwitcherAppLink[], env?: RuntimeEnv): string;
|
|
21
21
|
export declare function dispatchAppsHref(apps: OrgSwitcherAppLink[], env?: RuntimeEnv): string;
|
|
22
22
|
export declare function visibleOrgAppLinks(apps: OrgSwitcherAppLink[], max?: number): VisibleOrgAppLinks;
|
|
23
|
+
export declare function workspaceAppFetchUrls(env: RuntimeEnv): string[];
|
|
23
24
|
export interface UseOrgSwitcherAppLinksResult {
|
|
24
25
|
apps: OrgSwitcherAppLink[];
|
|
25
26
|
isWorkspace: boolean;
|
|
@@ -203,7 +203,7 @@ export function visibleOrgAppLinks(apps, max = ORG_SWITCHER_MAX_APP_LINKS) {
|
|
|
203
203
|
};
|
|
204
204
|
}
|
|
205
205
|
function initialWorkspaceLinks(env) {
|
|
206
|
-
return
|
|
206
|
+
return [
|
|
207
207
|
{
|
|
208
208
|
id: DISPATCH_ID,
|
|
209
209
|
name: "Dispatch",
|
|
@@ -213,20 +213,31 @@ function initialWorkspaceLinks(env) {
|
|
|
213
213
|
isDispatch: true,
|
|
214
214
|
status: "ready",
|
|
215
215
|
},
|
|
216
|
-
]
|
|
216
|
+
];
|
|
217
217
|
}
|
|
218
|
-
function workspaceAppFetchUrls(env) {
|
|
219
|
-
const urls = [
|
|
218
|
+
export function workspaceAppFetchUrls(env) {
|
|
219
|
+
const urls = [
|
|
220
|
+
"/_agent-native/actions/list-workspace-apps?includeAgentCards=false",
|
|
221
|
+
];
|
|
220
222
|
const gatewayUrl = envString(env, "VITE_WORKSPACE_GATEWAY_URL");
|
|
221
223
|
if (gatewayUrl) {
|
|
222
224
|
try {
|
|
223
|
-
|
|
225
|
+
const gateway = new URL(gatewayUrl);
|
|
226
|
+
const localGateway = [
|
|
227
|
+
"localhost",
|
|
228
|
+
"127.0.0.1",
|
|
229
|
+
"0.0.0.0",
|
|
230
|
+
"::1",
|
|
231
|
+
].includes(gateway.hostname.replace(/^\[|\]$/g, "").toLowerCase());
|
|
232
|
+
if (localGateway) {
|
|
233
|
+
urls.push(new URL("/_workspace/apps", `${stripTrailingSlash(gatewayUrl)}/`).toString());
|
|
234
|
+
}
|
|
224
235
|
}
|
|
225
236
|
catch {
|
|
226
|
-
//
|
|
237
|
+
// coercion-ok: malformed gateway URL leaves the authenticated action as
|
|
238
|
+
// the only hosted source.
|
|
227
239
|
}
|
|
228
240
|
}
|
|
229
|
-
urls.push("/_agent-native/actions/list-workspace-apps?includeAgentCards=false");
|
|
230
241
|
return urls;
|
|
231
242
|
}
|
|
232
243
|
export function useOrgSwitcherAppLinks(enabled) {
|
|
@@ -62,11 +62,11 @@ export declare const postAwareness: import("h3").EventHandlerWithFetch<import("h
|
|
|
62
62
|
error: string;
|
|
63
63
|
states?: undefined;
|
|
64
64
|
} | {
|
|
65
|
-
error?: undefined;
|
|
66
65
|
states: {
|
|
67
66
|
clientId: number;
|
|
68
67
|
state: string;
|
|
69
68
|
}[];
|
|
69
|
+
error?: undefined;
|
|
70
70
|
}>>;
|
|
71
71
|
/**
|
|
72
72
|
* GET /_agent-native/collab/:docId/users
|
|
@@ -77,9 +77,9 @@ export declare const getActiveUsers: import("h3").EventHandlerWithFetch<import("
|
|
|
77
77
|
error: string;
|
|
78
78
|
users?: undefined;
|
|
79
79
|
} | {
|
|
80
|
-
error?: undefined;
|
|
81
80
|
users: {
|
|
82
81
|
clientId: number;
|
|
83
82
|
lastSeen: number;
|
|
84
83
|
}[];
|
|
84
|
+
error?: undefined;
|
|
85
85
|
}>>;
|
|
@@ -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
|
-
ok?: undefined;
|
|
17
16
|
error: string;
|
|
17
|
+
ok?: undefined;
|
|
18
18
|
} | {
|
|
19
19
|
error?: undefined;
|
|
20
20
|
ok: boolean;
|
|
@@ -41,16 +41,16 @@ export declare function createObservabilityHandler(): import("h3").EventHandlerW
|
|
|
41
41
|
thumbsUpRate: number;
|
|
42
42
|
avgEvalScore: number;
|
|
43
43
|
} | {
|
|
44
|
-
error?: undefined;
|
|
45
44
|
summary: import("./types.js").TraceSummary;
|
|
46
45
|
spans: import("./types.js").TraceSpan[];
|
|
47
46
|
id?: undefined;
|
|
47
|
+
error?: undefined;
|
|
48
48
|
ok?: undefined;
|
|
49
49
|
} | {
|
|
50
|
-
error?: undefined;
|
|
51
50
|
summary?: undefined;
|
|
52
51
|
spans?: undefined;
|
|
53
52
|
id: string;
|
|
53
|
+
error?: undefined;
|
|
54
54
|
ok?: undefined;
|
|
55
55
|
} | {
|
|
56
56
|
summary?: undefined;
|
|
@@ -59,9 +59,9 @@ export declare function createObservabilityHandler(): import("h3").EventHandlerW
|
|
|
59
59
|
error: any;
|
|
60
60
|
ok?: undefined;
|
|
61
61
|
} | {
|
|
62
|
-
error?: undefined;
|
|
63
62
|
summary?: undefined;
|
|
64
63
|
spans?: undefined;
|
|
65
64
|
id?: undefined;
|
|
66
65
|
ok: boolean;
|
|
66
|
+
error?: undefined;
|
|
67
67
|
}>>;
|
package/dist/secrets/routes.d.ts
CHANGED
|
@@ -37,17 +37,17 @@ export declare function createWriteSecretHandler(): import("h3").EventHandlerWit
|
|
|
37
37
|
ok?: undefined;
|
|
38
38
|
status?: undefined;
|
|
39
39
|
} | {
|
|
40
|
+
error?: undefined;
|
|
40
41
|
ok: boolean;
|
|
41
42
|
status: string;
|
|
42
|
-
error?: undefined;
|
|
43
43
|
} | {
|
|
44
44
|
ok?: undefined;
|
|
45
45
|
error: string;
|
|
46
46
|
removed?: undefined;
|
|
47
47
|
} | {
|
|
48
|
+
error?: undefined;
|
|
48
49
|
ok: boolean;
|
|
49
50
|
removed: boolean;
|
|
50
|
-
error?: undefined;
|
|
51
51
|
}>>;
|
|
52
52
|
/**
|
|
53
53
|
* POST /_agent-native/secrets/:key/test — validate an optional candidate value
|
|
@@ -58,13 +58,13 @@ export declare function createTestSecretHandler(): import("h3").EventHandlerWith
|
|
|
58
58
|
error: string;
|
|
59
59
|
note?: undefined;
|
|
60
60
|
} | {
|
|
61
|
+
error?: undefined;
|
|
61
62
|
ok: boolean;
|
|
62
63
|
note?: undefined;
|
|
63
|
-
error?: undefined;
|
|
64
64
|
} | {
|
|
65
|
+
error?: undefined;
|
|
65
66
|
ok: boolean;
|
|
66
67
|
note: string;
|
|
67
|
-
error?: undefined;
|
|
68
68
|
} | {
|
|
69
69
|
note?: undefined;
|
|
70
70
|
ok: boolean;
|
|
@@ -95,11 +95,11 @@ export interface AdHocSecretPayload {
|
|
|
95
95
|
export declare function createAdHocSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<AdHocSecretPayload[] | {
|
|
96
96
|
error: string;
|
|
97
97
|
} | {
|
|
98
|
+
error?: undefined;
|
|
98
99
|
ok: boolean;
|
|
99
100
|
key: string;
|
|
100
|
-
error?: undefined;
|
|
101
101
|
} | {
|
|
102
|
+
error?: undefined;
|
|
102
103
|
ok: boolean;
|
|
103
104
|
removed: boolean;
|
|
104
|
-
error?: undefined;
|
|
105
105
|
}>>;
|
|
@@ -26,8 +26,8 @@ export declare function createRealtimeTokenHandler(): import("h3").EventHandlerW
|
|
|
26
26
|
expiresAt?: undefined;
|
|
27
27
|
ttlSeconds?: undefined;
|
|
28
28
|
} | {
|
|
29
|
-
error?: undefined;
|
|
30
29
|
token: string;
|
|
31
30
|
expiresAt: string;
|
|
32
31
|
ttlSeconds: number;
|
|
32
|
+
error?: undefined;
|
|
33
33
|
}>>;
|
|
@@ -109,97 +109,97 @@ Every operation is a TypeScript file in `templates/calendar/actions/`, auto-moun
|
|
|
109
109
|
|
|
110
110
|
Event data lives in Google Calendar, never SQL.
|
|
111
111
|
|
|
112
|
-
| Action
|
|
113
|
-
|
|
|
114
|
-
| `list-events`
|
|
115
|
-
| `search-events`
|
|
116
|
-
| `get-event`
|
|
117
|
-
| `create-event`
|
|
118
|
-
| `update-event`
|
|
119
|
-
| `delete-event`
|
|
120
|
-
| `manage-event-draft`
|
|
121
|
-
| `rsvp-event`
|
|
122
|
-
| `get-attendee-timezones` | Read per-guest timezone overrides
|
|
123
|
-
| `set-attendee-timezone`
|
|
112
|
+
| Action | What it does |
|
|
113
|
+
| ------------------------ | --------------------------------------------------------------------------------------------------------------- |
|
|
114
|
+
| `list-events` | List events in a date range |
|
|
115
|
+
| `search-events` | Search events by query |
|
|
116
|
+
| `get-event` | Read one event by id |
|
|
117
|
+
| `create-event` | Create an event, including recurrence (RRULE), working locations, and status types (`outOfOffice`, `focusTime`) |
|
|
118
|
+
| `update-event` | Update an event, including recurrence, working locations, and status types |
|
|
119
|
+
| `delete-event` | Delete an event |
|
|
120
|
+
| `manage-event-draft` | Stage an unsent invite for user review before anything is written or guests are notified |
|
|
121
|
+
| `rsvp-event` | Accept, decline, or mark tentative on an invitation |
|
|
122
|
+
| `get-attendee-timezones` | Read per-guest timezone overrides |
|
|
123
|
+
| `set-attendee-timezone` | Set a per-guest timezone override so their local time keeps showing correctly |
|
|
124
124
|
|
|
125
125
|
### Availability & finding time
|
|
126
126
|
|
|
127
|
-
| Action
|
|
128
|
-
|
|
|
129
|
-
| `get-availability`
|
|
130
|
-
| `update-availability` | Update the weekly schedule, timezone, buffer, notice, and advance-window settings
|
|
131
|
-
| `check-availability`
|
|
132
|
-
| `find-a-time`
|
|
127
|
+
| Action | What it does |
|
|
128
|
+
| --------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
129
|
+
| `get-availability` | Read the weekly schedule, timezone, buffer, notice, and advance-window settings |
|
|
130
|
+
| `update-availability` | Update the weekly schedule, timezone, buffer, notice, and advance-window settings |
|
|
131
|
+
| `check-availability` | Find open slots for one date |
|
|
132
|
+
| `find-a-time` | Shared free-slot search across an organizer and named attendees, combining Google free/busy with local conflicts |
|
|
133
133
|
|
|
134
134
|
### Booking links & bookings
|
|
135
135
|
|
|
136
|
-
| Action
|
|
137
|
-
|
|
|
138
|
-
| `create-booking-link`
|
|
139
|
-
| `update-booking-link`
|
|
136
|
+
| Action | What it does |
|
|
137
|
+
| ------------------------ | ------------------------------------------------------ |
|
|
138
|
+
| `create-booking-link` | Create a booking link |
|
|
139
|
+
| `update-booking-link` | Update a booking link |
|
|
140
140
|
| `duplicate-booking-link` | Duplicate a booking link, including co-hosts (`hosts`) |
|
|
141
|
-
| `list-booking-links`
|
|
142
|
-
| `list-bookings`
|
|
141
|
+
| `list-booking-links` | List accessible booking links |
|
|
142
|
+
| `list-bookings` | List confirmed appointments |
|
|
143
143
|
|
|
144
144
|
### External calendars
|
|
145
145
|
|
|
146
146
|
Read-only ICS feeds.
|
|
147
147
|
|
|
148
|
-
| Action
|
|
149
|
-
|
|
|
150
|
-
| `add-external-calendar`
|
|
151
|
-
| `list-external-calendars`
|
|
152
|
-
| `remove-external-calendar`
|
|
153
|
-
| `update-external-calendars` | Update subscribed feeds
|
|
148
|
+
| Action | What it does |
|
|
149
|
+
| --------------------------- | ---------------------------------------- |
|
|
150
|
+
| `add-external-calendar` | Subscribe to a read-only ICS/webcal feed |
|
|
151
|
+
| `list-external-calendars` | List subscribed feeds |
|
|
152
|
+
| `remove-external-calendar` | Remove a subscribed feed |
|
|
153
|
+
| `update-external-calendars` | Update subscribed feeds |
|
|
154
154
|
|
|
155
155
|
### People & overlays
|
|
156
156
|
|
|
157
|
-
| Action
|
|
158
|
-
|
|
|
159
|
-
| `search-people`
|
|
160
|
-
| `get-overlay-people`
|
|
157
|
+
| Action | What it does |
|
|
158
|
+
| ----------------------- | ----------------------------------------------------------------- |
|
|
159
|
+
| `search-people` | Search Google Contacts and the Workspace directory |
|
|
160
|
+
| `get-overlay-people` | Read the other people whose calendars are pinned into your view |
|
|
161
161
|
| `update-overlay-people` | Update the other people whose calendars are pinned into your view |
|
|
162
162
|
|
|
163
163
|
### Zoom
|
|
164
164
|
|
|
165
|
-
| Action
|
|
166
|
-
|
|
|
165
|
+
| Action | What it does |
|
|
166
|
+
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
167
167
|
| `get-zoom-status` | Read the current user's Zoom connection status. Connect and disconnect happen through `/_agent-native/zoom/*` routes, not an action, since OAuth needs the signed-in browser session |
|
|
168
168
|
|
|
169
169
|
### Google Calendar connection & sync
|
|
170
170
|
|
|
171
|
-
| Action
|
|
172
|
-
|
|
|
171
|
+
| Action | What it does |
|
|
172
|
+
| ------------------------- | -------------------------------------------------------------- |
|
|
173
173
|
| `connect-google-calendar` | Return the OAuth connect URL for the signed-in browser session |
|
|
174
|
-
| `sync-google-calendar`
|
|
174
|
+
| `sync-google-calendar` | Force a resync |
|
|
175
175
|
|
|
176
176
|
### Settings & preferences
|
|
177
177
|
|
|
178
|
-
| Action
|
|
179
|
-
|
|
|
180
|
-
| `get-settings`
|
|
181
|
-
| `update-settings`
|
|
178
|
+
| Action | What it does |
|
|
179
|
+
| ------------------------------------ | ---------------------------------------------------------------------------------------------------- |
|
|
180
|
+
| `get-settings` | Read user-level settings |
|
|
181
|
+
| `update-settings` | Update user-level settings |
|
|
182
182
|
| `update-calendar-visual-preferences` | Update local-only display preferences (event colors, hidden weekends). Never touches Google Calendar |
|
|
183
183
|
|
|
184
184
|
### Navigation & UI state
|
|
185
185
|
|
|
186
|
-
| Action
|
|
187
|
-
|
|
|
188
|
-
| `navigate`
|
|
186
|
+
| Action | What it does |
|
|
187
|
+
| ------------- | ---------------------------------------- |
|
|
188
|
+
| `navigate` | Move the UI to a view, date, or event |
|
|
189
189
|
| `view-screen` | Read the current view back for the agent |
|
|
190
190
|
|
|
191
191
|
### Provider API escalation
|
|
192
192
|
|
|
193
193
|
The raw Google Calendar (and connected CRM) API, for when the actions above are too narrow.
|
|
194
194
|
|
|
195
|
-
| Action
|
|
196
|
-
|
|
|
197
|
-
| `provider-api-catalog`
|
|
198
|
-
| `provider-api-docs`
|
|
199
|
-
| `provider-api-request`
|
|
200
|
-
| `list-staged-datasets`
|
|
201
|
-
| `query-staged-dataset`
|
|
202
|
-
| `delete-staged-dataset` | Delete a staged dataset
|
|
195
|
+
| Action | What it does |
|
|
196
|
+
| ----------------------- | --------------------------------------------------------------------- |
|
|
197
|
+
| `provider-api-catalog` | List the raw provider APIs available to call directly |
|
|
198
|
+
| `provider-api-docs` | Read documentation for a raw provider API endpoint |
|
|
199
|
+
| `provider-api-request` | Call the raw Google Calendar (or connected CRM) API directly |
|
|
200
|
+
| `list-staged-datasets` | List large scans staged for querying instead of returning raw results |
|
|
201
|
+
| `query-staged-dataset` | Query a staged dataset |
|
|
202
|
+
| `delete-staged-dataset` | Delete a staged dataset |
|
|
203
203
|
|
|
204
204
|
## Data model
|
|
205
205
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.172.
|
|
3
|
+
"version": "0.172.10",
|
|
4
4
|
"description": "Framework for agent-native application development — where AI agents and UI share SQL state, actions, and context",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|