@wildo-ai/platform-core-shared 1.1.11 → 1.1.13
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.
- package/dist/esm/core/resources/resources-operations.custom.shared.definitions.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-operations.custom.shared.definitions.js.map +1 -1
- package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.js.map +1 -1
- package/dist/esm/core/resources/resources-types.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-types.custom.shared.schemas.js.map +1 -1
- package/dist/esm/dev-runtime/dependency-install-record.d.ts +111 -0
- package/dist/esm/dev-runtime/dependency-install-record.d.ts.map +1 -0
- package/dist/esm/dev-runtime/dependency-install-record.js +185 -0
- package/dist/esm/dev-runtime/dependency-install-record.js.map +1 -0
- package/dist/esm/dev-runtime/dev-runtime-command.d.ts +50 -0
- package/dist/esm/dev-runtime/dev-runtime-command.d.ts.map +1 -0
- package/dist/esm/dev-runtime/dev-runtime-command.js +147 -0
- package/dist/esm/dev-runtime/dev-runtime-command.js.map +1 -0
- package/dist/esm/dev-runtime/dev-runtime-processes.d.ts +47 -0
- package/dist/esm/dev-runtime/dev-runtime-processes.d.ts.map +1 -0
- package/dist/esm/dev-runtime/dev-runtime-processes.js +163 -0
- package/dist/esm/dev-runtime/dev-runtime-processes.js.map +1 -0
- package/dist/esm/dev-runtime/dev-runtime-signals.d.ts +54 -0
- package/dist/esm/dev-runtime/dev-runtime-signals.d.ts.map +1 -0
- package/dist/esm/dev-runtime/dev-runtime-signals.js +113 -0
- package/dist/esm/dev-runtime/dev-runtime-signals.js.map +1 -0
- package/dist/esm/dev-runtime/emitted-relative-specifiers.d.ts +14 -0
- package/dist/esm/dev-runtime/emitted-relative-specifiers.d.ts.map +1 -0
- package/dist/esm/dev-runtime/emitted-relative-specifiers.js +71 -0
- package/dist/esm/dev-runtime/emitted-relative-specifiers.js.map +1 -0
- package/dist/esm/dev-runtime/frontend-dev-runtime.d.ts +43 -0
- package/dist/esm/dev-runtime/frontend-dev-runtime.d.ts.map +1 -0
- package/dist/esm/dev-runtime/frontend-dev-runtime.js +42 -0
- package/dist/esm/dev-runtime/frontend-dev-runtime.js.map +1 -0
- package/dist/esm/dev-runtime/node-runtime-dev-supervisor.d.ts +233 -0
- package/dist/esm/dev-runtime/node-runtime-dev-supervisor.d.ts.map +1 -0
- package/dist/esm/dev-runtime/node-runtime-dev-supervisor.js +578 -0
- package/dist/esm/dev-runtime/node-runtime-dev-supervisor.js.map +1 -0
- package/dist/esm/dev-runtime/package-compile-loop.d.ts +125 -0
- package/dist/esm/dev-runtime/package-compile-loop.d.ts.map +1 -0
- package/dist/esm/dev-runtime/package-compile-loop.js +386 -0
- package/dist/esm/dev-runtime/package-compile-loop.js.map +1 -0
- package/dist/esm/dev-runtime.exports.d.ts +19 -0
- package/dist/esm/dev-runtime.exports.d.ts.map +1 -0
- package/dist/esm/dev-runtime.exports.js +19 -0
- package/dist/esm/dev-runtime.exports.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/runtime/application-backend-env.contracts.d.ts +9 -2
- package/dist/esm/runtime/application-backend-env.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/application-backend-env.contracts.js +8 -1
- package/dist/esm/runtime/application-backend-env.contracts.js.map +1 -1
- package/dist/esm/runtime/application-worker-env.contracts.d.ts +11 -3
- package/dist/esm/runtime/application-worker-env.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/application-worker-env.contracts.js +9 -0
- package/dist/esm/runtime/application-worker-env.contracts.js.map +1 -1
- package/dist/esm/runtime/backend-start-outcome.contracts.d.ts +27 -0
- package/dist/esm/runtime/backend-start-outcome.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/backend-start-outcome.contracts.js +34 -0
- package/dist/esm/runtime/backend-start-outcome.contracts.js.map +1 -1
- package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.d.ts +28 -0
- package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.d.ts.map +1 -0
- package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.js +35 -0
- package/dist/esm/runtime/frontend-settings-hub-wiring.contracts.js.map +1 -0
- package/dist/esm/runtime/http-server-env.contracts.d.ts +14 -1
- package/dist/esm/runtime/http-server-env.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/http-server-env.contracts.js +13 -0
- package/dist/esm/runtime/http-server-env.contracts.js.map +1 -1
- package/dist/esm/runtime/local-dev-runtime-signals.contracts.d.ts +239 -0
- package/dist/esm/runtime/local-dev-runtime-signals.contracts.d.ts.map +1 -0
- package/dist/esm/runtime/local-dev-runtime-signals.contracts.js +256 -0
- package/dist/esm/runtime/local-dev-runtime-signals.contracts.js.map +1 -0
- package/dist/esm/runtime/runtime-topology.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/runtime-topology.contracts.js.map +1 -1
- package/dist/esm/security/authorizations/roles.custom.shared.definitions.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.custom.shared.definitions.js.map +1 -1
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +112 -104
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js +4 -3
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts +112 -104
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.js.map +1 -1
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts +24 -34
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js +4 -3
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +24 -34
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map +1 -1
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.d.ts +3 -3
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js +30 -42
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts +9 -9
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.js.map +1 -1
- package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.d.ts +7 -7
- package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/creation-drive.custom.shared.schemas.d.ts +82 -0
- package/dist/esm/workbench/creation-drive.custom.shared.schemas.d.ts.map +1 -0
- package/dist/esm/workbench/creation-drive.custom.shared.schemas.js +73 -0
- package/dist/esm/workbench/creation-drive.custom.shared.schemas.js.map +1 -0
- package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.d.ts +183 -0
- package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.d.ts.map +1 -0
- package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.js +188 -0
- package/dist/esm/workbench/creation-journey-timeline.custom.shared.schemas.js.map +1 -0
- package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +46 -0
- package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts +170 -7
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js +177 -7
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +480 -459
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js +21 -16
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts +480 -278
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js +316 -46
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +7 -0
- package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js +13 -1
- package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts +287 -277
- package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts +34 -29
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +9 -5
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +13 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-domain-model.custom.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"workbench-domain-model.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/workbench/workbench-domain-model.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC,qBAA2C,CAAC;AAE/F;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,qCAA8D,CAAC;AAE7G;;;;GAIG;AACH,oBAAY,6BAA6B;IACvC,0EAA0E;IAC1E,IAAI,SAAS;IACb,uFAAuF;IACvF,QAAQ,aAAa;IACrB,sDAAsD;IACtD,MAAM,WAAW;IACjB,wEAAwE;IACxE,KAAK,UAAU;IACf,qHAAqH;IACrH,KAAK,UAAU;IACf;;;;OAIG;IACH,KAAK,UAAU;CAChB;AAED,qHAAqH;AACrH,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,KAAK,IAAI,6BAA6B,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpF,CAAC;AAEF;;;;;;;;;;;;GAYG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-domain-model.custom.shared.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"workbench-domain-model.custom.shared.schemas.js","sourceRoot":"","sources":["../../../src/workbench/workbench-domain-model.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,cAAc,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,OAAO,+BAA+B,EAAE,CAAC;AAE/F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,mBAAmB,sCAAsC,EAAE,CAAC;AAE7G;;;;GAIG;AACH,MAAM,CAAN,IAAY,6BAiBX;AAjBD,WAAY,6BAA6B;IACvC,0EAA0E;IAC1E,8CAAa,CAAA;IACb,uFAAuF;IACvF,sDAAqB,CAAA;IACrB,sDAAsD;IACtD,kDAAiB,CAAA;IACjB,wEAAwE;IACxE,gDAAe,CAAA;IACf,qHAAqH;IACrH,gDAAe,CAAA;IACf;;;;OAIG;IACH,gDAAe,CAAA;AACjB,CAAC,EAjBW,6BAA6B,KAA7B,6BAA6B,QAiBxC;AAOD;;;;;;;;;;;;GAYG","sourcesContent":["/**\n * The domain-model graph's identity, shared for the same reason its sibling board's is: THREE\n * packages must agree on it and none of them can see the others.\n *\n * - the workbench declares the composite view under {@link WORKBENCH_DOMAIN_MODEL_VIEW_REF} and\n * addresses it by that ref;\n * - the companion authors the labels the view resolves, keyed by exactly those refs;\n * - the engine's launcher resolution and router address the view by that same ref.\n *\n * Three string literals in three packages compile perfectly and fail at runtime as a blank sidebar\n * row and a headless section — `tCompositeView` and `tCompositeViewSection` answer the EMPTY STRING\n * for a missing key rather than echoing it, so nothing reports the drift.\n *\n * This carries NO React and NO Node: it is a vocabulary, which is what makes it importable by a\n * browser bundle and by a daemon at once.\n */\n\n/**\n * The view's `ref` — the composite-view key, the launcher target, and the `/composite/<ref>` route.\n *\n * It MUST NOT contain a dot, for the reason its sibling board's ref records: the label lookup path is\n * `composite_views.<translationRef>.<key>` and BOTH readers split that whole path on `.` and walk it\n * segment by segment, so a dotted ref nests its labels one level deeper than anything that reads them\n * expects — silently, because `tCompositeView` answers the empty string.\n */\nexport const WORKBENCH_DOMAIN_MODEL_VIEW_REF = 'domain-model';\n\n/**\n * The label key the view's title and description hang off.\n *\n * DERIVED by the engine's `buildApplicationViewTranslationRef` (`app.<ref>`), not chosen here. It is\n * restated because the companion cannot import a frontend package to compute it, and the workbench's\n * own test asserts this constant against the engine's derivation — so the copy cannot drift silently\n * from the function that produces it at runtime.\n */\nexport const WORKBENCH_DOMAIN_MODEL_TRANSLATION_REF = `app.${WORKBENCH_DOMAIN_MODEL_VIEW_REF}`;\n\n/**\n * Where the view's OWN words hang (#2532): `composite_views.app.domain-model.<block>.<leaf>`, beside its title and\n * description. `tCompositeView` reads only those two; the view's inner words are read with `t` under this root, the way\n * the creation conversation reads its blocks. Until this existed the graph, its controls, its legend and the resource\n * sheet were drawn in literal English, on the reasoning that a view had no key space for inner content.\n */\nexport const WORKBENCH_DOMAIN_MODEL_LABEL_ROOT = `composite_views.${WORKBENCH_DOMAIN_MODEL_TRANSLATION_REF}`;\n\n/**\n * The view's copy BLOCKS: the contract between the words the view reads and the words the companion authors. A block\n * added here stops the companion's label file compiling until it is authored ({@link WorkbenchDomainModelCopy}); a\n * leaf nobody authored renders as its own key, visibly.\n */\nexport enum WorkbenchDomainModelCopyBlock {\n /** The view's own states: deriving, could not derive, nothing to draw. */\n VIEW = 'view',\n /** The canvas controls: which groups are drawn, the edge toggle, the legend button. */\n CONTROLS = 'controls',\n /** What each stroke means, and how an arrow reads. */\n LEGEND = 'legend',\n /** A box on the canvas: an engine group's name, a resource's counts. */\n NODES = 'nodes',\n /** A line on the canvas, and the same relationship in the sheet: its cardinalities, junction, and disabled state. */\n EDGES = 'edges',\n /**\n * The resource sheet a box opens: its sections, facts, fields, relationships and operations. The domain-resource READ\n * page renders the same body, so it reads these words too: one body in two hosts keeps one set of words, the view's,\n * rather than a second copy under the resource (#2532 review F8).\n */\n SHEET = 'sheet',\n}\n\n/** What the companion authors under {@link WORKBENCH_DOMAIN_MODEL_LABEL_ROOT}: every block, each a set of leaves. */\nexport type WorkbenchDomainModelCopy = {\n readonly [block in WorkbenchDomainModelCopyBlock]: Readonly<Record<string, string>>;\n};\n\n/**\n * The view declares NO sections, and that is a decision rather than an omission.\n *\n * `CompositeLayout` groups SEVERAL embedded surfaces under their own headings. This view has one\n * surface — a canvas with a rail beside it — so a section would be a second heading over the same\n * thing, and that is exactly what it was: `ViewLayout_Header` rendered \"Domain model\" from\n * `composite_views.app.domain-model.title` and the lone section rendered \"Domain model\" again\n * immediately beneath it, with two descriptions saying the same thing in different words.\n *\n * There is therefore no `WorkbenchDomainModelSection` enum, no section-refs list and no section-label\n * contract. If the view ever grows a second surface — a journey timeline beside the graph, say — that\n * is when sections earn their place, and they are added here as its sibling board's are.\n */\n"]}
|
|
@@ -197,6 +197,8 @@ export declare enum WorkbenchShared_ResourceType {
|
|
|
197
197
|
ASPECT_VISION_MISSION = "workbenchVisionMissions",
|
|
198
198
|
ASPECT_VISION_SUCCESS_CRITERION = "workbenchVisionSuccessCriteria",
|
|
199
199
|
ASPECT_VISION_CONSTRAINT = "workbenchVisionConstraints",
|
|
200
|
+
/** A regime the compliance posture recorded (#3362) — its own family since the posture stopped writing into the vision. */
|
|
201
|
+
ASPECT_COMPLIANCE_POSTURE_CONSTRAINT = "workbenchCompliancePostureConstraints",
|
|
200
202
|
ASPECT_MARKET_CATEGORY = "workbenchMarketCategories",
|
|
201
203
|
ASPECT_MARKET_ICP = "workbenchMarketIcps",
|
|
202
204
|
ASPECT_MARKET_PERSONA = "workbenchMarketPersonas",
|
|
@@ -240,6 +242,11 @@ export declare enum WorkbenchShared_ResourceType {
|
|
|
240
242
|
ASPECT_DOMAIN_PLAN_RESOURCE = "workbenchDomainPlanResources",
|
|
241
243
|
ASPECT_DOMAIN_PLAN_RELATIONSHIP = "workbenchDomainPlanRelationships",
|
|
242
244
|
ASPECT_DOMAIN_PLAN_LIFECYCLE = "workbenchDomainPlanLifecycles",
|
|
245
|
+
/** The domain plan's organization model (#3032): one resource per list, so each decision has its own popup. */
|
|
246
|
+
ASPECT_DOMAIN_PLAN_ORGANIZATION_TYPE = "workbenchDomainPlanOrganizationTypes",
|
|
247
|
+
ASPECT_DOMAIN_PLAN_RELATIONSHIP_KIND = "workbenchDomainPlanRelationshipKinds",
|
|
248
|
+
ASPECT_DOMAIN_PLAN_UNIT_CONFINEMENT = "workbenchDomainPlanUnitConfinements",
|
|
249
|
+
ASPECT_DOMAIN_PLAN_RECORD_LOCATION = "workbenchDomainPlanRecordLocations",
|
|
243
250
|
ASPECT_BUILD_TASK = "workbenchBuildTasks",
|
|
244
251
|
ASPECT_CAPABILITY_COMPOSITION_DECISION = "workbenchCompositionDecisions",
|
|
245
252
|
ASPECT_WEBSITE_PAGE = "workbenchWebsitePages",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-resources-types.custom.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"workbench-resources-types.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/workbench/workbench-resources-types.custom.shared.schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,7 +80,7 @@ export var WorkbenchShared_ResourceType;
|
|
|
80
80
|
* POPUPS (decided 2026-09-01); the artifacts resource stays the primary surface.
|
|
81
81
|
*/
|
|
82
82
|
/*
|
|
83
|
-
* ── The CREATION PLANE (added 2026-09-01
|
|
83
|
+
* ── The CREATION PLANE (added 2026-09-01) ──
|
|
84
84
|
*
|
|
85
85
|
* The four families below are NOT projections of the application's source: they are the
|
|
86
86
|
* COMPANION'S OWN RUNTIME projections for the one application it serves — the playbook
|
|
@@ -225,6 +225,8 @@ export var WorkbenchShared_ResourceType;
|
|
|
225
225
|
WorkbenchShared_ResourceType["ASPECT_VISION_MISSION"] = "workbenchVisionMissions";
|
|
226
226
|
WorkbenchShared_ResourceType["ASPECT_VISION_SUCCESS_CRITERION"] = "workbenchVisionSuccessCriteria";
|
|
227
227
|
WorkbenchShared_ResourceType["ASPECT_VISION_CONSTRAINT"] = "workbenchVisionConstraints";
|
|
228
|
+
/** A regime the compliance posture recorded (#3362) — its own family since the posture stopped writing into the vision. */
|
|
229
|
+
WorkbenchShared_ResourceType["ASPECT_COMPLIANCE_POSTURE_CONSTRAINT"] = "workbenchCompliancePostureConstraints";
|
|
228
230
|
WorkbenchShared_ResourceType["ASPECT_MARKET_CATEGORY"] = "workbenchMarketCategories";
|
|
229
231
|
WorkbenchShared_ResourceType["ASPECT_MARKET_ICP"] = "workbenchMarketIcps";
|
|
230
232
|
WorkbenchShared_ResourceType["ASPECT_MARKET_PERSONA"] = "workbenchMarketPersonas";
|
|
@@ -275,6 +277,11 @@ export var WorkbenchShared_ResourceType;
|
|
|
275
277
|
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_RESOURCE"] = "workbenchDomainPlanResources";
|
|
276
278
|
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_RELATIONSHIP"] = "workbenchDomainPlanRelationships";
|
|
277
279
|
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_LIFECYCLE"] = "workbenchDomainPlanLifecycles";
|
|
280
|
+
/** The domain plan's organization model (#3032): one resource per list, so each decision has its own popup. */
|
|
281
|
+
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_ORGANIZATION_TYPE"] = "workbenchDomainPlanOrganizationTypes";
|
|
282
|
+
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_RELATIONSHIP_KIND"] = "workbenchDomainPlanRelationshipKinds";
|
|
283
|
+
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_UNIT_CONFINEMENT"] = "workbenchDomainPlanUnitConfinements";
|
|
284
|
+
WorkbenchShared_ResourceType["ASPECT_DOMAIN_PLAN_RECORD_LOCATION"] = "workbenchDomainPlanRecordLocations";
|
|
278
285
|
WorkbenchShared_ResourceType["ASPECT_BUILD_TASK"] = "workbenchBuildTasks";
|
|
279
286
|
WorkbenchShared_ResourceType["ASPECT_CAPABILITY_COMPOSITION_DECISION"] = "workbenchCompositionDecisions";
|
|
280
287
|
WorkbenchShared_ResourceType["ASPECT_WEBSITE_PAGE"] = "workbenchWebsitePages";
|
|
@@ -388,6 +395,7 @@ export const WorkbenchShared_ResourceFieldIdentifier = {
|
|
|
388
395
|
[WorkbenchShared_ResourceType.ASPECT_VISION_MISSION]: 'workbenchVisionMissionId',
|
|
389
396
|
[WorkbenchShared_ResourceType.ASPECT_VISION_SUCCESS_CRITERION]: 'workbenchVisionSuccessCriterionId',
|
|
390
397
|
[WorkbenchShared_ResourceType.ASPECT_VISION_CONSTRAINT]: 'workbenchVisionConstraintId',
|
|
398
|
+
[WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_POSTURE_CONSTRAINT]: 'workbenchCompliancePostureConstraintId',
|
|
391
399
|
[WorkbenchShared_ResourceType.ASPECT_MARKET_CATEGORY]: 'workbenchMarketCategoryId',
|
|
392
400
|
[WorkbenchShared_ResourceType.ASPECT_MARKET_ICP]: 'workbenchMarketIcpId',
|
|
393
401
|
[WorkbenchShared_ResourceType.ASPECT_MARKET_PERSONA]: 'workbenchMarketPersonaId',
|
|
@@ -431,6 +439,10 @@ export const WorkbenchShared_ResourceFieldIdentifier = {
|
|
|
431
439
|
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RESOURCE]: 'workbenchDomainPlanResourceId',
|
|
432
440
|
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RELATIONSHIP]: 'workbenchDomainPlanRelationshipId',
|
|
433
441
|
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_LIFECYCLE]: 'workbenchDomainPlanLifecycleId',
|
|
442
|
+
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_ORGANIZATION_TYPE]: 'workbenchDomainPlanOrganizationTypeId',
|
|
443
|
+
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RELATIONSHIP_KIND]: 'workbenchDomainPlanRelationshipKindId',
|
|
444
|
+
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_UNIT_CONFINEMENT]: 'workbenchDomainPlanUnitConfinementId',
|
|
445
|
+
[WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RECORD_LOCATION]: 'workbenchDomainPlanRecordLocationId',
|
|
434
446
|
[WorkbenchShared_ResourceType.ASPECT_BUILD_TASK]: 'workbenchBuildTaskId',
|
|
435
447
|
[WorkbenchShared_ResourceType.ASPECT_CAPABILITY_COMPOSITION_DECISION]: 'workbenchCompositionDecisionId',
|
|
436
448
|
[WorkbenchShared_ResourceType.ASPECT_WEBSITE_PAGE]: 'workbenchWebsitePageId',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-resources-types.custom.shared.schemas.js","sourceRoot":"","sources":["../../../../src/workbench/workbench-resources-types.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAN,IAAY,4BA4SX;AA5SD,WAAY,4BAA4B;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,6EAA6C,CAAA;IAC7C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,2FAA2D,CAAA;IAE3D;;;;;;;;;;;;;;OAcG;IACH;;;;;;;;;;;OAWG;IACH;;;;;;;;;OASG;IACH,gEAAgC,CAAA;IAChC;;;;;;;;;;;OAWG;IACH,4EAA4C,CAAA;IAC5C;;;;OAIG;IACH,8EAA8C,CAAA;IAC9C;;;;OAIG;IACH,yEAAyC,CAAA;IACzC;;;;;;;;OAQG;IACH;;;;;;OAMG;IACH,qFAAqD,CAAA;IACrD,qFAAqD,CAAA;IACrD;;;;;;;OAOG;IACH;;;;;;OAMG;IACH,kFAAkD,CAAA;IAClD,6EAA6C,CAAA;IAC7C,gFAAgD,CAAA;IAChD;;;;;;OAMG;IACH,uEAAuC,CAAA;IACvC;;;;;;;OAOG;IACH,sFAAsD,CAAA;IACtD;;;;;;OAMG;IACH,gFAAgD,CAAA;IAChD;;;;;;OAMG;IACH,0FAA0D,CAAA;IAC1D;;;OAGG;IACH,mFAAmD,CAAA;IACnD;;;;;;;;;OASG;IACH,2EAA2C,CAAA;IAC3C;;;;OAIG;IACH,yEAAyC,CAAA;IACzC,2FAA2F;IAC3F,+EAA+C,CAAA;IAC/C,2EAA2C,CAAA;IAC3C,iFAAiD,CAAA;IACjD,iFAAiD,CAAA;IACjD,kGAAkE,CAAA;IAClE,uFAAuD,CAAA;IACvD,oFAAoD,CAAA;IACpD,yEAAyC,CAAA;IACzC,iFAAiD,CAAA;IACjD,yEAAyC,CAAA;IACzC,2EAA2C,CAAA;IAC3C,2EAA2C,CAAA;IAC3C,2FAA2D,CAAA;IAC3D,iFAAiD,CAAA;IACjD,yFAAyD,CAAA;IACzD,iFAAiD,CAAA;IACjD,yFAAyD,CAAA;IACzD,iFAAiD,CAAA;IACjD,8FAA8D,CAAA;IAC9D,6EAA6C,CAAA;IAC7C,qFAAqD,CAAA;IACrD,kGAAkE,CAAA;IAClE,iGAAiE,CAAA;IACjE,wGAAwE,CAAA;IACxE,+EAA+C,CAAA;IAC/C,+EAA+C,CAAA;IAC/C,6EAA6C,CAAA;IAC7C,yEAAyC,CAAA;IACzC,4FAA4D,CAAA;IAC5D,sFAAsD,CAAA;IACtD,iFAAiD,CAAA;IACjD,2EAA2C,CAAA;IAC3C,mHAAmH;IACnH,4FAA4D,CAAA;IAC5D,kGAAkE,CAAA;IAClE,8FAA8D,CAAA;IAC9D,wFAAwD,CAAA;IACxD;;;;;OAKG;IACH,sGAAsE,CAAA;IACtE,sHAAsF,CAAA;IACtF,+FAA+D,CAAA;IAC/D,4GAA4E,CAAA;IAC5E,wHAAwF,CAAA;IACxF,4HAA4F,CAAA;IAC5F,iFAAiD,CAAA;IACjD,4HAA4F,CAAA;IAC5F,uGAAuE,CAAA;IACvE,6HAA6F,CAAA;IAC7F,4FAA4D,CAAA;IAC5D,oGAAoE,CAAA;IACpE,8FAA8D,CAAA;IAC9D,yEAAyC,CAAA;IACzC,wGAAwE,CAAA;IACxE,6EAA6C,CAAA;IAC7C,+FAA+D,CAAA;IAC/D,mFAAmD,CAAA;IACnD,qGAAqE,CAAA;IACrE,6FAA6D,CAAA;IAC7D,0FAA0D,CAAA;IAC1D,mFAAmD,CAAA;IACnD,yFAAyD,CAAA;IACzD,yFAAyD,CAAA;IACzD,4GAA4E,CAAA;IAC5E,0GAA0E,CAAA;IAC1E,2HAA2H;IAC3H,gGAAgE,CAAA;IAChE,4GAA4E,CAAA;IAC5E,mHAAmF,CAAA;IACnF,8FAA8D,CAAA;IAC9D,mFAAmD,CAAA;IACnD,yFAAyD,CAAA;IACzD,4GAA4E,CAAA;IAC5E,+HAA+F,CAAA;IAC/F,sGAAsE,CAAA;IACtE,uHAAuF,CAAA;IACvF,qGAAqE,CAAA;IACrE,2FAA2D,CAAA;IAC3D,oGAAoE,CAAA;IACpE,4GAA4E,CAAA;IAC5E,qGAAqG;IACrG,6FAA6D,CAAA;IAC7D,yFAAyF;IACzF,mHAAmF,CAAA;IACnF,+FAA+F;IAC/F,qFAAqD,CAAA;AACvD,CAAC,EA5SW,4BAA4B,KAA5B,4BAA4B,QA4SvC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAsD;IACxG;;;;;;;;;OASG;IACH,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,2BAA2B;IAC5E;;;;;;;OAOG;IACH,CAAC,4BAA4B,CAAC,uBAAuB,CAAC,EAAE,QAAQ;IAChE;;;;;;OAMG;IACH;;;;;;;;;OASG;IACH,CAAC,4BAA4B,CAAC,SAAS,CAAC,EAAE,qBAAqB;IAC/D,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,0BAA0B;IAC3E,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,2BAA2B;IAC7E,CAAC,4BAA4B,CAAC,cAAc,CAAC,EAAE,yBAAyB;IACxE,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,EAAE,+BAA+B;IACpF,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,EAAE,+BAA+B;IACpF,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,8BAA8B;IAClF,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,EAAE,0BAA0B;IAC3E,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,4BAA4B;IAC/E,CAAC,4BAA4B,CAAC,aAAa,CAAC,EAAE,wBAAwB;IACtE,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,+BAA+B;IACrF,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,6BAA6B;IAChF,CAAC,4BAA4B,CAAC,uBAAuB,CAAC,EAAE,iCAAiC;IACzF,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,8BAA8B;IAClF,CAAC,4BAA4B,CAAC,eAAe,CAAC,EAAE,yBAAyB;IACzE,CAAC,4BAA4B,CAAC,UAAU,CAAC,EAAE,6BAA6B;IACxE,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,4BAA4B;IAC9E,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,uBAAuB;IAC1E,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,EAAE,mCAAmC;IACnG,CAAC,4BAA4B,CAAC,wBAAwB,CAAC,EAAE,6BAA6B;IACtF,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,2BAA2B;IAClF,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,sBAAsB;IACxE,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,sBAAsB;IACxE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,uBAAuB;IAC1E,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,uBAAuB;IAC1E,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,8BAA8B;IAC1F,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;IACxF,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;IACxF,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,EAAE,gCAAgC;IAC7F,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,wBAAwB;IAC5E,CAAC,4BAA4B,CAAC,uBAAuB,CAAC,EAAE,4BAA4B;IACpF,CAAC,4BAA4B,CAAC,8BAA8B,CAAC,EAAE,kCAAkC;IACjG,CAAC,4BAA4B,CAAC,6BAA6B,CAAC,EAAE,kCAAkC;IAChG,CAAC,4BAA4B,CAAC,iCAAiC,CAAC,EAAE,qCAAqC;IACvG,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,EAAE,yBAAyB;IAC9E,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,EAAE,yBAAyB;IAC9E,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,wBAAwB;IAC5E,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,sBAAsB;IACxE,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,+BAA+B;IAC3F,CAAC,4BAA4B,CAAC,wBAAwB,CAAC,EAAE,4BAA4B;IACrF,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,EAAE,uBAAuB;IAC1E,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,+BAA+B;IAC3F,CAAC,4BAA4B,CAAC,8BAA8B,CAAC,EAAE,kCAAkC;IACjG,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,EAAE,+BAA+B;IAC5F,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,EAAE,6BAA6B;IACvF,CAAC,4BAA4B,CAAC,gCAAgC,CAAC,EAAE,oCAAoC;IACrG,CAAC,4BAA4B,CAAC,wCAAwC,CAAC,EAAE,4CAA4C;IACrH,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,EAAE,iCAAiC;IAC9F,CAAC,4BAA4B,CAAC,mCAAmC,CAAC,EAAE,uCAAuC;IAC3G,CAAC,4BAA4B,CAAC,yCAAyC,CAAC,EAAE,6CAA6C;IACvH,CAAC,4BAA4B,CAAC,2CAA2C,CAAC,EAAE,+CAA+C;IAC3H,CAAC,4BAA4B,CAAC,qBAAqB,CAAC,EAAE,0BAA0B;IAChF,CAAC,4BAA4B,CAAC,2CAA2C,CAAC,EAAE,+CAA+C;IAC3H,CAAC,4BAA4B,CAAC,gCAAgC,CAAC,EAAE,oCAAoC;IACrG,CAAC,4BAA4B,CAAC,4CAA4C,CAAC,EAAE,+CAA+C;IAC5H,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,+BAA+B;IAC3F,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,EAAE,mCAAmC;IACnG,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,EAAE,gCAAgC;IAC7F,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,EAAE,sBAAsB;IACxE,CAAC,4BAA4B,CAAC,sCAAsC,CAAC,EAAE,gCAAgC;IACvG,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,EAAE,wBAAwB;IAC5E,CAAC,4BAA4B,CAAC,4BAA4B,CAAC,EAAE,iCAAiC;IAC9F,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,2BAA2B;IAClF,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,EAAE,oCAAoC;IACpG,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,gCAAgC;IAC5F,CAAC,4BAA4B,CAAC,0BAA0B,CAAC,EAAE,+BAA+B;IAC1F,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,2BAA2B;IAClF,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;IACxF,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;IACxF,CAAC,4BAA4B,CAAC,mCAAmC,CAAC,EAAE,uCAAuC;IAC3G,CAAC,4BAA4B,CAAC,kCAAkC,CAAC,EAAE,sCAAsC;IACzG,CAAC,4BAA4B,CAAC,6BAA6B,CAAC,EAAE,iCAAiC;IAC/F,CAAC,4BAA4B,CAAC,mCAAmC,CAAC,EAAE,uCAAuC;IAC3G,CAAC,4BAA4B,CAAC,uCAAuC,CAAC,EAAE,0CAA0C;IAClH,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,gCAAgC;IAC5F,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,EAAE,2BAA2B;IAClF,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,EAAE,8BAA8B;IACxF,CAAC,4BAA4B,CAAC,mCAAmC,CAAC,EAAE,uCAAuC;IAC3G,CAAC,4BAA4B,CAAC,6CAA6C,CAAC,EAAE,gDAAgD;IAC9H,CAAC,4BAA4B,CAAC,gCAAgC,CAAC,EAAE,oCAAoC;IACrG,CAAC,4BAA4B,CAAC,yCAAyC,CAAC,EAAE,4CAA4C;IACtH,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,EAAE,mCAAmC;IACnG,CAAC,4BAA4B,CAAC,0BAA0B,CAAC,EAAE,8BAA8B;IACzF,CAAC,4BAA4B,CAAC,+BAA+B,CAAC,EAAE,mCAAmC;IACnG,CAAC,4BAA4B,CAAC,mCAAmC,CAAC,EAAE,uCAAuC;IAC3G,CAAC,4BAA4B,CAAC,2BAA2B,CAAC,EAAE,gCAAgC;IAC5F,CAAC,4BAA4B,CAAC,uCAAuC,CAAC,EAAE,0CAA0C;IAClH,CAAC,4BAA4B,CAAC,uBAAuB,CAAC,EAAE,4BAA4B;CACrF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,gCAAgC,CAAC","sourcesContent":["/**\n * The workbench's own resource vocabulary.\n *\n * A SEPARATE enum and factory map from `CustomShared_ResourceType`, deliberately. That map has six\n * consumers, two of which must not receive these: `platform-apps-manager` (which would register\n * resources it has no use for, and whose INIT lifecycle applies migrations) and the companion's i18n\n * labelling planner, which enumerates `Object.keys(...)` and would generate labels for them.\n *\n * These resources are INTROSPECTION-backed: nothing is stored, nothing is migrated, and only the\n * companion can serve them.\n */\nexport enum WorkbenchShared_ResourceType {\n /**\n * The application's domain model as ONE row per resource — module membership, specification prose\n * and the relationships that resource participates in, all in the same row.\n *\n * ## Why ONE resource rather than a module list beside an edge list\n *\n * It replaced exactly that, on 2026-08-31. `workbenchApplicationModules` and\n * `workbenchResourceRelationships` were projections of DIFFERENT companion behaviors on DIFFERENT\n * targets, so a graph drawn from both was drawn from two subprocess runs against a working tree an\n * operator is editing — its nodes could describe one state of the application and its edges the\n * next, with nothing able to detect it. The `application-domain-model` behavior answers all four\n * facts from a single import, which is the only shape in which \"resources, their relationships and\n * their module membership\" is internally consistent.\n *\n * The two were kept for a while on the argument that a flat module list and a flat edge list\n * answered two narrower questions this one did not. Both were then closed rather than argued: every\n * per-edge field the relationships table carried — `isDisabled`, `accessScopeStrategy`,\n * `parentResourceRequirement`, `primaryScope`, `allowCycle` — now rides in\n * `Workbench_DomainResourceRelationship`, and `isDisabled` in particular was a defect while it was\n * missing rather than a gap, because the graph drew a disabled edge exactly like a live one.\n *\n * One thing genuinely did NOT survive, and it is recorded here rather than in a commit message: a\n * module registering ZERO resources produces no row, so it has no node. Wonder CRM's `engine`\n * module is exactly that. The judgement was that a module contributing nothing to the DOMAIN has no\n * place in a domain model, and that engine-scaffolding modules are what\n * `workbenchSpecificationArtifacts` is for — not that the case was overlooked.\n */\n DOMAIN_RESOURCES = 'workbenchDomainResources',\n /**\n * Every application-specification family the journey produces that is NOT the application's own\n * structure — the vision, the market, the requirements, the roadmap, the obligations — as one row\n * each, carrying the artifact rendered for a human to read.\n *\n * ## Why the PRODUCT half needed its own resource\n *\n * The three siblings above all project the application's STRUCTURE: modules, edges, resources.\n * None of them can carry a vision brief, because a vision brief is not a resource, an edge or a\n * module — it is a prose document about the product the application is meant to be. Those\n * documents were reachable only by opening a TypeScript file in an editor, which is not a product\n * (issue #162).\n *\n * ## Why one resource rather than one per family\n *\n * The families are heterogeneous, and the two failure modes are symmetric: one destination per\n * family risks a dozen half-built pages, one destination navigating all of them risks a\n * lowest-common-denominator renderer. The answer taken is one destination whose rows are DERIVED\n * from `APPLICATION_SPECIFICATION_SEMANTIC_SCHEMA_BINDINGS` — so the population cannot drift from\n * the authority — grouped by the question each family answers, with an outline renderer as the\n * floor and the artifacts already committed beside a family (`DIAGRAM.md`, `DECISIONS.md`)\n * surfaced verbatim on top of it. The decision and its rejected alternatives are recorded on\n * issue #162.\n */\n SPECIFICATION_ARTIFACTS = 'workbenchSpecificationArtifacts',\n\n /*\n * ── FAMILY ASPECT RESOURCES ──────────────────────────────────────────────────────────────────\n *\n * One resource per SECOND-LEVEL aspect of a specification family (the vision's success\n * criteria, the market's ICPs, the roadmap's phases, …), so the product graph the snapshots\n * flatten becomes navigable. Their canonical declaration — item schemas, business keys, edges —\n * is `FAMILY_ASPECTS_REGISTRY` in `@wildo-ai/saas-specifications` (`_core/family-aspects.*`):\n * this enum and the descriptor table beside it are the SPINE's schema-agnostic transcription,\n * held to the registry by a companion-side parity test (the spine deliberately never imports\n * saas-specifications).\n *\n * Same nature as their two siblings above: INTROSPECTION-backed, derived per read from the\n * landed files, READ/LIST only. Their READ pages are NOT addressable — references open them as\n * POPUPS (decided 2026-09-01); the artifacts resource stays the primary surface.\n */\n /*\n * ── The CREATION PLANE (added 2026-09-01, `workbench-creation-board-resources.md` Phase 2) ──\n *\n * The four families below are NOT projections of the application's source: they are the\n * COMPANION'S OWN RUNTIME projections for the one application it serves — the playbook\n * eligibility board, the build-plan dispatch view, the run write-register and the execution\n * traces. They ride the same INTROSPECTION adapter through the same port, but their behaviors\n * materialize IN-PROCESS (no subprocess, no app-dist import), their binding declares the\n * `APPLICATION_RUNTIME` tenancy stance, and their read variants are AUTHENTICATED (`APP_USER`) —\n * the structural projections' `APP_PUBLIC` argument (\"anyone with the working tree can already\n * read this\") does not extend to runtime state.\n */\n /**\n * One row per compiled playbook, carrying its ELIGIBILITY VERDICT — can it run right now, and if\n * not, why not — plus the overwrite/stale annotations a creator weighs before dispatching.\n *\n * The rows are a projection of `listPlaybookEligibility()`, the ~10s recompute the creation\n * board's Playbooks pane renders; the companion serves them through a `{board, computedAt}` cache\n * so resource-surface consumers (RMM, lists) do not multiply the recompute. `computedAt` and the\n * derived journey `phase` are projected onto every row — board-level scalars become row fields,\n * because a resource row must be complete on its own.\n */\n PLAYBOOKS = 'workbenchPlaybooks',\n /**\n * One row per build-plan task, in the DISPATCH view: its status (`ready` / `landed` / `blocked`),\n * objective and target kind.\n *\n * DELIBERATELY THIN beside `ASPECT_BUILD_TASK` (`workbenchBuildTasks`), which projects the SAME\n * authored population from the specification artifact with its traceability edges. The two answer\n * different questions — the aspect answers \"what did the journey author\" (subprocess, from the\n * artifact), this one answers \"what can the dispatcher run next and what has landed\" (in-process,\n * computed against git by the dispatch service). Authored detail (skillRefs, serves edges) stays\n * on the aspect row sharing the same `taskRef`; duplicating it here would be a second enumeration\n * of the authored shape, one drift away from lying.\n */\n BUILD_PLAN_TASKS = 'workbenchBuildPlanTasks',\n /**\n * One row per playbook run's WRITE RECORD — which files it wrote, with `existedBefore` per file —\n * the evidence lane that makes every dispatch on the creation board revertable. Pre-image BYTES\n * are deliberately not projected (they belong to the revert mechanism, not to a list row).\n */\n RUN_WRITE_RECORDS = 'workbenchRunWriteRecords',\n /**\n * One row per execution-trace session — the session id, when it started, and how many events and\n * steps it recorded. The detail (events, artifacts) stays on the companion's trace routes for\n * now; this resource is the queryable index the board links from.\n */\n TRACE_SESSIONS = 'workbenchTraceSessions',\n /**\n * The governance questions a creator still owes an answer to, one row per question.\n *\n * A RESOURCE rather than a companion read, which is the distinction the client's own doctrine\n * draws and which this row is on the right side of: a questionnaire prompt has a stable identity\n * (`definitionRef` + `questionRef`), so it lists, it reads, and it can be referenced. What stays a\n * companion read is the shapes that genuinely have no row identity — the runs-in-flight board, the\n * coding-agent status, the mutation lock.\n */\n /**\n * The GOVERNED DOCUMENTS whose questionnaires a person must answer — one row per document.\n *\n * The document half of governance: what the generator derives for it, and how much is left for a\n * person. Distinct from the questions below, which are its children — a document-level fact\n * carried on every question row would be a value with no owner.\n */\n GOVERNANCE_DOCUMENTS = 'workbenchGovernanceDocuments',\n GOVERNANCE_QUESTIONS = 'workbenchGovernanceQuestions',\n /**\n * What the build lane has DISPATCHED, one row per attempt — the coding lane's own history.\n *\n * A resource for the same reason as the questions above: a dispatch is identified by its own\n * execution (one row per attempt; a task can be dispatched many times) and it persists, so it lists\n * and it reads. What stays a companion read is the\n * NEXT-task selection beside it, which is a singleton answer rather than a collection.\n */\n /**\n * The NEXT build task a dispatch would run, with the guard rails it would carry — at most one row.\n *\n * The SELECTION, distinct from `BUILD_PLAN_TASKS`, which is every task and its status. Two\n * resources because they answer different questions, and the task list must not change because a\n * selection did.\n */\n BUILD_DISPATCH_PLAN = 'workbenchBuildDispatchPlan',\n BUILD_DISPATCHES = 'workbenchBuildDispatches',\n BUILD_TASK_RECORDS = 'workbenchBuildTaskRecords',\n /**\n * Every playbook run this companion knows about, one row per run, carrying the STATE it is in.\n *\n * It replaced a companion read answering four separate collections — running, running-detached,\n * interrupted, last-completed — which a board had to know the meaning of before it could render\n * anything. They are one thing in four states; `Workbench_PlaybookRunState` names them.\n */\n PLAYBOOK_RUNS = 'workbenchPlaybookRuns',\n /**\n * The playbook runs SUSPENDED waiting on a person, one row per run.\n *\n * Distinct from the runs above, and deliberately its own resource: a suspended run carries the\n * QUESTIONS it is waiting on, it is read from the checkpoint DIRECTORY so it survives the companion\n * restarts an engine rebuild causes several times a day, and the operator's action on it is to\n * answer rather than to watch.\n */\n WAITING_PLAYBOOK_RUNS = 'workbenchWaitingPlaybookRuns',\n /**\n * The coding lane's own posture — ONE row: is an agent registered, is a run in flight, what are\n * the dispatch ceilings, and where is the workspace mutation lock.\n *\n * A singleton, deliberately. It used to be a companion read that ALSO carried the parked-question\n * queue, which is a different thing and is its own resource below.\n */\n CODING_LANE_STATUS = 'workbenchCodingLaneStatus',\n /**\n * The coding runs PARKED on a question, one row per parked task.\n *\n * It arrives today inside the coding-agent STATUS payload — a singleton that legitimately stays a\n * read — but the parked questions inside it are a collection keyed by `taskId`, and a queue of\n * things waiting on a person is the last thing that should only exist inside a status blob.\n */\n PARKED_CODING_QUESTIONS = 'workbenchParkedCodingQuestions',\n /**\n * The application's provider secrets, one row per (environment, secret) it declares a use for —\n * names and standings, never values — with `set` and `unset` per row (#1637).\n */\n APPLICATION_SECRETS = 'workbenchApplicationSecrets',\n /**\n * THE DOSSIER — one row per question a playbook interview asks, joined with the creator's answer\n * when there is one (#1454, Step 5).\n *\n * The answers live in the committed `creator-inputs` family; the questions live in the compiled\n * playbook catalog. Neither alone is what a person reads (\"what did I say, what am I still asked\"),\n * so the row is the JOIN, derived in-process by the companion, and the family deliberately has no\n * aspect resource of its own (see its aspects declaration). Writable through ONE verb, `answer`,\n * which is also the assistant's `record_answer` tool — one door, the resource operation.\n */\n DOSSIER_ENTRIES = 'workbenchDossierEntries',\n /**\n * HOME's LINES (#1454): what happened since the creator was here, what is asked of them now, what\n * they could do next — one row per line, derived by the companion from the rows above, so the\n * page renders and the assistant reads the same facts. Filtered by `section`.\n */\n HOME_LINES = 'workbenchCreationHomeLines',\n /** The four creation OUTCOMES with their standing — always four rows, in reading order. */\n CREATION_OUTCOMES = 'workbenchCreationOutcomes',\n ASPECT_VISION_IDEA = 'workbenchVisionIdeas',\n ASPECT_VISION_PROBLEM = 'workbenchVisionProblems',\n ASPECT_VISION_MISSION = 'workbenchVisionMissions',\n ASPECT_VISION_SUCCESS_CRITERION = 'workbenchVisionSuccessCriteria',\n ASPECT_VISION_CONSTRAINT = 'workbenchVisionConstraints',\n ASPECT_MARKET_CATEGORY = 'workbenchMarketCategories',\n ASPECT_MARKET_ICP = 'workbenchMarketIcps',\n ASPECT_MARKET_PERSONA = 'workbenchMarketPersonas',\n ASPECT_MARKET_JOB = 'workbenchMarketJobs',\n ASPECT_MARKET_PAIN = 'workbenchMarketPains',\n ASPECT_MARKET_GAIN = 'workbenchMarketGains',\n ASPECT_MARKET_TONE_OF_VOICE = 'workbenchMarketTonesOfVoice',\n ASPECT_MARKET_BENEFIT = 'workbenchMarketBenefits',\n ASPECT_MARKET_POSITIONING = 'workbenchMarketPositionings',\n ASPECT_MARKET_CHANNEL = 'workbenchMarketChannels',\n ASPECT_MARKET_ALTERNATIVE = 'workbenchMarketAlternatives',\n ASPECT_MARKET_TRIGGER = 'workbenchMarketTriggers',\n ASPECT_MARKET_BUYING_JOURNEY = 'workbenchMarketBuyingJourneys',\n ASPECT_MARKET_PROOF = 'workbenchMarketProofs',\n ASPECT_MARKET_OBJECTION = 'workbenchMarketObjections',\n ASPECT_MARKET_MESSAGE_TEMPLATE = 'workbenchMarketMessageTemplates',\n ASPECT_REQUIREMENT_FUNCTIONAL = 'workbenchFunctionalRequirements',\n ASPECT_REQUIREMENT_NON_FUNCTIONAL = 'workbenchNonFunctionalRequirements',\n ASPECT_FEATURE_DRAFT = 'workbenchFeatureDrafts',\n ASPECT_ROADMAP_PHASE = 'workbenchRoadmapPhases',\n ASPECT_PRICING_PLAN = 'workbenchPricingPlans',\n ASPECT_BRAND_NAME = 'workbenchBrandNames',\n ASPECT_BRAND_LOGO_DIRECTION = 'workbenchBrandLogoDirections',\n ASPECT_BRAND_VISUAL_TONE = 'workbenchBrandVisualTones',\n ASPECT_BRAND_AUDIENCE = 'workbenchBrandAudiences',\n ASPECT_BRAND_ASSET = 'workbenchBrandAssets',\n /* The brand-name screening's three aspects: the screened candidates and the coverage they are measured against. */\n ASPECT_BRAND_NAME_CANDIDATE = 'workbenchBrandNameCandidates',\n ASPECT_BRAND_NAME_JURISDICTION = 'workbenchBrandNameJurisdictions',\n ASPECT_BRAND_NAME_NICE_CLASS = 'workbenchBrandNameNiceClasses',\n ASPECT_DOMAIN_PLAN_MODULE = 'workbenchDomainPlanModules',\n /*\n * The COMPLIANCE PROGRAMME's ten aspects (#1431, surfaced #1512). The largest family in the\n * catalog and the one whose elements every assurance consumer addresses — an obligation, the\n * decision that made it applicable, who is responsible, and what is missing. Until these rows\n * existed the graph could declare those links and not follow one of them.\n */\n ASPECT_COMPLIANCE_SCOPE_SELECTOR = 'workbenchComplianceScopeSelectors',\n ASPECT_COMPLIANCE_APPLICABILITY_DECISION = 'workbenchComplianceApplicabilityDecisions',\n ASPECT_COMPLIANCE_OBLIGATION = 'workbenchComplianceObligations',\n ASPECT_COMPLIANCE_COVERAGE_DECISION = 'workbenchComplianceCoverageDecisions',\n ASPECT_COMPLIANCE_IMPLEMENTATION_DECISION = 'workbenchComplianceImplementationDecisions',\n ASPECT_COMPLIANCE_RESPONSIBILITY_ASSIGNMENT = 'workbenchComplianceResponsibilityAssignments',\n ASPECT_COMPLIANCE_GAP = 'workbenchComplianceGaps',\n ASPECT_COMPLIANCE_DOCUMENTATION_REQUIREMENT = 'workbenchComplianceDocumentationRequirements',\n ASPECT_COMPLIANCE_ROLE_AUTHORITY = 'workbenchComplianceRoleAuthorities',\n ASPECT_COMPLIANCE_SHARED_RESPONSIBILITY_RULE = 'workbenchComplianceSharedResponsibilityRules',\n ASPECT_DOMAIN_PLAN_RESOURCE = 'workbenchDomainPlanResources',\n ASPECT_DOMAIN_PLAN_RELATIONSHIP = 'workbenchDomainPlanRelationships',\n ASPECT_DOMAIN_PLAN_LIFECYCLE = 'workbenchDomainPlanLifecycles',\n ASPECT_BUILD_TASK = 'workbenchBuildTasks',\n ASPECT_CAPABILITY_COMPOSITION_DECISION = 'workbenchCompositionDecisions',\n ASPECT_WEBSITE_PAGE = 'workbenchWebsitePages',\n ASPECT_DOCUMENTATION_CHAPTER = 'workbenchDocumentationChapters',\n ASPECT_EXPERIENCE_VIEW = 'workbenchExperienceViews',\n ASPECT_EXPERIENCE_CONFIGURATION = 'workbenchExperienceConfigurations',\n ASPECT_EXPERIENCE_MILESTONE = 'workbenchExperienceMilestones',\n ASPECT_EXPERIENCE_GUIDANCE = 'workbenchExperienceGuidance',\n ASPECT_EXPERIENCE_HOME = 'workbenchExperienceHomes',\n ASPECT_INTEGRATION_WORKER = 'workbenchIntegrationWorkers',\n ASPECT_INTEGRATION_MINION = 'workbenchIntegrationMinions',\n ASPECT_INTEGRATION_PROVIDER_BINDING = 'workbenchIntegrationProviderBindings',\n ASPECT_INTEGRATION_INBOUND_CHANNEL = 'workbenchIntegrationInboundChannels',\n // The firm's method (#2305): its services, the qualifications decisions are routed to, the reasons experts correct agents.\n ASPECT_SERVICE_METHOD_SERVICE = 'workbenchServiceMethodServices',\n ASPECT_SERVICE_METHOD_QUALIFICATION = 'workbenchServiceMethodQualifications',\n ASPECT_SERVICE_METHOD_CORRECTION_REASON = 'workbenchServiceMethodCorrectionReasons',\n ASPECT_REQUIREMENT_MATURITY = 'workbenchRequirementMaturities',\n ASPECT_PLACEMENT_GROUP = 'workbenchPlacementGroups',\n ASPECT_PLACEMENT_DECISION = 'workbenchPlacementDecisions',\n ASPECT_COMPLIANCE_CANDIDATE_SECTION = 'workbenchComplianceCandidateSections',\n ASPECT_COMPLIANCE_CANDIDATE_VARIANT_SELECTION = 'workbenchComplianceCandidateVariantSelections',\n ASPECT_DOCUMENT_FACT_DECLARATION = 'workbenchDocumentFactDeclarations',\n ASPECT_AUTHORED_DOCUMENT_FACT_DECLARATION = 'workbenchAuthoredDocumentFactDeclarations',\n ASPECT_PROCESSOR_REGISTER_ENTRY = 'workbenchProcessorRegisterEntries',\n ASPECT_RISK_REGISTER_ENTRY = 'workbenchRiskRegisterEntries',\n ASPECT_RELEASE_POLICY_SELECTION = 'workbenchReleasePolicySelections',\n ASPECT_DOCUMENT_PUBLICATION_VARIANT = 'workbenchDocumentPublicationVariants',\n /** The governed-document candidate SET's candidates — the landed shape of a drafting run (#1105). */\n ASPECT_COMPLIANCE_CANDIDATE = 'workbenchComplianceCandidates',\n /** One SECTION of a landed candidate, addressed `<documentRef>/<sectionRef>` (#1465). */\n ASPECT_COMPLIANCE_CANDIDATE_SET_SECTION = 'workbenchComplianceCandidateSetSections',\n /** The document release SET's releases — a composed release of a governed document (#1105). */\n ASPECT_DOCUMENT_RELEASE = 'workbenchDocumentReleases',\n}\n\n/**\n * The field each resource is ADDRESSED BY — and it must be a field the rows actually carry.\n *\n * ## The rule, and the defect that produced it\n *\n * A convention-shaped name declared here that no row carries makes every consumer addressing a row\n * THROUGH this map look for a field that does not exist. The resource this was measured on\n * (`workbenchApplicationModules`, removed 2026-08-31) declared `workbenchApplicationModuleId` while\n * its schema, its behavior and its `identityFields` all said `moduleId`.\n *\n * READ still worked, which is what kept it hidden: the adapter filters by `identityFields`, so the\n * addressed route answered 200 while the frontend list refused every row click with \"could not\n * resolve resource id from list item\" — the id it was told to read was absent from the item. A green\n * addressed READ is therefore NOT evidence that this map is right; the list row click is.\n *\n * So an entry here is either the source's OWN key, or a name COMPOSED by `identityFields` and\n * declared as a real field of the schema. Never a name that merely follows the convention.\n */\nexport const WorkbenchShared_ResourceFieldIdentifier: { [key in WorkbenchShared_ResourceType]: string } = {\n /*\n * COMPOSED from `resourceType`, following the relationships sibling rather than the modules one.\n *\n * The behavior's rows do carry `resourceType`, so the source's own key could have been used\n * directly — as `moduleId` is. It is composed instead because `resourceType` is a name the FIELD\n * IDENTIFIER MAP would then publish globally: that map is merged with the engine's and consumed by\n * `buildFieldIdentifierToResourceTypeMap`, which resolves a foreign-key field NAME to the resource\n * it points at. A generic identifier there is a name any application could collide with, on a map\n * whose whole job is that names are unambiguous.\n */\n [WorkbenchShared_ResourceType.DOMAIN_RESOURCES]: 'workbenchDomainResourceId',\n /*\n * The FAMILY id, which is the source's own key — the `moduleId` case rather than the composed one.\n *\n * A family id (`vision-brief`, `compliance-program`) is unique by construction: the semantic\n * authority is a map keyed by it. And unlike `resourceType`, it is not a name any application's\n * foreign-key field could collide with on the global field-identifier map, so there is nothing for\n * a composed name to protect against here.\n */\n [WorkbenchShared_ResourceType.SPECIFICATION_ARTIFACTS]: 'family',\n /*\n * Aspect identifiers are all COMPOSED (`workbenchMarketIcpId`), for the same reason as\n * DOMAIN_RESOURCES: the raw business-key field is `ref` on most aspects — a name applications\n * collide with constantly — and this map publishes globally. The projection emits the composed\n * field on every row (value = the business key, the aspect key for singletons, or the indexed\n * fallback), so the \"a name the rows actually carry\" rule above holds.\n */\n /*\n * The creation-plane identifiers are all COMPOSED (`workbenchPlaybookId` from `playbookRef`, …):\n * the raw business keys (`playbookRef`, `taskRef`, `runId`, `sessionId`) are names an\n * application's own foreign-key fields could collide with on the global field-identifier map,\n * which is the same reason DOMAIN_RESOURCES composes. Unlike DOMAIN_RESOURCES the field is\n * EMITTED BY THE BEHAVIOR rather than composed by `identityFields` — composition refuses any\n * value outside `[a-zA-Z0-9_-]`, and playbook refs (`top_down.phase-gate`) and trace session ids\n * legitimately carry dots — so the projection service sanitizes and duplicate-checks. The \"a name\n * the rows actually carry\" rule holds either way.\n */\n [WorkbenchShared_ResourceType.PLAYBOOKS]: 'workbenchPlaybookId',\n [WorkbenchShared_ResourceType.BUILD_PLAN_TASKS]: 'workbenchBuildPlanTaskId',\n [WorkbenchShared_ResourceType.RUN_WRITE_RECORDS]: 'workbenchRunWriteRecordId',\n [WorkbenchShared_ResourceType.TRACE_SESSIONS]: 'workbenchTraceSessionId',\n [WorkbenchShared_ResourceType.GOVERNANCE_DOCUMENTS]: 'workbenchGovernanceDocumentId',\n [WorkbenchShared_ResourceType.GOVERNANCE_QUESTIONS]: 'workbenchGovernanceQuestionId',\n [WorkbenchShared_ResourceType.BUILD_DISPATCH_PLAN]: 'workbenchBuildDispatchPlanId',\n [WorkbenchShared_ResourceType.BUILD_DISPATCHES]: 'workbenchBuildDispatchId',\n [WorkbenchShared_ResourceType.BUILD_TASK_RECORDS]: 'workbenchBuildTaskRecordId',\n [WorkbenchShared_ResourceType.PLAYBOOK_RUNS]: 'workbenchPlaybookRunId',\n [WorkbenchShared_ResourceType.WAITING_PLAYBOOK_RUNS]: 'workbenchWaitingPlaybookRunId',\n [WorkbenchShared_ResourceType.CODING_LANE_STATUS]: 'workbenchCodingLaneStatusId',\n [WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS]: 'workbenchParkedCodingQuestionId',\n [WorkbenchShared_ResourceType.APPLICATION_SECRETS]: 'workbenchApplicationSecretId',\n [WorkbenchShared_ResourceType.DOSSIER_ENTRIES]: 'workbenchDossierEntryId',\n [WorkbenchShared_ResourceType.HOME_LINES]: 'workbenchCreationHomeLineId',\n [WorkbenchShared_ResourceType.CREATION_OUTCOMES]: 'workbenchCreationOutcomeId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_IDEA]: 'workbenchVisionIdeaId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_PROBLEM]: 'workbenchVisionProblemId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_MISSION]: 'workbenchVisionMissionId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_SUCCESS_CRITERION]: 'workbenchVisionSuccessCriterionId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_CONSTRAINT]: 'workbenchVisionConstraintId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_CATEGORY]: 'workbenchMarketCategoryId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_ICP]: 'workbenchMarketIcpId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_PERSONA]: 'workbenchMarketPersonaId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_JOB]: 'workbenchMarketJobId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_PAIN]: 'workbenchMarketPainId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_GAIN]: 'workbenchMarketGainId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_TONE_OF_VOICE]: 'workbenchMarketToneOfVoiceId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_BENEFIT]: 'workbenchMarketBenefitId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_POSITIONING]: 'workbenchMarketPositioningId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_CHANNEL]: 'workbenchMarketChannelId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_ALTERNATIVE]: 'workbenchMarketAlternativeId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_TRIGGER]: 'workbenchMarketTriggerId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_BUYING_JOURNEY]: 'workbenchMarketBuyingJourneyId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_PROOF]: 'workbenchMarketProofId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_OBJECTION]: 'workbenchMarketObjectionId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_MESSAGE_TEMPLATE]: 'workbenchMarketMessageTemplateId',\n [WorkbenchShared_ResourceType.ASPECT_REQUIREMENT_FUNCTIONAL]: 'workbenchFunctionalRequirementId',\n [WorkbenchShared_ResourceType.ASPECT_REQUIREMENT_NON_FUNCTIONAL]: 'workbenchNonFunctionalRequirementId',\n [WorkbenchShared_ResourceType.ASPECT_FEATURE_DRAFT]: 'workbenchFeatureDraftId',\n [WorkbenchShared_ResourceType.ASPECT_ROADMAP_PHASE]: 'workbenchRoadmapPhaseId',\n [WorkbenchShared_ResourceType.ASPECT_PRICING_PLAN]: 'workbenchPricingPlanId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME]: 'workbenchBrandNameId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_LOGO_DIRECTION]: 'workbenchBrandLogoDirectionId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_VISUAL_TONE]: 'workbenchBrandVisualToneId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_AUDIENCE]: 'workbenchBrandAudienceId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_ASSET]: 'workbenchBrandAssetId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME_CANDIDATE]: 'workbenchBrandNameCandidateId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME_JURISDICTION]: 'workbenchBrandNameJurisdictionId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME_NICE_CLASS]: 'workbenchBrandNameNiceClassId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_MODULE]: 'workbenchDomainPlanModuleId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_SCOPE_SELECTOR]: 'workbenchComplianceScopeSelectorId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_APPLICABILITY_DECISION]: 'workbenchComplianceApplicabilityDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_OBLIGATION]: 'workbenchComplianceObligationId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_COVERAGE_DECISION]: 'workbenchComplianceCoverageDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_IMPLEMENTATION_DECISION]: 'workbenchComplianceImplementationDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_RESPONSIBILITY_ASSIGNMENT]: 'workbenchComplianceResponsibilityAssignmentId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_GAP]: 'workbenchComplianceGapId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_DOCUMENTATION_REQUIREMENT]: 'workbenchComplianceDocumentationRequirementId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_ROLE_AUTHORITY]: 'workbenchComplianceRoleAuthorityId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_SHARED_RESPONSIBILITY_RULE]: 'workbenchComplianceSharedResponsibilityRuleId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RESOURCE]: 'workbenchDomainPlanResourceId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RELATIONSHIP]: 'workbenchDomainPlanRelationshipId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_LIFECYCLE]: 'workbenchDomainPlanLifecycleId',\n [WorkbenchShared_ResourceType.ASPECT_BUILD_TASK]: 'workbenchBuildTaskId',\n [WorkbenchShared_ResourceType.ASPECT_CAPABILITY_COMPOSITION_DECISION]: 'workbenchCompositionDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_WEBSITE_PAGE]: 'workbenchWebsitePageId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENTATION_CHAPTER]: 'workbenchDocumentationChapterId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_VIEW]: 'workbenchExperienceViewId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_CONFIGURATION]: 'workbenchExperienceConfigurationId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_MILESTONE]: 'workbenchExperienceMilestoneId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_GUIDANCE]: 'workbenchExperienceGuidanceId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_HOME]: 'workbenchExperienceHomeId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_WORKER]: 'workbenchIntegrationWorkerId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_MINION]: 'workbenchIntegrationMinionId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_PROVIDER_BINDING]: 'workbenchIntegrationProviderBindingId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_INBOUND_CHANNEL]: 'workbenchIntegrationInboundChannelId',\n [WorkbenchShared_ResourceType.ASPECT_SERVICE_METHOD_SERVICE]: 'workbenchServiceMethodServiceId',\n [WorkbenchShared_ResourceType.ASPECT_SERVICE_METHOD_QUALIFICATION]: 'workbenchServiceMethodQualificationId',\n [WorkbenchShared_ResourceType.ASPECT_SERVICE_METHOD_CORRECTION_REASON]: 'workbenchServiceMethodCorrectionReasonId',\n [WorkbenchShared_ResourceType.ASPECT_REQUIREMENT_MATURITY]: 'workbenchRequirementMaturityId',\n [WorkbenchShared_ResourceType.ASPECT_PLACEMENT_GROUP]: 'workbenchPlacementGroupId',\n [WorkbenchShared_ResourceType.ASPECT_PLACEMENT_DECISION]: 'workbenchPlacementDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE_SECTION]: 'workbenchComplianceCandidateSectionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE_VARIANT_SELECTION]: 'workbenchComplianceCandidateVariantSelectionId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENT_FACT_DECLARATION]: 'workbenchDocumentFactDeclarationId',\n [WorkbenchShared_ResourceType.ASPECT_AUTHORED_DOCUMENT_FACT_DECLARATION]: 'workbenchAuthoredDocumentFactDeclarationId',\n [WorkbenchShared_ResourceType.ASPECT_PROCESSOR_REGISTER_ENTRY]: 'workbenchProcessorRegisterEntryId',\n [WorkbenchShared_ResourceType.ASPECT_RISK_REGISTER_ENTRY]: 'workbenchRiskRegisterEntryId',\n [WorkbenchShared_ResourceType.ASPECT_RELEASE_POLICY_SELECTION]: 'workbenchReleasePolicySelectionId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENT_PUBLICATION_VARIANT]: 'workbenchDocumentPublicationVariantId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE]: 'workbenchComplianceCandidateId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE_SET_SECTION]: 'workbenchComplianceCandidateSetSectionId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENT_RELEASE]: 'workbenchDocumentReleaseId',\n};\n\n/**\n * The frontend-service name the application-creation workbench identifies itself by.\n *\n * Shared because BOTH sides must agree and neither owns it alone: the workbench sends it as\n * `VITE_FRONTEND_SERVICE_NAME` on every `/application-config` and `/i18n/labels` request, and the\n * companion seeds an entry under exactly this key so the engine's `ApplicationConfigController` can\n * answer instead of refusing with `app_configuration_unknown_frontend_service`.\n *\n * Two string literals in two packages would compile perfectly and fail at runtime with an error that\n * names neither of them.\n */\nexport const WORKBENCH_FRONTEND_SERVICE_NAME = 'application-creation-workbench';\n"]}
|
|
1
|
+
{"version":3,"file":"workbench-resources-types.custom.shared.schemas.js","sourceRoot":"","sources":["../../../src/workbench/workbench-resources-types.custom.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The workbench's own resource vocabulary.\n *\n * A SEPARATE enum and factory map from `CustomShared_ResourceType`, deliberately. That map has six\n * consumers, two of which must not receive these: `platform-apps-manager` (which would register\n * resources it has no use for, and whose INIT lifecycle applies migrations) and the companion's i18n\n * labelling planner, which enumerates `Object.keys(...)` and would generate labels for them.\n *\n * These resources are INTROSPECTION-backed: nothing is stored, nothing is migrated, and only the\n * companion can serve them.\n */\nexport enum WorkbenchShared_ResourceType {\n /**\n * The application's domain model as ONE row per resource — module membership, specification prose\n * and the relationships that resource participates in, all in the same row.\n *\n * ## Why ONE resource rather than a module list beside an edge list\n *\n * It replaced exactly that, on 2026-08-31. `workbenchApplicationModules` and\n * `workbenchResourceRelationships` were projections of DIFFERENT companion behaviors on DIFFERENT\n * targets, so a graph drawn from both was drawn from two subprocess runs against a working tree an\n * operator is editing — its nodes could describe one state of the application and its edges the\n * next, with nothing able to detect it. The `application-domain-model` behavior answers all four\n * facts from a single import, which is the only shape in which \"resources, their relationships and\n * their module membership\" is internally consistent.\n *\n * The two were kept for a while on the argument that a flat module list and a flat edge list\n * answered two narrower questions this one did not. Both were then closed rather than argued: every\n * per-edge field the relationships table carried — `isDisabled`, `accessScopeStrategy`,\n * `parentResourceRequirement`, `primaryScope`, `allowCycle` — now rides in\n * `Workbench_DomainResourceRelationship`, and `isDisabled` in particular was a defect while it was\n * missing rather than a gap, because the graph drew a disabled edge exactly like a live one.\n *\n * One thing genuinely did NOT survive, and it is recorded here rather than in a commit message: a\n * module registering ZERO resources produces no row, so it has no node. Wonder CRM's `engine`\n * module is exactly that. The judgement was that a module contributing nothing to the DOMAIN has no\n * place in a domain model, and that engine-scaffolding modules are what\n * `workbenchSpecificationArtifacts` is for — not that the case was overlooked.\n */\n DOMAIN_RESOURCES = 'workbenchDomainResources',\n /**\n * Every application-specification family the journey produces that is NOT the application's own\n * structure — the vision, the market, the requirements, the roadmap, the obligations — as one row\n * each, carrying the artifact rendered for a human to read.\n *\n * ## Why the PRODUCT half needed its own resource\n *\n * The three siblings above all project the application's STRUCTURE: modules, edges, resources.\n * None of them can carry a vision brief, because a vision brief is not a resource, an edge or a\n * module — it is a prose document about the product the application is meant to be. Those\n * documents were reachable only by opening a TypeScript file in an editor, which is not a product\n * (issue #162).\n *\n * ## Why one resource rather than one per family\n *\n * The families are heterogeneous, and the two failure modes are symmetric: one destination per\n * family risks a dozen half-built pages, one destination navigating all of them risks a\n * lowest-common-denominator renderer. The answer taken is one destination whose rows are DERIVED\n * from `APPLICATION_SPECIFICATION_SEMANTIC_SCHEMA_BINDINGS` — so the population cannot drift from\n * the authority — grouped by the question each family answers, with an outline renderer as the\n * floor and the artifacts already committed beside a family (`DIAGRAM.md`, `DECISIONS.md`)\n * surfaced verbatim on top of it. The decision and its rejected alternatives are recorded on\n * issue #162.\n */\n SPECIFICATION_ARTIFACTS = 'workbenchSpecificationArtifacts',\n\n /*\n * ── FAMILY ASPECT RESOURCES ──────────────────────────────────────────────────────────────────\n *\n * One resource per SECOND-LEVEL aspect of a specification family (the vision's success\n * criteria, the market's ICPs, the roadmap's phases, …), so the product graph the snapshots\n * flatten becomes navigable. Their canonical declaration — item schemas, business keys, edges —\n * is `FAMILY_ASPECTS_REGISTRY` in `@wildo-ai/saas-specifications` (`_core/family-aspects.*`):\n * this enum and the descriptor table beside it are the SPINE's schema-agnostic transcription,\n * held to the registry by a companion-side parity test (the spine deliberately never imports\n * saas-specifications).\n *\n * Same nature as their two siblings above: INTROSPECTION-backed, derived per read from the\n * landed files, READ/LIST only. Their READ pages are NOT addressable — references open them as\n * POPUPS (decided 2026-09-01); the artifacts resource stays the primary surface.\n */\n /*\n * ── The CREATION PLANE (added 2026-09-01) ──\n *\n * The four families below are NOT projections of the application's source: they are the\n * COMPANION'S OWN RUNTIME projections for the one application it serves — the playbook\n * eligibility board, the build-plan dispatch view, the run write-register and the execution\n * traces. They ride the same INTROSPECTION adapter through the same port, but their behaviors\n * materialize IN-PROCESS (no subprocess, no app-dist import), their binding declares the\n * `APPLICATION_RUNTIME` tenancy stance, and their read variants are AUTHENTICATED (`APP_USER`) —\n * the structural projections' `APP_PUBLIC` argument (\"anyone with the working tree can already\n * read this\") does not extend to runtime state.\n */\n /**\n * One row per compiled playbook, carrying its ELIGIBILITY VERDICT — can it run right now, and if\n * not, why not — plus the overwrite/stale annotations a creator weighs before dispatching.\n *\n * The rows are a projection of `listPlaybookEligibility()`, the ~10s recompute the creation\n * board's Playbooks pane renders; the companion serves them through a `{board, computedAt}` cache\n * so resource-surface consumers (RMM, lists) do not multiply the recompute. `computedAt` and the\n * derived journey `phase` are projected onto every row — board-level scalars become row fields,\n * because a resource row must be complete on its own.\n */\n PLAYBOOKS = 'workbenchPlaybooks',\n /**\n * One row per build-plan task, in the DISPATCH view: its status (`ready` / `landed` / `blocked`),\n * objective and target kind.\n *\n * DELIBERATELY THIN beside `ASPECT_BUILD_TASK` (`workbenchBuildTasks`), which projects the SAME\n * authored population from the specification artifact with its traceability edges. The two answer\n * different questions — the aspect answers \"what did the journey author\" (subprocess, from the\n * artifact), this one answers \"what can the dispatcher run next and what has landed\" (in-process,\n * computed against git by the dispatch service). Authored detail (skillRefs, serves edges) stays\n * on the aspect row sharing the same `taskRef`; duplicating it here would be a second enumeration\n * of the authored shape, one drift away from lying.\n */\n BUILD_PLAN_TASKS = 'workbenchBuildPlanTasks',\n /**\n * One row per playbook run's WRITE RECORD — which files it wrote, with `existedBefore` per file —\n * the evidence lane that makes every dispatch on the creation board revertable. Pre-image BYTES\n * are deliberately not projected (they belong to the revert mechanism, not to a list row).\n */\n RUN_WRITE_RECORDS = 'workbenchRunWriteRecords',\n /**\n * One row per execution-trace session — the session id, when it started, and how many events and\n * steps it recorded. The detail (events, artifacts) stays on the companion's trace routes for\n * now; this resource is the queryable index the board links from.\n */\n TRACE_SESSIONS = 'workbenchTraceSessions',\n /**\n * The governance questions a creator still owes an answer to, one row per question.\n *\n * A RESOURCE rather than a companion read, which is the distinction the client's own doctrine\n * draws and which this row is on the right side of: a questionnaire prompt has a stable identity\n * (`definitionRef` + `questionRef`), so it lists, it reads, and it can be referenced. What stays a\n * companion read is the shapes that genuinely have no row identity — the runs-in-flight board, the\n * coding-agent status, the mutation lock.\n */\n /**\n * The GOVERNED DOCUMENTS whose questionnaires a person must answer — one row per document.\n *\n * The document half of governance: what the generator derives for it, and how much is left for a\n * person. Distinct from the questions below, which are its children — a document-level fact\n * carried on every question row would be a value with no owner.\n */\n GOVERNANCE_DOCUMENTS = 'workbenchGovernanceDocuments',\n GOVERNANCE_QUESTIONS = 'workbenchGovernanceQuestions',\n /**\n * What the build lane has DISPATCHED, one row per attempt — the coding lane's own history.\n *\n * A resource for the same reason as the questions above: a dispatch is identified by its own\n * execution (one row per attempt; a task can be dispatched many times) and it persists, so it lists\n * and it reads. What stays a companion read is the\n * NEXT-task selection beside it, which is a singleton answer rather than a collection.\n */\n /**\n * The NEXT build task a dispatch would run, with the guard rails it would carry — at most one row.\n *\n * The SELECTION, distinct from `BUILD_PLAN_TASKS`, which is every task and its status. Two\n * resources because they answer different questions, and the task list must not change because a\n * selection did.\n */\n BUILD_DISPATCH_PLAN = 'workbenchBuildDispatchPlan',\n BUILD_DISPATCHES = 'workbenchBuildDispatches',\n BUILD_TASK_RECORDS = 'workbenchBuildTaskRecords',\n /**\n * Every playbook run this companion knows about, one row per run, carrying the STATE it is in.\n *\n * It replaced a companion read answering four separate collections — running, running-detached,\n * interrupted, last-completed — which a board had to know the meaning of before it could render\n * anything. They are one thing in four states; `Workbench_PlaybookRunState` names them.\n */\n PLAYBOOK_RUNS = 'workbenchPlaybookRuns',\n /**\n * The playbook runs SUSPENDED waiting on a person, one row per run.\n *\n * Distinct from the runs above, and deliberately its own resource: a suspended run carries the\n * QUESTIONS it is waiting on, it is read from the checkpoint DIRECTORY so it survives the companion\n * restarts an engine rebuild causes several times a day, and the operator's action on it is to\n * answer rather than to watch.\n */\n WAITING_PLAYBOOK_RUNS = 'workbenchWaitingPlaybookRuns',\n /**\n * The coding lane's own posture — ONE row: is an agent registered, is a run in flight, what are\n * the dispatch ceilings, and where is the workspace mutation lock.\n *\n * A singleton, deliberately. It used to be a companion read that ALSO carried the parked-question\n * queue, which is a different thing and is its own resource below.\n */\n CODING_LANE_STATUS = 'workbenchCodingLaneStatus',\n /**\n * The coding runs PARKED on a question, one row per parked task.\n *\n * It arrives today inside the coding-agent STATUS payload — a singleton that legitimately stays a\n * read — but the parked questions inside it are a collection keyed by `taskId`, and a queue of\n * things waiting on a person is the last thing that should only exist inside a status blob.\n */\n PARKED_CODING_QUESTIONS = 'workbenchParkedCodingQuestions',\n /**\n * The application's provider secrets, one row per (environment, secret) it declares a use for —\n * names and standings, never values — with `set` and `unset` per row (#1637).\n */\n APPLICATION_SECRETS = 'workbenchApplicationSecrets',\n /**\n * THE DOSSIER — one row per question a playbook interview asks, joined with the creator's answer\n * when there is one (#1454, Step 5).\n *\n * The answers live in the committed `creator-inputs` family; the questions live in the compiled\n * playbook catalog. Neither alone is what a person reads (\"what did I say, what am I still asked\"),\n * so the row is the JOIN, derived in-process by the companion, and the family deliberately has no\n * aspect resource of its own (see its aspects declaration). Writable through ONE verb, `answer`,\n * which is also the assistant's `record_answer` tool — one door, the resource operation.\n */\n DOSSIER_ENTRIES = 'workbenchDossierEntries',\n /**\n * HOME's LINES (#1454): what happened since the creator was here, what is asked of them now, what\n * they could do next — one row per line, derived by the companion from the rows above, so the\n * page renders and the assistant reads the same facts. Filtered by `section`.\n */\n HOME_LINES = 'workbenchCreationHomeLines',\n /** The four creation OUTCOMES with their standing — always four rows, in reading order. */\n CREATION_OUTCOMES = 'workbenchCreationOutcomes',\n ASPECT_VISION_IDEA = 'workbenchVisionIdeas',\n ASPECT_VISION_PROBLEM = 'workbenchVisionProblems',\n ASPECT_VISION_MISSION = 'workbenchVisionMissions',\n ASPECT_VISION_SUCCESS_CRITERION = 'workbenchVisionSuccessCriteria',\n ASPECT_VISION_CONSTRAINT = 'workbenchVisionConstraints',\n /** A regime the compliance posture recorded (#3362) — its own family since the posture stopped writing into the vision. */\n ASPECT_COMPLIANCE_POSTURE_CONSTRAINT = 'workbenchCompliancePostureConstraints',\n ASPECT_MARKET_CATEGORY = 'workbenchMarketCategories',\n ASPECT_MARKET_ICP = 'workbenchMarketIcps',\n ASPECT_MARKET_PERSONA = 'workbenchMarketPersonas',\n ASPECT_MARKET_JOB = 'workbenchMarketJobs',\n ASPECT_MARKET_PAIN = 'workbenchMarketPains',\n ASPECT_MARKET_GAIN = 'workbenchMarketGains',\n ASPECT_MARKET_TONE_OF_VOICE = 'workbenchMarketTonesOfVoice',\n ASPECT_MARKET_BENEFIT = 'workbenchMarketBenefits',\n ASPECT_MARKET_POSITIONING = 'workbenchMarketPositionings',\n ASPECT_MARKET_CHANNEL = 'workbenchMarketChannels',\n ASPECT_MARKET_ALTERNATIVE = 'workbenchMarketAlternatives',\n ASPECT_MARKET_TRIGGER = 'workbenchMarketTriggers',\n ASPECT_MARKET_BUYING_JOURNEY = 'workbenchMarketBuyingJourneys',\n ASPECT_MARKET_PROOF = 'workbenchMarketProofs',\n ASPECT_MARKET_OBJECTION = 'workbenchMarketObjections',\n ASPECT_MARKET_MESSAGE_TEMPLATE = 'workbenchMarketMessageTemplates',\n ASPECT_REQUIREMENT_FUNCTIONAL = 'workbenchFunctionalRequirements',\n ASPECT_REQUIREMENT_NON_FUNCTIONAL = 'workbenchNonFunctionalRequirements',\n ASPECT_FEATURE_DRAFT = 'workbenchFeatureDrafts',\n ASPECT_ROADMAP_PHASE = 'workbenchRoadmapPhases',\n ASPECT_PRICING_PLAN = 'workbenchPricingPlans',\n ASPECT_BRAND_NAME = 'workbenchBrandNames',\n ASPECT_BRAND_LOGO_DIRECTION = 'workbenchBrandLogoDirections',\n ASPECT_BRAND_VISUAL_TONE = 'workbenchBrandVisualTones',\n ASPECT_BRAND_AUDIENCE = 'workbenchBrandAudiences',\n ASPECT_BRAND_ASSET = 'workbenchBrandAssets',\n /* The brand-name screening's three aspects: the screened candidates and the coverage they are measured against. */\n ASPECT_BRAND_NAME_CANDIDATE = 'workbenchBrandNameCandidates',\n ASPECT_BRAND_NAME_JURISDICTION = 'workbenchBrandNameJurisdictions',\n ASPECT_BRAND_NAME_NICE_CLASS = 'workbenchBrandNameNiceClasses',\n ASPECT_DOMAIN_PLAN_MODULE = 'workbenchDomainPlanModules',\n /*\n * The COMPLIANCE PROGRAMME's ten aspects (#1431, surfaced #1512). The largest family in the\n * catalog and the one whose elements every assurance consumer addresses — an obligation, the\n * decision that made it applicable, who is responsible, and what is missing. Until these rows\n * existed the graph could declare those links and not follow one of them.\n */\n ASPECT_COMPLIANCE_SCOPE_SELECTOR = 'workbenchComplianceScopeSelectors',\n ASPECT_COMPLIANCE_APPLICABILITY_DECISION = 'workbenchComplianceApplicabilityDecisions',\n ASPECT_COMPLIANCE_OBLIGATION = 'workbenchComplianceObligations',\n ASPECT_COMPLIANCE_COVERAGE_DECISION = 'workbenchComplianceCoverageDecisions',\n ASPECT_COMPLIANCE_IMPLEMENTATION_DECISION = 'workbenchComplianceImplementationDecisions',\n ASPECT_COMPLIANCE_RESPONSIBILITY_ASSIGNMENT = 'workbenchComplianceResponsibilityAssignments',\n ASPECT_COMPLIANCE_GAP = 'workbenchComplianceGaps',\n ASPECT_COMPLIANCE_DOCUMENTATION_REQUIREMENT = 'workbenchComplianceDocumentationRequirements',\n ASPECT_COMPLIANCE_ROLE_AUTHORITY = 'workbenchComplianceRoleAuthorities',\n ASPECT_COMPLIANCE_SHARED_RESPONSIBILITY_RULE = 'workbenchComplianceSharedResponsibilityRules',\n ASPECT_DOMAIN_PLAN_RESOURCE = 'workbenchDomainPlanResources',\n ASPECT_DOMAIN_PLAN_RELATIONSHIP = 'workbenchDomainPlanRelationships',\n ASPECT_DOMAIN_PLAN_LIFECYCLE = 'workbenchDomainPlanLifecycles',\n /** The domain plan's organization model (#3032): one resource per list, so each decision has its own popup. */\n ASPECT_DOMAIN_PLAN_ORGANIZATION_TYPE = 'workbenchDomainPlanOrganizationTypes',\n ASPECT_DOMAIN_PLAN_RELATIONSHIP_KIND = 'workbenchDomainPlanRelationshipKinds',\n ASPECT_DOMAIN_PLAN_UNIT_CONFINEMENT = 'workbenchDomainPlanUnitConfinements',\n ASPECT_DOMAIN_PLAN_RECORD_LOCATION = 'workbenchDomainPlanRecordLocations',\n ASPECT_BUILD_TASK = 'workbenchBuildTasks',\n ASPECT_CAPABILITY_COMPOSITION_DECISION = 'workbenchCompositionDecisions',\n ASPECT_WEBSITE_PAGE = 'workbenchWebsitePages',\n ASPECT_DOCUMENTATION_CHAPTER = 'workbenchDocumentationChapters',\n ASPECT_EXPERIENCE_VIEW = 'workbenchExperienceViews',\n ASPECT_EXPERIENCE_CONFIGURATION = 'workbenchExperienceConfigurations',\n ASPECT_EXPERIENCE_MILESTONE = 'workbenchExperienceMilestones',\n ASPECT_EXPERIENCE_GUIDANCE = 'workbenchExperienceGuidance',\n ASPECT_EXPERIENCE_HOME = 'workbenchExperienceHomes',\n ASPECT_INTEGRATION_WORKER = 'workbenchIntegrationWorkers',\n ASPECT_INTEGRATION_MINION = 'workbenchIntegrationMinions',\n ASPECT_INTEGRATION_PROVIDER_BINDING = 'workbenchIntegrationProviderBindings',\n ASPECT_INTEGRATION_INBOUND_CHANNEL = 'workbenchIntegrationInboundChannels',\n // The firm's method (#2305): its services, the qualifications decisions are routed to, the reasons experts correct agents.\n ASPECT_SERVICE_METHOD_SERVICE = 'workbenchServiceMethodServices',\n ASPECT_SERVICE_METHOD_QUALIFICATION = 'workbenchServiceMethodQualifications',\n ASPECT_SERVICE_METHOD_CORRECTION_REASON = 'workbenchServiceMethodCorrectionReasons',\n ASPECT_REQUIREMENT_MATURITY = 'workbenchRequirementMaturities',\n ASPECT_PLACEMENT_GROUP = 'workbenchPlacementGroups',\n ASPECT_PLACEMENT_DECISION = 'workbenchPlacementDecisions',\n ASPECT_COMPLIANCE_CANDIDATE_SECTION = 'workbenchComplianceCandidateSections',\n ASPECT_COMPLIANCE_CANDIDATE_VARIANT_SELECTION = 'workbenchComplianceCandidateVariantSelections',\n ASPECT_DOCUMENT_FACT_DECLARATION = 'workbenchDocumentFactDeclarations',\n ASPECT_AUTHORED_DOCUMENT_FACT_DECLARATION = 'workbenchAuthoredDocumentFactDeclarations',\n ASPECT_PROCESSOR_REGISTER_ENTRY = 'workbenchProcessorRegisterEntries',\n ASPECT_RISK_REGISTER_ENTRY = 'workbenchRiskRegisterEntries',\n ASPECT_RELEASE_POLICY_SELECTION = 'workbenchReleasePolicySelections',\n ASPECT_DOCUMENT_PUBLICATION_VARIANT = 'workbenchDocumentPublicationVariants',\n /** The governed-document candidate SET's candidates — the landed shape of a drafting run (#1105). */\n ASPECT_COMPLIANCE_CANDIDATE = 'workbenchComplianceCandidates',\n /** One SECTION of a landed candidate, addressed `<documentRef>/<sectionRef>` (#1465). */\n ASPECT_COMPLIANCE_CANDIDATE_SET_SECTION = 'workbenchComplianceCandidateSetSections',\n /** The document release SET's releases — a composed release of a governed document (#1105). */\n ASPECT_DOCUMENT_RELEASE = 'workbenchDocumentReleases',\n}\n\n/**\n * The field each resource is ADDRESSED BY — and it must be a field the rows actually carry.\n *\n * ## The rule, and the defect that produced it\n *\n * A convention-shaped name declared here that no row carries makes every consumer addressing a row\n * THROUGH this map look for a field that does not exist. The resource this was measured on\n * (`workbenchApplicationModules`, removed 2026-08-31) declared `workbenchApplicationModuleId` while\n * its schema, its behavior and its `identityFields` all said `moduleId`.\n *\n * READ still worked, which is what kept it hidden: the adapter filters by `identityFields`, so the\n * addressed route answered 200 while the frontend list refused every row click with \"could not\n * resolve resource id from list item\" — the id it was told to read was absent from the item. A green\n * addressed READ is therefore NOT evidence that this map is right; the list row click is.\n *\n * So an entry here is either the source's OWN key, or a name COMPOSED by `identityFields` and\n * declared as a real field of the schema. Never a name that merely follows the convention.\n */\nexport const WorkbenchShared_ResourceFieldIdentifier: { [key in WorkbenchShared_ResourceType]: string } = {\n /*\n * COMPOSED from `resourceType`, following the relationships sibling rather than the modules one.\n *\n * The behavior's rows do carry `resourceType`, so the source's own key could have been used\n * directly — as `moduleId` is. It is composed instead because `resourceType` is a name the FIELD\n * IDENTIFIER MAP would then publish globally: that map is merged with the engine's and consumed by\n * `buildFieldIdentifierToResourceTypeMap`, which resolves a foreign-key field NAME to the resource\n * it points at. A generic identifier there is a name any application could collide with, on a map\n * whose whole job is that names are unambiguous.\n */\n [WorkbenchShared_ResourceType.DOMAIN_RESOURCES]: 'workbenchDomainResourceId',\n /*\n * The FAMILY id, which is the source's own key — the `moduleId` case rather than the composed one.\n *\n * A family id (`vision-brief`, `compliance-program`) is unique by construction: the semantic\n * authority is a map keyed by it. And unlike `resourceType`, it is not a name any application's\n * foreign-key field could collide with on the global field-identifier map, so there is nothing for\n * a composed name to protect against here.\n */\n [WorkbenchShared_ResourceType.SPECIFICATION_ARTIFACTS]: 'family',\n /*\n * Aspect identifiers are all COMPOSED (`workbenchMarketIcpId`), for the same reason as\n * DOMAIN_RESOURCES: the raw business-key field is `ref` on most aspects — a name applications\n * collide with constantly — and this map publishes globally. The projection emits the composed\n * field on every row (value = the business key, the aspect key for singletons, or the indexed\n * fallback), so the \"a name the rows actually carry\" rule above holds.\n */\n /*\n * The creation-plane identifiers are all COMPOSED (`workbenchPlaybookId` from `playbookRef`, …):\n * the raw business keys (`playbookRef`, `taskRef`, `runId`, `sessionId`) are names an\n * application's own foreign-key fields could collide with on the global field-identifier map,\n * which is the same reason DOMAIN_RESOURCES composes. Unlike DOMAIN_RESOURCES the field is\n * EMITTED BY THE BEHAVIOR rather than composed by `identityFields` — composition refuses any\n * value outside `[a-zA-Z0-9_-]`, and playbook refs (`top_down.phase-gate`) and trace session ids\n * legitimately carry dots — so the projection service sanitizes and duplicate-checks. The \"a name\n * the rows actually carry\" rule holds either way.\n */\n [WorkbenchShared_ResourceType.PLAYBOOKS]: 'workbenchPlaybookId',\n [WorkbenchShared_ResourceType.BUILD_PLAN_TASKS]: 'workbenchBuildPlanTaskId',\n [WorkbenchShared_ResourceType.RUN_WRITE_RECORDS]: 'workbenchRunWriteRecordId',\n [WorkbenchShared_ResourceType.TRACE_SESSIONS]: 'workbenchTraceSessionId',\n [WorkbenchShared_ResourceType.GOVERNANCE_DOCUMENTS]: 'workbenchGovernanceDocumentId',\n [WorkbenchShared_ResourceType.GOVERNANCE_QUESTIONS]: 'workbenchGovernanceQuestionId',\n [WorkbenchShared_ResourceType.BUILD_DISPATCH_PLAN]: 'workbenchBuildDispatchPlanId',\n [WorkbenchShared_ResourceType.BUILD_DISPATCHES]: 'workbenchBuildDispatchId',\n [WorkbenchShared_ResourceType.BUILD_TASK_RECORDS]: 'workbenchBuildTaskRecordId',\n [WorkbenchShared_ResourceType.PLAYBOOK_RUNS]: 'workbenchPlaybookRunId',\n [WorkbenchShared_ResourceType.WAITING_PLAYBOOK_RUNS]: 'workbenchWaitingPlaybookRunId',\n [WorkbenchShared_ResourceType.CODING_LANE_STATUS]: 'workbenchCodingLaneStatusId',\n [WorkbenchShared_ResourceType.PARKED_CODING_QUESTIONS]: 'workbenchParkedCodingQuestionId',\n [WorkbenchShared_ResourceType.APPLICATION_SECRETS]: 'workbenchApplicationSecretId',\n [WorkbenchShared_ResourceType.DOSSIER_ENTRIES]: 'workbenchDossierEntryId',\n [WorkbenchShared_ResourceType.HOME_LINES]: 'workbenchCreationHomeLineId',\n [WorkbenchShared_ResourceType.CREATION_OUTCOMES]: 'workbenchCreationOutcomeId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_IDEA]: 'workbenchVisionIdeaId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_PROBLEM]: 'workbenchVisionProblemId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_MISSION]: 'workbenchVisionMissionId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_SUCCESS_CRITERION]: 'workbenchVisionSuccessCriterionId',\n [WorkbenchShared_ResourceType.ASPECT_VISION_CONSTRAINT]: 'workbenchVisionConstraintId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_POSTURE_CONSTRAINT]: 'workbenchCompliancePostureConstraintId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_CATEGORY]: 'workbenchMarketCategoryId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_ICP]: 'workbenchMarketIcpId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_PERSONA]: 'workbenchMarketPersonaId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_JOB]: 'workbenchMarketJobId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_PAIN]: 'workbenchMarketPainId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_GAIN]: 'workbenchMarketGainId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_TONE_OF_VOICE]: 'workbenchMarketToneOfVoiceId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_BENEFIT]: 'workbenchMarketBenefitId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_POSITIONING]: 'workbenchMarketPositioningId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_CHANNEL]: 'workbenchMarketChannelId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_ALTERNATIVE]: 'workbenchMarketAlternativeId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_TRIGGER]: 'workbenchMarketTriggerId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_BUYING_JOURNEY]: 'workbenchMarketBuyingJourneyId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_PROOF]: 'workbenchMarketProofId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_OBJECTION]: 'workbenchMarketObjectionId',\n [WorkbenchShared_ResourceType.ASPECT_MARKET_MESSAGE_TEMPLATE]: 'workbenchMarketMessageTemplateId',\n [WorkbenchShared_ResourceType.ASPECT_REQUIREMENT_FUNCTIONAL]: 'workbenchFunctionalRequirementId',\n [WorkbenchShared_ResourceType.ASPECT_REQUIREMENT_NON_FUNCTIONAL]: 'workbenchNonFunctionalRequirementId',\n [WorkbenchShared_ResourceType.ASPECT_FEATURE_DRAFT]: 'workbenchFeatureDraftId',\n [WorkbenchShared_ResourceType.ASPECT_ROADMAP_PHASE]: 'workbenchRoadmapPhaseId',\n [WorkbenchShared_ResourceType.ASPECT_PRICING_PLAN]: 'workbenchPricingPlanId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME]: 'workbenchBrandNameId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_LOGO_DIRECTION]: 'workbenchBrandLogoDirectionId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_VISUAL_TONE]: 'workbenchBrandVisualToneId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_AUDIENCE]: 'workbenchBrandAudienceId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_ASSET]: 'workbenchBrandAssetId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME_CANDIDATE]: 'workbenchBrandNameCandidateId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME_JURISDICTION]: 'workbenchBrandNameJurisdictionId',\n [WorkbenchShared_ResourceType.ASPECT_BRAND_NAME_NICE_CLASS]: 'workbenchBrandNameNiceClassId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_MODULE]: 'workbenchDomainPlanModuleId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_SCOPE_SELECTOR]: 'workbenchComplianceScopeSelectorId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_APPLICABILITY_DECISION]: 'workbenchComplianceApplicabilityDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_OBLIGATION]: 'workbenchComplianceObligationId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_COVERAGE_DECISION]: 'workbenchComplianceCoverageDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_IMPLEMENTATION_DECISION]: 'workbenchComplianceImplementationDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_RESPONSIBILITY_ASSIGNMENT]: 'workbenchComplianceResponsibilityAssignmentId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_GAP]: 'workbenchComplianceGapId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_DOCUMENTATION_REQUIREMENT]: 'workbenchComplianceDocumentationRequirementId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_ROLE_AUTHORITY]: 'workbenchComplianceRoleAuthorityId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_SHARED_RESPONSIBILITY_RULE]: 'workbenchComplianceSharedResponsibilityRuleId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RESOURCE]: 'workbenchDomainPlanResourceId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RELATIONSHIP]: 'workbenchDomainPlanRelationshipId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_LIFECYCLE]: 'workbenchDomainPlanLifecycleId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_ORGANIZATION_TYPE]: 'workbenchDomainPlanOrganizationTypeId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RELATIONSHIP_KIND]: 'workbenchDomainPlanRelationshipKindId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_UNIT_CONFINEMENT]: 'workbenchDomainPlanUnitConfinementId',\n [WorkbenchShared_ResourceType.ASPECT_DOMAIN_PLAN_RECORD_LOCATION]: 'workbenchDomainPlanRecordLocationId',\n [WorkbenchShared_ResourceType.ASPECT_BUILD_TASK]: 'workbenchBuildTaskId',\n [WorkbenchShared_ResourceType.ASPECT_CAPABILITY_COMPOSITION_DECISION]: 'workbenchCompositionDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_WEBSITE_PAGE]: 'workbenchWebsitePageId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENTATION_CHAPTER]: 'workbenchDocumentationChapterId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_VIEW]: 'workbenchExperienceViewId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_CONFIGURATION]: 'workbenchExperienceConfigurationId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_MILESTONE]: 'workbenchExperienceMilestoneId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_GUIDANCE]: 'workbenchExperienceGuidanceId',\n [WorkbenchShared_ResourceType.ASPECT_EXPERIENCE_HOME]: 'workbenchExperienceHomeId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_WORKER]: 'workbenchIntegrationWorkerId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_MINION]: 'workbenchIntegrationMinionId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_PROVIDER_BINDING]: 'workbenchIntegrationProviderBindingId',\n [WorkbenchShared_ResourceType.ASPECT_INTEGRATION_INBOUND_CHANNEL]: 'workbenchIntegrationInboundChannelId',\n [WorkbenchShared_ResourceType.ASPECT_SERVICE_METHOD_SERVICE]: 'workbenchServiceMethodServiceId',\n [WorkbenchShared_ResourceType.ASPECT_SERVICE_METHOD_QUALIFICATION]: 'workbenchServiceMethodQualificationId',\n [WorkbenchShared_ResourceType.ASPECT_SERVICE_METHOD_CORRECTION_REASON]: 'workbenchServiceMethodCorrectionReasonId',\n [WorkbenchShared_ResourceType.ASPECT_REQUIREMENT_MATURITY]: 'workbenchRequirementMaturityId',\n [WorkbenchShared_ResourceType.ASPECT_PLACEMENT_GROUP]: 'workbenchPlacementGroupId',\n [WorkbenchShared_ResourceType.ASPECT_PLACEMENT_DECISION]: 'workbenchPlacementDecisionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE_SECTION]: 'workbenchComplianceCandidateSectionId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE_VARIANT_SELECTION]: 'workbenchComplianceCandidateVariantSelectionId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENT_FACT_DECLARATION]: 'workbenchDocumentFactDeclarationId',\n [WorkbenchShared_ResourceType.ASPECT_AUTHORED_DOCUMENT_FACT_DECLARATION]: 'workbenchAuthoredDocumentFactDeclarationId',\n [WorkbenchShared_ResourceType.ASPECT_PROCESSOR_REGISTER_ENTRY]: 'workbenchProcessorRegisterEntryId',\n [WorkbenchShared_ResourceType.ASPECT_RISK_REGISTER_ENTRY]: 'workbenchRiskRegisterEntryId',\n [WorkbenchShared_ResourceType.ASPECT_RELEASE_POLICY_SELECTION]: 'workbenchReleasePolicySelectionId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENT_PUBLICATION_VARIANT]: 'workbenchDocumentPublicationVariantId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE]: 'workbenchComplianceCandidateId',\n [WorkbenchShared_ResourceType.ASPECT_COMPLIANCE_CANDIDATE_SET_SECTION]: 'workbenchComplianceCandidateSetSectionId',\n [WorkbenchShared_ResourceType.ASPECT_DOCUMENT_RELEASE]: 'workbenchDocumentReleaseId',\n};\n\n/**\n * The frontend-service name the application-creation workbench identifies itself by.\n *\n * Shared because BOTH sides must agree and neither owns it alone: the workbench sends it as\n * `VITE_FRONTEND_SERVICE_NAME` on every `/application-config` and `/i18n/labels` request, and the\n * companion seeds an entry under exactly this key so the engine's `ApplicationConfigController` can\n * answer instead of refusing with `app_configuration_unknown_frontend_service`.\n *\n * Two string literals in two packages would compile perfectly and fail at runtime with an error that\n * names neither of them.\n */\nexport const WORKBENCH_FRONTEND_SERVICE_NAME = 'application-creation-workbench';\n"]}
|