@scarn/sdk 0.0.0-stage → 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/chunk-4361gxk0.js +166 -0
  2. package/dist/chunk-4vehh3dq.js +333 -0
  3. package/dist/chunk-56e4kp0a.js +162 -0
  4. package/dist/chunk-5mmj03ah.js +1074 -0
  5. package/dist/chunk-631ffb6r.js +57 -0
  6. package/dist/chunk-91p9vzcs.js +1453 -0
  7. package/dist/chunk-9s07v9r1.js +30 -0
  8. package/dist/chunk-b21233rt.js +78 -0
  9. package/dist/chunk-dnn39qt4.js +13539 -0
  10. package/dist/chunk-eg1hcvhb.js +300 -0
  11. package/dist/chunk-g0rdnn0r.js +95 -0
  12. package/dist/chunk-h9yxx0hd.js +116 -0
  13. package/dist/chunk-njd6npf0.js +35 -0
  14. package/dist/chunk-ny07ncb9.js +330 -0
  15. package/dist/chunk-p6kc9wq8.js +97 -0
  16. package/dist/chunk-qpw5wt1p.js +257 -0
  17. package/dist/chunk-rq3q8vg7.js +1094 -0
  18. package/dist/chunk-s0gap8r8.js +14 -0
  19. package/dist/chunk-tfm5hjzm.js +100 -0
  20. package/dist/chunk-ynk2bjae.js +1686 -0
  21. package/dist/chunk-zpqyjgb4.js +49 -0
  22. package/dist/client.d.ts +4 -0
  23. package/dist/client.js +57 -0
  24. package/dist/contracts/artifact-markers.d.ts +42 -0
  25. package/dist/contracts/artifact-markers.js +15 -0
  26. package/dist/contracts/artifacts.d.ts +67 -0
  27. package/dist/contracts/artifacts.js +25 -0
  28. package/dist/contracts/pipeline-document/built-ins.d.ts +23 -0
  29. package/dist/contracts/pipeline-document/conditions/operators.d.ts +8 -0
  30. package/dist/contracts/pipeline-document/index.d.ts +11 -0
  31. package/dist/contracts/pipeline-document/index.js +97 -0
  32. package/dist/contracts/pipeline-document/json.d.ts +35 -0
  33. package/dist/contracts/pipeline-document/routes.d.ts +16 -0
  34. package/dist/contracts/pipeline-document/schema.d.ts +780 -0
  35. package/dist/contracts/pipeline-document/step-contract.d.ts +11 -0
  36. package/dist/contracts/step-artifact-submissions.d.ts +71 -0
  37. package/dist/contracts/step-artifact-submissions.js +174 -0
  38. package/dist/defaults/atomic-json-file.d.ts +10 -0
  39. package/dist/defaults/auth-file.d.ts +14 -0
  40. package/dist/defaults/base-url.d.ts +1 -0
  41. package/dist/defaults/config-file.d.ts +46 -0
  42. package/dist/defaults/home-dir.d.ts +3 -0
  43. package/dist/defaults/index.d.ts +12 -0
  44. package/dist/defaults/index.js +1239 -0
  45. package/dist/defaults/legacy-config-migration.d.ts +27 -0
  46. package/dist/defaults/load-push-defaults.d.ts +25 -0
  47. package/dist/defaults/project-config.d.ts +32 -0
  48. package/dist/defaults/project-ref.d.ts +34 -0
  49. package/dist/definitions/artifacts/artifact.d.ts +62 -0
  50. package/dist/definitions/artifacts/index.d.ts +1 -0
  51. package/dist/definitions/pipelines/define-default-pipeline-assignment.d.ts +263 -0
  52. package/dist/definitions/pipelines/index.d.ts +3 -0
  53. package/dist/definitions/pipelines/index.js +24 -0
  54. package/dist/definitions/pipelines/pipeline-definitions-client.d.ts +208 -0
  55. package/dist/definitions/pipelines/work-item-fields.d.ts +93 -0
  56. package/dist/definitions/steps/compile-mcps.d.ts +34 -0
  57. package/dist/definitions/steps/define-code-step.d.ts +84 -0
  58. package/dist/definitions/steps/define-mcp.d.ts +79 -0
  59. package/dist/definitions/steps/define-step.d.ts +137 -0
  60. package/dist/definitions/steps/env.d.ts +136 -0
  61. package/dist/definitions/steps/index.d.ts +14 -0
  62. package/dist/definitions/steps/index.js +73 -0
  63. package/dist/definitions/steps/mcp-server-config.d.ts +102 -0
  64. package/dist/definitions/steps/prompt-template.d.ts +24 -0
  65. package/dist/definitions/steps/repo.d.ts +67 -0
  66. package/dist/definitions/steps/runtime.d.ts +115 -0
  67. package/dist/definitions/steps/step-definitions-client.d.ts +400 -0
  68. package/dist/definitions/steps/step-features.d.ts +109 -0
  69. package/dist/definitions/steps/step-handle.d.ts +25 -0
  70. package/dist/definitions/steps/step-ref.d.ts +19 -0
  71. package/dist/definitions/validation/index.d.ts +2 -0
  72. package/dist/definitions/validation/index.js +17 -0
  73. package/dist/definitions/validation/validate-artifact-markers.d.ts +3 -0
  74. package/dist/definitions/validation/validate-artifacts.d.ts +7 -0
  75. package/dist/definitions/validation/validate-definition-specs.d.ts +16 -0
  76. package/dist/definitions/validation/validate-env.d.ts +15 -0
  77. package/dist/definitions/validation/validate-repo.d.ts +13 -0
  78. package/dist/definitions/validation/validate-runtime.d.ts +12 -0
  79. package/dist/definitions/validation/validation-issue.d.ts +11 -0
  80. package/dist/devcontainer-config-path.d.ts +21 -0
  81. package/dist/devcontainer-config-path.js +13 -0
  82. package/dist/env-vars.d.ts +136 -0
  83. package/dist/env-vars.js +35 -0
  84. package/dist/eslint.d.ts +42 -0
  85. package/dist/eslint.js +125 -0
  86. package/dist/generated/client/client.gen.d.ts +2 -0
  87. package/dist/generated/client/index.d.ts +8 -0
  88. package/dist/generated/client/types.gen.d.ts +117 -0
  89. package/dist/generated/client/utils.gen.d.ts +33 -0
  90. package/dist/generated/client.gen.d.ts +12 -0
  91. package/dist/generated/core/auth.gen.d.ts +18 -0
  92. package/dist/generated/core/bodySerializer.gen.d.ts +25 -0
  93. package/dist/generated/core/params.gen.d.ts +43 -0
  94. package/dist/generated/core/pathSerializer.gen.d.ts +33 -0
  95. package/dist/generated/core/queryKeySerializer.gen.d.ts +18 -0
  96. package/dist/generated/core/serverSentEvents.gen.d.ts +71 -0
  97. package/dist/generated/core/types.gen.d.ts +78 -0
  98. package/dist/generated/core/utils.gen.d.ts +19 -0
  99. package/dist/generated/index.d.ts +2 -0
  100. package/dist/generated/sdk.gen.d.ts +302 -0
  101. package/dist/generated/types.gen.d.ts +18368 -0
  102. package/dist/git-url/git-remote.d.ts +30 -0
  103. package/dist/git-url/git-repo-identity.d.ts +44 -0
  104. package/dist/git-url/git-repo-identity.js +159 -0
  105. package/dist/git-url/parse-git-host.d.ts +23 -0
  106. package/dist/health-checks.d.ts +169 -0
  107. package/dist/health-checks.js +19 -0
  108. package/dist/index.d.ts +11 -0
  109. package/dist/index.js +293 -0
  110. package/dist/jsonc.d.ts +3 -0
  111. package/dist/jsonc.js +11 -0
  112. package/dist/managed-runtimes.d.ts +20 -0
  113. package/dist/managed-runtimes.js +13 -0
  114. package/dist/opencode-mcp.d.ts +313 -0
  115. package/dist/opencode-mcp.js +29 -0
  116. package/dist/pipelines/chain.d.ts +7 -0
  117. package/dist/pipelines/compile-args.d.ts +12 -0
  118. package/dist/pipelines/compile-chain.d.ts +9 -0
  119. package/dist/pipelines/compile-checks.d.ts +16 -0
  120. package/dist/pipelines/compile-state.d.ts +30 -0
  121. package/dist/pipelines/condition-data.d.ts +78 -0
  122. package/dist/pipelines/conditions.d.ts +47 -0
  123. package/dist/pipelines/context.d.ts +16 -0
  124. package/dist/pipelines/define-pipeline.d.ts +32 -0
  125. package/dist/pipelines/each.d.ts +5 -0
  126. package/dist/pipelines/errors.d.ts +26 -0
  127. package/dist/pipelines/handles.d.ts +29 -0
  128. package/dist/pipelines/index.d.ts +18 -0
  129. package/dist/pipelines/index.js +80 -0
  130. package/dist/pipelines/model.d.ts +103 -0
  131. package/dist/pipelines/nodes.d.ts +54 -0
  132. package/dist/pipelines/ref-types.d.ts +54 -0
  133. package/dist/pipelines/refs.d.ts +80 -0
  134. package/dist/pipelines/registry.d.ts +12 -0
  135. package/dist/pipelines/source.d.ts +17 -0
  136. package/dist/pipelines/types.d.ts +160 -0
  137. package/dist/push/code-step-lookup.d.ts +32 -0
  138. package/dist/push/code-step-lookup.js +11 -0
  139. package/dist/push/collect-definitions.d.ts +70 -0
  140. package/dist/push/collect-pipeline-documents.d.ts +14 -0
  141. package/dist/push/index.d.ts +6 -0
  142. package/dist/push/index.js +328 -0
  143. package/dist/push/push-from-directory.d.ts +37 -0
  144. package/dist/repo-config.d.ts +80 -0
  145. package/dist/repo-config.js +23 -0
  146. package/dist/scarn-config-parser.d.ts +29 -0
  147. package/dist/scarn-config-parser.js +9 -0
  148. package/dist/task-plane-client.d.ts +489 -0
  149. package/dist/z.d.ts +7 -0
  150. package/package.json +132 -4
  151. package/README.md +0 -3
@@ -0,0 +1,489 @@
1
+ import { TaskRuns } from "./generated/sdk.gen";
2
+ import type { GetApiTaskRunsByTaskRunIdLogsData, PostApiTaskRunsByTaskRunIdArtifactFailuresData, PostApiTaskRunsByTaskRunIdArtifactUploadUrlData, PostApiTaskRunsByTaskRunIdArtifactsData, PostApiTaskRunsByTaskRunIdCompletionsData, PostApiTaskRunsByTaskRunIdLogsData, PostApiTaskRunsByTaskRunIdSessionUploadUrlData, PostApiTaskRunsByTaskRunIdYieldsData, PostApiTaskRunsClaimsData } from "./generated/types.gen";
3
+ type TaskRunRef = {
4
+ taskRunId: string;
5
+ };
6
+ type CompletionBody = PostApiTaskRunsByTaskRunIdCompletionsData["body"];
7
+ export type TaskPlaneClientOptions = {
8
+ headers?: Record<string, string> | undefined;
9
+ };
10
+ /**
11
+ * Worker-facing client for the task-run plane (`/api/task-runs/...`): claiming,
12
+ * heartbeating, context, logs (writing, and reading another task run's), artifacts,
13
+ * completion and yielding. Headers given here
14
+ * (typically the worker's bearer token) are sent with every request.
15
+ */
16
+ export declare function createTaskPlaneClient(baseUrl: string, options?: TaskPlaneClientOptions): ReturnType<typeof buildTaskPlaneClient>;
17
+ declare const buildTaskPlaneClient: (taskRuns: TaskRuns) => {
18
+ claimTaskRuns: (input: PostApiTaskRunsClaimsData["body"]) => Promise<{
19
+ task: {
20
+ id: string;
21
+ taskId: string;
22
+ number: number;
23
+ reason: "initial" | "retry" | "continuation";
24
+ projectId: string;
25
+ workItemId: string;
26
+ taskExecutionConfigId: string | unknown;
27
+ name: string | unknown;
28
+ kind: "agent" | "code";
29
+ previousTaskRunId: string | unknown;
30
+ baseBranch: string | unknown;
31
+ heartbeatSeconds: number | unknown;
32
+ status: "pending" | "queued" | "running" | "succeeded" | "failed" | "timeout" | "abandoned" | "cancelled" | "skipped" | "yielded";
33
+ inputJson: unknown;
34
+ claimedBy: string | unknown;
35
+ claimedAt: string | unknown;
36
+ lastHeartbeatAt: string | unknown;
37
+ leaseExpiresAt: string | unknown;
38
+ executionTimeoutSeconds: number | unknown;
39
+ executionDeadlineAt: string | unknown;
40
+ startedAt: string | unknown;
41
+ completedAt: string | unknown;
42
+ resultJson: unknown;
43
+ errorJson: unknown;
44
+ workBranch: string | unknown;
45
+ createdFromBranch: string | unknown;
46
+ sessionRestored: boolean | unknown;
47
+ createdAt: string;
48
+ updatedAt: string;
49
+ };
50
+ claimToken: string;
51
+ }[]>;
52
+ heartbeatTaskRun: ({ taskRunId, ...body }: TaskRunRef & {
53
+ claimToken: string;
54
+ leaseDurationSeconds: number;
55
+ }) => Promise<void>;
56
+ getTaskRun: ({ taskRunId }: TaskRunRef) => Promise<{
57
+ id: string;
58
+ taskId: string;
59
+ number: number;
60
+ reason: "initial" | "retry" | "continuation";
61
+ projectId: string;
62
+ workItemId: string;
63
+ taskExecutionConfigId: string | unknown;
64
+ name: string | unknown;
65
+ kind: "agent" | "code";
66
+ previousTaskRunId: string | unknown;
67
+ baseBranch: string | unknown;
68
+ heartbeatSeconds: number | unknown;
69
+ status: "pending" | "queued" | "running" | "succeeded" | "failed" | "timeout" | "abandoned" | "cancelled" | "skipped" | "yielded";
70
+ inputJson: unknown;
71
+ claimedBy: string | unknown;
72
+ claimedAt: string | unknown;
73
+ lastHeartbeatAt: string | unknown;
74
+ leaseExpiresAt: string | unknown;
75
+ executionTimeoutSeconds: number | unknown;
76
+ executionDeadlineAt: string | unknown;
77
+ startedAt: string | unknown;
78
+ completedAt: string | unknown;
79
+ resultJson: unknown;
80
+ errorJson: unknown;
81
+ workBranch: string | unknown;
82
+ createdFromBranch: string | unknown;
83
+ sessionRestored: boolean | unknown;
84
+ createdAt: string;
85
+ updatedAt: string;
86
+ }>;
87
+ /** Not unwrapped: callers read `error.status` (e.g. a 402 read quota). */
88
+ getTaskLogArchive: ({ taskRunId }: TaskRunRef) => Promise<({
89
+ data: {
90
+ url: string | unknown;
91
+ sizeBytes: number;
92
+ };
93
+ error: undefined;
94
+ } | {
95
+ data: undefined;
96
+ error: {
97
+ type: string;
98
+ title: string;
99
+ status: number;
100
+ detail?: string;
101
+ instance?: string;
102
+ code?: string;
103
+ errors?: Array<{
104
+ path: string;
105
+ message: string;
106
+ summary?: string;
107
+ }>;
108
+ meta?: {
109
+ [key: string]: unknown;
110
+ };
111
+ } | {
112
+ type: string;
113
+ title: string;
114
+ status: number;
115
+ detail?: string;
116
+ instance?: string;
117
+ code?: string;
118
+ errors?: Array<{
119
+ path: string;
120
+ message: string;
121
+ summary?: string;
122
+ }>;
123
+ meta?: {
124
+ [key: string]: unknown;
125
+ };
126
+ } | {
127
+ type: string;
128
+ title: string;
129
+ status: number;
130
+ detail?: string;
131
+ instance?: string;
132
+ code?: string;
133
+ errors?: Array<{
134
+ path: string;
135
+ message: string;
136
+ summary?: string;
137
+ }>;
138
+ meta?: {
139
+ [key: string]: unknown;
140
+ };
141
+ } | {
142
+ type: string;
143
+ title: string;
144
+ status: number;
145
+ detail?: string;
146
+ instance?: string;
147
+ code?: string;
148
+ errors?: Array<{
149
+ path: string;
150
+ message: string;
151
+ summary?: string;
152
+ }>;
153
+ meta?: {
154
+ [key: string]: unknown;
155
+ };
156
+ } | {
157
+ type: string;
158
+ title: string;
159
+ status: number;
160
+ detail?: string;
161
+ instance?: string;
162
+ code?: string;
163
+ errors?: Array<{
164
+ path: string;
165
+ message: string;
166
+ summary?: string;
167
+ }>;
168
+ meta?: {
169
+ [key: string]: unknown;
170
+ };
171
+ } | {
172
+ type: string;
173
+ title: string;
174
+ status: number;
175
+ detail?: string;
176
+ instance?: string;
177
+ code?: string;
178
+ errors?: Array<{
179
+ path: string;
180
+ message: string;
181
+ summary?: string;
182
+ }>;
183
+ meta?: {
184
+ [key: string]: unknown;
185
+ };
186
+ };
187
+ }) & {
188
+ request: Request;
189
+ response: Response;
190
+ }>;
191
+ /** Not unwrapped: callers read `error.status`. */
192
+ readTaskLogs: ({ taskRunId, ...query }: TaskRunRef & GetApiTaskRunsByTaskRunIdLogsData["query"]) => Promise<({
193
+ data: {
194
+ lines: Array<{
195
+ seq: number;
196
+ stream: "worker" | "ai-server" | "conversation";
197
+ ts: string;
198
+ content: string;
199
+ level: "debug" | "info" | "warn" | "error";
200
+ }>;
201
+ nextOffset: number;
202
+ complete: boolean;
203
+ };
204
+ error: undefined;
205
+ } | {
206
+ data: undefined;
207
+ error: {
208
+ type: string;
209
+ title: string;
210
+ status: number;
211
+ detail?: string;
212
+ instance?: string;
213
+ code?: string;
214
+ errors?: Array<{
215
+ path: string;
216
+ message: string;
217
+ summary?: string;
218
+ }>;
219
+ meta?: {
220
+ [key: string]: unknown;
221
+ };
222
+ } | {
223
+ type: string;
224
+ title: string;
225
+ status: number;
226
+ detail?: string;
227
+ instance?: string;
228
+ code?: string;
229
+ errors?: Array<{
230
+ path: string;
231
+ message: string;
232
+ summary?: string;
233
+ }>;
234
+ meta?: {
235
+ [key: string]: unknown;
236
+ };
237
+ } | {
238
+ type: string;
239
+ title: string;
240
+ status: number;
241
+ detail?: string;
242
+ instance?: string;
243
+ code?: string;
244
+ errors?: Array<{
245
+ path: string;
246
+ message: string;
247
+ summary?: string;
248
+ }>;
249
+ meta?: {
250
+ [key: string]: unknown;
251
+ };
252
+ } | {
253
+ type: string;
254
+ title: string;
255
+ status: number;
256
+ detail?: string;
257
+ instance?: string;
258
+ code?: string;
259
+ errors?: Array<{
260
+ path: string;
261
+ message: string;
262
+ summary?: string;
263
+ }>;
264
+ meta?: {
265
+ [key: string]: unknown;
266
+ };
267
+ } | {
268
+ type: string;
269
+ title: string;
270
+ status: number;
271
+ detail?: string;
272
+ instance?: string;
273
+ code?: string;
274
+ errors?: Array<{
275
+ path: string;
276
+ message: string;
277
+ summary?: string;
278
+ }>;
279
+ meta?: {
280
+ [key: string]: unknown;
281
+ };
282
+ };
283
+ }) & {
284
+ request: Request;
285
+ response: Response;
286
+ }>;
287
+ getTaskRunWorkerContext: ({ taskRunId, ...body }: TaskRunRef & {
288
+ claimToken: string;
289
+ }) => Promise<{
290
+ projectId: string;
291
+ gitUrl: string;
292
+ baseWorkBranch: string | unknown;
293
+ projectOpencodeConfig: {
294
+ relativePath: string;
295
+ present: boolean;
296
+ commands: Array<{
297
+ name: string;
298
+ description: string;
299
+ run: string;
300
+ cwd: string | unknown;
301
+ }>;
302
+ services: Array<{
303
+ name: string;
304
+ description: string;
305
+ run: string;
306
+ cwd: string | unknown;
307
+ dependsOn: Array<string>;
308
+ expose: {
309
+ targetPort: number;
310
+ protocol: "tcp" | "http";
311
+ };
312
+ }>;
313
+ };
314
+ task: {
315
+ id: string;
316
+ status: "pending" | "queued" | "running" | "succeeded" | "failed" | "timeout" | "abandoned" | "cancelled" | "skipped" | "yielded";
317
+ kind: "agent" | "code";
318
+ key: string;
319
+ name: string;
320
+ inputJson: unknown;
321
+ executionTimeoutSeconds: number | unknown;
322
+ prompt: string | unknown;
323
+ entrypointJson: {
324
+ sourceFile: string;
325
+ } | unknown;
326
+ resultSchemaJson: {
327
+ [key: string]: unknown;
328
+ } | unknown;
329
+ turnsRemaining: number | unknown;
330
+ };
331
+ runtime: {
332
+ executionMode: "workspace" | "no_workspace";
333
+ devcontainerConfigPath: string | unknown;
334
+ managedRuntime: "bun1" | "node24" | unknown;
335
+ repo: {
336
+ mode: string;
337
+ } | {
338
+ mode: string;
339
+ } | {
340
+ mode: string;
341
+ message: string | unknown;
342
+ onPushFailure: "fail" | "warn";
343
+ };
344
+ envJson: Array<{
345
+ name: string;
346
+ source: string;
347
+ value: string;
348
+ secret: boolean;
349
+ applies: "agent" | "setup" | "both";
350
+ } | {
351
+ name: string;
352
+ source: string;
353
+ from: string;
354
+ secret: boolean;
355
+ optional: boolean;
356
+ default?: string;
357
+ mcp?: string;
358
+ applies: "agent" | "setup" | "both";
359
+ }> | unknown;
360
+ healthChecksJson: Array<{
361
+ name?: string;
362
+ severity: "required" | "warn";
363
+ timeoutSeconds: number;
364
+ serialGroup?: string;
365
+ kind: string;
366
+ tool: string;
367
+ mcp?: string;
368
+ args?: {
369
+ [key: string]: unknown;
370
+ };
371
+ } | {
372
+ name?: string;
373
+ severity: "required" | "warn";
374
+ timeoutSeconds: number;
375
+ serialGroup?: string;
376
+ kind: string;
377
+ command: Array<string>;
378
+ expectExitCode: number;
379
+ }> | unknown;
380
+ opencodeMcpJson: {
381
+ [key: string]: {
382
+ type: string;
383
+ command: Array<string>;
384
+ cwd?: string;
385
+ environment?: {
386
+ [key: string]: string;
387
+ };
388
+ disabled?: boolean;
389
+ codemode?: boolean;
390
+ timeout?: {
391
+ startup?: number;
392
+ catalog?: number;
393
+ execution?: number;
394
+ };
395
+ protocol?: "legacy" | "auto" | "2026-07-28";
396
+ } | {
397
+ type: string;
398
+ url: string;
399
+ headers?: {
400
+ [key: string]: string;
401
+ };
402
+ oauth?: {
403
+ client_id?: string;
404
+ client_secret?: string;
405
+ scope?: string;
406
+ callback_port?: number;
407
+ redirect_uri?: string;
408
+ auth_server_metadata_url?: string;
409
+ } | boolean;
410
+ disabled?: boolean;
411
+ codemode?: boolean;
412
+ timeout?: {
413
+ startup?: number;
414
+ catalog?: number;
415
+ execution?: number;
416
+ };
417
+ protocol?: "legacy" | "auto" | "2026-07-28";
418
+ } | {
419
+ type: string;
420
+ name?: string;
421
+ disabled?: boolean;
422
+ codemode?: boolean;
423
+ timeout?: {
424
+ startup?: number;
425
+ catalog?: number;
426
+ execution?: number;
427
+ };
428
+ protocol?: "legacy" | "auto" | "2026-07-28";
429
+ };
430
+ } | unknown;
431
+ };
432
+ agentPrompt: {
433
+ sessionTitle: string;
434
+ promptText: string;
435
+ instructionsPlaceholder: string;
436
+ };
437
+ previousRun: {
438
+ taskRunId: string;
439
+ status: "pending" | "queued" | "running" | "succeeded" | "failed" | "timeout" | "abandoned" | "cancelled" | "skipped" | "yielded";
440
+ transcriptRelativePath: string;
441
+ findingsRelativePath: string;
442
+ findingsJson: unknown;
443
+ } | unknown;
444
+ restoreSession: {
445
+ downloadUrl: string;
446
+ message: string;
447
+ } | unknown;
448
+ }>;
449
+ completeTaskRun: ({ taskRunId, ...body }: TaskRunRef & Omit<CompletionBody, "status">) => Promise<void>;
450
+ failTaskRun: ({ taskRunId, ...body }: TaskRunRef & Omit<CompletionBody, "status" | "workBranch" | "createdFromBranch">) => Promise<void>;
451
+ yieldTaskRun: ({ taskRunId, ...body }: TaskRunRef & PostApiTaskRunsByTaskRunIdYieldsData["body"]) => Promise<void>;
452
+ appendTaskLogs: ({ taskRunId, ...body }: TaskRunRef & PostApiTaskRunsByTaskRunIdLogsData["body"]) => Promise<{
453
+ nextOffset: number;
454
+ }>;
455
+ createArtifactUploadUrl: ({ taskRunId, ...body }: TaskRunRef & PostApiTaskRunsByTaskRunIdArtifactUploadUrlData["body"]) => Promise<{
456
+ uploadUrl: string;
457
+ storeRef: string;
458
+ objectKey: string;
459
+ expiresInSeconds: number;
460
+ }>;
461
+ createSessionUploadUrl: ({ taskRunId, ...body }: TaskRunRef & PostApiTaskRunsByTaskRunIdSessionUploadUrlData["body"]) => Promise<{
462
+ uploadUrl: string;
463
+ objectKey: string;
464
+ expiresInSeconds: number;
465
+ }>;
466
+ recordArtifact: ({ taskRunId, ...body }: TaskRunRef & PostApiTaskRunsByTaskRunIdArtifactsData["body"]) => Promise<void>;
467
+ recordArtifactFailure: ({ taskRunId, ...body }: TaskRunRef & PostApiTaskRunsByTaskRunIdArtifactFailuresData["body"]) => Promise<void>;
468
+ listTaskArtifacts: ({ taskRunId }: TaskRunRef) => Promise<{
469
+ id: string;
470
+ taskRunId: string;
471
+ projectId: string;
472
+ relativeStorePath: string;
473
+ storeRef: string | unknown;
474
+ objectKey: string | unknown;
475
+ sizeBytes: number | unknown;
476
+ contentType: string | unknown;
477
+ kind: "generic" | "playwright-trace" | "video" | "image";
478
+ createdAt: string;
479
+ }[]>;
480
+ getArtifactDownloadUrl: ({ taskRunId, artifactId, }: TaskRunRef & {
481
+ artifactId: string;
482
+ }) => Promise<{
483
+ url: string | unknown;
484
+ sizeBytes: number;
485
+ contentType: string | unknown;
486
+ relativeStorePath: string;
487
+ }>;
488
+ };
489
+ export {};
package/dist/z.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Plain Zod plus Scarn's schema helpers, so step files can write
3
+ * `z.artifact(...)` next to `z.object(...)`. Every helper here is also
4
+ * exported on its own; plain `zod` works the same way.
5
+ */
6
+ export * from "zod";
7
+ export { artifact } from "./definitions/artifacts/artifact";
package/package.json CHANGED
@@ -1,6 +1,134 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/package.json",
2
3
  "name": "@scarn/sdk",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "import": "./dist/index.js",
9
+ "types": "./dist/index.d.ts"
10
+ },
11
+ "./client": {
12
+ "import": "./dist/client.js",
13
+ "types": "./dist/client.d.ts"
14
+ },
15
+ "./contracts/artifacts": {
16
+ "import": "./dist/contracts/artifacts.js",
17
+ "types": "./dist/contracts/artifacts.d.ts"
18
+ },
19
+ "./contracts/artifact-markers": {
20
+ "import": "./dist/contracts/artifact-markers.js",
21
+ "types": "./dist/contracts/artifact-markers.d.ts"
22
+ },
23
+ "./contracts/step-artifact-submissions": {
24
+ "import": "./dist/contracts/step-artifact-submissions.js",
25
+ "types": "./dist/contracts/step-artifact-submissions.d.ts"
26
+ },
27
+ "./contracts/pipeline-document": {
28
+ "import": "./dist/contracts/pipeline-document/index.js",
29
+ "types": "./dist/contracts/pipeline-document/index.d.ts"
30
+ },
31
+ "./definitions/steps": {
32
+ "import": "./dist/definitions/steps/index.js",
33
+ "types": "./dist/definitions/steps/index.d.ts"
34
+ },
35
+ "./definitions/pipelines": {
36
+ "import": "./dist/definitions/pipelines/index.js",
37
+ "types": "./dist/definitions/pipelines/index.d.ts"
38
+ },
39
+ "./pipelines": {
40
+ "import": "./dist/pipelines/index.js",
41
+ "types": "./dist/pipelines/index.d.ts"
42
+ },
43
+ "./eslint": {
44
+ "import": "./dist/eslint.js",
45
+ "types": "./dist/eslint.d.ts"
46
+ },
47
+ "./definitions/validation": {
48
+ "import": "./dist/definitions/validation/index.js",
49
+ "types": "./dist/definitions/validation/index.d.ts"
50
+ },
51
+ "./defaults": {
52
+ "import": "./dist/defaults/index.js",
53
+ "types": "./dist/defaults/index.d.ts"
54
+ },
55
+ "./push": {
56
+ "import": "./dist/push/index.js",
57
+ "types": "./dist/push/index.d.ts"
58
+ },
59
+ "./code-step-lookup": {
60
+ "import": "./dist/push/code-step-lookup.js",
61
+ "types": "./dist/push/code-step-lookup.d.ts"
62
+ },
63
+ "./opencode-mcp": {
64
+ "import": "./dist/opencode-mcp.js",
65
+ "types": "./dist/opencode-mcp.d.ts"
66
+ },
67
+ "./health-checks": {
68
+ "import": "./dist/health-checks.js",
69
+ "types": "./dist/health-checks.d.ts"
70
+ },
71
+ "./env-vars": {
72
+ "import": "./dist/env-vars.js",
73
+ "types": "./dist/env-vars.d.ts"
74
+ },
75
+ "./devcontainer-config-path": {
76
+ "import": "./dist/devcontainer-config-path.js",
77
+ "types": "./dist/devcontainer-config-path.d.ts"
78
+ },
79
+ "./managed-runtimes": {
80
+ "import": "./dist/managed-runtimes.js",
81
+ "types": "./dist/managed-runtimes.d.ts"
82
+ },
83
+ "./repo-config": {
84
+ "import": "./dist/repo-config.js",
85
+ "types": "./dist/repo-config.d.ts"
86
+ },
87
+ "./git-url": {
88
+ "import": "./dist/git-url/git-repo-identity.js",
89
+ "types": "./dist/git-url/git-repo-identity.d.ts"
90
+ },
91
+ "./jsonc": {
92
+ "import": "./dist/jsonc.js",
93
+ "types": "./dist/jsonc.d.ts"
94
+ },
95
+ "./scarn-config-parser": {
96
+ "import": "./dist/scarn-config-parser.js",
97
+ "types": "./dist/scarn-config-parser.d.ts"
98
+ }
99
+ },
100
+ "files": [
101
+ "dist",
102
+ "README.md"
103
+ ],
104
+ "repository": {
105
+ "type": "git",
106
+ "url": "https://github.com/scarn-io/scarn"
107
+ },
108
+ "scripts": {
109
+ "generate": "openapi-ts",
110
+ "build": "bun run script/build.ts",
111
+ "link:local": "bun link",
112
+ "pack:local": "bun run script/pack-local.ts",
113
+ "test": "bun test test",
114
+ "typecheck": "tsgo -p tsconfig.json --noEmit"
115
+ },
116
+ "dependencies": {
117
+ "jsonc-parser": "^3.3.1"
118
+ },
119
+ "peerDependencies": {
120
+ "zod": "^4.0.0",
121
+ "eslint": "^9.0.0"
122
+ },
123
+ "peerDependenciesMeta": {
124
+ "eslint": {
125
+ "optional": true
126
+ }
127
+ },
128
+ "devDependencies": {
129
+ "@hey-api/openapi-ts": "^0.90.10",
130
+ "@opencode/client": "2.1.4",
131
+ "bun-types": "^1.4.0",
132
+ "zod": "^4.3.6"
133
+ }
134
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.