@agent-native/dispatch 0.40.3 → 0.40.4-nightly-20260930154911

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/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @agent-native/dispatch
2
2
 
3
+ ## 0.40.4-nightly-20260930154911
4
+
5
+ ### Patch Changes
6
+
7
+ - 036c2c7: Tighten test-only assertions for the dev auth secret and the Dispatch auth plugin so they fail when the behavior they name breaks. No runtime change.
8
+ - Updated dependencies [2384c2d]
9
+ - Updated dependencies [bc1a43e]
10
+ - Updated dependencies [036c2c7]
11
+ - Updated dependencies [fd833a4]
12
+ - Updated dependencies [64eb041]
13
+ - Updated dependencies [ce1245c]
14
+ - Updated dependencies [a202db4]
15
+ - Updated dependencies [d2b14cf]
16
+ - Updated dependencies [e90dedc]
17
+ - @agent-native/core@0.198.3-nightly-20260930154911
18
+ - @agent-native/toolkit@0.198.3-nightly-20260930154911
19
+
3
20
  ## 0.40.3
4
21
 
5
22
  ### Patch Changes
@@ -50,6 +50,7 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
50
50
  message?: undefined;
51
51
  id?: undefined;
52
52
  deleted?: undefined;
53
+ found?: undefined;
53
54
  providers: {
54
55
  id: string;
55
56
  label: string;
@@ -61,7 +62,6 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
61
62
  }[];
62
63
  count: number;
63
64
  provider?: undefined;
64
- found?: undefined;
65
65
  registered?: undefined;
66
66
  label?: undefined;
67
67
  } | {
@@ -86,20 +86,20 @@ declare const _default: import("node_modules/@agent-native/core/dist").ActionDef
86
86
  label?: undefined;
87
87
  } | {
88
88
  message?: undefined;
89
+ found?: undefined;
89
90
  count?: undefined;
90
91
  providers?: undefined;
91
92
  provider?: undefined;
92
- found?: undefined;
93
93
  deleted: boolean;
94
94
  id: string;
95
95
  registered?: undefined;
96
96
  label?: undefined;
97
97
  } | {
98
98
  deleted?: undefined;
99
+ found?: undefined;
99
100
  count?: undefined;
100
101
  providers?: undefined;
101
102
  provider?: undefined;
102
- found?: undefined;
103
103
  registered: boolean;
104
104
  id: string;
105
105
  label: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/dispatch",
3
- "version": "0.40.3",
3
+ "version": "0.40.4-nightly-20260930154911",
4
4
  "description": "Dispatch — workspace control plane for agent-native apps. Vault, integrations, destinations, scheduled jobs, and cross-app delegation, shipped as a single drop-in package.",
5
5
  "homepage": "https://github.com/BuilderIO/agent-native#readme",
6
6
  "bugs": {
@@ -89,7 +89,7 @@
89
89
  "tailwind-merge": "^3.5.0",
90
90
  "vaul": "^1.1.2",
91
91
  "zod": "^4.3.6",
92
- "@agent-native/toolkit": "0.198.2"
92
+ "@agent-native/toolkit": "0.198.3-nightly-20260930154911"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@react-router/dev": "^8.1.0",
@@ -103,10 +103,10 @@
103
103
  "typescript-7": "npm:typescript@^7.0.2",
104
104
  "vite": "8.1.0",
105
105
  "vitest": "^4.1.5",
106
- "@agent-native/core": "0.198.2"
106
+ "@agent-native/core": "0.198.3-nightly-20260930154911"
107
107
  },
108
108
  "peerDependencies": {
109
- "@agent-native/core": ">=0.8.0",
109
+ "@agent-native/core": "0.198.3-nightly-20260930154911",
110
110
  "react": ">=19.2.7",
111
111
  "react-dom": ">=19.2.7",
112
112
  "react-router": ">=8"
@@ -13,6 +13,7 @@ import {
13
13
  dispatchNavLinkTarget,
14
14
  formatThreadAge,
15
15
  isElectronEmbeddedSearch,
16
+ isRedesignedSettingsPath,
16
17
  NavContent,
17
18
  renderChatFirstAppSurfaceTab,
18
19
  shouldAutoCollapseDispatchSidebar,
@@ -60,10 +61,20 @@ vi.mock("@agent-native/core/client/agent-chat", async (importOriginal) => ({
60
61
  renameThread: vi.fn(),
61
62
  refreshThreads: vi.fn(),
62
63
  }),
64
+ useChatModels: () => ({
65
+ availableModels: [],
66
+ defaultModel: "auto",
67
+ selectedModel: "auto",
68
+ selectedEngine: "auto",
69
+ selectedEffort: "medium",
70
+ setSelectedModel: vi.fn(),
71
+ }),
63
72
  }));
64
73
 
65
74
  vi.mock("@agent-native/toolkit/app/chat", async (importOriginal) => ({
66
75
  ...(await importOriginal<typeof import("@agent-native/toolkit/app/chat")>()),
76
+ AgentChatSurface: () => null,
77
+ AgentToggleButton: () => null,
67
78
  AgentSidebar: ({ children }: { children: React.ReactNode }) => (
68
79
  <div data-agent-sidebar>{children}</div>
69
80
  ),
@@ -225,14 +236,34 @@ describe("Dispatch workspace app sidebar", () => {
225
236
 
226
237
  describe("Dispatch Settings frame", () => {
227
238
  it("drops the Dispatch chrome on Settings", () => {
228
- expect(isSettingsPathname("/settings")).toBe(true);
229
- expect(isSettingsPathname("/settings/members")).toBe(true);
230
- expect(isSettingsPathname("/settings/app")).toBe(true);
239
+ const settingsEnabled = { enabled: true, status: "ready" } as const;
240
+ expect(isRedesignedSettingsPath("/settings", settingsEnabled)).toBe(true);
241
+ expect(isRedesignedSettingsPath("/settings/members", settingsEnabled)).toBe(
242
+ true,
243
+ );
244
+ expect(isRedesignedSettingsPath("/settings/app", settingsEnabled)).toBe(
245
+ true,
246
+ );
247
+ expect(
248
+ isRedesignedSettingsPath("/settings", {
249
+ enabled: false,
250
+ status: "loading",
251
+ }),
252
+ ).toBe(true);
231
253
  });
232
254
 
233
255
  it("keeps the Dispatch chrome off Settings", () => {
234
- expect(isSettingsPathname("/admin")).toBe(false);
235
- expect(isSettingsPathname("/apps/mail/settings")).toBe(false);
256
+ const settingsEnabled = { enabled: true, status: "ready" } as const;
257
+ expect(isRedesignedSettingsPath("/admin", settingsEnabled)).toBe(false);
258
+ expect(
259
+ isRedesignedSettingsPath("/apps/mail/settings", settingsEnabled),
260
+ ).toBe(false);
261
+ expect(
262
+ isRedesignedSettingsPath("/settings", {
263
+ enabled: false,
264
+ status: "unavailable",
265
+ }),
266
+ ).toBe(false);
236
267
  });
237
268
  });
238
269
 
@@ -37,8 +37,14 @@ describe("dispatchAuthPlugin", () => {
37
37
  await dispatchAuthPlugin(nitroApp);
38
38
 
39
39
  expect(mocks.createAuthPlugin).toHaveBeenCalledOnce();
40
+ // The template's own public routes must reach the auth guard, and the
41
+ // Dispatch workspace root must stay public alongside them.
40
42
  expect(mocks.createAuthPlugin).toHaveBeenCalledWith(
41
- expect.objectContaining({ googleOnly: true, publicPaths }),
43
+ expect.objectContaining({
44
+ googleOnly: true,
45
+ publicPaths,
46
+ workspaceAppPublicPaths: ["/"],
47
+ }),
42
48
  );
43
49
  expect(mocks.authPlugin).toHaveBeenCalledWith(nitroApp);
44
50
  });