@sverka/sdk 0.0.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,398 @@
1
+ import { AgentStep, AgentToolRef, Artifact, ArtifactDeclaration, CacheDeclaration, ChangedFile, ComponentStep, CompositionError, Condition, ContextRef, CoreError, CredentialDeclaration, DefinitionGraph, DetectedLanguage, DetectedPackageManager, DiscoveryExplanation, Entry, ExecutorSpec, Expression, Expression as Expression$1, Input, InputLiteral, InputValue, LocalSignal, LocalSignalType, MatrixSpec, MonorepoMarker, MonorepoTool, NetworkPolicy, Operation, Operation as Operation$1, OperationKind, OperationOutcome, OperationSpec, OperationSpec as OperationSpec$1, OutputDeclaration, PackageManagerName, Pipeline, PipelineCallStep, Plan, Plan as Plan$1, PlanContext, PlanMetadata, PlanOperation, PlanningError, Project, ProjectContext, ProposedCheck, Reference, RunPlan, Runtime, Runtime as Runtime$1, RuntimeMode, RuntimeResult, ShellStep, StatusCondition, StepDefinition, StepStatus, Workflow, Workflow as Workflow$1, computePlanId, matrix, parallel, pipeline, run, validatePlan, when, workflow } from "@sverka/workflow";
2
+ import { CheckError, CheckErrorCode, CheckOutput, CheckResolver, CheckResolver as CheckResolver$1, DEFAULT_POLICY, FailOnRule, Finding, Finding as Finding$1, FindingSource, Policy, PolicyConfig, PolicyConfig as PolicyConfig$1, PolicyResult, PolicyResult as PolicyResult$1, ResolvedCheck, Severity, Verdict, Verdict as Verdict$1, computeFingerprint, createBaseline, createBuiltinResolver, createPolicy, evaluatePolicy, extractFindings, filterOnlyNew, loadBaseline, normalizeSarif, saveBaseline, updateBaseline } from "@sverka/verification";
3
+ import { OperationOutcome as OperationOutcome$1 } from "@sverka/runtime";
4
+ //#region src/planner/bind.d.ts
5
+ interface BindRunPlanOptions {
6
+ readonly graph: DefinitionGraph;
7
+ readonly entryId: string;
8
+ readonly inputs?: Readonly<Record<string, InputValue>>;
9
+ }
10
+ /**
11
+ * Bind a Definition Graph's Entry + user inputs into a concrete RunPlan
12
+ * that the native engine can execute.
13
+ */
14
+ export declare function bindRunPlan(options: BindRunPlanOptions): RunPlan;
15
+ /**
16
+ * Compute the transitive closure of reachable steps from the given roots.
17
+ * A step is reachable if it is connected to a root by following
18
+ * `dependencies[].producer` edges backward (i.e. the root's prerequisites).
19
+ * Returns steps in the original graph order, filtered to reachable steps.
20
+ */
21
+ export declare function computeReachableSteps(steps: readonly StepDefinition[], roots: readonly string[]): readonly StepDefinition[];
22
+ //#endregion
23
+ //#region src/planner/planner.d.ts
24
+ /**
25
+ * Top-level entry point for discovery and plan synthesis.
26
+ */
27
+ interface Planner {
28
+ discover(options: DiscoverOptions): Promise<ProjectContext>;
29
+ plan(context: ProjectContext): Promise<PlanProposal>;
30
+ bindRunPlan(options: BindRunPlanOptions): RunPlan;
31
+ }
32
+ export declare function createPlanner(): Planner;
33
+ interface DiscoverOptions {
34
+ root: string;
35
+ baseRef?: string;
36
+ maxDepth?: number;
37
+ /**
38
+ * When true and `root` is a subdirectory of the git repository, detection
39
+ * signals, languages, and package managers are computed from the subtree
40
+ * under `root` instead of the whole repository. Use for commands whose
41
+ * generated steps execute with cwd=`root` (e.g. `init --detect`). Git
42
+ * metadata (commit, dirty, changedFiles) stays repository-wide.
43
+ */
44
+ scopeToRoot?: boolean;
45
+ }
46
+ interface PlanProposal {
47
+ context: ProjectContext;
48
+ checks: readonly ProposedCheck[];
49
+ workflowPath: string | null;
50
+ notes: readonly string[];
51
+ }
52
+ //#endregion
53
+ //#region src/planner/errors.d.ts
54
+ /**
55
+ * Base error class for the planner package. All discovery failures throw a
56
+ * `DiscoveryError` with one of the four `DiscoveryErrorCode` values.
57
+ */
58
+ export declare class DiscoveryError extends Error {
59
+ readonly code: DiscoveryErrorCode;
60
+ readonly cause: unknown;
61
+ constructor(message: string, code: DiscoveryErrorCode, cause?: unknown);
62
+ }
63
+ type DiscoveryErrorCode = "ROOT_NOT_FOUND" | "GIT_UNAVAILABLE" | "GIT_NOT_A_REPO" | "TRAVERSAL_FAILED" | "INVALID_BASE_REF";
64
+ /**
65
+ * Planner error for Run Plan binding failures. Spec 13 — Error handling.
66
+ */
67
+ export declare class PlannerError extends Error {
68
+ readonly code: PlannerErrorCode;
69
+ readonly cause: unknown;
70
+ constructor(message: string, code: PlannerErrorCode, cause?: unknown);
71
+ }
72
+ type PlannerErrorCode = "ENTRY_NOT_FOUND" | "ROOT_NOT_FOUND" | "MISSING_INPUT" | "INVALID_INPUT" | "INVALID_GRAPH" | "INVALID_MATRIX";
73
+ //#endregion
74
+ //#region src/planner/matrix.d.ts
75
+ /**
76
+ * Expand all matrix steps in a step list into concrete step instances.
77
+ * Non-matrix steps pass through unchanged.
78
+ *
79
+ * - Each matrix step becomes N steps, one per combination (cross-product of
80
+ * dimensions, minus exclude, plus include).
81
+ * - Each expanded step gets `matrixValues` (the concrete bindings) and
82
+ * `matrix: undefined` (the spec is consumed).
83
+ * - Expanded step IDs: `<originalId>[key=val,key=val]` (keys sorted alphabetically).
84
+ * - Dependencies are rewired: a dependency on a matrix step maps to ALL
85
+ * expanded instances (all-to-all, no correlation matching in M1).
86
+ */
87
+ export declare function expandMatrixSteps(steps: readonly StepDefinition[]): readonly StepDefinition[];
88
+ //#endregion
89
+ //#region src/errors.d.ts
90
+ type SdkErrorCode = "INVALID_INTERPOLATION" | "INVALID_IMAGE" | "CONFIG_NOT_FOUND" | "CONFIG_INVALID" | "CONFIG_LOAD_FAILED" | "CONFIG_PATH_ESCAPE" | "EXECUTION_FAILED";
91
+ export declare class SdkError extends Error {
92
+ readonly cause?: unknown;
93
+ readonly code: SdkErrorCode;
94
+ constructor(message: string, code: SdkErrorCode, cause?: unknown);
95
+ }
96
+ //#endregion
97
+ //#region src/types.d.ts
98
+ /**
99
+ * A type-safe workflow definition for `sverka.config.ts`.
100
+ */
101
+ interface WorkflowDefinition {
102
+ /** Workflow name. */
103
+ name: string;
104
+ /** The workflow graph. Accepts a Workflow or a bare Operation (wrapped automatically). */
105
+ workflow: Workflow$1 | Operation$1;
106
+ /** Optional policy configuration. Defaults to DEFAULT_POLICY. */
107
+ policy?: PolicyConfig$1;
108
+ }
109
+ /** Options for Sverka plan and execute operations. */
110
+ interface SverkaOptions {
111
+ /** Root directory. Defaults to process.cwd(). */
112
+ root?: string;
113
+ /** Path to sverka.config.ts. Defaults to findConfig(root). */
114
+ configPath?: string;
115
+ /** Executor backend. Defaults to "host". */
116
+ executor?: "host" | "docker";
117
+ /** Path to baseline file for only-new filtering. */
118
+ baselinePath?: string;
119
+ /** Only report findings not in the baseline. Default false. */
120
+ onlyNew?: boolean;
121
+ /** Git base ref for changed-file discovery (e.g. "main", "HEAD~1"). */
122
+ baseRef?: string;
123
+ /** Optional custom check resolver. Defaults to the built-in resolver. */
124
+ resolver?: CheckResolver$1;
125
+ }
126
+ /** The Sverka instance returned by createSverka. */
127
+ interface Sverka {
128
+ plan(options?: SverkaOptions): Promise<PlanResult>;
129
+ toPlan(options?: SverkaOptions): Promise<Plan$1>;
130
+ execute(options?: SverkaOptions): Promise<ExecutionResult>;
131
+ }
132
+ /** Result of plan mode. */
133
+ interface PlanResult {
134
+ /** Discovered project context. */
135
+ context: ProjectContext;
136
+ /** Resolved operations from the workflow graph (empty if auto-discovery). */
137
+ operations: readonly OperationSpec$1[];
138
+ /** Planner proposal (null if a user config was loaded). */
139
+ proposal: PlanProposal | null;
140
+ /** Canonical Plan IR built from the resolved operations. */
141
+ plan: Plan$1;
142
+ }
143
+ /** Result of execute mode. */
144
+ interface ExecutionResult {
145
+ /** Findings (empty until check providers exist — wave 11). */
146
+ findings: readonly Finding$1[];
147
+ /** Policy evaluation result. */
148
+ policyResult: PolicyResult$1;
149
+ /** Final verdict. */
150
+ verdict: Verdict$1;
151
+ /** Scheduler execution status. */
152
+ status: "success" | "failure" | "partial";
153
+ /**
154
+ * True when at least one operation failed due to an executor-level runtime
155
+ * fault (e.g., a binary could not be spawned). Distinguishes runtime errors
156
+ * from policy/command failures.
157
+ */
158
+ runtimeFailure?: boolean;
159
+ /** Per-operation outcomes (runtime's OperationOutcome with fromCache). */
160
+ outcomes: ReadonlyMap<string, OperationOutcome$1>;
161
+ /** Total execution time in ms. */
162
+ durationMs: number;
163
+ }
164
+ //#endregion
165
+ //#region src/compat/config.d.ts
166
+ /**
167
+ * Search upward from `root` for sverka.config.ts (then .js). Returns the
168
+ * path or null. Searches up to 5 parent directories.
169
+ */
170
+ export declare function findConfig(root: string): Promise<string | null>;
171
+ /**
172
+ * Dynamically import a sverka.config.ts file and return its default
173
+ * export as a WorkflowDefinition. Validates the shape.
174
+ *
175
+ * Under Bun, .ts files import natively. Under Node, use the .js fallback
176
+ * (findConfig searches .ts first, then .js).
177
+ */
178
+ export declare function loadWorkflow(configPath: string, root?: string): Promise<WorkflowDefinition>;
179
+ //#endregion
180
+ //#region src/sverka.d.ts
181
+ /**
182
+ * Create a Sverka instance with default options pre-applied. Per-call
183
+ * options override defaults.
184
+ */
185
+ export declare function createSverka(defaultOptions?: SverkaOptions): Sverka;
186
+ /** Top-level plan convenience function. */
187
+ export declare function plan(options?: SverkaOptions): Promise<PlanResult>;
188
+ /** Top-level toPlan convenience function. Returns the canonical Plan IR. */
189
+ export declare function toPlan(options?: SverkaOptions): Promise<Plan$1>;
190
+ /** Top-level execute convenience function. */
191
+ export declare function execute(options?: SverkaOptions): Promise<ExecutionResult>;
192
+ //#endregion
193
+ //#region src/compat/helpers.d.ts
194
+ /** Name an operation. Sugar for `op.named(name)`. */
195
+ export declare function task(name: string, op: Operation$1): Operation$1;
196
+ /** Type-safe helper for sverka.config.ts. Identity function. */
197
+ export declare function defineWorkflow(definition: WorkflowDefinition): WorkflowDefinition;
198
+ //#endregion
199
+ //#region src/dollar.d.ts
200
+ interface StepBuilder {
201
+ outputs(outputs: Readonly<Record<string, OutputDeclaration>>): StepBuilder;
202
+ inputs(inputs: readonly Reference[]): StepBuilder;
203
+ dependsOn(steps: readonly string[]): StepBuilder;
204
+ runtime(runtime: Runtime$1): StepBuilder;
205
+ timeout(ms: number): StepBuilder;
206
+ condition(ref: Condition): StepBuilder;
207
+ matrix(spec: MatrixSpec): StepBuilder;
208
+ interruptible(value?: boolean): StepBuilder;
209
+ compensate(command: string): StepBuilder;
210
+ build(pipeline: Pipeline, id: string): ShellStep;
211
+ }
212
+ /**
213
+ * Create a shell command step builder from a tagged template.
214
+ * References interpolated in the template are collected and added to the
215
+ * step's inputs automatically.
216
+ */
217
+ export declare function $(strings: TemplateStringsArray, ...values: readonly (string | Reference)[]): StepBuilder;
218
+ //#endregion
219
+ //#region src/shell.d.ts
220
+ /**
221
+ * ShellProxy — callable tagged template + property access (command prefix)
222
+ * + callable with interpreter string (shell selector).
223
+ *
224
+ * - `shell.git`push origin`` → command "git push origin"
225
+ * - `shell("bash").git`push`` → command "git push" + runtime.shell="bash"
226
+ * - `shell("pwsh")`Write-Host hi`` → command "Write-Host hi" + runtime.shell="pwsh"
227
+ */
228
+ interface ShellProxy {
229
+ (strings: TemplateStringsArray, ...values: readonly unknown[]): StepBuilder;
230
+ (interpreter: string): ShellProxy;
231
+ readonly git: ShellProxy;
232
+ readonly npm: ShellProxy;
233
+ readonly npx: ShellProxy;
234
+ readonly bun: ShellProxy;
235
+ readonly pnpm: ShellProxy;
236
+ readonly yarn: ShellProxy;
237
+ readonly docker: ShellProxy;
238
+ readonly make: ShellProxy;
239
+ readonly cargo: ShellProxy;
240
+ readonly go: ShellProxy;
241
+ readonly python: ShellProxy;
242
+ readonly pip: ShellProxy;
243
+ readonly [key: string]: ShellProxy;
244
+ }
245
+ /**
246
+ * Shell proxy export. Provides command-prefix and shell-selector DX.
247
+ *
248
+ * @example
249
+ * const { git, npm, bun, make, docker } = shell;
250
+ * git`push origin main`.build(p, "push") // → "git push origin main"
251
+ * bun`run build`.build(p, "build") // → "bun run build"
252
+ *
253
+ * @example
254
+ * const bash = shell("bash");
255
+ * bash.git`push`.build(p, "push") // → "git push" + runtime.shell="bash"
256
+ * shell("pwsh")`Write-Host hello`.build(p, "greet") // → "Write-Host hello" + runtime.shell="pwsh"
257
+ */
258
+ export declare const shell: ShellProxy;
259
+ //#endregion
260
+ //#region src/artifact.d.ts
261
+ /** Create an artifact output declaration with the given path. */
262
+ export declare function artifact(path: string): OutputDeclaration;
263
+ //#endregion
264
+ //#region src/pipeline.d.ts
265
+ interface PipelineConfig {
266
+ inputs?: Readonly<Record<string, Input>>;
267
+ steps?: ReadonlyArray<(pipeline: Pipeline) => void>;
268
+ entries?: ReadonlyArray<(pipeline: Pipeline) => Entry>;
269
+ }
270
+ /** Create a Pipeline, run step functions, then entry functions. */
271
+ declare function pipeline$1(project: Project, id: string, config: PipelineConfig): Pipeline;
272
+ //#endregion
273
+ //#region src/call-pipeline.d.ts
274
+ interface CallPipelineBuilder {
275
+ outputs(outputs: Readonly<Record<string, OutputDeclaration>>): CallPipelineBuilder;
276
+ dependsOn(steps: readonly string[]): CallPipelineBuilder;
277
+ runtime(runtime: Runtime$1): CallPipelineBuilder;
278
+ timeout(ms: number): CallPipelineBuilder;
279
+ condition(ref: Reference): CallPipelineBuilder;
280
+ interruptible(value: boolean): CallPipelineBuilder;
281
+ build(pipeline: Pipeline, id: string): PipelineCallStep;
282
+ }
283
+ /**
284
+ * Create a pipeline-call step builder.
285
+ * @param callee The callee pipeline id (within the same Project).
286
+ * @param callInputs Bound inputs for the callee pipeline.
287
+ */
288
+ export declare function callPipeline(callee: string, callInputs?: Readonly<Record<string, Reference | InputLiteral>>): CallPipelineBuilder;
289
+ //#endregion
290
+ //#region src/component.d.ts
291
+ interface ComponentBuilder {
292
+ outputs(outputs: Readonly<Record<string, OutputDeclaration>>): ComponentBuilder;
293
+ dependsOn(steps: readonly string[]): ComponentBuilder;
294
+ runtime(runtime: Runtime$1): ComponentBuilder;
295
+ timeout(ms: number): ComponentBuilder;
296
+ condition(ref: Reference): ComponentBuilder;
297
+ interruptible(value: boolean): ComponentBuilder;
298
+ build(pipeline: Pipeline, id: string): ComponentStep;
299
+ }
300
+ /**
301
+ * Create a component step builder.
302
+ * @param name The component name (e.g. "deploy").
303
+ * @param version The component version (e.g. "1.0.0").
304
+ * @param inputs Bound inputs for the component.
305
+ */
306
+ export declare function component(name: string, version: string, inputs?: Readonly<Record<string, Reference | InputLiteral>>): ComponentBuilder;
307
+ //#endregion
308
+ //#region src/when.d.ts
309
+ /** Mark a reference, expression, or status condition as a step condition. Returns it unchanged. */
310
+ declare function when$1(cond: Condition): Condition;
311
+ //#endregion
312
+ //#region src/expr.d.ts
313
+ /**
314
+ * Create a symbolic expression from a tagged template.
315
+ * Context references produce `${namespace.field}` placeholders while step
316
+ * references produce `${step.output}` placeholders; both are collected into
317
+ * `refs` for dependency inference.
318
+ * String, number, and boolean values are inlined into the template.
319
+ */
320
+ export declare function expr(strings: TemplateStringsArray, ...values: readonly (string | number | boolean | Reference)[]): Expression$1;
321
+ //#endregion
322
+ //#region src/status.d.ts
323
+ /**
324
+ * Create a status-based condition.
325
+ * @example
326
+ * sh`notify-slack`.condition(status("failure"))
327
+ */
328
+ export declare function status(s: StepStatus): StatusCondition;
329
+ //#endregion
330
+ //#region src/images.d.ts
331
+ interface ImageRef {
332
+ readonly ref: string;
333
+ }
334
+ /** Create an ImageRef from a raw OCI reference string. */
335
+ export declare function image(ref: string): ImageRef;
336
+ export declare const images: {
337
+ node: Record<string, ImageRef> & {
338
+ readonly [version: number]: ImageRef;
339
+ readonly latest: ImageRef;
340
+ };
341
+ ubuntu: Record<string, ImageRef> & {
342
+ readonly latest: ImageRef;
343
+ };
344
+ };
345
+ //#endregion
346
+ //#region src/context.d.ts
347
+ /** Environment variable references: env.CI_TRACE, env.MY_VAR. */
348
+ export declare const env: Record<string, ContextRef>;
349
+ /** Secret references: secrets.NPM_TOKEN. */
350
+ export declare const secrets: Record<string, ContextRef>;
351
+ /** Git metadata references: git.sha, git.branch, git.tag. */
352
+ export declare const git: {
353
+ sha: ContextRef;
354
+ branch: ContextRef;
355
+ tag: ContextRef;
356
+ };
357
+ /** Change request metadata: change.id, change.source, change.target, change.draft. */
358
+ export declare const change: {
359
+ id: ContextRef;
360
+ source: ContextRef;
361
+ target: ContextRef;
362
+ draft: ContextRef;
363
+ };
364
+ /** Event metadata: event.type. */
365
+ export declare const event: {
366
+ type: ContextRef;
367
+ };
368
+ /** Run metadata: run.id, run.attempt. */
369
+ declare const run$1: {
370
+ id: ContextRef;
371
+ attempt: ContextRef;
372
+ };
373
+ /** Pipeline input references: inputs.environment. */
374
+ export declare const inputs: Record<string, ContextRef>;
375
+ /** Matrix variable references: matrix.node, matrix.os. */
376
+ declare const matrix$1: Record<string, ContextRef>;
377
+ //#endregion
378
+ //#region src/agent.d.ts
379
+ interface AgentStepBuilder {
380
+ outputs(outputs: Readonly<Record<string, OutputDeclaration>>): AgentStepBuilder;
381
+ inputs(inputs: readonly Reference[]): AgentStepBuilder;
382
+ dependsOn(steps: readonly string[]): AgentStepBuilder;
383
+ tools(...tools: readonly AgentToolRef[]): AgentStepBuilder;
384
+ engine(engine: string): AgentStepBuilder;
385
+ model(model: string): AgentStepBuilder;
386
+ maxTokens(n: number): AgentStepBuilder;
387
+ build(pipeline: Pipeline, id: string): AgentStep;
388
+ }
389
+ /**
390
+ * Create an AI agent step builder from a tagged template.
391
+ * `agent\`Build and test\`` creates a builder with `engine: "default"`.
392
+ * References interpolated in the template are collected and added to the
393
+ * step's inputs automatically (same as `$`).
394
+ */
395
+ export declare function agent(strings: TemplateStringsArray, ...values: readonly (string | Reference)[]): AgentStepBuilder;
396
+ //#endregion
397
+ export { type AgentStepBuilder, type Artifact, type ArtifactDeclaration, type BindRunPlanOptions, type CacheDeclaration, type CallPipelineBuilder, type ChangedFile, CheckError, type CheckErrorCode, type CheckOutput, type CheckResolver, type ComponentBuilder, CompositionError, CoreError, type CredentialDeclaration, DEFAULT_POLICY, type DetectedLanguage, type DetectedPackageManager, type DiscoverOptions, type DiscoveryErrorCode, type DiscoveryExplanation, type ExecutionResult, type ExecutorSpec, type Expression, type FailOnRule, type Finding, type FindingSource, type ImageRef, type LocalSignal, type LocalSignalType, type MonorepoMarker, type NetworkPolicy, type Operation, type OperationKind, type OperationOutcome, type OperationSpec, type PipelineConfig, type Plan, type PlanContext, type PlanMetadata, type PlanOperation, type PlanProposal, type PlanResult, type Planner, type PlannerErrorCode, PlanningError, type Policy, type PolicyConfig, type PolicyResult, type ProjectContext, type ProposedCheck, type ResolvedCheck, type Runtime, type RuntimeMode, type RuntimeResult, type SdkErrorCode, type Severity, type ShellProxy, type StepBuilder, type Sverka, type SverkaOptions, type Verdict, type Workflow, type WorkflowDefinition, computeFingerprint, computePlanId, createBaseline, createBuiltinResolver, createPolicy, evaluatePolicy, extractFindings, filterOnlyNew, loadBaseline, matrix, matrix$1 as matrixContext, normalizeSarif, parallel, pipeline, pipeline$1 as pipelineV0, run, run$1 as runContext, saveBaseline, updateBaseline, validatePlan, when, when$1 as whenV0, workflow };
398
+ //# sourceMappingURL=index.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/planner/bind.ts","../src/planner/planner.ts","../src/planner/errors.ts","../src/planner/matrix.ts","../src/errors.ts","../src/types.ts","../src/compat/config.ts","../src/sverka.ts","../src/compat/helpers.ts","../src/dollar.ts","../src/shell.ts","../src/artifact.ts","../src/pipeline.ts","../src/call-pipeline.ts","../src/component.ts","../src/when.ts","../src/expr.ts","../src/status.ts","../src/images.ts","../src/context.ts","../src/agent.ts"],"mappings":"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"}