@alpacakit/agents-conventions 0.1.0-beta.36 → 0.1.0-beta.39

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 ADDED
@@ -0,0 +1,750 @@
1
+ /**
2
+ * `@alpacakit/agents-conventions/cli` — the `agent` command surface, as DATA.
3
+ *
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
+ * and `semantic-trigger agent login` are the same command. Each product mounts
8
+ * `AGENT_CLI_SURFACE.node`, supplies an invocation context after parsing, and
9
+ * owns presentation of the typed outcome.
10
+ *
11
+ * `@alpacakit/channels` and `zod` are peers: importing the procedures must not
12
+ * drag a CLI framework in.
13
+ */
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";
18
+ export declare const AGENT_ENTRY_NAME: {
19
+ readonly list: "agent-list";
20
+ readonly login: "agent-login";
21
+ readonly credentialAdd: "agent-credential-add";
22
+ readonly add: "agent-add";
23
+ readonly remove: "agent-remove";
24
+ };
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;
51
+ } | null;
52
+ } | {
53
+ status: "indeterminate";
54
+ reason: "probe_timeout" | "probe_fault";
55
+ detail: string;
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;
299
+ } | {
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";
313
+ detail: string;
314
+ managedHome: string;
315
+ } | {
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: {
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
+ };
346
+ };
347
+ } | {
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: {
368
+ id: string;
369
+ kind: string;
370
+ enabled: boolean;
371
+ payload: Record<string, import("@alpacakit/agents").JsonValue>;
372
+ };
373
+ } | {
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: {
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
+ };
403
+ };
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">>]>>;
419
+ readonly endpoints: {
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">>]>;
602
+ };
603
+ readonly outputs: {
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
+ }>;
746
+ };
747
+ };
748
+ export type AgentCliSurface = typeof AGENT_CLI_SURFACE;
749
+ export {};
750
+ //# sourceMappingURL=cli.d.ts.map