@agent-native/dispatch 0.42.0-nightly-20261104194955 → 0.42.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/CHANGELOG.md +17 -73
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +1 -0
- package/dist/db/index.js.map +1 -1
- package/dist/server/lib/app-creation-store.d.ts.map +1 -1
- package/dist/server/lib/app-creation-store.js +9 -17
- package/dist/server/lib/app-creation-store.js.map +1 -1
- package/package.json +4 -4
- package/src/db/index.spec.ts +9 -0
- package/src/db/index.ts +1 -0
- package/src/server/lib/app-creation-store.spec.ts +14 -0
- package/src/server/lib/app-creation-store.ts +12 -29
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @agent-native/dispatch
|
|
2
2
|
|
|
3
|
-
## 0.42.0
|
|
3
|
+
## 0.42.0
|
|
4
4
|
|
|
5
5
|
### Minor Changes
|
|
6
6
|
|
|
@@ -11,64 +11,29 @@
|
|
|
11
11
|
|
|
12
12
|
### Patch Changes
|
|
13
13
|
|
|
14
|
+
- e9a3946: Dispatch's home page checks which workspace apps you can open in a handful of database queries instead of about a dozen per app, so the app list no longer slows down as the workspace grows. Core gains `resolveAccessMany` to check many resources of one type at once, with the same results as `resolveAccess`.
|
|
15
|
+
- Release all public npm packages with a patch version bump.
|
|
14
16
|
- 4e36f27: Creating a workspace app now tells the framework when it starts the scaffold command or deletes a half-created app folder, so a failed create-app call that already touched disk stops the agent run instead of being retried as if nothing was saved.
|
|
15
17
|
- 559011e: Start pnpm through a shell on Windows, where it is a `pnpm.cmd` shim. `agent-native create` no longer says pnpm is missing when it is installed, `agent-native amplify-stream` can run its build, `agent-native deploy` can build a workspace's apps, and Dispatch can add an app to a workspace there.
|
|
16
18
|
- 7abe86d: New-workspace-app instructions now tell the agent to keep `configureClientRouterBasename()` in `app/entry.client.tsx`, matching the shipped templates.
|
|
17
|
-
- Updated dependencies [
|
|
18
|
-
- Updated dependencies [
|
|
19
|
-
- Updated dependencies
|
|
20
|
-
- Updated dependencies [
|
|
21
|
-
- Updated dependencies [
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
19
|
+
- Updated dependencies [6552f04]
|
|
20
|
+
- Updated dependencies [aa0b323]
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
- Updated dependencies [810b9e0]
|
|
23
|
+
- Updated dependencies [7abe86d]
|
|
24
|
+
- @agent-native/toolkit@0.224.0
|
|
25
|
+
|
|
26
|
+
## 0.41.1
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- Release all public npm packages with a patch version bump.
|
|
27
31
|
- Updated dependencies [0d88792]
|
|
28
|
-
- Updated dependencies [7c80c7b]
|
|
29
|
-
- Updated dependencies [ba3ccfd]
|
|
30
|
-
- Updated dependencies [cef2cc6]
|
|
31
|
-
- Updated dependencies [154a173]
|
|
32
|
-
- Updated dependencies [9b9e1bb]
|
|
33
32
|
- Updated dependencies [10735e3]
|
|
34
33
|
- Updated dependencies [70c5c8f]
|
|
35
|
-
- Updated dependencies
|
|
36
|
-
- Updated dependencies [6552f04]
|
|
37
|
-
- Updated dependencies [78aa74a]
|
|
38
|
-
- Updated dependencies [431c15a]
|
|
39
|
-
- Updated dependencies [221972d]
|
|
40
|
-
- Updated dependencies [aea3de5]
|
|
41
|
-
- Updated dependencies [264f987]
|
|
42
|
-
- Updated dependencies [1dd4ec7]
|
|
43
|
-
- Updated dependencies [4e36f27]
|
|
34
|
+
- Updated dependencies
|
|
44
35
|
- Updated dependencies [110efd1]
|
|
45
|
-
-
|
|
46
|
-
- Updated dependencies [0b1ae94]
|
|
47
|
-
- Updated dependencies [63f7ec2]
|
|
48
|
-
- Updated dependencies [f8879a0]
|
|
49
|
-
- Updated dependencies [dc3a21e]
|
|
50
|
-
- Updated dependencies [ae9651f]
|
|
51
|
-
- Updated dependencies [2b72a23]
|
|
52
|
-
- Updated dependencies [2bf999e]
|
|
53
|
-
- Updated dependencies [d25e809]
|
|
54
|
-
- Updated dependencies [7995b72]
|
|
55
|
-
- Updated dependencies [138c99e]
|
|
56
|
-
- Updated dependencies [0b1ae94]
|
|
57
|
-
- Updated dependencies [0b1ae94]
|
|
58
|
-
- Updated dependencies [0b1ae94]
|
|
59
|
-
- Updated dependencies [810b9e0]
|
|
60
|
-
- Updated dependencies [bd816b3]
|
|
61
|
-
- Updated dependencies [8a7ba43]
|
|
62
|
-
- Updated dependencies [3bf6395]
|
|
63
|
-
- Updated dependencies [cb95f4f]
|
|
64
|
-
- Updated dependencies [559011e]
|
|
65
|
-
- Updated dependencies [5be202c]
|
|
66
|
-
- Updated dependencies [7abe86d]
|
|
67
|
-
- Updated dependencies [2fe85f4]
|
|
68
|
-
- Updated dependencies [4f32324]
|
|
69
|
-
- Updated dependencies [89e73f0]
|
|
70
|
-
- @agent-native/core@0.224.0-nightly-20261104194955
|
|
71
|
-
- @agent-native/toolkit@0.224.0-nightly-20261104194955
|
|
36
|
+
- @agent-native/toolkit@0.223.1
|
|
72
37
|
|
|
73
38
|
## 0.41.0
|
|
74
39
|
|
|
@@ -1519,25 +1484,4 @@
|
|
|
1519
1484
|
|
|
1520
1485
|
- d30d701: Move workspace-app sharing into each app's settings menu so cards keep their primary open action focused.
|
|
1521
1486
|
|
|
1522
|
-
## 0.31.4
|
|
1523
|
-
|
|
1524
|
-
### Patch Changes
|
|
1525
|
-
|
|
1526
|
-
- 10de7b9: Remove unused imports and unreachable declarations. Dispatch drops unused
|
|
1527
|
-
imports from its layout, transactional email pages, and MCP gateway;
|
|
1528
|
-
creative-context drops unused type imports and an unread `headingStyle`;
|
|
1529
|
-
recap-cli drops the `node:os` import and two unread locals; skills drops the
|
|
1530
|
-
unreferenced `maybeUpdateInstructions` helper; toolkit drops unused imports and
|
|
1531
|
-
an unread `REALTIME_VOICE_REQUEST_SOURCE`. No runtime behavior changes.
|
|
1532
|
-
`eslint/no-unused-vars` is now an oxlint error instead of a warning, so CI
|
|
1533
|
-
blocks new ones.
|
|
1534
|
-
- Updated dependencies [10de7b9]
|
|
1535
|
-
- @agent-native/toolkit@0.16.9
|
|
1536
|
-
|
|
1537
|
-
## 0.31.3
|
|
1538
|
-
|
|
1539
|
-
### Patch Changes
|
|
1540
|
-
|
|
1541
|
-
- ac3acfa: Improve provider failure recovery and remove the retired Videos template from Dispatch app creation.
|
|
1542
|
-
|
|
1543
1487
|
For the full list of releases, see the [changelog archive](./changelog/archive/CHANGELOG.md).
|
package/dist/db/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,KAAK,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,OAAO,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,KAAK,EAA0B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,KAAK,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,EAAE,OAAO,MAAM,CAAC,CAAC;AAEpE,eAAO,MAAM,KAAK,EAA0B,MAAM,gBAAgB,CAAC;AAwBnE,wBAAgB,EAAE,qBAEjB;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC"}
|
package/dist/db/index.js
CHANGED
|
@@ -14,6 +14,7 @@ registerShareableResource({
|
|
|
14
14
|
allowPublic: false,
|
|
15
15
|
requireOrgMemberForUserShares: true,
|
|
16
16
|
supportsGroupShares: true,
|
|
17
|
+
canManageAccessKey: (resource) => resource.orgId ?? undefined,
|
|
17
18
|
canManageAccess: async (resource, ctx) => {
|
|
18
19
|
if (!ctx.userEmail || !ctx.orgId || resource?.orgId !== ctx.orgId) {
|
|
19
20
|
return false;
|
package/dist/db/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAItC,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAA2B,CAAC;AAEnE,yBAAyB,CAAC;IACxB,IAAI,EAAE,eAAe;IACrB,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,WAAW,EAAE,MAAM,CAAC,kBAAkB;IACtC,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5B,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAChE,KAAK;IACL,WAAW,EAAE,KAAK;IAClB,6BAA6B,EAAE,IAAI;IACnC,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,EAAE;IAChB,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC","sourcesContent":["import { createGetDb } from \"@agent-native/core/db\";\nimport { readOrgMemberRole } from \"@agent-native/core/server\";\nimport { registerShareableResource } from \"@agent-native/core/sharing\";\nimport type { PgDatabase, PgQueryResultHKT } from \"drizzle-orm/pg-core\";\n\nimport * as schema from \"./schema.js\";\n\ntype DispatchDatabase = PgDatabase<PgQueryResultHKT, typeof schema>;\n\nexport const getDb = createGetDb(schema) as () => DispatchDatabase;\n\nregisterShareableResource({\n type: \"workspace-app\",\n resourceTable: schema.workspaceApps,\n sharesTable: schema.workspaceAppShares,\n displayName: \"Workspace app\",\n titleColumn: \"name\",\n getResourcePath: (resource) =>\n typeof resource?.path === \"string\" ? resource.path : undefined,\n getDb,\n allowPublic: false,\n requireOrgMemberForUserShares: true,\n supportsGroupShares: true,\n canManageAccess: async (resource, ctx) => {\n if (!ctx.userEmail || !ctx.orgId || resource?.orgId !== ctx.orgId) {\n return false;\n }\n const role = await readOrgMemberRole(ctx.orgId, ctx.userEmail);\n return role === \"owner\" || role === \"admin\";\n },\n});\n\nexport function db() {\n return getDb();\n}\n\nexport { schema };\nexport * from \"./schema.js\";\nexport * from \"./migrations.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/db/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAGvE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAItC,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAA2B,CAAC;AAEnE,yBAAyB,CAAC;IACxB,IAAI,EAAE,eAAe;IACrB,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,WAAW,EAAE,MAAM,CAAC,kBAAkB;IACtC,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,MAAM;IACnB,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5B,OAAO,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAChE,KAAK;IACL,WAAW,EAAE,KAAK;IAClB,6BAA6B,EAAE,IAAI;IACnC,mBAAmB,EAAE,IAAI;IACzB,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS;IAC7D,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,EAAE,KAAK,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YAClE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,EAAE;IAChB,OAAO,KAAK,EAAE,CAAC;AACjB,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC","sourcesContent":["import { createGetDb } from \"@agent-native/core/db\";\nimport { readOrgMemberRole } from \"@agent-native/core/server\";\nimport { registerShareableResource } from \"@agent-native/core/sharing\";\nimport type { PgDatabase, PgQueryResultHKT } from \"drizzle-orm/pg-core\";\n\nimport * as schema from \"./schema.js\";\n\ntype DispatchDatabase = PgDatabase<PgQueryResultHKT, typeof schema>;\n\nexport const getDb = createGetDb(schema) as () => DispatchDatabase;\n\nregisterShareableResource({\n type: \"workspace-app\",\n resourceTable: schema.workspaceApps,\n sharesTable: schema.workspaceAppShares,\n displayName: \"Workspace app\",\n titleColumn: \"name\",\n getResourcePath: (resource) =>\n typeof resource?.path === \"string\" ? resource.path : undefined,\n getDb,\n allowPublic: false,\n requireOrgMemberForUserShares: true,\n supportsGroupShares: true,\n canManageAccessKey: (resource) => resource.orgId ?? undefined,\n canManageAccess: async (resource, ctx) => {\n if (!ctx.userEmail || !ctx.orgId || resource?.orgId !== ctx.orgId) {\n return false;\n }\n const role = await readOrgMemberRole(ctx.orgId, ctx.userEmail);\n return role === \"owner\" || role === \"admin\";\n },\n});\n\nexport function db() {\n return getDb();\n}\n\nexport { schema };\nexport * from \"./schema.js\";\nexport * from \"./migrations.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-creation-store.d.ts","sourceRoot":"","sources":["../../../src/server/lib/app-creation-store.ts"],"names":[],"mappings":"AAyBA,OAAO,EAgBL,KAAK,sBAAsB,EAC5B,MAAM,2BAA2B,CAAC;AAOnC,OAAO,EAOL,KAAK,mBAAmB,EACzB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"app-creation-store.d.ts","sourceRoot":"","sources":["../../../src/server/lib/app-creation-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ import { CredentialStoreUnavailableError, FeatureNotConfiguredError, createBuild
|
|
|
13
13
|
import { getOrgSetting } from "@agent-native/core/settings";
|
|
14
14
|
import { getSetting, mutateSetting, putSetting, } from "@agent-native/core/settings";
|
|
15
15
|
import { BUILDER_CONNECT_PROVIDER, BUILDER_CONNECT_PROVIDER_LABEL, assertValidWorkspaceAppId, connectRequiredResult, normalizeWorkspaceAppHomePath, parseAgentProfileMetadata, } from "@agent-native/core/shared";
|
|
16
|
-
import {
|
|
16
|
+
import { resolveAccessMany } from "@agent-native/core/sharing";
|
|
17
17
|
import { getDb } from "../../db/index.js";
|
|
18
18
|
import { workspaceAppRoute } from "../../shared/workspace-app-route.js";
|
|
19
19
|
import { isWorkspaceSsoAppUrl } from "../../shared/workspace-sso.js";
|
|
@@ -36,7 +36,6 @@ const WORKSPACE_APPS_ENV_KEY = "AGENT_NATIVE_WORKSPACE_APPS_JSON";
|
|
|
36
36
|
const WORKSPACE_APPS_MANIFEST_FILE = "workspace-apps.json";
|
|
37
37
|
const WORKSPACE_APPS_GATEWAY_PATH = "/_workspace/apps";
|
|
38
38
|
const WORKSPACE_APPS_GATEWAY_TIMEOUT_MS = 2_500;
|
|
39
|
-
const WORKSPACE_APP_ACCESS_CONCURRENCY = 8;
|
|
40
39
|
const MAX_PENDING_APPS = 50;
|
|
41
40
|
const PENDING_WORKSPACE_APP_TTL_MS = 30 * 24 * 60 * 60 * 1_000;
|
|
42
41
|
const AGENT_CARD_PATH = "/.well-known/agent-card.json";
|
|
@@ -1396,21 +1395,14 @@ async function filterWorkspaceAppsByAccess(apps) {
|
|
|
1396
1395
|
}
|
|
1397
1396
|
candidates.push(app);
|
|
1398
1397
|
}
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
console.warn("[dispatch] workspace app access lookup failed", error);
|
|
1408
|
-
return { app, allowed: false };
|
|
1409
|
-
}
|
|
1410
|
-
}));
|
|
1411
|
-
for (const decision of decisions) {
|
|
1412
|
-
if (decision.allowed)
|
|
1413
|
-
visibleIds.add(decision.app.id);
|
|
1398
|
+
if (candidates.length > 0) {
|
|
1399
|
+
try {
|
|
1400
|
+
const access = await resolveAccessMany("workspace-app", candidates.map((app) => app.id), { userEmail, ...(orgId ? { orgId } : {}) }, { skipResourceBody: true });
|
|
1401
|
+
for (const id of access.keys())
|
|
1402
|
+
visibleIds.add(id);
|
|
1403
|
+
}
|
|
1404
|
+
catch (error) {
|
|
1405
|
+
console.warn("[dispatch] workspace app access lookup failed", error);
|
|
1414
1406
|
}
|
|
1415
1407
|
}
|
|
1416
1408
|
return apps.filter((app) => visibleIds.has(app.id));
|