@agent-native/core 0.129.0 → 0.129.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.
- package/corpus/README.md +1 -1
- package/corpus/core/CHANGELOG.md +12 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/client/org/OrgSwitcher.tsx +4 -4
- package/corpus/core/src/mcp/build-server.ts +20 -2
- package/corpus/templates/clips/app/components/player/recording-views-badge.tsx +6 -2
- package/corpus/templates/clips/app/components/sharing/share-ui.tsx +25 -10
- package/corpus/templates/clips/app/components/sharing/viewed-by-popover.tsx +28 -6
- package/corpus/templates/clips/app/lib/use-visible-avatar-url.ts +34 -0
- package/corpus/templates/clips/changelog/2026-07-28-profile-avatars-now-appear-in-viewer-and-share-access-lists.md +6 -0
- package/corpus/templates/clips/desktop/src-tauri/src/native_screen.rs +1 -1
- package/corpus/templates/clips/desktop/src-tauri/src/system_audio.rs +21 -1
- package/dist/client/org/OrgSwitcher.js +2 -2
- package/dist/client/org/OrgSwitcher.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/mcp/build-server.d.ts.map +1 -1
- package/dist/mcp/build-server.js +10 -1
- package/dist/mcp/build-server.js.map +1 -1
- package/dist/notifications/routes.d.ts +1 -1
- package/dist/observability/routes.d.ts +3 -3
- package/dist/secrets/routes.d.ts +9 -9
- package/dist/server/realtime-token.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/package.json +1 -1
- package/src/client/org/OrgSwitcher.tsx +4 -4
- package/src/mcp/build-server.ts +20 -2
|
@@ -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,10 +59,10 @@ 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;
|
|
65
|
+
error?: undefined;
|
|
66
66
|
ok: boolean;
|
|
67
67
|
}>>;
|
|
68
68
|
//# sourceMappingURL=routes.d.ts.map
|
package/dist/secrets/routes.d.ts
CHANGED
|
@@ -34,37 +34,37 @@ export declare function createListSecretsHandler(): import("h3").EventHandlerWit
|
|
|
34
34
|
/** POST /_agent-native/secrets/:key — write a secret. */
|
|
35
35
|
export declare function createWriteSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
36
36
|
error: string;
|
|
37
|
-
status?: undefined;
|
|
38
37
|
ok?: undefined;
|
|
38
|
+
status?: undefined;
|
|
39
39
|
} | {
|
|
40
|
+
error?: undefined;
|
|
40
41
|
ok: boolean;
|
|
41
42
|
status: string;
|
|
42
|
-
error?: undefined;
|
|
43
43
|
} | {
|
|
44
|
+
ok?: undefined;
|
|
44
45
|
error: string;
|
|
45
46
|
removed?: undefined;
|
|
46
|
-
ok?: 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 — re-run the validator against the
|
|
54
54
|
* current stored value without changing anything. Useful for the "Test" button.
|
|
55
55
|
*/
|
|
56
56
|
export declare function createTestSecretHandler(): import("h3").EventHandlerWithFetch<import("h3").EventHandlerRequest, Promise<{
|
|
57
|
+
ok?: undefined;
|
|
57
58
|
error: string;
|
|
58
59
|
note?: undefined;
|
|
59
|
-
ok?: 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,12 +95,12 @@ 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
|
}>>;
|
|
106
106
|
//# sourceMappingURL=routes.d.ts.map
|
|
@@ -26,9 +26,9 @@ 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
|
}>>;
|
|
34
34
|
//# sourceMappingURL=realtime-token.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.129.
|
|
3
|
+
"version": "0.129.2",
|
|
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": {
|
|
@@ -418,7 +418,7 @@ export function OrgSwitcher({
|
|
|
418
418
|
align="start"
|
|
419
419
|
sideOffset={6}
|
|
420
420
|
collisionPadding={12}
|
|
421
|
-
className={POPOVER_CONTENT_CLASS}
|
|
421
|
+
className={`${POPOVER_CONTENT_CLASS} ${mode === "list" ? "" : "w-64"}`}
|
|
422
422
|
onOpenAutoFocus={(e) => {
|
|
423
423
|
// Don't auto-focus the first item — feels heavy on a switcher.
|
|
424
424
|
if (mode === "list") e.preventDefault();
|
|
@@ -692,9 +692,9 @@ export function OrgSwitcher({
|
|
|
692
692
|
<div className="px-0.5 pb-1 text-[10px] uppercase tracking-wide text-muted-foreground">
|
|
693
693
|
New organization
|
|
694
694
|
</div>
|
|
695
|
-
<p className="
|
|
696
|
-
<IconKey className="
|
|
697
|
-
|
|
695
|
+
<p className="pe-0.5 pb-1.5 ps-2 text-[11px] leading-snug text-muted-foreground">
|
|
696
|
+
<IconKey className="me-1.5 inline-block h-3 w-3 align-text-top" />
|
|
697
|
+
{t("org.createOrgVaultNotice")}
|
|
698
698
|
</p>
|
|
699
699
|
<input
|
|
700
700
|
autoFocus
|
package/src/mcp/build-server.ts
CHANGED
|
@@ -70,6 +70,12 @@ import {
|
|
|
70
70
|
verifyMcpOAuthAccessToken,
|
|
71
71
|
} from "./oauth-token.js";
|
|
72
72
|
|
|
73
|
+
const PRESERVE_MCP_OBJECT_RESULT = Symbol("preserveMcpObjectResult");
|
|
74
|
+
|
|
75
|
+
type MCPActionEntry = ActionEntry & {
|
|
76
|
+
[PRESERVE_MCP_OBJECT_RESULT]?: true;
|
|
77
|
+
};
|
|
78
|
+
|
|
73
79
|
export interface MCPConfig {
|
|
74
80
|
/** App name shown in MCP server info */
|
|
75
81
|
name: string;
|
|
@@ -965,7 +971,16 @@ function mergeBuiltinTools(
|
|
|
965
971
|
requestMeta?: MCPRequestMeta,
|
|
966
972
|
): Record<string, ActionEntry> {
|
|
967
973
|
if (config.builtinCrossAppTools === false) return baseActions;
|
|
968
|
-
const builtins = getBuiltinCrossAppTools(config, requestMeta)
|
|
974
|
+
const builtins = getBuiltinCrossAppTools(config, requestMeta) as Record<
|
|
975
|
+
string,
|
|
976
|
+
MCPActionEntry
|
|
977
|
+
>;
|
|
978
|
+
// Async ask_app responses contain the opaque handle needed to poll the same
|
|
979
|
+
// task. Mark the actual framework builtin rather than matching by name: an
|
|
980
|
+
// app-defined ask_app overrides this entry and keeps normal concise output.
|
|
981
|
+
if (builtins.ask_app) {
|
|
982
|
+
builtins.ask_app[PRESERVE_MCP_OBJECT_RESULT] = true;
|
|
983
|
+
}
|
|
969
984
|
const merged: Record<string, ActionEntry> = { ...builtins };
|
|
970
985
|
// Template / app actions overwrite same-named builtins.
|
|
971
986
|
for (const [name, entry] of Object.entries(baseActions)) {
|
|
@@ -2127,7 +2142,10 @@ export async function createMCPServerForRequest(
|
|
|
2127
2142
|
const text = mcpAppResource
|
|
2128
2143
|
? conciseMcpAppToolText(name, resultForClient, structuredContent!)
|
|
2129
2144
|
: conciseToolResultText(name, resultForClient, {
|
|
2130
|
-
preserveObjectResult:
|
|
2145
|
+
preserveObjectResult:
|
|
2146
|
+
entry.readOnly === true ||
|
|
2147
|
+
(entry as MCPActionEntry)[PRESERVE_MCP_OBJECT_RESULT] ===
|
|
2148
|
+
true,
|
|
2131
2149
|
});
|
|
2132
2150
|
const content: any[] = [{ type: "text", text }];
|
|
2133
2151
|
if (block) content.push(block);
|