peaks-loop 4.0.21 → 4.0.24

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 (57) hide show
  1. package/CHANGELOG.md +109 -0
  2. package/dist/cli/commands/_register.js +2 -1
  3. package/dist/cli/commands/best-practice-scan-command.d.ts +36 -0
  4. package/dist/cli/commands/best-practice-scan-command.js +118 -0
  5. package/dist/cli/commands/request-commands.js +21 -9
  6. package/dist/services/best-practice/language-detector.d.ts +7 -0
  7. package/dist/services/best-practice/language-detector.js +96 -0
  8. package/dist/services/best-practice/output-formatter.d.ts +41 -0
  9. package/dist/services/best-practice/output-formatter.js +116 -0
  10. package/dist/services/best-practice/scan-orchestrator.d.ts +39 -0
  11. package/dist/services/best-practice/scan-orchestrator.js +85 -0
  12. package/dist/services/context/collector.d.ts +5 -12
  13. package/dist/services/context/context-builder.d.ts +12 -20
  14. package/dist/services/context/context-builder.js +1 -1
  15. package/dist/services/context/context-schema.d.ts +51 -364
  16. package/dist/services/context/context-schema.js +3 -3
  17. package/dist/services/crystallization/crystallization-service.d.ts +2 -12
  18. package/dist/services/crystallization/crystallization-service.js +3 -9
  19. package/dist/services/crystallization/crystallization-types.d.ts +45 -153
  20. package/dist/services/crystallization/crystallization-types.js +17 -11
  21. package/dist/services/crystallization/evidence-brief-builder.d.ts +12 -112
  22. package/dist/services/evolution/evolution-types.d.ts +83 -497
  23. package/dist/services/evolution/evolution-types.js +6 -10
  24. package/dist/services/fixture/fixture-sanitize-service.d.ts +10 -36
  25. package/dist/services/fixture/fixture-sanitize-service.js +1 -1
  26. package/dist/services/job/job-progress-store.d.ts +1 -17
  27. package/dist/services/job/job-progress-store.js +2 -2
  28. package/dist/services/job/job-types.d.ts +63 -370
  29. package/dist/services/job/job-types.js +46 -11
  30. package/dist/services/loop/loop-bee-relation-types.d.ts +20 -32
  31. package/dist/services/loop/loop-bee-relation-types.js +2 -2
  32. package/dist/services/loop/loop-release-types.d.ts +31 -110
  33. package/dist/services/migrate-skill-name/schema.d.ts +3 -19
  34. package/dist/services/migrate-skill-name/schema.js +4 -4
  35. package/dist/services/observability/observability-service.d.ts +21 -19
  36. package/dist/services/observability/observability-service.js +1 -1
  37. package/dist/services/prd/best-practice-auto-trigger.d.ts +61 -0
  38. package/dist/services/prd/best-practice-auto-trigger.js +126 -0
  39. package/dist/services/rd/types.d.ts +25 -194
  40. package/dist/services/sediment/json-schema.d.ts +39 -224
  41. package/dist/services/sediment/json-schema.js +2 -2
  42. package/dist/services/session/binding-store.d.ts +5 -47
  43. package/dist/services/session/binding-store.js +1 -1
  44. package/dist/services/share/bundle-types.d.ts +12 -180
  45. package/dist/services/share/bundle-types.js +15 -9
  46. package/dist/services/share/run-state-contract.d.ts +8 -25
  47. package/dist/services/skill/skill-search-service.d.ts +26 -46
  48. package/dist/services/skill/skill-search-service.js +2 -2
  49. package/dist/services/skills/hooks-settings-service.d.ts +9 -0
  50. package/dist/services/skills/hooks-settings-service.js +31 -1
  51. package/dist/services/skills/skill-presence-service.d.ts +24 -0
  52. package/dist/services/skills/skill-presence-service.js +33 -0
  53. package/package.json +8 -8
  54. package/schemas/context.schema.json +17 -8
  55. package/skills/bee/peaks-prd/SKILL.md +17 -0
  56. package/skills/peaks-code/SKILL.md +28 -1
  57. package/skills/peaks-code/references/skill-presence-and-title.md +3 -3
@@ -11,43 +11,13 @@ export declare const StrategyOutputSchema: z.ZodObject<{
11
11
  generatedAt: z.ZodString;
12
12
  goal: z.ZodString;
13
13
  rootCauseAnalysis: z.ZodString;
14
- impactSurface: z.ZodArray<z.ZodString, "many">;
14
+ impactSurface: z.ZodArray<z.ZodString>;
15
15
  designRationale: z.ZodString;
16
16
  askUserQuestion: z.ZodOptional<z.ZodObject<{
17
17
  question: z.ZodString;
18
- options: z.ZodArray<z.ZodString, "many">;
19
- }, "strip", z.ZodTypeAny, {
20
- options: string[];
21
- question: string;
22
- }, {
23
- options: string[];
24
- question: string;
25
- }>>;
26
- }, "strip", z.ZodTypeAny, {
27
- version: "1.0";
28
- goal: string;
29
- sha256: string;
30
- generatedAt: string;
31
- rootCauseAnalysis: string;
32
- impactSurface: string[];
33
- designRationale: string;
34
- askUserQuestion?: {
35
- options: string[];
36
- question: string;
37
- } | undefined;
38
- }, {
39
- version: "1.0";
40
- goal: string;
41
- sha256: string;
42
- generatedAt: string;
43
- rootCauseAnalysis: string;
44
- impactSurface: string[];
45
- designRationale: string;
46
- askUserQuestion?: {
47
- options: string[];
48
- question: string;
49
- } | undefined;
50
- }>;
18
+ options: z.ZodArray<z.ZodString>;
19
+ }, z.core.$strip>>;
20
+ }, z.core.$strip>;
51
21
  export type StrategyOutput = z.infer<typeof StrategyOutputSchema>;
52
22
  export declare const AstViolationSchema: z.ZodObject<{
53
23
  file: z.ZodString;
@@ -55,22 +25,11 @@ export declare const AstViolationSchema: z.ZodObject<{
55
25
  api: z.ZodString;
56
26
  expectedVersion: z.ZodString;
57
27
  actualVersion: z.ZodString;
58
- severity: z.ZodEnum<["error", "warning"]>;
59
- }, "strip", z.ZodTypeAny, {
60
- file: string;
61
- api: string;
62
- severity: "error" | "warning";
63
- line: number;
64
- expectedVersion: string;
65
- actualVersion: string;
66
- }, {
67
- file: string;
68
- api: string;
69
- severity: "error" | "warning";
70
- line: number;
71
- expectedVersion: string;
72
- actualVersion: string;
73
- }>;
28
+ severity: z.ZodEnum<{
29
+ error: "error";
30
+ warning: "warning";
31
+ }>;
32
+ }, z.core.$strip>;
74
33
  export declare const AstGateResultSchema: z.ZodObject<{
75
34
  passed: z.ZodBoolean;
76
35
  violations: z.ZodArray<z.ZodObject<{
@@ -79,81 +38,30 @@ export declare const AstGateResultSchema: z.ZodObject<{
79
38
  api: z.ZodString;
80
39
  expectedVersion: z.ZodString;
81
40
  actualVersion: z.ZodString;
82
- severity: z.ZodEnum<["error", "warning"]>;
83
- }, "strip", z.ZodTypeAny, {
84
- file: string;
85
- api: string;
86
- severity: "error" | "warning";
87
- line: number;
88
- expectedVersion: string;
89
- actualVersion: string;
90
- }, {
91
- file: string;
92
- api: string;
93
- severity: "error" | "warning";
94
- line: number;
95
- expectedVersion: string;
96
- actualVersion: string;
97
- }>, "many">;
98
- }, "strip", z.ZodTypeAny, {
99
- passed: boolean;
100
- violations: {
101
- file: string;
102
- api: string;
103
- severity: "error" | "warning";
104
- line: number;
105
- expectedVersion: string;
106
- actualVersion: string;
107
- }[];
108
- }, {
109
- passed: boolean;
110
- violations: {
111
- file: string;
112
- api: string;
113
- severity: "error" | "warning";
114
- line: number;
115
- expectedVersion: string;
116
- actualVersion: string;
117
- }[];
118
- }>;
41
+ severity: z.ZodEnum<{
42
+ error: "error";
43
+ warning: "warning";
44
+ }>;
45
+ }, z.core.$strip>>;
46
+ }, z.core.$strip>;
119
47
  export declare const ExternalApiCallSchema: z.ZodObject<{
120
48
  file: z.ZodString;
121
49
  line: z.ZodNumber;
122
50
  api: z.ZodString;
123
51
  version: z.ZodString;
124
- }, "strip", z.ZodTypeAny, {
125
- version: string;
126
- file: string;
127
- api: string;
128
- line: number;
129
- }, {
130
- version: string;
131
- file: string;
132
- api: string;
133
- line: number;
134
- }>;
52
+ }, z.core.$strip>;
135
53
  export declare const ImplOutputSchema: z.ZodObject<{
136
54
  version: z.ZodLiteral<"1.0">;
137
55
  sha256: z.ZodString;
138
56
  generatedAt: z.ZodString;
139
57
  inputSig: z.ZodString;
140
- changedFiles: z.ZodArray<z.ZodString, "many">;
58
+ changedFiles: z.ZodArray<z.ZodString>;
141
59
  externalApiCalls: z.ZodArray<z.ZodObject<{
142
60
  file: z.ZodString;
143
61
  line: z.ZodNumber;
144
62
  api: z.ZodString;
145
63
  version: z.ZodString;
146
- }, "strip", z.ZodTypeAny, {
147
- version: string;
148
- file: string;
149
- api: string;
150
- line: number;
151
- }, {
152
- version: string;
153
- file: string;
154
- api: string;
155
- line: number;
156
- }>, "many">;
64
+ }, z.core.$strip>>;
157
65
  astGateResult: z.ZodObject<{
158
66
  passed: z.ZodBoolean;
159
67
  violations: z.ZodArray<z.ZodObject<{
@@ -162,90 +70,13 @@ export declare const ImplOutputSchema: z.ZodObject<{
162
70
  api: z.ZodString;
163
71
  expectedVersion: z.ZodString;
164
72
  actualVersion: z.ZodString;
165
- severity: z.ZodEnum<["error", "warning"]>;
166
- }, "strip", z.ZodTypeAny, {
167
- file: string;
168
- api: string;
169
- severity: "error" | "warning";
170
- line: number;
171
- expectedVersion: string;
172
- actualVersion: string;
173
- }, {
174
- file: string;
175
- api: string;
176
- severity: "error" | "warning";
177
- line: number;
178
- expectedVersion: string;
179
- actualVersion: string;
180
- }>, "many">;
181
- }, "strip", z.ZodTypeAny, {
182
- passed: boolean;
183
- violations: {
184
- file: string;
185
- api: string;
186
- severity: "error" | "warning";
187
- line: number;
188
- expectedVersion: string;
189
- actualVersion: string;
190
- }[];
191
- }, {
192
- passed: boolean;
193
- violations: {
194
- file: string;
195
- api: string;
196
- severity: "error" | "warning";
197
- line: number;
198
- expectedVersion: string;
199
- actualVersion: string;
200
- }[];
201
- }>;
202
- }, "strip", z.ZodTypeAny, {
203
- version: "1.0";
204
- sha256: string;
205
- generatedAt: string;
206
- changedFiles: string[];
207
- inputSig: string;
208
- externalApiCalls: {
209
- version: string;
210
- file: string;
211
- api: string;
212
- line: number;
213
- }[];
214
- astGateResult: {
215
- passed: boolean;
216
- violations: {
217
- file: string;
218
- api: string;
219
- severity: "error" | "warning";
220
- line: number;
221
- expectedVersion: string;
222
- actualVersion: string;
223
- }[];
224
- };
225
- }, {
226
- version: "1.0";
227
- sha256: string;
228
- generatedAt: string;
229
- changedFiles: string[];
230
- inputSig: string;
231
- externalApiCalls: {
232
- version: string;
233
- file: string;
234
- api: string;
235
- line: number;
236
- }[];
237
- astGateResult: {
238
- passed: boolean;
239
- violations: {
240
- file: string;
241
- api: string;
242
- severity: "error" | "warning";
243
- line: number;
244
- expectedVersion: string;
245
- actualVersion: string;
246
- }[];
247
- };
248
- }>;
73
+ severity: z.ZodEnum<{
74
+ error: "error";
75
+ warning: "warning";
76
+ }>;
77
+ }, z.core.$strip>>;
78
+ }, z.core.$strip>;
79
+ }, z.core.$strip>;
249
80
  export type ImplOutput = z.infer<typeof ImplOutputSchema>;
250
81
  export type AstViolation = z.infer<typeof AstViolationSchema>;
251
82
  export type AstGateResult = z.infer<typeof AstGateResultSchema>;
@@ -1,247 +1,62 @@
1
1
  import { z } from "zod";
2
- export declare const BeeManifestSchema: z.ZodEffects<z.ZodObject<{
2
+ export declare const BeeManifestSchema: z.ZodObject<{
3
3
  schemaVersion: z.ZodLiteral<"peaks.bee/1">;
4
4
  name: z.ZodString;
5
- source: z.ZodEnum<["system", "user"]>;
6
- promotion_status: z.ZodEnum<["candidate", "stable", "retired", "system-stable"]>;
5
+ source: z.ZodEnum<{
6
+ user: "user";
7
+ system: "system";
8
+ }>;
9
+ promotion_status: z.ZodEnum<{
10
+ candidate: "candidate";
11
+ stable: "stable";
12
+ retired: "retired";
13
+ "system-stable": "system-stable";
14
+ }>;
7
15
  description: z.ZodString;
8
16
  segments: z.ZodArray<z.ZodObject<{
9
17
  name: z.ZodString;
10
18
  inputs: z.ZodArray<z.ZodObject<{
11
19
  name: z.ZodString;
12
- type: z.ZodEnum<["string", "number", "boolean", "json"]>;
20
+ type: z.ZodEnum<{
21
+ string: "string";
22
+ number: "number";
23
+ boolean: "boolean";
24
+ json: "json";
25
+ }>;
13
26
  required: z.ZodBoolean;
14
- }, "strip", z.ZodTypeAny, {
15
- name: string;
16
- type: "string" | "number" | "boolean" | "json";
17
- required: boolean;
18
- }, {
19
- name: string;
20
- type: "string" | "number" | "boolean" | "json";
21
- required: boolean;
22
- }>, "many">;
27
+ }, z.core.$strip>>;
23
28
  outputs: z.ZodArray<z.ZodObject<{
24
29
  name: z.ZodString;
25
- type: z.ZodEnum<["string", "number", "boolean", "json"]>;
30
+ type: z.ZodEnum<{
31
+ string: "string";
32
+ number: "number";
33
+ boolean: "boolean";
34
+ json: "json";
35
+ }>;
26
36
  required: z.ZodBoolean;
27
- }, "strip", z.ZodTypeAny, {
28
- name: string;
29
- type: "string" | "number" | "boolean" | "json";
30
- required: boolean;
31
- }, {
32
- name: string;
33
- type: "string" | "number" | "boolean" | "json";
34
- required: boolean;
35
- }>, "many">;
36
- sideEffects: z.ZodArray<z.ZodString, "many">;
37
- }, "strip", z.ZodTypeAny, {
38
- name: string;
39
- outputs: {
40
- name: string;
41
- type: "string" | "number" | "boolean" | "json";
42
- required: boolean;
43
- }[];
44
- inputs: {
45
- name: string;
46
- type: "string" | "number" | "boolean" | "json";
47
- required: boolean;
48
- }[];
49
- sideEffects: string[];
50
- }, {
51
- name: string;
52
- outputs: {
53
- name: string;
54
- type: "string" | "number" | "boolean" | "json";
55
- required: boolean;
56
- }[];
57
- inputs: {
58
- name: string;
59
- type: "string" | "number" | "boolean" | "json";
60
- required: boolean;
61
- }[];
62
- sideEffects: string[];
63
- }>, "many">;
37
+ }, z.core.$strip>>;
38
+ sideEffects: z.ZodArray<z.ZodString>;
39
+ }, z.core.$strip>>;
64
40
  entrypoint: z.ZodObject<{
65
41
  preamble: z.ZodString;
66
42
  refs: z.ZodArray<z.ZodObject<{
67
43
  path: z.ZodString;
68
- kind: z.ZodEnum<["file", "dir", "script"]>;
69
- }, "strip", z.ZodTypeAny, {
70
- path: string;
71
- kind: "file" | "dir" | "script";
72
- }, {
73
- path: string;
74
- kind: "file" | "dir" | "script";
75
- }>, "many">;
76
- }, "strip", z.ZodTypeAny, {
77
- preamble: string;
78
- refs: {
79
- path: string;
80
- kind: "file" | "dir" | "script";
81
- }[];
82
- }, {
83
- preamble: string;
84
- refs: {
85
- path: string;
86
- kind: "file" | "dir" | "script";
87
- }[];
88
- }>;
44
+ kind: z.ZodEnum<{
45
+ file: "file";
46
+ dir: "dir";
47
+ script: "script";
48
+ }>;
49
+ }, z.core.$strip>>;
50
+ }, z.core.$strip>;
89
51
  promotion: z.ZodObject<{
90
52
  minCycles: z.ZodNumber;
91
53
  requiresHumanApproval: z.ZodBoolean;
92
54
  requiresSmokeTest: z.ZodBoolean;
93
55
  retireOnMissesInRow: z.ZodOptional<z.ZodNumber>;
94
- }, "strip", z.ZodTypeAny, {
95
- minCycles: number;
96
- requiresHumanApproval: boolean;
97
- requiresSmokeTest: boolean;
98
- retireOnMissesInRow?: number | undefined;
99
- }, {
100
- minCycles: number;
101
- requiresHumanApproval: boolean;
102
- requiresSmokeTest: boolean;
103
- retireOnMissesInRow?: number | undefined;
56
+ }, z.core.$strip>;
57
+ createdBy: z.ZodEnum<{
58
+ llm: "llm";
59
+ human: "human";
104
60
  }>;
105
- createdBy: z.ZodEnum<["human", "llm"]>;
106
61
  lastTouchedAt: z.ZodString;
107
- }, "strip", z.ZodTypeAny, {
108
- name: string;
109
- description: string;
110
- schemaVersion: "peaks.bee/1";
111
- segments: {
112
- name: string;
113
- outputs: {
114
- name: string;
115
- type: "string" | "number" | "boolean" | "json";
116
- required: boolean;
117
- }[];
118
- inputs: {
119
- name: string;
120
- type: "string" | "number" | "boolean" | "json";
121
- required: boolean;
122
- }[];
123
- sideEffects: string[];
124
- }[];
125
- promotion: {
126
- minCycles: number;
127
- requiresHumanApproval: boolean;
128
- requiresSmokeTest: boolean;
129
- retireOnMissesInRow?: number | undefined;
130
- };
131
- source: "user" | "system";
132
- promotion_status: "candidate" | "stable" | "retired" | "system-stable";
133
- entrypoint: {
134
- preamble: string;
135
- refs: {
136
- path: string;
137
- kind: "file" | "dir" | "script";
138
- }[];
139
- };
140
- createdBy: "llm" | "human";
141
- lastTouchedAt: string;
142
- }, {
143
- name: string;
144
- description: string;
145
- schemaVersion: "peaks.bee/1";
146
- segments: {
147
- name: string;
148
- outputs: {
149
- name: string;
150
- type: "string" | "number" | "boolean" | "json";
151
- required: boolean;
152
- }[];
153
- inputs: {
154
- name: string;
155
- type: "string" | "number" | "boolean" | "json";
156
- required: boolean;
157
- }[];
158
- sideEffects: string[];
159
- }[];
160
- promotion: {
161
- minCycles: number;
162
- requiresHumanApproval: boolean;
163
- requiresSmokeTest: boolean;
164
- retireOnMissesInRow?: number | undefined;
165
- };
166
- source: "user" | "system";
167
- promotion_status: "candidate" | "stable" | "retired" | "system-stable";
168
- entrypoint: {
169
- preamble: string;
170
- refs: {
171
- path: string;
172
- kind: "file" | "dir" | "script";
173
- }[];
174
- };
175
- createdBy: "llm" | "human";
176
- lastTouchedAt: string;
177
- }>, {
178
- name: string;
179
- description: string;
180
- schemaVersion: "peaks.bee/1";
181
- segments: {
182
- name: string;
183
- outputs: {
184
- name: string;
185
- type: "string" | "number" | "boolean" | "json";
186
- required: boolean;
187
- }[];
188
- inputs: {
189
- name: string;
190
- type: "string" | "number" | "boolean" | "json";
191
- required: boolean;
192
- }[];
193
- sideEffects: string[];
194
- }[];
195
- promotion: {
196
- minCycles: number;
197
- requiresHumanApproval: boolean;
198
- requiresSmokeTest: boolean;
199
- retireOnMissesInRow?: number | undefined;
200
- };
201
- source: "user" | "system";
202
- promotion_status: "candidate" | "stable" | "retired" | "system-stable";
203
- entrypoint: {
204
- preamble: string;
205
- refs: {
206
- path: string;
207
- kind: "file" | "dir" | "script";
208
- }[];
209
- };
210
- createdBy: "llm" | "human";
211
- lastTouchedAt: string;
212
- }, {
213
- name: string;
214
- description: string;
215
- schemaVersion: "peaks.bee/1";
216
- segments: {
217
- name: string;
218
- outputs: {
219
- name: string;
220
- type: "string" | "number" | "boolean" | "json";
221
- required: boolean;
222
- }[];
223
- inputs: {
224
- name: string;
225
- type: "string" | "number" | "boolean" | "json";
226
- required: boolean;
227
- }[];
228
- sideEffects: string[];
229
- }[];
230
- promotion: {
231
- minCycles: number;
232
- requiresHumanApproval: boolean;
233
- requiresSmokeTest: boolean;
234
- retireOnMissesInRow?: number | undefined;
235
- };
236
- source: "user" | "system";
237
- promotion_status: "candidate" | "stable" | "retired" | "system-stable";
238
- entrypoint: {
239
- preamble: string;
240
- refs: {
241
- path: string;
242
- kind: "file" | "dir" | "script";
243
- }[];
244
- };
245
- createdBy: "llm" | "human";
246
- lastTouchedAt: string;
247
- }>;
62
+ }, z.core.$strip>;
@@ -16,10 +16,10 @@ export const BeeManifestSchema = z.object({
16
16
  refs: z.array(z.object({ path: z.string(), kind: z.enum(["file", "dir", "script"]) })),
17
17
  }),
18
18
  promotion: z.object({
19
- minCycles: z.number().int().nonnegative(),
19
+ minCycles: z.number().int().gte(0),
20
20
  requiresHumanApproval: z.boolean(),
21
21
  requiresSmokeTest: z.boolean(),
22
- retireOnMissesInRow: z.number().int().positive().optional(),
22
+ retireOnMissesInRow: z.number().int().gt(0).optional(),
23
23
  }),
24
24
  createdBy: z.enum(["human", "llm"]),
25
25
  lastTouchedAt: z.string().datetime(),
@@ -20,20 +20,10 @@
20
20
  import { z } from 'zod';
21
21
  export declare const InstanceRecordSchema: z.ZodObject<{
22
22
  startedAt: z.ZodString;
23
- roles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
23
+ roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
24
24
  callerId: z.ZodString;
25
25
  lastHeartbeat: z.ZodString;
26
- }, "strip", z.ZodTypeAny, {
27
- callerId: string;
28
- lastHeartbeat: string;
29
- startedAt: string;
30
- roles: string[];
31
- }, {
32
- callerId: string;
33
- lastHeartbeat: string;
34
- startedAt: string;
35
- roles?: string[] | undefined;
36
- }>;
26
+ }, z.core.$strip>;
37
27
  export declare const BindingSchema: z.ZodObject<{
38
28
  ownerHint: z.ZodString;
39
29
  pid: z.ZodNumber;
@@ -41,43 +31,11 @@ export declare const BindingSchema: z.ZodObject<{
41
31
  scope: z.ZodString;
42
32
  instances: z.ZodRecord<z.ZodString, z.ZodObject<{
43
33
  startedAt: z.ZodString;
44
- roles: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
34
+ roles: z.ZodDefault<z.ZodArray<z.ZodString>>;
45
35
  callerId: z.ZodString;
46
36
  lastHeartbeat: z.ZodString;
47
- }, "strip", z.ZodTypeAny, {
48
- callerId: string;
49
- lastHeartbeat: string;
50
- startedAt: string;
51
- roles: string[];
52
- }, {
53
- callerId: string;
54
- lastHeartbeat: string;
55
- startedAt: string;
56
- roles?: string[] | undefined;
57
- }>>;
58
- }, "strip", z.ZodTypeAny, {
59
- lastHeartbeat: string;
60
- ownerHint: string;
61
- pid: number;
62
- scope: string;
63
- instances: Record<string, {
64
- callerId: string;
65
- lastHeartbeat: string;
66
- startedAt: string;
67
- roles: string[];
68
- }>;
69
- }, {
70
- lastHeartbeat: string;
71
- ownerHint: string;
72
- pid: number;
73
- scope: string;
74
- instances: Record<string, {
75
- callerId: string;
76
- lastHeartbeat: string;
77
- startedAt: string;
78
- roles?: string[] | undefined;
79
- }>;
80
- }>;
37
+ }, z.core.$strip>>;
38
+ }, z.core.$strip>;
81
39
  export type InstanceRecord = z.infer<typeof InstanceRecordSchema>;
82
40
  export type Binding = z.infer<typeof BindingSchema>;
83
41
  /**
@@ -28,7 +28,7 @@ export const InstanceRecordSchema = z.object({
28
28
  });
29
29
  export const BindingSchema = z.object({
30
30
  ownerHint: z.string().min(1),
31
- pid: z.number().int().positive(),
31
+ pid: z.number().int().gt(0),
32
32
  lastHeartbeat: z.string().datetime(),
33
33
  scope: z.string().min(1),
34
34
  instances: z.record(z.string(), InstanceRecordSchema)