@agent-native/dispatch 0.14.9 → 0.14.11
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/dist/actions/list-workspace-apps.js +1 -1
- package/dist/actions/list-workspace-apps.js.map +1 -1
- package/dist/actions/upsert-destination.d.ts +12 -12
- package/dist/routes/pages/dreams.d.ts.map +1 -1
- package/dist/routes/pages/dreams.js +25 -2
- package/dist/routes/pages/dreams.js.map +1 -1
- package/dist/server/lib/vault-boot-resync.d.ts +23 -0
- package/dist/server/lib/vault-boot-resync.d.ts.map +1 -0
- package/dist/server/lib/vault-boot-resync.js +44 -0
- package/dist/server/lib/vault-boot-resync.js.map +1 -0
- package/dist/server/lib/vault-store.d.ts +22 -0
- package/dist/server/lib/vault-store.d.ts.map +1 -1
- package/dist/server/lib/vault-store.js +49 -0
- package/dist/server/lib/vault-store.js.map +1 -1
- package/dist/server/plugins/agent-chat.js +2 -1
- package/dist/server/plugins/agent-chat.js.map +1 -1
- package/dist/server/plugins/db.d.ts +8 -1
- package/dist/server/plugins/db.d.ts.map +1 -1
- package/dist/server/plugins/db.js +13 -1
- package/dist/server/plugins/db.js.map +1 -1
- package/dist/server/plugins/integrations.d.ts.map +1 -1
- package/dist/server/plugins/integrations.js +2 -1
- package/dist/server/plugins/integrations.js.map +1 -1
- package/package.json +2 -2
- package/src/actions/index.spec.ts +12 -0
- package/src/actions/list-workspace-apps.ts +1 -1
- package/src/routes/pages/dreams.tsx +24 -2
- package/src/server/lib/vault-boot-resync.spec.ts +68 -0
- package/src/server/lib/vault-boot-resync.ts +50 -0
- package/src/server/lib/vault-store.spec.ts +132 -0
- package/src/server/lib/vault-store.ts +58 -0
- package/src/server/plugins/agent-chat.ts +2 -1
- package/src/server/plugins/db.ts +14 -1
- package/src/server/plugins/integrations.ts +2 -1
|
@@ -12,7 +12,7 @@ const httpBoolean = z.preprocess((value) => {
|
|
|
12
12
|
return value;
|
|
13
13
|
}, z.boolean());
|
|
14
14
|
export default defineAction({
|
|
15
|
-
description: "List apps
|
|
15
|
+
description: "List apps mounted inside this workspace deployment, including paths, absolute URLs, audience (internal/public), page route access overrides, and agent-card/A2A metadata for ready mounted apps by default. This is not the hosted/connected A2A agent registry; use list-connected-agents to discover agents such as Analytics or Content. UI polling callers can pass includeAgentCards=false to skip network probes.",
|
|
16
16
|
schema: z.object({
|
|
17
17
|
includeAgentCards: httpBoolean
|
|
18
18
|
.default(true)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-workspace-apps.js","sourceRoot":"","sources":["../../src/actions/list-workspace-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEhB,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"list-workspace-apps.js","sourceRoot":"","sources":["../../src/actions/list-workspace-apps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE,MAAM,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,EAAE;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,OAAO,KAAK,CAAC;AACf,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEhB,eAAe,YAAY,CAAC;IAC1B,WAAW,EACT,yZAAyZ;IAC3Z,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,iBAAiB,EAAE,WAAW;aAC3B,OAAO,CAAC,IAAI,CAAC;aACb,QAAQ,CACP,2RAA2R,CAC5R;QACH,QAAQ,EAAE,CAAC;aACR,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;aACnC,OAAO,CAAC,KAAK,CAAC;aACd,QAAQ,CAAC,mCAAmC,CAAC;KACjD,CAAC;IACF,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IACvB,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;CAC/C,CAAC,CAAC","sourcesContent":["import { defineAction } from \"@agent-native/core\";\nimport { z } from \"zod\";\n\nimport { listWorkspaceApps } from \"../server/lib/app-creation-store.js\";\n\nconst httpBoolean = z.preprocess((value) => {\n if (typeof value !== \"string\") return value;\n const normalized = value.trim().toLowerCase();\n if ([\"true\", \"1\", \"yes\", \"on\"].includes(normalized)) return true;\n if ([\"false\", \"0\", \"no\", \"off\"].includes(normalized)) return false;\n return value;\n}, z.boolean());\n\nexport default defineAction({\n description:\n \"List apps mounted inside this workspace deployment, including paths, absolute URLs, audience (internal/public), page route access overrides, and agent-card/A2A metadata for ready mounted apps by default. This is not the hosted/connected A2A agent registry; use list-connected-agents to discover agents such as Analytics or Content. UI polling callers can pass includeAgentCards=false to skip network probes.\",\n schema: z.object({\n includeAgentCards: httpBoolean\n .default(true)\n .describe(\n \"Fetch each ready app's /.well-known/agent-card.json with a short non-throwing timeout and include agentCardUrl, agentCardReachable, a2aEndpointUrl, agentName, and agentSkillsCount. Defaults to true for agent calls; UI polling should pass false. Pending Builder apps are not probed.\",\n ),\n audience: z\n .enum([\"all\", \"internal\", \"public\"])\n .default(\"all\")\n .describe(\"Filter by workspace app audience.\"),\n }),\n http: { method: \"GET\" },\n run: async (input) => listWorkspaceApps(input),\n});\n"]}
|
|
@@ -6,18 +6,6 @@ declare const _default: import("@agent-native/core").ActionDefinition<{
|
|
|
6
6
|
threadRef?: string | undefined;
|
|
7
7
|
notes?: string | undefined;
|
|
8
8
|
}, {
|
|
9
|
-
id: string;
|
|
10
|
-
ownerEmail: string;
|
|
11
|
-
orgId: string | null;
|
|
12
|
-
name: string;
|
|
13
|
-
platform: string;
|
|
14
|
-
destination: string;
|
|
15
|
-
threadRef: string | null;
|
|
16
|
-
notes: string | null;
|
|
17
|
-
createdBy: string;
|
|
18
|
-
createdAt: number;
|
|
19
|
-
updatedAt: number;
|
|
20
|
-
} | {
|
|
21
9
|
id: string;
|
|
22
10
|
ownerEmail: string;
|
|
23
11
|
orgId: string | null;
|
|
@@ -34,6 +22,18 @@ declare const _default: import("@agent-native/core").ActionDefinition<{
|
|
|
34
22
|
reviewedAt: number | null;
|
|
35
23
|
createdAt: number;
|
|
36
24
|
updatedAt: number;
|
|
25
|
+
} | {
|
|
26
|
+
id: string;
|
|
27
|
+
ownerEmail: string;
|
|
28
|
+
orgId: string | null;
|
|
29
|
+
name: string;
|
|
30
|
+
platform: string;
|
|
31
|
+
destination: string;
|
|
32
|
+
threadRef: string | null;
|
|
33
|
+
notes: string | null;
|
|
34
|
+
createdBy: string;
|
|
35
|
+
createdAt: number;
|
|
36
|
+
updatedAt: number;
|
|
37
37
|
}>;
|
|
38
38
|
export default _default;
|
|
39
39
|
//# sourceMappingURL=upsert-destination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dreams.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/dreams.tsx"],"names":[],"mappings":"AAqEA,wBAAgB,IAAI;;IAEnB;AAklCD,MAAM,CAAC,OAAO,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"dreams.d.ts","sourceRoot":"","sources":["../../../src/routes/pages/dreams.tsx"],"names":[],"mappings":"AAqEA,wBAAgB,IAAI;;IAEnB;AAklCD,MAAM,CAAC,OAAO,UAAU,WAAW,oDAyqBlC"}
|
|
@@ -272,7 +272,16 @@ export default function DreamsRoute() {
|
|
|
272
272
|
setSelectedDreamId(urlDreamId);
|
|
273
273
|
return;
|
|
274
274
|
}
|
|
275
|
-
if (selectedDreamId &&
|
|
275
|
+
if (selectedDreamId &&
|
|
276
|
+
dreams.some((dream) => dream.id === selectedDreamId)) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
if (dreamsQuery.isLoading)
|
|
280
|
+
return;
|
|
281
|
+
// If the query failed, normalizeArray returns [] but the list is not
|
|
282
|
+
// confirmed empty — preserve the current selection so dreamDetailQuery
|
|
283
|
+
// can still load the detail from the URL param.
|
|
284
|
+
if (dreamsQuery.error)
|
|
276
285
|
return;
|
|
277
286
|
const nextId = dreams[0]?.id ?? null;
|
|
278
287
|
setSelectedDreamId(nextId);
|
|
@@ -281,7 +290,21 @@ export default function DreamsRoute() {
|
|
|
281
290
|
next.set("dreamId", nextId);
|
|
282
291
|
setSearchParams(next, { replace: true });
|
|
283
292
|
}
|
|
284
|
-
|
|
293
|
+
else if (!nextId && urlDreamId) {
|
|
294
|
+
// List settled successfully with no rows — remove the stale URL param
|
|
295
|
+
// so dreamDetailQuery does not fire for an ID that cannot be found.
|
|
296
|
+
const next = new URLSearchParams(searchParams);
|
|
297
|
+
next.delete("dreamId");
|
|
298
|
+
setSearchParams(next, { replace: true });
|
|
299
|
+
}
|
|
300
|
+
}, [
|
|
301
|
+
dreams,
|
|
302
|
+
dreamsQuery.isLoading,
|
|
303
|
+
dreamsQuery.error,
|
|
304
|
+
searchParams,
|
|
305
|
+
selectedDreamId,
|
|
306
|
+
setSearchParams,
|
|
307
|
+
]);
|
|
285
308
|
function selectDream(dreamId) {
|
|
286
309
|
setSelectedDreamId(dreamId);
|
|
287
310
|
const next = new URLSearchParams(searchParams);
|