@opentag/local-runtime 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.
@@ -0,0 +1,365 @@
1
+ import { z } from "zod";
2
+ export declare const RepositoryBindingConfigSchema: z.ZodObject<{
3
+ provider: z.ZodDefault<z.ZodString>;
4
+ owner: z.ZodString;
5
+ repo: z.ZodString;
6
+ checkoutPath: z.ZodString;
7
+ defaultExecutor: z.ZodDefault<z.ZodEnum<["echo", "codex", "claude-code"]>>;
8
+ baseBranch: z.ZodDefault<z.ZodString>;
9
+ pushRemote: z.ZodDefault<z.ZodString>;
10
+ worktreeRoot: z.ZodOptional<z.ZodString>;
11
+ keepWorktree: z.ZodDefault<z.ZodEnum<["always", "on_failure", "never"]>>;
12
+ }, "strip", z.ZodTypeAny, {
13
+ provider: string;
14
+ owner: string;
15
+ repo: string;
16
+ checkoutPath: string;
17
+ defaultExecutor: "echo" | "codex" | "claude-code";
18
+ baseBranch: string;
19
+ pushRemote: string;
20
+ keepWorktree: "always" | "on_failure" | "never";
21
+ worktreeRoot?: string | undefined;
22
+ }, {
23
+ owner: string;
24
+ repo: string;
25
+ checkoutPath: string;
26
+ provider?: string | undefined;
27
+ defaultExecutor?: "echo" | "codex" | "claude-code" | undefined;
28
+ baseBranch?: string | undefined;
29
+ pushRemote?: string | undefined;
30
+ worktreeRoot?: string | undefined;
31
+ keepWorktree?: "always" | "on_failure" | "never" | undefined;
32
+ }>;
33
+ export declare const SlackChannelBindingConfigSchema: z.ZodObject<{
34
+ teamId: z.ZodString;
35
+ channelId: z.ZodString;
36
+ repoProvider: z.ZodDefault<z.ZodString>;
37
+ owner: z.ZodString;
38
+ repo: z.ZodString;
39
+ }, "strip", z.ZodTypeAny, {
40
+ owner: string;
41
+ repo: string;
42
+ teamId: string;
43
+ channelId: string;
44
+ repoProvider: string;
45
+ }, {
46
+ owner: string;
47
+ repo: string;
48
+ teamId: string;
49
+ channelId: string;
50
+ repoProvider?: string | undefined;
51
+ }>;
52
+ export declare const ChannelBindingConfigSchema: z.ZodObject<{
53
+ provider: z.ZodString;
54
+ accountId: z.ZodString;
55
+ conversationId: z.ZodString;
56
+ repoProvider: z.ZodDefault<z.ZodString>;
57
+ owner: z.ZodString;
58
+ repo: z.ZodString;
59
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ provider: string;
62
+ owner: string;
63
+ repo: string;
64
+ repoProvider: string;
65
+ accountId: string;
66
+ conversationId: string;
67
+ metadata?: Record<string, unknown> | undefined;
68
+ }, {
69
+ provider: string;
70
+ owner: string;
71
+ repo: string;
72
+ accountId: string;
73
+ conversationId: string;
74
+ repoProvider?: string | undefined;
75
+ metadata?: Record<string, unknown> | undefined;
76
+ }>;
77
+ export declare const LarkChannelBindingConfigSchema: z.ZodObject<{
78
+ tenantKey: z.ZodString;
79
+ chatId: z.ZodString;
80
+ repoProvider: z.ZodDefault<z.ZodString>;
81
+ owner: z.ZodString;
82
+ repo: z.ZodString;
83
+ }, "strip", z.ZodTypeAny, {
84
+ owner: string;
85
+ repo: string;
86
+ repoProvider: string;
87
+ tenantKey: string;
88
+ chatId: string;
89
+ }, {
90
+ owner: string;
91
+ repo: string;
92
+ tenantKey: string;
93
+ chatId: string;
94
+ repoProvider?: string | undefined;
95
+ }>;
96
+ export declare const OpenTagDaemonConfigSchema: z.ZodObject<{
97
+ runnerId: z.ZodDefault<z.ZodString>;
98
+ dispatcherUrl: z.ZodDefault<z.ZodString>;
99
+ repositories: z.ZodDefault<z.ZodArray<z.ZodObject<{
100
+ provider: z.ZodDefault<z.ZodString>;
101
+ owner: z.ZodString;
102
+ repo: z.ZodString;
103
+ checkoutPath: z.ZodString;
104
+ defaultExecutor: z.ZodDefault<z.ZodEnum<["echo", "codex", "claude-code"]>>;
105
+ baseBranch: z.ZodDefault<z.ZodString>;
106
+ pushRemote: z.ZodDefault<z.ZodString>;
107
+ worktreeRoot: z.ZodOptional<z.ZodString>;
108
+ keepWorktree: z.ZodDefault<z.ZodEnum<["always", "on_failure", "never"]>>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ provider: string;
111
+ owner: string;
112
+ repo: string;
113
+ checkoutPath: string;
114
+ defaultExecutor: "echo" | "codex" | "claude-code";
115
+ baseBranch: string;
116
+ pushRemote: string;
117
+ keepWorktree: "always" | "on_failure" | "never";
118
+ worktreeRoot?: string | undefined;
119
+ }, {
120
+ owner: string;
121
+ repo: string;
122
+ checkoutPath: string;
123
+ provider?: string | undefined;
124
+ defaultExecutor?: "echo" | "codex" | "claude-code" | undefined;
125
+ baseBranch?: string | undefined;
126
+ pushRemote?: string | undefined;
127
+ worktreeRoot?: string | undefined;
128
+ keepWorktree?: "always" | "on_failure" | "never" | undefined;
129
+ }>, "many">>;
130
+ channelBindings: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ provider: z.ZodString;
132
+ accountId: z.ZodString;
133
+ conversationId: z.ZodString;
134
+ repoProvider: z.ZodDefault<z.ZodString>;
135
+ owner: z.ZodString;
136
+ repo: z.ZodString;
137
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ provider: string;
140
+ owner: string;
141
+ repo: string;
142
+ repoProvider: string;
143
+ accountId: string;
144
+ conversationId: string;
145
+ metadata?: Record<string, unknown> | undefined;
146
+ }, {
147
+ provider: string;
148
+ owner: string;
149
+ repo: string;
150
+ accountId: string;
151
+ conversationId: string;
152
+ repoProvider?: string | undefined;
153
+ metadata?: Record<string, unknown> | undefined;
154
+ }>, "many">>;
155
+ slackChannels: z.ZodOptional<z.ZodArray<z.ZodObject<{
156
+ teamId: z.ZodString;
157
+ channelId: z.ZodString;
158
+ repoProvider: z.ZodDefault<z.ZodString>;
159
+ owner: z.ZodString;
160
+ repo: z.ZodString;
161
+ }, "strip", z.ZodTypeAny, {
162
+ owner: string;
163
+ repo: string;
164
+ teamId: string;
165
+ channelId: string;
166
+ repoProvider: string;
167
+ }, {
168
+ owner: string;
169
+ repo: string;
170
+ teamId: string;
171
+ channelId: string;
172
+ repoProvider?: string | undefined;
173
+ }>, "many">>;
174
+ larkChannels: z.ZodOptional<z.ZodArray<z.ZodObject<{
175
+ tenantKey: z.ZodString;
176
+ chatId: z.ZodString;
177
+ repoProvider: z.ZodDefault<z.ZodString>;
178
+ owner: z.ZodString;
179
+ repo: z.ZodString;
180
+ }, "strip", z.ZodTypeAny, {
181
+ owner: string;
182
+ repo: string;
183
+ repoProvider: string;
184
+ tenantKey: string;
185
+ chatId: string;
186
+ }, {
187
+ owner: string;
188
+ repo: string;
189
+ tenantKey: string;
190
+ chatId: string;
191
+ repoProvider?: string | undefined;
192
+ }>, "many">>;
193
+ claudeCode: z.ZodOptional<z.ZodObject<{
194
+ command: z.ZodOptional<z.ZodString>;
195
+ model: z.ZodOptional<z.ZodString>;
196
+ permissionMode: z.ZodOptional<z.ZodEnum<["acceptEdits", "auto", "bypassPermissions", "default", "plan"]>>;
197
+ dangerouslySkipPermissions: z.ZodOptional<z.ZodBoolean>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ command?: string | undefined;
200
+ model?: string | undefined;
201
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
202
+ dangerouslySkipPermissions?: boolean | undefined;
203
+ }, {
204
+ command?: string | undefined;
205
+ model?: string | undefined;
206
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
207
+ dangerouslySkipPermissions?: boolean | undefined;
208
+ }>>;
209
+ security: z.ZodOptional<z.ZodObject<{
210
+ mode: z.ZodOptional<z.ZodEnum<["enforce", "audit", "off"]>>;
211
+ allowedWorkspaceRoot: z.ZodOptional<z.ZodString>;
212
+ allowUnsafePrompts: z.ZodOptional<z.ZodBoolean>;
213
+ extraSafeEnv: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
214
+ }, "strip", z.ZodTypeAny, {
215
+ mode?: "enforce" | "audit" | "off" | undefined;
216
+ allowedWorkspaceRoot?: string | undefined;
217
+ allowUnsafePrompts?: boolean | undefined;
218
+ extraSafeEnv?: string[] | undefined;
219
+ }, {
220
+ mode?: "enforce" | "audit" | "off" | undefined;
221
+ allowedWorkspaceRoot?: string | undefined;
222
+ allowUnsafePrompts?: boolean | undefined;
223
+ extraSafeEnv?: string[] | undefined;
224
+ }>>;
225
+ githubToken: z.ZodOptional<z.ZodString>;
226
+ preparePullRequestBranch: z.ZodOptional<z.ZodBoolean>;
227
+ allowAutoCreatePullRequest: z.ZodOptional<z.ZodBoolean>;
228
+ pairingToken: z.ZodOptional<z.ZodString>;
229
+ pollIntervalMs: z.ZodDefault<z.ZodNumber>;
230
+ heartbeatIntervalMs: z.ZodDefault<z.ZodNumber>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ runnerId: string;
233
+ dispatcherUrl: string;
234
+ repositories: {
235
+ provider: string;
236
+ owner: string;
237
+ repo: string;
238
+ checkoutPath: string;
239
+ defaultExecutor: "echo" | "codex" | "claude-code";
240
+ baseBranch: string;
241
+ pushRemote: string;
242
+ keepWorktree: "always" | "on_failure" | "never";
243
+ worktreeRoot?: string | undefined;
244
+ }[];
245
+ pollIntervalMs: number;
246
+ heartbeatIntervalMs: number;
247
+ channelBindings?: {
248
+ provider: string;
249
+ owner: string;
250
+ repo: string;
251
+ repoProvider: string;
252
+ accountId: string;
253
+ conversationId: string;
254
+ metadata?: Record<string, unknown> | undefined;
255
+ }[] | undefined;
256
+ slackChannels?: {
257
+ owner: string;
258
+ repo: string;
259
+ teamId: string;
260
+ channelId: string;
261
+ repoProvider: string;
262
+ }[] | undefined;
263
+ larkChannels?: {
264
+ owner: string;
265
+ repo: string;
266
+ repoProvider: string;
267
+ tenantKey: string;
268
+ chatId: string;
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
+ pairingToken?: string | undefined;
286
+ }, {
287
+ runnerId?: string | undefined;
288
+ dispatcherUrl?: string | undefined;
289
+ repositories?: {
290
+ owner: string;
291
+ repo: string;
292
+ checkoutPath: string;
293
+ provider?: string | undefined;
294
+ defaultExecutor?: "echo" | "codex" | "claude-code" | undefined;
295
+ baseBranch?: string | undefined;
296
+ pushRemote?: string | undefined;
297
+ worktreeRoot?: string | undefined;
298
+ keepWorktree?: "always" | "on_failure" | "never" | undefined;
299
+ }[] | undefined;
300
+ channelBindings?: {
301
+ provider: string;
302
+ owner: string;
303
+ repo: string;
304
+ accountId: string;
305
+ conversationId: string;
306
+ repoProvider?: string | undefined;
307
+ metadata?: Record<string, unknown> | undefined;
308
+ }[] | undefined;
309
+ slackChannels?: {
310
+ owner: string;
311
+ repo: string;
312
+ teamId: string;
313
+ channelId: string;
314
+ repoProvider?: string | undefined;
315
+ }[] | undefined;
316
+ larkChannels?: {
317
+ owner: string;
318
+ repo: string;
319
+ tenantKey: string;
320
+ chatId: string;
321
+ repoProvider?: string | undefined;
322
+ }[] | undefined;
323
+ claudeCode?: {
324
+ command?: string | undefined;
325
+ model?: string | undefined;
326
+ permissionMode?: "acceptEdits" | "auto" | "bypassPermissions" | "default" | "plan" | undefined;
327
+ dangerouslySkipPermissions?: boolean | undefined;
328
+ } | undefined;
329
+ security?: {
330
+ mode?: "enforce" | "audit" | "off" | undefined;
331
+ allowedWorkspaceRoot?: string | undefined;
332
+ allowUnsafePrompts?: boolean | undefined;
333
+ extraSafeEnv?: string[] | undefined;
334
+ } | undefined;
335
+ githubToken?: string | undefined;
336
+ preparePullRequestBranch?: boolean | undefined;
337
+ allowAutoCreatePullRequest?: boolean | undefined;
338
+ pairingToken?: string | undefined;
339
+ pollIntervalMs?: number | undefined;
340
+ heartbeatIntervalMs?: number | undefined;
341
+ }>;
342
+ export type RepositoryBindingConfig = z.infer<typeof RepositoryBindingConfigSchema>;
343
+ export type ChannelBindingConfig = z.infer<typeof ChannelBindingConfigSchema>;
344
+ export type SlackChannelBindingConfig = z.infer<typeof SlackChannelBindingConfigSchema>;
345
+ export type LarkChannelBindingConfig = z.infer<typeof LarkChannelBindingConfigSchema>;
346
+ export type OpenTagDaemonConfig = z.infer<typeof OpenTagDaemonConfigSchema>;
347
+ export declare function normalizeChannelBindings(config: OpenTagDaemonConfig): ChannelBindingConfig[];
348
+ export type InitConfigInput = {
349
+ runnerId?: string;
350
+ dispatcherUrl?: string;
351
+ pairingToken?: string;
352
+ owner: string;
353
+ repo: string;
354
+ checkoutPath: string;
355
+ executor?: string;
356
+ baseBranch?: string;
357
+ pushRemote?: string;
358
+ worktreeRoot?: string;
359
+ keepWorktree?: string;
360
+ };
361
+ export declare function formatConfigError(error: unknown): string;
362
+ export declare function parseDaemonConfig(value: unknown): OpenTagDaemonConfig;
363
+ export declare function createInitialConfig(input: InitConfigInput): OpenTagDaemonConfig;
364
+ export declare function loadConfigFromEnv(): OpenTagDaemonConfig;
365
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoBxB,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUxC,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;EAM1C,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;EAQrC,CAAC;AAEH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;EAMzC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAepC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AACxF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AACtF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAc5E,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,mBAAmB,GAAG,oBAAoB,EAAE,CAwC5F;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAaF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMxD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAIrE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,mBAAmB,CAmB/E;AAoBD,wBAAgB,iBAAiB,IAAI,mBAAmB,CAwGvD"}
package/dist/config.js ADDED
@@ -0,0 +1,25 @@
1
+ import {
2
+ ChannelBindingConfigSchema,
3
+ LarkChannelBindingConfigSchema,
4
+ OpenTagDaemonConfigSchema,
5
+ RepositoryBindingConfigSchema,
6
+ SlackChannelBindingConfigSchema,
7
+ createInitialConfig,
8
+ formatConfigError,
9
+ loadConfigFromEnv,
10
+ normalizeChannelBindings,
11
+ parseDaemonConfig
12
+ } from "./chunk-UAMAECYE.js";
13
+ export {
14
+ ChannelBindingConfigSchema,
15
+ LarkChannelBindingConfigSchema,
16
+ OpenTagDaemonConfigSchema,
17
+ RepositoryBindingConfigSchema,
18
+ SlackChannelBindingConfigSchema,
19
+ createInitialConfig,
20
+ formatConfigError,
21
+ loadConfigFromEnv,
22
+ normalizeChannelBindings,
23
+ parseDaemonConfig
24
+ };
25
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,42 @@
1
+ import { type OpenTagEvent, type OpenTagRun, type OpenTagRunResult } from "@opentag/core";
2
+ import { type ExecutorAdapter, type RunnerSecurityPolicy } from "@opentag/runner";
3
+ import type { RepositoryBindingConfig } from "./config.js";
4
+ import { type PullRequestOptions } from "./pr.js";
5
+ export type ClaimedRun = {
6
+ run: OpenTagRun;
7
+ event: OpenTagEvent;
8
+ };
9
+ export type DaemonClient = {
10
+ claim(): Promise<ClaimedRun | null>;
11
+ markRunning(runId: string, executor: string): Promise<void>;
12
+ heartbeat(runId: string): Promise<void>;
13
+ progress(runId: string, input: {
14
+ type: string;
15
+ message: string;
16
+ at: string;
17
+ }): Promise<void>;
18
+ complete(runId: string, result: OpenTagRunResult): Promise<void>;
19
+ };
20
+ export declare function resolveRepositoryBinding(event: OpenTagEvent, repositories: RepositoryBindingConfig[]): RepositoryBindingConfig | null;
21
+ export declare function resolveWorkspacePath(event: OpenTagEvent, repositories: RepositoryBindingConfig[]): string | null;
22
+ export declare function runOneDaemonIteration(input: {
23
+ runnerId: string;
24
+ repositories: RepositoryBindingConfig[];
25
+ executors: Record<string, ExecutorAdapter>;
26
+ security?: RunnerSecurityPolicy;
27
+ pullRequestOptions?: PullRequestOptions;
28
+ heartbeatIntervalMs?: number;
29
+ client: DaemonClient;
30
+ }): Promise<boolean>;
31
+ export declare function serveDaemon(input: {
32
+ runnerId: string;
33
+ repositories: RepositoryBindingConfig[];
34
+ executors: Record<string, ExecutorAdapter>;
35
+ security?: RunnerSecurityPolicy;
36
+ pullRequestOptions?: PullRequestOptions;
37
+ heartbeatIntervalMs?: number;
38
+ pollIntervalMs?: number;
39
+ signal?: AbortSignal;
40
+ client: DaemonClient;
41
+ }): Promise<void>;
42
+ //# sourceMappingURL=daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAE1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE1E,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACpC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7F,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,uBAAuB,GAAG,IAAI,CAYrI;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,uBAAuB,EAAE,GAAG,MAAM,GAAG,IAAI,CAEhH;AAwBD,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2InB;AAoBD,wBAAsB,WAAW,CAAC,KAAK,EAAE;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,uBAAuB,EAAE,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBhB"}
package/dist/daemon.js ADDED
@@ -0,0 +1,14 @@
1
+ import {
2
+ resolveRepositoryBinding,
3
+ resolveWorkspacePath,
4
+ runOneDaemonIteration,
5
+ serveDaemon
6
+ } from "./chunk-3GVYPT5P.js";
7
+ import "./chunk-UUQUUYQM.js";
8
+ export {
9
+ resolveRepositoryBinding,
10
+ resolveWorkspacePath,
11
+ runOneDaemonIteration,
12
+ serveDaemon
13
+ };
14
+ //# sourceMappingURL=daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,24 @@
1
+ import { serve } from "@hono/node-server";
2
+ export type LocalDispatcherRuntimeInput = {
3
+ port: number;
4
+ databasePath: string;
5
+ pairingToken?: string;
6
+ githubToken?: string;
7
+ lark?: {
8
+ appId: string;
9
+ appSecret: string;
10
+ domain: "lark" | "feishu";
11
+ };
12
+ slackBotToken?: string;
13
+ slackBotTokensByAgentId?: Record<string, string>;
14
+ telegramBotToken?: string;
15
+ telegramBotTokensByAgentId?: Record<string, string>;
16
+ };
17
+ export type LocalDispatcherHandle = {
18
+ url: string;
19
+ server: ReturnType<typeof serve>;
20
+ close(): Promise<void>;
21
+ };
22
+ export declare function dispatcherRuntimeInputFromEnv(env: NodeJS.ProcessEnv): LocalDispatcherRuntimeInput;
23
+ export declare function startDispatcher(input: LocalDispatcherRuntimeInput): LocalDispatcherHandle;
24
+ //# sourceMappingURL=dispatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../src/dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAU1C,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC3B,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;IACjC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAoCF,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,2BAA2B,CAmCjG;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,2BAA2B,GAAG,qBAAqB,CAiDzF"}
@@ -0,0 +1,9 @@
1
+ import {
2
+ dispatcherRuntimeInputFromEnv,
3
+ startDispatcher
4
+ } from "./chunk-EKMUVNR7.js";
5
+ export {
6
+ dispatcherRuntimeInputFromEnv,
7
+ startDispatcher
8
+ };
9
+ //# sourceMappingURL=dispatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,17 @@
1
+ import { type CommandRunner, type ExecutorAdapter } from "@opentag/runner";
2
+ import type { OpenTagDaemonConfig } from "./config.js";
3
+ export type DoctorCheckStatus = "ok" | "warn" | "fail";
4
+ export type DoctorCheck = {
5
+ name: string;
6
+ status: DoctorCheckStatus;
7
+ message: string;
8
+ };
9
+ export declare function runDoctor(input: {
10
+ config: OpenTagDaemonConfig;
11
+ executors: Record<string, ExecutorAdapter>;
12
+ fetchImpl?: typeof fetch;
13
+ commandRunner?: CommandRunner;
14
+ }): Promise<DoctorCheck[]>;
15
+ export declare function formatDoctorChecks(checks: DoctorCheck[]): string;
16
+ export declare function doctorHasFailures(checks: DoctorCheck[]): boolean;
17
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAG9F,OAAO,KAAK,EAAE,mBAAmB,EAA2B,MAAM,aAAa,CAAC;AAEhF,MAAM,MAAM,iBAAiB,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAqEF,wBAAsB,SAAS,CAAC,KAAK,EAAE;IACrC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA2GzB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAEhE"}
package/dist/doctor.js ADDED
@@ -0,0 +1,12 @@
1
+ import {
2
+ doctorHasFailures,
3
+ formatDoctorChecks,
4
+ runDoctor
5
+ } from "./chunk-ZXR3PYD7.js";
6
+ import "./chunk-UAMAECYE.js";
7
+ export {
8
+ doctorHasFailures,
9
+ formatDoctorChecks,
10
+ runDoctor
11
+ };
12
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,7 @@
1
+ export * from "./config.js";
2
+ export * from "./daemon.js";
3
+ export * from "./dispatcher.js";
4
+ export * from "./doctor.js";
5
+ export * from "./pr.js";
6
+ export * from "./runtime.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,65 @@
1
+ import {
2
+ resolveRepositoryBinding,
3
+ resolveWorkspacePath,
4
+ runOneDaemonIteration,
5
+ serveDaemon
6
+ } from "./chunk-3GVYPT5P.js";
7
+ import {
8
+ dispatcherRuntimeInputFromEnv,
9
+ startDispatcher
10
+ } from "./chunk-EKMUVNR7.js";
11
+ import {
12
+ doctorHasFailures,
13
+ formatDoctorChecks,
14
+ runDoctor
15
+ } from "./chunk-ZXR3PYD7.js";
16
+ import {
17
+ ChannelBindingConfigSchema,
18
+ LarkChannelBindingConfigSchema,
19
+ OpenTagDaemonConfigSchema,
20
+ RepositoryBindingConfigSchema,
21
+ SlackChannelBindingConfigSchema,
22
+ createInitialConfig,
23
+ formatConfigError,
24
+ loadConfigFromEnv,
25
+ normalizeChannelBindings,
26
+ parseDaemonConfig
27
+ } from "./chunk-UAMAECYE.js";
28
+ import {
29
+ maybeCreatePullRequest
30
+ } from "./chunk-UUQUUYQM.js";
31
+ import {
32
+ createDaemonClient,
33
+ createDaemonRuntimeInput,
34
+ executorsFromConfig,
35
+ pullRequestOptionsFromConfig,
36
+ securityFromConfig
37
+ } from "./chunk-CUP3SU3F.js";
38
+ export {
39
+ ChannelBindingConfigSchema,
40
+ LarkChannelBindingConfigSchema,
41
+ OpenTagDaemonConfigSchema,
42
+ RepositoryBindingConfigSchema,
43
+ SlackChannelBindingConfigSchema,
44
+ createDaemonClient,
45
+ createDaemonRuntimeInput,
46
+ createInitialConfig,
47
+ dispatcherRuntimeInputFromEnv,
48
+ doctorHasFailures,
49
+ executorsFromConfig,
50
+ formatConfigError,
51
+ formatDoctorChecks,
52
+ loadConfigFromEnv,
53
+ maybeCreatePullRequest,
54
+ normalizeChannelBindings,
55
+ parseDaemonConfig,
56
+ pullRequestOptionsFromConfig,
57
+ resolveRepositoryBinding,
58
+ resolveWorkspacePath,
59
+ runDoctor,
60
+ runOneDaemonIteration,
61
+ securityFromConfig,
62
+ serveDaemon,
63
+ startDispatcher
64
+ };
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/pr.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import type { OpenTagEvent, OpenTagRun, OpenTagRunResult } from "@opentag/core";
2
+ import { type FetchLike } from "@opentag/github";
3
+ import { type CommandRunner } from "@opentag/runner";
4
+ import type { RepositoryBindingConfig } from "./config.js";
5
+ export type PullRequestOptions = {
6
+ githubToken?: string;
7
+ preparePullRequestBranch?: boolean;
8
+ allowAutoCreatePullRequest?: boolean;
9
+ commandRunner?: CommandRunner;
10
+ fetchImpl?: FetchLike;
11
+ };
12
+ export declare function maybeCreatePullRequest(input: {
13
+ run: OpenTagRun;
14
+ event: OpenTagEvent;
15
+ binding: RepositoryBindingConfig;
16
+ result: OpenTagRunResult;
17
+ options: PullRequestOptions;
18
+ }): Promise<OpenTagRunResult>;
19
+ //# sourceMappingURL=pr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr.d.ts","sourceRoot":"","sources":["../src/pr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAmD,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAuE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1H,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAkBF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,GAAG,EAAE,UAAU,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyD5B"}
package/dist/pr.js ADDED
@@ -0,0 +1,7 @@
1
+ import {
2
+ maybeCreatePullRequest
3
+ } from "./chunk-UUQUUYQM.js";
4
+ export {
5
+ maybeCreatePullRequest
6
+ };
7
+ //# sourceMappingURL=pr.js.map
package/dist/pr.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}