@opentag/client 0.3.0 → 0.3.2

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 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
- runnerId: string;
310
+ complete(input: CompleteRunInput): Promise<void>;
311
+ cancelRun(input: {
242
312
  runId: string;
243
- result: OpenTagRunResult;
244
- }): Promise<void>;
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): Promise<void>;
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): Promise<void>;
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
@@ -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({ executor: input.executor })
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({ result })
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({ runnerId: options.runnerId, runId, executor }),
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({ runnerId: options.runnerId, runId, result })
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.0",
3
+ "version": "0.3.2",
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.0"
34
+ "@opentag/core": "0.3.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "tsup": "^8.3.5",