@opentag/client 0.3.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.
- package/dist/index.d.ts +94 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +129 -5
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -45,6 +45,35 @@ export type RunnerRegistration = {
|
|
|
45
45
|
createdAt: string;
|
|
46
46
|
heartbeatAt?: string;
|
|
47
47
|
};
|
|
48
|
+
export type ControlPlaneAlert = {
|
|
49
|
+
id: string;
|
|
50
|
+
type: string;
|
|
51
|
+
severity: "info" | "warn" | "error";
|
|
52
|
+
eventType: string;
|
|
53
|
+
count: number;
|
|
54
|
+
threshold: number;
|
|
55
|
+
firstSeenAt: string;
|
|
56
|
+
lastSeenAt: string;
|
|
57
|
+
subject?: string;
|
|
58
|
+
reason: string;
|
|
59
|
+
nextAction: string;
|
|
60
|
+
};
|
|
61
|
+
export type RecordControlPlaneEventInput = {
|
|
62
|
+
type: string;
|
|
63
|
+
severity?: "info" | "warn" | "error";
|
|
64
|
+
subject?: string;
|
|
65
|
+
payload?: Record<string, unknown>;
|
|
66
|
+
createdAt?: string;
|
|
67
|
+
};
|
|
68
|
+
export type PruneSourceDeliveriesInput = {
|
|
69
|
+
olderThan: string;
|
|
70
|
+
limit?: number;
|
|
71
|
+
};
|
|
72
|
+
export type SourceDeliveryPruneResult = {
|
|
73
|
+
scanned: number;
|
|
74
|
+
pruned: number;
|
|
75
|
+
retainedActive: number;
|
|
76
|
+
};
|
|
48
77
|
export type OpenTagClientOptions = {
|
|
49
78
|
dispatcherUrl: string;
|
|
50
79
|
pairingToken?: string;
|
|
@@ -59,6 +88,10 @@ export type RunProgressInput = {
|
|
|
59
88
|
at?: string;
|
|
60
89
|
visibility?: RunEventVisibility;
|
|
61
90
|
importance?: RunEventImportance;
|
|
91
|
+
idempotencyKey?: string;
|
|
92
|
+
};
|
|
93
|
+
export type RunTimeoutPolicy = {
|
|
94
|
+
hardTimeoutMs?: number;
|
|
62
95
|
};
|
|
63
96
|
export type CreateRunInput = {
|
|
64
97
|
runId: string;
|
|
@@ -77,6 +110,12 @@ export type CreateRunResult = {
|
|
|
77
110
|
outcome: "needs_human_decision";
|
|
78
111
|
decision: import("@opentag/core").RunAdmissionDecision;
|
|
79
112
|
};
|
|
113
|
+
export type CompleteRunInput = {
|
|
114
|
+
runnerId: string;
|
|
115
|
+
runId: string;
|
|
116
|
+
result: OpenTagRunResult;
|
|
117
|
+
idempotencyKey?: string;
|
|
118
|
+
};
|
|
80
119
|
export type ApprovalDecisionInput = {
|
|
81
120
|
id?: string;
|
|
82
121
|
approvedIntentIds: string[];
|
|
@@ -119,6 +158,17 @@ export type ThreadActionResult = {
|
|
|
119
158
|
plan?: ApplyPlan;
|
|
120
159
|
run?: OpenTagRun;
|
|
121
160
|
};
|
|
161
|
+
export type CancelRunResult = {
|
|
162
|
+
outcome: "cancelled";
|
|
163
|
+
run: OpenTagRun;
|
|
164
|
+
};
|
|
165
|
+
export type ChannelRuntimeStatus = {
|
|
166
|
+
binding: ChannelBindingInput;
|
|
167
|
+
activeRun?: OpenTagRun;
|
|
168
|
+
activeEvent?: OpenTagEvent;
|
|
169
|
+
runTimeoutPolicy?: RunTimeoutPolicy;
|
|
170
|
+
queuedFollowUps: import("@opentag/core").FollowUpRequest[];
|
|
171
|
+
};
|
|
122
172
|
export type RunMetrics = {
|
|
123
173
|
runId: string;
|
|
124
174
|
totalEventCount: number;
|
|
@@ -155,6 +205,14 @@ export type OpenTagClient = {
|
|
|
155
205
|
}): Promise<{
|
|
156
206
|
runner: RunnerRegistration;
|
|
157
207
|
}>;
|
|
208
|
+
listControlPlaneAlerts(input?: {
|
|
209
|
+
limit?: number;
|
|
210
|
+
since?: string;
|
|
211
|
+
}): Promise<{
|
|
212
|
+
alerts: ControlPlaneAlert[];
|
|
213
|
+
}>;
|
|
214
|
+
recordControlPlaneEvent(input: RecordControlPlaneEventInput): Promise<void>;
|
|
215
|
+
pruneSourceDeliveries(input: PruneSourceDeliveriesInput): Promise<SourceDeliveryPruneResult>;
|
|
158
216
|
bindRepository(input: RepoBindingInput): Promise<void>;
|
|
159
217
|
getRepositoryBinding(input: {
|
|
160
218
|
provider: string;
|
|
@@ -201,6 +259,16 @@ export type OpenTagClient = {
|
|
|
201
259
|
}): Promise<{
|
|
202
260
|
binding: ChannelBindingInput;
|
|
203
261
|
}>;
|
|
262
|
+
getChannelRuntimeStatus(input: {
|
|
263
|
+
provider: string;
|
|
264
|
+
accountId: string;
|
|
265
|
+
conversationId: string;
|
|
266
|
+
}): Promise<ChannelRuntimeStatus>;
|
|
267
|
+
unbindChannel(input: {
|
|
268
|
+
provider: string;
|
|
269
|
+
accountId: string;
|
|
270
|
+
conversationId: string;
|
|
271
|
+
}): Promise<void>;
|
|
204
272
|
bindSlackChannel(input: SlackChannelBindingInput): Promise<void>;
|
|
205
273
|
getSlackChannelBinding(input: {
|
|
206
274
|
teamId: string;
|
|
@@ -232,16 +300,26 @@ export type OpenTagClient = {
|
|
|
232
300
|
runnerId: string;
|
|
233
301
|
runId: string;
|
|
234
302
|
executor: string;
|
|
303
|
+
runTimeoutMs?: number;
|
|
304
|
+
idempotencyKey?: string;
|
|
235
305
|
}): Promise<void>;
|
|
236
306
|
progress(input: {
|
|
237
307
|
runnerId: string;
|
|
238
308
|
runId: string;
|
|
239
309
|
} & RunProgressInput): Promise<void>;
|
|
240
|
-
complete(input:
|
|
241
|
-
|
|
310
|
+
complete(input: CompleteRunInput): Promise<void>;
|
|
311
|
+
cancelRun(input: {
|
|
242
312
|
runId: string;
|
|
243
|
-
|
|
244
|
-
|
|
313
|
+
reason?: string;
|
|
314
|
+
requestedBy?: string;
|
|
315
|
+
}): Promise<CancelRunResult>;
|
|
316
|
+
cancelActiveChannelRun(input: {
|
|
317
|
+
provider: string;
|
|
318
|
+
accountId: string;
|
|
319
|
+
conversationId: string;
|
|
320
|
+
reason?: string;
|
|
321
|
+
requestedBy?: string;
|
|
322
|
+
}): Promise<CancelRunResult>;
|
|
245
323
|
getRun(input: {
|
|
246
324
|
runId: string;
|
|
247
325
|
}): Promise<ClaimedOpenTagRun>;
|
|
@@ -312,13 +390,18 @@ export type OpenTagClient = {
|
|
|
312
390
|
};
|
|
313
391
|
export type DispatcherRunnerClient = {
|
|
314
392
|
claim(): Promise<ClaimedOpenTagRun | null>;
|
|
315
|
-
markRunning(runId: string, executor: string
|
|
393
|
+
markRunning(runId: string, executor: string, options?: {
|
|
394
|
+
runTimeoutMs?: number;
|
|
395
|
+
idempotencyKey?: string;
|
|
396
|
+
}): Promise<void>;
|
|
316
397
|
heartbeat(runId: string): Promise<void>;
|
|
317
398
|
progress(runId: string, input: RunProgressInput & {
|
|
318
399
|
type: string;
|
|
319
400
|
at: string;
|
|
320
401
|
}): Promise<void>;
|
|
321
|
-
complete(runId: string, result: OpenTagRunResult
|
|
402
|
+
complete(runId: string, result: OpenTagRunResult, options?: {
|
|
403
|
+
idempotencyKey?: string;
|
|
404
|
+
}): Promise<void>;
|
|
322
405
|
};
|
|
323
406
|
export declare function createOpenTagClient(options: OpenTagClientOptions): OpenTagClient;
|
|
324
407
|
export declare function createDispatcherClient(options: RunnerClientOptions): DispatcherRunnerClient;
|
|
@@ -334,5 +417,10 @@ export declare function createDispatcherAdminClient(options: RunnerClientOptions
|
|
|
334
417
|
}): Promise<{
|
|
335
418
|
binding: ChannelBindingInput;
|
|
336
419
|
}>;
|
|
420
|
+
unbindChannel(input: {
|
|
421
|
+
provider: string;
|
|
422
|
+
accountId: string;
|
|
423
|
+
conversationId: string;
|
|
424
|
+
}): Promise<void>;
|
|
337
425
|
};
|
|
338
426
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,12 +15,29 @@ function authHeaders(pairingToken) {
|
|
|
15
15
|
function jsonHeaders(pairingToken) {
|
|
16
16
|
return { "content-type": "application/json", ...authHeaders(pairingToken) };
|
|
17
17
|
}
|
|
18
|
+
function parseRunTimeoutPolicy(value) {
|
|
19
|
+
if (!value || typeof value !== "object") return {};
|
|
20
|
+
const hardTimeoutMs = value.hardTimeoutMs;
|
|
21
|
+
if (hardTimeoutMs === void 0) return {};
|
|
22
|
+
return typeof hardTimeoutMs === "number" && Number.isInteger(hardTimeoutMs) && hardTimeoutMs > 0 ? { hardTimeoutMs } : {};
|
|
23
|
+
}
|
|
18
24
|
async function assertOk(response, action) {
|
|
19
25
|
if (!response.ok) {
|
|
20
26
|
const text = await response.text();
|
|
21
27
|
throw new Error(`${action} failed: ${response.status}${text ? ` ${text}` : ""}`);
|
|
22
28
|
}
|
|
23
29
|
}
|
|
30
|
+
function parseSourceDeliveryPruneResult(value) {
|
|
31
|
+
const result = value;
|
|
32
|
+
if (!result || typeof result.scanned !== "number" || typeof result.pruned !== "number" || typeof result.retainedActive !== "number") {
|
|
33
|
+
throw new Error("pruneSourceDeliveries returned an invalid response.");
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
scanned: result.scanned,
|
|
37
|
+
pruned: result.pruned,
|
|
38
|
+
retainedActive: result.retainedActive
|
|
39
|
+
};
|
|
40
|
+
}
|
|
24
41
|
function parseClaimedRun(body) {
|
|
25
42
|
return {
|
|
26
43
|
run: OpenTagRunSchema.parse(body.run),
|
|
@@ -46,6 +63,35 @@ function createOpenTagClient(options) {
|
|
|
46
63
|
await assertOk(response, "getRunner");
|
|
47
64
|
return await response.json();
|
|
48
65
|
},
|
|
66
|
+
async listControlPlaneAlerts(input = {}) {
|
|
67
|
+
const params = new URLSearchParams();
|
|
68
|
+
if (input.limit !== void 0) params.set("limit", String(input.limit));
|
|
69
|
+
if (input.since) params.set("since", input.since);
|
|
70
|
+
const query = params.toString();
|
|
71
|
+
const response = await fetchImpl(`${baseUrl}/v1/control-plane-alerts${query ? `?${query}` : ""}`, {
|
|
72
|
+
headers: authHeaders(options.pairingToken)
|
|
73
|
+
});
|
|
74
|
+
await assertOk(response, "listControlPlaneAlerts");
|
|
75
|
+
return await response.json();
|
|
76
|
+
},
|
|
77
|
+
async recordControlPlaneEvent(input) {
|
|
78
|
+
const response = await fetchImpl(`${baseUrl}/v1/control-plane-events`, {
|
|
79
|
+
method: "POST",
|
|
80
|
+
headers: jsonHeaders(options.pairingToken),
|
|
81
|
+
body: JSON.stringify(input)
|
|
82
|
+
});
|
|
83
|
+
await assertOk(response, "recordControlPlaneEvent");
|
|
84
|
+
},
|
|
85
|
+
async pruneSourceDeliveries(input) {
|
|
86
|
+
const response = await fetchImpl(`${baseUrl}/v1/source-deliveries/prune`, {
|
|
87
|
+
method: "POST",
|
|
88
|
+
headers: jsonHeaders(options.pairingToken),
|
|
89
|
+
body: JSON.stringify(input)
|
|
90
|
+
});
|
|
91
|
+
await assertOk(response, "pruneSourceDeliveries");
|
|
92
|
+
const body = await response.json();
|
|
93
|
+
return parseSourceDeliveryPruneResult(body.result);
|
|
94
|
+
},
|
|
49
95
|
async bindRepository(input) {
|
|
50
96
|
const response = await fetchImpl(`${baseUrl}/v1/repo-bindings`, {
|
|
51
97
|
method: "POST",
|
|
@@ -111,6 +157,33 @@ function createOpenTagClient(options) {
|
|
|
111
157
|
await assertOk(response, "getChannelBinding");
|
|
112
158
|
return await response.json();
|
|
113
159
|
},
|
|
160
|
+
async getChannelRuntimeStatus(input) {
|
|
161
|
+
const response = await fetchImpl(
|
|
162
|
+
`${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}/status`,
|
|
163
|
+
{
|
|
164
|
+
headers: authHeaders(options.pairingToken)
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
await assertOk(response, "getChannelRuntimeStatus");
|
|
168
|
+
const body = await response.json();
|
|
169
|
+
return {
|
|
170
|
+
binding: body.binding,
|
|
171
|
+
...body.activeRun ? { activeRun: OpenTagRunSchema.parse(body.activeRun) } : {},
|
|
172
|
+
...body.activeEvent ? { activeEvent: OpenTagEventSchema.parse(body.activeEvent) } : {},
|
|
173
|
+
...body.runTimeoutPolicy ? { runTimeoutPolicy: parseRunTimeoutPolicy(body.runTimeoutPolicy) } : {},
|
|
174
|
+
queuedFollowUps: (body.queuedFollowUps ?? []).map((followUp) => FollowUpRequestSchema.parse(followUp))
|
|
175
|
+
};
|
|
176
|
+
},
|
|
177
|
+
async unbindChannel(input) {
|
|
178
|
+
const response = await fetchImpl(
|
|
179
|
+
`${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}`,
|
|
180
|
+
{
|
|
181
|
+
method: "DELETE",
|
|
182
|
+
headers: authHeaders(options.pairingToken)
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
await assertOk(response, "unbindChannel");
|
|
186
|
+
},
|
|
114
187
|
async bindSlackChannel(input) {
|
|
115
188
|
const response = await fetchImpl(`${baseUrl}/v1/slack-channel-bindings`, {
|
|
116
189
|
method: "POST",
|
|
@@ -197,7 +270,11 @@ function createOpenTagClient(options) {
|
|
|
197
270
|
const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/running`, {
|
|
198
271
|
method: "POST",
|
|
199
272
|
headers: jsonHeaders(options.pairingToken),
|
|
200
|
-
body: JSON.stringify({
|
|
273
|
+
body: JSON.stringify({
|
|
274
|
+
executor: input.executor,
|
|
275
|
+
...input.runTimeoutMs ? { runTimeoutMs: input.runTimeoutMs } : {},
|
|
276
|
+
...input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {}
|
|
277
|
+
})
|
|
201
278
|
});
|
|
202
279
|
await assertOk(response, "markRunning");
|
|
203
280
|
},
|
|
@@ -210,7 +287,8 @@ function createOpenTagClient(options) {
|
|
|
210
287
|
message: input.message,
|
|
211
288
|
...input.at ? { at: input.at } : {},
|
|
212
289
|
...input.visibility ? { visibility: input.visibility } : {},
|
|
213
|
-
...input.importance ? { importance: input.importance } : {}
|
|
290
|
+
...input.importance ? { importance: input.importance } : {},
|
|
291
|
+
...input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {}
|
|
214
292
|
})
|
|
215
293
|
});
|
|
216
294
|
await assertOk(response, "progress");
|
|
@@ -220,10 +298,42 @@ function createOpenTagClient(options) {
|
|
|
220
298
|
const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/complete`, {
|
|
221
299
|
method: "POST",
|
|
222
300
|
headers: jsonHeaders(options.pairingToken),
|
|
223
|
-
body: JSON.stringify({
|
|
301
|
+
body: JSON.stringify({
|
|
302
|
+
result,
|
|
303
|
+
...input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {}
|
|
304
|
+
})
|
|
224
305
|
});
|
|
225
306
|
await assertOk(response, "complete");
|
|
226
307
|
},
|
|
308
|
+
async cancelRun(input) {
|
|
309
|
+
const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}/cancel`, {
|
|
310
|
+
method: "POST",
|
|
311
|
+
headers: jsonHeaders(options.pairingToken),
|
|
312
|
+
body: JSON.stringify({
|
|
313
|
+
...input.reason ? { reason: input.reason } : {},
|
|
314
|
+
...input.requestedBy ? { requestedBy: input.requestedBy } : {}
|
|
315
|
+
})
|
|
316
|
+
});
|
|
317
|
+
await assertOk(response, "cancelRun");
|
|
318
|
+
const body = await response.json();
|
|
319
|
+
return { outcome: body.outcome, run: OpenTagRunSchema.parse(body.run) };
|
|
320
|
+
},
|
|
321
|
+
async cancelActiveChannelRun(input) {
|
|
322
|
+
const response = await fetchImpl(
|
|
323
|
+
`${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}/cancel-active-run`,
|
|
324
|
+
{
|
|
325
|
+
method: "POST",
|
|
326
|
+
headers: jsonHeaders(options.pairingToken),
|
|
327
|
+
body: JSON.stringify({
|
|
328
|
+
...input.reason ? { reason: input.reason } : {},
|
|
329
|
+
...input.requestedBy ? { requestedBy: input.requestedBy } : {}
|
|
330
|
+
})
|
|
331
|
+
}
|
|
332
|
+
);
|
|
333
|
+
await assertOk(response, "cancelActiveChannelRun");
|
|
334
|
+
const body = await response.json();
|
|
335
|
+
return { outcome: body.outcome, run: OpenTagRunSchema.parse(body.run) };
|
|
336
|
+
},
|
|
227
337
|
async getRun(input) {
|
|
228
338
|
const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}`, {
|
|
229
339
|
headers: authHeaders(options.pairingToken)
|
|
@@ -368,10 +478,21 @@ function createDispatcherClient(options) {
|
|
|
368
478
|
const client = createOpenTagClient(options);
|
|
369
479
|
return {
|
|
370
480
|
claim: () => client.claim({ runnerId: options.runnerId }),
|
|
371
|
-
markRunning: (runId, executor) => client.markRunning({
|
|
481
|
+
markRunning: (runId, executor, markRunningOptions) => client.markRunning({
|
|
482
|
+
runnerId: options.runnerId,
|
|
483
|
+
runId,
|
|
484
|
+
executor,
|
|
485
|
+
...markRunningOptions?.runTimeoutMs ? { runTimeoutMs: markRunningOptions.runTimeoutMs } : {},
|
|
486
|
+
...markRunningOptions?.idempotencyKey ? { idempotencyKey: markRunningOptions.idempotencyKey } : {}
|
|
487
|
+
}),
|
|
372
488
|
heartbeat: (runId) => client.heartbeat({ runnerId: options.runnerId, runId }),
|
|
373
489
|
progress: (runId, input) => client.progress({ runnerId: options.runnerId, runId, ...input }),
|
|
374
|
-
complete: (runId, result) => client.complete({
|
|
490
|
+
complete: (runId, result, completeOptions) => client.complete({
|
|
491
|
+
runnerId: options.runnerId,
|
|
492
|
+
runId,
|
|
493
|
+
result,
|
|
494
|
+
...completeOptions?.idempotencyKey ? { idempotencyKey: completeOptions.idempotencyKey } : {}
|
|
495
|
+
})
|
|
375
496
|
};
|
|
376
497
|
}
|
|
377
498
|
function createDispatcherAdminClient(options) {
|
|
@@ -398,6 +519,9 @@ function createDispatcherAdminClient(options) {
|
|
|
398
519
|
},
|
|
399
520
|
getChannelBinding(input) {
|
|
400
521
|
return client.getChannelBinding(input);
|
|
522
|
+
},
|
|
523
|
+
unbindChannel(input) {
|
|
524
|
+
return client.unbindChannel(input);
|
|
401
525
|
}
|
|
402
526
|
};
|
|
403
527
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n FollowUpRequestSchema,\n OpenTagEventSchema,\n OpenTagRunResultSchema,\n OpenTagRunSchema,\n RunAdmissionDecisionSchema,\n type ActorIdentity,\n type ActionHint,\n type AdapterMutationMapping,\n type ApprovalDecision,\n type ApplyPlan,\n type MutationIntentActionability,\n type OpenTagEvent,\n type OpenTagRun,\n type OpenTagRunResult,\n type PolicyRule,\n type ProposalLineage,\n type RunEventImportance,\n type RunEventVisibility,\n type SuggestedChangesSnapshot\n} from \"@opentag/core\";\n\nexport type ClaimedOpenTagRun = {\n run: OpenTagRun;\n event: OpenTagEvent;\n};\n\nexport type RepoBindingInput = {\n provider: string;\n owner: string;\n repo: string;\n runnerId: string;\n workspacePath?: string;\n defaultExecutor?: string;\n allowedActors?: string[];\n};\n\nexport type RepositoryBindingConfig = {\n provider: string;\n owner: string;\n repo: string;\n checkoutPath: string;\n defaultExecutor?: string;\n baseBranch?: string;\n pushRemote?: string;\n worktreeRoot?: string;\n keepWorktree?: \"always\" | \"on_failure\" | \"never\";\n};\n\nexport type SlackChannelBindingInput = {\n teamId: string;\n channelId: string;\n repoProvider?: string;\n owner: string;\n repo: string;\n};\n\nexport type ChannelBindingInput = {\n provider: string;\n accountId: string;\n conversationId: string;\n repoProvider: string;\n owner: string;\n repo: string;\n metadata?: Record<string, unknown>;\n};\n\nexport type RunnerRegistration = {\n runnerId: string;\n name: string;\n createdAt: string;\n heartbeatAt?: string;\n};\n\nexport type OpenTagClientOptions = {\n dispatcherUrl: string;\n pairingToken?: string;\n fetchImpl?: typeof fetch;\n};\n\nexport type RunnerClientOptions = OpenTagClientOptions & {\n runnerId: string;\n};\n\nexport type RunProgressInput = {\n type?: string;\n message: string;\n at?: string;\n visibility?: RunEventVisibility;\n importance?: RunEventImportance;\n};\n\nexport type CreateRunInput = {\n runId: string;\n event: OpenTagEvent;\n};\n\nexport type CreateRunResult =\n | {\n outcome: \"run_created\";\n decision: import(\"@opentag/core\").RunAdmissionDecision;\n run: OpenTagRun;\n idempotentReplay?: boolean;\n }\n | {\n outcome: \"follow_up_queued\";\n decision: import(\"@opentag/core\").RunAdmissionDecision;\n followUpRequest: import(\"@opentag/core\").FollowUpRequest;\n }\n | {\n outcome: \"needs_human_decision\";\n decision: import(\"@opentag/core\").RunAdmissionDecision;\n };\n\nexport type ApprovalDecisionInput = {\n id?: string;\n approvedIntentIds: string[];\n rejectedIntentIds?: string[];\n approvedBy: ActorIdentity;\n approvedAt?: string;\n scope?: \"manual\" | \"policy\";\n reason?: string;\n metadata?: Record<string, unknown>;\n};\n\nexport type ApplyPlanInput = {\n id?: string;\n approvalDecisionId: string;\n selectedIntentIds?: string[];\n adapter?: string;\n execute?: boolean;\n};\n\nexport type ChildRunInput = {\n runId: string;\n action: ActionHint;\n commandText?: string;\n sourceProposalId?: string;\n sourceApplyPlanId?: string;\n};\n\nexport type ThreadActionInput = {\n id?: string;\n rawText: string;\n actor: ActorIdentity;\n callback: {\n provider: string;\n uri: string;\n threadKey?: string;\n };\n metadata?: Record<string, unknown>;\n};\n\nexport type ThreadActionResult = {\n outcome: string;\n message?: string;\n decision?: ApprovalDecision;\n plan?: ApplyPlan;\n run?: OpenTagRun;\n};\n\nexport type RunMetrics = {\n runId: string;\n totalEventCount: number;\n humanEventCount: number;\n auditEventCount: number;\n debugEventCount: number;\n humanCallbackCount: number;\n threadNoiseRatio: number;\n suggestedChangesCount: number;\n approvalDecisionCount: number;\n applyPlanCount: number;\n childRunCount: number;\n applyOutcomeCounts: {\n applied: number;\n skipped: number;\n failed: number;\n stale: number;\n unsupported: number;\n };\n staleIntentCount: number;\n};\n\nexport type AggregateMetrics = Omit<RunMetrics, \"runId\"> & {\n scope: \"repo\" | \"work_thread\";\n scopeId: string;\n runCount: number;\n};\n\nexport type OpenTagClient = {\n registerRunner(input: { runnerId: string; name?: string }): Promise<void>;\n getRunner(input: { runnerId: string }): Promise<{ runner: RunnerRegistration }>;\n bindRepository(input: RepoBindingInput): Promise<void>;\n getRepositoryBinding(input: { provider: string; owner: string; repo: string }): Promise<{ binding: RepoBindingInput }>;\n upsertRepoPolicyRule(input: { provider: string; owner: string; repo: string; rule: PolicyRule }): Promise<{ rule: PolicyRule }>;\n listRepoPolicyRules(input: { provider: string; owner: string; repo: string }): Promise<{ rules: PolicyRule[] }>;\n upsertRepoMutationMapping(input: {\n provider: string;\n owner: string;\n repo: string;\n mapping: AdapterMutationMapping;\n }): Promise<{ mapping: AdapterMutationMapping }>;\n listRepoMutationMappings(input: { provider: string; owner: string; repo: string }): Promise<{ mappings: AdapterMutationMapping[] }>;\n bindChannel(input: ChannelBindingInput): Promise<void>;\n getChannelBinding(input: { provider: string; accountId: string; conversationId: string }): Promise<{ binding: ChannelBindingInput }>;\n bindSlackChannel(input: SlackChannelBindingInput): Promise<void>;\n getSlackChannelBinding(input: { teamId: string; channelId: string }): Promise<{ binding: SlackChannelBindingInput }>;\n createRun(input: CreateRunInput): Promise<CreateRunResult>;\n getFollowUpRequest(input: { id: string }): Promise<{ followUpRequest: import(\"@opentag/core\").FollowUpRequest }>;\n createRunFromFollowUpRequest(input: { id: string; runId: string }): Promise<{ followUpRequest: import(\"@opentag/core\").FollowUpRequest; run: OpenTagRun }>;\n claim(input: { runnerId: string }): Promise<ClaimedOpenTagRun | null>;\n heartbeat(input: { runnerId: string; runId: string }): Promise<void>;\n markRunning(input: { runnerId: string; runId: string; executor: string }): Promise<void>;\n progress(input: { runnerId: string; runId: string } & RunProgressInput): Promise<void>;\n complete(input: { runnerId: string; runId: string; result: OpenTagRunResult }): Promise<void>;\n getRun(input: { runId: string }): Promise<ClaimedOpenTagRun>;\n listRunEvents(input: { runId: string }): Promise<{ events: unknown[] }>;\n getRunMetrics(input: { runId: string }): Promise<{ metrics: RunMetrics }>;\n getRepoMetrics(input: { provider: string; owner: string; repo: string }): Promise<{ metrics: AggregateMetrics }>;\n getWorkThreadMetrics(input: { threadId: string }): Promise<{ metrics: AggregateMetrics }>;\n getProposal(input: { proposalId: string }): Promise<{ runId: string; snapshot: SuggestedChangesSnapshot }>;\n getProposalLineage(input: { proposalId: string }): Promise<{ lineage: ProposalLineage }>;\n listCurrentMutationIntents(input: { proposalId: string }): Promise<{ intents: MutationIntentActionability[] }>;\n approveProposal(input: { proposalId: string } & ApprovalDecisionInput): Promise<{ decision: ApprovalDecision }>;\n getApprovalDecision(input: { approvalDecisionId: string }): Promise<{ decision: ApprovalDecision }>;\n createApplyPlan(input: { proposalId: string } & ApplyPlanInput): Promise<{ plan: ApplyPlan }>;\n getApplyPlan(input: { applyPlanId: string }): Promise<{ plan: ApplyPlan }>;\n createChildRun(input: { parentRunId: string } & ChildRunInput): Promise<{ run: OpenTagRun }>;\n submitThreadAction(input: ThreadActionInput): Promise<ThreadActionResult>;\n};\n\nexport type DispatcherRunnerClient = {\n claim(): Promise<ClaimedOpenTagRun | null>;\n markRunning(runId: string, executor: string): Promise<void>;\n heartbeat(runId: string): Promise<void>;\n progress(runId: string, input: RunProgressInput & { type: string; at: string }): Promise<void>;\n complete(runId: string, result: OpenTagRunResult): Promise<void>;\n};\n\nfunction baseUrlFrom(dispatcherUrl: string): string {\n return dispatcherUrl.replace(/\\/$/, \"\");\n}\n\nfunction authHeaders(pairingToken: string | undefined): Record<string, string> {\n return pairingToken ? { authorization: `Bearer ${pairingToken}` } : {};\n}\n\nfunction jsonHeaders(pairingToken: string | undefined): Record<string, string> {\n return { \"content-type\": \"application/json\", ...authHeaders(pairingToken) };\n}\n\nasync function assertOk(response: Response, action: string): Promise<void> {\n if (!response.ok) {\n const text = await response.text();\n throw new Error(`${action} failed: ${response.status}${text ? ` ${text}` : \"\"}`);\n }\n}\n\nfunction parseClaimedRun(body: { run: unknown; event: unknown }): ClaimedOpenTagRun {\n return {\n run: OpenTagRunSchema.parse(body.run),\n event: OpenTagEventSchema.parse(body.event)\n };\n}\n\nexport function createOpenTagClient(options: OpenTagClientOptions): OpenTagClient {\n const baseUrl = baseUrlFrom(options.dispatcherUrl);\n const fetchImpl = options.fetchImpl ?? fetch;\n\n return {\n async registerRunner(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ runnerId: input.runnerId, name: input.name ?? input.runnerId })\n });\n await assertOk(response, \"registerRunner\");\n },\n\n async getRunner(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRunner\");\n return (await response.json()) as { runner: RunnerRegistration };\n },\n\n async bindRepository(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"bindRepository\");\n },\n\n async getRepositoryBinding(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRepositoryBinding\");\n return (await response.json()) as { binding: RepoBindingInput };\n },\n\n async upsertRepoPolicyRule(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/policy-rules`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ rule: input.rule })\n });\n await assertOk(response, \"upsertRepoPolicyRule\");\n return (await response.json()) as { rule: PolicyRule };\n },\n\n async listRepoPolicyRules(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/policy-rules`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listRepoPolicyRules\");\n return (await response.json()) as { rules: PolicyRule[] };\n },\n\n async upsertRepoMutationMapping(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/mutation-mappings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ mapping: input.mapping })\n });\n await assertOk(response, \"upsertRepoMutationMapping\");\n return (await response.json()) as { mapping: AdapterMutationMapping };\n },\n\n async listRepoMutationMappings(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/mutation-mappings`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listRepoMutationMappings\");\n return (await response.json()) as { mappings: AdapterMutationMapping[] };\n },\n\n async bindChannel(input) {\n const response = await fetchImpl(`${baseUrl}/v1/channel-bindings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"bindChannel\");\n },\n\n async getChannelBinding(input) {\n const response = await fetchImpl(\n `${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}`,\n {\n headers: authHeaders(options.pairingToken)\n }\n );\n await assertOk(response, \"getChannelBinding\");\n return (await response.json()) as { binding: ChannelBindingInput };\n },\n\n async bindSlackChannel(input) {\n const response = await fetchImpl(`${baseUrl}/v1/slack-channel-bindings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"bindSlackChannel\");\n },\n\n async getSlackChannelBinding(input) {\n const response = await fetchImpl(`${baseUrl}/v1/slack-channel-bindings/${input.teamId}/${input.channelId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getSlackChannelBinding\");\n return (await response.json()) as { binding: SlackChannelBindingInput };\n },\n\n async createRun(input) {\n const event = OpenTagEventSchema.parse(input.event);\n const response = await fetchImpl(`${baseUrl}/v1/runs`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ runId: input.runId, event })\n });\n await assertOk(response, \"createRun\");\n const body = (await response.json()) as {\n decision: unknown;\n run?: unknown;\n followUpRequest?: unknown;\n idempotentReplay?: unknown;\n };\n const decision = RunAdmissionDecisionSchema.parse(body.decision);\n if (body.run) {\n return {\n outcome: \"run_created\",\n decision,\n run: OpenTagRunSchema.parse(body.run),\n ...(body.idempotentReplay === true ? { idempotentReplay: true } : {})\n };\n }\n if (body.followUpRequest) {\n return {\n outcome: \"follow_up_queued\",\n decision,\n followUpRequest: FollowUpRequestSchema.parse(body.followUpRequest)\n };\n }\n return {\n outcome: \"needs_human_decision\",\n decision\n };\n },\n\n async getFollowUpRequest(input) {\n const response = await fetchImpl(`${baseUrl}/v1/follow-up-requests/${input.id}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getFollowUpRequest\");\n const body = (await response.json()) as { followUpRequest: unknown };\n return { followUpRequest: FollowUpRequestSchema.parse(body.followUpRequest) };\n },\n\n async createRunFromFollowUpRequest(input) {\n const response = await fetchImpl(`${baseUrl}/v1/follow-up-requests/${input.id}/create-run`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ runId: input.runId })\n });\n await assertOk(response, \"createRunFromFollowUpRequest\");\n const body = (await response.json()) as { followUpRequest: unknown; run: unknown };\n return {\n followUpRequest: FollowUpRequestSchema.parse(body.followUpRequest),\n run: OpenTagRunSchema.parse(body.run)\n };\n },\n\n async claim(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/claim`, {\n method: \"POST\",\n headers: authHeaders(options.pairingToken)\n });\n if (response.status === 204) return null;\n await assertOk(response, \"claim\");\n return parseClaimedRun((await response.json()) as { run: unknown; event: unknown });\n },\n\n async heartbeat(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/heartbeat`, {\n method: \"POST\",\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"heartbeat\");\n },\n\n async markRunning(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/running`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ executor: input.executor })\n });\n await assertOk(response, \"markRunning\");\n },\n\n async progress(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/progress`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.type ? { type: input.type } : {}),\n message: input.message,\n ...(input.at ? { at: input.at } : {}),\n ...(input.visibility ? { visibility: input.visibility } : {}),\n ...(input.importance ? { importance: input.importance } : {})\n })\n });\n await assertOk(response, \"progress\");\n },\n\n async complete(input) {\n const result = OpenTagRunResultSchema.parse(input.result);\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/complete`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ result })\n });\n await assertOk(response, \"complete\");\n },\n\n async getRun(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRun\");\n return parseClaimedRun((await response.json()) as { run: unknown; event: unknown });\n },\n\n async listRunEvents(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}/events`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listRunEvents\");\n return (await response.json()) as { events: unknown[] };\n },\n\n async getRunMetrics(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}/metrics`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRunMetrics\");\n return (await response.json()) as { metrics: RunMetrics };\n },\n\n async getRepoMetrics(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/metrics`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRepoMetrics\");\n return (await response.json()) as { metrics: AggregateMetrics };\n },\n\n async getWorkThreadMetrics(input) {\n const response = await fetchImpl(`${baseUrl}/v1/work-thread-metrics?threadId=${encodeURIComponent(input.threadId)}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getWorkThreadMetrics\");\n return (await response.json()) as { metrics: AggregateMetrics };\n },\n\n async getProposal(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getProposal\");\n return (await response.json()) as { runId: string; snapshot: SuggestedChangesSnapshot };\n },\n\n async getProposalLineage(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/lineage`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getProposalLineage\");\n return (await response.json()) as { lineage: ProposalLineage };\n },\n\n async listCurrentMutationIntents(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/current-intents`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listCurrentMutationIntents\");\n return (await response.json()) as { intents: MutationIntentActionability[] };\n },\n\n async approveProposal(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/approvals`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.id ? { id: input.id } : {}),\n approvedIntentIds: input.approvedIntentIds,\n ...(input.rejectedIntentIds?.length ? { rejectedIntentIds: input.rejectedIntentIds } : {}),\n approvedBy: input.approvedBy,\n ...(input.approvedAt ? { approvedAt: input.approvedAt } : {}),\n ...(input.scope ? { scope: input.scope } : {}),\n ...(input.reason ? { reason: input.reason } : {}),\n ...(input.metadata ? { metadata: input.metadata } : {})\n })\n });\n await assertOk(response, \"approveProposal\");\n return (await response.json()) as { decision: ApprovalDecision };\n },\n\n async getApprovalDecision(input) {\n const response = await fetchImpl(`${baseUrl}/v1/approvals/${input.approvalDecisionId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getApprovalDecision\");\n return (await response.json()) as { decision: ApprovalDecision };\n },\n\n async createApplyPlan(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/apply-plans`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.id ? { id: input.id } : {}),\n approvalDecisionId: input.approvalDecisionId,\n ...(input.selectedIntentIds !== undefined ? { selectedIntentIds: input.selectedIntentIds } : {}),\n ...(input.adapter ? { adapter: input.adapter } : {}),\n ...(input.execute !== undefined ? { execute: input.execute } : {})\n })\n });\n await assertOk(response, \"createApplyPlan\");\n return (await response.json()) as { plan: ApplyPlan };\n },\n\n async getApplyPlan(input) {\n const response = await fetchImpl(`${baseUrl}/v1/apply-plans/${input.applyPlanId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getApplyPlan\");\n return (await response.json()) as { plan: ApplyPlan };\n },\n\n async createChildRun(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.parentRunId}/child-runs`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n runId: input.runId,\n action: input.action,\n ...(input.commandText ? { commandText: input.commandText } : {}),\n ...(input.sourceProposalId ? { sourceProposalId: input.sourceProposalId } : {}),\n ...(input.sourceApplyPlanId ? { sourceApplyPlanId: input.sourceApplyPlanId } : {})\n })\n });\n await assertOk(response, \"createChildRun\");\n const body = (await response.json()) as { run: unknown };\n return { run: OpenTagRunSchema.parse(body.run) };\n },\n\n async submitThreadAction(input) {\n const response = await fetchImpl(`${baseUrl}/v1/thread-actions`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.id ? { id: input.id } : {}),\n rawText: input.rawText,\n actor: input.actor,\n callback: {\n provider: input.callback.provider,\n uri: input.callback.uri,\n ...(input.callback.threadKey ? { threadKey: input.callback.threadKey } : {})\n },\n ...(input.metadata ? { metadata: input.metadata } : {})\n })\n });\n await assertOk(response, \"submitThreadAction\");\n return (await response.json()) as ThreadActionResult;\n }\n };\n}\n\nexport function createDispatcherClient(options: RunnerClientOptions): DispatcherRunnerClient {\n const client = createOpenTagClient(options);\n return {\n claim: () => client.claim({ runnerId: options.runnerId }),\n markRunning: (runId, executor) => client.markRunning({ runnerId: options.runnerId, runId, executor }),\n heartbeat: (runId) => client.heartbeat({ runnerId: options.runnerId, runId }),\n progress: (runId, input) => client.progress({ runnerId: options.runnerId, runId, ...input }),\n complete: (runId, result) => client.complete({ runnerId: options.runnerId, runId, result })\n };\n}\n\nexport function createDispatcherAdminClient(options: RunnerClientOptions) {\n const client = createOpenTagClient(options);\n return {\n registerRunner(name = options.runnerId): Promise<void> {\n return client.registerRunner({ runnerId: options.runnerId, name });\n },\n\n bindRepository(binding: RepositoryBindingConfig): Promise<void> {\n return client.bindRepository({\n provider: binding.provider,\n owner: binding.owner,\n repo: binding.repo,\n runnerId: options.runnerId,\n workspacePath: binding.checkoutPath,\n ...(binding.defaultExecutor ? { defaultExecutor: binding.defaultExecutor } : {})\n });\n },\n\n bindSlackChannel(binding: SlackChannelBindingInput): Promise<void> {\n return client.bindSlackChannel(binding);\n },\n\n bindChannel(binding: ChannelBindingInput): Promise<void> {\n return client.bindChannel(binding);\n },\n\n getChannelBinding(input: {\n provider: string;\n accountId: string;\n conversationId: string;\n }): Promise<{ binding: ChannelBindingInput }> {\n return client.getChannelBinding(input);\n }\n };\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {\n FollowUpRequestSchema,\n OpenTagEventSchema,\n OpenTagRunResultSchema,\n OpenTagRunSchema,\n RunAdmissionDecisionSchema,\n type ActorIdentity,\n type ActionHint,\n type AdapterMutationMapping,\n type ApprovalDecision,\n type ApplyPlan,\n type MutationIntentActionability,\n type OpenTagEvent,\n type OpenTagRun,\n type OpenTagRunResult,\n type PolicyRule,\n type ProposalLineage,\n type RunEventImportance,\n type RunEventVisibility,\n type SuggestedChangesSnapshot\n} from \"@opentag/core\";\n\nexport type ClaimedOpenTagRun = {\n run: OpenTagRun;\n event: OpenTagEvent;\n};\n\nexport type RepoBindingInput = {\n provider: string;\n owner: string;\n repo: string;\n runnerId: string;\n workspacePath?: string;\n defaultExecutor?: string;\n allowedActors?: string[];\n};\n\nexport type RepositoryBindingConfig = {\n provider: string;\n owner: string;\n repo: string;\n checkoutPath: string;\n defaultExecutor?: string;\n baseBranch?: string;\n pushRemote?: string;\n worktreeRoot?: string;\n keepWorktree?: \"always\" | \"on_failure\" | \"never\";\n};\n\nexport type SlackChannelBindingInput = {\n teamId: string;\n channelId: string;\n repoProvider?: string;\n owner: string;\n repo: string;\n};\n\nexport type ChannelBindingInput = {\n provider: string;\n accountId: string;\n conversationId: string;\n repoProvider: string;\n owner: string;\n repo: string;\n metadata?: Record<string, unknown>;\n};\n\nexport type RunnerRegistration = {\n runnerId: string;\n name: string;\n createdAt: string;\n heartbeatAt?: string;\n};\n\nexport type ControlPlaneAlert = {\n id: string;\n type: string;\n severity: \"info\" | \"warn\" | \"error\";\n eventType: string;\n count: number;\n threshold: number;\n firstSeenAt: string;\n lastSeenAt: string;\n subject?: string;\n reason: string;\n nextAction: string;\n};\n\nexport type RecordControlPlaneEventInput = {\n type: string;\n severity?: \"info\" | \"warn\" | \"error\";\n subject?: string;\n payload?: Record<string, unknown>;\n createdAt?: string;\n};\n\nexport type PruneSourceDeliveriesInput = {\n olderThan: string;\n limit?: number;\n};\n\nexport type SourceDeliveryPruneResult = {\n scanned: number;\n pruned: number;\n retainedActive: number;\n};\n\nexport type OpenTagClientOptions = {\n dispatcherUrl: string;\n pairingToken?: string;\n fetchImpl?: typeof fetch;\n};\n\nexport type RunnerClientOptions = OpenTagClientOptions & {\n runnerId: string;\n};\n\nexport type RunProgressInput = {\n type?: string;\n message: string;\n at?: string;\n visibility?: RunEventVisibility;\n importance?: RunEventImportance;\n idempotencyKey?: string;\n};\n\nexport type RunTimeoutPolicy = {\n hardTimeoutMs?: number;\n};\n\nexport type CreateRunInput = {\n runId: string;\n event: OpenTagEvent;\n};\n\nexport type CreateRunResult =\n | {\n outcome: \"run_created\";\n decision: import(\"@opentag/core\").RunAdmissionDecision;\n run: OpenTagRun;\n idempotentReplay?: boolean;\n }\n | {\n outcome: \"follow_up_queued\";\n decision: import(\"@opentag/core\").RunAdmissionDecision;\n followUpRequest: import(\"@opentag/core\").FollowUpRequest;\n }\n | {\n outcome: \"needs_human_decision\";\n decision: import(\"@opentag/core\").RunAdmissionDecision;\n };\n\nexport type CompleteRunInput = {\n runnerId: string;\n runId: string;\n result: OpenTagRunResult;\n idempotencyKey?: string;\n};\n\nexport type ApprovalDecisionInput = {\n id?: string;\n approvedIntentIds: string[];\n rejectedIntentIds?: string[];\n approvedBy: ActorIdentity;\n approvedAt?: string;\n scope?: \"manual\" | \"policy\";\n reason?: string;\n metadata?: Record<string, unknown>;\n};\n\nexport type ApplyPlanInput = {\n id?: string;\n approvalDecisionId: string;\n selectedIntentIds?: string[];\n adapter?: string;\n execute?: boolean;\n};\n\nexport type ChildRunInput = {\n runId: string;\n action: ActionHint;\n commandText?: string;\n sourceProposalId?: string;\n sourceApplyPlanId?: string;\n};\n\nexport type ThreadActionInput = {\n id?: string;\n rawText: string;\n actor: ActorIdentity;\n callback: {\n provider: string;\n uri: string;\n threadKey?: string;\n };\n metadata?: Record<string, unknown>;\n};\n\nexport type ThreadActionResult = {\n outcome: string;\n message?: string;\n decision?: ApprovalDecision;\n plan?: ApplyPlan;\n run?: OpenTagRun;\n};\n\nexport type CancelRunResult = {\n outcome: \"cancelled\";\n run: OpenTagRun;\n};\n\nexport type ChannelRuntimeStatus = {\n binding: ChannelBindingInput;\n activeRun?: OpenTagRun;\n activeEvent?: OpenTagEvent;\n runTimeoutPolicy?: RunTimeoutPolicy;\n queuedFollowUps: import(\"@opentag/core\").FollowUpRequest[];\n};\n\nexport type RunMetrics = {\n runId: string;\n totalEventCount: number;\n humanEventCount: number;\n auditEventCount: number;\n debugEventCount: number;\n humanCallbackCount: number;\n threadNoiseRatio: number;\n suggestedChangesCount: number;\n approvalDecisionCount: number;\n applyPlanCount: number;\n childRunCount: number;\n applyOutcomeCounts: {\n applied: number;\n skipped: number;\n failed: number;\n stale: number;\n unsupported: number;\n };\n staleIntentCount: number;\n};\n\nexport type AggregateMetrics = Omit<RunMetrics, \"runId\"> & {\n scope: \"repo\" | \"work_thread\";\n scopeId: string;\n runCount: number;\n};\n\nexport type OpenTagClient = {\n registerRunner(input: { runnerId: string; name?: string }): Promise<void>;\n getRunner(input: { runnerId: string }): Promise<{ runner: RunnerRegistration }>;\n listControlPlaneAlerts(input?: { limit?: number; since?: string }): Promise<{ alerts: ControlPlaneAlert[] }>;\n recordControlPlaneEvent(input: RecordControlPlaneEventInput): Promise<void>;\n pruneSourceDeliveries(input: PruneSourceDeliveriesInput): Promise<SourceDeliveryPruneResult>;\n bindRepository(input: RepoBindingInput): Promise<void>;\n getRepositoryBinding(input: { provider: string; owner: string; repo: string }): Promise<{ binding: RepoBindingInput }>;\n upsertRepoPolicyRule(input: { provider: string; owner: string; repo: string; rule: PolicyRule }): Promise<{ rule: PolicyRule }>;\n listRepoPolicyRules(input: { provider: string; owner: string; repo: string }): Promise<{ rules: PolicyRule[] }>;\n upsertRepoMutationMapping(input: {\n provider: string;\n owner: string;\n repo: string;\n mapping: AdapterMutationMapping;\n }): Promise<{ mapping: AdapterMutationMapping }>;\n listRepoMutationMappings(input: { provider: string; owner: string; repo: string }): Promise<{ mappings: AdapterMutationMapping[] }>;\n bindChannel(input: ChannelBindingInput): Promise<void>;\n getChannelBinding(input: { provider: string; accountId: string; conversationId: string }): Promise<{ binding: ChannelBindingInput }>;\n getChannelRuntimeStatus(input: { provider: string; accountId: string; conversationId: string }): Promise<ChannelRuntimeStatus>;\n unbindChannel(input: { provider: string; accountId: string; conversationId: string }): Promise<void>;\n bindSlackChannel(input: SlackChannelBindingInput): Promise<void>;\n getSlackChannelBinding(input: { teamId: string; channelId: string }): Promise<{ binding: SlackChannelBindingInput }>;\n createRun(input: CreateRunInput): Promise<CreateRunResult>;\n getFollowUpRequest(input: { id: string }): Promise<{ followUpRequest: import(\"@opentag/core\").FollowUpRequest }>;\n createRunFromFollowUpRequest(input: { id: string; runId: string }): Promise<{ followUpRequest: import(\"@opentag/core\").FollowUpRequest; run: OpenTagRun }>;\n claim(input: { runnerId: string }): Promise<ClaimedOpenTagRun | null>;\n heartbeat(input: { runnerId: string; runId: string }): Promise<void>;\n markRunning(input: { runnerId: string; runId: string; executor: string; runTimeoutMs?: number; idempotencyKey?: string }): Promise<void>;\n progress(input: { runnerId: string; runId: string } & RunProgressInput): Promise<void>;\n complete(input: CompleteRunInput): Promise<void>;\n cancelRun(input: { runId: string; reason?: string; requestedBy?: string }): Promise<CancelRunResult>;\n cancelActiveChannelRun(input: {\n provider: string;\n accountId: string;\n conversationId: string;\n reason?: string;\n requestedBy?: string;\n }): Promise<CancelRunResult>;\n getRun(input: { runId: string }): Promise<ClaimedOpenTagRun>;\n listRunEvents(input: { runId: string }): Promise<{ events: unknown[] }>;\n getRunMetrics(input: { runId: string }): Promise<{ metrics: RunMetrics }>;\n getRepoMetrics(input: { provider: string; owner: string; repo: string }): Promise<{ metrics: AggregateMetrics }>;\n getWorkThreadMetrics(input: { threadId: string }): Promise<{ metrics: AggregateMetrics }>;\n getProposal(input: { proposalId: string }): Promise<{ runId: string; snapshot: SuggestedChangesSnapshot }>;\n getProposalLineage(input: { proposalId: string }): Promise<{ lineage: ProposalLineage }>;\n listCurrentMutationIntents(input: { proposalId: string }): Promise<{ intents: MutationIntentActionability[] }>;\n approveProposal(input: { proposalId: string } & ApprovalDecisionInput): Promise<{ decision: ApprovalDecision }>;\n getApprovalDecision(input: { approvalDecisionId: string }): Promise<{ decision: ApprovalDecision }>;\n createApplyPlan(input: { proposalId: string } & ApplyPlanInput): Promise<{ plan: ApplyPlan }>;\n getApplyPlan(input: { applyPlanId: string }): Promise<{ plan: ApplyPlan }>;\n createChildRun(input: { parentRunId: string } & ChildRunInput): Promise<{ run: OpenTagRun }>;\n submitThreadAction(input: ThreadActionInput): Promise<ThreadActionResult>;\n};\n\nexport type DispatcherRunnerClient = {\n claim(): Promise<ClaimedOpenTagRun | null>;\n markRunning(runId: string, executor: string, options?: { runTimeoutMs?: number; idempotencyKey?: string }): Promise<void>;\n heartbeat(runId: string): Promise<void>;\n progress(runId: string, input: RunProgressInput & { type: string; at: string }): Promise<void>;\n complete(runId: string, result: OpenTagRunResult, options?: { idempotencyKey?: string }): Promise<void>;\n};\n\nfunction baseUrlFrom(dispatcherUrl: string): string {\n return dispatcherUrl.replace(/\\/$/, \"\");\n}\n\nfunction authHeaders(pairingToken: string | undefined): Record<string, string> {\n return pairingToken ? { authorization: `Bearer ${pairingToken}` } : {};\n}\n\nfunction jsonHeaders(pairingToken: string | undefined): Record<string, string> {\n return { \"content-type\": \"application/json\", ...authHeaders(pairingToken) };\n}\n\nfunction parseRunTimeoutPolicy(value: unknown): RunTimeoutPolicy {\n if (!value || typeof value !== \"object\") return {};\n const hardTimeoutMs = (value as { hardTimeoutMs?: unknown }).hardTimeoutMs;\n if (hardTimeoutMs === undefined) return {};\n return typeof hardTimeoutMs === \"number\" && Number.isInteger(hardTimeoutMs) && hardTimeoutMs > 0 ? { hardTimeoutMs } : {};\n}\n\nasync function assertOk(response: Response, action: string): Promise<void> {\n if (!response.ok) {\n const text = await response.text();\n throw new Error(`${action} failed: ${response.status}${text ? ` ${text}` : \"\"}`);\n }\n}\n\nfunction parseSourceDeliveryPruneResult(value: unknown): SourceDeliveryPruneResult {\n const result = value as Partial<SourceDeliveryPruneResult> | null;\n if (\n !result ||\n typeof result.scanned !== \"number\" ||\n typeof result.pruned !== \"number\" ||\n typeof result.retainedActive !== \"number\"\n ) {\n throw new Error(\"pruneSourceDeliveries returned an invalid response.\");\n }\n return {\n scanned: result.scanned,\n pruned: result.pruned,\n retainedActive: result.retainedActive\n };\n}\n\nfunction parseClaimedRun(body: { run: unknown; event: unknown }): ClaimedOpenTagRun {\n return {\n run: OpenTagRunSchema.parse(body.run),\n event: OpenTagEventSchema.parse(body.event)\n };\n}\n\nexport function createOpenTagClient(options: OpenTagClientOptions): OpenTagClient {\n const baseUrl = baseUrlFrom(options.dispatcherUrl);\n const fetchImpl = options.fetchImpl ?? fetch;\n\n return {\n async registerRunner(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ runnerId: input.runnerId, name: input.name ?? input.runnerId })\n });\n await assertOk(response, \"registerRunner\");\n },\n\n async getRunner(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRunner\");\n return (await response.json()) as { runner: RunnerRegistration };\n },\n\n async listControlPlaneAlerts(input = {}) {\n const params = new URLSearchParams();\n if (input.limit !== undefined) params.set(\"limit\", String(input.limit));\n if (input.since) params.set(\"since\", input.since);\n const query = params.toString();\n const response = await fetchImpl(`${baseUrl}/v1/control-plane-alerts${query ? `?${query}` : \"\"}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listControlPlaneAlerts\");\n return (await response.json()) as { alerts: ControlPlaneAlert[] };\n },\n\n async recordControlPlaneEvent(input) {\n const response = await fetchImpl(`${baseUrl}/v1/control-plane-events`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"recordControlPlaneEvent\");\n },\n\n async pruneSourceDeliveries(input) {\n const response = await fetchImpl(`${baseUrl}/v1/source-deliveries/prune`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"pruneSourceDeliveries\");\n const body = (await response.json()) as { result?: unknown };\n return parseSourceDeliveryPruneResult(body.result);\n },\n\n async bindRepository(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"bindRepository\");\n },\n\n async getRepositoryBinding(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRepositoryBinding\");\n return (await response.json()) as { binding: RepoBindingInput };\n },\n\n async upsertRepoPolicyRule(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/policy-rules`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ rule: input.rule })\n });\n await assertOk(response, \"upsertRepoPolicyRule\");\n return (await response.json()) as { rule: PolicyRule };\n },\n\n async listRepoPolicyRules(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/policy-rules`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listRepoPolicyRules\");\n return (await response.json()) as { rules: PolicyRule[] };\n },\n\n async upsertRepoMutationMapping(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/mutation-mappings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ mapping: input.mapping })\n });\n await assertOk(response, \"upsertRepoMutationMapping\");\n return (await response.json()) as { mapping: AdapterMutationMapping };\n },\n\n async listRepoMutationMappings(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/mutation-mappings`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listRepoMutationMappings\");\n return (await response.json()) as { mappings: AdapterMutationMapping[] };\n },\n\n async bindChannel(input) {\n const response = await fetchImpl(`${baseUrl}/v1/channel-bindings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"bindChannel\");\n },\n\n async getChannelBinding(input) {\n const response = await fetchImpl(\n `${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}`,\n {\n headers: authHeaders(options.pairingToken)\n }\n );\n await assertOk(response, \"getChannelBinding\");\n return (await response.json()) as { binding: ChannelBindingInput };\n },\n\n async getChannelRuntimeStatus(input) {\n const response = await fetchImpl(\n `${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}/status`,\n {\n headers: authHeaders(options.pairingToken)\n }\n );\n await assertOk(response, \"getChannelRuntimeStatus\");\n const body = (await response.json()) as {\n binding: ChannelBindingInput;\n activeRun?: unknown;\n activeEvent?: unknown;\n runTimeoutPolicy?: unknown;\n queuedFollowUps?: unknown[];\n };\n return {\n binding: body.binding,\n ...(body.activeRun ? { activeRun: OpenTagRunSchema.parse(body.activeRun) } : {}),\n ...(body.activeEvent ? { activeEvent: OpenTagEventSchema.parse(body.activeEvent) } : {}),\n ...(body.runTimeoutPolicy ? { runTimeoutPolicy: parseRunTimeoutPolicy(body.runTimeoutPolicy) } : {}),\n queuedFollowUps: (body.queuedFollowUps ?? []).map((followUp) => FollowUpRequestSchema.parse(followUp))\n };\n },\n\n async unbindChannel(input) {\n const response = await fetchImpl(\n `${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}`,\n {\n method: \"DELETE\",\n headers: authHeaders(options.pairingToken)\n }\n );\n await assertOk(response, \"unbindChannel\");\n },\n\n async bindSlackChannel(input) {\n const response = await fetchImpl(`${baseUrl}/v1/slack-channel-bindings`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify(input)\n });\n await assertOk(response, \"bindSlackChannel\");\n },\n\n async getSlackChannelBinding(input) {\n const response = await fetchImpl(`${baseUrl}/v1/slack-channel-bindings/${input.teamId}/${input.channelId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getSlackChannelBinding\");\n return (await response.json()) as { binding: SlackChannelBindingInput };\n },\n\n async createRun(input) {\n const event = OpenTagEventSchema.parse(input.event);\n const response = await fetchImpl(`${baseUrl}/v1/runs`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ runId: input.runId, event })\n });\n await assertOk(response, \"createRun\");\n const body = (await response.json()) as {\n decision: unknown;\n run?: unknown;\n followUpRequest?: unknown;\n idempotentReplay?: unknown;\n };\n const decision = RunAdmissionDecisionSchema.parse(body.decision);\n if (body.run) {\n return {\n outcome: \"run_created\",\n decision,\n run: OpenTagRunSchema.parse(body.run),\n ...(body.idempotentReplay === true ? { idempotentReplay: true } : {})\n };\n }\n if (body.followUpRequest) {\n return {\n outcome: \"follow_up_queued\",\n decision,\n followUpRequest: FollowUpRequestSchema.parse(body.followUpRequest)\n };\n }\n return {\n outcome: \"needs_human_decision\",\n decision\n };\n },\n\n async getFollowUpRequest(input) {\n const response = await fetchImpl(`${baseUrl}/v1/follow-up-requests/${input.id}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getFollowUpRequest\");\n const body = (await response.json()) as { followUpRequest: unknown };\n return { followUpRequest: FollowUpRequestSchema.parse(body.followUpRequest) };\n },\n\n async createRunFromFollowUpRequest(input) {\n const response = await fetchImpl(`${baseUrl}/v1/follow-up-requests/${input.id}/create-run`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({ runId: input.runId })\n });\n await assertOk(response, \"createRunFromFollowUpRequest\");\n const body = (await response.json()) as { followUpRequest: unknown; run: unknown };\n return {\n followUpRequest: FollowUpRequestSchema.parse(body.followUpRequest),\n run: OpenTagRunSchema.parse(body.run)\n };\n },\n\n async claim(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/claim`, {\n method: \"POST\",\n headers: authHeaders(options.pairingToken)\n });\n if (response.status === 204) return null;\n await assertOk(response, \"claim\");\n return parseClaimedRun((await response.json()) as { run: unknown; event: unknown });\n },\n\n async heartbeat(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/heartbeat`, {\n method: \"POST\",\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"heartbeat\");\n },\n\n async markRunning(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/running`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n executor: input.executor,\n ...(input.runTimeoutMs ? { runTimeoutMs: input.runTimeoutMs } : {}),\n ...(input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {})\n })\n });\n await assertOk(response, \"markRunning\");\n },\n\n async progress(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/progress`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.type ? { type: input.type } : {}),\n message: input.message,\n ...(input.at ? { at: input.at } : {}),\n ...(input.visibility ? { visibility: input.visibility } : {}),\n ...(input.importance ? { importance: input.importance } : {}),\n ...(input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {})\n })\n });\n await assertOk(response, \"progress\");\n },\n\n async complete(input) {\n const result = OpenTagRunResultSchema.parse(input.result);\n const response = await fetchImpl(`${baseUrl}/v1/runners/${input.runnerId}/runs/${input.runId}/complete`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n result,\n ...(input.idempotencyKey ? { idempotencyKey: input.idempotencyKey } : {})\n })\n });\n await assertOk(response, \"complete\");\n },\n\n async cancelRun(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}/cancel`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.reason ? { reason: input.reason } : {}),\n ...(input.requestedBy ? { requestedBy: input.requestedBy } : {})\n })\n });\n await assertOk(response, \"cancelRun\");\n const body = (await response.json()) as { outcome: \"cancelled\"; run: unknown };\n return { outcome: body.outcome, run: OpenTagRunSchema.parse(body.run) };\n },\n\n async cancelActiveChannelRun(input) {\n const response = await fetchImpl(\n `${baseUrl}/v1/channel-bindings/${encodeURIComponent(input.provider)}/${encodeURIComponent(input.accountId)}/${encodeURIComponent(input.conversationId)}/cancel-active-run`,\n {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.reason ? { reason: input.reason } : {}),\n ...(input.requestedBy ? { requestedBy: input.requestedBy } : {})\n })\n }\n );\n await assertOk(response, \"cancelActiveChannelRun\");\n const body = (await response.json()) as { outcome: \"cancelled\"; run: unknown };\n return { outcome: body.outcome, run: OpenTagRunSchema.parse(body.run) };\n },\n\n async getRun(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRun\");\n return parseClaimedRun((await response.json()) as { run: unknown; event: unknown });\n },\n\n async listRunEvents(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}/events`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listRunEvents\");\n return (await response.json()) as { events: unknown[] };\n },\n\n async getRunMetrics(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.runId}/metrics`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRunMetrics\");\n return (await response.json()) as { metrics: RunMetrics };\n },\n\n async getRepoMetrics(input) {\n const response = await fetchImpl(`${baseUrl}/v1/repo-bindings/${input.provider}/${input.owner}/${input.repo}/metrics`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getRepoMetrics\");\n return (await response.json()) as { metrics: AggregateMetrics };\n },\n\n async getWorkThreadMetrics(input) {\n const response = await fetchImpl(`${baseUrl}/v1/work-thread-metrics?threadId=${encodeURIComponent(input.threadId)}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getWorkThreadMetrics\");\n return (await response.json()) as { metrics: AggregateMetrics };\n },\n\n async getProposal(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getProposal\");\n return (await response.json()) as { runId: string; snapshot: SuggestedChangesSnapshot };\n },\n\n async getProposalLineage(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/lineage`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getProposalLineage\");\n return (await response.json()) as { lineage: ProposalLineage };\n },\n\n async listCurrentMutationIntents(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/current-intents`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"listCurrentMutationIntents\");\n return (await response.json()) as { intents: MutationIntentActionability[] };\n },\n\n async approveProposal(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/approvals`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.id ? { id: input.id } : {}),\n approvedIntentIds: input.approvedIntentIds,\n ...(input.rejectedIntentIds?.length ? { rejectedIntentIds: input.rejectedIntentIds } : {}),\n approvedBy: input.approvedBy,\n ...(input.approvedAt ? { approvedAt: input.approvedAt } : {}),\n ...(input.scope ? { scope: input.scope } : {}),\n ...(input.reason ? { reason: input.reason } : {}),\n ...(input.metadata ? { metadata: input.metadata } : {})\n })\n });\n await assertOk(response, \"approveProposal\");\n return (await response.json()) as { decision: ApprovalDecision };\n },\n\n async getApprovalDecision(input) {\n const response = await fetchImpl(`${baseUrl}/v1/approvals/${input.approvalDecisionId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getApprovalDecision\");\n return (await response.json()) as { decision: ApprovalDecision };\n },\n\n async createApplyPlan(input) {\n const response = await fetchImpl(`${baseUrl}/v1/proposals/${input.proposalId}/apply-plans`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.id ? { id: input.id } : {}),\n approvalDecisionId: input.approvalDecisionId,\n ...(input.selectedIntentIds !== undefined ? { selectedIntentIds: input.selectedIntentIds } : {}),\n ...(input.adapter ? { adapter: input.adapter } : {}),\n ...(input.execute !== undefined ? { execute: input.execute } : {})\n })\n });\n await assertOk(response, \"createApplyPlan\");\n return (await response.json()) as { plan: ApplyPlan };\n },\n\n async getApplyPlan(input) {\n const response = await fetchImpl(`${baseUrl}/v1/apply-plans/${input.applyPlanId}`, {\n headers: authHeaders(options.pairingToken)\n });\n await assertOk(response, \"getApplyPlan\");\n return (await response.json()) as { plan: ApplyPlan };\n },\n\n async createChildRun(input) {\n const response = await fetchImpl(`${baseUrl}/v1/runs/${input.parentRunId}/child-runs`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n runId: input.runId,\n action: input.action,\n ...(input.commandText ? { commandText: input.commandText } : {}),\n ...(input.sourceProposalId ? { sourceProposalId: input.sourceProposalId } : {}),\n ...(input.sourceApplyPlanId ? { sourceApplyPlanId: input.sourceApplyPlanId } : {})\n })\n });\n await assertOk(response, \"createChildRun\");\n const body = (await response.json()) as { run: unknown };\n return { run: OpenTagRunSchema.parse(body.run) };\n },\n\n async submitThreadAction(input) {\n const response = await fetchImpl(`${baseUrl}/v1/thread-actions`, {\n method: \"POST\",\n headers: jsonHeaders(options.pairingToken),\n body: JSON.stringify({\n ...(input.id ? { id: input.id } : {}),\n rawText: input.rawText,\n actor: input.actor,\n callback: {\n provider: input.callback.provider,\n uri: input.callback.uri,\n ...(input.callback.threadKey ? { threadKey: input.callback.threadKey } : {})\n },\n ...(input.metadata ? { metadata: input.metadata } : {})\n })\n });\n await assertOk(response, \"submitThreadAction\");\n return (await response.json()) as ThreadActionResult;\n }\n };\n}\n\nexport function createDispatcherClient(options: RunnerClientOptions): DispatcherRunnerClient {\n const client = createOpenTagClient(options);\n return {\n claim: () => client.claim({ runnerId: options.runnerId }),\n markRunning: (runId, executor, markRunningOptions) =>\n client.markRunning({\n runnerId: options.runnerId,\n runId,\n executor,\n ...(markRunningOptions?.runTimeoutMs ? { runTimeoutMs: markRunningOptions.runTimeoutMs } : {}),\n ...(markRunningOptions?.idempotencyKey ? { idempotencyKey: markRunningOptions.idempotencyKey } : {})\n }),\n heartbeat: (runId) => client.heartbeat({ runnerId: options.runnerId, runId }),\n progress: (runId, input) => client.progress({ runnerId: options.runnerId, runId, ...input }),\n complete: (runId, result, completeOptions) =>\n client.complete({\n runnerId: options.runnerId,\n runId,\n result,\n ...(completeOptions?.idempotencyKey ? { idempotencyKey: completeOptions.idempotencyKey } : {})\n })\n };\n}\n\nexport function createDispatcherAdminClient(options: RunnerClientOptions) {\n const client = createOpenTagClient(options);\n return {\n registerRunner(name = options.runnerId): Promise<void> {\n return client.registerRunner({ runnerId: options.runnerId, name });\n },\n\n bindRepository(binding: RepositoryBindingConfig): Promise<void> {\n return client.bindRepository({\n provider: binding.provider,\n owner: binding.owner,\n repo: binding.repo,\n runnerId: options.runnerId,\n workspacePath: binding.checkoutPath,\n ...(binding.defaultExecutor ? { defaultExecutor: binding.defaultExecutor } : {})\n });\n },\n\n bindSlackChannel(binding: SlackChannelBindingInput): Promise<void> {\n return client.bindSlackChannel(binding);\n },\n\n bindChannel(binding: ChannelBindingInput): Promise<void> {\n return client.bindChannel(binding);\n },\n\n getChannelBinding(input: {\n provider: string;\n accountId: string;\n conversationId: string;\n }): Promise<{ binding: ChannelBindingInput }> {\n return client.getChannelBinding(input);\n },\n\n unbindChannel(input: { provider: string; accountId: string; conversationId: string }): Promise<void> {\n return client.unbindChannel(input);\n }\n };\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentag/client",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "HTTP client SDK for creating, claiming, and updating OpenTag dispatcher runs.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
],
|
|
32
32
|
"license": "MIT",
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@opentag/core": "0.3.
|
|
34
|
+
"@opentag/core": "0.3.1"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"tsup": "^8.3.5",
|