@runmark/sdk 0.1.0 → 0.1.3

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/sse.js CHANGED
@@ -1,6 +1,7 @@
1
+ const MAX_SSE_EVENT_CHARACTERS = 1024 * 1024;
1
2
  export async function* parseSkyforgeEventStream(body) {
2
3
  if (body === null) {
3
- return;
4
+ throw new Error("Skyforge event stream response did not include a body.");
4
5
  }
5
6
  const reader = body.getReader();
6
7
  const decoder = new TextDecoder();
@@ -16,7 +17,9 @@ export async function* parseSkyforgeEventStream(body) {
16
17
  buffer += decoder.decode(value, { stream: true });
17
18
  const events = drainEvents(buffer);
18
19
  buffer = events.remainder;
20
+ assertEventSize(buffer);
19
21
  for (const event of events.blocks) {
22
+ assertEventSize(event);
20
23
  const parsed = parseEventBlock(event);
21
24
  if (parsed !== undefined) {
22
25
  yield parsed;
@@ -25,6 +28,7 @@ export async function* parseSkyforgeEventStream(body) {
25
28
  }
26
29
  buffer += decoder.decode();
27
30
  if (buffer.trim().length > 0) {
31
+ assertEventSize(buffer);
28
32
  const parsed = parseEventBlock(buffer);
29
33
  if (parsed !== undefined) {
30
34
  yield parsed;
@@ -38,6 +42,11 @@ export async function* parseSkyforgeEventStream(body) {
38
42
  reader.releaseLock();
39
43
  }
40
44
  }
45
+ function assertEventSize(value) {
46
+ if (value.length > MAX_SSE_EVENT_CHARACTERS) {
47
+ throw new Error("Skyforge event stream event exceeded the 1 MiB safety limit.");
48
+ }
49
+ }
41
50
  function drainEvents(buffer) {
42
51
  const normalized = buffer.replace(/\r\n/g, "\n");
43
52
  const parts = normalized.split("\n\n");
package/dist/sse.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,wBAAwB,CAC7C,IAAuC;IAEvC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;YAE1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,MAAM,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAkC,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAEA,MAAM,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE7C,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,wBAAwB,CAC7C,IAAuC;IAEvC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,IAAI,EAAE,CAAC;gBACT,eAAe,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC;YAC1B,eAAe,CAAC,MAAM,CAAC,CAAC;YAExB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,MAAM,MAAM,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,eAAe,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,MAAM,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,CAAC,WAAW,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,KAAK,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,MAAM,SAAS,GAAG,KAAK;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC1C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAkC,CAAC;AAC3E,CAAC"}
package/dist/types.d.ts CHANGED
@@ -15,6 +15,15 @@ export interface RequestOptions {
15
15
  export interface GetAgentBranchStateParams extends RequestOptions {
16
16
  agentBranchId: string;
17
17
  chatId?: string;
18
+ externalId?: string;
19
+ }
20
+ export interface ListChatsParams extends RequestOptions {
21
+ agentId: string;
22
+ agentBranchId?: string;
23
+ chatId?: string;
24
+ externalId?: string;
25
+ limit?: number;
26
+ cursor?: string;
18
27
  }
19
28
  export interface SkyforgeChatRetrievalScopeRequest {
20
29
  context_ids?: string[];
@@ -23,7 +32,10 @@ export interface SkyforgeChatRetrievalScopeRequest {
23
32
  export interface SendMessageParams extends RequestOptions {
24
33
  agentBranchId: string;
25
34
  message: string;
35
+ activeOrganizationId?: string;
26
36
  chatId?: string;
37
+ requestId?: string;
38
+ externalId?: string;
27
39
  retriedFromAgentRunId?: string;
28
40
  sourceUserMessageId?: string;
29
41
  structuredContext?: JsonObject;
@@ -33,9 +45,22 @@ export interface StreamAgentRunEventsParams extends RequestOptions {
33
45
  agentRunId: string;
34
46
  afterSequence?: number;
35
47
  }
48
+ export interface GetAgentRunSourceReferencesParams extends RequestOptions {
49
+ agentRunId: string;
50
+ }
51
+ export interface LookupAgentRunRequestParams extends RequestOptions {
52
+ agentBranchId: string;
53
+ requestId: string;
54
+ }
55
+ export interface CancelAgentRunParams extends RequestOptions {
56
+ agentRunId: string;
57
+ reason?: string;
58
+ }
36
59
  export interface SubmitHumanActionParams extends RequestOptions {
37
60
  humanActionRequestId: string;
38
61
  values: JsonValue;
62
+ requestId?: string;
63
+ activeOrganizationId?: string;
39
64
  }
40
65
  export interface ListUploadedFilesParams extends RequestOptions {
41
66
  agentBranchId: string;
@@ -60,6 +85,18 @@ export interface SkyforgeSuccessResponse<T> {
60
85
  }
61
86
  export type AgentRuntimeMode = "turn_based" | "run_based" | string;
62
87
  export type SkyforgeChatMessageRole = "assistant" | "user" | "system" | "tool" | "error" | string;
88
+ export interface RagSourceReference {
89
+ source_label: string;
90
+ display_label: string;
91
+ display_order: number;
92
+ snippet?: string | null;
93
+ source_type: string;
94
+ freshness_status?: string | null;
95
+ context_id?: string | null;
96
+ context_release_id?: string | null;
97
+ embedding_id?: string | null;
98
+ message_id?: string | null;
99
+ }
63
100
  export interface SkyforgeChatMessageDto {
64
101
  id: string;
65
102
  role: SkyforgeChatMessageRole;
@@ -69,6 +106,7 @@ export interface SkyforgeChatMessageDto {
69
106
  group_id?: string | null;
70
107
  is_displayable?: boolean;
71
108
  agent_run_id?: string | null;
109
+ source_references?: RagSourceReference[];
72
110
  [key: string]: unknown;
73
111
  }
74
112
  export interface HumanActionRequestDto {
@@ -99,20 +137,47 @@ export interface SkyforgeChatStateResponse {
99
137
  agent_branch_id: string;
100
138
  runtime_mode: AgentRuntimeMode;
101
139
  chat_id?: string | null;
140
+ external_id?: string | null;
102
141
  can_send_messages: boolean;
103
142
  start_message?: string | null;
104
143
  messages: SkyforgeChatMessageDto[];
105
144
  latest_agent_run_id?: string | null;
145
+ active_run?: SkyforgeChatActiveRunDto | null;
106
146
  agent_title?: string | null;
107
147
  agent_subtitle?: string | null;
108
148
  pending_human_actions?: HumanActionRequestDto[];
109
149
  [key: string]: unknown;
110
150
  }
151
+ export interface SkyforgeChatListItem {
152
+ chat_id: string;
153
+ agent_id: string;
154
+ agent_branch_id: string;
155
+ agent_branch_name: string;
156
+ external_id?: string | null;
157
+ chat_title?: string | null;
158
+ created_at: string;
159
+ updated_at: string;
160
+ [key: string]: unknown;
161
+ }
162
+ export interface SkyforgeChatListResponse {
163
+ chats: SkyforgeChatListItem[];
164
+ nextCursor?: string | null;
165
+ }
166
+ export interface SkyforgeChatActiveRunDto {
167
+ agent_run_id: string;
168
+ status: "running" | "completed" | "failed";
169
+ runtime_mode: AgentRuntimeMode;
170
+ started_at: string;
171
+ has_terminal_message: boolean;
172
+ [key: string]: unknown;
173
+ }
111
174
  export interface SkyforgeChatMessageResponse {
112
175
  runtime_mode: AgentRuntimeMode;
113
176
  chat_id: string;
177
+ external_id?: string | null;
114
178
  chat_title?: string | null;
115
179
  agent_run_id?: string | null;
180
+ request_id?: string | null;
116
181
  source_user_message_id?: string | null;
117
182
  retried_from_agent_run_id?: string | null;
118
183
  messages: SkyforgeChatMessageDto[];
@@ -120,6 +185,22 @@ export interface SkyforgeChatMessageResponse {
120
185
  terminal: boolean;
121
186
  [key: string]: unknown;
122
187
  }
188
+ export interface SkyforgeAgentRunRequestLookupResponse {
189
+ request_id: string;
190
+ agent_run_id: string;
191
+ chat_id: string;
192
+ agent_branch_id: string;
193
+ status: "running" | "completed" | "failed" | string;
194
+ delivery_mode: "synchronous" | "asynchronous" | string;
195
+ terminal: boolean;
196
+ external_id?: string | null;
197
+ }
198
+ export interface CancelAgentRunResponse {
199
+ agent_run_id: string;
200
+ cancellation_requested: boolean;
201
+ terminal: boolean;
202
+ status: "running" | "completed" | "failed" | string;
203
+ }
123
204
  export interface SkyforgeChatUploadedFileContextDto {
124
205
  id: string;
125
206
  chat_id: string;
@@ -157,4 +238,237 @@ export interface SkyforgeAgentRunEventEnvelope {
157
238
  event: JsonObject;
158
239
  [key: string]: unknown;
159
240
  }
241
+ export interface SkyforgeChatSourceReferencesResponse {
242
+ agent_run_id: string;
243
+ source_references: RagSourceReference[];
244
+ }
245
+ export type WebhookEventType = "agent_run.completed" | "agent_run.failed" | "agent_run.cancelled" | "agent_run.human_action_required" | "agent_run.structured_result_available" | "webhook.test";
246
+ export interface WebhookEndpointFilters {
247
+ branch_name: "dev" | "main";
248
+ event_types: Exclude<WebhookEventType, "webhook.test">[];
249
+ agent_scope: {
250
+ kind: "all_agents";
251
+ } | {
252
+ kind: "selected_agents";
253
+ agent_ids: string[];
254
+ };
255
+ invocation_kinds?: string[];
256
+ schedule_ids?: string[];
257
+ run_scope?: "root" | "child" | "both";
258
+ }
259
+ export interface WebhookSecretRevisionSummary {
260
+ id: string;
261
+ revision: number;
262
+ activated_at: string;
263
+ overlap_expires_at?: string | null;
264
+ is_current: boolean;
265
+ }
266
+ export interface WebhookEndpointSummary {
267
+ id: string;
268
+ repository_id: string;
269
+ name: string;
270
+ url: string;
271
+ filters: WebhookEndpointFilters;
272
+ enabled: boolean;
273
+ active_revision?: WebhookSecretRevisionSummary | null;
274
+ overlapping_revision?: WebhookSecretRevisionSummary | null;
275
+ consecutive_failures: number;
276
+ last_success_at?: string | null;
277
+ last_failure_at?: string | null;
278
+ created_at: string;
279
+ updated_at: string;
280
+ }
281
+ export interface WebhookEndpointSecretResponse {
282
+ endpoint: WebhookEndpointSummary;
283
+ signing_secret: string;
284
+ }
285
+ export interface CreateWebhookEndpointParams extends RequestOptions {
286
+ repositoryId: string;
287
+ name: string;
288
+ url: string;
289
+ filters: WebhookEndpointFilters;
290
+ }
291
+ export interface UpdateWebhookEndpointParams extends RequestOptions {
292
+ repositoryId: string;
293
+ endpointId: string;
294
+ name?: string;
295
+ url?: string;
296
+ filters?: WebhookEndpointFilters;
297
+ }
298
+ export interface WebhookEndpointParams extends RequestOptions {
299
+ repositoryId: string;
300
+ endpointId: string;
301
+ }
302
+ export interface ListWebhookEndpointsParams extends RequestOptions {
303
+ repositoryId: string;
304
+ }
305
+ export interface WebhookDeliverySummary {
306
+ id: string;
307
+ event_id: string;
308
+ state: "pending" | "delivering" | "succeeded" | "dead_lettered" | "cancelled";
309
+ cycle: number;
310
+ cycle_attempt_count: number;
311
+ next_attempt_at: string;
312
+ last_attempt_at?: string | null;
313
+ last_classification?: string | null;
314
+ succeeded_at?: string | null;
315
+ dead_lettered_at?: string | null;
316
+ cancelled_at?: string | null;
317
+ created_at: string;
318
+ }
319
+ export interface WebhookAttemptSummary {
320
+ id: string;
321
+ cycle: number;
322
+ attempt_number: number;
323
+ state: "started" | "finished" | "worker_interrupted";
324
+ started_at: string;
325
+ completed_at?: string | null;
326
+ latency_ms?: number | null;
327
+ http_status?: number | null;
328
+ response_classification?: string | null;
329
+ retry_after_seconds?: number | null;
330
+ destination_url: string;
331
+ webhook_timestamp: number;
332
+ signing_secret_revisions: number[];
333
+ next_retry_at?: string | null;
334
+ }
335
+ export interface WebhookDeliveryListResponse {
336
+ items: WebhookDeliverySummary[];
337
+ next_cursor?: string | null;
338
+ }
339
+ export interface WebhookAttemptListResponse {
340
+ items: WebhookAttemptSummary[];
341
+ next_cursor?: string | null;
342
+ }
343
+ export interface ListWebhookDeliveriesParams extends WebhookEndpointParams {
344
+ limit?: number;
345
+ cursor?: string;
346
+ }
347
+ export interface ListWebhookAttemptsParams extends ListWebhookDeliveriesParams {
348
+ deliveryId: string;
349
+ }
350
+ export interface RepositoryWebhookDeliverySummary {
351
+ id: string;
352
+ endpoint_id: string;
353
+ endpoint_name: string;
354
+ endpoint_deleted: boolean;
355
+ event_id: string;
356
+ event_type: WebhookEventType;
357
+ delivery_kind: "normal" | "test";
358
+ agent_branch_name?: string | null;
359
+ agent_id?: string | null;
360
+ agent_name?: string | null;
361
+ agent_run_id?: string | null;
362
+ state: WebhookDeliverySummary["state"];
363
+ latest_attempt?: WebhookAttemptSummary | null;
364
+ total_attempt_count: number;
365
+ occurred_at: string;
366
+ next_attempt_at: string;
367
+ last_attempt_at?: string | null;
368
+ succeeded_at?: string | null;
369
+ dead_lettered_at?: string | null;
370
+ cancelled_at?: string | null;
371
+ created_at: string;
372
+ }
373
+ export interface RepositoryWebhookDeliveryListResponse {
374
+ items: RepositoryWebhookDeliverySummary[];
375
+ next_cursor?: string | null;
376
+ }
377
+ export interface RepositoryWebhookDeliveryDetail {
378
+ delivery: RepositoryWebhookDeliverySummary;
379
+ serialized_body: string;
380
+ event: WebhookEventV1;
381
+ attempts: WebhookAttemptSummary[];
382
+ }
383
+ export interface ListRepositoryWebhookDeliveriesParams extends RequestOptions {
384
+ repositoryId: string;
385
+ search?: string;
386
+ branchName?: "dev" | "main";
387
+ eventType?: WebhookEventType;
388
+ endpointId?: string;
389
+ agentId?: string;
390
+ state?: WebhookDeliverySummary["state"];
391
+ deliveryKind?: "normal" | "test";
392
+ occurredAfter?: string;
393
+ occurredBefore?: string;
394
+ cursor?: string;
395
+ limit?: number;
396
+ }
397
+ export interface GetRepositoryWebhookDeliveryParams extends RequestOptions {
398
+ repositoryId: string;
399
+ deliveryId: string;
400
+ }
401
+ export interface WebhookEndpointHealth {
402
+ success_count: number;
403
+ failure_count: number;
404
+ average_latency_ms?: number | null;
405
+ retry_classifications: WebhookClassificationCount[];
406
+ pending_count: number;
407
+ dead_lettered_count: number;
408
+ oldest_pending_at?: string | null;
409
+ oldest_pending_age_seconds?: number | null;
410
+ egress_denial_count: number;
411
+ consecutive_failures: number;
412
+ last_success_at?: string | null;
413
+ last_failure_at?: string | null;
414
+ replay_count: number;
415
+ replay_actor_ids: string[];
416
+ }
417
+ export interface WebhookClassificationCount {
418
+ classification: string;
419
+ count: number;
420
+ }
421
+ export type WebhookReplaySelector = {
422
+ kind: "event";
423
+ event_id: string;
424
+ } | {
425
+ kind: "cursor_range";
426
+ after_cursor?: string;
427
+ through_cursor?: string;
428
+ };
429
+ export interface CreateWebhookReplayParams extends WebhookEndpointParams {
430
+ selector: WebhookReplaySelector;
431
+ }
432
+ export interface WebhookReplaySummary {
433
+ id: string;
434
+ actor_user_id?: string | null;
435
+ selector: WebhookReplaySelector;
436
+ matched_count: number;
437
+ requeued_count: number;
438
+ next_after_cursor?: string | null;
439
+ created_at: string;
440
+ }
441
+ export interface WebhookTestDeliveryResponse {
442
+ event_id: string;
443
+ delivery_id: string;
444
+ }
445
+ export interface GetAgentRunParams extends RequestOptions {
446
+ agentRunId: string;
447
+ }
448
+ export interface GetHumanActionParams extends RequestOptions {
449
+ humanActionRequestId: string;
450
+ }
451
+ export interface WebhookEventV1 {
452
+ schema_version: 1;
453
+ id: string;
454
+ type: WebhookEventType;
455
+ occurred_at: string;
456
+ repository_id: string;
457
+ aggregate_type: "agent_run" | "repository";
458
+ aggregate_id: string;
459
+ agent_run_id?: string | null;
460
+ sequence?: number | null;
461
+ cursor: string;
462
+ correlation: JsonObject;
463
+ data: JsonObject;
464
+ }
465
+ export interface VerifyWebhookSignatureParams {
466
+ webhookId: string;
467
+ webhookTimestamp: string | number;
468
+ webhookSignature: string;
469
+ rawBody: string | Uint8Array;
470
+ signingSecret: string | readonly string[];
471
+ nowSeconds?: number;
472
+ toleranceSeconds?: number;
473
+ }
160
474
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { VerifyWebhookSignatureParams } from "./types.js";
2
+ export declare class WebhookVerificationError extends Error {
3
+ constructor(message: string);
4
+ }
5
+ export declare function verifyWebhookSignature(params: VerifyWebhookSignatureParams): boolean;
6
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CA4CpF"}
@@ -0,0 +1,73 @@
1
+ import { createHmac, timingSafeEqual } from "node:crypto";
2
+ export class WebhookVerificationError extends Error {
3
+ constructor(message) {
4
+ super(message);
5
+ this.name = "WebhookVerificationError";
6
+ }
7
+ }
8
+ export function verifyWebhookSignature(params) {
9
+ const timestamp = Number(params.webhookTimestamp);
10
+ if (!Number.isSafeInteger(timestamp)) {
11
+ throw new WebhookVerificationError("Invalid webhook timestamp.");
12
+ }
13
+ const now = params.nowSeconds ?? Math.floor(Date.now() / 1000);
14
+ const tolerance = params.toleranceSeconds ?? 300;
15
+ if (!Number.isSafeInteger(tolerance) || tolerance < 0) {
16
+ throw new WebhookVerificationError("Invalid webhook timestamp tolerance.");
17
+ }
18
+ if (timestamp < now - tolerance) {
19
+ throw new WebhookVerificationError("Webhook timestamp is stale.");
20
+ }
21
+ if (timestamp > now + tolerance) {
22
+ throw new WebhookVerificationError("Webhook timestamp is too far in the future.");
23
+ }
24
+ const signingSecrets = typeof params.signingSecret === "string"
25
+ ? [params.signingSecret]
26
+ : [...params.signingSecret];
27
+ if (signingSecrets.length === 0) {
28
+ throw new WebhookVerificationError("Invalid webhook signing secret.");
29
+ }
30
+ const secrets = signingSecrets.map(decodeSigningSecret);
31
+ const rawBody = typeof params.rawBody === "string"
32
+ ? Buffer.from(params.rawBody)
33
+ : Buffer.from(params.rawBody);
34
+ const signedPrefix = Buffer.from(`${params.webhookId}.${timestamp}.`);
35
+ const signatures = params.webhookSignature.split(" ").map((entry) => {
36
+ if (!entry.startsWith("v1,") || entry.length === 3) {
37
+ throw new WebhookVerificationError("Invalid webhook signature header.");
38
+ }
39
+ const decoded = decodeBase64(entry.slice(3), "signature header");
40
+ if (decoded.byteLength !== 32) {
41
+ throw new WebhookVerificationError("Invalid webhook signature header.");
42
+ }
43
+ return decoded;
44
+ });
45
+ return secrets.some((secret) => {
46
+ const expected = createHmac("sha256", secret)
47
+ .update(signedPrefix)
48
+ .update(rawBody)
49
+ .digest();
50
+ return signatures.some((signature) => timingSafeEqual(expected, signature));
51
+ });
52
+ }
53
+ function decodeSigningSecret(value) {
54
+ if (!value.startsWith("whsec_")) {
55
+ throw new WebhookVerificationError("Invalid webhook signing secret.");
56
+ }
57
+ const secret = decodeBase64(value.slice("whsec_".length), "signing secret");
58
+ if (secret.byteLength !== 32) {
59
+ throw new WebhookVerificationError("Invalid webhook signing secret.");
60
+ }
61
+ return secret;
62
+ }
63
+ function decodeBase64(value, label) {
64
+ if (value.length === 0 || !/^[A-Za-z0-9+/]+={0,2}$/.test(value)) {
65
+ throw new WebhookVerificationError(`Invalid webhook ${label}.`);
66
+ }
67
+ const decoded = Buffer.from(value, "base64");
68
+ if (decoded.toString("base64") !== value) {
69
+ throw new WebhookVerificationError(`Invalid webhook ${label}.`);
70
+ }
71
+ return decoded;
72
+ }
73
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,19 @@
1
1
  {
2
2
  "name": "@runmark/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Server-side SDK for agent chat routes.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "private": false,
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/Skyforge-AI/skyforge.git",
11
+ "directory": "packages/skyforge-sdk"
12
+ },
13
+ "publishConfig": {
14
+ "access": "public",
15
+ "registry": "https://registry.npmjs.org/"
16
+ },
8
17
  "engines": {
9
18
  "node": ">=24.17.0"
10
19
  },
@@ -16,6 +25,7 @@
16
25
  },
17
26
  "types": "./dist/index.d.ts",
18
27
  "files": [
28
+ "CHANGELOG.md",
19
29
  "dist"
20
30
  ],
21
31
  "scripts": {