@opentag/cli 0.2.0

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 (61) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +77 -0
  3. package/dist/catalogs/executors.d.ts +23 -0
  4. package/dist/catalogs/executors.d.ts.map +1 -0
  5. package/dist/catalogs/languages.d.ts +8 -0
  6. package/dist/catalogs/languages.d.ts.map +1 -0
  7. package/dist/catalogs/platforms.d.ts +16 -0
  8. package/dist/catalogs/platforms.d.ts.map +1 -0
  9. package/dist/commands/executors.d.ts +5 -0
  10. package/dist/commands/executors.d.ts.map +1 -0
  11. package/dist/commands/platforms.d.ts +2 -0
  12. package/dist/commands/platforms.d.ts.map +1 -0
  13. package/dist/commands/setup.d.ts +10 -0
  14. package/dist/commands/setup.d.ts.map +1 -0
  15. package/dist/config.d.ts +638 -0
  16. package/dist/config.d.ts.map +1 -0
  17. package/dist/doctor.d.ts +5 -0
  18. package/dist/doctor.d.ts.map +1 -0
  19. package/dist/health.d.ts +11 -0
  20. package/dist/health.d.ts.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +2320 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/lark-registration.d.ts +2 -0
  26. package/dist/lark-registration.d.ts.map +1 -0
  27. package/dist/platforms/github/display.d.ts +10 -0
  28. package/dist/platforms/github/display.d.ts.map +1 -0
  29. package/dist/platforms/lark/display.d.ts +13 -0
  30. package/dist/platforms/lark/display.d.ts.map +1 -0
  31. package/dist/platforms/lark/registration-ui.d.ts +10 -0
  32. package/dist/platforms/lark/registration-ui.d.ts.map +1 -0
  33. package/dist/platforms/lark/saved-config.d.ts +14 -0
  34. package/dist/platforms/lark/saved-config.d.ts.map +1 -0
  35. package/dist/platforms/ports.d.ts +4 -0
  36. package/dist/platforms/ports.d.ts.map +1 -0
  37. package/dist/setup/builders.d.ts +4 -0
  38. package/dist/setup/builders.d.ts.map +1 -0
  39. package/dist/setup/defaults.d.ts +5 -0
  40. package/dist/setup/defaults.d.ts.map +1 -0
  41. package/dist/setup/flow.d.ts +44 -0
  42. package/dist/setup/flow.d.ts.map +1 -0
  43. package/dist/setup/guides.d.ts +25 -0
  44. package/dist/setup/guides.d.ts.map +1 -0
  45. package/dist/setup/summary.d.ts +5 -0
  46. package/dist/setup/summary.d.ts.map +1 -0
  47. package/dist/setup/types.d.ts +68 -0
  48. package/dist/setup/types.d.ts.map +1 -0
  49. package/dist/setup.d.ts +7 -0
  50. package/dist/setup.d.ts.map +1 -0
  51. package/dist/start.d.ts +34 -0
  52. package/dist/start.d.ts.map +1 -0
  53. package/dist/status.d.ts +25 -0
  54. package/dist/status.d.ts.map +1 -0
  55. package/dist/ui/clack.d.ts +3 -0
  56. package/dist/ui/clack.d.ts.map +1 -0
  57. package/dist/ui/messages.d.ts +12 -0
  58. package/dist/ui/messages.d.ts.map +1 -0
  59. package/dist/ui/prompts.d.ts +30 -0
  60. package/dist/ui/prompts.d.ts.map +1 -0
  61. package/package.json +57 -0
@@ -0,0 +1,638 @@
1
+ import { type OpenTagDaemonConfig } from "@opentag/local-runtime";
2
+ import { z } from "zod";
3
+ import type { ExecutorId } from "./catalogs/executors.js";
4
+ import type { CliLanguage } from "./catalogs/languages.js";
5
+ import type { PlatformId } from "./catalogs/platforms.js";
6
+ export declare const OpenTagCliConfigSchema: z.ZodObject<{
7
+ schemaVersion: z.ZodLiteral<1>;
8
+ state: z.ZodObject<{
9
+ directory: z.ZodString;
10
+ databasePath: z.ZodString;
11
+ worktreeRoot: z.ZodString;
12
+ }, "strict", z.ZodTypeAny, {
13
+ worktreeRoot: string;
14
+ directory: string;
15
+ databasePath: string;
16
+ }, {
17
+ worktreeRoot: string;
18
+ directory: string;
19
+ databasePath: string;
20
+ }>;
21
+ preferences: z.ZodOptional<z.ZodObject<{
22
+ language: z.ZodOptional<z.ZodEnum<["en", "zh-CN"]>>;
23
+ 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"]>>;
26
+ projectPath: z.ZodOptional<z.ZodString>;
27
+ larkSetupMethod: z.ZodOptional<z.ZodEnum<["saved", "scan", "manual"]>>;
28
+ larkDomain: z.ZodOptional<z.ZodEnum<["lark", "feishu"]>>;
29
+ bindingMethod: z.ZodOptional<z.ZodEnum<["default_project", "bind_later"]>>;
30
+ slackMode: z.ZodOptional<z.ZodEnum<["socket_mode", "events_api"]>>;
31
+ slackTeamId: z.ZodOptional<z.ZodString>;
32
+ slackChannelId: z.ZodOptional<z.ZodString>;
33
+ slackPort: z.ZodOptional<z.ZodNumber>;
34
+ githubOwner: z.ZodOptional<z.ZodString>;
35
+ githubRepo: z.ZodOptional<z.ZodString>;
36
+ githubPort: z.ZodOptional<z.ZodNumber>;
37
+ githubAutoCreatePullRequest: z.ZodOptional<z.ZodBoolean>;
38
+ }, "strict", z.ZodTypeAny, {
39
+ platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
40
+ executor?: "echo" | "codex" | "claude-code" | undefined;
41
+ projectPath?: string | undefined;
42
+ larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
43
+ larkDomain?: "lark" | "feishu" | undefined;
44
+ bindingMethod?: "default_project" | "bind_later" | undefined;
45
+ slackMode?: "socket_mode" | "events_api" | undefined;
46
+ slackTeamId?: string | undefined;
47
+ slackChannelId?: string | undefined;
48
+ slackPort?: number | undefined;
49
+ githubOwner?: string | undefined;
50
+ githubRepo?: string | undefined;
51
+ githubPort?: number | undefined;
52
+ githubAutoCreatePullRequest?: boolean | undefined;
53
+ }, {
54
+ platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
55
+ executor?: "echo" | "codex" | "claude-code" | undefined;
56
+ projectPath?: string | undefined;
57
+ larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
58
+ larkDomain?: "lark" | "feishu" | undefined;
59
+ bindingMethod?: "default_project" | "bind_later" | undefined;
60
+ slackMode?: "socket_mode" | "events_api" | undefined;
61
+ slackTeamId?: string | undefined;
62
+ slackChannelId?: string | undefined;
63
+ slackPort?: number | undefined;
64
+ githubOwner?: string | undefined;
65
+ githubRepo?: string | undefined;
66
+ githubPort?: number | undefined;
67
+ githubAutoCreatePullRequest?: boolean | undefined;
68
+ }>>;
69
+ }, "strict", z.ZodTypeAny, {
70
+ language?: "en" | "zh-CN" | undefined;
71
+ lastSetup?: {
72
+ platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
73
+ executor?: "echo" | "codex" | "claude-code" | undefined;
74
+ projectPath?: string | undefined;
75
+ larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
76
+ larkDomain?: "lark" | "feishu" | undefined;
77
+ bindingMethod?: "default_project" | "bind_later" | undefined;
78
+ slackMode?: "socket_mode" | "events_api" | undefined;
79
+ slackTeamId?: string | undefined;
80
+ slackChannelId?: string | undefined;
81
+ slackPort?: number | undefined;
82
+ githubOwner?: string | undefined;
83
+ githubRepo?: string | undefined;
84
+ githubPort?: number | undefined;
85
+ githubAutoCreatePullRequest?: boolean | undefined;
86
+ } | undefined;
87
+ }, {
88
+ language?: "en" | "zh-CN" | undefined;
89
+ lastSetup?: {
90
+ platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
91
+ executor?: "echo" | "codex" | "claude-code" | undefined;
92
+ projectPath?: string | undefined;
93
+ larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
94
+ larkDomain?: "lark" | "feishu" | undefined;
95
+ bindingMethod?: "default_project" | "bind_later" | undefined;
96
+ slackMode?: "socket_mode" | "events_api" | undefined;
97
+ slackTeamId?: string | undefined;
98
+ slackChannelId?: string | undefined;
99
+ slackPort?: number | undefined;
100
+ githubOwner?: string | undefined;
101
+ githubRepo?: string | undefined;
102
+ githubPort?: number | undefined;
103
+ githubAutoCreatePullRequest?: boolean | undefined;
104
+ } | undefined;
105
+ }>>;
106
+ daemon: z.ZodObject<{
107
+ runnerId: z.ZodString;
108
+ dispatcherUrl: z.ZodString;
109
+ repositories: z.ZodArray<z.ZodObject<{
110
+ provider: z.ZodString;
111
+ owner: z.ZodString;
112
+ repo: z.ZodString;
113
+ checkoutPath: z.ZodString;
114
+ defaultExecutor: z.ZodEnum<["echo", "codex", "claude-code"]>;
115
+ baseBranch: z.ZodString;
116
+ pushRemote: z.ZodString;
117
+ worktreeRoot: z.ZodString;
118
+ keepWorktree: z.ZodEnum<["always", "on_failure", "never"]>;
119
+ }, "strict", z.ZodTypeAny, {
120
+ provider: string;
121
+ owner: string;
122
+ repo: string;
123
+ checkoutPath: string;
124
+ defaultExecutor: "echo" | "codex" | "claude-code";
125
+ baseBranch: string;
126
+ pushRemote: string;
127
+ worktreeRoot: string;
128
+ keepWorktree: "always" | "on_failure" | "never";
129
+ }, {
130
+ provider: string;
131
+ owner: string;
132
+ repo: string;
133
+ checkoutPath: string;
134
+ defaultExecutor: "echo" | "codex" | "claude-code";
135
+ baseBranch: string;
136
+ pushRemote: string;
137
+ worktreeRoot: string;
138
+ keepWorktree: "always" | "on_failure" | "never";
139
+ }>, "many">;
140
+ channelBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
141
+ provider: z.ZodString;
142
+ accountId: z.ZodString;
143
+ conversationId: z.ZodString;
144
+ repoProvider: z.ZodString;
145
+ owner: z.ZodString;
146
+ repo: z.ZodString;
147
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
148
+ }, "strict", z.ZodTypeAny, {
149
+ provider: string;
150
+ owner: string;
151
+ repo: string;
152
+ accountId: string;
153
+ conversationId: string;
154
+ repoProvider: string;
155
+ metadata?: Record<string, unknown> | undefined;
156
+ }, {
157
+ provider: string;
158
+ owner: string;
159
+ repo: string;
160
+ accountId: string;
161
+ conversationId: string;
162
+ repoProvider: string;
163
+ metadata?: Record<string, unknown> | undefined;
164
+ }>, "many">>;
165
+ claudeCode: z.ZodOptional<z.ZodObject<{
166
+ command: z.ZodOptional<z.ZodString>;
167
+ model: z.ZodOptional<z.ZodString>;
168
+ permissionMode: z.ZodOptional<z.ZodEnum<["acceptEdits", "auto", "bypassPermissions", "default", "plan"]>>;
169
+ dangerouslySkipPermissions: z.ZodOptional<z.ZodBoolean>;
170
+ }, "strict", z.ZodTypeAny, {
171
+ command?: string | undefined;
172
+ model?: string | undefined;
173
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
174
+ dangerouslySkipPermissions?: boolean | undefined;
175
+ }, {
176
+ command?: string | undefined;
177
+ model?: string | undefined;
178
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
179
+ dangerouslySkipPermissions?: boolean | undefined;
180
+ }>>;
181
+ security: z.ZodOptional<z.ZodObject<{
182
+ mode: z.ZodOptional<z.ZodEnum<["enforce", "audit", "off"]>>;
183
+ allowedWorkspaceRoot: z.ZodOptional<z.ZodString>;
184
+ allowUnsafePrompts: z.ZodOptional<z.ZodBoolean>;
185
+ extraSafeEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
186
+ }, "strict", z.ZodTypeAny, {
187
+ mode?: "enforce" | "audit" | "off" | undefined;
188
+ allowedWorkspaceRoot?: string | undefined;
189
+ allowUnsafePrompts?: boolean | undefined;
190
+ extraSafeEnv?: string[] | undefined;
191
+ }, {
192
+ mode?: "enforce" | "audit" | "off" | undefined;
193
+ allowedWorkspaceRoot?: string | undefined;
194
+ allowUnsafePrompts?: boolean | undefined;
195
+ extraSafeEnv?: string[] | undefined;
196
+ }>>;
197
+ githubToken: z.ZodOptional<z.ZodString>;
198
+ preparePullRequestBranch: z.ZodOptional<z.ZodBoolean>;
199
+ allowAutoCreatePullRequest: z.ZodOptional<z.ZodBoolean>;
200
+ pairingToken: z.ZodString;
201
+ pollIntervalMs: z.ZodNumber;
202
+ heartbeatIntervalMs: z.ZodNumber;
203
+ }, "strict", z.ZodTypeAny, {
204
+ runnerId: string;
205
+ dispatcherUrl: string;
206
+ repositories: {
207
+ provider: string;
208
+ owner: string;
209
+ repo: string;
210
+ checkoutPath: string;
211
+ defaultExecutor: "echo" | "codex" | "claude-code";
212
+ baseBranch: string;
213
+ pushRemote: string;
214
+ worktreeRoot: string;
215
+ keepWorktree: "always" | "on_failure" | "never";
216
+ }[];
217
+ pairingToken: string;
218
+ pollIntervalMs: number;
219
+ heartbeatIntervalMs: number;
220
+ channelBindings?: {
221
+ provider: string;
222
+ owner: string;
223
+ repo: string;
224
+ accountId: string;
225
+ conversationId: string;
226
+ repoProvider: string;
227
+ metadata?: Record<string, unknown> | undefined;
228
+ }[] | undefined;
229
+ claudeCode?: {
230
+ command?: string | undefined;
231
+ model?: string | undefined;
232
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
233
+ dangerouslySkipPermissions?: boolean | undefined;
234
+ } | undefined;
235
+ security?: {
236
+ mode?: "enforce" | "audit" | "off" | undefined;
237
+ allowedWorkspaceRoot?: string | undefined;
238
+ allowUnsafePrompts?: boolean | undefined;
239
+ extraSafeEnv?: string[] | undefined;
240
+ } | undefined;
241
+ githubToken?: string | undefined;
242
+ preparePullRequestBranch?: boolean | undefined;
243
+ allowAutoCreatePullRequest?: boolean | undefined;
244
+ }, {
245
+ runnerId: string;
246
+ dispatcherUrl: string;
247
+ repositories: {
248
+ provider: string;
249
+ owner: string;
250
+ repo: string;
251
+ checkoutPath: string;
252
+ defaultExecutor: "echo" | "codex" | "claude-code";
253
+ baseBranch: string;
254
+ pushRemote: string;
255
+ worktreeRoot: string;
256
+ keepWorktree: "always" | "on_failure" | "never";
257
+ }[];
258
+ pairingToken: string;
259
+ pollIntervalMs: number;
260
+ heartbeatIntervalMs: number;
261
+ channelBindings?: {
262
+ provider: string;
263
+ owner: string;
264
+ repo: string;
265
+ accountId: string;
266
+ conversationId: string;
267
+ repoProvider: string;
268
+ metadata?: Record<string, unknown> | undefined;
269
+ }[] | undefined;
270
+ claudeCode?: {
271
+ command?: string | undefined;
272
+ model?: string | undefined;
273
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
274
+ dangerouslySkipPermissions?: boolean | undefined;
275
+ } | undefined;
276
+ security?: {
277
+ mode?: "enforce" | "audit" | "off" | undefined;
278
+ allowedWorkspaceRoot?: string | undefined;
279
+ allowUnsafePrompts?: boolean | undefined;
280
+ extraSafeEnv?: string[] | undefined;
281
+ } | undefined;
282
+ githubToken?: string | undefined;
283
+ preparePullRequestBranch?: boolean | undefined;
284
+ allowAutoCreatePullRequest?: boolean | undefined;
285
+ }>;
286
+ platforms: z.ZodObject<{
287
+ lark: z.ZodOptional<z.ZodObject<{
288
+ appId: z.ZodString;
289
+ appSecret: z.ZodString;
290
+ domain: z.ZodEnum<["lark", "feishu"]>;
291
+ botOpenId: z.ZodOptional<z.ZodString>;
292
+ defaultProjectBinding: z.ZodOptional<z.ZodBoolean>;
293
+ }, "strict", z.ZodTypeAny, {
294
+ appId: string;
295
+ appSecret: string;
296
+ domain: "lark" | "feishu";
297
+ botOpenId?: string | undefined;
298
+ defaultProjectBinding?: boolean | undefined;
299
+ }, {
300
+ appId: string;
301
+ appSecret: string;
302
+ domain: "lark" | "feishu";
303
+ botOpenId?: string | undefined;
304
+ defaultProjectBinding?: boolean | undefined;
305
+ }>>;
306
+ slack: z.ZodOptional<z.ZodEffects<z.ZodObject<{
307
+ 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;
311
+ teamId: z.ZodString;
312
+ channelId: z.ZodString;
313
+ appId: z.ZodOptional<z.ZodString>;
314
+ defaultProjectBinding: z.ZodOptional<z.ZodBoolean>;
315
+ port: z.ZodOptional<z.ZodNumber>;
316
+ }, "strict", z.ZodTypeAny, {
317
+ botToken: string;
318
+ teamId: string;
319
+ channelId: string;
320
+ mode?: "socket_mode" | "events_api" | undefined;
321
+ appId?: string | undefined;
322
+ defaultProjectBinding?: boolean | undefined;
323
+ appToken?: string | undefined;
324
+ signingSecret?: string | undefined;
325
+ port?: number | undefined;
326
+ }, {
327
+ botToken: string;
328
+ teamId: string;
329
+ channelId: string;
330
+ mode?: "socket_mode" | "events_api" | undefined;
331
+ appId?: string | undefined;
332
+ defaultProjectBinding?: boolean | undefined;
333
+ appToken?: string | undefined;
334
+ signingSecret?: string | undefined;
335
+ port?: number | undefined;
336
+ }>, {
337
+ botToken: string;
338
+ teamId: string;
339
+ channelId: string;
340
+ mode?: "socket_mode" | "events_api" | undefined;
341
+ appId?: string | undefined;
342
+ defaultProjectBinding?: boolean | undefined;
343
+ appToken?: string | undefined;
344
+ signingSecret?: string | undefined;
345
+ port?: number | undefined;
346
+ }, {
347
+ botToken: string;
348
+ teamId: string;
349
+ channelId: string;
350
+ mode?: "socket_mode" | "events_api" | undefined;
351
+ appId?: string | undefined;
352
+ defaultProjectBinding?: boolean | undefined;
353
+ appToken?: string | undefined;
354
+ signingSecret?: string | undefined;
355
+ port?: number | undefined;
356
+ }>>;
357
+ github: z.ZodOptional<z.ZodObject<{
358
+ webhookSecret: z.ZodString;
359
+ owner: z.ZodString;
360
+ repo: z.ZodString;
361
+ webhookPath: z.ZodOptional<z.ZodString>;
362
+ port: z.ZodOptional<z.ZodNumber>;
363
+ }, "strict", z.ZodTypeAny, {
364
+ owner: string;
365
+ repo: string;
366
+ webhookSecret: string;
367
+ port?: number | undefined;
368
+ webhookPath?: string | undefined;
369
+ }, {
370
+ owner: string;
371
+ repo: string;
372
+ webhookSecret: string;
373
+ port?: number | undefined;
374
+ webhookPath?: string | undefined;
375
+ }>>;
376
+ }, "strict", z.ZodTypeAny, {
377
+ lark?: {
378
+ appId: string;
379
+ appSecret: string;
380
+ domain: "lark" | "feishu";
381
+ botOpenId?: string | undefined;
382
+ defaultProjectBinding?: boolean | undefined;
383
+ } | undefined;
384
+ slack?: {
385
+ botToken: string;
386
+ teamId: string;
387
+ channelId: string;
388
+ mode?: "socket_mode" | "events_api" | undefined;
389
+ appId?: string | undefined;
390
+ defaultProjectBinding?: boolean | undefined;
391
+ appToken?: string | undefined;
392
+ signingSecret?: string | undefined;
393
+ port?: number | undefined;
394
+ } | undefined;
395
+ github?: {
396
+ owner: string;
397
+ repo: string;
398
+ webhookSecret: string;
399
+ port?: number | undefined;
400
+ webhookPath?: string | undefined;
401
+ } | undefined;
402
+ }, {
403
+ lark?: {
404
+ appId: string;
405
+ appSecret: string;
406
+ domain: "lark" | "feishu";
407
+ botOpenId?: string | undefined;
408
+ defaultProjectBinding?: boolean | undefined;
409
+ } | undefined;
410
+ slack?: {
411
+ botToken: string;
412
+ teamId: string;
413
+ channelId: string;
414
+ mode?: "socket_mode" | "events_api" | undefined;
415
+ appId?: string | undefined;
416
+ defaultProjectBinding?: boolean | undefined;
417
+ appToken?: string | undefined;
418
+ signingSecret?: string | undefined;
419
+ port?: number | undefined;
420
+ } | undefined;
421
+ github?: {
422
+ owner: string;
423
+ repo: string;
424
+ webhookSecret: string;
425
+ port?: number | undefined;
426
+ webhookPath?: string | undefined;
427
+ } | undefined;
428
+ }>;
429
+ }, "strict", z.ZodTypeAny, {
430
+ platforms: {
431
+ lark?: {
432
+ appId: string;
433
+ appSecret: string;
434
+ domain: "lark" | "feishu";
435
+ botOpenId?: string | undefined;
436
+ defaultProjectBinding?: boolean | undefined;
437
+ } | undefined;
438
+ slack?: {
439
+ botToken: string;
440
+ teamId: string;
441
+ channelId: string;
442
+ mode?: "socket_mode" | "events_api" | undefined;
443
+ appId?: string | undefined;
444
+ defaultProjectBinding?: boolean | undefined;
445
+ appToken?: string | undefined;
446
+ signingSecret?: string | undefined;
447
+ port?: number | undefined;
448
+ } | undefined;
449
+ github?: {
450
+ owner: string;
451
+ repo: string;
452
+ webhookSecret: string;
453
+ port?: number | undefined;
454
+ webhookPath?: string | undefined;
455
+ } | undefined;
456
+ };
457
+ schemaVersion: 1;
458
+ state: {
459
+ worktreeRoot: string;
460
+ directory: string;
461
+ databasePath: string;
462
+ };
463
+ daemon: {
464
+ runnerId: string;
465
+ dispatcherUrl: string;
466
+ repositories: {
467
+ provider: string;
468
+ owner: string;
469
+ repo: string;
470
+ checkoutPath: string;
471
+ defaultExecutor: "echo" | "codex" | "claude-code";
472
+ baseBranch: string;
473
+ pushRemote: string;
474
+ worktreeRoot: string;
475
+ keepWorktree: "always" | "on_failure" | "never";
476
+ }[];
477
+ pairingToken: string;
478
+ pollIntervalMs: number;
479
+ heartbeatIntervalMs: number;
480
+ channelBindings?: {
481
+ provider: string;
482
+ owner: string;
483
+ repo: string;
484
+ accountId: string;
485
+ conversationId: string;
486
+ repoProvider: string;
487
+ metadata?: Record<string, unknown> | undefined;
488
+ }[] | undefined;
489
+ claudeCode?: {
490
+ command?: string | undefined;
491
+ model?: string | undefined;
492
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
493
+ dangerouslySkipPermissions?: boolean | undefined;
494
+ } | undefined;
495
+ security?: {
496
+ mode?: "enforce" | "audit" | "off" | undefined;
497
+ allowedWorkspaceRoot?: string | undefined;
498
+ allowUnsafePrompts?: boolean | undefined;
499
+ extraSafeEnv?: string[] | undefined;
500
+ } | undefined;
501
+ githubToken?: string | undefined;
502
+ preparePullRequestBranch?: boolean | undefined;
503
+ allowAutoCreatePullRequest?: boolean | undefined;
504
+ };
505
+ preferences?: {
506
+ language?: "en" | "zh-CN" | undefined;
507
+ lastSetup?: {
508
+ platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
509
+ executor?: "echo" | "codex" | "claude-code" | undefined;
510
+ projectPath?: string | undefined;
511
+ larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
512
+ larkDomain?: "lark" | "feishu" | undefined;
513
+ bindingMethod?: "default_project" | "bind_later" | undefined;
514
+ slackMode?: "socket_mode" | "events_api" | undefined;
515
+ slackTeamId?: string | undefined;
516
+ slackChannelId?: string | undefined;
517
+ slackPort?: number | undefined;
518
+ githubOwner?: string | undefined;
519
+ githubRepo?: string | undefined;
520
+ githubPort?: number | undefined;
521
+ githubAutoCreatePullRequest?: boolean | undefined;
522
+ } | undefined;
523
+ } | undefined;
524
+ }, {
525
+ platforms: {
526
+ lark?: {
527
+ appId: string;
528
+ appSecret: string;
529
+ domain: "lark" | "feishu";
530
+ botOpenId?: string | undefined;
531
+ defaultProjectBinding?: boolean | undefined;
532
+ } | undefined;
533
+ slack?: {
534
+ botToken: string;
535
+ teamId: string;
536
+ channelId: string;
537
+ mode?: "socket_mode" | "events_api" | undefined;
538
+ appId?: string | undefined;
539
+ defaultProjectBinding?: boolean | undefined;
540
+ appToken?: string | undefined;
541
+ signingSecret?: string | undefined;
542
+ port?: number | undefined;
543
+ } | undefined;
544
+ github?: {
545
+ owner: string;
546
+ repo: string;
547
+ webhookSecret: string;
548
+ port?: number | undefined;
549
+ webhookPath?: string | undefined;
550
+ } | undefined;
551
+ };
552
+ schemaVersion: 1;
553
+ state: {
554
+ worktreeRoot: string;
555
+ directory: string;
556
+ databasePath: string;
557
+ };
558
+ daemon: {
559
+ runnerId: string;
560
+ dispatcherUrl: string;
561
+ repositories: {
562
+ provider: string;
563
+ owner: string;
564
+ repo: string;
565
+ checkoutPath: string;
566
+ defaultExecutor: "echo" | "codex" | "claude-code";
567
+ baseBranch: string;
568
+ pushRemote: string;
569
+ worktreeRoot: string;
570
+ keepWorktree: "always" | "on_failure" | "never";
571
+ }[];
572
+ pairingToken: string;
573
+ pollIntervalMs: number;
574
+ heartbeatIntervalMs: number;
575
+ channelBindings?: {
576
+ provider: string;
577
+ owner: string;
578
+ repo: string;
579
+ accountId: string;
580
+ conversationId: string;
581
+ repoProvider: string;
582
+ metadata?: Record<string, unknown> | undefined;
583
+ }[] | undefined;
584
+ claudeCode?: {
585
+ command?: string | undefined;
586
+ model?: string | undefined;
587
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
588
+ dangerouslySkipPermissions?: boolean | undefined;
589
+ } | undefined;
590
+ security?: {
591
+ mode?: "enforce" | "audit" | "off" | undefined;
592
+ allowedWorkspaceRoot?: string | undefined;
593
+ allowUnsafePrompts?: boolean | undefined;
594
+ extraSafeEnv?: string[] | undefined;
595
+ } | undefined;
596
+ githubToken?: string | undefined;
597
+ preparePullRequestBranch?: boolean | undefined;
598
+ allowAutoCreatePullRequest?: boolean | undefined;
599
+ };
600
+ preferences?: {
601
+ language?: "en" | "zh-CN" | undefined;
602
+ lastSetup?: {
603
+ platforms?: ("lark" | "slack" | "github" | "telegram")[] | undefined;
604
+ executor?: "echo" | "codex" | "claude-code" | undefined;
605
+ projectPath?: string | undefined;
606
+ larkSetupMethod?: "saved" | "scan" | "manual" | undefined;
607
+ larkDomain?: "lark" | "feishu" | undefined;
608
+ bindingMethod?: "default_project" | "bind_later" | undefined;
609
+ slackMode?: "socket_mode" | "events_api" | undefined;
610
+ slackTeamId?: string | undefined;
611
+ slackChannelId?: string | undefined;
612
+ slackPort?: number | undefined;
613
+ githubOwner?: string | undefined;
614
+ githubRepo?: string | undefined;
615
+ githubPort?: number | undefined;
616
+ githubAutoCreatePullRequest?: boolean | undefined;
617
+ } | undefined;
618
+ } | undefined;
619
+ }>;
620
+ export type OpenTagCliConfig = Omit<z.infer<typeof OpenTagCliConfigSchema>, "daemon"> & {
621
+ daemon: OpenTagDaemonConfig;
622
+ };
623
+ export type OpenTagCliPreferences = NonNullable<OpenTagCliConfig["preferences"]>;
624
+ export type OpenTagCliLastSetup = NonNullable<OpenTagCliPreferences["lastSetup"]>;
625
+ export type OpenTagCliLanguage = CliLanguage;
626
+ export type OpenTagCliPlatform = PlatformId;
627
+ export type OpenTagCliExecutor = ExecutorId;
628
+ export type PathEnvironment = Partial<Record<"OPENTAG_CONFIG_PATH" | "OPENTAG_CONFIG_HOME" | "OPENTAG_STATE_DIR" | "XDG_CONFIG_HOME" | "XDG_STATE_HOME", string>>;
629
+ export declare function defaultConfigPath(env?: PathEnvironment, home?: string): string;
630
+ export declare function defaultStateDirectory(env?: PathEnvironment, home?: string): string;
631
+ export declare function formatCliConfigError(error: unknown): string;
632
+ export declare function parseCliConfig(value: unknown): OpenTagCliConfig;
633
+ export declare function readCliConfig(path?: string): OpenTagCliConfig;
634
+ export declare function ensurePrivateDirectory(path: string): void;
635
+ export declare function writeCliConfigAtomic(path: string, config: OpenTagCliConfig): void;
636
+ export declare function assertPrivateConfigFile(path: string): void;
637
+ export declare function redactedCliConfig(config: OpenTagCliConfig): unknown;
638
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmE,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACnI,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAqJ1D,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBxB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,EAAE,QAAQ,CAAC,GAAG;IACtF,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC;AACjF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAC7C,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAC5C,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC;AAE5C,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,MAAM,CAAC,qBAAqB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,gBAAgB,EAAE,MAAM,CAAC,CAC3H,CAAC;AAQF,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,eAA6B,EAAE,IAAI,SAAY,GAAG,MAAM,CAG9F;AAED,wBAAgB,qBAAqB,CAAC,GAAG,GAAE,eAA6B,EAAE,IAAI,SAAY,GAAG,MAAM,CAIlG;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAK3D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAM/D;AAED,wBAAgB,aAAa,CAAC,IAAI,SAAsB,GAAG,gBAAgB,CAG1E;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKzD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAYjF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM1D;AAeD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAEnE"}
@@ -0,0 +1,5 @@
1
+ export type DoctorCommandOptions = {
2
+ config?: string;
3
+ };
4
+ export declare function runDoctorCommand(options: DoctorCommandOptions): Promise<void>;
5
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUnF"}
@@ -0,0 +1,11 @@
1
+ export declare function fetchWithTimeout(input: {
2
+ url: string;
3
+ fetchImpl?: typeof fetch;
4
+ timeoutMs: number;
5
+ }): Promise<Response>;
6
+ export declare function probeDispatcherHealth(input: {
7
+ dispatcherUrl: string;
8
+ fetchImpl?: typeof fetch;
9
+ timeoutMs: number;
10
+ }): Promise<boolean>;
11
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../src/health.ts"],"names":[],"mappings":"AAAA,wBAAsB,gBAAgB,CAAC,KAAK,EAAE;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,QAAQ,CAAC,CASpB;AAED,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnB"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}