@reticlehq/server 3.8.0 → 3.8.2

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 (115) hide show
  1. package/SKILL.md +2 -2
  2. package/dist/command/cli/answers/gate-hook-message.d.ts +2 -0
  3. package/dist/command/cli/answers/gate-hook-message.js +5 -1
  4. package/dist/command/cli/auth/cloud-session.d.ts +1 -19
  5. package/dist/command/cli/auth/device-flow.d.ts +3 -37
  6. package/dist/command/cli/cli-doctor.js +30 -23
  7. package/dist/command/cli/cli-flow-commands.js +7 -1
  8. package/dist/command/cli/cli-parse-serve.d.ts +24 -0
  9. package/dist/command/cli/cli-parse-serve.js +124 -0
  10. package/dist/command/cli/cli-parse.d.ts +1 -10
  11. package/dist/command/cli/cli-parse.js +62 -121
  12. package/dist/command/cli/cli-usage.js +5 -2
  13. package/dist/command/cli/cloud-link.d.ts +1 -20
  14. package/dist/command/cli/doctor/doctor-agent-link.d.ts +23 -0
  15. package/dist/command/cli/doctor/doctor-agent-link.js +28 -0
  16. package/dist/command/cli/ports/port-holder.js +6 -1
  17. package/dist/command/cli/project-name.d.ts +1 -7
  18. package/dist/command/cli/project-name.js +1 -0
  19. package/dist/command/daemon/daemon.d.ts +6 -0
  20. package/dist/command/daemon/daemon.js +52 -2
  21. package/dist/command/daemon/win32-escape.d.ts +32 -0
  22. package/dist/command/daemon/win32-escape.js +119 -0
  23. package/dist/command/setup/bringup/dev-server-files.d.ts +1 -9
  24. package/dist/command/setup/bringup/dev-server-wait.js +5 -1
  25. package/dist/command/version/version-skew.d.ts +2 -0
  26. package/dist/command/version/version-skew.js +7 -3
  27. package/dist/features/crawl/crawl-tools.js +2 -2
  28. package/dist/features/exhaust/ledger.d.ts +15 -96
  29. package/dist/features/exhaust/ledger.js +3 -3
  30. package/dist/features/license/license.d.ts +2 -14
  31. package/dist/hooks/hook-commands.js +19 -9
  32. package/dist/judgement/capsule/capsule-store.d.ts +2 -39
  33. package/dist/language/flows/annotate-tools.js +1 -1
  34. package/dist/language/flows/fields/flow-secret-field.js +1 -1
  35. package/dist/language/flows/flow-expect-grammar.js +14 -6
  36. package/dist/language/flows/flow-lease.d.ts +27 -0
  37. package/dist/language/flows/flow-lease.js +59 -0
  38. package/dist/language/flows/flow-replay-run.d.ts +1 -87
  39. package/dist/language/flows/flow-replay-run.js +88 -283
  40. package/dist/language/flows/flow-replayable.d.ts +1 -1
  41. package/dist/language/flows/flow-start-path.d.ts +108 -0
  42. package/dist/language/flows/flow-start-path.js +313 -0
  43. package/dist/language/flows/flow-tools.d.ts +2 -23
  44. package/dist/language/flows/flow-tools.js +34 -66
  45. package/dist/language/flows/recording/flake.d.ts +3 -27
  46. package/dist/language/flows/recording/flake.js +1 -1
  47. package/dist/language/flows/stores/assertion-tiers-store.js +1 -1
  48. package/dist/machine/git-tracks.js +1 -0
  49. package/dist/memory/cloud/cloud-sync.d.ts +2 -24
  50. package/dist/memory/intent/intent-shard.d.ts +41 -266
  51. package/dist/memory/journal/envelope-store.js +1 -1
  52. package/dist/memory/journal/envelope.d.ts +6 -154
  53. package/dist/memory/journal/on-disk/ambient-file.d.ts +1 -7
  54. package/dist/memory/journal/on-disk/ambient-file.js +1 -1
  55. package/dist/memory/journal/self-observation.js +3 -1
  56. package/dist/memory/journal/session-journal.js +39 -20
  57. package/dist/portal/input/drive-error.d.ts +6 -0
  58. package/dist/portal/input/drive-error.js +9 -0
  59. package/dist/portal/input/real-input-press.d.ts +34 -0
  60. package/dist/portal/input/real-input-press.js +150 -0
  61. package/dist/portal/input/real-input.d.ts +6 -23
  62. package/dist/portal/input/real-input.js +95 -192
  63. package/dist/portal/input/viewport-tools.d.ts +19 -15
  64. package/dist/portal/pool/browser-pool.d.ts +5 -55
  65. package/dist/portal/pool/browser-pool.js +121 -100
  66. package/dist/portal/pool/pool-lease.d.ts +128 -0
  67. package/dist/portal/pool/pool-lease.js +49 -0
  68. package/dist/portal/production/production-activation.d.ts +5 -27
  69. package/dist/portal/session/control-envelope.d.ts +1 -1
  70. package/dist/portal/session/zero-install-first-call.d.ts +3 -0
  71. package/dist/portal/session/zero-install-first-call.js +33 -12
  72. package/dist/surface/mcp/mcp.d.ts +3 -3
  73. package/dist/surface/mcp/mcp.js +4 -6
  74. package/dist/surface/tools/act/act-danger.js +32 -17
  75. package/dist/surface/tools/act/durable.js +1 -1
  76. package/dist/surface/tools/act-sequence-tool.js +3 -3
  77. package/dist/surface/tools/act-tools.js +15 -16
  78. package/dist/surface/tools/agent/compact-envelope.d.ts +2 -2
  79. package/dist/surface/tools/coverage-tools.js +1 -1
  80. package/dist/surface/tools/dynamic-tools.d.ts +8 -0
  81. package/dist/surface/tools/dynamic-tools.js +36 -16
  82. package/dist/surface/tools/empty-session-list.d.ts +5 -29
  83. package/dist/surface/tools/feedback-tools.js +1 -1
  84. package/dist/surface/tools/gap-novelty.d.ts +1 -1
  85. package/dist/surface/tools/gaps/capability-absences.js +4 -3
  86. package/dist/surface/tools/harness-gate.d.ts +1 -1
  87. package/dist/surface/tools/harness-toolset.js +3 -4
  88. package/dist/surface/tools/lease-permissions.d.ts +1 -1
  89. package/dist/surface/tools/lease-readiness.d.ts +23 -1
  90. package/dist/surface/tools/lease-readiness.js +75 -9
  91. package/dist/surface/tools/lease-tools.d.ts +1 -52
  92. package/dist/surface/tools/lease-tools.js +79 -142
  93. package/dist/surface/tools/observe-tools.js +3 -1
  94. package/dist/surface/tools/read-tools.js +5 -5
  95. package/dist/surface/tools/real-input-attempt.js +70 -31
  96. package/dist/surface/tools/session-ports.d.ts +57 -0
  97. package/dist/surface/tools/session-ports.js +102 -0
  98. package/dist/surface/tools/tool-kit.d.ts +5 -3
  99. package/dist/surface/tools/tools.js +1 -1
  100. package/dist/telemetry/daemon-telemetry.d.ts +3 -1
  101. package/dist/telemetry/daemon-telemetry.js +9 -2
  102. package/dist/telemetry/telemetry.d.ts +3 -1
  103. package/dist/telemetry/telemetry.js +2 -0
  104. package/docs/agent-cheatsheet.md +12 -0
  105. package/docs/cli/gate.mdx +1 -1
  106. package/docs/cli/verify.mdx +8 -1
  107. package/docs/first-drive.md +7 -0
  108. package/docs/multi-agent-testing.md +2 -0
  109. package/docs/packages/react.mdx +14 -2
  110. package/docs/packages/vite-plugin.mdx +1 -0
  111. package/docs/predicates.mdx +6 -0
  112. package/docs/skill.md +3 -3
  113. package/docs/troubleshooting.mdx +10 -0
  114. package/docs/usage.md +1 -1
  115. package/package.json +8 -9
@@ -8,13 +8,7 @@ import { z } from 'zod';
8
8
  declare const FlakeRecordSchema: z.ZodObject<{
9
9
  runs: z.ZodNumber;
10
10
  fails: z.ZodNumber;
11
- }, "strip", z.ZodTypeAny, {
12
- runs: number;
13
- fails: number;
14
- }, {
15
- runs: number;
16
- fails: number;
17
- }>;
11
+ }, z.core.$strip>;
18
12
  type FlakeRecord = z.infer<typeof FlakeRecordSchema>;
19
13
  /** Per-flow map (flow name → record). */
20
14
  export type FlakeLedger = Record<string, FlakeRecord>;
@@ -23,26 +17,8 @@ export declare const FlakeFileSchema: z.ZodObject<{
23
17
  flows: z.ZodRecord<z.ZodString, z.ZodObject<{
24
18
  runs: z.ZodNumber;
25
19
  fails: z.ZodNumber;
26
- }, "strip", z.ZodTypeAny, {
27
- runs: number;
28
- fails: number;
29
- }, {
30
- runs: number;
31
- fails: number;
32
- }>>;
33
- }, "strip", z.ZodTypeAny, {
34
- flows: Record<string, {
35
- runs: number;
36
- fails: number;
37
- }>;
38
- version: 1;
39
- }, {
40
- flows: Record<string, {
41
- runs: number;
42
- fails: number;
43
- }>;
44
- version: 1;
45
- }>;
20
+ }, z.core.$strip>>;
21
+ }, z.core.$strip>;
46
22
  export declare function emptyRecord(): FlakeRecord;
47
23
  /** Accrue one unchanged-code replay outcome. */
48
24
  export declare function recordOutcome(record: FlakeRecord, passed: boolean): FlakeRecord;
@@ -11,7 +11,7 @@ const FlakeRecordSchema = z.object({
11
11
  });
12
12
  export const FlakeFileSchema = z.object({
13
13
  version: z.literal(1),
14
- flows: z.record(FlakeRecordSchema),
14
+ flows: z.record(z.string(), FlakeRecordSchema),
15
15
  });
16
16
  /** Minimum unchanged-code replays before flakiness can be judged (too few = noise). */
17
17
  const DEFAULT_MIN_FLAKE_RUNS = 5;
@@ -19,7 +19,7 @@ import { withFileLock } from '../../../memory/project/file-lock.js';
19
19
  */
20
20
  const AssertionTiersFileSchema = z.object({
21
21
  version: z.literal(1),
22
- flows: z.record(z.object({
22
+ flows: z.record(z.string(), z.object({
23
23
  steps: z.array(z.object({ step: z.number(), expect: z.unknown().optional() })),
24
24
  /** Source files this flow covered when it last passed — lets the gate scope DELETION findings to
25
25
  * the files that actually changed, instead of flagging every intentionally-removed flow. */
@@ -21,6 +21,7 @@ export function gitTracks(path) {
21
21
  cwd: existingAncestor(path),
22
22
  stdio: 'ignore',
23
23
  timeout: GIT_TIMEOUT_MS,
24
+ windowsHide: true,
24
25
  });
25
26
  const answer = CHECK_IGNORE_NOT_IGNORED === result.status;
26
27
  tracked.set(path, answer);
@@ -118,31 +118,9 @@ declare const ServerVerificationSchema: z.ZodObject<{
118
118
  flows: z.ZodArray<z.ZodObject<{
119
119
  name: z.ZodString;
120
120
  status: z.ZodString;
121
- }, "strip", z.ZodTypeAny, {
122
- status: string;
123
- name: string;
124
- }, {
125
- status: string;
126
- name: string;
127
- }>, "many">;
121
+ }, z.core.$strip>>;
128
122
  summary: z.ZodString;
129
- }, "strip", z.ZodTypeAny, {
130
- flows: {
131
- status: string;
132
- name: string;
133
- }[];
134
- verificationId: string;
135
- verdict: string | null;
136
- summary: string;
137
- }, {
138
- flows: {
139
- status: string;
140
- name: string;
141
- }[];
142
- verificationId: string;
143
- verdict: string | null;
144
- summary: string;
145
- }>;
123
+ }, z.core.$strip>;
146
124
  export type ServerVerification = z.infer<typeof ServerVerificationSchema>;
147
125
  /**
148
126
  * Delegate a verification to the hosted runner: submit the preview URL + flow names to `POST
@@ -43,111 +43,39 @@ export type IntentStatus = (typeof IntentStatus)[keyof typeof IntentStatus];
43
43
  declare const IntentRecordSchema: z.ZodObject<{
44
44
  id: z.ZodString;
45
45
  statement: z.ZodString;
46
- state: z.ZodEnum<["declared", "bound", "proved"]>;
46
+ state: z.ZodEnum<{
47
+ proved: "proved";
48
+ declared: "declared";
49
+ bound: "bound";
50
+ }>;
47
51
  declaredAt: z.ZodNumber;
48
52
  binding: z.ZodOptional<z.ZodUnknown>;
49
53
  surface: z.ZodOptional<z.ZodObject<{
50
54
  route: z.ZodOptional<z.ZodString>;
51
55
  flow: z.ZodOptional<z.ZodString>;
52
- files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
53
- }, "strip", z.ZodTypeAny, {
54
- route?: string | undefined;
55
- flow?: string | undefined;
56
- files?: string[] | undefined;
57
- }, {
58
- route?: string | undefined;
59
- flow?: string | undefined;
60
- files?: string[] | undefined;
61
- }>>;
56
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
+ }, z.core.$strip>>;
62
58
  provenBy: z.ZodOptional<z.ZodObject<{
63
59
  verdictId: z.ZodString;
64
60
  grade: z.ZodString;
65
61
  at: z.ZodNumber;
66
62
  runId: z.ZodOptional<z.ZodString>;
67
- }, "strip", z.ZodTypeAny, {
68
- at: number;
69
- grade: string;
70
- verdictId: string;
71
- runId?: string | undefined;
72
- }, {
73
- at: number;
74
- grade: string;
75
- verdictId: string;
76
- runId?: string | undefined;
77
- }>>;
63
+ }, z.core.$strip>>;
78
64
  amended: z.ZodOptional<z.ZodArray<z.ZodObject<{
79
65
  statement: z.ZodString;
80
66
  at: z.ZodNumber;
81
- }, "strip", z.ZodTypeAny, {
82
- at: number;
83
- statement: string;
84
- }, {
85
- at: number;
86
- statement: string;
87
- }>, "many">>;
88
- } & {
89
- /** Which shard this lives in. Stored as well as implied, so a file read alone is self-describing. */
67
+ }, z.core.$strip>>>;
90
68
  subject: z.ZodString;
91
- status: z.ZodEnum<["proposed", "agreed", "proved", "stale"]>;
92
- /** WHY it must be true. The half the old file had no room for. */
69
+ status: z.ZodEnum<{
70
+ proved: "proved";
71
+ proposed: "proposed";
72
+ agreed: "agreed";
73
+ stale: "stale";
74
+ }>;
93
75
  why: z.ZodOptional<z.ZodString>;
94
- /** Where it came from — "the user, in conversation" beats an anonymous assertion in six months. */
95
76
  source: z.ZodOptional<z.ZodString>;
96
- /** When it was last touched, so a stale-looking record can be told from an untouched one. */
97
77
  updatedAt: z.ZodOptional<z.ZodNumber>;
98
- }, "strip", z.ZodTypeAny, {
99
- status: "proved" | "proposed" | "agreed" | "stale";
100
- state: "proved" | "declared" | "bound";
101
- id: string;
102
- subject: string;
103
- statement: string;
104
- declaredAt: number;
105
- surface?: {
106
- route?: string | undefined;
107
- flow?: string | undefined;
108
- files?: string[] | undefined;
109
- } | undefined;
110
- source?: string | undefined;
111
- why?: string | undefined;
112
- updatedAt?: number | undefined;
113
- binding?: unknown;
114
- provenBy?: {
115
- at: number;
116
- grade: string;
117
- verdictId: string;
118
- runId?: string | undefined;
119
- } | undefined;
120
- amended?: {
121
- at: number;
122
- statement: string;
123
- }[] | undefined;
124
- }, {
125
- status: "proved" | "proposed" | "agreed" | "stale";
126
- state: "proved" | "declared" | "bound";
127
- id: string;
128
- subject: string;
129
- statement: string;
130
- declaredAt: number;
131
- surface?: {
132
- route?: string | undefined;
133
- flow?: string | undefined;
134
- files?: string[] | undefined;
135
- } | undefined;
136
- source?: string | undefined;
137
- why?: string | undefined;
138
- updatedAt?: number | undefined;
139
- binding?: unknown;
140
- provenBy?: {
141
- at: number;
142
- grade: string;
143
- verdictId: string;
144
- runId?: string | undefined;
145
- } | undefined;
146
- amended?: {
147
- at: number;
148
- statement: string;
149
- }[] | undefined;
150
- }>;
78
+ }, z.core.$strip>;
151
79
  export type IntentRecord = z.infer<typeof IntentRecordSchema>;
152
80
  export declare const IntentShardSchema: z.ZodObject<{
153
81
  version: z.ZodLiteral<1>;
@@ -155,172 +83,40 @@ export declare const IntentShardSchema: z.ZodObject<{
155
83
  intents: z.ZodRecord<z.ZodString, z.ZodObject<{
156
84
  id: z.ZodString;
157
85
  statement: z.ZodString;
158
- state: z.ZodEnum<["declared", "bound", "proved"]>;
86
+ state: z.ZodEnum<{
87
+ proved: "proved";
88
+ declared: "declared";
89
+ bound: "bound";
90
+ }>;
159
91
  declaredAt: z.ZodNumber;
160
92
  binding: z.ZodOptional<z.ZodUnknown>;
161
93
  surface: z.ZodOptional<z.ZodObject<{
162
94
  route: z.ZodOptional<z.ZodString>;
163
95
  flow: z.ZodOptional<z.ZodString>;
164
- files: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
165
- }, "strip", z.ZodTypeAny, {
166
- route?: string | undefined;
167
- flow?: string | undefined;
168
- files?: string[] | undefined;
169
- }, {
170
- route?: string | undefined;
171
- flow?: string | undefined;
172
- files?: string[] | undefined;
173
- }>>;
96
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
97
+ }, z.core.$strip>>;
174
98
  provenBy: z.ZodOptional<z.ZodObject<{
175
99
  verdictId: z.ZodString;
176
100
  grade: z.ZodString;
177
101
  at: z.ZodNumber;
178
102
  runId: z.ZodOptional<z.ZodString>;
179
- }, "strip", z.ZodTypeAny, {
180
- at: number;
181
- grade: string;
182
- verdictId: string;
183
- runId?: string | undefined;
184
- }, {
185
- at: number;
186
- grade: string;
187
- verdictId: string;
188
- runId?: string | undefined;
189
- }>>;
103
+ }, z.core.$strip>>;
190
104
  amended: z.ZodOptional<z.ZodArray<z.ZodObject<{
191
105
  statement: z.ZodString;
192
106
  at: z.ZodNumber;
193
- }, "strip", z.ZodTypeAny, {
194
- at: number;
195
- statement: string;
196
- }, {
197
- at: number;
198
- statement: string;
199
- }>, "many">>;
200
- } & {
201
- /** Which shard this lives in. Stored as well as implied, so a file read alone is self-describing. */
107
+ }, z.core.$strip>>>;
202
108
  subject: z.ZodString;
203
- status: z.ZodEnum<["proposed", "agreed", "proved", "stale"]>;
204
- /** WHY it must be true. The half the old file had no room for. */
109
+ status: z.ZodEnum<{
110
+ proved: "proved";
111
+ proposed: "proposed";
112
+ agreed: "agreed";
113
+ stale: "stale";
114
+ }>;
205
115
  why: z.ZodOptional<z.ZodString>;
206
- /** Where it came from — "the user, in conversation" beats an anonymous assertion in six months. */
207
116
  source: z.ZodOptional<z.ZodString>;
208
- /** When it was last touched, so a stale-looking record can be told from an untouched one. */
209
117
  updatedAt: z.ZodOptional<z.ZodNumber>;
210
- }, "strip", z.ZodTypeAny, {
211
- status: "proved" | "proposed" | "agreed" | "stale";
212
- state: "proved" | "declared" | "bound";
213
- id: string;
214
- subject: string;
215
- statement: string;
216
- declaredAt: number;
217
- surface?: {
218
- route?: string | undefined;
219
- flow?: string | undefined;
220
- files?: string[] | undefined;
221
- } | undefined;
222
- source?: string | undefined;
223
- why?: string | undefined;
224
- updatedAt?: number | undefined;
225
- binding?: unknown;
226
- provenBy?: {
227
- at: number;
228
- grade: string;
229
- verdictId: string;
230
- runId?: string | undefined;
231
- } | undefined;
232
- amended?: {
233
- at: number;
234
- statement: string;
235
- }[] | undefined;
236
- }, {
237
- status: "proved" | "proposed" | "agreed" | "stale";
238
- state: "proved" | "declared" | "bound";
239
- id: string;
240
- subject: string;
241
- statement: string;
242
- declaredAt: number;
243
- surface?: {
244
- route?: string | undefined;
245
- flow?: string | undefined;
246
- files?: string[] | undefined;
247
- } | undefined;
248
- source?: string | undefined;
249
- why?: string | undefined;
250
- updatedAt?: number | undefined;
251
- binding?: unknown;
252
- provenBy?: {
253
- at: number;
254
- grade: string;
255
- verdictId: string;
256
- runId?: string | undefined;
257
- } | undefined;
258
- amended?: {
259
- at: number;
260
- statement: string;
261
- }[] | undefined;
262
- }>>;
263
- }, "strip", z.ZodTypeAny, {
264
- version: 1;
265
- intents: Record<string, {
266
- status: "proved" | "proposed" | "agreed" | "stale";
267
- state: "proved" | "declared" | "bound";
268
- id: string;
269
- subject: string;
270
- statement: string;
271
- declaredAt: number;
272
- surface?: {
273
- route?: string | undefined;
274
- flow?: string | undefined;
275
- files?: string[] | undefined;
276
- } | undefined;
277
- source?: string | undefined;
278
- why?: string | undefined;
279
- updatedAt?: number | undefined;
280
- binding?: unknown;
281
- provenBy?: {
282
- at: number;
283
- grade: string;
284
- verdictId: string;
285
- runId?: string | undefined;
286
- } | undefined;
287
- amended?: {
288
- at: number;
289
- statement: string;
290
- }[] | undefined;
291
- }>;
292
- subject: string;
293
- }, {
294
- version: 1;
295
- intents: Record<string, {
296
- status: "proved" | "proposed" | "agreed" | "stale";
297
- state: "proved" | "declared" | "bound";
298
- id: string;
299
- subject: string;
300
- statement: string;
301
- declaredAt: number;
302
- surface?: {
303
- route?: string | undefined;
304
- flow?: string | undefined;
305
- files?: string[] | undefined;
306
- } | undefined;
307
- source?: string | undefined;
308
- why?: string | undefined;
309
- updatedAt?: number | undefined;
310
- binding?: unknown;
311
- provenBy?: {
312
- at: number;
313
- grade: string;
314
- verdictId: string;
315
- runId?: string | undefined;
316
- } | undefined;
317
- amended?: {
318
- at: number;
319
- statement: string;
320
- }[] | undefined;
321
- }>;
322
- subject: string;
323
- }>;
118
+ }, z.core.$strip>>;
119
+ }, z.core.$strip>;
324
120
  export type IntentShard = z.infer<typeof IntentShardSchema>;
325
121
  export declare const IntentIndexSchema: z.ZodObject<{
326
122
  version: z.ZodLiteral<1>;
@@ -328,35 +124,14 @@ export declare const IntentIndexSchema: z.ZodObject<{
328
124
  id: z.ZodString;
329
125
  subject: z.ZodString;
330
126
  statement: z.ZodString;
331
- status: z.ZodEnum<["proposed", "agreed", "proved", "stale"]>;
332
- }, "strip", z.ZodTypeAny, {
333
- status: "proved" | "proposed" | "agreed" | "stale";
334
- id: string;
335
- subject: string;
336
- statement: string;
337
- }, {
338
- status: "proved" | "proposed" | "agreed" | "stale";
339
- id: string;
340
- subject: string;
341
- statement: string;
342
- }>, "many">;
343
- }, "strip", z.ZodTypeAny, {
344
- entries: {
345
- status: "proved" | "proposed" | "agreed" | "stale";
346
- id: string;
347
- subject: string;
348
- statement: string;
349
- }[];
350
- version: 1;
351
- }, {
352
- entries: {
353
- status: "proved" | "proposed" | "agreed" | "stale";
354
- id: string;
355
- subject: string;
356
- statement: string;
357
- }[];
358
- version: 1;
359
- }>;
127
+ status: z.ZodEnum<{
128
+ proved: "proved";
129
+ proposed: "proposed";
130
+ agreed: "agreed";
131
+ stale: "stale";
132
+ }>;
133
+ }, z.core.$strip>>;
134
+ }, z.core.$strip>;
360
135
  export type IntentIndex = z.infer<typeof IntentIndexSchema>;
361
136
  export declare const emptyShard: (subject: string) => IntentShard;
362
137
  /** The verification lifecycle a legacy record carried, mapped onto the settledness axis. */
@@ -7,7 +7,7 @@ import { RouteEnvelopeSchema } from './envelope.js';
7
7
  const ENVELOPE_FILE_VERSION = 1;
8
8
  const EnvelopeFileSchema = z.object({
9
9
  version: z.literal(ENVELOPE_FILE_VERSION),
10
- routes: z.record(RouteEnvelopeSchema),
10
+ routes: z.record(z.string(), RouteEnvelopeSchema),
11
11
  });
12
12
  /**
13
13
  * Persists the learned per-route envelopes at `.reticle/envelopes.json`. Local, single-project statistics
@@ -41,175 +41,27 @@ export declare const RouteEnvelopeSchema: z.ZodObject<{
41
41
  mean: z.ZodNumber;
42
42
  m2: z.ZodNumber;
43
43
  max: z.ZodNumber;
44
- }, "strip", z.ZodTypeAny, {
45
- count: number;
46
- mean: number;
47
- m2: number;
48
- max: number;
49
- }, {
50
- count: number;
51
- mean: number;
52
- m2: number;
53
- max: number;
54
- }>;
44
+ }, z.core.$strip>;
55
45
  net: z.ZodObject<{
56
46
  count: z.ZodNumber;
57
47
  mean: z.ZodNumber;
58
48
  m2: z.ZodNumber;
59
49
  max: z.ZodNumber;
60
- }, "strip", z.ZodTypeAny, {
61
- count: number;
62
- mean: number;
63
- m2: number;
64
- max: number;
65
- }, {
66
- count: number;
67
- mean: number;
68
- m2: number;
69
- max: number;
70
- }>;
50
+ }, z.core.$strip>;
71
51
  netErrors: z.ZodObject<{
72
52
  count: z.ZodNumber;
73
53
  mean: z.ZodNumber;
74
54
  m2: z.ZodNumber;
75
55
  max: z.ZodNumber;
76
- }, "strip", z.ZodTypeAny, {
77
- count: number;
78
- mean: number;
79
- m2: number;
80
- max: number;
81
- }, {
82
- count: number;
83
- mean: number;
84
- m2: number;
85
- max: number;
86
- }>;
56
+ }, z.core.$strip>;
87
57
  consoleErrors: z.ZodObject<{
88
58
  count: z.ZodNumber;
89
59
  mean: z.ZodNumber;
90
60
  m2: z.ZodNumber;
91
61
  max: z.ZodNumber;
92
- }, "strip", z.ZodTypeAny, {
93
- count: number;
94
- mean: number;
95
- m2: number;
96
- max: number;
97
- }, {
98
- count: number;
99
- mean: number;
100
- m2: number;
101
- max: number;
102
- }>;
103
- }, "strip", z.ZodTypeAny, {
104
- net: {
105
- count: number;
106
- mean: number;
107
- m2: number;
108
- max: number;
109
- };
110
- durationMs: {
111
- count: number;
112
- mean: number;
113
- m2: number;
114
- max: number;
115
- };
116
- consoleErrors: {
117
- count: number;
118
- mean: number;
119
- m2: number;
120
- max: number;
121
- };
122
- netErrors: {
123
- count: number;
124
- mean: number;
125
- m2: number;
126
- max: number;
127
- };
128
- }, {
129
- net: {
130
- count: number;
131
- mean: number;
132
- m2: number;
133
- max: number;
134
- };
135
- durationMs: {
136
- count: number;
137
- mean: number;
138
- m2: number;
139
- max: number;
140
- };
141
- consoleErrors: {
142
- count: number;
143
- mean: number;
144
- m2: number;
145
- max: number;
146
- };
147
- netErrors: {
148
- count: number;
149
- mean: number;
150
- m2: number;
151
- max: number;
152
- };
153
- }>;
154
- }, "strip", z.ZodTypeAny, {
155
- route: string;
156
- samples: number;
157
- stats: {
158
- net: {
159
- count: number;
160
- mean: number;
161
- m2: number;
162
- max: number;
163
- };
164
- durationMs: {
165
- count: number;
166
- mean: number;
167
- m2: number;
168
- max: number;
169
- };
170
- consoleErrors: {
171
- count: number;
172
- mean: number;
173
- m2: number;
174
- max: number;
175
- };
176
- netErrors: {
177
- count: number;
178
- mean: number;
179
- m2: number;
180
- max: number;
181
- };
182
- };
183
- }, {
184
- route: string;
185
- samples: number;
186
- stats: {
187
- net: {
188
- count: number;
189
- mean: number;
190
- m2: number;
191
- max: number;
192
- };
193
- durationMs: {
194
- count: number;
195
- mean: number;
196
- m2: number;
197
- max: number;
198
- };
199
- consoleErrors: {
200
- count: number;
201
- mean: number;
202
- m2: number;
203
- max: number;
204
- };
205
- netErrors: {
206
- count: number;
207
- mean: number;
208
- m2: number;
209
- max: number;
210
- };
211
- };
212
- }>;
62
+ }, z.core.$strip>;
63
+ }, z.core.$strip>;
64
+ }, z.core.$strip>;
213
65
  export declare function emptyEnvelope(route: string): RouteEnvelope;
214
66
  /** Fold one observed segment into the envelope as a new sample. */
215
67
  export declare function addSegmentToEnvelope(envelope: RouteEnvelope, segment: SegmentRollup): RouteEnvelope;
@@ -12,10 +12,4 @@ import { z } from 'zod';
12
12
  export declare const AmbientFileSchema: z.ZodObject<{
13
13
  version: z.ZodLiteral<1>;
14
14
  regions: z.ZodRecord<z.ZodString, z.ZodNumber>;
15
- }, "strip", z.ZodTypeAny, {
16
- version: 1;
17
- regions: Record<string, number>;
18
- }, {
19
- version: 1;
20
- regions: Record<string, number>;
21
- }>;
15
+ }, z.core.$strip>;
@@ -11,5 +11,5 @@ import { z } from 'zod';
11
11
  */
12
12
  export const AmbientFileSchema = z.object({
13
13
  version: z.literal(1),
14
- regions: z.record(z.number()),
14
+ regions: z.record(z.string(), z.number()),
15
15
  });