@opentag/cli 0.2.0 → 0.3.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.
Files changed (56) hide show
  1. package/README.md +11 -0
  2. package/dist/cancel.d.ts +28 -0
  3. package/dist/cancel.d.ts.map +1 -0
  4. package/dist/catalogs/capabilities.d.ts +32 -0
  5. package/dist/catalogs/capabilities.d.ts.map +1 -0
  6. package/dist/catalogs/executors.d.ts +4 -3
  7. package/dist/catalogs/executors.d.ts.map +1 -1
  8. package/dist/catalogs/platforms.d.ts +1 -1
  9. package/dist/catalogs/platforms.d.ts.map +1 -1
  10. package/dist/commands/executors.d.ts +3 -0
  11. package/dist/commands/executors.d.ts.map +1 -1
  12. package/dist/commands/platforms.d.ts +6 -1
  13. package/dist/commands/platforms.d.ts.map +1 -1
  14. package/dist/commands/setup.d.ts +1 -0
  15. package/dist/commands/setup.d.ts.map +1 -1
  16. package/dist/config.d.ts +894 -52
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/doctor.d.ts +4 -0
  19. package/dist/doctor.d.ts.map +1 -1
  20. package/dist/index.js +4033 -1542
  21. package/dist/index.js.map +1 -1
  22. package/dist/ingest.d.ts +65 -0
  23. package/dist/ingest.d.ts.map +1 -0
  24. package/dist/maintenance.d.ts +28 -0
  25. package/dist/maintenance.d.ts.map +1 -0
  26. package/dist/pair.d.ts +29 -0
  27. package/dist/pair.d.ts.map +1 -0
  28. package/dist/platforms/gitlab/display.d.ts +10 -0
  29. package/dist/platforms/gitlab/display.d.ts.map +1 -0
  30. package/dist/platforms/lark/registration-ui.d.ts +4 -3
  31. package/dist/platforms/lark/registration-ui.d.ts.map +1 -1
  32. package/dist/platforms/ports.d.ts +1 -0
  33. package/dist/platforms/ports.d.ts.map +1 -1
  34. package/dist/project-target-summary.d.ts +5 -0
  35. package/dist/project-target-summary.d.ts.map +1 -0
  36. package/dist/relay-security.d.ts +12 -0
  37. package/dist/relay-security.d.ts.map +1 -0
  38. package/dist/secret-readiness.d.ts +2 -0
  39. package/dist/secret-readiness.d.ts.map +1 -0
  40. package/dist/service.d.ts +87 -0
  41. package/dist/service.d.ts.map +1 -0
  42. package/dist/setup/builders.d.ts.map +1 -1
  43. package/dist/setup/defaults.d.ts.map +1 -1
  44. package/dist/setup/flow.d.ts +17 -3
  45. package/dist/setup/flow.d.ts.map +1 -1
  46. package/dist/setup/guides.d.ts.map +1 -1
  47. package/dist/setup/summary.d.ts.map +1 -1
  48. package/dist/setup/types.d.ts +18 -3
  49. package/dist/setup/types.d.ts.map +1 -1
  50. package/dist/start.d.ts +38 -7
  51. package/dist/start.d.ts.map +1 -1
  52. package/dist/status.d.ts +70 -0
  53. package/dist/status.d.ts.map +1 -1
  54. package/dist/ui/messages.d.ts +1 -1
  55. package/dist/ui/messages.d.ts.map +1 -1
  56. package/package.json +9 -9
package/dist/config.d.ts CHANGED
@@ -1,8 +1,46 @@
1
1
  import { type OpenTagDaemonConfig } from "@opentag/local-runtime";
2
2
  import { z } from "zod";
3
- import type { ExecutorId } from "./catalogs/executors.js";
4
3
  import type { CliLanguage } from "./catalogs/languages.js";
5
4
  import type { PlatformId } from "./catalogs/platforms.js";
5
+ declare const SecretRefSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
6
+ kind: z.ZodLiteral<"env">;
7
+ name: z.ZodString;
8
+ }, "strict", z.ZodTypeAny, {
9
+ kind: "env";
10
+ name: string;
11
+ }, {
12
+ kind: "env";
13
+ name: string;
14
+ }>, z.ZodObject<{
15
+ kind: z.ZodLiteral<"file">;
16
+ path: z.ZodString;
17
+ }, "strict", z.ZodTypeAny, {
18
+ kind: "file";
19
+ path: string;
20
+ }, {
21
+ kind: "file";
22
+ path: string;
23
+ }>, z.ZodObject<{
24
+ kind: z.ZodLiteral<"keychain">;
25
+ service: z.ZodString;
26
+ account: z.ZodString;
27
+ }, "strict", z.ZodTypeAny, {
28
+ kind: "keychain";
29
+ service: string;
30
+ account: string;
31
+ }, {
32
+ kind: "keychain";
33
+ service: string;
34
+ account: string;
35
+ }>]>;
36
+ export type SecretRef = z.infer<typeof SecretRefSchema>;
37
+ export type KeychainSecretRef = Extract<SecretRef, {
38
+ kind: "keychain";
39
+ }>;
40
+ type ExecFileSyncLike = (file: string, args: readonly string[], options: {
41
+ encoding: "utf8";
42
+ }) => string | Buffer;
43
+ export declare function readKeychainSecret(ref: KeychainSecretRef, execFileSyncImpl?: ExecFileSyncLike): string;
6
44
  export declare const OpenTagCliConfigSchema: z.ZodObject<{
7
45
  schemaVersion: z.ZodLiteral<1>;
8
46
  state: z.ZodObject<{
@@ -18,11 +56,30 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
18
56
  directory: string;
19
57
  databasePath: string;
20
58
  }>;
59
+ runtime: z.ZodOptional<z.ZodDiscriminatedUnion<"mode", [z.ZodObject<{
60
+ mode: z.ZodLiteral<"local">;
61
+ }, "strict", z.ZodTypeAny, {
62
+ mode: "local";
63
+ }, {
64
+ mode: "local";
65
+ }>, z.ZodObject<{
66
+ mode: z.ZodLiteral<"relay">;
67
+ relayUrl: z.ZodString;
68
+ relayProvider: z.ZodOptional<z.ZodString>;
69
+ }, "strict", z.ZodTypeAny, {
70
+ mode: "relay";
71
+ relayUrl: string;
72
+ relayProvider?: string | undefined;
73
+ }, {
74
+ mode: "relay";
75
+ relayUrl: string;
76
+ relayProvider?: string | undefined;
77
+ }>]>>;
21
78
  preferences: z.ZodOptional<z.ZodObject<{
22
79
  language: z.ZodOptional<z.ZodEnum<["en", "zh-CN"]>>;
23
80
  lastSetup: z.ZodOptional<z.ZodObject<{
24
- platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["lark", "slack", "github", "telegram"]>, "many">>;
25
- executor: z.ZodOptional<z.ZodEnum<["echo", "codex", "claude-code"]>>;
81
+ platforms: z.ZodOptional<z.ZodArray<z.ZodEnum<["lark", "slack", "github", "gitlab", "telegram"]>, "many">>;
82
+ executor: z.ZodOptional<z.ZodString>;
26
83
  projectPath: z.ZodOptional<z.ZodString>;
27
84
  larkSetupMethod: z.ZodOptional<z.ZodEnum<["saved", "scan", "manual"]>>;
28
85
  larkDomain: z.ZodOptional<z.ZodEnum<["lark", "feishu"]>>;
@@ -36,8 +93,8 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
36
93
  githubPort: z.ZodOptional<z.ZodNumber>;
37
94
  githubAutoCreatePullRequest: z.ZodOptional<z.ZodBoolean>;
38
95
  }, "strict", z.ZodTypeAny, {
39
- platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
40
- executor?: "echo" | "codex" | "claude-code" | undefined;
96
+ platforms?: ("lark" | "slack" | "github" | "gitlab" | "telegram")[] | undefined;
97
+ executor?: string | undefined;
41
98
  projectPath?: string | undefined;
42
99
  larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
43
100
  larkDomain?: "lark" | "feishu" | undefined;
@@ -51,8 +108,8 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
51
108
  githubPort?: number | undefined;
52
109
  githubAutoCreatePullRequest?: boolean | undefined;
53
110
  }, {
54
- platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
55
- executor?: "echo" | "codex" | "claude-code" | undefined;
111
+ platforms?: ("lark" | "slack" | "github" | "gitlab" | "telegram")[] | undefined;
112
+ executor?: string | undefined;
56
113
  projectPath?: string | undefined;
57
114
  larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
58
115
  larkDomain?: "lark" | "feishu" | undefined;
@@ -69,8 +126,8 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
69
126
  }, "strict", z.ZodTypeAny, {
70
127
  language?: "en" | "zh-CN" | undefined;
71
128
  lastSetup?: {
72
- platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
73
- executor?: "echo" | "codex" | "claude-code" | undefined;
129
+ platforms?: ("lark" | "slack" | "github" | "gitlab" | "telegram")[] | undefined;
130
+ executor?: string | undefined;
74
131
  projectPath?: string | undefined;
75
132
  larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
76
133
  larkDomain?: "lark" | "feishu" | undefined;
@@ -87,8 +144,8 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
87
144
  }, {
88
145
  language?: "en" | "zh-CN" | undefined;
89
146
  lastSetup?: {
90
- platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
91
- executor?: "echo" | "codex" | "claude-code" | undefined;
147
+ platforms?: ("lark" | "slack" | "github" | "gitlab" | "telegram")[] | undefined;
148
+ executor?: string | undefined;
92
149
  projectPath?: string | undefined;
93
150
  larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
94
151
  larkDomain?: "lark" | "feishu" | undefined;
@@ -111,7 +168,7 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
111
168
  owner: z.ZodString;
112
169
  repo: z.ZodString;
113
170
  checkoutPath: z.ZodString;
114
- defaultExecutor: z.ZodEnum<["echo", "codex", "claude-code"]>;
171
+ defaultExecutor: z.ZodString;
115
172
  baseBranch: z.ZodString;
116
173
  pushRemote: z.ZodString;
117
174
  worktreeRoot: z.ZodString;
@@ -121,7 +178,7 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
121
178
  owner: string;
122
179
  repo: string;
123
180
  checkoutPath: string;
124
- defaultExecutor: "echo" | "codex" | "claude-code";
181
+ defaultExecutor: string;
125
182
  baseBranch: string;
126
183
  pushRemote: string;
127
184
  worktreeRoot: string;
@@ -131,7 +188,7 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
131
188
  owner: string;
132
189
  repo: string;
133
190
  checkoutPath: string;
134
- defaultExecutor: "echo" | "codex" | "claude-code";
191
+ defaultExecutor: string;
135
192
  baseBranch: string;
136
193
  pushRemote: string;
137
194
  worktreeRoot: string;
@@ -178,6 +235,29 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
178
235
  permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
179
236
  dangerouslySkipPermissions?: boolean | undefined;
180
237
  }>>;
238
+ hermes: z.ZodOptional<z.ZodObject<{
239
+ command: z.ZodOptional<z.ZodString>;
240
+ profile: z.ZodOptional<z.ZodString>;
241
+ profileTemplate: z.ZodOptional<z.ZodString>;
242
+ }, "strict", z.ZodTypeAny, {
243
+ command?: string | undefined;
244
+ profile?: string | undefined;
245
+ profileTemplate?: string | undefined;
246
+ }, {
247
+ command?: string | undefined;
248
+ profile?: string | undefined;
249
+ profileTemplate?: string | undefined;
250
+ }>>;
251
+ agentSessionProfile: z.ZodOptional<z.ZodObject<{
252
+ profile: z.ZodOptional<z.ZodString>;
253
+ profileTemplate: z.ZodOptional<z.ZodString>;
254
+ }, "strict", z.ZodTypeAny, {
255
+ profile?: string | undefined;
256
+ profileTemplate?: string | undefined;
257
+ }, {
258
+ profile?: string | undefined;
259
+ profileTemplate?: string | undefined;
260
+ }>>;
181
261
  security: z.ZodOptional<z.ZodObject<{
182
262
  mode: z.ZodOptional<z.ZodEnum<["enforce", "audit", "off"]>>;
183
263
  allowedWorkspaceRoot: z.ZodOptional<z.ZodString>;
@@ -194,12 +274,217 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
194
274
  allowUnsafePrompts?: boolean | undefined;
195
275
  extraSafeEnv?: string[] | undefined;
196
276
  }>>;
197
- githubToken: z.ZodOptional<z.ZodString>;
277
+ githubToken: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
278
+ kind: z.ZodLiteral<"env">;
279
+ name: z.ZodString;
280
+ }, "strict", z.ZodTypeAny, {
281
+ kind: "env";
282
+ name: string;
283
+ }, {
284
+ kind: "env";
285
+ name: string;
286
+ }>, z.ZodObject<{
287
+ kind: z.ZodLiteral<"file">;
288
+ path: z.ZodString;
289
+ }, "strict", z.ZodTypeAny, {
290
+ kind: "file";
291
+ path: string;
292
+ }, {
293
+ kind: "file";
294
+ path: string;
295
+ }>, z.ZodObject<{
296
+ kind: z.ZodLiteral<"keychain">;
297
+ service: z.ZodString;
298
+ account: z.ZodString;
299
+ }, "strict", z.ZodTypeAny, {
300
+ kind: "keychain";
301
+ service: string;
302
+ account: string;
303
+ }, {
304
+ kind: "keychain";
305
+ service: string;
306
+ account: string;
307
+ }>]>]>, string, string | {
308
+ kind: "env";
309
+ name: string;
310
+ } | {
311
+ kind: "file";
312
+ path: string;
313
+ } | {
314
+ kind: "keychain";
315
+ service: string;
316
+ account: string;
317
+ }>>;
318
+ githubApplyToken: z.ZodOptional<z.ZodNullable<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
319
+ kind: z.ZodLiteral<"env">;
320
+ name: z.ZodString;
321
+ }, "strict", z.ZodTypeAny, {
322
+ kind: "env";
323
+ name: string;
324
+ }, {
325
+ kind: "env";
326
+ name: string;
327
+ }>, z.ZodObject<{
328
+ kind: z.ZodLiteral<"file">;
329
+ path: z.ZodString;
330
+ }, "strict", z.ZodTypeAny, {
331
+ kind: "file";
332
+ path: string;
333
+ }, {
334
+ kind: "file";
335
+ path: string;
336
+ }>, z.ZodObject<{
337
+ kind: z.ZodLiteral<"keychain">;
338
+ service: z.ZodString;
339
+ account: z.ZodString;
340
+ }, "strict", z.ZodTypeAny, {
341
+ kind: "keychain";
342
+ service: string;
343
+ account: string;
344
+ }, {
345
+ kind: "keychain";
346
+ service: string;
347
+ account: string;
348
+ }>]>]>, string, string | {
349
+ kind: "env";
350
+ name: string;
351
+ } | {
352
+ kind: "file";
353
+ path: string;
354
+ } | {
355
+ kind: "keychain";
356
+ service: string;
357
+ account: string;
358
+ }>>>;
198
359
  preparePullRequestBranch: z.ZodOptional<z.ZodBoolean>;
199
360
  allowAutoCreatePullRequest: z.ZodOptional<z.ZodBoolean>;
200
- pairingToken: z.ZodString;
361
+ runnerToken: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
362
+ kind: z.ZodLiteral<"env">;
363
+ name: z.ZodString;
364
+ }, "strict", z.ZodTypeAny, {
365
+ kind: "env";
366
+ name: string;
367
+ }, {
368
+ kind: "env";
369
+ name: string;
370
+ }>, z.ZodObject<{
371
+ kind: z.ZodLiteral<"file">;
372
+ path: z.ZodString;
373
+ }, "strict", z.ZodTypeAny, {
374
+ kind: "file";
375
+ path: string;
376
+ }, {
377
+ kind: "file";
378
+ path: string;
379
+ }>, z.ZodObject<{
380
+ kind: z.ZodLiteral<"keychain">;
381
+ service: z.ZodString;
382
+ account: z.ZodString;
383
+ }, "strict", z.ZodTypeAny, {
384
+ kind: "keychain";
385
+ service: string;
386
+ account: string;
387
+ }, {
388
+ kind: "keychain";
389
+ service: string;
390
+ account: string;
391
+ }>]>]>, string, string | {
392
+ kind: "env";
393
+ name: string;
394
+ } | {
395
+ kind: "file";
396
+ path: string;
397
+ } | {
398
+ kind: "keychain";
399
+ service: string;
400
+ account: string;
401
+ }>>;
402
+ runnerTokens: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
403
+ kind: z.ZodLiteral<"env">;
404
+ name: z.ZodString;
405
+ }, "strict", z.ZodTypeAny, {
406
+ kind: "env";
407
+ name: string;
408
+ }, {
409
+ kind: "env";
410
+ name: string;
411
+ }>, z.ZodObject<{
412
+ kind: z.ZodLiteral<"file">;
413
+ path: z.ZodString;
414
+ }, "strict", z.ZodTypeAny, {
415
+ kind: "file";
416
+ path: string;
417
+ }, {
418
+ kind: "file";
419
+ path: string;
420
+ }>, z.ZodObject<{
421
+ kind: z.ZodLiteral<"keychain">;
422
+ service: z.ZodString;
423
+ account: z.ZodString;
424
+ }, "strict", z.ZodTypeAny, {
425
+ kind: "keychain";
426
+ service: string;
427
+ account: string;
428
+ }, {
429
+ kind: "keychain";
430
+ service: string;
431
+ account: string;
432
+ }>]>]>, string, string | {
433
+ kind: "env";
434
+ name: string;
435
+ } | {
436
+ kind: "file";
437
+ path: string;
438
+ } | {
439
+ kind: "keychain";
440
+ service: string;
441
+ account: string;
442
+ }>, "many">>;
443
+ revokedRunnerTokenFingerprints: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
444
+ pairingToken: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
445
+ kind: z.ZodLiteral<"env">;
446
+ name: z.ZodString;
447
+ }, "strict", z.ZodTypeAny, {
448
+ kind: "env";
449
+ name: string;
450
+ }, {
451
+ kind: "env";
452
+ name: string;
453
+ }>, z.ZodObject<{
454
+ kind: z.ZodLiteral<"file">;
455
+ path: z.ZodString;
456
+ }, "strict", z.ZodTypeAny, {
457
+ kind: "file";
458
+ path: string;
459
+ }, {
460
+ kind: "file";
461
+ path: string;
462
+ }>, z.ZodObject<{
463
+ kind: z.ZodLiteral<"keychain">;
464
+ service: z.ZodString;
465
+ account: z.ZodString;
466
+ }, "strict", z.ZodTypeAny, {
467
+ kind: "keychain";
468
+ service: string;
469
+ account: string;
470
+ }, {
471
+ kind: "keychain";
472
+ service: string;
473
+ account: string;
474
+ }>]>]>, string, string | {
475
+ kind: "env";
476
+ name: string;
477
+ } | {
478
+ kind: "file";
479
+ path: string;
480
+ } | {
481
+ kind: "keychain";
482
+ service: string;
483
+ account: string;
484
+ }>;
201
485
  pollIntervalMs: z.ZodNumber;
202
486
  heartbeatIntervalMs: z.ZodNumber;
487
+ runTimeoutMs: z.ZodOptional<z.ZodNumber>;
203
488
  }, "strict", z.ZodTypeAny, {
204
489
  runnerId: string;
205
490
  dispatcherUrl: string;
@@ -208,7 +493,7 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
208
493
  owner: string;
209
494
  repo: string;
210
495
  checkoutPath: string;
211
- defaultExecutor: "echo" | "codex" | "claude-code";
496
+ defaultExecutor: string;
212
497
  baseBranch: string;
213
498
  pushRemote: string;
214
499
  worktreeRoot: string;
@@ -232,6 +517,15 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
232
517
  permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
233
518
  dangerouslySkipPermissions?: boolean | undefined;
234
519
  } | undefined;
520
+ hermes?: {
521
+ command?: string | undefined;
522
+ profile?: string | undefined;
523
+ profileTemplate?: string | undefined;
524
+ } | undefined;
525
+ agentSessionProfile?: {
526
+ profile?: string | undefined;
527
+ profileTemplate?: string | undefined;
528
+ } | undefined;
235
529
  security?: {
236
530
  mode?: "enforce" | "audit" | "off" | undefined;
237
531
  allowedWorkspaceRoot?: string | undefined;
@@ -239,8 +533,13 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
239
533
  extraSafeEnv?: string[] | undefined;
240
534
  } | undefined;
241
535
  githubToken?: string | undefined;
536
+ githubApplyToken?: string | null | undefined;
242
537
  preparePullRequestBranch?: boolean | undefined;
243
538
  allowAutoCreatePullRequest?: boolean | undefined;
539
+ runnerToken?: string | undefined;
540
+ runnerTokens?: string[] | undefined;
541
+ revokedRunnerTokenFingerprints?: string[] | undefined;
542
+ runTimeoutMs?: number | undefined;
244
543
  }, {
245
544
  runnerId: string;
246
545
  dispatcherUrl: string;
@@ -249,13 +548,23 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
249
548
  owner: string;
250
549
  repo: string;
251
550
  checkoutPath: string;
252
- defaultExecutor: "echo" | "codex" | "claude-code";
551
+ defaultExecutor: string;
253
552
  baseBranch: string;
254
553
  pushRemote: string;
255
554
  worktreeRoot: string;
256
555
  keepWorktree: "always" | "on_failure" | "never";
257
556
  }[];
258
- pairingToken: string;
557
+ pairingToken: string | {
558
+ kind: "env";
559
+ name: string;
560
+ } | {
561
+ kind: "file";
562
+ path: string;
563
+ } | {
564
+ kind: "keychain";
565
+ service: string;
566
+ account: string;
567
+ };
259
568
  pollIntervalMs: number;
260
569
  heartbeatIntervalMs: number;
261
570
  channelBindings?: {
@@ -273,20 +582,114 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
273
582
  permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
274
583
  dangerouslySkipPermissions?: boolean | undefined;
275
584
  } | undefined;
585
+ hermes?: {
586
+ command?: string | undefined;
587
+ profile?: string | undefined;
588
+ profileTemplate?: string | undefined;
589
+ } | undefined;
590
+ agentSessionProfile?: {
591
+ profile?: string | undefined;
592
+ profileTemplate?: string | undefined;
593
+ } | undefined;
276
594
  security?: {
277
595
  mode?: "enforce" | "audit" | "off" | undefined;
278
596
  allowedWorkspaceRoot?: string | undefined;
279
597
  allowUnsafePrompts?: boolean | undefined;
280
598
  extraSafeEnv?: string[] | undefined;
281
599
  } | undefined;
282
- githubToken?: string | undefined;
600
+ githubToken?: string | {
601
+ kind: "env";
602
+ name: string;
603
+ } | {
604
+ kind: "file";
605
+ path: string;
606
+ } | {
607
+ kind: "keychain";
608
+ service: string;
609
+ account: string;
610
+ } | undefined;
611
+ githubApplyToken?: string | {
612
+ kind: "env";
613
+ name: string;
614
+ } | {
615
+ kind: "file";
616
+ path: string;
617
+ } | {
618
+ kind: "keychain";
619
+ service: string;
620
+ account: string;
621
+ } | null | undefined;
283
622
  preparePullRequestBranch?: boolean | undefined;
284
623
  allowAutoCreatePullRequest?: boolean | undefined;
624
+ runnerToken?: string | {
625
+ kind: "env";
626
+ name: string;
627
+ } | {
628
+ kind: "file";
629
+ path: string;
630
+ } | {
631
+ kind: "keychain";
632
+ service: string;
633
+ account: string;
634
+ } | undefined;
635
+ runnerTokens?: (string | {
636
+ kind: "env";
637
+ name: string;
638
+ } | {
639
+ kind: "file";
640
+ path: string;
641
+ } | {
642
+ kind: "keychain";
643
+ service: string;
644
+ account: string;
645
+ })[] | undefined;
646
+ revokedRunnerTokenFingerprints?: string[] | undefined;
647
+ runTimeoutMs?: number | undefined;
285
648
  }>;
286
649
  platforms: z.ZodObject<{
287
650
  lark: z.ZodOptional<z.ZodObject<{
288
651
  appId: z.ZodString;
289
- appSecret: z.ZodString;
652
+ appSecret: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
653
+ kind: z.ZodLiteral<"env">;
654
+ name: z.ZodString;
655
+ }, "strict", z.ZodTypeAny, {
656
+ kind: "env";
657
+ name: string;
658
+ }, {
659
+ kind: "env";
660
+ name: string;
661
+ }>, z.ZodObject<{
662
+ kind: z.ZodLiteral<"file">;
663
+ path: z.ZodString;
664
+ }, "strict", z.ZodTypeAny, {
665
+ kind: "file";
666
+ path: string;
667
+ }, {
668
+ kind: "file";
669
+ path: string;
670
+ }>, z.ZodObject<{
671
+ kind: z.ZodLiteral<"keychain">;
672
+ service: z.ZodString;
673
+ account: z.ZodString;
674
+ }, "strict", z.ZodTypeAny, {
675
+ kind: "keychain";
676
+ service: string;
677
+ account: string;
678
+ }, {
679
+ kind: "keychain";
680
+ service: string;
681
+ account: string;
682
+ }>]>]>, string, string | {
683
+ kind: "env";
684
+ name: string;
685
+ } | {
686
+ kind: "file";
687
+ path: string;
688
+ } | {
689
+ kind: "keychain";
690
+ service: string;
691
+ account: string;
692
+ }>;
290
693
  domain: z.ZodEnum<["lark", "feishu"]>;
291
694
  botOpenId: z.ZodOptional<z.ZodString>;
292
695
  defaultProjectBinding: z.ZodOptional<z.ZodBoolean>;
@@ -298,16 +701,146 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
298
701
  defaultProjectBinding?: boolean | undefined;
299
702
  }, {
300
703
  appId: string;
301
- appSecret: string;
704
+ appSecret: string | {
705
+ kind: "env";
706
+ name: string;
707
+ } | {
708
+ kind: "file";
709
+ path: string;
710
+ } | {
711
+ kind: "keychain";
712
+ service: string;
713
+ account: string;
714
+ };
302
715
  domain: "lark" | "feishu";
303
716
  botOpenId?: string | undefined;
304
717
  defaultProjectBinding?: boolean | undefined;
305
718
  }>>;
306
719
  slack: z.ZodOptional<z.ZodEffects<z.ZodObject<{
307
720
  mode: z.ZodOptional<z.ZodEnum<["socket_mode", "events_api"]>>;
308
- appToken: z.ZodOptional<z.ZodString>;
309
- signingSecret: z.ZodOptional<z.ZodString>;
310
- botToken: z.ZodString;
721
+ appToken: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
722
+ kind: z.ZodLiteral<"env">;
723
+ name: z.ZodString;
724
+ }, "strict", z.ZodTypeAny, {
725
+ kind: "env";
726
+ name: string;
727
+ }, {
728
+ kind: "env";
729
+ name: string;
730
+ }>, z.ZodObject<{
731
+ kind: z.ZodLiteral<"file">;
732
+ path: z.ZodString;
733
+ }, "strict", z.ZodTypeAny, {
734
+ kind: "file";
735
+ path: string;
736
+ }, {
737
+ kind: "file";
738
+ path: string;
739
+ }>, z.ZodObject<{
740
+ kind: z.ZodLiteral<"keychain">;
741
+ service: z.ZodString;
742
+ account: z.ZodString;
743
+ }, "strict", z.ZodTypeAny, {
744
+ kind: "keychain";
745
+ service: string;
746
+ account: string;
747
+ }, {
748
+ kind: "keychain";
749
+ service: string;
750
+ account: string;
751
+ }>]>]>, string, string | {
752
+ kind: "env";
753
+ name: string;
754
+ } | {
755
+ kind: "file";
756
+ path: string;
757
+ } | {
758
+ kind: "keychain";
759
+ service: string;
760
+ account: string;
761
+ }>>;
762
+ signingSecret: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
763
+ kind: z.ZodLiteral<"env">;
764
+ name: z.ZodString;
765
+ }, "strict", z.ZodTypeAny, {
766
+ kind: "env";
767
+ name: string;
768
+ }, {
769
+ kind: "env";
770
+ name: string;
771
+ }>, z.ZodObject<{
772
+ kind: z.ZodLiteral<"file">;
773
+ path: z.ZodString;
774
+ }, "strict", z.ZodTypeAny, {
775
+ kind: "file";
776
+ path: string;
777
+ }, {
778
+ kind: "file";
779
+ path: string;
780
+ }>, z.ZodObject<{
781
+ kind: z.ZodLiteral<"keychain">;
782
+ service: z.ZodString;
783
+ account: z.ZodString;
784
+ }, "strict", z.ZodTypeAny, {
785
+ kind: "keychain";
786
+ service: string;
787
+ account: string;
788
+ }, {
789
+ kind: "keychain";
790
+ service: string;
791
+ account: string;
792
+ }>]>]>, string, string | {
793
+ kind: "env";
794
+ name: string;
795
+ } | {
796
+ kind: "file";
797
+ path: string;
798
+ } | {
799
+ kind: "keychain";
800
+ service: string;
801
+ account: string;
802
+ }>>;
803
+ botToken: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
804
+ kind: z.ZodLiteral<"env">;
805
+ name: z.ZodString;
806
+ }, "strict", z.ZodTypeAny, {
807
+ kind: "env";
808
+ name: string;
809
+ }, {
810
+ kind: "env";
811
+ name: string;
812
+ }>, z.ZodObject<{
813
+ kind: z.ZodLiteral<"file">;
814
+ path: z.ZodString;
815
+ }, "strict", z.ZodTypeAny, {
816
+ kind: "file";
817
+ path: string;
818
+ }, {
819
+ kind: "file";
820
+ path: string;
821
+ }>, z.ZodObject<{
822
+ kind: z.ZodLiteral<"keychain">;
823
+ service: z.ZodString;
824
+ account: z.ZodString;
825
+ }, "strict", z.ZodTypeAny, {
826
+ kind: "keychain";
827
+ service: string;
828
+ account: string;
829
+ }, {
830
+ kind: "keychain";
831
+ service: string;
832
+ account: string;
833
+ }>]>]>, string, string | {
834
+ kind: "env";
835
+ name: string;
836
+ } | {
837
+ kind: "file";
838
+ path: string;
839
+ } | {
840
+ kind: "keychain";
841
+ service: string;
842
+ account: string;
843
+ }>;
311
844
  teamId: z.ZodString;
312
845
  channelId: z.ZodString;
313
846
  appId: z.ZodOptional<z.ZodString>;
@@ -324,14 +857,44 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
324
857
  signingSecret?: string | undefined;
325
858
  port?: number | undefined;
326
859
  }, {
327
- botToken: string;
860
+ botToken: string | {
861
+ kind: "env";
862
+ name: string;
863
+ } | {
864
+ kind: "file";
865
+ path: string;
866
+ } | {
867
+ kind: "keychain";
868
+ service: string;
869
+ account: string;
870
+ };
328
871
  teamId: string;
329
872
  channelId: string;
330
873
  mode?: "socket_mode" | "events_api" | undefined;
331
874
  appId?: string | undefined;
332
875
  defaultProjectBinding?: boolean | undefined;
333
- appToken?: string | undefined;
334
- signingSecret?: string | undefined;
876
+ appToken?: string | {
877
+ kind: "env";
878
+ name: string;
879
+ } | {
880
+ kind: "file";
881
+ path: string;
882
+ } | {
883
+ kind: "keychain";
884
+ service: string;
885
+ account: string;
886
+ } | undefined;
887
+ signingSecret?: string | {
888
+ kind: "env";
889
+ name: string;
890
+ } | {
891
+ kind: "file";
892
+ path: string;
893
+ } | {
894
+ kind: "keychain";
895
+ service: string;
896
+ account: string;
897
+ } | undefined;
335
898
  port?: number | undefined;
336
899
  }>, {
337
900
  botToken: string;
@@ -344,18 +907,88 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
344
907
  signingSecret?: string | undefined;
345
908
  port?: number | undefined;
346
909
  }, {
347
- botToken: string;
910
+ botToken: string | {
911
+ kind: "env";
912
+ name: string;
913
+ } | {
914
+ kind: "file";
915
+ path: string;
916
+ } | {
917
+ kind: "keychain";
918
+ service: string;
919
+ account: string;
920
+ };
348
921
  teamId: string;
349
922
  channelId: string;
350
923
  mode?: "socket_mode" | "events_api" | undefined;
351
924
  appId?: string | undefined;
352
925
  defaultProjectBinding?: boolean | undefined;
353
- appToken?: string | undefined;
354
- signingSecret?: string | undefined;
926
+ appToken?: string | {
927
+ kind: "env";
928
+ name: string;
929
+ } | {
930
+ kind: "file";
931
+ path: string;
932
+ } | {
933
+ kind: "keychain";
934
+ service: string;
935
+ account: string;
936
+ } | undefined;
937
+ signingSecret?: string | {
938
+ kind: "env";
939
+ name: string;
940
+ } | {
941
+ kind: "file";
942
+ path: string;
943
+ } | {
944
+ kind: "keychain";
945
+ service: string;
946
+ account: string;
947
+ } | undefined;
355
948
  port?: number | undefined;
356
949
  }>>;
357
950
  github: z.ZodOptional<z.ZodObject<{
358
- webhookSecret: z.ZodString;
951
+ webhookSecret: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
952
+ kind: z.ZodLiteral<"env">;
953
+ name: z.ZodString;
954
+ }, "strict", z.ZodTypeAny, {
955
+ kind: "env";
956
+ name: string;
957
+ }, {
958
+ kind: "env";
959
+ name: string;
960
+ }>, z.ZodObject<{
961
+ kind: z.ZodLiteral<"file">;
962
+ path: z.ZodString;
963
+ }, "strict", z.ZodTypeAny, {
964
+ kind: "file";
965
+ path: string;
966
+ }, {
967
+ kind: "file";
968
+ path: string;
969
+ }>, z.ZodObject<{
970
+ kind: z.ZodLiteral<"keychain">;
971
+ service: z.ZodString;
972
+ account: z.ZodString;
973
+ }, "strict", z.ZodTypeAny, {
974
+ kind: "keychain";
975
+ service: string;
976
+ account: string;
977
+ }, {
978
+ kind: "keychain";
979
+ service: string;
980
+ account: string;
981
+ }>]>]>, string, string | {
982
+ kind: "env";
983
+ name: string;
984
+ } | {
985
+ kind: "file";
986
+ path: string;
987
+ } | {
988
+ kind: "keychain";
989
+ service: string;
990
+ account: string;
991
+ }>;
359
992
  owner: z.ZodString;
360
993
  repo: z.ZodString;
361
994
  webhookPath: z.ZodOptional<z.ZodString>;
@@ -369,7 +1002,17 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
369
1002
  }, {
370
1003
  owner: string;
371
1004
  repo: string;
372
- webhookSecret: string;
1005
+ webhookSecret: string | {
1006
+ kind: "env";
1007
+ name: string;
1008
+ } | {
1009
+ kind: "file";
1010
+ path: string;
1011
+ } | {
1012
+ kind: "keychain";
1013
+ service: string;
1014
+ account: string;
1015
+ };
373
1016
  port?: number | undefined;
374
1017
  webhookPath?: string | undefined;
375
1018
  }>>;
@@ -402,26 +1045,76 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
402
1045
  }, {
403
1046
  lark?: {
404
1047
  appId: string;
405
- appSecret: string;
1048
+ appSecret: string | {
1049
+ kind: "env";
1050
+ name: string;
1051
+ } | {
1052
+ kind: "file";
1053
+ path: string;
1054
+ } | {
1055
+ kind: "keychain";
1056
+ service: string;
1057
+ account: string;
1058
+ };
406
1059
  domain: "lark" | "feishu";
407
1060
  botOpenId?: string | undefined;
408
1061
  defaultProjectBinding?: boolean | undefined;
409
1062
  } | undefined;
410
1063
  slack?: {
411
- botToken: string;
1064
+ botToken: string | {
1065
+ kind: "env";
1066
+ name: string;
1067
+ } | {
1068
+ kind: "file";
1069
+ path: string;
1070
+ } | {
1071
+ kind: "keychain";
1072
+ service: string;
1073
+ account: string;
1074
+ };
412
1075
  teamId: string;
413
1076
  channelId: string;
414
1077
  mode?: "socket_mode" | "events_api" | undefined;
415
1078
  appId?: string | undefined;
416
1079
  defaultProjectBinding?: boolean | undefined;
417
- appToken?: string | undefined;
418
- signingSecret?: string | undefined;
1080
+ appToken?: string | {
1081
+ kind: "env";
1082
+ name: string;
1083
+ } | {
1084
+ kind: "file";
1085
+ path: string;
1086
+ } | {
1087
+ kind: "keychain";
1088
+ service: string;
1089
+ account: string;
1090
+ } | undefined;
1091
+ signingSecret?: string | {
1092
+ kind: "env";
1093
+ name: string;
1094
+ } | {
1095
+ kind: "file";
1096
+ path: string;
1097
+ } | {
1098
+ kind: "keychain";
1099
+ service: string;
1100
+ account: string;
1101
+ } | undefined;
419
1102
  port?: number | undefined;
420
1103
  } | undefined;
421
1104
  github?: {
422
1105
  owner: string;
423
1106
  repo: string;
424
- webhookSecret: string;
1107
+ webhookSecret: string | {
1108
+ kind: "env";
1109
+ name: string;
1110
+ } | {
1111
+ kind: "file";
1112
+ path: string;
1113
+ } | {
1114
+ kind: "keychain";
1115
+ service: string;
1116
+ account: string;
1117
+ };
425
1118
  port?: number | undefined;
426
1119
  webhookPath?: string | undefined;
427
1120
  } | undefined;
@@ -468,7 +1161,7 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
468
1161
  owner: string;
469
1162
  repo: string;
470
1163
  checkoutPath: string;
471
- defaultExecutor: "echo" | "codex" | "claude-code";
1164
+ defaultExecutor: string;
472
1165
  baseBranch: string;
473
1166
  pushRemote: string;
474
1167
  worktreeRoot: string;
@@ -492,6 +1185,15 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
492
1185
  permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
493
1186
  dangerouslySkipPermissions?: boolean | undefined;
494
1187
  } | undefined;
1188
+ hermes?: {
1189
+ command?: string | undefined;
1190
+ profile?: string | undefined;
1191
+ profileTemplate?: string | undefined;
1192
+ } | undefined;
1193
+ agentSessionProfile?: {
1194
+ profile?: string | undefined;
1195
+ profileTemplate?: string | undefined;
1196
+ } | undefined;
495
1197
  security?: {
496
1198
  mode?: "enforce" | "audit" | "off" | undefined;
497
1199
  allowedWorkspaceRoot?: string | undefined;
@@ -499,14 +1201,26 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
499
1201
  extraSafeEnv?: string[] | undefined;
500
1202
  } | undefined;
501
1203
  githubToken?: string | undefined;
1204
+ githubApplyToken?: string | null | undefined;
502
1205
  preparePullRequestBranch?: boolean | undefined;
503
1206
  allowAutoCreatePullRequest?: boolean | undefined;
1207
+ runnerToken?: string | undefined;
1208
+ runnerTokens?: string[] | undefined;
1209
+ revokedRunnerTokenFingerprints?: string[] | undefined;
1210
+ runTimeoutMs?: number | undefined;
504
1211
  };
1212
+ runtime?: {
1213
+ mode: "local";
1214
+ } | {
1215
+ mode: "relay";
1216
+ relayUrl: string;
1217
+ relayProvider?: string | undefined;
1218
+ } | undefined;
505
1219
  preferences?: {
506
1220
  language?: "en" | "zh-CN" | undefined;
507
1221
  lastSetup?: {
508
- platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
509
- executor?: "echo" | "codex" | "claude-code" | undefined;
1222
+ platforms?: ("lark" | "slack" | "github" | "gitlab" | "telegram")[] | undefined;
1223
+ executor?: string | undefined;
510
1224
  projectPath?: string | undefined;
511
1225
  larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
512
1226
  larkDomain?: "lark" | "feishu" | undefined;
@@ -525,26 +1239,76 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
525
1239
  platforms: {
526
1240
  lark?: {
527
1241
  appId: string;
528
- appSecret: string;
1242
+ appSecret: string | {
1243
+ kind: "env";
1244
+ name: string;
1245
+ } | {
1246
+ kind: "file";
1247
+ path: string;
1248
+ } | {
1249
+ kind: "keychain";
1250
+ service: string;
1251
+ account: string;
1252
+ };
529
1253
  domain: "lark" | "feishu";
530
1254
  botOpenId?: string | undefined;
531
1255
  defaultProjectBinding?: boolean | undefined;
532
1256
  } | undefined;
533
1257
  slack?: {
534
- botToken: string;
1258
+ botToken: string | {
1259
+ kind: "env";
1260
+ name: string;
1261
+ } | {
1262
+ kind: "file";
1263
+ path: string;
1264
+ } | {
1265
+ kind: "keychain";
1266
+ service: string;
1267
+ account: string;
1268
+ };
535
1269
  teamId: string;
536
1270
  channelId: string;
537
1271
  mode?: "socket_mode" | "events_api" | undefined;
538
1272
  appId?: string | undefined;
539
1273
  defaultProjectBinding?: boolean | undefined;
540
- appToken?: string | undefined;
541
- signingSecret?: string | undefined;
1274
+ appToken?: string | {
1275
+ kind: "env";
1276
+ name: string;
1277
+ } | {
1278
+ kind: "file";
1279
+ path: string;
1280
+ } | {
1281
+ kind: "keychain";
1282
+ service: string;
1283
+ account: string;
1284
+ } | undefined;
1285
+ signingSecret?: string | {
1286
+ kind: "env";
1287
+ name: string;
1288
+ } | {
1289
+ kind: "file";
1290
+ path: string;
1291
+ } | {
1292
+ kind: "keychain";
1293
+ service: string;
1294
+ account: string;
1295
+ } | undefined;
542
1296
  port?: number | undefined;
543
1297
  } | undefined;
544
1298
  github?: {
545
1299
  owner: string;
546
1300
  repo: string;
547
- webhookSecret: string;
1301
+ webhookSecret: string | {
1302
+ kind: "env";
1303
+ name: string;
1304
+ } | {
1305
+ kind: "file";
1306
+ path: string;
1307
+ } | {
1308
+ kind: "keychain";
1309
+ service: string;
1310
+ account: string;
1311
+ };
548
1312
  port?: number | undefined;
549
1313
  webhookPath?: string | undefined;
550
1314
  } | undefined;
@@ -563,13 +1327,23 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
563
1327
  owner: string;
564
1328
  repo: string;
565
1329
  checkoutPath: string;
566
- defaultExecutor: "echo" | "codex" | "claude-code";
1330
+ defaultExecutor: string;
567
1331
  baseBranch: string;
568
1332
  pushRemote: string;
569
1333
  worktreeRoot: string;
570
1334
  keepWorktree: "always" | "on_failure" | "never";
571
1335
  }[];
572
- pairingToken: string;
1336
+ pairingToken: string | {
1337
+ kind: "env";
1338
+ name: string;
1339
+ } | {
1340
+ kind: "file";
1341
+ path: string;
1342
+ } | {
1343
+ kind: "keychain";
1344
+ service: string;
1345
+ account: string;
1346
+ };
573
1347
  pollIntervalMs: number;
574
1348
  heartbeatIntervalMs: number;
575
1349
  channelBindings?: {
@@ -587,21 +1361,82 @@ export declare const OpenTagCliConfigSchema: z.ZodObject<{
587
1361
  permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
588
1362
  dangerouslySkipPermissions?: boolean | undefined;
589
1363
  } | undefined;
1364
+ hermes?: {
1365
+ command?: string | undefined;
1366
+ profile?: string | undefined;
1367
+ profileTemplate?: string | undefined;
1368
+ } | undefined;
1369
+ agentSessionProfile?: {
1370
+ profile?: string | undefined;
1371
+ profileTemplate?: string | undefined;
1372
+ } | undefined;
590
1373
  security?: {
591
1374
  mode?: "enforce" | "audit" | "off" | undefined;
592
1375
  allowedWorkspaceRoot?: string | undefined;
593
1376
  allowUnsafePrompts?: boolean | undefined;
594
1377
  extraSafeEnv?: string[] | undefined;
595
1378
  } | undefined;
596
- githubToken?: string | undefined;
1379
+ githubToken?: string | {
1380
+ kind: "env";
1381
+ name: string;
1382
+ } | {
1383
+ kind: "file";
1384
+ path: string;
1385
+ } | {
1386
+ kind: "keychain";
1387
+ service: string;
1388
+ account: string;
1389
+ } | undefined;
1390
+ githubApplyToken?: string | {
1391
+ kind: "env";
1392
+ name: string;
1393
+ } | {
1394
+ kind: "file";
1395
+ path: string;
1396
+ } | {
1397
+ kind: "keychain";
1398
+ service: string;
1399
+ account: string;
1400
+ } | null | undefined;
597
1401
  preparePullRequestBranch?: boolean | undefined;
598
1402
  allowAutoCreatePullRequest?: boolean | undefined;
1403
+ runnerToken?: string | {
1404
+ kind: "env";
1405
+ name: string;
1406
+ } | {
1407
+ kind: "file";
1408
+ path: string;
1409
+ } | {
1410
+ kind: "keychain";
1411
+ service: string;
1412
+ account: string;
1413
+ } | undefined;
1414
+ runnerTokens?: (string | {
1415
+ kind: "env";
1416
+ name: string;
1417
+ } | {
1418
+ kind: "file";
1419
+ path: string;
1420
+ } | {
1421
+ kind: "keychain";
1422
+ service: string;
1423
+ account: string;
1424
+ })[] | undefined;
1425
+ revokedRunnerTokenFingerprints?: string[] | undefined;
1426
+ runTimeoutMs?: number | undefined;
599
1427
  };
1428
+ runtime?: {
1429
+ mode: "local";
1430
+ } | {
1431
+ mode: "relay";
1432
+ relayUrl: string;
1433
+ relayProvider?: string | undefined;
1434
+ } | undefined;
600
1435
  preferences?: {
601
1436
  language?: "en" | "zh-CN" | undefined;
602
1437
  lastSetup?: {
603
- platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
604
- executor?: "echo" | "codex" | "claude-code" | undefined;
1438
+ platforms?: ("lark" | "slack" | "github" | "gitlab" | "telegram")[] | undefined;
1439
+ executor?: string | undefined;
605
1440
  projectPath?: string | undefined;
606
1441
  larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
607
1442
  larkDomain?: "lark" | "feishu" | undefined;
@@ -624,15 +1459,22 @@ export type OpenTagCliPreferences = NonNullable<OpenTagCliConfig["preferences"]>
624
1459
  export type OpenTagCliLastSetup = NonNullable<OpenTagCliPreferences["lastSetup"]>;
625
1460
  export type OpenTagCliLanguage = CliLanguage;
626
1461
  export type OpenTagCliPlatform = PlatformId;
627
- export type OpenTagCliExecutor = ExecutorId;
1462
+ export type OpenTagCliExecutor = string;
1463
+ export type OpenTagRuntimeMode = NonNullable<OpenTagCliConfig["runtime"]>["mode"];
628
1464
  export type PathEnvironment = Partial<Record<"OPENTAG_CONFIG_PATH" | "OPENTAG_CONFIG_HOME" | "OPENTAG_STATE_DIR" | "XDG_CONFIG_HOME" | "XDG_STATE_HOME", string>>;
629
1465
  export declare function defaultConfigPath(env?: PathEnvironment, home?: string): string;
630
1466
  export declare function defaultStateDirectory(env?: PathEnvironment, home?: string): string;
631
1467
  export declare function formatCliConfigError(error: unknown): string;
632
1468
  export declare function parseCliConfig(value: unknown): OpenTagCliConfig;
1469
+ export declare function runnerDispatcherToken(config: Pick<OpenTagDaemonConfig, "runnerToken" | "pairingToken">): string | undefined;
1470
+ export declare function runtimeModeFromConfig(config: OpenTagCliConfig): OpenTagRuntimeMode;
1471
+ export declare function relayUrlFromConfig(config: OpenTagCliConfig): string | undefined;
633
1472
  export declare function readCliConfig(path?: string): OpenTagCliConfig;
634
1473
  export declare function ensurePrivateDirectory(path: string): void;
635
1474
  export declare function writeCliConfigAtomic(path: string, config: OpenTagCliConfig): void;
636
1475
  export declare function assertPrivateConfigFile(path: string): void;
637
1476
  export declare function redactedCliConfig(config: OpenTagCliConfig): unknown;
1477
+ export declare function redactedCliConfigValue(value: unknown): unknown;
1478
+ export declare function readRedactedCliConfig(path?: string): unknown;
1479
+ export {};
638
1480
  //# sourceMappingURL=config.d.ts.map