@askdkc/kiokuko 0.1.32 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/README.ja.md +59 -4
  2. package/README.ko.md +54 -4
  3. package/README.md +66 -4
  4. package/README.zh-CN.md +54 -4
  5. package/dist/agent-file/render.d.ts +1 -1
  6. package/dist/agent-file/render.d.ts.map +1 -1
  7. package/dist/agent-file/render.js +13 -6
  8. package/dist/agent-file/render.js.map +1 -1
  9. package/dist/akinator/agent-task.d.ts +2 -0
  10. package/dist/akinator/agent-task.d.ts.map +1 -1
  11. package/dist/akinator/agent-task.js +49 -13
  12. package/dist/akinator/agent-task.js.map +1 -1
  13. package/dist/akinator/capabilities.d.ts.map +1 -1
  14. package/dist/akinator/capabilities.js +21 -14
  15. package/dist/akinator/capabilities.js.map +1 -1
  16. package/dist/akinator/skill-discovery-attempt.d.ts +7 -1
  17. package/dist/akinator/skill-discovery-attempt.d.ts.map +1 -1
  18. package/dist/akinator/skill-discovery-attempt.js +104 -25
  19. package/dist/akinator/skill-discovery-attempt.js.map +1 -1
  20. package/dist/cli.d.ts.map +1 -1
  21. package/dist/cli.js +5 -1
  22. package/dist/cli.js.map +1 -1
  23. package/dist/commands/agent.d.ts.map +1 -1
  24. package/dist/commands/agent.js +18 -9
  25. package/dist/commands/agent.js.map +1 -1
  26. package/dist/commands/enno.d.ts +7 -0
  27. package/dist/commands/enno.d.ts.map +1 -0
  28. package/dist/commands/enno.js +76 -0
  29. package/dist/commands/enno.js.map +1 -0
  30. package/dist/commands/setup.d.ts +5 -1
  31. package/dist/commands/setup.d.ts.map +1 -1
  32. package/dist/commands/setup.js +83 -18
  33. package/dist/commands/setup.js.map +1 -1
  34. package/dist/config/paths.d.ts +6 -0
  35. package/dist/config/paths.d.ts.map +1 -1
  36. package/dist/config/paths.js +40 -0
  37. package/dist/config/paths.js.map +1 -1
  38. package/dist/enno-oduno/adapters.d.ts +18 -0
  39. package/dist/enno-oduno/adapters.d.ts.map +1 -0
  40. package/dist/enno-oduno/adapters.js +216 -0
  41. package/dist/enno-oduno/adapters.js.map +1 -0
  42. package/dist/enno-oduno/advisory-store.d.ts +25 -0
  43. package/dist/enno-oduno/advisory-store.d.ts.map +1 -0
  44. package/dist/enno-oduno/advisory-store.js +93 -0
  45. package/dist/enno-oduno/advisory-store.js.map +1 -0
  46. package/dist/enno-oduno/advisory.d.ts +16 -0
  47. package/dist/enno-oduno/advisory.d.ts.map +1 -0
  48. package/dist/enno-oduno/advisory.js +128 -0
  49. package/dist/enno-oduno/advisory.js.map +1 -0
  50. package/dist/enno-oduno/confirmation.d.ts +4 -0
  51. package/dist/enno-oduno/confirmation.d.ts.map +1 -0
  52. package/dist/enno-oduno/confirmation.js +124 -0
  53. package/dist/enno-oduno/confirmation.js.map +1 -0
  54. package/dist/enno-oduno/directives.d.ts +12 -0
  55. package/dist/enno-oduno/directives.d.ts.map +1 -0
  56. package/dist/enno-oduno/directives.js +241 -0
  57. package/dist/enno-oduno/directives.js.map +1 -0
  58. package/dist/enno-oduno/enno-oduno.d.mts +2 -0
  59. package/dist/enno-oduno/enno-oduno.d.mts.map +1 -0
  60. package/dist/enno-oduno/enno-oduno.mjs +3 -0
  61. package/dist/enno-oduno/enno-oduno.mjs.map +1 -0
  62. package/dist/enno-oduno/experts.d.ts +6 -0
  63. package/dist/enno-oduno/experts.d.ts.map +1 -0
  64. package/dist/enno-oduno/experts.js +18 -0
  65. package/dist/enno-oduno/experts.js.map +1 -0
  66. package/dist/enno-oduno/goki.d.mts +2 -0
  67. package/dist/enno-oduno/goki.d.mts.map +1 -0
  68. package/dist/enno-oduno/goki.mjs +3 -0
  69. package/dist/enno-oduno/goki.mjs.map +1 -0
  70. package/dist/enno-oduno/handoff.d.ts +4 -0
  71. package/dist/enno-oduno/handoff.d.ts.map +1 -0
  72. package/dist/enno-oduno/handoff.js +18 -0
  73. package/dist/enno-oduno/handoff.js.map +1 -0
  74. package/dist/enno-oduno/harness.d.ts +20 -0
  75. package/dist/enno-oduno/harness.d.ts.map +1 -0
  76. package/dist/enno-oduno/harness.js +65 -0
  77. package/dist/enno-oduno/harness.js.map +1 -0
  78. package/dist/enno-oduno/instructions.d.ts +5 -0
  79. package/dist/enno-oduno/instructions.d.ts.map +1 -0
  80. package/dist/enno-oduno/instructions.js +10 -0
  81. package/dist/enno-oduno/instructions.js.map +1 -0
  82. package/dist/enno-oduno/role-runner.d.ts +9 -0
  83. package/dist/enno-oduno/role-runner.d.ts.map +1 -0
  84. package/dist/enno-oduno/role-runner.js +171 -0
  85. package/dist/enno-oduno/role-runner.js.map +1 -0
  86. package/dist/enno-oduno/schemas.d.ts +668 -0
  87. package/dist/enno-oduno/schemas.d.ts.map +1 -0
  88. package/dist/enno-oduno/schemas.js +381 -0
  89. package/dist/enno-oduno/schemas.js.map +1 -0
  90. package/dist/enno-oduno/service.d.ts +49 -0
  91. package/dist/enno-oduno/service.d.ts.map +1 -0
  92. package/dist/enno-oduno/service.js +1005 -0
  93. package/dist/enno-oduno/service.js.map +1 -0
  94. package/dist/enno-oduno/skills.d.ts +22 -0
  95. package/dist/enno-oduno/skills.d.ts.map +1 -0
  96. package/dist/enno-oduno/skills.js +127 -0
  97. package/dist/enno-oduno/skills.js.map +1 -0
  98. package/dist/enno-oduno/store.d.ts +67 -0
  99. package/dist/enno-oduno/store.d.ts.map +1 -0
  100. package/dist/enno-oduno/store.js +380 -0
  101. package/dist/enno-oduno/store.js.map +1 -0
  102. package/dist/enno-oduno/types.d.ts +357 -0
  103. package/dist/enno-oduno/types.d.ts.map +1 -0
  104. package/dist/enno-oduno/types.js +64 -0
  105. package/dist/enno-oduno/types.js.map +1 -0
  106. package/dist/enno-oduno/verifier.d.ts +9 -0
  107. package/dist/enno-oduno/verifier.d.ts.map +1 -0
  108. package/dist/enno-oduno/verifier.js +101 -0
  109. package/dist/enno-oduno/verifier.js.map +1 -0
  110. package/dist/enno-oduno/zenki.d.mts +2 -0
  111. package/dist/enno-oduno/zenki.d.mts.map +1 -0
  112. package/dist/enno-oduno/zenki.mjs +3 -0
  113. package/dist/enno-oduno/zenki.mjs.map +1 -0
  114. package/dist/ledger/types.d.ts +1 -1
  115. package/dist/ledger/types.d.ts.map +1 -1
  116. package/dist/ledger/types.js +5 -0
  117. package/dist/ledger/types.js.map +1 -1
  118. package/dist/mcp/server.d.ts +1 -0
  119. package/dist/mcp/server.d.ts.map +1 -1
  120. package/dist/mcp/server.js +76 -26
  121. package/dist/mcp/server.js.map +1 -1
  122. package/dist/setup/claude-config.d.ts +2 -0
  123. package/dist/setup/claude-config.d.ts.map +1 -1
  124. package/dist/setup/claude-config.js +12 -0
  125. package/dist/setup/claude-config.js.map +1 -1
  126. package/dist/setup/enno-client-config.d.ts +9 -0
  127. package/dist/setup/enno-client-config.d.ts.map +1 -0
  128. package/dist/setup/enno-client-config.js +172 -0
  129. package/dist/setup/enno-client-config.js.map +1 -0
  130. package/dist/setup/opencode-config.d.ts +2 -0
  131. package/dist/setup/opencode-config.d.ts.map +1 -1
  132. package/dist/setup/opencode-config.js +12 -0
  133. package/dist/setup/opencode-config.js.map +1 -1
  134. package/dist/setup/render.d.ts +2 -0
  135. package/dist/setup/render.d.ts.map +1 -1
  136. package/dist/setup/render.js +23 -12
  137. package/dist/setup/render.js.map +1 -1
  138. package/dist/setup/standard-skills.d.ts +23 -4
  139. package/dist/setup/standard-skills.d.ts.map +1 -1
  140. package/dist/setup/standard-skills.js +51 -1
  141. package/dist/setup/standard-skills.js.map +1 -1
  142. package/dist/skills/discovery-service.d.ts.map +1 -1
  143. package/dist/skills/discovery-service.js +7 -3
  144. package/dist/skills/discovery-service.js.map +1 -1
  145. package/dist/skills/types.d.ts +1 -0
  146. package/dist/skills/types.d.ts.map +1 -1
  147. package/migrations/013_enno_oduno.sql +176 -0
  148. package/migrations/014_oduno_reflection_phases.sql +40 -0
  149. package/migrations/015_skill_discovery_attempt_digests.sql +90 -0
  150. package/migrations/016_enno_advisory_rounds.sql +67 -0
  151. package/package.json +7 -1
  152. package/skills/kiokuko-enno-oduno/SKILL.md +143 -0
  153. package/skills/kiokuko-enno-oduno/enno-oduno.png +0 -0
  154. package/skills/kiokuko-single-purpose-functions/SKILL.md +44 -258
  155. package/skills/kiokuko-single-purpose-functions/references/boundaries-and-ownership.md +50 -0
  156. package/skills/kiokuko-single-purpose-functions/references/domain-and-types.md +48 -0
  157. package/skills/kiokuko-single-purpose-functions/references/effects-and-data.md +43 -0
  158. package/skills/kiokuko-single-purpose-functions/references/protocols-and-idempotency.md +42 -0
  159. package/skills/kiokuko-single-purpose-functions/references/verification.md +41 -0
  160. package/skills/kiokuko-soul/SKILL.md +72 -0
  161. package/skills/kiokuko-ui-design-soul/SKILL.md +39 -1178
  162. package/skills/kiokuko-ui-design-soul/references/accessibility-and-navigation.md +31 -0
  163. package/skills/kiokuko-ui-design-soul/references/async-recovery.md +49 -0
  164. package/skills/kiokuko-ui-design-soul/references/forms-and-controls.md +35 -0
  165. package/skills/kiokuko-ui-design-soul/references/interaction-feedback.md +34 -0
  166. package/skills/kiokuko-ui-design-soul/references/responsive-and-platform.md +38 -0
  167. package/skills/kiokuko-ui-design-soul/references/safety-and-review.md +39 -0
  168. package/templates/AGENTS.md +11 -6
@@ -0,0 +1,668 @@
1
+ import * as z from 'zod/v4';
2
+ import { type EnnoOdunoContract, type EnnoRequestHandoff, type OdunoIdeal, type OdunoMeditation, type VerifierSpec, type WorkPlan, type WorkReportResult } from './types.js';
3
+ export declare const verifierSpecSchema: z.ZodObject<{
4
+ id: z.ZodString;
5
+ kind: z.ZodEnum<{
6
+ build: "build";
7
+ custom: "custom";
8
+ test: "test";
9
+ typecheck: "typecheck";
10
+ lint: "lint";
11
+ }>;
12
+ executable: z.ZodString;
13
+ args: z.ZodArray<z.ZodString>;
14
+ cwd: z.ZodString;
15
+ timeoutMs: z.ZodNumber;
16
+ }, z.core.$strict>;
17
+ export declare const expertRefSchema: z.ZodObject<{
18
+ id: z.ZodEnum<{
19
+ "ui.interaction.v1": "ui.interaction.v1";
20
+ "ui.async.v1": "ui.async.v1";
21
+ "ui.forms.v1": "ui.forms.v1";
22
+ "ui.accessibility.v1": "ui.accessibility.v1";
23
+ "ui.layout.v1": "ui.layout.v1";
24
+ "ui.safety.v1": "ui.safety.v1";
25
+ "code.boundary.v1": "code.boundary.v1";
26
+ "code.domain.v1": "code.domain.v1";
27
+ "code.effects.v1": "code.effects.v1";
28
+ "code.protocol.v1": "code.protocol.v1";
29
+ "code.verification.v1": "code.verification.v1";
30
+ }>;
31
+ reason: z.ZodString;
32
+ }, z.core.$strict>;
33
+ export declare const workUnitSchema: z.ZodObject<{
34
+ id: z.ZodString;
35
+ objective: z.ZodString;
36
+ scope: z.ZodArray<z.ZodString>;
37
+ dependencies: z.ZodArray<z.ZodString>;
38
+ skillNames: z.ZodArray<z.ZodString>;
39
+ expertRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
40
+ id: z.ZodEnum<{
41
+ "ui.interaction.v1": "ui.interaction.v1";
42
+ "ui.async.v1": "ui.async.v1";
43
+ "ui.forms.v1": "ui.forms.v1";
44
+ "ui.accessibility.v1": "ui.accessibility.v1";
45
+ "ui.layout.v1": "ui.layout.v1";
46
+ "ui.safety.v1": "ui.safety.v1";
47
+ "code.boundary.v1": "code.boundary.v1";
48
+ "code.domain.v1": "code.domain.v1";
49
+ "code.effects.v1": "code.effects.v1";
50
+ "code.protocol.v1": "code.protocol.v1";
51
+ "code.verification.v1": "code.verification.v1";
52
+ }>;
53
+ reason: z.ZodString;
54
+ }, z.core.$strict>>>;
55
+ acceptanceCriteria: z.ZodArray<z.ZodString>;
56
+ focusedVerifiers: z.ZodArray<z.ZodObject<{
57
+ id: z.ZodString;
58
+ kind: z.ZodEnum<{
59
+ build: "build";
60
+ custom: "custom";
61
+ test: "test";
62
+ typecheck: "typecheck";
63
+ lint: "lint";
64
+ }>;
65
+ executable: z.ZodString;
66
+ args: z.ZodArray<z.ZodString>;
67
+ cwd: z.ZodString;
68
+ timeoutMs: z.ZodNumber;
69
+ }, z.core.$strict>>;
70
+ }, z.core.$strict>;
71
+ export declare const workPlanSchema: z.ZodObject<{
72
+ objective: z.ZodString;
73
+ units: z.ZodArray<z.ZodObject<{
74
+ id: z.ZodString;
75
+ objective: z.ZodString;
76
+ scope: z.ZodArray<z.ZodString>;
77
+ dependencies: z.ZodArray<z.ZodString>;
78
+ skillNames: z.ZodArray<z.ZodString>;
79
+ expertRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
80
+ id: z.ZodEnum<{
81
+ "ui.interaction.v1": "ui.interaction.v1";
82
+ "ui.async.v1": "ui.async.v1";
83
+ "ui.forms.v1": "ui.forms.v1";
84
+ "ui.accessibility.v1": "ui.accessibility.v1";
85
+ "ui.layout.v1": "ui.layout.v1";
86
+ "ui.safety.v1": "ui.safety.v1";
87
+ "code.boundary.v1": "code.boundary.v1";
88
+ "code.domain.v1": "code.domain.v1";
89
+ "code.effects.v1": "code.effects.v1";
90
+ "code.protocol.v1": "code.protocol.v1";
91
+ "code.verification.v1": "code.verification.v1";
92
+ }>;
93
+ reason: z.ZodString;
94
+ }, z.core.$strict>>>;
95
+ acceptanceCriteria: z.ZodArray<z.ZodString>;
96
+ focusedVerifiers: z.ZodArray<z.ZodObject<{
97
+ id: z.ZodString;
98
+ kind: z.ZodEnum<{
99
+ build: "build";
100
+ custom: "custom";
101
+ test: "test";
102
+ typecheck: "typecheck";
103
+ lint: "lint";
104
+ }>;
105
+ executable: z.ZodString;
106
+ args: z.ZodArray<z.ZodString>;
107
+ cwd: z.ZodString;
108
+ timeoutMs: z.ZodNumber;
109
+ }, z.core.$strict>>;
110
+ }, z.core.$strict>>;
111
+ }, z.core.$strict>;
112
+ export declare const acceptanceCriterionSchema: z.ZodObject<{
113
+ id: z.ZodString;
114
+ description: z.ZodString;
115
+ }, z.core.$strict>;
116
+ export declare const skillRequirementSchema: z.ZodObject<{
117
+ name: z.ZodString;
118
+ purposes: z.ZodArray<z.ZodEnum<{
119
+ review: "review";
120
+ implementation: "implementation";
121
+ testing: "testing";
122
+ planning: "planning";
123
+ ui: "ui";
124
+ operations: "operations";
125
+ }>>;
126
+ required: z.ZodBoolean;
127
+ }, z.core.$strict>;
128
+ export declare const adviceSubmissionSchema: z.ZodObject<{
129
+ runId: z.ZodString;
130
+ workspace: z.ZodString;
131
+ orchestrationId: z.ZodString;
132
+ expectedRevision: z.ZodNumber;
133
+ mutationRevision: z.ZodNumber;
134
+ idempotencyKey: z.ZodString;
135
+ phase: z.ZodEnum<{
136
+ ideal: "ideal";
137
+ planning: "planning";
138
+ final_review: "final_review";
139
+ }>;
140
+ allowlistedContext: z.ZodObject<{
141
+ objective: z.ZodString;
142
+ scope: z.ZodArray<z.ZodString>;
143
+ constraints: z.ZodArray<z.ZodString>;
144
+ acceptanceCriteria: z.ZodArray<z.ZodString>;
145
+ reference: z.ZodString;
146
+ }, z.core.$strict>;
147
+ contributions: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
148
+ slotId: z.ZodEnum<{
149
+ [x: string]: string;
150
+ }>;
151
+ outcome: z.ZodLiteral<"completed">;
152
+ summary: z.ZodString;
153
+ recommendations: z.ZodDefault<z.ZodArray<z.ZodString>>;
154
+ risks: z.ZodDefault<z.ZodArray<z.ZodString>>;
155
+ evidence: z.ZodDefault<z.ZodArray<z.ZodObject<{
156
+ path: z.ZodString;
157
+ statement: z.ZodString;
158
+ }, z.core.$strict>>>;
159
+ }, z.core.$strict>, z.ZodObject<{
160
+ slotId: z.ZodEnum<{
161
+ [x: string]: string;
162
+ }>;
163
+ outcome: z.ZodEnum<{
164
+ timeout: "timeout";
165
+ unavailable: "unavailable";
166
+ failed: "failed";
167
+ }>;
168
+ reasonCode: z.ZodEnum<{
169
+ unsafe_output: "unsafe_output";
170
+ host_read_only_unavailable: "host_read_only_unavailable";
171
+ host_execution_failed: "host_execution_failed";
172
+ host_timeout: "host_timeout";
173
+ invalid_response: "invalid_response";
174
+ }>;
175
+ }, z.core.$strict>]>>;
176
+ }, z.core.$strict>;
177
+ export declare const ennoContractSchema: z.ZodObject<{
178
+ revision: z.ZodNumber;
179
+ scope: z.ZodArray<z.ZodString>;
180
+ exclusions: z.ZodArray<z.ZodString>;
181
+ acceptanceCriteria: z.ZodArray<z.ZodObject<{
182
+ id: z.ZodString;
183
+ description: z.ZodString;
184
+ }, z.core.$strict>>;
185
+ workPlan: z.ZodUnion<readonly [z.ZodObject<{
186
+ objective: z.ZodString;
187
+ units: z.ZodArray<z.ZodObject<{
188
+ id: z.ZodString;
189
+ objective: z.ZodString;
190
+ scope: z.ZodArray<z.ZodString>;
191
+ dependencies: z.ZodArray<z.ZodString>;
192
+ skillNames: z.ZodArray<z.ZodString>;
193
+ expertRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
194
+ id: z.ZodEnum<{
195
+ "ui.interaction.v1": "ui.interaction.v1";
196
+ "ui.async.v1": "ui.async.v1";
197
+ "ui.forms.v1": "ui.forms.v1";
198
+ "ui.accessibility.v1": "ui.accessibility.v1";
199
+ "ui.layout.v1": "ui.layout.v1";
200
+ "ui.safety.v1": "ui.safety.v1";
201
+ "code.boundary.v1": "code.boundary.v1";
202
+ "code.domain.v1": "code.domain.v1";
203
+ "code.effects.v1": "code.effects.v1";
204
+ "code.protocol.v1": "code.protocol.v1";
205
+ "code.verification.v1": "code.verification.v1";
206
+ }>;
207
+ reason: z.ZodString;
208
+ }, z.core.$strict>>>;
209
+ acceptanceCriteria: z.ZodArray<z.ZodString>;
210
+ focusedVerifiers: z.ZodArray<z.ZodObject<{
211
+ id: z.ZodString;
212
+ kind: z.ZodEnum<{
213
+ build: "build";
214
+ custom: "custom";
215
+ test: "test";
216
+ typecheck: "typecheck";
217
+ lint: "lint";
218
+ }>;
219
+ executable: z.ZodString;
220
+ args: z.ZodArray<z.ZodString>;
221
+ cwd: z.ZodString;
222
+ timeoutMs: z.ZodNumber;
223
+ }, z.core.$strict>>;
224
+ }, z.core.$strict>>;
225
+ }, z.core.$strict>, z.ZodObject<{
226
+ objective: z.ZodString;
227
+ units: z.ZodArray<z.ZodObject<{
228
+ id: z.ZodString;
229
+ objective: z.ZodString;
230
+ scope: z.ZodArray<z.ZodString>;
231
+ dependencies: z.ZodArray<z.ZodString>;
232
+ skillNames: z.ZodArray<z.ZodString>;
233
+ expertRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
234
+ id: z.ZodEnum<{
235
+ "ui.interaction.v1": "ui.interaction.v1";
236
+ "ui.async.v1": "ui.async.v1";
237
+ "ui.forms.v1": "ui.forms.v1";
238
+ "ui.accessibility.v1": "ui.accessibility.v1";
239
+ "ui.layout.v1": "ui.layout.v1";
240
+ "ui.safety.v1": "ui.safety.v1";
241
+ "code.boundary.v1": "code.boundary.v1";
242
+ "code.domain.v1": "code.domain.v1";
243
+ "code.effects.v1": "code.effects.v1";
244
+ "code.protocol.v1": "code.protocol.v1";
245
+ "code.verification.v1": "code.verification.v1";
246
+ }>;
247
+ reason: z.ZodString;
248
+ }, z.core.$strict>>>;
249
+ acceptanceCriteria: z.ZodArray<z.ZodString>;
250
+ focusedVerifiers: z.ZodArray<z.ZodObject<{
251
+ id: z.ZodString;
252
+ kind: z.ZodEnum<{
253
+ build: "build";
254
+ custom: "custom";
255
+ test: "test";
256
+ typecheck: "typecheck";
257
+ lint: "lint";
258
+ }>;
259
+ executable: z.ZodString;
260
+ args: z.ZodArray<z.ZodString>;
261
+ cwd: z.ZodString;
262
+ timeoutMs: z.ZodNumber;
263
+ }, z.core.$strict>>;
264
+ }, z.core.$strict>>;
265
+ }, z.core.$strict>]>;
266
+ skillSet: z.ZodObject<{
267
+ entries: z.ZodArray<z.ZodObject<{
268
+ name: z.ZodString;
269
+ purposes: z.ZodArray<z.ZodEnum<{
270
+ review: "review";
271
+ implementation: "implementation";
272
+ testing: "testing";
273
+ planning: "planning";
274
+ ui: "ui";
275
+ operations: "operations";
276
+ }>>;
277
+ required: z.ZodBoolean;
278
+ availability: z.ZodEnum<{
279
+ unavailable: "unavailable";
280
+ local: "local";
281
+ imported_fresh: "imported_fresh";
282
+ external_reference: "external_reference";
283
+ }>;
284
+ referenceId: z.ZodNullable<z.ZodString>;
285
+ }, z.core.$strict>>;
286
+ intakeDiscovery: z.ZodObject<{
287
+ attempted: z.ZodBoolean;
288
+ mode: z.ZodEnum<{
289
+ off: "off";
290
+ official: "official";
291
+ community: "community";
292
+ }>;
293
+ requirements: z.ZodArray<z.ZodString>;
294
+ queries: z.ZodArray<z.ZodString>;
295
+ cacheHits: z.ZodNumber;
296
+ candidates: z.ZodNumber;
297
+ selected: z.ZodArray<z.ZodObject<{
298
+ skillId: z.ZodString;
299
+ name: z.ZodString;
300
+ source: z.ZodString;
301
+ officialStatus: z.ZodEnum<{
302
+ unknown: "unknown";
303
+ curated: "curated";
304
+ "catalog-verified": "catalog-verified";
305
+ "owner-verified": "owner-verified";
306
+ "registry-only": "registry-only";
307
+ }>;
308
+ imported: z.ZodBoolean;
309
+ updated: z.ZodBoolean;
310
+ }, z.core.$strict>>;
311
+ failures: z.ZodArray<z.ZodObject<{
312
+ stage: z.ZodEnum<{
313
+ search: "search";
314
+ source: "source";
315
+ validation: "validation";
316
+ persistence: "persistence";
317
+ }>;
318
+ code: z.ZodString;
319
+ }, z.core.$strict>>;
320
+ }, z.core.$strict>;
321
+ zenkiDiscovery: z.ZodObject<{
322
+ attempted: z.ZodBoolean;
323
+ mode: z.ZodEnum<{
324
+ off: "off";
325
+ official: "official";
326
+ community: "community";
327
+ }>;
328
+ requirements: z.ZodArray<z.ZodString>;
329
+ queries: z.ZodArray<z.ZodString>;
330
+ cacheHits: z.ZodNumber;
331
+ candidates: z.ZodNumber;
332
+ selected: z.ZodArray<z.ZodObject<{
333
+ skillId: z.ZodString;
334
+ name: z.ZodString;
335
+ source: z.ZodString;
336
+ officialStatus: z.ZodEnum<{
337
+ unknown: "unknown";
338
+ curated: "curated";
339
+ "catalog-verified": "catalog-verified";
340
+ "owner-verified": "owner-verified";
341
+ "registry-only": "registry-only";
342
+ }>;
343
+ imported: z.ZodBoolean;
344
+ updated: z.ZodBoolean;
345
+ }, z.core.$strict>>;
346
+ failures: z.ZodArray<z.ZodObject<{
347
+ stage: z.ZodEnum<{
348
+ search: "search";
349
+ source: "source";
350
+ validation: "validation";
351
+ persistence: "persistence";
352
+ }>;
353
+ code: z.ZodString;
354
+ }, z.core.$strict>>;
355
+ }, z.core.$strict>;
356
+ }, z.core.$strict>;
357
+ finalVerifiers: z.ZodArray<z.ZodObject<{
358
+ id: z.ZodString;
359
+ kind: z.ZodEnum<{
360
+ build: "build";
361
+ custom: "custom";
362
+ test: "test";
363
+ typecheck: "typecheck";
364
+ lint: "lint";
365
+ }>;
366
+ executable: z.ZodString;
367
+ args: z.ZodArray<z.ZodString>;
368
+ cwd: z.ZodString;
369
+ timeoutMs: z.ZodNumber;
370
+ }, z.core.$strict>>;
371
+ maxAttempts: z.ZodNumber;
372
+ provenance: z.ZodObject<{
373
+ scope: z.ZodEnum<{
374
+ explicit_user: "explicit_user";
375
+ repository_evidence: "repository_evidence";
376
+ inferred: "inferred";
377
+ }>;
378
+ exclusions: z.ZodEnum<{
379
+ explicit_user: "explicit_user";
380
+ repository_evidence: "repository_evidence";
381
+ inferred: "inferred";
382
+ }>;
383
+ acceptanceCriteria: z.ZodEnum<{
384
+ explicit_user: "explicit_user";
385
+ repository_evidence: "repository_evidence";
386
+ inferred: "inferred";
387
+ }>;
388
+ workPlan: z.ZodEnum<{
389
+ explicit_user: "explicit_user";
390
+ repository_evidence: "repository_evidence";
391
+ inferred: "inferred";
392
+ }>;
393
+ skillSet: z.ZodEnum<{
394
+ explicit_user: "explicit_user";
395
+ repository_evidence: "repository_evidence";
396
+ inferred: "inferred";
397
+ }>;
398
+ finalVerifiers: z.ZodEnum<{
399
+ explicit_user: "explicit_user";
400
+ repository_evidence: "repository_evidence";
401
+ inferred: "inferred";
402
+ }>;
403
+ maxAttempts: z.ZodEnum<{
404
+ explicit_user: "explicit_user";
405
+ repository_evidence: "repository_evidence";
406
+ inferred: "inferred";
407
+ }>;
408
+ }, z.core.$strict>;
409
+ }, z.core.$strict>;
410
+ export declare const ennoRequestHandoffSchema: z.ZodObject<{
411
+ sourceRole: z.ZodLiteral<"enno-oduno">;
412
+ taskType: z.ZodEnum<{
413
+ build: "build";
414
+ debug: "debug";
415
+ review: "review";
416
+ devops: "devops";
417
+ }>;
418
+ objective: z.ZodString;
419
+ target: z.ZodNullable<z.ZodString>;
420
+ expected: z.ZodNullable<z.ZodString>;
421
+ constraints: z.ZodArray<z.ZodString>;
422
+ verification: z.ZodArray<z.ZodString>;
423
+ stopConditions: z.ZodArray<z.ZodString>;
424
+ }, z.core.$strict>;
425
+ export declare const odunoIdealSchema: z.ZodObject<{
426
+ objective: z.ZodString;
427
+ principles: z.ZodArray<z.ZodString>;
428
+ skillContributions: z.ZodArray<z.ZodObject<{
429
+ skillName: z.ZodString;
430
+ contribution: z.ZodString;
431
+ }, z.core.$strict>>;
432
+ successSignals: z.ZodArray<z.ZodString>;
433
+ }, z.core.$strict>;
434
+ export declare const odunoMeditationSchema: z.ZodObject<{
435
+ summary: z.ZodString;
436
+ inspectedPaths: z.ZodArray<z.ZodString>;
437
+ deletionCandidates: z.ZodArray<z.ZodObject<{
438
+ kind: z.ZodEnum<{
439
+ function: "function";
440
+ test: "test";
441
+ }>;
442
+ path: z.ZodString;
443
+ name: z.ZodString;
444
+ reason: z.ZodString;
445
+ evidence: z.ZodArray<z.ZodString>;
446
+ }, z.core.$strict>>;
447
+ }, z.core.$strict>;
448
+ export declare const idealSubmissionSchema: z.ZodObject<{
449
+ runId: z.ZodString;
450
+ workspace: z.ZodString;
451
+ orchestrationId: z.ZodString;
452
+ expectedRevision: z.ZodNumber;
453
+ idempotencyKey: z.ZodString;
454
+ advisoryRoundDigest: z.ZodOptional<z.ZodString>;
455
+ ideal: z.ZodObject<{
456
+ objective: z.ZodString;
457
+ principles: z.ZodArray<z.ZodString>;
458
+ skillContributions: z.ZodArray<z.ZodObject<{
459
+ skillName: z.ZodString;
460
+ contribution: z.ZodString;
461
+ }, z.core.$strict>>;
462
+ successSignals: z.ZodArray<z.ZodString>;
463
+ }, z.core.$strict>;
464
+ }, z.core.$strict>;
465
+ export declare const planSubmissionSchema: z.ZodObject<{
466
+ runId: z.ZodString;
467
+ workspace: z.ZodString;
468
+ orchestrationId: z.ZodString;
469
+ expectedRevision: z.ZodNumber;
470
+ idempotencyKey: z.ZodString;
471
+ advisoryRoundDigest: z.ZodOptional<z.ZodString>;
472
+ scope: z.ZodArray<z.ZodString>;
473
+ exclusions: z.ZodArray<z.ZodString>;
474
+ acceptanceCriteria: z.ZodArray<z.ZodObject<{
475
+ id: z.ZodString;
476
+ description: z.ZodString;
477
+ }, z.core.$strict>>;
478
+ workPlan: z.ZodObject<{
479
+ objective: z.ZodString;
480
+ units: z.ZodArray<z.ZodObject<{
481
+ id: z.ZodString;
482
+ objective: z.ZodString;
483
+ scope: z.ZodArray<z.ZodString>;
484
+ dependencies: z.ZodArray<z.ZodString>;
485
+ skillNames: z.ZodArray<z.ZodString>;
486
+ expertRefs: z.ZodDefault<z.ZodArray<z.ZodObject<{
487
+ id: z.ZodEnum<{
488
+ "ui.interaction.v1": "ui.interaction.v1";
489
+ "ui.async.v1": "ui.async.v1";
490
+ "ui.forms.v1": "ui.forms.v1";
491
+ "ui.accessibility.v1": "ui.accessibility.v1";
492
+ "ui.layout.v1": "ui.layout.v1";
493
+ "ui.safety.v1": "ui.safety.v1";
494
+ "code.boundary.v1": "code.boundary.v1";
495
+ "code.domain.v1": "code.domain.v1";
496
+ "code.effects.v1": "code.effects.v1";
497
+ "code.protocol.v1": "code.protocol.v1";
498
+ "code.verification.v1": "code.verification.v1";
499
+ }>;
500
+ reason: z.ZodString;
501
+ }, z.core.$strict>>>;
502
+ acceptanceCriteria: z.ZodArray<z.ZodString>;
503
+ focusedVerifiers: z.ZodArray<z.ZodObject<{
504
+ id: z.ZodString;
505
+ kind: z.ZodEnum<{
506
+ build: "build";
507
+ custom: "custom";
508
+ test: "test";
509
+ typecheck: "typecheck";
510
+ lint: "lint";
511
+ }>;
512
+ executable: z.ZodString;
513
+ args: z.ZodArray<z.ZodString>;
514
+ cwd: z.ZodString;
515
+ timeoutMs: z.ZodNumber;
516
+ }, z.core.$strict>>;
517
+ }, z.core.$strict>>;
518
+ }, z.core.$strict>;
519
+ skillRequirements: z.ZodArray<z.ZodObject<{
520
+ name: z.ZodString;
521
+ purposes: z.ZodArray<z.ZodEnum<{
522
+ review: "review";
523
+ implementation: "implementation";
524
+ testing: "testing";
525
+ planning: "planning";
526
+ ui: "ui";
527
+ operations: "operations";
528
+ }>>;
529
+ required: z.ZodBoolean;
530
+ }, z.core.$strict>>;
531
+ finalVerifiers: z.ZodArray<z.ZodObject<{
532
+ id: z.ZodString;
533
+ kind: z.ZodEnum<{
534
+ build: "build";
535
+ custom: "custom";
536
+ test: "test";
537
+ typecheck: "typecheck";
538
+ lint: "lint";
539
+ }>;
540
+ executable: z.ZodString;
541
+ args: z.ZodArray<z.ZodString>;
542
+ cwd: z.ZodString;
543
+ timeoutMs: z.ZodNumber;
544
+ }, z.core.$strict>>;
545
+ maxAttempts: z.ZodDefault<z.ZodNumber>;
546
+ provenance: z.ZodObject<{
547
+ scope: z.ZodEnum<{
548
+ explicit_user: "explicit_user";
549
+ repository_evidence: "repository_evidence";
550
+ inferred: "inferred";
551
+ }>;
552
+ exclusions: z.ZodEnum<{
553
+ explicit_user: "explicit_user";
554
+ repository_evidence: "repository_evidence";
555
+ inferred: "inferred";
556
+ }>;
557
+ acceptanceCriteria: z.ZodEnum<{
558
+ explicit_user: "explicit_user";
559
+ repository_evidence: "repository_evidence";
560
+ inferred: "inferred";
561
+ }>;
562
+ workPlan: z.ZodEnum<{
563
+ explicit_user: "explicit_user";
564
+ repository_evidence: "repository_evidence";
565
+ inferred: "inferred";
566
+ }>;
567
+ skillSet: z.ZodEnum<{
568
+ explicit_user: "explicit_user";
569
+ repository_evidence: "repository_evidence";
570
+ inferred: "inferred";
571
+ }>;
572
+ finalVerifiers: z.ZodEnum<{
573
+ explicit_user: "explicit_user";
574
+ repository_evidence: "repository_evidence";
575
+ inferred: "inferred";
576
+ }>;
577
+ maxAttempts: z.ZodEnum<{
578
+ explicit_user: "explicit_user";
579
+ repository_evidence: "repository_evidence";
580
+ inferred: "inferred";
581
+ }>;
582
+ }, z.core.$strict>;
583
+ capabilities: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
584
+ }, z.core.$strict>;
585
+ export declare const ennoAnswerSchema: z.ZodObject<{
586
+ runId: z.ZodString;
587
+ workspace: z.ZodString;
588
+ orchestrationId: z.ZodString;
589
+ expectedRevision: z.ZodNumber;
590
+ idempotencyKey: z.ZodString;
591
+ action: z.ZodEnum<{
592
+ approve: "approve";
593
+ revise: "revise";
594
+ cancel: "cancel";
595
+ }>;
596
+ requestedChanges: z.ZodOptional<z.ZodString>;
597
+ }, z.core.$strict>;
598
+ export declare const workReportSchema: z.ZodObject<{
599
+ runId: z.ZodString;
600
+ workspace: z.ZodString;
601
+ orchestrationId: z.ZodString;
602
+ expectedRevision: z.ZodNumber;
603
+ idempotencyKey: z.ZodString;
604
+ workUnitId: z.ZodString;
605
+ result: z.ZodObject<{
606
+ outcome: z.ZodEnum<{
607
+ completed: "completed";
608
+ failed: "failed";
609
+ blocked: "blocked";
610
+ }>;
611
+ summary: z.ZodString;
612
+ mutated: z.ZodBoolean;
613
+ changedPaths: z.ZodArray<z.ZodString>;
614
+ }, z.core.$strict>;
615
+ }, z.core.$strict>;
616
+ export declare const finishSchema: z.ZodObject<{
617
+ runId: z.ZodString;
618
+ workspace: z.ZodString;
619
+ orchestrationId: z.ZodString;
620
+ expectedRevision: z.ZodNumber;
621
+ idempotencyKey: z.ZodString;
622
+ advisoryRoundDigest: z.ZodOptional<z.ZodString>;
623
+ review: z.ZodObject<{
624
+ decision: z.ZodEnum<{
625
+ accept: "accept";
626
+ replan: "replan";
627
+ }>;
628
+ summary: z.ZodString;
629
+ }, z.core.$strict>;
630
+ }, z.core.$strict>;
631
+ export declare const meditationSubmissionSchema: z.ZodObject<{
632
+ runId: z.ZodString;
633
+ workspace: z.ZodString;
634
+ orchestrationId: z.ZodString;
635
+ expectedRevision: z.ZodNumber;
636
+ idempotencyKey: z.ZodString;
637
+ meditation: z.ZodObject<{
638
+ summary: z.ZodString;
639
+ inspectedPaths: z.ZodArray<z.ZodString>;
640
+ deletionCandidates: z.ZodArray<z.ZodObject<{
641
+ kind: z.ZodEnum<{
642
+ function: "function";
643
+ test: "test";
644
+ }>;
645
+ path: z.ZodString;
646
+ name: z.ZodString;
647
+ reason: z.ZodString;
648
+ evidence: z.ZodArray<z.ZodString>;
649
+ }, z.core.$strict>>;
650
+ }, z.core.$strict>;
651
+ }, z.core.$strict>;
652
+ export declare function parseWorkPlan(input: unknown): WorkPlan;
653
+ export declare function parseEnnoContract(input: unknown): EnnoOdunoContract;
654
+ export declare function parseEnnoRequestHandoff(input: unknown): EnnoRequestHandoff;
655
+ export declare function parseOdunoIdeal(input: unknown): OdunoIdeal;
656
+ export declare function parseOdunoMeditation(input: unknown): OdunoMeditation;
657
+ export declare function parseVerifierSpec(input: unknown): VerifierSpec;
658
+ export declare function parseWorkReportResult(input: unknown): WorkReportResult;
659
+ export declare function parsePlanSubmission(input: unknown): z.infer<typeof planSubmissionSchema>;
660
+ export declare function parseAdviceSubmission(input: unknown): z.infer<typeof adviceSubmissionSchema>;
661
+ export declare function parseIdealSubmission(input: unknown): z.infer<typeof idealSubmissionSchema>;
662
+ export declare function parseEnnoAnswer(input: unknown): z.infer<typeof ennoAnswerSchema>;
663
+ export declare function parseWorkReport(input: unknown): z.infer<typeof workReportSchema>;
664
+ export declare function parseFinishRequest(input: unknown): z.infer<typeof finishSchema>;
665
+ export declare function parseMeditationSubmission(input: unknown): z.infer<typeof meditationSubmissionSchema>;
666
+ export declare function assertVerifierCwd(repositoryRoot: string, verifier: VerifierSpec): void;
667
+ export declare function assertContractVerifierCwds(repositoryRoot: string, contract: Pick<EnnoOdunoContract, 'workPlan' | 'finalVerifiers'>): void;
668
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/enno-oduno/schemas.ts"],"names":[],"mappings":"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"}