@alpacakit/agents-conventions 0.1.0-beta.37 → 0.2.0-beta.2

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/cli.d.ts CHANGED
@@ -1,18 +1,20 @@
1
1
  /**
2
2
  * `@alpacakit/agents-conventions/cli` — the `agent` command surface, as DATA.
3
3
  *
4
- * There is no `bin` here and no handler: this module owns the vocabulary (the
5
- * command path, the flags, the projection into a procedure input, and the JSON
6
- * a result must be) so that `alpacaloop agent login`, `promptopt agent login`
4
+ * There is no `bin` or CLI runtime here: this module owns the vocabulary (the
5
+ * command path, flags, procedure input projection, shared procedure bridge,
6
+ * and result schema) so that `alpacaloop agent login`, `promptopt agent login`
7
7
  * and `semantic-trigger agent login` are the same command. Each product mounts
8
- * `AGENT_CLI_SURFACE.node` in its own tree and binds handlers that call the
9
- * procedures from the root export and print the result.
8
+ * `AGENT_CLI_SURFACE.node`, supplies an invocation context after parsing, and
9
+ * owns presentation of the typed outcome.
10
10
  *
11
11
  * `@alpacakit/channels` and `zod` are peers: importing the procedures must not
12
12
  * drag a CLI framework in.
13
13
  */
14
- import { type EntryTreeNode, type OutputContract } from "@alpacakit/channels";
15
- import type { AgentAddOutput, AgentCredentialAddOutput, AgentListOutput, AgentLoginOutput, AgentRemoveOutput } from "./cli-output.js";
14
+ import { type LoginEvent } from "@alpacakit/agents";
15
+ import { type AgentsHomeInput, type AgentsHomeListing } from "./home.js";
16
+ import { type AddAgentConfigResult, type AddApiKeyProfileResult, type LoginManagedHomeResult } from "./register.js";
17
+ import { type RemoveAgentsHomeEntryResult } from "./remove.js";
16
18
  export declare const AGENT_ENTRY_NAME: {
17
19
  readonly list: "agent-list";
18
20
  readonly login: "agent-login";
@@ -20,167 +22,729 @@ export declare const AGENT_ENTRY_NAME: {
20
22
  readonly add: "agent-add";
21
23
  readonly remove: "agent-remove";
22
24
  };
23
- declare const listEndpoint: import("@alpacakit/channels").EntryTreeEndpoint<import("@alpacakit/channels").EntryDefinitionWithOutput<"agent-list", readonly [], {}, {
24
- agentsHome: string;
25
- entries: {
26
- agentId: string;
27
- agentConfigId: string;
28
- kind: string;
29
- source: "profile" | "ambient" | "configured";
30
- profileId: string | null;
31
- availability: {
32
- status: "runnable";
33
- } | {
34
- status: "unavailable";
35
- reason: "command_missing" | "authentication_required";
36
- remediation: {
37
- detail: string;
38
- command: {
39
- executable: string;
40
- args: string[];
25
+ declare const listEntry: {
26
+ readonly name: "agent-list";
27
+ readonly parameters: readonly [];
28
+ readonly project: (input: {
29
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly []>;
30
+ }) => {};
31
+ } & {
32
+ readonly output: import("@alpacakit/channels").OutputContract<{
33
+ agentsHome: string;
34
+ entries: {
35
+ agentId: string;
36
+ agentConfigId: string;
37
+ kind: string;
38
+ source: "profile" | "ambient" | "configured";
39
+ profileId: string | null;
40
+ availability: {
41
+ status: "runnable";
42
+ } | {
43
+ status: "unavailable";
44
+ reason: "command_missing" | "authentication_required";
45
+ remediation: {
46
+ detail: string;
47
+ command: {
48
+ executable: string;
49
+ args: string[];
50
+ } | null;
41
51
  } | null;
52
+ } | {
53
+ status: "indeterminate";
54
+ reason: "probe_timeout" | "probe_fault";
55
+ detail: string;
42
56
  } | null;
57
+ }[];
58
+ }>;
59
+ };
60
+ declare const loginEntry: {
61
+ readonly name: "agent-login";
62
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>];
63
+ readonly project: (input: {
64
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>;
65
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>;
66
+ } & {
67
+ readonly output: import("@alpacakit/channels").OutputContract<{
68
+ kind: "registered";
69
+ profile: {
70
+ id: string;
71
+ agentId: string;
72
+ material: {
73
+ kind: "home-dir";
74
+ path: string;
75
+ } | {
76
+ kind: "api-key";
77
+ secret: {
78
+ resolver: string;
79
+ id: string;
80
+ };
81
+ };
82
+ };
83
+ managedHome: string;
84
+ } | {
85
+ kind: "profile_exists";
86
+ profileId: string;
87
+ } | {
88
+ kind: "unknown_agent";
89
+ agentId: string;
90
+ known: string[];
91
+ } | {
92
+ kind: "unsupported";
93
+ agentId: string;
94
+ method: string;
95
+ supported: string[];
96
+ } | {
97
+ kind: "login_failed";
98
+ detail: string;
99
+ managedHome: string;
100
+ } | {
101
+ kind: "invalid_name";
102
+ name: string;
103
+ rule: string;
104
+ }>;
105
+ };
106
+ declare const credentialAddEntry: {
107
+ readonly name: "agent-credential-add";
108
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>];
109
+ readonly project: (input: {
110
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>]>;
111
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>]>;
112
+ } & {
113
+ readonly output: import("@alpacakit/channels").OutputContract<{
114
+ kind: "invalid_name";
115
+ name: string;
116
+ rule: string;
117
+ } | {
118
+ kind: "registered";
119
+ profile: {
120
+ id: string;
121
+ agentId: string;
122
+ material: {
123
+ kind: "home-dir";
124
+ path: string;
125
+ } | {
126
+ kind: "api-key";
127
+ secret: {
128
+ resolver: string;
129
+ id: string;
130
+ };
131
+ };
132
+ };
133
+ } | {
134
+ kind: "profile_exists";
135
+ profileId: string;
136
+ } | {
137
+ kind: "empty_key";
138
+ profileId: string;
139
+ }>;
140
+ };
141
+ declare const addEntry: {
142
+ readonly name: "agent-add";
143
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>];
144
+ readonly project: (input: {
145
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>;
146
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>;
147
+ } & {
148
+ readonly output: import("@alpacakit/channels").OutputContract<{
149
+ kind: "invalid_name";
150
+ name: string;
151
+ rule: string;
152
+ } | {
153
+ kind: "added";
154
+ agentConfig: {
155
+ id: string;
156
+ kind: string;
157
+ enabled: boolean;
158
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
159
+ };
160
+ } | {
161
+ kind: "exists";
162
+ id: string;
163
+ }>;
164
+ };
165
+ declare const removeEntry: {
166
+ readonly name: "agent-remove";
167
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>];
168
+ readonly project: (input: {
169
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>]>;
170
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>]>;
171
+ } & {
172
+ readonly output: import("@alpacakit/channels").OutputContract<{
173
+ kind: "invalid_name";
174
+ name: string;
175
+ rule: string;
176
+ } | {
177
+ kind: "removed_profile";
178
+ profile: {
179
+ id: string;
180
+ agentId: string;
181
+ material: {
182
+ kind: "home-dir";
183
+ path: string;
184
+ } | {
185
+ kind: "api-key";
186
+ secret: {
187
+ resolver: string;
188
+ id: string;
189
+ };
190
+ };
191
+ };
192
+ removedManagedHome: string | null;
193
+ removedSecret: boolean;
194
+ } | {
195
+ kind: "removed_agent_config";
196
+ agentConfig: {
197
+ id: string;
198
+ kind: string;
199
+ enabled: boolean;
200
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
201
+ };
202
+ } | {
203
+ kind: "not_found";
204
+ name: string;
205
+ }>;
206
+ };
207
+ /**
208
+ * Invocation-scoped dependencies shared by the five agent Entry handlers.
209
+ * Constructing this object is pure: keyring, config, login and secret I/O are
210
+ * opened only by the selected procedure after input parsing succeeds.
211
+ */
212
+ export type AgentEntryContext = AgentsHomeInput & {
213
+ /** Reads the secret selected by `agent credential add --stdin`. */
214
+ readonly readCredentialSecret: () => Promise<string>;
215
+ /** Forwards typed login progress; presentation belongs to the caller. */
216
+ readonly onLoginEvent: (event: LoginEvent) => void;
217
+ readonly signal?: AbortSignal;
218
+ };
219
+ export declare function executeAgentList(_input: ReturnType<typeof listEntry.project>, context: AgentEntryContext): Promise<{
220
+ readonly operation: "agent-list";
221
+ readonly result: AgentsHomeListing;
222
+ }>;
223
+ export declare function executeAgentLogin(input: ReturnType<typeof loginEntry.project>, context: AgentEntryContext): Promise<{
224
+ readonly operation: "agent-login";
225
+ readonly result: LoginManagedHomeResult;
226
+ }>;
227
+ export declare function executeAgentCredentialAdd(input: ReturnType<typeof credentialAddEntry.project>, context: AgentEntryContext): Promise<{
228
+ readonly operation: "agent-credential-add";
229
+ readonly result: AddApiKeyProfileResult;
230
+ }>;
231
+ export declare function executeAgentAdd(input: ReturnType<typeof addEntry.project>, context: AgentEntryContext): Promise<{
232
+ readonly operation: "agent-add";
233
+ readonly result: AddAgentConfigResult;
234
+ }>;
235
+ export declare function executeAgentRemove(input: ReturnType<typeof removeEntry.project>, context: AgentEntryContext): Promise<{
236
+ readonly operation: "agent-remove";
237
+ readonly result: RemoveAgentsHomeEntryResult;
238
+ }>;
239
+ export type AgentEntryOutcome = Awaited<ReturnType<typeof executeAgentList>> | Awaited<ReturnType<typeof executeAgentLogin>> | Awaited<ReturnType<typeof executeAgentCredentialAdd>> | Awaited<ReturnType<typeof executeAgentAdd>> | Awaited<ReturnType<typeof executeAgentRemove>>;
240
+ export declare const AGENT_CLI_SURFACE: {
241
+ readonly node: import("@alpacakit/channels").EntryTreeNode<import("@alpacakit/channels").EntryTreeEndpoint<{
242
+ readonly name: "agent-list";
243
+ readonly parameters: readonly [];
244
+ readonly project: (input: {
245
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly []>;
246
+ }) => {};
247
+ } & {
248
+ readonly output: import("@alpacakit/channels").OutputContract<{
249
+ agentsHome: string;
250
+ entries: {
251
+ agentId: string;
252
+ agentConfigId: string;
253
+ kind: string;
254
+ source: "profile" | "ambient" | "configured";
255
+ profileId: string | null;
256
+ availability: {
257
+ status: "runnable";
258
+ } | {
259
+ status: "unavailable";
260
+ reason: "command_missing" | "authentication_required";
261
+ remediation: {
262
+ detail: string;
263
+ command: {
264
+ executable: string;
265
+ args: string[];
266
+ } | null;
267
+ } | null;
268
+ } | {
269
+ status: "indeterminate";
270
+ reason: "probe_timeout" | "probe_fault";
271
+ detail: string;
272
+ } | null;
273
+ }[];
274
+ }>;
275
+ }, typeof executeAgentList, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<never>>]> | import("@alpacakit/channels").EntryTreeEndpoint<{
276
+ readonly name: "agent-login";
277
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>];
278
+ readonly project: (input: {
279
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>;
280
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>;
281
+ } & {
282
+ readonly output: import("@alpacakit/channels").OutputContract<{
283
+ kind: "registered";
284
+ profile: {
285
+ id: string;
286
+ agentId: string;
287
+ material: {
288
+ kind: "home-dir";
289
+ path: string;
290
+ } | {
291
+ kind: "api-key";
292
+ secret: {
293
+ resolver: string;
294
+ id: string;
295
+ };
296
+ };
297
+ };
298
+ managedHome: string;
43
299
  } | {
44
- status: "indeterminate";
45
- reason: "probe_timeout" | "probe_fault";
300
+ kind: "profile_exists";
301
+ profileId: string;
302
+ } | {
303
+ kind: "unknown_agent";
304
+ agentId: string;
305
+ known: string[];
306
+ } | {
307
+ kind: "unsupported";
308
+ agentId: string;
309
+ method: string;
310
+ supported: string[];
311
+ } | {
312
+ kind: "login_failed";
46
313
  detail: string;
47
- } | null;
48
- }[];
49
- }>>;
50
- declare const loginEndpoint: import("@alpacakit/channels").EntryTreeEndpoint<import("@alpacakit/channels").EntryDefinitionWithOutput<"agent-login", readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>], import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>, {
51
- kind: "registered";
52
- profile: {
53
- id: string;
54
- agentId: string;
55
- material: {
56
- kind: "home-dir";
57
- path: string;
314
+ managedHome: string;
58
315
  } | {
59
- kind: "api-key";
60
- secret: {
61
- resolver: string;
316
+ kind: "invalid_name";
317
+ name: string;
318
+ rule: string;
319
+ }>;
320
+ }, typeof executeAgentLogin, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"profileId" | "agentId" | "method">>]> | import("@alpacakit/channels").EntryTreeEndpoint<{
321
+ readonly name: "agent-credential-add";
322
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>];
323
+ readonly project: (input: {
324
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>]>;
325
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>]>;
326
+ } & {
327
+ readonly output: import("@alpacakit/channels").OutputContract<{
328
+ kind: "invalid_name";
329
+ name: string;
330
+ rule: string;
331
+ } | {
332
+ kind: "registered";
333
+ profile: {
62
334
  id: string;
335
+ agentId: string;
336
+ material: {
337
+ kind: "home-dir";
338
+ path: string;
339
+ } | {
340
+ kind: "api-key";
341
+ secret: {
342
+ resolver: string;
343
+ id: string;
344
+ };
345
+ };
63
346
  };
64
- };
65
- };
66
- managedHome: string;
67
- } | {
68
- kind: "profile_exists";
69
- profileId: string;
70
- } | {
71
- kind: "unknown_agent";
72
- agentId: string;
73
- known: string[];
74
- } | {
75
- kind: "unsupported";
76
- agentId: string;
77
- method: string;
78
- supported: string[];
79
- } | {
80
- kind: "login_failed";
81
- detail: string;
82
- managedHome: string;
83
- } | {
84
- kind: "invalid_name";
85
- name: string;
86
- rule: string;
87
- }>>;
88
- declare const credentialAddEndpoint: import("@alpacakit/channels").EntryTreeEndpoint<import("@alpacakit/channels").EntryDefinitionWithOutput<"agent-credential-add", readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", boolean, import("@alpacakit/channels").RequiredParameterRequirement>], import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", boolean, import("@alpacakit/channels").RequiredParameterRequirement>]>, {
89
- kind: "invalid_name";
90
- name: string;
91
- rule: string;
92
- } | {
93
- kind: "registered";
94
- profile: {
95
- id: string;
96
- agentId: string;
97
- material: {
98
- kind: "home-dir";
99
- path: string;
100
347
  } | {
101
- kind: "api-key";
102
- secret: {
103
- resolver: string;
348
+ kind: "profile_exists";
349
+ profileId: string;
350
+ } | {
351
+ kind: "empty_key";
352
+ profileId: string;
353
+ }>;
354
+ }, typeof executeAgentCredentialAdd, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"profileId" | "agentId" | "stdin">>]> | import("@alpacakit/channels").EntryTreeEndpoint<{
355
+ readonly name: "agent-add";
356
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>];
357
+ readonly project: (input: {
358
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>;
359
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>;
360
+ } & {
361
+ readonly output: import("@alpacakit/channels").OutputContract<{
362
+ kind: "invalid_name";
363
+ name: string;
364
+ rule: string;
365
+ } | {
366
+ kind: "added";
367
+ agentConfig: {
104
368
  id: string;
369
+ kind: string;
370
+ enabled: boolean;
371
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
105
372
  };
106
- };
107
- };
108
- } | {
109
- kind: "profile_exists";
110
- profileId: string;
111
- } | {
112
- kind: "empty_key";
113
- profileId: string;
114
- }>>;
115
- declare const addEndpoint: import("@alpacakit/channels").EntryTreeEndpoint<import("@alpacakit/channels").EntryDefinitionWithOutput<"agent-add", readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>], import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>, {
116
- kind: "invalid_name";
117
- name: string;
118
- rule: string;
119
- } | {
120
- kind: "added";
121
- agentConfig: {
122
- id: string;
123
- kind: string;
124
- enabled: boolean;
125
- payload: Record<string, import("@alpacakit/agents").JsonValue>;
126
- };
127
- } | {
128
- kind: "exists";
129
- id: string;
130
- }>>;
131
- declare const removeEndpoint: import("@alpacakit/channels").EntryTreeEndpoint<import("@alpacakit/channels").EntryDefinitionWithOutput<"agent-remove", readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, import("@alpacakit/channels").RequiredParameterRequirement>], import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, import("@alpacakit/channels").RequiredParameterRequirement>]>, {
132
- kind: "invalid_name";
133
- name: string;
134
- rule: string;
135
- } | {
136
- kind: "removed_profile";
137
- profile: {
138
- id: string;
139
- agentId: string;
140
- material: {
141
- kind: "home-dir";
142
- path: string;
143
373
  } | {
144
- kind: "api-key";
145
- secret: {
146
- resolver: string;
374
+ kind: "exists";
375
+ id: string;
376
+ }>;
377
+ }, typeof executeAgentAdd, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"kind" | "id" | "engine" | "baseUrl" | "model" | "apiKeyEnv">>]> | import("@alpacakit/channels").EntryTreeEndpoint<{
378
+ readonly name: "agent-remove";
379
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>];
380
+ readonly project: (input: {
381
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>]>;
382
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>]>;
383
+ } & {
384
+ readonly output: import("@alpacakit/channels").OutputContract<{
385
+ kind: "invalid_name";
386
+ name: string;
387
+ rule: string;
388
+ } | {
389
+ kind: "removed_profile";
390
+ profile: {
147
391
  id: string;
392
+ agentId: string;
393
+ material: {
394
+ kind: "home-dir";
395
+ path: string;
396
+ } | {
397
+ kind: "api-key";
398
+ secret: {
399
+ resolver: string;
400
+ id: string;
401
+ };
402
+ };
148
403
  };
149
- };
150
- };
151
- removedManagedHome: string | null;
152
- removedSecret: boolean;
153
- } | {
154
- kind: "removed_agent_config";
155
- agentConfig: {
156
- id: string;
157
- kind: string;
158
- enabled: boolean;
159
- payload: Record<string, import("@alpacakit/agents").JsonValue>;
160
- };
161
- } | {
162
- kind: "not_found";
163
- name: string;
164
- }>>;
165
- export type AgentCliSurface = {
166
- /** Mount this in the product's own entry tree. */
167
- readonly node: EntryTreeNode;
404
+ removedManagedHome: string | null;
405
+ removedSecret: boolean;
406
+ } | {
407
+ kind: "removed_agent_config";
408
+ agentConfig: {
409
+ id: string;
410
+ kind: string;
411
+ enabled: boolean;
412
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
413
+ };
414
+ } | {
415
+ kind: "not_found";
416
+ name: string;
417
+ }>;
418
+ }, typeof executeAgentRemove, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"name">>]>>;
168
419
  readonly endpoints: {
169
- readonly list: typeof listEndpoint;
170
- readonly login: typeof loginEndpoint;
171
- readonly credentialAdd: typeof credentialAddEndpoint;
172
- readonly add: typeof addEndpoint;
173
- readonly remove: typeof removeEndpoint;
420
+ readonly list: import("@alpacakit/channels").EntryTreeEndpoint<{
421
+ readonly name: "agent-list";
422
+ readonly parameters: readonly [];
423
+ readonly project: (input: {
424
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly []>;
425
+ }) => {};
426
+ } & {
427
+ readonly output: import("@alpacakit/channels").OutputContract<{
428
+ agentsHome: string;
429
+ entries: {
430
+ agentId: string;
431
+ agentConfigId: string;
432
+ kind: string;
433
+ source: "profile" | "ambient" | "configured";
434
+ profileId: string | null;
435
+ availability: {
436
+ status: "runnable";
437
+ } | {
438
+ status: "unavailable";
439
+ reason: "command_missing" | "authentication_required";
440
+ remediation: {
441
+ detail: string;
442
+ command: {
443
+ executable: string;
444
+ args: string[];
445
+ } | null;
446
+ } | null;
447
+ } | {
448
+ status: "indeterminate";
449
+ reason: "probe_timeout" | "probe_fault";
450
+ detail: string;
451
+ } | null;
452
+ }[];
453
+ }>;
454
+ }, typeof executeAgentList, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<never>>]>;
455
+ readonly login: import("@alpacakit/channels").EntryTreeEndpoint<{
456
+ readonly name: "agent-login";
457
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>];
458
+ readonly project: (input: {
459
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>;
460
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", "claude" | "codex", "claude" | "codex", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"method", "oauth" | "device", "oauth" | "device", import("@alpacakit/channels").OptionalWithDefaultParameterRequirement<"oauth">>]>;
461
+ } & {
462
+ readonly output: import("@alpacakit/channels").OutputContract<{
463
+ kind: "registered";
464
+ profile: {
465
+ id: string;
466
+ agentId: string;
467
+ material: {
468
+ kind: "home-dir";
469
+ path: string;
470
+ } | {
471
+ kind: "api-key";
472
+ secret: {
473
+ resolver: string;
474
+ id: string;
475
+ };
476
+ };
477
+ };
478
+ managedHome: string;
479
+ } | {
480
+ kind: "profile_exists";
481
+ profileId: string;
482
+ } | {
483
+ kind: "unknown_agent";
484
+ agentId: string;
485
+ known: string[];
486
+ } | {
487
+ kind: "unsupported";
488
+ agentId: string;
489
+ method: string;
490
+ supported: string[];
491
+ } | {
492
+ kind: "login_failed";
493
+ detail: string;
494
+ managedHome: string;
495
+ } | {
496
+ kind: "invalid_name";
497
+ name: string;
498
+ rule: string;
499
+ }>;
500
+ }, typeof executeAgentLogin, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"profileId" | "agentId" | "method">>]>;
501
+ readonly credentialAdd: import("@alpacakit/channels").EntryTreeEndpoint<{
502
+ readonly name: "agent-credential-add";
503
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>];
504
+ readonly project: (input: {
505
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>]>;
506
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"profileId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"agentId", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"stdin", true, true, import("@alpacakit/channels").RequiredParameterRequirement>]>;
507
+ } & {
508
+ readonly output: import("@alpacakit/channels").OutputContract<{
509
+ kind: "invalid_name";
510
+ name: string;
511
+ rule: string;
512
+ } | {
513
+ kind: "registered";
514
+ profile: {
515
+ id: string;
516
+ agentId: string;
517
+ material: {
518
+ kind: "home-dir";
519
+ path: string;
520
+ } | {
521
+ kind: "api-key";
522
+ secret: {
523
+ resolver: string;
524
+ id: string;
525
+ };
526
+ };
527
+ };
528
+ } | {
529
+ kind: "profile_exists";
530
+ profileId: string;
531
+ } | {
532
+ kind: "empty_key";
533
+ profileId: string;
534
+ }>;
535
+ }, typeof executeAgentCredentialAdd, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"profileId" | "agentId" | "stdin">>]>;
536
+ readonly add: import("@alpacakit/channels").EntryTreeEndpoint<{
537
+ readonly name: "agent-add";
538
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>];
539
+ readonly project: (input: {
540
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>;
541
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"id", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"kind", "openai-compatible", "openai-compatible", import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"baseUrl", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"model", string, string, import("@alpacakit/channels").RequiredParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"apiKeyEnv", string, string, import("@alpacakit/channels").OptionalParameterRequirement>, import("@alpacakit/channels").ParameterDefinition<"engine", "fetch" | "pi", "fetch" | "pi", import("@alpacakit/channels").OptionalParameterRequirement>]>;
542
+ } & {
543
+ readonly output: import("@alpacakit/channels").OutputContract<{
544
+ kind: "invalid_name";
545
+ name: string;
546
+ rule: string;
547
+ } | {
548
+ kind: "added";
549
+ agentConfig: {
550
+ id: string;
551
+ kind: string;
552
+ enabled: boolean;
553
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
554
+ };
555
+ } | {
556
+ kind: "exists";
557
+ id: string;
558
+ }>;
559
+ }, typeof executeAgentAdd, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"kind" | "id" | "engine" | "baseUrl" | "model" | "apiKeyEnv">>]>;
560
+ readonly remove: import("@alpacakit/channels").EntryTreeEndpoint<{
561
+ readonly name: "agent-remove";
562
+ readonly parameters: readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>];
563
+ readonly project: (input: {
564
+ readonly values: import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>]>;
565
+ }) => import("@alpacakit/channels").ParameterValues<readonly [import("@alpacakit/channels").ParameterDefinition<"name", string, string, import("@alpacakit/channels").RequiredParameterRequirement>]>;
566
+ } & {
567
+ readonly output: import("@alpacakit/channels").OutputContract<{
568
+ kind: "invalid_name";
569
+ name: string;
570
+ rule: string;
571
+ } | {
572
+ kind: "removed_profile";
573
+ profile: {
574
+ id: string;
575
+ agentId: string;
576
+ material: {
577
+ kind: "home-dir";
578
+ path: string;
579
+ } | {
580
+ kind: "api-key";
581
+ secret: {
582
+ resolver: string;
583
+ id: string;
584
+ };
585
+ };
586
+ };
587
+ removedManagedHome: string | null;
588
+ removedSecret: boolean;
589
+ } | {
590
+ kind: "removed_agent_config";
591
+ agentConfig: {
592
+ id: string;
593
+ kind: string;
594
+ enabled: boolean;
595
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
596
+ };
597
+ } | {
598
+ kind: "not_found";
599
+ name: string;
600
+ }>;
601
+ }, typeof executeAgentRemove, readonly [import("@alpacakit/channels").EntryChannelBinding<"cli", import("@alpacakit/channels/cli").CliEntryBinding<"name">>]>;
174
602
  };
175
- /** The JSON each result must be, for products that emit machine output. */
176
603
  readonly outputs: {
177
- readonly list: OutputContract<AgentListOutput>;
178
- readonly login: OutputContract<AgentLoginOutput>;
179
- readonly credentialAdd: OutputContract<AgentCredentialAddOutput>;
180
- readonly add: OutputContract<AgentAddOutput>;
181
- readonly remove: OutputContract<AgentRemoveOutput>;
604
+ readonly list: import("@alpacakit/channels").OutputContract<{
605
+ agentsHome: string;
606
+ entries: {
607
+ agentId: string;
608
+ agentConfigId: string;
609
+ kind: string;
610
+ source: "profile" | "ambient" | "configured";
611
+ profileId: string | null;
612
+ availability: {
613
+ status: "runnable";
614
+ } | {
615
+ status: "unavailable";
616
+ reason: "command_missing" | "authentication_required";
617
+ remediation: {
618
+ detail: string;
619
+ command: {
620
+ executable: string;
621
+ args: string[];
622
+ } | null;
623
+ } | null;
624
+ } | {
625
+ status: "indeterminate";
626
+ reason: "probe_timeout" | "probe_fault";
627
+ detail: string;
628
+ } | null;
629
+ }[];
630
+ }>;
631
+ readonly login: import("@alpacakit/channels").OutputContract<{
632
+ kind: "registered";
633
+ profile: {
634
+ id: string;
635
+ agentId: string;
636
+ material: {
637
+ kind: "home-dir";
638
+ path: string;
639
+ } | {
640
+ kind: "api-key";
641
+ secret: {
642
+ resolver: string;
643
+ id: string;
644
+ };
645
+ };
646
+ };
647
+ managedHome: string;
648
+ } | {
649
+ kind: "profile_exists";
650
+ profileId: string;
651
+ } | {
652
+ kind: "unknown_agent";
653
+ agentId: string;
654
+ known: string[];
655
+ } | {
656
+ kind: "unsupported";
657
+ agentId: string;
658
+ method: string;
659
+ supported: string[];
660
+ } | {
661
+ kind: "login_failed";
662
+ detail: string;
663
+ managedHome: string;
664
+ } | {
665
+ kind: "invalid_name";
666
+ name: string;
667
+ rule: string;
668
+ }>;
669
+ readonly credentialAdd: import("@alpacakit/channels").OutputContract<{
670
+ kind: "invalid_name";
671
+ name: string;
672
+ rule: string;
673
+ } | {
674
+ kind: "registered";
675
+ profile: {
676
+ id: string;
677
+ agentId: string;
678
+ material: {
679
+ kind: "home-dir";
680
+ path: string;
681
+ } | {
682
+ kind: "api-key";
683
+ secret: {
684
+ resolver: string;
685
+ id: string;
686
+ };
687
+ };
688
+ };
689
+ } | {
690
+ kind: "profile_exists";
691
+ profileId: string;
692
+ } | {
693
+ kind: "empty_key";
694
+ profileId: string;
695
+ }>;
696
+ readonly add: import("@alpacakit/channels").OutputContract<{
697
+ kind: "invalid_name";
698
+ name: string;
699
+ rule: string;
700
+ } | {
701
+ kind: "added";
702
+ agentConfig: {
703
+ id: string;
704
+ kind: string;
705
+ enabled: boolean;
706
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
707
+ };
708
+ } | {
709
+ kind: "exists";
710
+ id: string;
711
+ }>;
712
+ readonly remove: import("@alpacakit/channels").OutputContract<{
713
+ kind: "invalid_name";
714
+ name: string;
715
+ rule: string;
716
+ } | {
717
+ kind: "removed_profile";
718
+ profile: {
719
+ id: string;
720
+ agentId: string;
721
+ material: {
722
+ kind: "home-dir";
723
+ path: string;
724
+ } | {
725
+ kind: "api-key";
726
+ secret: {
727
+ resolver: string;
728
+ id: string;
729
+ };
730
+ };
731
+ };
732
+ removedManagedHome: string | null;
733
+ removedSecret: boolean;
734
+ } | {
735
+ kind: "removed_agent_config";
736
+ agentConfig: {
737
+ id: string;
738
+ kind: string;
739
+ enabled: boolean;
740
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
741
+ };
742
+ } | {
743
+ kind: "not_found";
744
+ name: string;
745
+ }>;
182
746
  };
183
747
  };
184
- export declare const AGENT_CLI_SURFACE: AgentCliSurface;
748
+ export type AgentCliSurface = typeof AGENT_CLI_SURFACE;
185
749
  export {};
186
750
  //# sourceMappingURL=cli.d.ts.map