@agent-native/core 0.185.0-nightly-20260923150956 → 0.185.0
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.md +6 -0
- package/corpus/templates/brain/CHANGELOG.md +6 -0
- package/corpus/templates/calendar/CHANGELOG.md +11 -0
- package/corpus/templates/clips/CHANGELOG.md +37 -0
- package/corpus/templates/content/CHANGELOG.md +6 -0
- package/corpus/templates/design/CHANGELOG.md +9 -0
- package/corpus/templates/design/actions/get-design-system-index-status.ts +2 -5
- package/corpus/templates/design/actions/get-design-system.ts +6 -3
- package/corpus/templates/design/actions/list-design-systems.ts +53 -1
- package/corpus/templates/design/app/components/editor/design-start-pickers.tsx +10 -0
- package/corpus/templates/design/app/i18n-data.ts +10 -0
- package/corpus/templates/design/app/lib/design-system-data.ts +13 -10
- package/corpus/templates/design/app/pages/DesignSystems.tsx +11 -8
- package/corpus/templates/design/app/pages/Templates.tsx +6 -1
- package/corpus/templates/design/changelog/2026-09-22-fixed-the-design-system-picker-showing-a-still-indexing-buil.md +6 -0
- package/corpus/templates/design/server/lib/builder-design-system-proxy.ts +11 -30
- package/corpus/templates/mail/CHANGELOG.md +5 -0
- package/corpus/templates/slides/CHANGELOG.md +13 -0
- package/corpus/templates/slides/actions/apply-design-system.ts +2 -22
- package/corpus/templates/slides/actions/create-deck.ts +4 -54
- package/corpus/templates/slides/actions/get-design-system.ts +40 -3
- package/corpus/templates/slides/actions/list-design-systems.ts +26 -11
- package/corpus/templates/slides/app/components/design-system/DesignSystemSetup.tsx +16 -23
- package/corpus/templates/slides/app/components/editor/NewDeckReferenceStep.tsx +14 -51
- package/corpus/templates/slides/app/hooks/use-design-systems.ts +1 -191
- package/corpus/templates/slides/app/i18n/en-US.ts +0 -4
- package/corpus/templates/slides/app/lib/design-system-selection.ts +4 -19
- package/corpus/templates/slides/app/pages/Index.tsx +3 -16
- package/corpus/templates/slides/shared/design-system-validation.ts +16 -18
- package/dist/automation/index.d.ts +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/collab/struct-routes.d.ts +1 -1
- package/dist/secrets/routes.d.ts +3 -3
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/builder-design-systems.d.ts +23 -1
- package/dist/server/builder-design-systems.js +58 -17
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/realtime-token.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/docs/content/toolkit-settings.mdx +32 -0
- package/package.json +4 -4
- package/corpus/templates/slides/actions/refresh-design-system-indexing-status.ts +0 -120
|
@@ -114,6 +114,38 @@ on so settings stay findable everywhere.
|
|
|
114
114
|
- Keep settings in the canonical `/settings` pages. Agent chat should remain
|
|
115
115
|
focused on conversation and never render settings inline.
|
|
116
116
|
|
|
117
|
+
## ChatGPT subscription lab {#chatgpt-subscription-lab}
|
|
118
|
+
|
|
119
|
+
For apps using the shared framework settings surface, the Agent settings page
|
|
120
|
+
includes an experimental way to use Codex through a user's ChatGPT
|
|
121
|
+
subscription. It is a lab, not a general OpenAI API provider, and it exposes a
|
|
122
|
+
fixed set of supported Codex models.
|
|
123
|
+
|
|
124
|
+
<Steps>
|
|
125
|
+
|
|
126
|
+
### Enable the lab
|
|
127
|
+
|
|
128
|
+
Open **Settings → Labs** and enable **ChatGPT subscription**. The connection
|
|
129
|
+
row stays hidden until the lab is enabled.
|
|
130
|
+
|
|
131
|
+
### Connect the subscription
|
|
132
|
+
|
|
133
|
+
Open **Settings → Agent → Overview** and select **Connect ChatGPT** in the
|
|
134
|
+
**ChatGPT subscription** row. Finish sign-in in the popup. After it connects,
|
|
135
|
+
select **Use in chat** to make it the current agent engine.
|
|
136
|
+
|
|
137
|
+
</Steps>
|
|
138
|
+
|
|
139
|
+
<Callout tone="warning">
|
|
140
|
+
|
|
141
|
+
This is an experimental Labs feature. Your mileage may vary. Availability,
|
|
142
|
+
model access, limits, and behavior can change as the upstream ChatGPT/Codex
|
|
143
|
+
service changes. It is not intended for critical or production work. Use the
|
|
144
|
+
app's **Feedback** control to tell us what worked or what failed, especially
|
|
145
|
+
if connection or model access is inconsistent.
|
|
146
|
+
|
|
147
|
+
</Callout>
|
|
148
|
+
|
|
117
149
|
## What's next
|
|
118
150
|
|
|
119
151
|
- [**Internationalization**](/docs/internationalization) — localize the
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/core",
|
|
3
|
-
"version": "0.185.0
|
|
3
|
+
"version": "0.185.0",
|
|
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": {
|
|
@@ -493,9 +493,9 @@
|
|
|
493
493
|
"yaml": "^2.9.0",
|
|
494
494
|
"yjs": "^13.6.32",
|
|
495
495
|
"zod": "^4.3.6",
|
|
496
|
-
"@agent-native/
|
|
497
|
-
"@agent-native/
|
|
498
|
-
"@agent-native/toolkit": "^0.20.7
|
|
496
|
+
"@agent-native/agentkit": "^0.2.7",
|
|
497
|
+
"@agent-native/recap-cli": "0.5.37",
|
|
498
|
+
"@agent-native/toolkit": "^0.20.7"
|
|
499
499
|
},
|
|
500
500
|
"devDependencies": {
|
|
501
501
|
"@ai-sdk/anthropic": "^3.0.71",
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { defineAction } from "@agent-native/core/action";
|
|
2
|
-
import {
|
|
3
|
-
hydrateBuilderDesignSystemReference,
|
|
4
|
-
parseBuilderDesignSystemProxyReference,
|
|
5
|
-
} from "@agent-native/core/server";
|
|
6
|
-
import { assertAccess } from "@agent-native/core/sharing";
|
|
7
|
-
import { eq } from "drizzle-orm";
|
|
8
|
-
import { z } from "zod";
|
|
9
|
-
|
|
10
|
-
import { getDb, schema } from "../server/db/index.js";
|
|
11
|
-
import { getDesignSystemIndexingStatus } from "../shared/design-system-validation.js";
|
|
12
|
-
|
|
13
|
-
// A row that's reported "indexing" for this long with no confirmed change is
|
|
14
|
-
// very unlikely to ever resolve on its own — Builder's own hydrate call
|
|
15
|
-
// already ran (above) and still couldn't confirm completion. Long enough
|
|
16
|
-
// that a real, slow index isn't mistaken for stuck.
|
|
17
|
-
const STALE_INDEXING_TIMEOUT_MS = 30 * 60_000;
|
|
18
|
-
|
|
19
|
-
function isStaleIndexingRow(resource: {
|
|
20
|
-
updatedAt?: unknown;
|
|
21
|
-
createdAt?: unknown;
|
|
22
|
-
}): boolean {
|
|
23
|
-
const lastObservedAt =
|
|
24
|
-
typeof resource.updatedAt === "string"
|
|
25
|
-
? resource.updatedAt
|
|
26
|
-
: resource.createdAt;
|
|
27
|
-
if (typeof lastObservedAt !== "string") return false;
|
|
28
|
-
const lastObservedMs = new Date(lastObservedAt).getTime();
|
|
29
|
-
return (
|
|
30
|
-
Number.isFinite(lastObservedMs) &&
|
|
31
|
-
Date.now() - lastObservedMs > STALE_INDEXING_TIMEOUT_MS
|
|
32
|
-
);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export default defineAction({
|
|
36
|
-
description:
|
|
37
|
-
"Re-check a Builder-indexed design system's live status against Builder " +
|
|
38
|
-
"and persist it if indexing finished (or failed) since it was created or " +
|
|
39
|
-
"last synced. list-design-systems only reads the status persisted at " +
|
|
40
|
-
"index/sync time, so a completed system would otherwise stay reported as " +
|
|
41
|
-
"'indexing' forever. No-op (and no Builder call) for a locally authored " +
|
|
42
|
-
"design system. Reports `stale: true` (without writing anything) when a " +
|
|
43
|
-
"row has read as unconfirmed 'indexing' for a long time, so a poller can " +
|
|
44
|
-
"stop checking it without ever claiming it's ready.",
|
|
45
|
-
schema: z.object({
|
|
46
|
-
id: z.string().min(1).describe("Local design system id"),
|
|
47
|
-
}),
|
|
48
|
-
run: async ({ id }) => {
|
|
49
|
-
const access = await assertAccess("design-system", id, "viewer");
|
|
50
|
-
const reference = parseBuilderDesignSystemProxyReference(
|
|
51
|
-
access.resource.data,
|
|
52
|
-
);
|
|
53
|
-
if (!reference) {
|
|
54
|
-
return {
|
|
55
|
-
id,
|
|
56
|
-
indexingStatus: "ready" as const,
|
|
57
|
-
updated: false,
|
|
58
|
-
stale: false,
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
const hydrated = await hydrateBuilderDesignSystemReference(reference);
|
|
63
|
-
// Only a confirmed completion or a reported terminal failure is worth
|
|
64
|
-
// persisting — an unconfirmed in-progress read is not new information
|
|
65
|
-
// over what was already stored at index/sync time.
|
|
66
|
-
const resolvedBuilderStatus = hydrated.completionConfirmed
|
|
67
|
-
? (hydrated.builderStatus ?? "ready")
|
|
68
|
-
: hydrated.builderStatus;
|
|
69
|
-
const indexingStatus = getDesignSystemIndexingStatus({
|
|
70
|
-
source: "builder",
|
|
71
|
-
builderStatus: resolvedBuilderStatus,
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
indexingStatus === "indexing" ||
|
|
76
|
-
resolvedBuilderStatus === reference.builderStatus
|
|
77
|
-
) {
|
|
78
|
-
const stale =
|
|
79
|
-
indexingStatus === "indexing" && isStaleIndexingRow(access.resource);
|
|
80
|
-
return { id, indexingStatus, updated: false, stale };
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// Re-read immediately before writing instead of reusing the snapshot from
|
|
84
|
-
// before the (network-bound) hydrate call above — a concurrent
|
|
85
|
-
// update-design-system or re-sync during that window would otherwise be
|
|
86
|
-
// silently overwritten by patching the stale copy's builderStatus back.
|
|
87
|
-
const db = getDb();
|
|
88
|
-
const [currentRow] = await db
|
|
89
|
-
.select({ data: schema.designSystems.data })
|
|
90
|
-
.from(schema.designSystems)
|
|
91
|
-
.where(eq(schema.designSystems.id, id))
|
|
92
|
-
.limit(1);
|
|
93
|
-
if (!currentRow) {
|
|
94
|
-
return { id, indexingStatus, updated: false, stale: false };
|
|
95
|
-
}
|
|
96
|
-
const currentReference = parseBuilderDesignSystemProxyReference(
|
|
97
|
-
currentRow.data,
|
|
98
|
-
);
|
|
99
|
-
if (
|
|
100
|
-
!currentReference ||
|
|
101
|
-
currentReference.builderStatus === resolvedBuilderStatus
|
|
102
|
-
) {
|
|
103
|
-
// No longer a Builder-backed row, or another writer already recorded
|
|
104
|
-
// this same status while we were hydrating.
|
|
105
|
-
return { id, indexingStatus, updated: false, stale: false };
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
const parsed = JSON.parse(currentRow.data) as Record<string, unknown>;
|
|
109
|
-
parsed.builderStatus = resolvedBuilderStatus;
|
|
110
|
-
await db
|
|
111
|
-
.update(schema.designSystems)
|
|
112
|
-
.set({
|
|
113
|
-
data: JSON.stringify(parsed),
|
|
114
|
-
updatedAt: new Date().toISOString(),
|
|
115
|
-
})
|
|
116
|
-
.where(eq(schema.designSystems.id, id));
|
|
117
|
-
|
|
118
|
-
return { id, indexingStatus, updated: true, stale: false };
|
|
119
|
-
},
|
|
120
|
-
});
|