gateproof 0.2.2 → 0.5.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 (98) hide show
  1. package/README.md +1396 -320
  2. package/dist/cloudflare/index.d.ts +4 -6
  3. package/dist/cloudflare/index.d.ts.map +1 -1
  4. package/dist/cloudflare/index.js +9 -43
  5. package/dist/cloudflare/index.js.map +1 -1
  6. package/dist/index.d.ts +263 -66
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1327 -204
  9. package/dist/index.js.map +1 -1
  10. package/package.json +18 -40
  11. package/dist/act.d.ts +0 -33
  12. package/dist/act.d.ts.map +0 -1
  13. package/dist/act.js +0 -25
  14. package/dist/act.js.map +0 -1
  15. package/dist/action-executors.d.ts +0 -22
  16. package/dist/action-executors.d.ts.map +0 -1
  17. package/dist/action-executors.js +0 -135
  18. package/dist/action-executors.js.map +0 -1
  19. package/dist/assert.d.ts +0 -39
  20. package/dist/assert.d.ts.map +0 -1
  21. package/dist/assert.js +0 -88
  22. package/dist/assert.js.map +0 -1
  23. package/dist/cli/gateproof.d.ts +0 -3
  24. package/dist/cli/gateproof.d.ts.map +0 -1
  25. package/dist/cli/gateproof.js +0 -472
  26. package/dist/cli/gateproof.js.map +0 -1
  27. package/dist/cloudflare/analytics.d.ts +0 -9
  28. package/dist/cloudflare/analytics.d.ts.map +0 -1
  29. package/dist/cloudflare/analytics.js +0 -98
  30. package/dist/cloudflare/analytics.js.map +0 -1
  31. package/dist/cloudflare/cli-stream.d.ts +0 -7
  32. package/dist/cloudflare/cli-stream.d.ts.map +0 -1
  33. package/dist/cloudflare/cli-stream.js +0 -85
  34. package/dist/cloudflare/cli-stream.js.map +0 -1
  35. package/dist/cloudflare/polling-backend.d.ts +0 -18
  36. package/dist/cloudflare/polling-backend.d.ts.map +0 -1
  37. package/dist/cloudflare/polling-backend.js +0 -53
  38. package/dist/cloudflare/polling-backend.js.map +0 -1
  39. package/dist/cloudflare/workers-logs.d.ts +0 -9
  40. package/dist/cloudflare/workers-logs.d.ts.map +0 -1
  41. package/dist/cloudflare/workers-logs.js +0 -51
  42. package/dist/cloudflare/workers-logs.js.map +0 -1
  43. package/dist/constants.d.ts +0 -11
  44. package/dist/constants.d.ts.map +0 -1
  45. package/dist/constants.js +0 -11
  46. package/dist/constants.js.map +0 -1
  47. package/dist/http-backend.d.ts +0 -23
  48. package/dist/http-backend.d.ts.map +0 -1
  49. package/dist/http-backend.js +0 -124
  50. package/dist/http-backend.js.map +0 -1
  51. package/dist/observe.d.ts +0 -26
  52. package/dist/observe.d.ts.map +0 -1
  53. package/dist/observe.js +0 -84
  54. package/dist/observe.js.map +0 -1
  55. package/dist/prd/define-prd.d.ts +0 -7
  56. package/dist/prd/define-prd.d.ts.map +0 -1
  57. package/dist/prd/define-prd.js +0 -8
  58. package/dist/prd/define-prd.js.map +0 -1
  59. package/dist/prd/index.d.ts +0 -5
  60. package/dist/prd/index.d.ts.map +0 -1
  61. package/dist/prd/index.js +0 -4
  62. package/dist/prd/index.js.map +0 -1
  63. package/dist/prd/runner.d.ts +0 -22
  64. package/dist/prd/runner.d.ts.map +0 -1
  65. package/dist/prd/runner.js +0 -221
  66. package/dist/prd/runner.js.map +0 -1
  67. package/dist/prd/scope-check.d.ts +0 -28
  68. package/dist/prd/scope-check.d.ts.map +0 -1
  69. package/dist/prd/scope-check.js +0 -135
  70. package/dist/prd/scope-check.js.map +0 -1
  71. package/dist/prd/types.d.ts +0 -22
  72. package/dist/prd/types.d.ts.map +0 -1
  73. package/dist/prd/types.js +0 -2
  74. package/dist/prd/types.js.map +0 -1
  75. package/dist/provider.d.ts +0 -6
  76. package/dist/provider.d.ts.map +0 -1
  77. package/dist/provider.js +0 -2
  78. package/dist/provider.js.map +0 -1
  79. package/dist/report.d.ts +0 -67
  80. package/dist/report.d.ts.map +0 -1
  81. package/dist/report.js +0 -51
  82. package/dist/report.js.map +0 -1
  83. package/dist/test-helpers.d.ts +0 -12
  84. package/dist/test-helpers.d.ts.map +0 -1
  85. package/dist/test-helpers.js +0 -33
  86. package/dist/test-helpers.js.map +0 -1
  87. package/dist/types.d.ts +0 -41
  88. package/dist/types.d.ts.map +0 -1
  89. package/dist/types.js +0 -2
  90. package/dist/types.js.map +0 -1
  91. package/dist/utils.d.ts +0 -22
  92. package/dist/utils.d.ts.map +0 -1
  93. package/dist/utils.js +0 -49
  94. package/dist/utils.js.map +0 -1
  95. package/dist/validation.d.ts +0 -6
  96. package/dist/validation.d.ts.map +0 -1
  97. package/dist/validation.js +0 -38
  98. package/dist/validation.js.map +0 -1
@@ -1,7 +1,5 @@
1
- import type { Provider } from "../provider";
2
- export interface CloudflareProviderConfig {
3
- accountId: string;
4
- apiToken: string;
5
- }
6
- export declare function CloudflareProvider(config: CloudflareProviderConfig): Provider;
1
+ import type { CloudflareObserveDefinition } from "../index";
2
+ export declare const Cloudflare: {
3
+ observe(definition: Omit<CloudflareObserveDefinition, "kind">): CloudflareObserveDefinition;
4
+ };
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAO5C,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,wBAAwB,GAC/B,QAAQ,CA4CV"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AAE5D,eAAO,MAAM,UAAU;wBAEP,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,GACpD,2BAA2B;CAO/B,CAAC"}
@@ -1,44 +1,10 @@
1
- import { createObserveResource } from "../observe";
2
- import { createAnalyticsBackend } from "./analytics";
3
- import { createWorkersLogsBackend } from "./workers-logs";
4
- import { createCliStreamBackend } from "./cli-stream";
5
- export function CloudflareProvider(config) {
6
- const apiTokenValue = config.apiToken;
7
- return {
8
- observe(observeConfig) {
9
- const dataset = observeConfig.dataset;
10
- const pollInterval = observeConfig.pollInterval;
11
- const workerName = observeConfig.workerName;
12
- if (observeConfig.backend === "analytics") {
13
- const backend = createAnalyticsBackend({
14
- accountId: config.accountId,
15
- apiToken: apiTokenValue,
16
- dataset: dataset || "worker_logs",
17
- pollInterval
18
- });
19
- return createObserveResource(backend);
20
- }
21
- if (observeConfig.backend === "workers-logs") {
22
- if (!workerName) {
23
- throw new Error("workerName required for workers-logs backend");
24
- }
25
- const backend = createWorkersLogsBackend({
26
- accountId: config.accountId,
27
- apiToken: apiTokenValue,
28
- workerName,
29
- pollInterval
30
- });
31
- return createObserveResource(backend);
32
- }
33
- if (observeConfig.backend === "cli-stream") {
34
- const backend = createCliStreamBackend({
35
- accountId: config.accountId,
36
- workerName
37
- });
38
- return createObserveResource(backend);
39
- }
40
- throw new Error(`Unknown backend: ${observeConfig.backend}`);
41
- },
42
- };
43
- }
1
+ export const Cloudflare = {
2
+ observe(definition) {
3
+ return {
4
+ kind: "cloudflare-workers-logs",
5
+ backend: "workers-logs",
6
+ ...definition,
7
+ };
8
+ },
9
+ };
44
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAMtD,MAAM,UAAU,kBAAkB,CAChC,MAAgC;IAEhC,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEtC,OAAO;QACL,OAAO,CAAC,aAA4B;YAClC,MAAM,OAAO,GAAG,aAAa,CAAC,OAA6B,CAAC;YAC5D,MAAM,YAAY,GAAG,aAAa,CAAC,YAAkC,CAAC;YACtE,MAAM,UAAU,GAAG,aAAa,CAAC,UAAgC,CAAC;YAElE,IAAI,aAAa,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAG,sBAAsB,CAAC;oBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,OAAO,IAAI,aAAa;oBACjC,YAAY;iBACb,CAAC,CAAC;gBACH,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;gBAC7C,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,OAAO,GAAG,wBAAwB,CAAC;oBACvC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,aAAa;oBACvB,UAAU;oBACV,YAAY;iBACb,CAAC,CAAC;gBACH,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,IAAI,aAAa,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,sBAAsB,CAAC;oBACrC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,UAAU;iBACX,CAAC,CAAC;gBACH,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;KAEF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cloudflare/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,OAAO,CACL,UAAqD;QAErD,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,cAAc;YACvB,GAAG,UAAU;SACd,CAAC;IACJ,CAAC;CACF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,68 +1,265 @@
1
- import { Effect, Scope } from "effect";
2
- import type { GateResult } from "./types";
3
- import type { ObserveResource } from "./observe";
4
- import type { Action } from "./act";
5
- import type { Assertion } from "./assert";
6
- import { AssertionFailed, AssertionAggregateFailed } from "./assert";
7
- import { ObservabilityError } from "./observe";
8
- import { Schema } from "@effect/schema";
9
- declare const GateError_base: Schema.TaggedErrorClass<GateError, "GateError", {
10
- readonly _tag: Schema.tag<"GateError">;
11
- } & {
12
- cause: typeof Schema.Unknown;
13
- }>;
14
- export declare class GateError extends GateError_base {
15
- }
16
- declare const LogTimeoutError_base: Schema.TaggedErrorClass<LogTimeoutError, "LogTimeoutError", {
17
- readonly _tag: Schema.tag<"LogTimeoutError">;
18
- } & {
19
- maxMs: typeof Schema.Number;
20
- idleMs: typeof Schema.Number;
21
- cause: Schema.optional<typeof Schema.Unknown>;
22
- }>;
23
- export declare class LogTimeoutError extends LogTimeoutError_base {
24
- }
25
- export type GateErrorType = GateError | LogTimeoutError | AssertionFailed | AssertionAggregateFailed | ObservabilityError;
26
- export interface GateSpec {
27
- name?: string;
28
- observe: ObserveResource;
29
- act: Action[];
30
- assert: Assertion[];
31
- /**
32
- * Timeout configuration for log collection.
33
- *
34
- * - **idleMs**: If no logs arrive for this duration AND logs have been collected, return early.
35
- * Default: 3000ms
36
- * - **maxMs**: Maximum total time to wait for logs. If exceeded, gate fails with timeout.
37
- * Default: 15000ms
38
- *
39
- * Examples:
40
- * - `{ idleMs: 1000, maxMs: 5000 }`: Wait up to 5s total, but return early if idle > 1s with logs
41
- * - `{ idleMs: 0, maxMs: 10000 }`: Wait full 10s, never return early on idle
42
- */
43
- stop?: {
44
- idleMs: number;
45
- maxMs: number;
1
+ import { Effect } from "effect";
2
+ export type GateStatus = "pass" | "fail" | "skip" | "inconclusive";
3
+ export type ProofStrength = "strong" | "moderate" | "weak" | "none";
4
+ export interface SpecTutorial {
5
+ goal: string;
6
+ outcome: string;
7
+ }
8
+ export interface SpecHowTo {
9
+ task: string;
10
+ done: string;
11
+ }
12
+ export interface SpecExplanation {
13
+ summary: string;
14
+ }
15
+ export interface SpecDefinition {
16
+ title: string;
17
+ tutorial: SpecTutorial;
18
+ howTo: SpecHowTo;
19
+ explanation: SpecExplanation;
20
+ }
21
+ export interface HttpObserveResourceDefinition {
22
+ kind: "http";
23
+ url: string;
24
+ pollInterval?: number;
25
+ headers?: Record<string, string>;
26
+ }
27
+ export interface CloudflareObserveDefinition {
28
+ kind: "cloudflare-workers-logs";
29
+ accountId: string;
30
+ apiToken: string;
31
+ workerName: string;
32
+ backend?: "workers-logs";
33
+ sinceMs?: number;
34
+ pollInterval?: number;
35
+ }
36
+ export interface ExecActionDefinition {
37
+ kind: "exec";
38
+ command: string;
39
+ cwd?: string;
40
+ timeoutMs?: number;
41
+ }
42
+ export interface EnvPrerequisiteDefinition {
43
+ kind: "env";
44
+ name: string;
45
+ reason?: string;
46
+ }
47
+ export interface HttpResponseAssertionDefinition {
48
+ kind: "httpResponse";
49
+ actionIncludes?: string;
50
+ status: number;
51
+ }
52
+ export interface DurationAssertionDefinition {
53
+ kind: "duration";
54
+ actionIncludes?: string;
55
+ atMostMs: number;
56
+ }
57
+ export interface NoErrorsAssertionDefinition {
58
+ kind: "noErrors";
59
+ }
60
+ export interface HasActionAssertionDefinition {
61
+ kind: "hasAction";
62
+ action: string;
63
+ }
64
+ export interface ResponseBodyIncludesAssertionDefinition {
65
+ kind: "responseBodyIncludes";
66
+ text: string;
67
+ }
68
+ export interface NumericDeltaFromEnvAssertionDefinition {
69
+ kind: "numericDeltaFromEnv";
70
+ source: "httpBody" | "logMessage";
71
+ pattern: string;
72
+ baselineEnv: string;
73
+ minimumDelta: number;
74
+ }
75
+ export type ObserveResourceDefinition = HttpObserveResourceDefinition | CloudflareObserveDefinition;
76
+ export type ActionDefinition = ExecActionDefinition;
77
+ export type PrerequisiteDefinition = EnvPrerequisiteDefinition;
78
+ export type AssertionDefinition = HttpResponseAssertionDefinition | DurationAssertionDefinition | NoErrorsAssertionDefinition | HasActionAssertionDefinition | ResponseBodyIncludesAssertionDefinition | NumericDeltaFromEnvAssertionDefinition;
79
+ export interface GateDefinition {
80
+ observe?: ObserveResourceDefinition;
81
+ act?: ReadonlyArray<ActionDefinition>;
82
+ assert?: ReadonlyArray<AssertionDefinition>;
83
+ prerequisites?: ReadonlyArray<PrerequisiteDefinition>;
84
+ timeoutMs?: number;
85
+ }
86
+ export interface PlanScope {
87
+ allowedPaths?: ReadonlyArray<string>;
88
+ forbiddenPaths?: ReadonlyArray<string>;
89
+ maxChangedFiles?: number;
90
+ maxChangedLines?: number;
91
+ }
92
+ export interface PlanGoal {
93
+ id: string;
94
+ title: string;
95
+ gate: GateDefinition;
96
+ scope?: PlanScope;
97
+ }
98
+ export interface PlanLoop {
99
+ maxIterations?: number;
100
+ stopOnFailure?: boolean;
101
+ }
102
+ export interface PlanCleanup {
103
+ actions: ReadonlyArray<ActionDefinition>;
104
+ }
105
+ export interface PlanDefinition {
106
+ goals: ReadonlyArray<PlanGoal>;
107
+ loop?: PlanLoop;
108
+ cleanup?: PlanCleanup;
109
+ }
110
+ export interface ScopeFile {
111
+ spec: SpecDefinition;
112
+ plan: PlanDefinition;
113
+ }
114
+ export interface ActionResult {
115
+ kind: "exec";
116
+ command: string;
117
+ ok: boolean;
118
+ durationMs: number;
119
+ stdout: string;
120
+ stderr: string;
121
+ exitCode: number | null;
122
+ }
123
+ export interface HttpObservationResult {
124
+ kind: "http";
125
+ url: string;
126
+ status: number;
127
+ durationMs: number;
128
+ ok: boolean;
129
+ body: string;
130
+ }
131
+ export interface LogEvent {
132
+ timestamp?: string;
133
+ level?: string;
134
+ message?: string;
135
+ action?: string;
136
+ stage?: string;
137
+ metadata?: Record<string, unknown>;
138
+ }
139
+ export interface GateEvidence {
140
+ actions: ReadonlyArray<ActionResult>;
141
+ http?: HttpObservationResult;
142
+ logs?: ReadonlyArray<LogEvent>;
143
+ errors: ReadonlyArray<string>;
144
+ }
145
+ export interface GateRunResult {
146
+ id: string;
147
+ title: string;
148
+ status: GateStatus;
149
+ proofStrength: ProofStrength;
150
+ summary: string;
151
+ evidence: GateEvidence;
152
+ }
153
+ export interface PlanRunResult {
154
+ status: GateStatus;
155
+ proofStrength: ProofStrength;
156
+ iterations: number;
157
+ goals: ReadonlyArray<GateRunResult>;
158
+ summary: string;
159
+ cleanupErrors: ReadonlyArray<string>;
160
+ }
161
+ export interface WorkerContext {
162
+ iteration: number;
163
+ plan: PlanDefinition;
164
+ result: PlanRunResult;
165
+ failedGoals: ReadonlyArray<GateRunResult>;
166
+ firstFailedGoal: GateRunResult | null;
167
+ cwd: string;
168
+ planPath?: string;
169
+ }
170
+ export interface WorkerChange {
171
+ kind: "write" | "replace" | "create" | "delete" | "exec";
172
+ path?: string;
173
+ summary: string;
174
+ }
175
+ export interface WorkerResult {
176
+ changes: ReadonlyArray<WorkerChange>;
177
+ summary: string;
178
+ commitMessage?: string;
179
+ stop?: boolean;
180
+ }
181
+ export interface WorkerRuntime {
182
+ runWorker(context: WorkerContext): Effect.Effect<WorkerResult, never, never>;
183
+ }
184
+ export interface MemoryEntry {
185
+ iteration: number;
186
+ timestamp: string;
187
+ firstFailedGoal: {
188
+ id: string;
189
+ title: string;
190
+ summary: string;
191
+ } | null;
192
+ result: PlanRunResult;
193
+ worker?: {
194
+ summary?: string;
195
+ changes: ReadonlyArray<WorkerChange>;
196
+ timedOut?: boolean;
197
+ stopped?: boolean;
198
+ scopeViolation?: string;
199
+ };
200
+ commit?: {
201
+ sha?: string;
202
+ message?: string;
203
+ empty?: boolean;
46
204
  };
47
- /**
48
- * Maximum number of logs to collect before stopping.
49
- * Defaults to 50_000.
50
- */
51
- maxLogs?: number;
52
- report?: "json" | "pretty";
53
- }
54
- export declare namespace Gate {
55
- function run(spec: GateSpec): Promise<GateResult>;
56
- function runEffect(spec: GateSpec): Effect.Effect<GateResult, GateErrorType, Scope.Scope>;
57
- }
58
- export { Act } from "./act";
59
- export { Assert } from "./assert";
60
- export type { Log, GateResult, LogFilter } from "./types";
61
- export type { ObserveResource } from "./observe";
62
- export type { Provider } from "./provider";
63
- export { createEmptyBackend, createEmptyObserveResource, runGateWithErrorHandling } from "./utils";
64
- export { createTestObserveResource } from "./test-helpers";
65
- export { createHttpObserveResource } from "./http-backend";
66
- export type { GateResultV1, PrdReportV1, StoryResultV1, SerializableError } from "./report";
67
- export { serializeError, toGateResultV1 } from "./report";
205
+ }
206
+ export interface MemoryRuntime {
207
+ writeIteration(entry: MemoryEntry): Effect.Effect<void, never, never>;
208
+ }
209
+ export type LoopWorker = ((context: WorkerContext) => Effect.Effect<WorkerResult, never, never>) | null | undefined;
210
+ export interface LoopCommitOptions {
211
+ enabled?: boolean;
212
+ allowEmpty?: boolean;
213
+ }
214
+ export interface LoopIterationStatus {
215
+ iteration: number;
216
+ result: PlanRunResult;
217
+ firstFailedGoal: GateRunResult | null;
218
+ workerCalled: boolean;
219
+ workerSummary?: string;
220
+ committed: boolean;
221
+ commitSha?: string;
222
+ reportPath?: string;
223
+ }
224
+ export interface PlanRunLoopOptions {
225
+ maxIterations?: number;
226
+ worker?: LoopWorker;
227
+ cwd?: string;
228
+ planPath?: string;
229
+ workerTimeoutMs?: number;
230
+ commit?: LoopCommitOptions;
231
+ onIteration?: (status: LoopIterationStatus) => void;
232
+ memory?: MemoryRuntime;
233
+ }
234
+ export interface OpenCodeWorkerOptions {
235
+ apiKey?: string;
236
+ endpoint?: string;
237
+ model?: string;
238
+ maxSteps?: number;
239
+ timeoutMs?: number;
240
+ }
241
+ export declare const createOpenCodeWorker: (options: OpenCodeWorkerOptions) => LoopWorker;
242
+ export declare const Gate: {
243
+ define(definition: GateDefinition): GateDefinition;
244
+ };
245
+ export declare const Plan: {
246
+ define(definition: PlanDefinition): PlanDefinition;
247
+ run(plan: PlanDefinition): Effect.Effect<PlanRunResult, never, never>;
248
+ runLoop(plan: PlanDefinition, options?: PlanRunLoopOptions): Effect.Effect<PlanRunResult, never, never>;
249
+ };
250
+ export declare const Act: {
251
+ exec(command: string, options?: Omit<ExecActionDefinition, "kind" | "command">): ExecActionDefinition;
252
+ };
253
+ export declare const Assert: {
254
+ httpResponse(definition: Omit<HttpResponseAssertionDefinition, "kind">): HttpResponseAssertionDefinition;
255
+ duration(definition: Omit<DurationAssertionDefinition, "kind">): DurationAssertionDefinition;
256
+ noErrors(): NoErrorsAssertionDefinition;
257
+ hasAction(action: string): HasActionAssertionDefinition;
258
+ responseBodyIncludes(text: string): ResponseBodyIncludesAssertionDefinition;
259
+ numericDeltaFromEnv(definition: Omit<NumericDeltaFromEnvAssertionDefinition, "kind">): NumericDeltaFromEnvAssertionDefinition;
260
+ };
261
+ export declare const Require: {
262
+ env(name: string, reason?: string): EnvPrerequisiteDefinition;
263
+ };
264
+ export declare const createHttpObserveResource: (definition: Omit<HttpObserveResourceDefinition, "kind">) => HttpObserveResourceDefinition;
68
265
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAwC,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAO,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAU,eAAe,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;;;;;;AAYxC,qBAAa,SAAU,SAAQ,cAE7B;CAAG;;;;;;;;AAEL,qBAAa,eAAgB,SAAQ,oBAOpC;CAAG;AAEJ,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,wBAAwB,GAAG,kBAAkB,CAAC;AAE1H,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC5B;AA8ID,yBAAiB,IAAI,CAAC;IACpB,SAAgB,GAAG,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAEvD;IAED,SAAgB,SAAS,CACvB,IAAI,EAAE,QAAQ,GACb,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAiGvD;CACF;AAuBD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}