@hegeldev/hegel 0.1.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 (144) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +59 -0
  3. package/dist/binary.d.ts +27 -0
  4. package/dist/binary.d.ts.map +1 -0
  5. package/dist/binary.js +50 -0
  6. package/dist/binary.js.map +1 -0
  7. package/dist/collections.d.ts +114 -0
  8. package/dist/collections.d.ts.map +1 -0
  9. package/dist/collections.js +313 -0
  10. package/dist/collections.js.map +1 -0
  11. package/dist/combinators.d.ts +34 -0
  12. package/dist/combinators.d.ts.map +1 -0
  13. package/dist/combinators.js +152 -0
  14. package/dist/combinators.js.map +1 -0
  15. package/dist/conformance.d.ts +31 -0
  16. package/dist/conformance.d.ts.map +1 -0
  17. package/dist/conformance.js +60 -0
  18. package/dist/conformance.js.map +1 -0
  19. package/dist/connection.d.ts +82 -0
  20. package/dist/connection.d.ts.map +1 -0
  21. package/dist/connection.js +231 -0
  22. package/dist/connection.js.map +1 -0
  23. package/dist/crc32.d.ts +13 -0
  24. package/dist/crc32.d.ts.map +1 -0
  25. package/dist/crc32.js +30 -0
  26. package/dist/crc32.js.map +1 -0
  27. package/dist/derive.d.ts +225 -0
  28. package/dist/derive.d.ts.map +1 -0
  29. package/dist/derive.js +296 -0
  30. package/dist/derive.js.map +1 -0
  31. package/dist/embedded.d.ts +38 -0
  32. package/dist/embedded.d.ts.map +1 -0
  33. package/dist/embedded.js +237 -0
  34. package/dist/embedded.js.map +1 -0
  35. package/dist/floats.d.ts +57 -0
  36. package/dist/floats.d.ts.map +1 -0
  37. package/dist/floats.js +100 -0
  38. package/dist/floats.js.map +1 -0
  39. package/dist/formats.d.ts +62 -0
  40. package/dist/formats.d.ts.map +1 -0
  41. package/dist/formats.js +164 -0
  42. package/dist/formats.js.map +1 -0
  43. package/dist/generator.d.ts +80 -0
  44. package/dist/generator.d.ts.map +1 -0
  45. package/dist/generator.js +128 -0
  46. package/dist/generator.js.map +1 -0
  47. package/dist/generators/collections.d.ts +20 -0
  48. package/dist/generators/collections.d.ts.map +1 -0
  49. package/dist/generators/collections.js +209 -0
  50. package/dist/generators/collections.js.map +1 -0
  51. package/dist/generators/combinators.d.ts +15 -0
  52. package/dist/generators/combinators.d.ts.map +1 -0
  53. package/dist/generators/combinators.js +143 -0
  54. package/dist/generators/combinators.js.map +1 -0
  55. package/dist/generators/compose.d.ts +27 -0
  56. package/dist/generators/compose.d.ts.map +1 -0
  57. package/dist/generators/compose.js +82 -0
  58. package/dist/generators/compose.js.map +1 -0
  59. package/dist/generators/core.d.ts +53 -0
  60. package/dist/generators/core.d.ts.map +1 -0
  61. package/dist/generators/core.js +134 -0
  62. package/dist/generators/core.js.map +1 -0
  63. package/dist/generators/index.d.ts +18 -0
  64. package/dist/generators/index.d.ts.map +1 -0
  65. package/dist/generators/index.js +15 -0
  66. package/dist/generators/index.js.map +1 -0
  67. package/dist/generators/numeric.d.ts +40 -0
  68. package/dist/generators/numeric.d.ts.map +1 -0
  69. package/dist/generators/numeric.js +128 -0
  70. package/dist/generators/numeric.js.map +1 -0
  71. package/dist/generators/primitives.d.ts +138 -0
  72. package/dist/generators/primitives.d.ts.map +1 -0
  73. package/dist/generators/primitives.js +240 -0
  74. package/dist/generators/primitives.js.map +1 -0
  75. package/dist/generators/strings.d.ts +73 -0
  76. package/dist/generators/strings.d.ts.map +1 -0
  77. package/dist/generators/strings.js +215 -0
  78. package/dist/generators/strings.js.map +1 -0
  79. package/dist/generators/tuples.d.ts +11 -0
  80. package/dist/generators/tuples.d.ts.map +1 -0
  81. package/dist/generators/tuples.js +43 -0
  82. package/dist/generators/tuples.js.map +1 -0
  83. package/dist/generators.d.ts +408 -0
  84. package/dist/generators.d.ts.map +1 -0
  85. package/dist/generators.js +898 -0
  86. package/dist/generators.js.map +1 -0
  87. package/dist/index.d.ts +16 -0
  88. package/dist/index.d.ts.map +1 -0
  89. package/dist/index.js +13 -0
  90. package/dist/index.js.map +1 -0
  91. package/dist/install.d.ts +6 -0
  92. package/dist/install.d.ts.map +1 -0
  93. package/dist/install.js +91 -0
  94. package/dist/install.js.map +1 -0
  95. package/dist/integers.d.ts +37 -0
  96. package/dist/integers.d.ts.map +1 -0
  97. package/dist/integers.js +63 -0
  98. package/dist/integers.js.map +1 -0
  99. package/dist/labels.d.ts +21 -0
  100. package/dist/labels.d.ts.map +1 -0
  101. package/dist/labels.js +20 -0
  102. package/dist/labels.js.map +1 -0
  103. package/dist/objects.d.ts +39 -0
  104. package/dist/objects.d.ts.map +1 -0
  105. package/dist/objects.js +98 -0
  106. package/dist/objects.js.map +1 -0
  107. package/dist/primitives.d.ts +14 -0
  108. package/dist/primitives.d.ts.map +1 -0
  109. package/dist/primitives.js +51 -0
  110. package/dist/primitives.js.map +1 -0
  111. package/dist/protocol.d.ts +25 -0
  112. package/dist/protocol.d.ts.map +1 -0
  113. package/dist/protocol.js +77 -0
  114. package/dist/protocol.js.map +1 -0
  115. package/dist/runner.d.ts +115 -0
  116. package/dist/runner.d.ts.map +1 -0
  117. package/dist/runner.js +455 -0
  118. package/dist/runner.js.map +1 -0
  119. package/dist/session.d.ts +19 -0
  120. package/dist/session.d.ts.map +1 -0
  121. package/dist/session.js +157 -0
  122. package/dist/session.js.map +1 -0
  123. package/dist/spans.d.ts +23 -0
  124. package/dist/spans.d.ts.map +1 -0
  125. package/dist/spans.js +51 -0
  126. package/dist/spans.js.map +1 -0
  127. package/dist/strings.d.ts +67 -0
  128. package/dist/strings.d.ts.map +1 -0
  129. package/dist/strings.js +107 -0
  130. package/dist/strings.js.map +1 -0
  131. package/dist/testCase.d.ts +118 -0
  132. package/dist/testCase.d.ts.map +1 -0
  133. package/dist/testCase.js +186 -0
  134. package/dist/testCase.js.map +1 -0
  135. package/dist/uv-install.sh +2226 -0
  136. package/dist/uv.d.ts +20 -0
  137. package/dist/uv.d.ts.map +1 -0
  138. package/dist/uv.js +103 -0
  139. package/dist/uv.js.map +1 -0
  140. package/dist/wtf8.d.ts +16 -0
  141. package/dist/wtf8.d.ts.map +1 -0
  142. package/dist/wtf8.js +52 -0
  143. package/dist/wtf8.js.map +1 -0
  144. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Global lazy session that manages the hegel server subprocess.
3
+ *
4
+ * The session is created on first use and persists for the lifetime of
5
+ * the process.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { Connection, Stream } from "./connection.js";
10
+ export declare const HEGEL_SERVER_VERSION = "0.4.0";
11
+ export declare class HegelSession {
12
+ readonly connection: Connection;
13
+ private _controlStream;
14
+ private constructor();
15
+ get controlStream(): Stream;
16
+ static get(): HegelSession;
17
+ private static init;
18
+ }
19
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAIrD,eAAO,MAAM,oBAAoB,UAAU,CAAC;AAkD5C,qBAAa,YAAY;IACvB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO;IAKP,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,MAAM,CAAC,GAAG,IAAI,YAAY;IAO1B,OAAO,CAAC,MAAM,CAAC,IAAI;CA4EpB"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Global lazy session that manages the hegel server subprocess.
3
+ *
4
+ * The session is created on first use and persists for the lifetime of
5
+ * the process.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { spawn } from "node:child_process";
10
+ import * as fs from "node:fs";
11
+ import { Connection } from "./connection.js";
12
+ import { HANDSHAKE_STRING } from "./protocol.js";
13
+ import { findUv } from "./uv.js";
14
+ export const HEGEL_SERVER_VERSION = "0.4.0";
15
+ const SUPPORTED_PROTOCOL_MIN = "0.10";
16
+ const SUPPORTED_PROTOCOL_MAX = "0.10";
17
+ const HEGEL_SERVER_COMMAND_ENV = "HEGEL_SERVER_COMMAND";
18
+ const HEGEL_SERVER_DIR = ".hegel";
19
+ function parseVersion(s) {
20
+ const parts = s.split(".");
21
+ /* v8 ignore start */
22
+ if (parts.length !== 2) {
23
+ throw new Error(`Invalid version string '${s}': expected 'major.minor' format`);
24
+ }
25
+ /* v8 ignore stop */
26
+ const major = parseInt(parts[0], 10);
27
+ const minor = parseInt(parts[1], 10);
28
+ /* v8 ignore start */
29
+ if (!Number.isFinite(major) || !Number.isFinite(minor)) {
30
+ throw new Error(`Invalid version string '${s}'`);
31
+ }
32
+ /* v8 ignore stop */
33
+ return [major, minor];
34
+ }
35
+ function versionInRange(version, min, max) {
36
+ const v = parseVersion(version);
37
+ const lo = parseVersion(min);
38
+ const hi = parseVersion(max);
39
+ /* v8 ignore start */
40
+ if (v[0] < lo[0] || (v[0] === lo[0] && v[1] < lo[1]))
41
+ return false;
42
+ if (v[0] > hi[0] || (v[0] === hi[0] && v[1] > hi[1]))
43
+ return false;
44
+ /* v8 ignore stop */
45
+ return true;
46
+ }
47
+ let logFileCounter = 0;
48
+ function serverLogFile() {
49
+ try {
50
+ fs.mkdirSync(HEGEL_SERVER_DIR, { recursive: true });
51
+ }
52
+ catch {
53
+ // ignore
54
+ }
55
+ const pid = process.pid;
56
+ const ix = logFileCounter++;
57
+ const path = `${HEGEL_SERVER_DIR}/server.${pid}-${ix}.log`;
58
+ return fs.openSync(path, "a");
59
+ }
60
+ let session = null;
61
+ export class HegelSession {
62
+ connection;
63
+ _controlStream;
64
+ constructor(connection, controlStream) {
65
+ this.connection = connection;
66
+ this._controlStream = controlStream;
67
+ }
68
+ get controlStream() {
69
+ return this._controlStream;
70
+ }
71
+ static get() {
72
+ if (session === null) {
73
+ session = HegelSession.init();
74
+ }
75
+ return session;
76
+ }
77
+ static init() {
78
+ const { command, args } = hegelCommand();
79
+ const logFd = serverLogFile();
80
+ const child = spawn(command, [...args, "--stdio", "--verbosity", "normal"], {
81
+ stdio: ["pipe", "pipe", logFd],
82
+ env: { ...process.env, PYTHONUNBUFFERED: "1" },
83
+ });
84
+ // Prevent Node.js from consuming pipe data via its event loop
85
+ child.stdout.pause();
86
+ child.stdin.cork();
87
+ // Unref the child and its pipes so they don't keep Node's event loop
88
+ // alive. Otherwise a plain `node script.mjs` hangs after the last
89
+ // Hegel.run() completes — Node waits for the subprocess, the subprocess
90
+ // waits for more protocol commands, and the `exit` handler that would
91
+ // kill the child never fires because Node never decides to exit.
92
+ // stdin/stdout for piped stdio are Socket instances at runtime, but
93
+ // TypeScript types them as Writable/Readable which don't declare unref().
94
+ child.unref();
95
+ child.stdout.unref();
96
+ child.stdin.unref();
97
+ // Extract raw file descriptors for synchronous I/O
98
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
99
+ const readFd = child.stdout._handle.fd;
100
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
+ const writeFd = child.stdin._handle.fd;
102
+ const connection = new Connection(readFd, writeFd);
103
+ const control = connection.controlStream();
104
+ // Handshake: raw bytes, not CBOR-encoded
105
+ const handshakePayload = Buffer.from(HANDSHAKE_STRING, "utf-8");
106
+ const reqId = control.sendRequest(handshakePayload);
107
+ const responseBytes = control.receiveReply(reqId);
108
+ const responseStr = responseBytes.toString("utf-8");
109
+ /* v8 ignore start */
110
+ if (!responseStr.startsWith("Hegel/")) {
111
+ child.kill();
112
+ throw new Error(`Bad handshake response: ${JSON.stringify(responseStr)}`);
113
+ }
114
+ /* v8 ignore stop */
115
+ const serverVersion = responseStr.slice("Hegel/".length);
116
+ /* v8 ignore start */
117
+ if (!versionInRange(serverVersion, SUPPORTED_PROTOCOL_MIN, SUPPORTED_PROTOCOL_MAX)) {
118
+ child.kill();
119
+ throw new Error(`hegel-typescript supports protocol versions ${SUPPORTED_PROTOCOL_MIN} through ${SUPPORTED_PROTOCOL_MAX}, ` +
120
+ `but the connected server is using protocol version ${serverVersion}`);
121
+ }
122
+ /* v8 ignore stop */
123
+ // Register cleanup on process exit
124
+ /* v8 ignore start */
125
+ process.on("exit", () => {
126
+ try {
127
+ child.kill();
128
+ }
129
+ catch {
130
+ // ignore
131
+ }
132
+ });
133
+ /* v8 ignore stop */
134
+ // Close the log fd since the child has inherited it
135
+ try {
136
+ fs.closeSync(logFd);
137
+ }
138
+ catch {
139
+ // ignore
140
+ }
141
+ return new HegelSession(connection, control);
142
+ }
143
+ }
144
+ function hegelCommand() {
145
+ const override = process.env[HEGEL_SERVER_COMMAND_ENV];
146
+ /* v8 ignore start */
147
+ if (override) {
148
+ return { command: override, args: [] };
149
+ }
150
+ /* v8 ignore stop */
151
+ // Default: use uv tool run
152
+ return {
153
+ command: findUv(),
154
+ args: ["tool", "run", "--from", `hegel-core==${HEGEL_SERVER_VERSION}`, "hegel"],
155
+ };
156
+ }
157
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { Label } from "./labels.js";
2
+ /**
3
+ * Start a labeled span for structural grouping.
4
+ * Helps Hegel understand data structure for better shrinking.
5
+ */
6
+ export declare function startSpan(label: Label): void;
7
+ /**
8
+ * Stop the current span.
9
+ * @param discard - If true, discard the data generated in this span (e.g., filtered value rejected)
10
+ */
11
+ export declare function stopSpan(discard: boolean): void;
12
+ /**
13
+ * Execute a function within a labeled span.
14
+ * The span helps Hegel understand structure for shrinking.
15
+ */
16
+ export declare function group<T>(label: Label, fn: () => T): T;
17
+ /**
18
+ * Execute a function within a discardable span.
19
+ * If the function returns null, the span is discarded.
20
+ * Used for filtering where rejected values should be discarded.
21
+ */
22
+ export declare function discardableGroup<T>(label: Label, fn: () => T | null): T | null;
23
+ //# sourceMappingURL=spans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.d.ts","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAEnC;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAG5C;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAG/C;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAUrD;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAU9E"}
package/dist/spans.js ADDED
@@ -0,0 +1,51 @@
1
+ import { decrementSpanDepth, incrementSpanDepth, sendRequest } from "./connection.js";
2
+ /**
3
+ * Start a labeled span for structural grouping.
4
+ * Helps Hegel understand data structure for better shrinking.
5
+ */
6
+ export function startSpan(label) {
7
+ incrementSpanDepth();
8
+ sendRequest("start_span", { label });
9
+ }
10
+ /**
11
+ * Stop the current span.
12
+ * @param discard - If true, discard the data generated in this span (e.g., filtered value rejected)
13
+ */
14
+ export function stopSpan(discard) {
15
+ sendRequest("stop_span", { discard });
16
+ decrementSpanDepth();
17
+ }
18
+ /**
19
+ * Execute a function within a labeled span.
20
+ * The span helps Hegel understand structure for shrinking.
21
+ */
22
+ export function group(label, fn) {
23
+ startSpan(label);
24
+ try {
25
+ const result = fn();
26
+ stopSpan(false);
27
+ return result;
28
+ }
29
+ catch (err) {
30
+ stopSpan(true);
31
+ throw err;
32
+ }
33
+ }
34
+ /**
35
+ * Execute a function within a discardable span.
36
+ * If the function returns null, the span is discarded.
37
+ * Used for filtering where rejected values should be discarded.
38
+ */
39
+ export function discardableGroup(label, fn) {
40
+ startSpan(label);
41
+ try {
42
+ const result = fn();
43
+ stopSpan(result === null);
44
+ return result;
45
+ }
46
+ catch (err) {
47
+ stopSpan(true);
48
+ throw err;
49
+ }
50
+ }
51
+ //# sourceMappingURL=spans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spans.js","sourceRoot":"","sources":["../src/spans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGrF;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,KAAY;IACpC,kBAAkB,EAAE,CAAA;IACpB,WAAW,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;AACtC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,WAAW,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;IACrC,kBAAkB,EAAE,CAAA;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAI,KAAY,EAAE,EAAW;IAChD,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;QACnB,QAAQ,CAAC,KAAK,CAAC,CAAA;QACf,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAI,KAAY,EAAE,EAAkB;IAClE,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;QACnB,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,CAAA;QACzB,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { JsonSchema, BaseGenerator } from "./generator.js";
2
+ /**
3
+ * Generator for text strings with builder pattern.
4
+ */
5
+ export declare class TextGenerator extends BaseGenerator<string> {
6
+ private readonly _minSize;
7
+ private readonly _maxSize?;
8
+ private constructor();
9
+ /**
10
+ * Create a new TextGenerator.
11
+ */
12
+ static create(): TextGenerator;
13
+ /**
14
+ * Set the minimum size (in Unicode codepoints).
15
+ */
16
+ minSize(value: number): TextGenerator;
17
+ /**
18
+ * Set the maximum size (in Unicode codepoints).
19
+ */
20
+ maxSize(value: number): TextGenerator;
21
+ generate(): string;
22
+ schema(): JsonSchema;
23
+ }
24
+ /**
25
+ * Create a generator for text strings.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * // Generate any string
30
+ * const gen = text();
31
+ *
32
+ * // Generate strings with size bounds
33
+ * const bounded = text().minSize(1).maxSize(100);
34
+ * ```
35
+ */
36
+ export declare function text(): TextGenerator;
37
+ /**
38
+ * Generator for strings matching a regex pattern.
39
+ */
40
+ export declare class RegexGenerator extends BaseGenerator<string> {
41
+ private readonly _pattern;
42
+ private _fullmatch;
43
+ constructor(pattern: string);
44
+ /**
45
+ * Require the entire string to match the pattern, not just contain a match.
46
+ */
47
+ fullmatch(): RegexGenerator;
48
+ generate(): string;
49
+ schema(): JsonSchema;
50
+ }
51
+ /**
52
+ * Create a generator for strings that contain a match for the given regex pattern.
53
+ * Use `.fullmatch()` to require the entire string to match.
54
+ *
55
+ * @param pattern - Regular expression pattern (JSON Schema regex syntax)
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * // Generate strings containing a match
60
+ * const hexGen = fromRegex("[0-9a-f]+");
61
+ *
62
+ * // Generate strings that fully match
63
+ * const fullHexGen = fromRegex("[0-9a-f]+").fullmatch();
64
+ * ```
65
+ */
66
+ export declare function fromRegex(pattern: string): RegexGenerator;
67
+ //# sourceMappingURL=strings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE1D;;GAEG;AACH,qBAAa,aAAc,SAAQ,aAAa,CAAC,MAAM,CAAC;IAEpD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAF5B,OAAO;IAOP;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIrC;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAIrC,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,UAAU;CAYrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,IAAI,aAAa,CAEpC;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,aAAa,CAAC,MAAM,CAAC;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,UAAU,CAAiB;gBAEvB,OAAO,EAAE,MAAM;IAK3B;;OAEG;IACH,SAAS,IAAI,cAAc;IAK3B,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,UAAU;CAOrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAEzD"}
@@ -0,0 +1,107 @@
1
+ import { generateFromSchema } from "./connection.js";
2
+ import { BaseGenerator } from "./generator.js";
3
+ /**
4
+ * Generator for text strings with builder pattern.
5
+ */
6
+ export class TextGenerator extends BaseGenerator {
7
+ _minSize;
8
+ _maxSize;
9
+ constructor(_minSize = 0, _maxSize) {
10
+ super();
11
+ this._minSize = _minSize;
12
+ this._maxSize = _maxSize;
13
+ }
14
+ /**
15
+ * Create a new TextGenerator.
16
+ */
17
+ static create() {
18
+ return new TextGenerator();
19
+ }
20
+ /**
21
+ * Set the minimum size (in Unicode codepoints).
22
+ */
23
+ minSize(value) {
24
+ return new TextGenerator(value, this._maxSize);
25
+ }
26
+ /**
27
+ * Set the maximum size (in Unicode codepoints).
28
+ */
29
+ maxSize(value) {
30
+ return new TextGenerator(this._minSize, value);
31
+ }
32
+ generate() {
33
+ return generateFromSchema(this.schema());
34
+ }
35
+ schema() {
36
+ const schema = {
37
+ type: "string",
38
+ min_size: this._minSize,
39
+ };
40
+ if (this._maxSize !== undefined) {
41
+ schema.max_size = this._maxSize;
42
+ }
43
+ return schema;
44
+ }
45
+ }
46
+ /**
47
+ * Create a generator for text strings.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * // Generate any string
52
+ * const gen = text();
53
+ *
54
+ * // Generate strings with size bounds
55
+ * const bounded = text().minSize(1).maxSize(100);
56
+ * ```
57
+ */
58
+ export function text() {
59
+ return TextGenerator.create();
60
+ }
61
+ /**
62
+ * Generator for strings matching a regex pattern.
63
+ */
64
+ export class RegexGenerator extends BaseGenerator {
65
+ _pattern;
66
+ _fullmatch = false;
67
+ constructor(pattern) {
68
+ super();
69
+ this._pattern = pattern;
70
+ }
71
+ /**
72
+ * Require the entire string to match the pattern, not just contain a match.
73
+ */
74
+ fullmatch() {
75
+ this._fullmatch = true;
76
+ return this;
77
+ }
78
+ generate() {
79
+ return generateFromSchema(this.schema());
80
+ }
81
+ schema() {
82
+ return {
83
+ type: "regex",
84
+ pattern: this._pattern,
85
+ fullmatch: this._fullmatch,
86
+ };
87
+ }
88
+ }
89
+ /**
90
+ * Create a generator for strings that contain a match for the given regex pattern.
91
+ * Use `.fullmatch()` to require the entire string to match.
92
+ *
93
+ * @param pattern - Regular expression pattern (JSON Schema regex syntax)
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * // Generate strings containing a match
98
+ * const hexGen = fromRegex("[0-9a-f]+");
99
+ *
100
+ * // Generate strings that fully match
101
+ * const fullHexGen = fromRegex("[0-9a-f]+").fullmatch();
102
+ * ```
103
+ */
104
+ export function fromRegex(pattern) {
105
+ return new RegexGenerator(pattern);
106
+ }
107
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAc,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAqB;IAEnC;IACA;IAFnB,YACmB,WAAmB,CAAC,EACpB,QAAiB;QAElC,KAAK,EAAE,CAAA;QAHU,aAAQ,GAAR,QAAQ,CAAY;QACpB,aAAQ,GAAR,QAAQ,CAAS;IAGpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,aAAa,EAAE,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,QAAQ;QACN,OAAO,kBAAkB,CAAS,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAe;YACzB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,IAAI;IAClB,OAAO,aAAa,CAAC,MAAM,EAAE,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAqB;IACtC,QAAQ,CAAQ;IACzB,UAAU,GAAY,KAAK,CAAA;IAEnC,YAAY,OAAe;QACzB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,OAAO,kBAAkB,CAAS,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAA;IACH,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAA;AACpC,CAAC"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * TestCase: per-test-case state passed explicitly to test functions.
3
+ *
4
+ * Provides draw(), assume(), note(), span management, and the Collection
5
+ * class for server-managed collection sizing.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export declare class StopTestError extends Error {
10
+ constructor();
11
+ }
12
+ export declare class AssumeError extends Error {
13
+ constructor();
14
+ }
15
+ export declare const Labels: {
16
+ readonly LIST: 1;
17
+ readonly LIST_ELEMENT: 2;
18
+ readonly SET: 3;
19
+ readonly SET_ELEMENT: 4;
20
+ readonly MAP: 5;
21
+ readonly MAP_ENTRY: 6;
22
+ readonly TUPLE: 7;
23
+ readonly ONE_OF: 8;
24
+ readonly OPTIONAL: 9;
25
+ readonly FIXED_DICT: 10;
26
+ readonly FLAT_MAP: 11;
27
+ readonly FILTER: 12;
28
+ readonly MAPPED: 13;
29
+ readonly SAMPLED_FROM: 14;
30
+ readonly ENUM_VARIANT: 15;
31
+ };
32
+ export interface GeneratorLike<T> {
33
+ doDraw(tc: TestCase): T;
34
+ }
35
+ /**
36
+ * Abstraction over the data backend for a test case.
37
+ *
38
+ * The default implementation (ServerDataSource) talks to the hegel server
39
+ * over a multiplexed stream. Custom implementations can be used in tests
40
+ * to inject specific behaviors without a server.
41
+ */
42
+ export interface DataSource {
43
+ generate(schema: Record<string, unknown>): unknown;
44
+ startSpan(label: number): void;
45
+ stopSpan(discard: boolean): void;
46
+ newCollection(minSize: number, maxSize?: number): number;
47
+ collectionMore(collectionId: number): boolean;
48
+ collectionReject(collectionId: number, why?: string): void;
49
+ markComplete(status: string, origin: string | null): void;
50
+ testAborted(): boolean;
51
+ }
52
+ export declare class TestCase {
53
+ private _dataSource;
54
+ private _isLastRun;
55
+ private drawCount;
56
+ private spanDepth;
57
+ /** @internal */
58
+ constructor(dataSource: DataSource, isLastRun: boolean);
59
+ /** @internal */
60
+ dataSource(): DataSource;
61
+ get isLastRun(): boolean;
62
+ get testAborted(): boolean;
63
+ /**
64
+ * Draw a value from a generator.
65
+ */
66
+ draw<T>(generator: GeneratorLike<T>): T;
67
+ /**
68
+ * Draw a value from a generator without recording it in the output.
69
+ * Unlike draw(), this does not print the value during the final replay.
70
+ */
71
+ drawSilent<T>(generator: GeneratorLike<T>): T;
72
+ /**
73
+ * Reject the current test case if the condition is false.
74
+ */
75
+ assume(condition: boolean): void;
76
+ /**
77
+ * Note a message that will be displayed during the final replay.
78
+ */
79
+ note(message: string): void;
80
+ /**
81
+ * Start a shrinking span with the given label.
82
+ */
83
+ startSpan(label: number): void;
84
+ /**
85
+ * Stop the current shrinking span.
86
+ */
87
+ stopSpan(discard?: boolean): void;
88
+ }
89
+ /**
90
+ * Send a generate command to the data source and return the raw result.
91
+ * Throws StopTestError if the data source runs out of data.
92
+ * @internal
93
+ */
94
+ export declare function generateRaw(tc: TestCase, schema: Record<string, unknown>): unknown;
95
+ /**
96
+ * Server-managed collection sizing.
97
+ *
98
+ * The server determines how many elements to generate based on
99
+ * min_size, max_size, and shrinking state.
100
+ */
101
+ export declare class Collection {
102
+ private dataSource;
103
+ private minSize;
104
+ private maxSize;
105
+ private collectionId;
106
+ private finished;
107
+ constructor(tc: TestCase, minSize: number, maxSize?: number);
108
+ private ensureInitialized;
109
+ /**
110
+ * Ask the server whether to produce another element.
111
+ */
112
+ more(): boolean;
113
+ /**
114
+ * Reject the last element (don't count towards size budget).
115
+ */
116
+ reject(why?: string): void;
117
+ }
118
+ //# sourceMappingURL=testCase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testCase.d.ts","sourceRoot":"","sources":["../src/testCase.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,qBAAa,aAAc,SAAQ,KAAK;;CAKvC;AAED,qBAAa,WAAY,SAAQ,KAAK;;CAKrC;AAMD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;CAgBT,CAAC;AAEX,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,MAAM,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IACnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzD,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9C,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3D,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1D,WAAW,IAAI,OAAO,CAAC;CACxB;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,SAAS,CAAK;IAEtB,gBAAgB;gBACJ,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO;IAKtD,gBAAgB;IAChB,UAAU,IAAI,UAAU;IAIxB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAWvC;;;OAGG;IACH,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IAI7C;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAMhC;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM3B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAU9B;;OAEG;IACH,QAAQ,CAAC,OAAO,UAAQ,GAAG,IAAI;CAQhC;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAElF;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAS;gBAEb,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAM3D,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,IAAI,IAAI,OAAO;IAkBf;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;CAK3B"}