@agent-native/toolkit 0.228.2 → 0.229.0-nightly-20261113212325

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.
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderSignupActivation.d.ts","sourceRoot":"","sources":["../../../src/app/providers/BuilderSignupActivation.tsx"],"names":[],"mappings":"AAQA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAepE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GACnB;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CA2JA;AAOD,wBAAgB,4BAA4B,CAAC,EAC3C,UAAU,EACV,QAAQ,EACR,WAAmB,EACnB,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAgDA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,GACT,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAwBA"}
1
+ {"version":3,"file":"BuilderSignupActivation.d.ts","sourceRoot":"","sources":["../../../src/app/providers/BuilderSignupActivation.tsx"],"names":[],"mappings":"AAQA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBpE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,EAAE,MAAM,GACnB;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAqLA;AAOD,wBAAgB,4BAA4B,CAAC,EAC3C,UAAU,EACV,QAAQ,EACR,WAAmB,EACnB,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAgDA;AAED,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,eAAe,EACf,KAAK,EACL,QAAQ,GACT,EAAE;IACD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,+BAwBA"}
@@ -16,6 +16,7 @@ const attempts = new Map();
16
16
  export function useBuilderSignupActivation(userId, experimentId) {
17
17
  const queryClient = useQueryClient();
18
18
  const attemptKey = `${experimentId}:${userId}`;
19
+ const refreshedConnection = useRef(undefined);
19
20
  const recoveryAttempts = useRef(new Map());
20
21
  const [activation, setActivation] = useState();
21
22
  const eligibility = useQuery({
@@ -30,6 +31,17 @@ export function useBuilderSignupActivation(userId, experimentId) {
30
31
  ? 2000
31
32
  : false,
32
33
  });
34
+ useEffect(() => {
35
+ if (userId &&
36
+ refreshedConnection.current !== attemptKey &&
37
+ (eligibility.data === "connected" ||
38
+ (activation?.userId === userId && activation.refreshReadiness))) {
39
+ refreshedConnection.current = attemptKey;
40
+ // Provider readiness is cached outside React Query and may have been
41
+ // checked before the signup callback finished saving credentials.
42
+ window.dispatchEvent(new Event("agent-engine:configured-changed"));
43
+ }
44
+ }, [activation, attemptKey, eligibility.data, userId]);
33
45
  useEffect(() => {
34
46
  if (eligibility.error && userId) {
35
47
  void track("builder_signup_experiment_client_failed", {
@@ -55,7 +67,15 @@ export function useBuilderSignupActivation(userId, experimentId) {
55
67
  });
56
68
  attempts.set(attemptKey, attempt);
57
69
  }
58
- const settle = () => setActivation((current) => current?.userId === userId ? { userId, status: "settled" } : current);
70
+ const settle = (status) => {
71
+ setActivation((current) => current?.userId === userId
72
+ ? {
73
+ userId,
74
+ status: "settled",
75
+ refreshReadiness: status === "connected",
76
+ }
77
+ : current);
78
+ };
59
79
  void attempt.then(settle, (error) => {
60
80
  if (attempts.get(attemptKey) === attempt)
61
81
  attempts.delete(attemptKey);
@@ -85,8 +105,10 @@ export function useBuilderSignupActivation(userId, experimentId) {
85
105
  useEffect(() => {
86
106
  if ((activation?.status === "checking" || activation?.status === "paused") &&
87
107
  activation.userId === userId &&
88
- eligibility.data === "disabled") {
89
- setActivation({ userId, status: "settled" });
108
+ (eligibility.data === "disabled" || eligibility.data === "connected")) {
109
+ // A previously confirmed activation can finish while the browser is
110
+ // paused. Refresh even if its recent-completion signal has expired.
111
+ setActivation({ userId, status: "settled", refreshReadiness: true });
90
112
  void queryClient.invalidateQueries();
91
113
  }
92
114
  else if (activation?.status === "checking" &&
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderSignupActivation.js","sourceRoot":"","sources":["../../../src/app/providers/BuilderSignupActivation.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuilderSignupActivation.js","sourceRoot":"","sources":["../../../src/app/providers/BuilderSignupActivation.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/toolkit",
3
- "version": "0.228.2",
3
+ "version": "0.229.0-nightly-20261113212325",
4
4
  "description": "Reusable app-building UI and helpers for Agent-Native apps.",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -716,7 +716,7 @@
716
716
  "y-protocols": "^1.0.7",
717
717
  "yjs": "^13.6.33",
718
718
  "zod": "^4.3.6",
719
- "@agent-native/agentkit": "^0.228.2"
719
+ "@agent-native/agentkit": "^0.229.0-nightly-20261113212325"
720
720
  },
721
721
  "devDependencies": {
722
722
  "@excalidraw/excalidraw": "0.18.1",
@@ -740,10 +740,10 @@
740
740
  "typescript-7": "npm:typescript@^7.0.2",
741
741
  "vite": "8.1.0",
742
742
  "vitest": "^4.1.5",
743
- "@agent-native/core": "^0.228.2"
743
+ "@agent-native/core": "^0.229.0-nightly-20261113212325"
744
744
  },
745
745
  "peerDependencies": {
746
- "@agent-native/core": ">=0.228.2-0",
746
+ "@agent-native/core": "0.229.0-nightly-20261113212325",
747
747
  "@excalidraw/excalidraw": ">=0.18",
748
748
  "@excalidraw/mermaid-to-excalidraw": ">=2",
749
749
  "@tanstack/react-query": "^5.99.2",
@@ -79,12 +79,6 @@ vi.mock("@agent-native/core/client/feature-flags/use-feature-flag", () => ({
79
79
  useFeatureFlagState: () => ({ status: "ready", enabled: true }),
80
80
  }));
81
81
 
82
- vi.mock("@agent-native/core/client/use-action", () => ({
83
- useActionMutation: () => ({
84
- mutateAsync: (...args: unknown[]) => mocks.recordCreditsV2Exposure(...args),
85
- }),
86
- }));
87
-
88
82
  vi.mock("@agent-native/core/client/use-action", async (importOriginal) => ({
89
83
  ...(await importOriginal<
90
84
  typeof import("@agent-native/core/client/use-action")
@@ -10,7 +10,7 @@ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
10
10
  ).IS_REACT_ACT_ENVIRONMENT = true;
11
11
 
12
12
  const mocks = vi.hoisted(() => ({
13
- status: vi.fn<() => Promise<"eligible" | "disabled">>(),
13
+ status: vi.fn<() => Promise<"eligible" | "connected" | "disabled">>(),
14
14
  activate: vi.fn<() => Promise<"connected" | "fallback" | "disabled">>(),
15
15
  }));
16
16
 
@@ -107,6 +107,33 @@ describe("BuilderSignupActivation", () => {
107
107
  container.remove();
108
108
  });
109
109
 
110
+ it.each(["connected", "eligible"] as const)(
111
+ "refreshes the composer after successful activation with initial status %s",
112
+ async (status) => {
113
+ mocks.status.mockResolvedValue(status);
114
+ mocks.activate.mockImplementation(async () => {
115
+ mocks.status.mockResolvedValue("connected");
116
+ return "connected";
117
+ });
118
+ const refresh = vi.fn();
119
+ window.addEventListener("agent-engine:configured-changed", refresh);
120
+ try {
121
+ await render(`readiness-${status}-user`);
122
+ await vi.waitFor(() => expect(refresh).toHaveBeenCalledOnce());
123
+ expect(mocks.activate).toHaveBeenCalledTimes(
124
+ status === "eligible" ? 1 : 0,
125
+ );
126
+ expect(container.querySelector("[inert]")).toBeNull();
127
+ await act(async () => {
128
+ await queryClient.refetchQueries();
129
+ });
130
+ expect(refresh).toHaveBeenCalledOnce();
131
+ } finally {
132
+ window.removeEventListener("agent-engine:configured-changed", refresh);
133
+ }
134
+ },
135
+ );
136
+
110
137
  it("reports eligibility resolution separately from confirmed activation", async () => {
111
138
  mocks.status.mockReturnValue(new Promise(() => {}));
112
139
  await render("pending-user");
@@ -196,13 +223,20 @@ describe("BuilderSignupActivation", () => {
196
223
  .querySelector("button")
197
224
  ?.getAttribute("data-startup-interaction-blocked"),
198
225
  ).toBe("true");
199
- mocks.status.mockResolvedValue("disabled");
200
- await act(async () => {
201
- await queryClient.invalidateQueries();
202
- });
203
- await vi.waitFor(() =>
204
- expect(container.querySelector("[role='status']")).toBeNull(),
205
- );
226
+ const refresh = vi.fn();
227
+ window.addEventListener("agent-engine:configured-changed", refresh);
228
+ try {
229
+ mocks.status.mockResolvedValue("disabled");
230
+ await act(async () => {
231
+ await queryClient.invalidateQueries();
232
+ });
233
+ await vi.waitFor(() =>
234
+ expect(container.querySelector("[role='status']")).toBeNull(),
235
+ );
236
+ expect(refresh).toHaveBeenCalledOnce();
237
+ } finally {
238
+ window.removeEventListener("agent-engine:configured-changed", refresh);
239
+ }
206
240
  });
207
241
 
208
242
  it("keeps unknown eligibility deferred with an interactive Retry notice until status is confirmed", async () => {
@@ -16,7 +16,10 @@ import {
16
16
  } from "../onboarding/first-run-startup-gate-context.js";
17
17
  import { FirstRunOnboardingStartupGate } from "../onboarding/first-run-startup-gate.js";
18
18
 
19
- const attempts = new Map<string, Promise<unknown>>();
19
+ const attempts = new Map<
20
+ string,
21
+ ReturnType<typeof activateBuilderSignupAssignment>
22
+ >();
20
23
 
21
24
  // Runs a pending Builder signup activation for the signed-in user and reports
22
25
  // whether it is still in progress. Anything outside the cover that opens UI,
@@ -32,11 +35,13 @@ export function useBuilderSignupActivation(
32
35
  } {
33
36
  const queryClient = useQueryClient();
34
37
  const attemptKey = `${experimentId}:${userId}`;
38
+ const refreshedConnection = useRef<string | undefined>(undefined);
35
39
  const recoveryAttempts = useRef(new Map<string, number>());
36
40
  const [activation, setActivation] = useState<{
37
41
  userId: string;
38
42
  status: "running" | "checking" | "paused" | "settled";
39
43
  failedAt?: number;
44
+ refreshReadiness?: boolean;
40
45
  }>();
41
46
  const eligibility = useQuery({
42
47
  queryKey: ["builder-signup-eligibility", experimentId, userId],
@@ -51,6 +56,19 @@ export function useBuilderSignupActivation(
51
56
  ? 2000
52
57
  : false,
53
58
  });
59
+ useEffect(() => {
60
+ if (
61
+ userId &&
62
+ refreshedConnection.current !== attemptKey &&
63
+ (eligibility.data === "connected" ||
64
+ (activation?.userId === userId && activation.refreshReadiness))
65
+ ) {
66
+ refreshedConnection.current = attemptKey;
67
+ // Provider readiness is cached outside React Query and may have been
68
+ // checked before the signup callback finished saving credentials.
69
+ window.dispatchEvent(new Event("agent-engine:configured-changed"));
70
+ }
71
+ }, [activation, attemptKey, eligibility.data, userId]);
54
72
  useEffect(() => {
55
73
  if (eligibility.error && userId) {
56
74
  void track("builder_signup_experiment_client_failed", {
@@ -78,10 +96,19 @@ export function useBuilderSignupActivation(
78
96
  });
79
97
  attempts.set(attemptKey, attempt);
80
98
  }
81
- const settle = () =>
99
+ const settle = (
100
+ status: Awaited<ReturnType<typeof activateBuilderSignupAssignment>>,
101
+ ) => {
82
102
  setActivation((current) =>
83
- current?.userId === userId ? { userId, status: "settled" } : current,
103
+ current?.userId === userId
104
+ ? {
105
+ userId,
106
+ status: "settled",
107
+ refreshReadiness: status === "connected",
108
+ }
109
+ : current,
84
110
  );
111
+ };
85
112
  void attempt.then(settle, (error: unknown) => {
86
113
  if (attempts.get(attemptKey) === attempt) attempts.delete(attemptKey);
87
114
  void track("builder_signup_experiment_client_failed", {
@@ -114,9 +141,11 @@ export function useBuilderSignupActivation(
114
141
  if (
115
142
  (activation?.status === "checking" || activation?.status === "paused") &&
116
143
  activation.userId === userId &&
117
- eligibility.data === "disabled"
144
+ (eligibility.data === "disabled" || eligibility.data === "connected")
118
145
  ) {
119
- setActivation({ userId, status: "settled" });
146
+ // A previously confirmed activation can finish while the browser is
147
+ // paused. Refresh even if its recent-completion signal has expired.
148
+ setActivation({ userId, status: "settled", refreshReadiness: true });
120
149
  void queryClient.invalidateQueries();
121
150
  } else if (
122
151
  activation?.status === "checking" &&
@@ -41,9 +41,6 @@ vi.mock("../../../resources/ResourceEditor.js", () => ({
41
41
  ResourceEditor: () => null,
42
42
  }));
43
43
 
44
- vi.mock("@agent-native/core/client/org/hooks", () => ({
45
- useOrg: () => ({ data: orgState.value, isLoading: false }),
46
- }));
47
44
  vi.mock("@agent-native/core/client/org/hooks", () => ({
48
45
  useOrg: () => ({ data: orgState.value, isLoading: false }),
49
46
  }));