@slashfi/agents-sdk 0.39.0 → 0.40.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.
@@ -0,0 +1,137 @@
1
+ /**
2
+ * ADK Config Store — programmatic API for managing registries and refs.
3
+ *
4
+ * Provides a `createAdk(fs, options?)` factory that returns an object
5
+ * with `registry.*` and `ref.*` namespaces. Backed by a pluggable
6
+ * FsStore so it works with local filesystem (CLI) or VCS (atlas).
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createAdk, createLocalFsStore } from '@slashfi/agents-sdk';
11
+ *
12
+ * const adk = createAdk(createLocalFsStore());
13
+ * await adk.registry.add({ url: 'https://registry.slash.com', name: 'slash' });
14
+ * await adk.registry.browse('slash');
15
+ * await adk.ref.add({ ref: 'notion', registry: 'slash' });
16
+ * await adk.ref.call('notion', 'notion-search', { query: 'hello' });
17
+ * ```
18
+ */
19
+ import type { FsStore } from "./agent-definitions/config.js";
20
+ import type { ConsumerConfig, RefEntry, RegistryEntry, ResolvedRef } from "./define-config.js";
21
+ import type { AgentListing, RegistryConfiguration } from "./registry-consumer.js";
22
+ import type { CallAgentResponse, SecuritySchemeSummary } from "./types.js";
23
+ export interface AdkOptions {
24
+ /** Passphrase for encrypting/decrypting secret: values */
25
+ encryptionKey?: string;
26
+ /** Bearer token for authenticated registries */
27
+ token?: string;
28
+ /**
29
+ * OAuth callback URL. Defaults to http://localhost:8919/callback.
30
+ * Set this to your server's callback endpoint in non-local environments
31
+ * (e.g. atlas), then call adk.handleCallback() when it arrives.
32
+ */
33
+ oauthCallbackUrl?: string;
34
+ /** Port for local OAuth callback server (default 8919) */
35
+ oauthCallbackPort?: number;
36
+ /** Client name for OAuth dynamic client registration (default: "Claude Code") */
37
+ oauthClientName?: string;
38
+ }
39
+ export interface RegistryTestResult {
40
+ name: string;
41
+ url: string;
42
+ status: "active" | "error";
43
+ issuer?: string;
44
+ error?: string;
45
+ }
46
+ export interface AdkRegistryApi {
47
+ add(entry: RegistryEntry): Promise<void>;
48
+ remove(nameOrUrl: string): Promise<boolean>;
49
+ list(): Promise<RegistryEntry[]>;
50
+ get(name: string): Promise<RegistryEntry | null>;
51
+ update(name: string, updates: Partial<RegistryEntry>): Promise<boolean>;
52
+ browse(name: string, query?: string): Promise<AgentListing[]>;
53
+ inspect(name: string): Promise<RegistryConfiguration>;
54
+ test(name?: string): Promise<RegistryTestResult[]>;
55
+ }
56
+ /** Describes what auth a ref needs and what's already provided */
57
+ export interface RefAuthStatus {
58
+ name: string;
59
+ security: SecuritySchemeSummary | null;
60
+ /** All required secret fields are present (may be untested) */
61
+ complete: boolean;
62
+ /** Fields that still need to be provided */
63
+ missing: string[];
64
+ /** Fields already stored */
65
+ present: string[];
66
+ }
67
+ export interface OAuthResult {
68
+ accessToken: string;
69
+ refreshToken?: string;
70
+ expiresIn?: number;
71
+ clientId: string;
72
+ }
73
+ export interface AuthStartResult {
74
+ type: string;
75
+ complete: boolean;
76
+ /** For OAuth: the URL to open in the browser */
77
+ authorizeUrl?: string;
78
+ }
79
+ export interface AdkRefApi {
80
+ add(entry: RefEntry): Promise<{
81
+ security: SecuritySchemeSummary | null;
82
+ }>;
83
+ remove(name: string): Promise<boolean>;
84
+ list(): Promise<ResolvedRef[]>;
85
+ get(name: string): Promise<RefEntry | null>;
86
+ update(name: string, updates: Partial<RefEntry>): Promise<boolean>;
87
+ inspect(name: string, options?: {
88
+ full?: boolean;
89
+ }): Promise<AgentListing | null>;
90
+ call(name: string, tool: string, params?: Record<string, unknown>): Promise<CallAgentResponse>;
91
+ resources(name: string): Promise<CallAgentResponse>;
92
+ read(name: string, uris: string[]): Promise<CallAgentResponse>;
93
+ /** Check auth status — what's needed vs what's stored */
94
+ authStatus(name: string): Promise<RefAuthStatus>;
95
+ /**
96
+ * Start the auth flow for a ref. Returns the authorize URL for OAuth.
97
+ * Call adk.handleCallback() when the callback arrives, or use
98
+ * adk.ref.authLocal() to spin up a local server and block.
99
+ */
100
+ auth(name: string, opts?: {
101
+ /** For API key / bearer auth: the key/token value */
102
+ apiKey?: string;
103
+ }): Promise<AuthStartResult>;
104
+ /**
105
+ * Run the full OAuth flow locally: start auth, spin up a callback
106
+ * server, open the browser, wait for the redirect, exchange tokens.
107
+ * Resolves when auth is complete or times out.
108
+ */
109
+ authLocal(name: string, opts?: {
110
+ /** Called with the authorize URL (e.g. to open in browser) */
111
+ onAuthorizeUrl?: (url: string) => void;
112
+ /** Timeout in ms (default 300_000 = 5 min) */
113
+ timeoutMs?: number;
114
+ }): Promise<{
115
+ complete: boolean;
116
+ }>;
117
+ }
118
+ export interface Adk {
119
+ registry: AdkRegistryApi;
120
+ ref: AdkRefApi;
121
+ readConfig(): Promise<ConsumerConfig>;
122
+ writeConfig(config: ConsumerConfig): Promise<void>;
123
+ /**
124
+ * Handle an OAuth callback. Works in any environment.
125
+ * Parse the callback query params and pass them here.
126
+ * @returns the ref name and whether auth is complete
127
+ */
128
+ handleCallback(params: {
129
+ code: string;
130
+ state: string;
131
+ }): Promise<{
132
+ refName: string;
133
+ complete: boolean;
134
+ }>;
135
+ }
136
+ export declare function createAdk(fs: FsStore, options?: AdkOptions): Adk;
137
+ //# sourceMappingURL=config-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../src/config-store.ts"],"names":[],"mappings":"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"}