@wildo-ai/platform-core-shared 1.1.4 → 1.1.5

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 (71) hide show
  1. package/dist/esm/core/resources/resources-operations.custom.shared.definitions.d.ts.map +1 -1
  2. package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.d.ts.map +1 -1
  3. package/dist/esm/index.d.ts +2 -1
  4. package/dist/esm/index.d.ts.map +1 -1
  5. package/dist/esm/index.js +2 -1
  6. package/dist/esm/index.js.map +1 -1
  7. package/dist/esm/runtime/application-backend-env.contracts.d.ts +28 -2
  8. package/dist/esm/runtime/application-backend-env.contracts.d.ts.map +1 -1
  9. package/dist/esm/runtime/application-backend-env.contracts.js +27 -1
  10. package/dist/esm/runtime/application-backend-env.contracts.js.map +1 -1
  11. package/dist/esm/runtime/runtime-topology.contracts.d.ts.map +1 -1
  12. package/dist/esm/security/authorizations/roles.custom.shared.definitions.d.ts.map +1 -1
  13. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +60 -66
  14. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  15. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts +60 -66
  16. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts.map +1 -1
  17. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.js +2 -2
  18. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.js.map +1 -1
  19. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts +6 -10
  20. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts.map +1 -1
  21. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +6 -10
  22. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map +1 -1
  23. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js +26 -28
  24. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map +1 -1
  25. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.d.ts.map +1 -1
  26. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js.map +1 -1
  27. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts +27 -0
  28. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts.map +1 -1
  29. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.js +56 -0
  30. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.js.map +1 -1
  31. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  32. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.js.map +1 -1
  33. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.d.ts.map +1 -1
  34. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts +13 -0
  35. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -1
  36. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +418 -1
  37. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -1
  38. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts +0 -98
  39. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts.map +0 -1
  40. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js.map +0 -1
  41. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts +103 -0
  42. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts.map +1 -0
  43. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js +99 -0
  44. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js.map +1 -0
  45. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts +49 -0
  46. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts.map +1 -0
  47. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js +42 -0
  48. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js.map +1 -0
  49. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +378 -11
  50. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map +1 -1
  51. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js +426 -5
  52. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js.map +1 -1
  53. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts +882 -9
  54. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts.map +1 -1
  55. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js +1154 -14
  56. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -1
  57. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +117 -1
  58. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts.map +1 -1
  59. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js +160 -0
  60. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js.map +1 -1
  61. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts +184 -7
  62. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts.map +1 -1
  63. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js +1 -1
  64. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js.map +1 -1
  65. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts +2 -1
  66. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
  67. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +10 -5
  68. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
  69. package/dist/tsconfig.build.tsbuildinfo +1 -1
  70. package/package.json +4 -13
  71. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js +0 -86
@@ -1,8 +1,9 @@
1
1
  import { z } from 'zod';
2
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 { CustomShared_ResourceType } from '../core/resources/resources-types.custom.shared.schemas.js';
3
4
  import { WorkbenchShared_ResourceFieldIdentifier, WorkbenchShared_ResourceType, } from './workbench-resources-types.custom.shared.schemas.js';
4
5
  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
+ import { Workbench_AcceptChangesOutcome_Schema, Workbench_AcceptChangesRequest_Schema, Workbench_BuildPlanAddTaskOutcome_Schema, Workbench_BuildPlanAddTaskRequest_Schema, Workbench_BuildPlanDispatchNextRequest_Schema, Workbench_BuildPlanDispatchTaskRequest_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_BuildDispatchPlan_Schema, Workbench_BuildDispatch_Schema, Workbench_GovernanceDocument_Schema, Workbench_GovernanceQuestion_Schema, Workbench_CodingLaneStatus_Schema, Workbench_CreationHomeLine_Schema, Workbench_CreationOutcome_Schema, Workbench_DossierAnswerOutcome_Schema, Workbench_DossierAnswerRequest_Schema, Workbench_DossierEntry_Schema, WorkbenchDossierEntries_Operations, Workbench_EmptyRequest_Schema, Workbench_GovernanceFactsLandingOutcome_Schema, Workbench_GovernanceFactsLandingRequest_Schema, WorkbenchGovernanceDocuments_Operations, Workbench_CodingRunCancelOutcome_Schema, Workbench_ParkedQuestionAnswerOutcome_Schema, Workbench_ParkedQuestionAnswerRequest_Schema, WorkbenchParkedCodingQuestions_Operations, Workbench_PlaybookInterview_Schema, Workbench_RunWriteDiff_Schema, Workbench_TraceArtifact_Schema, Workbench_TraceArtifactRequest_Schema, Workbench_TraceSessionRecord_Schema, Workbench_TraceSessionsForTask_Schema, Workbench_TraceSessionsForTaskRequest_Schema, Workbench_TraceSessionUsage_Schema, WorkbenchTraceSessions_Operations, Workbench_ParkedCodingQuestion_Schema, Workbench_PlaybookRun_Schema, Workbench_WaitingPlaybookRun_Schema, Workbench_TraceSession_Schema, WorkbenchBuildPlanTasks_Operations, WorkbenchCreationPlaneBehavior, WorkbenchPlaybooks_Operations, WorkbenchRunWriteRecords_Operations, } from './workbench-creation-plane.custom.shared.schemas.js';
6
7
  /**
7
8
  * Resource configurations for the CREATION PLANE — the four companion-runtime families the creation
8
9
  * board consumes as resources (`workbench-creation-board-resources.md`, Phase 2; decides #166).
@@ -46,6 +47,17 @@ export const workbenchCreationPlane_ResourcesRelationships = [
46
47
  WorkbenchShared_ResourceType.BUILD_PLAN_TASKS,
47
48
  WorkbenchShared_ResourceType.RUN_WRITE_RECORDS,
48
49
  WorkbenchShared_ResourceType.TRACE_SESSIONS,
50
+ WorkbenchShared_ResourceType.GOVERNANCE_DOCUMENTS,
51
+ WorkbenchShared_ResourceType.GOVERNANCE_QUESTIONS,
52
+ WorkbenchShared_ResourceType.BUILD_DISPATCH_PLAN,
53
+ WorkbenchShared_ResourceType.BUILD_DISPATCHES,
54
+ WorkbenchShared_ResourceType.PLAYBOOK_RUNS,
55
+ WorkbenchShared_ResourceType.WAITING_PLAYBOOK_RUNS,
56
+ WorkbenchShared_ResourceType.CODING_LANE_STATUS,
57
+ WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS,
58
+ WorkbenchShared_ResourceType.DOSSIER_ENTRIES,
59
+ WorkbenchShared_ResourceType.HOME_LINES,
60
+ WorkbenchShared_ResourceType.CREATION_OUTCOMES,
49
61
  ].map((resourceType) => createResourcesRelationship(CoreResourceType.APPLICATION, resourceType, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
50
62
  nature: RelationshipNature.COMPOSITION,
51
63
  isPrimaryScope: true,
@@ -70,6 +82,53 @@ workbenchCreationPlane_ResourcesRelationships.push(createResourcesRelationship(W
70
82
  accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
71
83
  parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,
72
84
  contextPolicy: {},
85
+ }),
86
+ /*
87
+ * The two edges OUT OF this lane and into the CONTROL PLANE: a build dispatch that admitted a
88
+ * coding run, and a coding run that parked on a question, both point at the durable actor-task row
89
+ * that carries the real outcome.
90
+ *
91
+ * ## Why these must be declared and not merely decorated
92
+ *
93
+ * `.isForeignKey()` on a field is a CLAIM that the field addresses another resource; the
94
+ * relationship is what says WHICH. The registry resolves a decorated FK through
95
+ * `buildFieldIdentifierToResourceTypeMap`, which learns a non-conventional field name only from an
96
+ * edge's `foreignKeyField` — so a decorated field with no edge is unresolvable, and the frontend
97
+ * registry REFUSES TO INITIALIZE (`frontend_fk_resolution_failed`) rather than rendering a
98
+ * reference that goes nowhere.
99
+ *
100
+ * Both fields shipped decorated and unrelated on 2026-09-18, which meant the workbench could not
101
+ * boot at all. Nothing in the unit suite could see it — the repository builds fine; it is the
102
+ * registry's own initialization that sweeps — and the browser smoke test is what reported it.
103
+ *
104
+ * ## Why the field names are not the target's own identifier
105
+ *
106
+ * Every other FK here is named for the row it addresses (`workbenchPlaybookId`,
107
+ * `workbenchTraceSessionId`). These two are named for the role the id plays in THIS lane — the
108
+ * coding task a dispatch admitted, the task a question parked — because that is what the companion
109
+ * projection emits and what an operator reads in the row. The map is taught by the edge, which is
110
+ * exactly the case `foreignKeyField` exists for.
111
+ */
112
+ createResourcesRelationship(CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS, WorkbenchShared_ResourceType.BUILD_DISPATCHES, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
113
+ nature: RelationshipNature.REFERENCE,
114
+ foreignKeyField: 'codingTaskId',
115
+ accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
116
+ /* OPTIONAL and dangling-tolerant: a generation step admits no coding run, so the field is null. */
117
+ parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,
118
+ contextPolicy: {},
119
+ }), createResourcesRelationship(CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS, WorkbenchShared_ResourceType.CODING_LANE_STATUS, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
120
+ nature: RelationshipNature.REFERENCE,
121
+ foreignKeyField: 'activeRunTaskId',
122
+ accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
123
+ /* NULL whenever nothing is running, which is most of the time. */
124
+ parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,
125
+ contextPolicy: {},
126
+ }), createResourcesRelationship(CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS, WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS, ResourceRelationshipCardinality.ONE, ResourceRelationshipCardinality.MANY, {
127
+ nature: RelationshipNature.REFERENCE,
128
+ foreignKeyField: 'taskId',
129
+ accessScopeStrategy: ResourceRelationshipAccessScopeStrategy.STANDALONE,
130
+ parentResourceRequirement: ResourceParentResourceRequirement.OPTIONAL,
131
+ contextPolicy: {},
73
132
  }));
74
133
  /**
75
134
  * A shared dispatch-variant mold (Phase 3, plan D3): authenticated like the reads, MEDIUM risk by
@@ -99,15 +158,36 @@ function createDispatchApiVariant(params) {
99
158
  * cut the run PUT mid-flight, losing the outcome and the post-success invalidation emits
100
159
  * (issue #237) — so the variant declares its own transport expectation.
101
160
  */
102
- clientRequestTimeoutMs: 600_000,
103
- riskLevel: params.riskLevel ?? ResourceOperationRiskLevel.MEDIUM,
161
+ clientRequestTimeoutMs: params.readOnly ? 30_000 : 600_000,
162
+ riskLevel: params.riskLevel ?? (params.readOnly ? ResourceOperationRiskLevel.LOW : ResourceOperationRiskLevel.MEDIUM),
104
163
  resourceOperationLike: params.resourceOperationLike ?? CoreResourceOperation.UPDATE,
105
164
  requestDto: params.requestDto,
106
165
  customResponseDto: params.customResponseDto,
107
166
  };
108
167
  }
109
- /** Traces are the one dispatch-free family: an index has nothing to fire. */
110
- const WorkbenchTraceSessions_Operations = undefined;
168
+ /**
169
+ * Governance questions are dispatch-free HERE, and that is a decision rather than an omission.
170
+ *
171
+ * Answering one lands the `document-facts-authored` family through the document's own door
172
+ * (`POST /compliance/governance-facts`), which carries the governance scope and, for a reviewed fact,
173
+ * the review — a per-question verb with a bare value could carry neither. Since 2026-09-22 (#1454,
174
+ * Step 6) that door accepts a PARTIAL set and merges by fact, so "half a questionnaire" is no longer
175
+ * the argument; the argument is the shape of an answer. The row is the question as asked, with its
176
+ * standing.
177
+ */
178
+ const WorkbenchGovernanceQuestions_Operations = undefined;
179
+ /**
180
+ * The OBSERVATION resources are dispatch-free, and each for its own reason.
181
+ *
182
+ * A build dispatch is a RECORD of an attempt — there is nothing to fire at a thing that already
183
+ * happened; re-dispatching is a verb on the build-plan TASK. A waiting run is answered by a verb that
184
+ * already exists somewhere truer: `RESUME` rides the playbook row the clarification stopped. (A
185
+ * parked coding question carried the same argument until 2026-09-22, when its bespoke decision
186
+ * channel became the row's own `answer` / `cancel` — the act has ONE door either way, and the row is
187
+ * where a reader meets it.) Adding a second door to a dispatch or a waiting run would put the same
188
+ * act in two places.
189
+ */
190
+ const WorkbenchObservation_Operations = undefined;
111
191
  /**
112
192
  * The four read-only creation-plane factories. READ + LIST only: dispatch VERBS
113
193
  * (run/resume/dispatch-next/revert/cancel) arrive in Phase 3 as CUSTOM operations delegating to
@@ -157,6 +237,13 @@ export const workbenchPlaybooks_ResourceConfiguration_InitializationFactory = (r
157
237
  customResponseDto: Workbench_PlaybookRunOutcome_Schema,
158
238
  })],
159
239
  },
240
+ [WorkbenchPlaybooks_Operations.READ_INTERVIEW]: {
241
+ variants: [createDispatchApiVariant({
242
+ readOnly: true,
243
+ requestDto: Workbench_EmptyRequest_Schema,
244
+ customResponseDto: Workbench_PlaybookInterview_Schema,
245
+ })],
246
+ },
160
247
  },
161
248
  });
162
249
  export const workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
@@ -183,6 +270,28 @@ export const workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory
183
270
  customResponseDto: Workbench_BuildPlanDispatchOutcome_Schema,
184
271
  })],
185
272
  },
273
+ [WorkbenchBuildPlanTasks_Operations.ADD_TASK]: {
274
+ variants: [createDispatchApiVariant({
275
+ /* Collection-level: the row does not exist until the append answers. */
276
+ resourceOperationLike: CoreResourceOperation.UPDATE_MANY,
277
+ requestDto: Workbench_BuildPlanAddTaskRequest_Schema,
278
+ customResponseDto: Workbench_BuildPlanAddTaskOutcome_Schema,
279
+ })],
280
+ },
281
+ [WorkbenchBuildPlanTasks_Operations.DISPATCH_TASK]: {
282
+ variants: [createDispatchApiVariant({
283
+ requestDto: Workbench_BuildPlanDispatchTaskRequest_Schema,
284
+ customResponseDto: Workbench_BuildPlanDispatchOutcome_Schema,
285
+ })],
286
+ },
287
+ [WorkbenchBuildPlanTasks_Operations.ACCEPT]: {
288
+ variants: [createDispatchApiVariant({
289
+ /* HIGH for the same reason `revert_writes` is: the verb's own by-name refusals are the guard. */
290
+ riskLevel: ResourceOperationRiskLevel.HIGH,
291
+ requestDto: Workbench_AcceptChangesRequest_Schema,
292
+ customResponseDto: Workbench_AcceptChangesOutcome_Schema,
293
+ })],
294
+ },
186
295
  },
187
296
  });
188
297
  export const workbenchRunWriteRecords_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
@@ -229,6 +338,20 @@ export const workbenchRunWriteRecords_ResourceConfiguration_InitializationFactor
229
338
  customResponseDto: Workbench_RunWriteRevertOutcome_Schema,
230
339
  })],
231
340
  },
341
+ [WorkbenchRunWriteRecords_Operations.ACCEPT]: {
342
+ variants: [createDispatchApiVariant({
343
+ riskLevel: ResourceOperationRiskLevel.HIGH,
344
+ requestDto: Workbench_AcceptChangesRequest_Schema,
345
+ customResponseDto: Workbench_AcceptChangesOutcome_Schema,
346
+ })],
347
+ },
348
+ [WorkbenchRunWriteRecords_Operations.READ_DIFF]: {
349
+ variants: [createDispatchApiVariant({
350
+ readOnly: true,
351
+ requestDto: Workbench_EmptyRequest_Schema,
352
+ customResponseDto: Workbench_RunWriteDiff_Schema,
353
+ })],
354
+ },
232
355
  },
233
356
  });
234
357
  export const workbenchTraceSessions_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
@@ -244,6 +367,293 @@ export const workbenchTraceSessions_ResourceConfiguration_InitializationFactory
244
367
  },
245
368
  coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
246
369
  customOperation: WorkbenchTraceSessions_Operations,
370
+ operationsConfiguration: {
371
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
372
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
373
+ /* What a session RECORDED, read on demand for the one a reader opened — never LIST-row fields. */
374
+ [WorkbenchTraceSessions_Operations.READ_RECORD]: {
375
+ variants: [createDispatchApiVariant({ readOnly: true, requestDto: Workbench_EmptyRequest_Schema, customResponseDto: Workbench_TraceSessionRecord_Schema })],
376
+ },
377
+ [WorkbenchTraceSessions_Operations.READ_USAGE]: {
378
+ variants: [createDispatchApiVariant({ readOnly: true, requestDto: Workbench_EmptyRequest_Schema, customResponseDto: Workbench_TraceSessionUsage_Schema })],
379
+ },
380
+ [WorkbenchTraceSessions_Operations.READ_ARTIFACT]: {
381
+ variants: [createDispatchApiVariant({ readOnly: true, requestDto: Workbench_TraceArtifactRequest_Schema, customResponseDto: Workbench_TraceArtifact_Schema })],
382
+ },
383
+ [WorkbenchTraceSessions_Operations.LIST_FOR_TASK]: {
384
+ variants: [createDispatchApiVariant({
385
+ /* Collection-level: the actor task is the input, and it names no session row. */
386
+ resourceOperationLike: CoreResourceOperation.UPDATE_MANY,
387
+ readOnly: true,
388
+ requestDto: Workbench_TraceSessionsForTaskRequest_Schema,
389
+ customResponseDto: Workbench_TraceSessionsForTask_Schema,
390
+ })],
391
+ },
392
+ },
393
+ });
394
+ export const workbenchGovernanceDocuments_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
395
+ mainSchema: Workbench_GovernanceDocument_Schema,
396
+ resourceIdentifier: WorkbenchShared_ResourceType.GOVERNANCE_DOCUMENTS,
397
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.GOVERNANCE_DOCUMENTS],
398
+ resourceRelationships: resourcesRelationships,
399
+ isSystemResource: false,
400
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
401
+ introspectionBinding: {
402
+ behavior: WorkbenchCreationPlaneBehavior.GOVERNANCE_DOCUMENTS,
403
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
404
+ },
405
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
406
+ customOperation: WorkbenchGovernanceDocuments_Operations,
407
+ operationsConfiguration: {
408
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
409
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
410
+ /* Lands `document-facts-authored` — it WRITES a file, hence MEDIUM and the run's transport budget. */
411
+ [WorkbenchGovernanceDocuments_Operations.LAND_FACTS]: {
412
+ variants: [createDispatchApiVariant({
413
+ requestDto: Workbench_GovernanceFactsLandingRequest_Schema,
414
+ customResponseDto: Workbench_GovernanceFactsLandingOutcome_Schema,
415
+ })],
416
+ },
417
+ },
418
+ });
419
+ export const workbenchGovernanceQuestions_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
420
+ mainSchema: Workbench_GovernanceQuestion_Schema,
421
+ resourceIdentifier: WorkbenchShared_ResourceType.GOVERNANCE_QUESTIONS,
422
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.GOVERNANCE_QUESTIONS],
423
+ resourceRelationships: resourcesRelationships,
424
+ isSystemResource: false,
425
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
426
+ introspectionBinding: {
427
+ behavior: WorkbenchCreationPlaneBehavior.GOVERNANCE_QUESTIONS,
428
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
429
+ },
430
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
431
+ customOperation: WorkbenchGovernanceQuestions_Operations,
432
+ operationsConfiguration: {
433
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
434
+ [CoreResourceOperation.LIST]: {
435
+ variants: [{
436
+ ...createCreationPlaneReadListApiVariant(),
437
+ /* The dossier page filters by standing (its quick-filter tabs), by document, and by what waits on the person now. */
438
+ filterFields: {
439
+ definitionRef: z.string().min(1),
440
+ standing: z.string().min(1),
441
+ askedNow: z.boolean(),
442
+ },
443
+ }],
444
+ },
445
+ },
446
+ });
447
+ export const workbenchBuildDispatchPlan_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
448
+ mainSchema: Workbench_BuildDispatchPlan_Schema,
449
+ resourceIdentifier: WorkbenchShared_ResourceType.BUILD_DISPATCH_PLAN,
450
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.BUILD_DISPATCH_PLAN],
451
+ resourceRelationships: resourcesRelationships,
452
+ isSystemResource: false,
453
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
454
+ introspectionBinding: {
455
+ behavior: WorkbenchCreationPlaneBehavior.BUILD_DISPATCH_PLAN,
456
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
457
+ },
458
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
459
+ customOperation: WorkbenchObservation_Operations,
460
+ operationsConfiguration: {
461
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
462
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
463
+ },
464
+ });
465
+ export const workbenchBuildDispatches_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
466
+ mainSchema: Workbench_BuildDispatch_Schema,
467
+ resourceIdentifier: WorkbenchShared_ResourceType.BUILD_DISPATCHES,
468
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.BUILD_DISPATCHES],
469
+ resourceRelationships: resourcesRelationships,
470
+ isSystemResource: false,
471
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
472
+ introspectionBinding: {
473
+ behavior: WorkbenchCreationPlaneBehavior.BUILD_DISPATCHES,
474
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
475
+ },
476
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
477
+ customOperation: WorkbenchObservation_Operations,
478
+ operationsConfiguration: {
479
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
480
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
481
+ },
482
+ });
483
+ export const workbenchPlaybookRuns_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
484
+ mainSchema: Workbench_PlaybookRun_Schema,
485
+ resourceIdentifier: WorkbenchShared_ResourceType.PLAYBOOK_RUNS,
486
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.PLAYBOOK_RUNS],
487
+ resourceRelationships: resourcesRelationships,
488
+ isSystemResource: false,
489
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
490
+ introspectionBinding: {
491
+ behavior: WorkbenchCreationPlaneBehavior.PLAYBOOK_RUNS,
492
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
493
+ },
494
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
495
+ customOperation: WorkbenchObservation_Operations,
496
+ operationsConfiguration: {
497
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
498
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
499
+ },
500
+ });
501
+ export const workbenchWaitingPlaybookRuns_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
502
+ mainSchema: Workbench_WaitingPlaybookRun_Schema,
503
+ resourceIdentifier: WorkbenchShared_ResourceType.WAITING_PLAYBOOK_RUNS,
504
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.WAITING_PLAYBOOK_RUNS],
505
+ resourceRelationships: resourcesRelationships,
506
+ isSystemResource: false,
507
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
508
+ introspectionBinding: {
509
+ behavior: WorkbenchCreationPlaneBehavior.WAITING_PLAYBOOK_RUNS,
510
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
511
+ },
512
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
513
+ customOperation: WorkbenchObservation_Operations,
514
+ operationsConfiguration: {
515
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
516
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
517
+ },
518
+ });
519
+ export const workbenchCodingLaneStatus_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
520
+ mainSchema: Workbench_CodingLaneStatus_Schema,
521
+ resourceIdentifier: WorkbenchShared_ResourceType.CODING_LANE_STATUS,
522
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.CODING_LANE_STATUS],
523
+ resourceRelationships: resourcesRelationships,
524
+ isSystemResource: false,
525
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
526
+ introspectionBinding: {
527
+ behavior: WorkbenchCreationPlaneBehavior.CODING_LANE_STATUS,
528
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
529
+ },
530
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
531
+ customOperation: WorkbenchObservation_Operations,
532
+ operationsConfiguration: {
533
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
534
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
535
+ },
536
+ });
537
+ export const workbenchParkedCodingQuestions_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
538
+ mainSchema: Workbench_ParkedCodingQuestion_Schema,
539
+ resourceIdentifier: WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS,
540
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS],
541
+ resourceRelationships: resourcesRelationships,
542
+ isSystemResource: false,
543
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
544
+ introspectionBinding: {
545
+ behavior: WorkbenchCreationPlaneBehavior.PARKED_CODING_QUESTIONS,
546
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
547
+ },
548
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
549
+ customOperation: WorkbenchParkedCodingQuestions_Operations,
550
+ operationsConfiguration: {
551
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
552
+ [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
553
+ [WorkbenchParkedCodingQuestions_Operations.ANSWER]: {
554
+ variants: [createDispatchApiVariant({
555
+ requestDto: Workbench_ParkedQuestionAnswerRequest_Schema,
556
+ customResponseDto: Workbench_ParkedQuestionAnswerOutcome_Schema,
557
+ })],
558
+ },
559
+ [WorkbenchParkedCodingQuestions_Operations.CANCEL]: {
560
+ variants: [createDispatchApiVariant({
561
+ /* Collection-level: one coding lane, one active run — see the enum. */
562
+ resourceOperationLike: CoreResourceOperation.UPDATE_MANY,
563
+ requestDto: Workbench_EmptyRequest_Schema,
564
+ customResponseDto: Workbench_CodingRunCancelOutcome_Schema,
565
+ })],
566
+ },
567
+ },
568
+ });
569
+ /**
570
+ * THE DOSSIER (#1454, Step 5): what the creator was asked and what they said.
571
+ *
572
+ * READ/LIST like every creation-plane projection, plus ONE write verb, `answer`, which lands the
573
+ * `creator-inputs` family. A per-row dispatch because the row IS the question: the identity carries
574
+ * the playbook and question refs the family stores the answer under, so the body carries only the
575
+ * value. `PATCH`-shaped (`UPDATE` operation-like) rather than `PUT`, since an answer changes one
576
+ * field of an existing row and the resource has no CREATE — a question exists because a playbook
577
+ * declares it, never because someone answered it.
578
+ */
579
+ export const workbenchDossierEntries_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
580
+ mainSchema: Workbench_DossierEntry_Schema,
581
+ resourceIdentifier: WorkbenchShared_ResourceType.DOSSIER_ENTRIES,
582
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.DOSSIER_ENTRIES],
583
+ resourceRelationships: resourcesRelationships,
584
+ isSystemResource: false,
585
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
586
+ introspectionBinding: {
587
+ behavior: WorkbenchCreationPlaneBehavior.DOSSIER_ENTRIES,
588
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
589
+ },
590
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
591
+ customOperation: WorkbenchDossierEntries_Operations,
592
+ operationsConfiguration: {
593
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
594
+ [CoreResourceOperation.LIST]: {
595
+ variants: [{
596
+ ...createCreationPlaneReadListApiVariant(),
597
+ /* The scripted interview reads ONE playbook's questions; the dossier page reads all. */
598
+ filterFields: {
599
+ playbookRef: z.string().min(1),
600
+ standing: z.string().min(1),
601
+ /* "What waits on me now" — the dossier page's one narrow question, asked server-side. */
602
+ askedNow: z.boolean(),
603
+ },
604
+ }],
605
+ },
606
+ [WorkbenchDossierEntries_Operations.ANSWER]: {
607
+ variants: [createDispatchApiVariant({
608
+ requestDto: Workbench_DossierAnswerRequest_Schema,
609
+ customResponseDto: Workbench_DossierAnswerOutcome_Schema,
610
+ })],
611
+ },
612
+ },
613
+ });
614
+ /**
615
+ * HOME's LINES (#1454): READ/LIST like every creation-plane projection, no write verb — a line is a
616
+ * pointer at an element whose own operations do the work (Run on a playbook, Answer on a waiting
617
+ * run, Accept on a dispatch). `section` is the one declared filter: Home reads the three sections it
618
+ * lays out, and the assistant asks for "what is asked of the creator" without reading the rest.
619
+ */
620
+ export const workbenchCreationHomeLines_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
621
+ mainSchema: Workbench_CreationHomeLine_Schema,
622
+ resourceIdentifier: WorkbenchShared_ResourceType.HOME_LINES,
623
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.HOME_LINES],
624
+ resourceRelationships: resourcesRelationships,
625
+ isSystemResource: false,
626
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
627
+ introspectionBinding: {
628
+ behavior: WorkbenchCreationPlaneBehavior.HOME_LINES,
629
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
630
+ },
631
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
632
+ customOperation: WorkbenchObservation_Operations,
633
+ operationsConfiguration: {
634
+ [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
635
+ [CoreResourceOperation.LIST]: {
636
+ variants: [{
637
+ ...createCreationPlaneReadListApiVariant(),
638
+ filterFields: { section: z.string().min(1) },
639
+ }],
640
+ },
641
+ },
642
+ });
643
+ /** The four creation OUTCOMES (#1454): READ/LIST, always four rows, nothing to write. */
644
+ export const workbenchCreationOutcomes_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
645
+ mainSchema: Workbench_CreationOutcome_Schema,
646
+ resourceIdentifier: WorkbenchShared_ResourceType.CREATION_OUTCOMES,
647
+ resourceFieldIdentifier: WorkbenchShared_ResourceFieldIdentifier[WorkbenchShared_ResourceType.CREATION_OUTCOMES],
648
+ resourceRelationships: resourcesRelationships,
649
+ isSystemResource: false,
650
+ persistenceAdapter: PersistenceAdapter.INTROSPECTION,
651
+ introspectionBinding: {
652
+ behavior: WorkbenchCreationPlaneBehavior.CREATION_OUTCOMES,
653
+ tenancy: IntrospectionTenancyStance.APPLICATION_RUNTIME,
654
+ },
655
+ coreOperations: [CoreResourceOperation.READ, CoreResourceOperation.LIST],
656
+ customOperation: WorkbenchObservation_Operations,
247
657
  operationsConfiguration: {
248
658
  [CoreResourceOperation.READ]: { variants: [createCreationPlaneReadApiVariant()] },
249
659
  [CoreResourceOperation.LIST]: { variants: [createCreationPlaneReadListApiVariant()] },
@@ -254,5 +664,16 @@ export const workbenchCreationPlane_ResourcesConfigurationsFactoryMap = {
254
664
  [WorkbenchShared_ResourceType.BUILD_PLAN_TASKS]: workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory,
255
665
  [WorkbenchShared_ResourceType.RUN_WRITE_RECORDS]: workbenchRunWriteRecords_ResourceConfiguration_InitializationFactory,
256
666
  [WorkbenchShared_ResourceType.TRACE_SESSIONS]: workbenchTraceSessions_ResourceConfiguration_InitializationFactory,
667
+ [WorkbenchShared_ResourceType.GOVERNANCE_DOCUMENTS]: workbenchGovernanceDocuments_ResourceConfiguration_InitializationFactory,
668
+ [WorkbenchShared_ResourceType.GOVERNANCE_QUESTIONS]: workbenchGovernanceQuestions_ResourceConfiguration_InitializationFactory,
669
+ [WorkbenchShared_ResourceType.BUILD_DISPATCH_PLAN]: workbenchBuildDispatchPlan_ResourceConfiguration_InitializationFactory,
670
+ [WorkbenchShared_ResourceType.BUILD_DISPATCHES]: workbenchBuildDispatches_ResourceConfiguration_InitializationFactory,
671
+ [WorkbenchShared_ResourceType.PLAYBOOK_RUNS]: workbenchPlaybookRuns_ResourceConfiguration_InitializationFactory,
672
+ [WorkbenchShared_ResourceType.WAITING_PLAYBOOK_RUNS]: workbenchWaitingPlaybookRuns_ResourceConfiguration_InitializationFactory,
673
+ [WorkbenchShared_ResourceType.CODING_LANE_STATUS]: workbenchCodingLaneStatus_ResourceConfiguration_InitializationFactory,
674
+ [WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS]: workbenchParkedCodingQuestions_ResourceConfiguration_InitializationFactory,
675
+ [WorkbenchShared_ResourceType.DOSSIER_ENTRIES]: workbenchDossierEntries_ResourceConfiguration_InitializationFactory,
676
+ [WorkbenchShared_ResourceType.HOME_LINES]: workbenchCreationHomeLines_ResourceConfiguration_InitializationFactory,
677
+ [WorkbenchShared_ResourceType.CREATION_OUTCOMES]: workbenchCreationOutcomes_ResourceConfiguration_InitializationFactory,
257
678
  };
258
679
  //# sourceMappingURL=workbench-creation-plane.custom.shared.resources-config.schemas.js.map