@agent-native/dispatch 0.9.3 → 0.10.1
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/README.md +37 -52
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +2 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/provider-api-catalog.d.ts.map +1 -1
- package/dist/actions/provider-api-catalog.js +9 -6
- package/dist/actions/provider-api-catalog.js.map +1 -1
- package/dist/actions/provider-api-docs.d.ts.map +1 -1
- package/dist/actions/provider-api-docs.js +7 -5
- package/dist/actions/provider-api-docs.js.map +1 -1
- package/dist/actions/provider-api-register.d.ts +3 -0
- package/dist/actions/provider-api-register.d.ts.map +1 -0
- package/dist/actions/provider-api-register.js +160 -0
- package/dist/actions/provider-api-register.js.map +1 -0
- package/dist/actions/provider-api-request.d.ts.map +1 -1
- package/dist/actions/provider-api-request.js +33 -5
- package/dist/actions/provider-api-request.js.map +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/server/lib/provider-api.d.ts +3 -3
- package/dist/server/lib/provider-api.d.ts.map +1 -1
- package/dist/server/lib/provider-api.js +29 -5
- package/dist/server/lib/provider-api.js.map +1 -1
- package/package.json +1 -1
- package/src/actions/index.ts +2 -0
- package/src/actions/provider-api-catalog.ts +11 -12
- package/src/actions/provider-api-docs.ts +9 -11
- package/src/actions/provider-api-register.ts +198 -0
- package/src/actions/provider-api-request.ts +49 -10
- package/src/components/ui/button.tsx +1 -1
- package/src/server/lib/provider-api.ts +35 -8
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PROVIDER_API_IDS,
|
|
3
3
|
createProviderApiRuntime,
|
|
4
|
+
listCustomProviders,
|
|
4
5
|
type ProviderApiId,
|
|
5
6
|
type ProviderApiMethod,
|
|
6
7
|
type ProviderApiRequestArgs,
|
|
@@ -11,26 +12,52 @@ export const DISPATCH_PROVIDER_API_IDS = PROVIDER_API_IDS;
|
|
|
11
12
|
export type DispatchProviderApiId = ProviderApiId;
|
|
12
13
|
export type { ProviderApiMethod, ProviderApiRequestArgs };
|
|
13
14
|
|
|
15
|
+
function requireCtx(action: string) {
|
|
16
|
+
const ctx = getCredentialContext();
|
|
17
|
+
if (!ctx) {
|
|
18
|
+
throw new Error(
|
|
19
|
+
`Dispatch provider API ${action} requires an authenticated request context.`,
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
return ctx;
|
|
23
|
+
}
|
|
24
|
+
|
|
14
25
|
const runtime = createProviderApiRuntime({
|
|
15
26
|
appId: "dispatch",
|
|
16
27
|
localCredentialSource: "dispatch_local",
|
|
17
|
-
getCredentialContext: () =>
|
|
28
|
+
getCredentialContext: () => requireCtx("requests"),
|
|
29
|
+
getCustomProviders: async () => {
|
|
18
30
|
const ctx = getCredentialContext();
|
|
19
|
-
if (!ctx)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
)
|
|
31
|
+
if (!ctx) return [];
|
|
32
|
+
// Load custom providers for both user scope and org scope.
|
|
33
|
+
const results = await Promise.allSettled([
|
|
34
|
+
listCustomProviders("user", ctx.userEmail),
|
|
35
|
+
ctx.orgId ? listCustomProviders("org", ctx.orgId) : Promise.resolve([]),
|
|
36
|
+
]);
|
|
37
|
+
const userProviders =
|
|
38
|
+
results[0].status === "fulfilled" ? results[0].value : [];
|
|
39
|
+
const orgProviders =
|
|
40
|
+
results[1].status === "fulfilled" ? results[1].value : [];
|
|
41
|
+
// Merge: user-scope providers take precedence over org-scope ones with the
|
|
42
|
+
// same id, and neither can shadow a built-in id.
|
|
43
|
+
const seen = new Set<string>(PROVIDER_API_IDS as unknown as string[]);
|
|
44
|
+
const merged = [];
|
|
45
|
+
for (const p of [...userProviders, ...orgProviders]) {
|
|
46
|
+
if (!seen.has(p.id)) {
|
|
47
|
+
seen.add(p.id);
|
|
48
|
+
merged.push(p);
|
|
49
|
+
}
|
|
23
50
|
}
|
|
24
|
-
return
|
|
51
|
+
return merged;
|
|
25
52
|
},
|
|
26
53
|
});
|
|
27
54
|
|
|
28
|
-
export function listProviderApiCatalog(provider?:
|
|
55
|
+
export function listProviderApiCatalog(provider?: string) {
|
|
29
56
|
return runtime.listCatalog(provider);
|
|
30
57
|
}
|
|
31
58
|
|
|
32
59
|
export function fetchProviderApiDocs(options: {
|
|
33
|
-
provider:
|
|
60
|
+
provider: string;
|
|
34
61
|
url?: string;
|
|
35
62
|
maxBytes?: number;
|
|
36
63
|
}) {
|