@wildo-ai/platform-core-shared 1.1.0 → 1.1.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 (51) hide show
  1. package/dist/esm/index.d.ts +7 -0
  2. package/dist/esm/index.d.ts.map +1 -1
  3. package/dist/esm/index.js +7 -0
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +3 -3
  6. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  7. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js +39 -8
  8. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js.map +1 -1
  9. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts +4 -3
  10. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts.map +1 -1
  11. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js +37 -6
  12. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js.map +1 -1
  13. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +1 -0
  14. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map +1 -1
  15. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js +13 -0
  16. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map +1 -1
  17. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts +100 -0
  18. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -0
  19. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +578 -0
  20. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -0
  21. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts +98 -0
  22. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts.map +1 -0
  23. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js +86 -0
  24. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js.map +1 -0
  25. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +157 -0
  26. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map +1 -0
  27. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js +258 -0
  28. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js.map +1 -0
  29. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts +221 -0
  30. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts.map +1 -0
  31. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js +292 -0
  32. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -0
  33. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts +48 -0
  34. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts.map +1 -0
  35. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js +48 -0
  36. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js.map +1 -0
  37. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +146 -6
  38. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts.map +1 -1
  39. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js +256 -8
  40. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js.map +1 -1
  41. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts +280 -55
  42. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts.map +1 -1
  43. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js +191 -85
  44. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js.map +1 -1
  45. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts +227 -49
  46. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +466 -78
  48. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
  49. package/dist/tsconfig.build.tsbuildinfo +1 -1
  50. package/package.json +4 -5
  51. package/dist/esm/.builder.pid +0 -9
@@ -0,0 +1,258 @@
1
+ import { z } from 'zod';
2
+ import { CORE_APP_ROLES, CoreResourceOperation, CoreResourceType, IntrospectionTenancyStance, PersistenceAdapter, ResourceOperationRiskLevel, ResourceOperationVariantType, ResourceParentResourceRequirement, ResourceRelationshipAccessScopeStrategy, ResourceRelationshipCardinality, RelationshipNature, createResourceConfiguration_Initialization, createResourcesRelationship, } from '@wildo-ai/saas-models';
3
+ import { WorkbenchShared_ResourceFieldIdentifier, WorkbenchShared_ResourceType, } from './workbench-resources-types.custom.shared.schemas.js';
4
+ import { WORKBENCH_INTROSPECTION_MAX_ROWS_PER_PAGE } from './workbench-resources.custom.shared.resources-config.schemas.js';
5
+ import { Workbench_BuildPlanDispatchNextRequest_Schema, Workbench_BuildPlanDispatchOutcome_Schema, Workbench_BuildPlanTask_Schema, Workbench_Playbook_Schema, Workbench_PlaybookResumeRequest_Schema, Workbench_PlaybookRunOutcome_Schema, Workbench_PlaybookRunRequest_Schema, Workbench_RunWriteRecord_Schema, Workbench_RunWriteRevertOutcome_Schema, Workbench_RunWriteRevertRequest_Schema, Workbench_TraceSession_Schema, WorkbenchBuildPlanTasks_Operations, WorkbenchCreationPlaneBehavior, WorkbenchPlaybooks_Operations, WorkbenchRunWriteRecords_Operations, } from './workbench-creation-plane.custom.shared.schemas.js';
6
+ /**
7
+ * Resource configurations for the CREATION PLANE — the four companion-runtime families the creation
8
+ * board consumes as resources (`workbench-creation-board-resources.md`, Phase 2; decides #166).
9
+ *
10
+ * Same adapter and same port as the structural projections one file over, with the two declared
11
+ * differences their nature forces:
12
+ *
13
+ * - **`APPLICATION_RUNTIME` tenancy, not `APPLICATION_STRUCTURE`.** These rows are the companion's
14
+ * own runtime state (eligibility verdicts, dispatch status, write records, traces), not a
15
+ * projection of the application's source. Both stances mean "no tenant anchor on any row"; what
16
+ * the distinction preserves is the READ POSTURE argument below.
17
+ * - **Authenticated variants, never `APP_PUBLIC`.** The structural projections' public posture
18
+ * rests on the rows being the application's OWN source, which anyone with the working tree can
19
+ * already read. Runtime state has no such argument — what the creator dispatched, what failed,
20
+ * which files a run wrote are operator data — so every variant here requires the authenticated
21
+ * operator session (`APP_USER`; app-tier rather than `ORG_MEMBER` because these rows carry no
22
+ * organization column and nest under no organization URL).
23
+ */
24
+ export function createCreationPlaneReadApiVariant() {
25
+ return {
26
+ variantType: ResourceOperationVariantType.API_CALL,
27
+ isDefault: true,
28
+ roles: [CORE_APP_ROLES.APP_USER],
29
+ riskLevel: ResourceOperationRiskLevel.LOW,
30
+ };
31
+ }
32
+ /** The read variant plus the shared workbench page ceiling (LIST-like operations only). */
33
+ export function createCreationPlaneReadListApiVariant() {
34
+ return {
35
+ ...createCreationPlaneReadApiVariant(),
36
+ maxPaginatedResultPerPageLimit: WORKBENCH_INTROSPECTION_MAX_ROWS_PER_PAGE,
37
+ };
38
+ }
39
+ /**
40
+ * STANDALONE APPLICATION anchors, one per family — same form and same reason as the structural
41
+ * projections: `resourcePrimaryScope` is derived from a relationship flagged `isPrimaryScope`, and
42
+ * STANDALONE keeps the anchor off the URL so each resource routes flat.
43
+ */
44
+ export const workbenchCreationPlane_ResourcesRelationships = [
45
+ WorkbenchShared_ResourceType.PLAYBOOKS,
46
+ WorkbenchShared_ResourceType.BUILD_PLAN_TASKS,
47
+ WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,
48
+ WorkbenchShared_ResourceType.TRACE_SESSIONS,
49
+ ].map((resourceType) => createResourcesRelationship(CoreResourceType.APPLICATION, resourceType, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
50
+ nature: RelationshipNature.COMPOSITION,
51
+ isPrimaryScope: true,
52
+ accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
53
+ contextPolicy: {},
54
+ }));
55
+ /*
56
+ * The JOIN EDGES (Phase 4, R5): write records reference the playbook that ran and the trace
57
+ * session that recorded — the aspect-edge shape exactly (REFERENCE + declared `foreignKeyField` +
58
+ * STANDALONE so the flat route survives + OPTIONAL parent, dangling-tolerant). The FK fields are
59
+ * emitted SANITIZED by the projection so values match the target rows' addressable ids.
60
+ */
61
+ workbenchCreationPlane_ResourcesRelationships.push(createResourcesRelationship(WorkbenchShared_ResourceType.PLAYBOOKS, WorkbenchShared_ResourceType.RUN_WRITE_RECORDS, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
62
+ nature: RelationshipNature.REFERENCE,
63
+ foreignKeyField: 'workbenchPlaybookId',
64
+ accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
65
+ parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,
66
+ contextPolicy: {},
67
+ }), createResourcesRelationship(WorkbenchShared_ResourceType.TRACE_SESSIONS, WorkbenchShared_ResourceType.RUN_WRITE_RECORDS, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
68
+ nature: RelationshipNature.REFERENCE,
69
+ foreignKeyField: 'workbenchTraceSessionId',
70
+ accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
71
+ parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,
72
+ contextPolicy: {},
73
+ }));
74
+ /**
75
+ * A shared dispatch-variant mold (Phase 3, plan D3): authenticated like the reads, MEDIUM risk by
76
+ * default — the board's own doctrine is that a dispatch needs no confirmation ceremony because the
77
+ * mechanism already brackets it (derived scope, single-flight lock, git baseline, the Evidence
78
+ * lane's revert) — and `resourceOperationLike` defaulting to UPDATE gives the instance-targeted
79
+ * URL (`…/{id}/<verb>`). Every one is implemented companion-side as `OVERRIDE_ALL`, so nothing
80
+ * here ever reaches the introspection repository's write refusals.
81
+ */
82
+ /*
83
+ * ROLE PARITY WITH READS IS DELIBERATE: dispatch verbs share `APP_USER` with the read variants.
84
+ * This is a single-operator development tool served by the local companion — the measured operator
85
+ * holds plain `APP_USER` at app tier (the seeded developer's admin authority is an ORG membership,
86
+ * not an app-tier role), the bespoke companion routes expose the same verbs to the same principal,
87
+ * and every write lands in a git working tree whose acceptance is a human commit. A production
88
+ * multi-operator surface would want a stricter gate; this one would 403 its only user.
89
+ */
90
+ function createDispatchApiVariant(params) {
91
+ return {
92
+ variantType: ResourceOperationVariantType.API_CALL,
93
+ isDefault: true,
94
+ roles: [CORE_APP_ROLES.APP_USER],
95
+ /*
96
+ * Every creation-plane dispatch delegates synchronous companion work — a run generates and
97
+ * judges before answering (58s measured on the CHEAPEST playbook; minutes normally), a
98
+ * dispatch may block on a generation step, a revert rewrites files. The client's 30s default
99
+ * cut the run PUT mid-flight, losing the outcome and the post-success invalidation emits
100
+ * (issue #237) — so the variant declares its own transport expectation.
101
+ */
102
+ clientRequestTimeoutMs: 600_000,
103
+ riskLevel: params.riskLevel ?? ResourceOperationRiskLevel.MEDIUM,
104
+ resourceOperationLike: params.resourceOperationLike ?? CoreResourceOperation.UPDATE,
105
+ requestDto: params.requestDto,
106
+ customResponseDto: params.customResponseDto,
107
+ };
108
+ }
109
+ /** Traces are the one dispatch-free family: an index has nothing to fire. */
110
+ const WorkbenchTraceSessions_Operations = undefined;
111
+ /**
112
+ * The four read-only creation-plane factories. READ + LIST only: dispatch VERBS
113
+ * (run/resume/dispatch-next/revert/cancel) arrive in Phase 3 as CUSTOM operations delegating to
114
+ * the companion's own services — never as generated writes, which the introspection repository
115
+ * refuses by contract.
116
+ *
117
+ * NO `identityFields` on any binding, deliberately: composition refuses values outside
118
+ * `[a-zA-Z0-9_-]`, and playbook refs (`top_down.phase-gate`), run ids and trace session ids
119
+ * legitimately carry dots. The in-process behaviors emit the sanitized identity field themselves
120
+ * and refuse post-sanitization duplicates — see the schema field docs.
121
+ *
122
+ * Written as four explicit factories rather than one generic mold: the config initializer's schema
123
+ * parameter is invariant in the row type, so a union-constrained generic fails to instantiate —
124
+ * and the siblings in this directory are explicit for the same reason.
125
+ */
126
+ export const workbenchPlaybooks_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
127
+ mainSchema: Workbench_Playbook_Schema,
128
+ resourceIdentifier: WorkbenchShared_ResourceType.PLAYBOOKS,
129
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.PLAYBOOKS],
130
+ resourceRelationships: resourcesRelationships,
131
+ isSystemResource: false,
132
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
133
+ introspectionBinding: {
134
+ behavior: WorkbenchCreationPlaneBehavior.PLAYBOOK_ELIGIBILITY,
135
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
136
+ },
137
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
138
+ customOperation: WorkbenchPlaybooks_Operations,
139
+ operationsConfiguration: {
140
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
141
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
142
+ [WorkbenchPlaybooks_Operations.RUN]: {
143
+ variants: [createDispatchApiVariant({
144
+ requestDto: Workbench_PlaybookRunRequest_Schema,
145
+ customResponseDto: Workbench_PlaybookRunOutcome_Schema,
146
+ })],
147
+ },
148
+ /*
149
+ * RESUME rides the PLAYBOOK row the suspended run belongs to — the runId travels in the body.
150
+ * A runs resource does not exist (runs-in-flight is the disposition table's recorded
151
+ * singleton exception), and the row a creator is answering FROM is the playbook whose
152
+ * clarification stopped them.
153
+ */
154
+ [WorkbenchPlaybooks_Operations.RESUME]: {
155
+ variants: [createDispatchApiVariant({
156
+ requestDto: Workbench_PlaybookResumeRequest_Schema,
157
+ customResponseDto: Workbench_PlaybookRunOutcome_Schema,
158
+ })],
159
+ },
160
+ },
161
+ });
162
+ export const workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
163
+ mainSchema: Workbench_BuildPlanTask_Schema,
164
+ resourceIdentifier: WorkbenchShared_ResourceType.BUILD_PLAN_TASKS,
165
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.BUILD_PLAN_TASKS],
166
+ resourceRelationships: resourcesRelationships,
167
+ isSystemResource: false,
168
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
169
+ introspectionBinding: {
170
+ behavior: WorkbenchCreationPlaneBehavior.BUILD_PLAN_TASKS,
171
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
172
+ },
173
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
174
+ customOperation: WorkbenchBuildPlanTasks_Operations,
175
+ operationsConfiguration: {
176
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
177
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
178
+ [WorkbenchBuildPlanTasks_Operations.DISPATCH_NEXT]: {
179
+ variants: [createDispatchApiVariant({
180
+ /* Collection-level: the graph picks the task, never the caller — see the enum's doc. */
181
+ resourceOperationLike: CoreResourceOperation.UPDATE_MANY,
182
+ requestDto: Workbench_BuildPlanDispatchNextRequest_Schema,
183
+ customResponseDto: Workbench_BuildPlanDispatchOutcome_Schema,
184
+ })],
185
+ },
186
+ },
187
+ });
188
+ export const workbenchRunWriteRecords_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
189
+ mainSchema: Workbench_RunWriteRecord_Schema,
190
+ resourceIdentifier: WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,
191
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.RUN_WRITE_RECORDS],
192
+ resourceRelationships: resourcesRelationships,
193
+ isSystemResource: false,
194
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
195
+ introspectionBinding: {
196
+ behavior: WorkbenchCreationPlaneBehavior.RUN_WRITE_RECORDS,
197
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
198
+ },
199
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
200
+ customOperation: WorkbenchRunWriteRecords_Operations,
201
+ operationsConfiguration: {
202
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
203
+ [CoreResourceOperation.LIST]: {
204
+ variants: [{
205
+ ...createCreationPlaneReadListApiVariant(),
206
+ /*
207
+ * The "playbook → its writes" vehicle (R5), decided against the engine's own model
208
+ * (#218): a REFERENCE edge never embeds a child collection in the parent's READ page —
209
+ * that surface is COMPOSITION-only — so the reverse direction of this join is a FILTERED
210
+ * LIST, and declaring the filter is the obligation that makes it real (the introspection
211
+ * source honors scalar filters it is declared and refuses shapes it cannot apply).
212
+ * `workbenchPlaybookId` takes the SANITIZED identity; `playbookRef` the raw business key.
213
+ */
214
+ filterFields: {
215
+ workbenchPlaybookId: z.string().min(1),
216
+ playbookRef: z.string().min(1),
217
+ },
218
+ }],
219
+ },
220
+ [WorkbenchRunWriteRecords_Operations.REVERT]: {
221
+ variants: [createDispatchApiVariant({
222
+ /*
223
+ * HIGH, not CRITICAL: the operation's own divergence refusal (files edited since are
224
+ * refused by name unless `force`) is the real guard, and a CRITICAL confirm dialog on
225
+ * top of it would be ceremony in front of a mechanism that already asks better.
226
+ */
227
+ riskLevel: ResourceOperationRiskLevel.HIGH,
228
+ requestDto: Workbench_RunWriteRevertRequest_Schema,
229
+ customResponseDto: Workbench_RunWriteRevertOutcome_Schema,
230
+ })],
231
+ },
232
+ },
233
+ });
234
+ export const workbenchTraceSessions_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
235
+ mainSchema: Workbench_TraceSession_Schema,
236
+ resourceIdentifier: WorkbenchShared_ResourceType.TRACE_SESSIONS,
237
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.TRACE_SESSIONS],
238
+ resourceRelationships: resourcesRelationships,
239
+ isSystemResource: false,
240
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
241
+ introspectionBinding: {
242
+ behavior: WorkbenchCreationPlaneBehavior.TRACE_SESSIONS,
243
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
244
+ },
245
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
246
+ customOperation: WorkbenchTraceSessions_Operations,
247
+ operationsConfiguration: {
248
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
249
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
250
+ },
251
+ });
252
+ export const workbenchCreationPlane_ResourcesConfigurationsFactoryMap = {
253
+ [WorkbenchShared_ResourceType.PLAYBOOKS]: workbenchPlaybooks_ResourceConfiguration_InitializationFactory,
254
+ [WorkbenchShared_ResourceType.BUILD_PLAN_TASKS]: workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory,
255
+ [WorkbenchShared_ResourceType.RUN_WRITE_RECORDS]: workbenchRunWriteRecords_ResourceConfiguration_InitializationFactory,
256
+ [WorkbenchShared_ResourceType.TRACE_SESSIONS]: workbenchTraceSessions_ResourceConfiguration_InitializationFactory,
257
+ };
258
+ //# sourceMappingURL=workbench-creation-plane.custom.shared.resources-config.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-creation-plane.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\nimport {\n CORE_APP_ROLES,\n CoreResourceOperation,\n CoreResourceType,\n IntrospectionTenancyStance,\n PersistenceAdapter,\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n ResourceParentResourceRequirement,\n ResourceRelationship,\n ResourceRelationshipAccessScopeStrategy,\n ResourceRelationshipCardinality,\n RelationshipNature,\n createResourceConfiguration_Initialization,\n createResourcesRelationship,\n} from '@wildo-ai/saas-models';\n\nimport {\n WorkbenchShared_ResourceFieldIdentifier,\n WorkbenchShared_ResourceType,\n} from './workbench-resources-types.custom.shared.schemas';\nimport { WORKBENCH_INTROSPECTION_MAX_ROWS_PER_PAGE } from './workbench-resources.custom.shared.resources-config.schemas';\nimport {\n Workbench_BuildPlanDispatchNextRequest_Schema,\n Workbench_BuildPlanDispatchOutcome_Schema,\n Workbench_BuildPlanTask_Schema,\n Workbench_Playbook_Schema,\n Workbench_PlaybookResumeRequest_Schema,\n Workbench_PlaybookRunOutcome_Schema,\n Workbench_PlaybookRunRequest_Schema,\n Workbench_RunWriteRecord_Schema,\n Workbench_RunWriteRevertOutcome_Schema,\n Workbench_RunWriteRevertRequest_Schema,\n Workbench_TraceSession_Schema,\n WorkbenchBuildPlanTasks_Operations,\n WorkbenchCreationPlaneBehavior,\n WorkbenchPlaybooks_Operations,\n WorkbenchRunWriteRecords_Operations,\n} from './workbench-creation-plane.custom.shared.schemas';\n\n/**\n * Resource configurations for the CREATION PLANE — the four companion-runtime families the creation\n * board consumes as resources (`workbench-creation-board-resources.md`, Phase 2; decides #166).\n *\n * Same adapter and same port as the structural projections one file over, with the two declared\n * differences their nature forces:\n *\n * - **`APPLICATION_RUNTIME` tenancy, not `APPLICATION_STRUCTURE`.** These rows are the companion's\n * own runtime state (eligibility verdicts, dispatch status, write records, traces), not a\n * projection of the application's source. Both stances mean \"no tenant anchor on any row\"; what\n * the distinction preserves is the READ POSTURE argument below.\n * - **Authenticated variants, never `APP_PUBLIC`.** The structural projections' public posture\n * rests on the rows being the application's OWN source, which anyone with the working tree can\n * already read. Runtime state has no such argument — what the creator dispatched, what failed,\n * which files a run wrote are operator data — so every variant here requires the authenticated\n * operator session (`APP_USER`; app-tier rather than `ORG_MEMBER` because these rows carry no\n * organization column and nest under no organization URL).\n */\nexport function createCreationPlaneReadApiVariant() {\n return {\n variantType: ResourceOperationVariantType.API_CALL as const,\n isDefault: true as const,\n roles: [CORE_APP_ROLES.APP_USER],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/** The read variant plus the shared workbench page ceiling (LIST-like operations only). */\nexport function createCreationPlaneReadListApiVariant() {\n return {\n ...createCreationPlaneReadApiVariant(),\n maxPaginatedResultPerPageLimit: WORKBENCH_INTROSPECTION_MAX_ROWS_PER_PAGE,\n };\n}\n\n/**\n * STANDALONE APPLICATION anchors, one per family — same form and same reason as the structural\n * projections: `resourcePrimaryScope` is derived from a relationship flagged `isPrimaryScope`, and\n * STANDALONE keeps the anchor off the URL so each resource routes flat.\n */\nexport const workbenchCreationPlane_ResourcesRelationships: ResourceRelationship[] = [\n WorkbenchShared_ResourceType.PLAYBOOKS,\n WorkbenchShared_ResourceType.BUILD_PLAN_TASKS,\n WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,\n WorkbenchShared_ResourceType.TRACE_SESSIONS,\n].map((resourceType) => createResourcesRelationship(\n CoreResourceType.APPLICATION,\n resourceType,\n ResourceRelationshipCardinality.ONE,\n ResourceRelationshipCardinality.MANY,\n {\n nature: RelationshipNature.COMPOSITION,\n isPrimaryScope: true,\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n contextPolicy: {},\n },\n));\n\n/*\n * The JOIN EDGES (Phase 4, R5): write records reference the playbook that ran and the trace\n * session that recorded — the aspect-edge shape exactly (REFERENCE + declared `foreignKeyField` +\n * STANDALONE so the flat route survives + OPTIONAL parent, dangling-tolerant). The FK fields are\n * emitted SANITIZED by the projection so values match the target rows' addressable ids.\n */\nworkbenchCreationPlane_ResourcesRelationships.push(\n createResourcesRelationship(\n WorkbenchShared_ResourceType.PLAYBOOKS,\n WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,\n ResourceRelationshipCardinality.ONE,\n ResourceRelationshipCardinality.MANY,\n {\n nature: RelationshipNature.REFERENCE,\n foreignKeyField: 'workbenchPlaybookId',\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,\n contextPolicy: {},\n },\n ),\n createResourcesRelationship(\n WorkbenchShared_ResourceType.TRACE_SESSIONS,\n WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,\n ResourceRelationshipCardinality.ONE,\n ResourceRelationshipCardinality.MANY,\n {\n nature: RelationshipNature.REFERENCE,\n foreignKeyField: 'workbenchTraceSessionId',\n accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,\n parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,\n contextPolicy: {},\n },\n ),\n);\n\n/**\n * A shared dispatch-variant mold (Phase 3, plan D3): authenticated like the reads, MEDIUM risk by\n * default — the board's own doctrine is that a dispatch needs no confirmation ceremony because the\n * mechanism already brackets it (derived scope, single-flight lock, git baseline, the Evidence\n * lane's revert) — and `resourceOperationLike` defaulting to UPDATE gives the instance-targeted\n * URL (`…/{id}/<verb>`). Every one is implemented companion-side as `OVERRIDE_ALL`, so nothing\n * here ever reaches the introspection repository's write refusals.\n */\n/*\n * ROLE PARITY WITH READS IS DELIBERATE: dispatch verbs share `APP_USER` with the read variants.\n * This is a single-operator development tool served by the local companion — the measured operator\n * holds plain `APP_USER` at app tier (the seeded developer's admin authority is an ORG membership,\n * not an app-tier role), the bespoke companion routes expose the same verbs to the same principal,\n * and every write lands in a git working tree whose acceptance is a human commit. A production\n * multi-operator surface would want a stricter gate; this one would 403 its only user.\n */\nfunction createDispatchApiVariant<TRequest extends z.ZodType, TResponse extends z.ZodType>(params: {\n readonly riskLevel?: ResourceOperationRiskLevel;\n readonly resourceOperationLike?: CoreResourceOperation;\n readonly requestDto: TRequest;\n readonly customResponseDto: TResponse;\n}) {\n return {\n variantType: ResourceOperationVariantType.API_CALL as const,\n isDefault: true as const,\n roles: [CORE_APP_ROLES.APP_USER],\n /*\n * Every creation-plane dispatch delegates synchronous companion work — a run generates and\n * judges before answering (58s measured on the CHEAPEST playbook; minutes normally), a\n * dispatch may block on a generation step, a revert rewrites files. The client's 30s default\n * cut the run PUT mid-flight, losing the outcome and the post-success invalidation emits\n * (issue #237) — so the variant declares its own transport expectation.\n */\n clientRequestTimeoutMs: 600_000,\n riskLevel: params.riskLevel ?? ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: params.resourceOperationLike ?? CoreResourceOperation.UPDATE,\n requestDto: params.requestDto,\n customResponseDto: params.customResponseDto,\n };\n}\n\ntype WorkbenchCreationPlane_CoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST;\n\n/** Traces are the one dispatch-free family: an index has nothing to fire. */\nconst WorkbenchTraceSessions_Operations = undefined;\n\n/**\n * The four read-only creation-plane factories. READ + LIST only: dispatch VERBS\n * (run/resume/dispatch-next/revert/cancel) arrive in Phase 3 as CUSTOM operations delegating to\n * the companion's own services — never as generated writes, which the introspection repository\n * refuses by contract.\n *\n * NO `identityFields` on any binding, deliberately: composition refuses values outside\n * `[a-zA-Z0-9_-]`, and playbook refs (`top_down.phase-gate`), run ids and trace session ids\n * legitimately carry dots. The in-process behaviors emit the sanitized identity field themselves\n * and refuse post-sanitization duplicates — see the schema field docs.\n *\n * Written as four explicit factories rather than one generic mold: the config initializer's schema\n * parameter is invariant in the row type, so a union-constrained generic fails to instantiate —\n * and the siblings in this directory are explicit for the same reason.\n */\nexport const workbenchPlaybooks_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WorkbenchPlaybooks_Operations,\n WorkbenchCreationPlane_CoreOperations,\n typeof Workbench_Playbook_Schema\n >({\n mainSchema: Workbench_Playbook_Schema,\n resourceIdentifier: WorkbenchShared_ResourceType.PLAYBOOKS,\n resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.PLAYBOOKS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n persistenceAdapter: PersistenceAdapter.INTROSPECTION,\n introspectionBinding: {\n behavior: WorkbenchCreationPlaneBehavior.PLAYBOOK_ELIGIBILITY,\n tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,\n },\n coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],\n customOperation: WorkbenchPlaybooks_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },\n [WorkbenchPlaybooks_Operations.RUN]: {\n variants: [createDispatchApiVariant({\n requestDto: Workbench_PlaybookRunRequest_Schema,\n customResponseDto: Workbench_PlaybookRunOutcome_Schema,\n })],\n },\n /*\n * RESUME rides the PLAYBOOK row the suspended run belongs to — the runId travels in the body.\n * A runs resource does not exist (runs-in-flight is the disposition table's recorded\n * singleton exception), and the row a creator is answering FROM is the playbook whose\n * clarification stopped them.\n */\n [WorkbenchPlaybooks_Operations.RESUME]: {\n variants: [createDispatchApiVariant({\n requestDto: Workbench_PlaybookResumeRequest_Schema,\n customResponseDto: Workbench_PlaybookRunOutcome_Schema,\n })],\n },\n },\n });\n\nexport const workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WorkbenchBuildPlanTasks_Operations,\n WorkbenchCreationPlane_CoreOperations,\n typeof Workbench_BuildPlanTask_Schema\n >({\n mainSchema: Workbench_BuildPlanTask_Schema,\n resourceIdentifier: WorkbenchShared_ResourceType.BUILD_PLAN_TASKS,\n resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.BUILD_PLAN_TASKS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n persistenceAdapter: PersistenceAdapter.INTROSPECTION,\n introspectionBinding: {\n behavior: WorkbenchCreationPlaneBehavior.BUILD_PLAN_TASKS,\n tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,\n },\n coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],\n customOperation: WorkbenchBuildPlanTasks_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },\n [WorkbenchBuildPlanTasks_Operations.DISPATCH_NEXT]: {\n variants: [createDispatchApiVariant({\n /* Collection-level: the graph picks the task, never the caller — see the enum's doc. */\n resourceOperationLike: CoreResourceOperation.UPDATE_MANY,\n requestDto: Workbench_BuildPlanDispatchNextRequest_Schema,\n customResponseDto: Workbench_BuildPlanDispatchOutcome_Schema,\n })],\n },\n },\n });\n\nexport const workbenchRunWriteRecords_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WorkbenchRunWriteRecords_Operations,\n WorkbenchCreationPlane_CoreOperations,\n typeof Workbench_RunWriteRecord_Schema\n >({\n mainSchema: Workbench_RunWriteRecord_Schema,\n resourceIdentifier: WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,\n resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.RUN_WRITE_RECORDS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n persistenceAdapter: PersistenceAdapter.INTROSPECTION,\n introspectionBinding: {\n behavior: WorkbenchCreationPlaneBehavior.RUN_WRITE_RECORDS,\n tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,\n },\n coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],\n customOperation: WorkbenchRunWriteRecords_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },\n [CoreResourceOperation.LIST]: {\n variants: [{\n ...createCreationPlaneReadListApiVariant(),\n /*\n * The \"playbook → its writes\" vehicle (R5), decided against the engine's own model\n * (#218): a REFERENCE edge never embeds a child collection in the parent's READ page —\n * that surface is COMPOSITION-only — so the reverse direction of this join is a FILTERED\n * LIST, and declaring the filter is the obligation that makes it real (the introspection\n * source honors scalar filters it is declared and refuses shapes it cannot apply).\n * `workbenchPlaybookId` takes the SANITIZED identity; `playbookRef` the raw business key.\n */\n filterFields: {\n workbenchPlaybookId: z.string().min(1),\n playbookRef: z.string().min(1),\n },\n }],\n },\n [WorkbenchRunWriteRecords_Operations.REVERT]: {\n variants: [createDispatchApiVariant({\n /*\n * HIGH, not CRITICAL: the operation's own divergence refusal (files edited since are\n * refused by name unless `force`) is the real guard, and a CRITICAL confirm dialog on\n * top of it would be ceremony in front of a mechanism that already asks better.\n */\n riskLevel: ResourceOperationRiskLevel.HIGH,\n requestDto: Workbench_RunWriteRevertRequest_Schema,\n customResponseDto: Workbench_RunWriteRevertOutcome_Schema,\n })],\n },\n },\n });\n\nexport const workbenchTraceSessions_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WorkbenchTraceSessions_Operations,\n WorkbenchCreationPlane_CoreOperations,\n typeof Workbench_TraceSession_Schema\n >({\n mainSchema: Workbench_TraceSession_Schema,\n resourceIdentifier: WorkbenchShared_ResourceType.TRACE_SESSIONS,\n resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.TRACE_SESSIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n persistenceAdapter: PersistenceAdapter.INTROSPECTION,\n introspectionBinding: {\n behavior: WorkbenchCreationPlaneBehavior.TRACE_SESSIONS,\n tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,\n },\n coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],\n customOperation: WorkbenchTraceSessions_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },\n },\n });\n\nexport const workbenchCreationPlane_ResourcesConfigurationsFactoryMap = {\n [WorkbenchShared_ResourceType.PLAYBOOKS]: workbenchPlaybooks_ResourceConfiguration_InitializationFactory,\n [WorkbenchShared_ResourceType.BUILD_PLAN_TASKS]: workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory,\n [WorkbenchShared_ResourceType.RUN_WRITE_RECORDS]: workbenchRunWriteRecords_ResourceConfiguration_InitializationFactory,\n [WorkbenchShared_ResourceType.TRACE_SESSIONS]: workbenchTraceSessions_ResourceConfiguration_InitializationFactory,\n};\n"]}
@@ -0,0 +1,221 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The CREATION PLANE's shared vocabulary — schemas for the four companion-runtime resource
4
+ * families, and the behavior ids their bindings name.
5
+ *
6
+ * ## What these rows are, and are not
7
+ *
8
+ * They are the companion's OWN RUNTIME projections for the one application it serves: the playbook
9
+ * eligibility board, the build-plan dispatch view, the run write-register and the execution-trace
10
+ * index. Unlike every other workbench resource, nothing here is derived from the application's
11
+ * source by a subprocess — the behaviors materialize IN-PROCESS from the companion's running
12
+ * services, which is why their binding declares `IntrospectionTenancyStance.APPLICATION_RUNTIME`
13
+ * and their variants are authenticated rather than `APP_PUBLIC`.
14
+ *
15
+ * ## Why the vocabularies stay plain strings
16
+ *
17
+ * Same argument as the domain-model schema one file over: `phase`, `functionalTopic` and
18
+ * `targetKind` are owned by `@wildo-ai/saas-specifications`, which this package deliberately does
19
+ * not depend on (it would drag the whole specification graph into every platform consumer). The
20
+ * companion produces the values from the real enums; binding them here would make a row a newer
21
+ * companion legitimately produces unparseable by an older workbench — refusing to show exactly the
22
+ * state the board exists to reveal.
23
+ */
24
+ /**
25
+ * The behavior ids the creation-plane bindings declare — the companion's IN-PROCESS catalog.
26
+ *
27
+ * ONE named source, consumed from both ends: the resource configs (this package) write these into
28
+ * `introspectionBinding.behavior`, and the companion's introspection source routes on membership —
29
+ * an id in this set is served by `CreationPlaneProjectionCompanionService` in-process; any other id
30
+ * flows to the subprocess lane. Deliberately NOT added to the companion's
31
+ * `CompanionIntrospectionBehaviorIdValues`: that vocabulary's execution contract
32
+ * (`materializationBoundary: 'subprocess'`, routing targets, service kinds) describes a machinery
33
+ * these behaviors never enter.
34
+ */
35
+ export declare enum WorkbenchCreationPlaneBehavior {
36
+ /** `listPlaybookEligibility()` rows + projected `computedAt`/`phase`, behind the eligibility cache. */
37
+ PLAYBOOK_ELIGIBILITY = "creation-plane.playbook-eligibility",
38
+ /** The build-plan graph's tasks with dispatch `status` computed against git (ready / landed / blocked). */
39
+ BUILD_PLAN_TASKS = "creation-plane.build-plan-tasks",
40
+ /** The write register's records, pre-image bytes stripped. */
41
+ RUN_WRITE_RECORDS = "creation-plane.run-write-records",
42
+ /** The execution-trace session index. */
43
+ TRACE_SESSIONS = "creation-plane.trace-sessions"
44
+ }
45
+ /** Membership test the companion's source routes by. */
46
+ export declare const WORKBENCH_CREATION_PLANE_BEHAVIOR_IDS: readonly string[];
47
+ /**
48
+ * The creation plane's IDENTITY RULE — part of the shared contract, deliberately, because both ends
49
+ * apply it: the companion's projections emit each row's id from its business key
50
+ * (`identityFields` composition refuses values outside `[a-zA-Z0-9_-]`, and playbook refs and trace
51
+ * session ids legitimately carry dots), and a frontend surface holding only the business key
52
+ * (an interrupted run's `playbookRef`) derives the row address the same way. Two copies of this
53
+ * function would be the drift this package exists to prevent.
54
+ *
55
+ * `.` becomes `__`; anything else outside the charset becomes `-`. NOT injective in general —
56
+ * which is why the companion's projections refuse post-sanitization duplicates rather than serving
57
+ * two rows under one id, and why server-side lookups match sanitized forms instead of reversing.
58
+ */
59
+ export declare function sanitizeWorkbenchCreationPlaneIdentity(value: string): string;
60
+ /**
61
+ * The dispatch status of one build-plan task — computed, never stored.
62
+ *
63
+ * `LANDED` = the dispatch service's landed-refs resolution (evidence in git) includes it.
64
+ * `READY` = every prerequisite landed and it has not. `BLOCKED` = at least one prerequisite has
65
+ * not landed. Exactly one holds per task, derived per read.
66
+ */
67
+ export declare enum WorkbenchBuildPlanTaskStatus {
68
+ READY = "ready",
69
+ LANDED = "landed",
70
+ BLOCKED = "blocked"
71
+ }
72
+ /**
73
+ * One playbook's row on the eligibility board.
74
+ *
75
+ * A projection of the application-creation runtime's `PlaybookEligibility` (whose docs carry the
76
+ * semantics), flattened for a list row: the per-precondition verdict objects are NOT carried —
77
+ * `unmet` is their already-rendered "why not" — and two board-level scalars are projected ONTO each
78
+ * row (`phase`, `computedAt`) because a resource row must be complete on its own.
79
+ */
80
+ export declare const Workbench_Playbook_Schema: z.ZodObject<{
81
+ workbenchPlaybookId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
82
+ playbookRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
83
+ playbookVersion: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
84
+ phase: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
85
+ intent: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
86
+ eligible: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
87
+ unmet: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
88
+ blockedOnlyBySequencing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
89
+ requiresElicitation: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
90
+ wouldReplace: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
91
+ unlandableFamilies: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
92
+ staleOutputs: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodObject<{
93
+ family: z.ZodString;
94
+ changedInputs: z.ZodArray<z.ZodString>;
95
+ }, z.core.$strip>>>;
96
+ computedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
97
+ }, z.core.$strip>;
98
+ export type Workbench_Playbook = z.infer<typeof Workbench_Playbook_Schema>;
99
+ /**
100
+ * One build-plan task in the DISPATCH view.
101
+ *
102
+ * DELIBERATELY THIN beside the `workbenchBuildTasks` aspect resource, which projects the same
103
+ * authored population from the specification artifact with its traceability edges. This row
104
+ * answers "what can run next and what has landed"; authored detail (skill refs, serves edges)
105
+ * stays on the aspect row sharing the same `taskRef`.
106
+ */
107
+ export declare const Workbench_BuildPlanTask_Schema: z.ZodObject<{
108
+ workbenchBuildPlanTaskId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
109
+ taskRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
110
+ objective: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
111
+ targetKind: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
112
+ functionalTopic: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
113
+ status: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchBuildPlanTaskStatus>>;
114
+ prerequisiteTaskRefs: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
115
+ }, z.core.$strip>;
116
+ export type Workbench_BuildPlanTask = z.infer<typeof Workbench_BuildPlanTask_Schema>;
117
+ /**
118
+ * One run's write record — the evidence lane behind every dispatch.
119
+ *
120
+ * Pre-image BYTES (`previousContent`) are deliberately not projected: they belong to the revert
121
+ * mechanism, and a list row carrying every pre-image would ship the working tree's history through
122
+ * every LIST.
123
+ */
124
+ export declare const Workbench_RunWriteRecord_Schema: z.ZodObject<{
125
+ workbenchRunWriteRecordId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
126
+ runId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
127
+ playbookRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
128
+ workbenchPlaybookId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
129
+ workbenchTraceSessionId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
130
+ at: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
131
+ files: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodObject<{
132
+ path: z.ZodString;
133
+ existedBefore: z.ZodBoolean;
134
+ }, z.core.$strip>>>;
135
+ fileCount: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
136
+ }, z.core.$strip>;
137
+ export type Workbench_RunWriteRecord = z.infer<typeof Workbench_RunWriteRecord_Schema>;
138
+ /** One execution-trace session — the queryable index the board links from. */
139
+ export declare const Workbench_TraceSession_Schema: z.ZodObject<{
140
+ workbenchTraceSessionId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
141
+ sessionId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
142
+ startedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
143
+ label: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
144
+ eventCount: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
145
+ stepCount: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
146
+ }, z.core.$strip>;
147
+ export type Workbench_TraceSession = z.infer<typeof Workbench_TraceSession_Schema>;
148
+ /** The playbook resource's dispatch verbs. */
149
+ export declare enum WorkbenchPlaybooks_Operations {
150
+ /** Fire one playbook run (the row is the playbook; the body carries brief/answers/dryRun). */
151
+ RUN = "run",
152
+ /** Answer a run that stopped at a clarification — accept with answers, decline, or cancel. */
153
+ RESUME = "resume_run"
154
+ }
155
+ /** The build-plan resource's dispatch verb. */
156
+ export declare enum WorkbenchBuildPlanTasks_Operations {
157
+ /**
158
+ * Run the NEXT ready build-plan task — collection-level on purpose: the graph already encodes
159
+ * the order its author intended, and a per-row dispatch would be a second scheduler disagreeing
160
+ * with the first (the dispatch service's own doctrine).
161
+ */
162
+ DISPATCH_NEXT = "dispatch_next"
163
+ }
164
+ /** The write-record resource's dispatch verb. */
165
+ export declare enum WorkbenchRunWriteRecords_Operations {
166
+ /** Revert this run's writes. Files edited since are refused by name unless `force`. */
167
+ REVERT = "revert_writes"
168
+ }
169
+ export declare const Workbench_PlaybookRunRequest_Schema: z.ZodObject<{
170
+ creatorBrief: z.ZodOptional<z.ZodString>;
171
+ elicitationAnswers: z.ZodOptional<z.ZodArray<z.ZodObject<{
172
+ questionRef: z.ZodString;
173
+ answer: z.ZodString;
174
+ }, z.core.$strip>>>;
175
+ dryRun: z.ZodOptional<z.ZodBoolean>;
176
+ }, z.core.$strip>;
177
+ export type Workbench_PlaybookRunRequest = z.infer<typeof Workbench_PlaybookRunRequest_Schema>;
178
+ export declare const Workbench_PlaybookResumeRequest_Schema: z.ZodObject<{
179
+ runId: z.ZodString;
180
+ action: z.ZodString;
181
+ answers: z.ZodOptional<z.ZodArray<z.ZodObject<{
182
+ ref: z.ZodString;
183
+ answer: z.ZodString;
184
+ }, z.core.$strip>>>;
185
+ }, z.core.$strip>;
186
+ export type Workbench_PlaybookResumeRequest = z.infer<typeof Workbench_PlaybookResumeRequest_Schema>;
187
+ export declare const Workbench_BuildPlanDispatchNextRequest_Schema: z.ZodObject<{
188
+ maximumTokenBudget: z.ZodOptional<z.ZodNumber>;
189
+ }, z.core.$strip>;
190
+ export type Workbench_BuildPlanDispatchNextRequest = z.infer<typeof Workbench_BuildPlanDispatchNextRequest_Schema>;
191
+ export declare const Workbench_RunWriteRevertRequest_Schema: z.ZodObject<{
192
+ force: z.ZodOptional<z.ZodBoolean>;
193
+ }, z.core.$strip>;
194
+ export type Workbench_RunWriteRevertRequest = z.infer<typeof Workbench_RunWriteRevertRequest_Schema>;
195
+ /**
196
+ * Dispatch RESPONSES are LOOSE objects, deliberately: each names the fields the board branches on
197
+ * and forwards the rest verbatim. The companion routes already spread the whole service result, and
198
+ * the recorded lesson stands — naming a closed subset is how five computed fields once vanished
199
+ * from every creator's view until someone noticed live.
200
+ */
201
+ export declare const Workbench_PlaybookRunOutcome_Schema: z.ZodObject<{
202
+ runId: z.ZodOptional<z.ZodString>;
203
+ /** Present exactly when the run is HEALTHY and waiting at a clarification. */
204
+ status: z.ZodOptional<z.ZodString>;
205
+ note: z.ZodOptional<z.ZodString>;
206
+ }, z.core.$loose>;
207
+ export type Workbench_PlaybookRunOutcome = z.infer<typeof Workbench_PlaybookRunOutcome_Schema>;
208
+ export declare const Workbench_BuildPlanDispatchOutcome_Schema: z.ZodObject<{
209
+ taskRef: z.ZodOptional<z.ZodString>;
210
+ note: z.ZodOptional<z.ZodString>;
211
+ }, z.core.$loose>;
212
+ export type Workbench_BuildPlanDispatchOutcome = z.infer<typeof Workbench_BuildPlanDispatchOutcome_Schema>;
213
+ export declare const Workbench_RunWriteRevertOutcome_Schema: z.ZodObject<{
214
+ runId: z.ZodOptional<z.ZodString>;
215
+ reverted: z.ZodOptional<z.ZodArray<z.ZodString>>;
216
+ /** Files whose current bytes differ from what the run wrote — refused by name, revertable with force. */
217
+ refusedDiverged: z.ZodOptional<z.ZodArray<z.ZodString>>;
218
+ note: z.ZodOptional<z.ZodString>;
219
+ }, z.core.$loose>;
220
+ export type Workbench_RunWriteRevertOutcome = z.infer<typeof Workbench_RunWriteRevertOutcome_Schema>;
221
+ //# sourceMappingURL=workbench-creation-plane.custom.shared.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-creation-plane.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-plane.custom.shared.schemas.ts"],"names":[],"mappings":"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"}