@wildo-ai/platform-core-shared 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/esm/index.d.ts +7 -0
  2. package/dist/esm/index.d.ts.map +1 -1
  3. package/dist/esm/index.js +7 -0
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +3 -3
  6. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  7. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js +39 -8
  8. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js.map +1 -1
  9. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts +4 -3
  10. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts.map +1 -1
  11. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js +37 -6
  12. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js.map +1 -1
  13. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +1 -0
  14. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map +1 -1
  15. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js +13 -0
  16. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map +1 -1
  17. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts +100 -0
  18. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -0
  19. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +578 -0
  20. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -0
  21. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts +98 -0
  22. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts.map +1 -0
  23. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js +86 -0
  24. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js.map +1 -0
  25. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +157 -0
  26. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map +1 -0
  27. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js +258 -0
  28. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js.map +1 -0
  29. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts +221 -0
  30. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts.map +1 -0
  31. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js +292 -0
  32. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -0
  33. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts +48 -0
  34. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts.map +1 -0
  35. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js +48 -0
  36. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js.map +1 -0
  37. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +146 -6
  38. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts.map +1 -1
  39. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js +256 -8
  40. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js.map +1 -1
  41. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts +280 -55
  42. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts.map +1 -1
  43. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js +191 -85
  44. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js.map +1 -1
  45. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts +227 -49
  46. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +466 -78
  48. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
  49. package/dist/tsconfig.build.tsbuildinfo +1 -1
  50. package/package.json +4 -5
  51. package/dist/esm/.builder.pid +0 -9
@@ -2,6 +2,11 @@ export * from './core/resources/resources-types.custom.shared.schemas';
2
2
  export * from './workbench/workbench-resources-types.custom.shared.schemas';
3
3
  export * from './workbench/workbench-resources.custom.shared.schemas';
4
4
  export * from './workbench/workbench-resources.custom.shared.resources-config.schemas';
5
+ export * from './workbench/workbench-creation-plane.custom.shared.schemas';
6
+ export * from './workbench/workbench-creation-plane.custom.shared.resources-config.schemas';
7
+ export * from './workbench/workbench-aspect-resources.custom.shared.schemas';
8
+ export * from './workbench/workbench-creation-board.custom.shared.schemas';
9
+ export * from './workbench/workbench-domain-model.custom.shared.schemas';
5
10
  export * from './core/resources/resources-relationships.custom.shared.definitions';
6
11
  export * from './core/resources/resources-operations.custom.shared.definitions';
7
12
  export * from './security/authorizations/roles.custom.shared.definitions';
@@ -14,4 +19,6 @@ export * from './wildo-applications/wildo-applications.custom.shared.schemas';
14
19
  export * from './wildo-applications-versions/wildo-applications-versions.custom.shared.schemas';
15
20
  export * from './wildo-application-executions/wildo-application-executions.custom.shared.schemas';
16
21
  export * from './wildo-application-tasks/wildo-application-tasks.custom.shared.schemas';
22
+ export * from './wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas';
23
+ export * from './wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas';
17
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,wDAAwD,CAAC;AAWvE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,uDAAuD,CAAC;AACtE,cAAc,wEAAwE,CAAC;AACvF,cAAc,oEAAoE,CAAC;AACnF,cAAc,iEAAiE,CAAC;AAGhF,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EAAO,CAAC;AAK9D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,iFAAiF,CAAC;AAIhG,cAAc,mFAAmF,CAAC;AAClG,cAAc,yEAAyE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,wDAAwD,CAAC;AAWvE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,uDAAuD,CAAC;AACtE,cAAc,wEAAwE,CAAC;AACvF,cAAc,4DAA4D,CAAC;AAC3E,cAAc,6EAA6E,CAAC;AAC5F,cAAc,8DAA8D,CAAC;AAC7E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,0DAA0D,CAAC;AACzE,cAAc,oEAAoE,CAAC;AACnF,cAAc,iEAAiE,CAAC;AAGhF,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAGrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,EAAO,CAAC;AAK9D,cAAc,+DAA+D,CAAC;AAC9E,cAAc,iFAAiF,CAAC;AAIhG,cAAc,mFAAmF,CAAC;AAClG,cAAc,yEAAyE,CAAC;AACxF,cAAc,oGAAoG,CAAC;AACnH,cAAc,0FAA0F,CAAC"}
package/dist/esm/index.js CHANGED
@@ -15,6 +15,11 @@ export * from './core/resources/resources-types.custom.shared.schemas.js';
15
15
  export * from './workbench/workbench-resources-types.custom.shared.schemas.js';
16
16
  export * from './workbench/workbench-resources.custom.shared.schemas.js';
17
17
  export * from './workbench/workbench-resources.custom.shared.resources-config.schemas.js';
18
+ export * from './workbench/workbench-creation-plane.custom.shared.schemas.js';
19
+ export * from './workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js';
20
+ export * from './workbench/workbench-aspect-resources.custom.shared.schemas.js';
21
+ export * from './workbench/workbench-creation-board.custom.shared.schemas.js';
22
+ export * from './workbench/workbench-domain-model.custom.shared.schemas.js';
18
23
  export * from './core/resources/resources-relationships.custom.shared.definitions.js';
19
24
  export * from './core/resources/resources-operations.custom.shared.definitions.js';
20
25
  // Custom security
@@ -29,4 +34,6 @@ export * from './wildo-applications-versions/wildo-applications-versions.custom.
29
34
  // ### [ WILDO_AI CODE PLACEHOLDER ] [ platform_internal_code_end ] [ END ] ##########################################################
30
35
  export * from './wildo-application-executions/wildo-application-executions.custom.shared.schemas.js';
31
36
  export * from './wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js';
37
+ export * from './wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js';
38
+ export * from './wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js';
32
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,iBAAiB,EAAE,CAAC;AAEpB,mBAAmB;AACnB,cAAc,wDAAwD,CAAC;AAEvE;;;;;;;;GAQG;AACH,cAAc,6DAA6D,CAAC;AAC5E,cAAc,uDAAuD,CAAC;AACtE,cAAc,wEAAwE,CAAC;AACvF,cAAc,oEAAoE,CAAC;AACnF,cAAc,iEAAiE,CAAC;AAEhF,kBAAkB;AAClB,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAIrD,MAAM,CAAC,MAAM,sBAAsB,GAAwB,EAAE,CAAC;AAG9D,0NAA0N;AAE1N,cAAc,+DAA+D,CAAC;AAC9E,cAAc,iFAAiF,CAAC;AAEhG,uIAAuI;AAEvI,cAAc,mFAAmF,CAAC;AAClG,cAAc,yEAAyE,CAAC","sourcesContent":["// Initialize Zod decorators early (lazy init will also happen on first use)\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\ninitZodDecorators();\n\n// Custom resources\nexport * from './core/resources/resources-types.custom.shared.schemas';\n\n/*\n * The workbench's own vocabulary, kept SEPARATE from `customShared_*` on purpose.\n *\n * These resources are INTROSPECTION-backed — derived per read by the dev companion, never stored.\n * Adding them to `customShared_ResourcesConfigurationsFactoryMap` would hand them to that map's six\n * consumers, two of which must not have them: `platform-apps-manager` (whose INIT lifecycle applies\n * migrations, and there is nothing here to migrate) and the companion's i18n labelling planner,\n * which enumerates that map's keys and would generate labels for them.\n */\nexport * from './workbench/workbench-resources-types.custom.shared.schemas';\nexport * from './workbench/workbench-resources.custom.shared.schemas';\nexport * from './workbench/workbench-resources.custom.shared.resources-config.schemas';\nexport * from './core/resources/resources-relationships.custom.shared.definitions';\nexport * from './core/resources/resources-operations.custom.shared.definitions';\n\n// Custom security\nexport * from './security/authorizations/roles.custom.shared.definitions';\nexport * from './runtime/application-backend-env.contracts';\nexport * from './runtime/application-worker-env.contracts';\nexport * from './runtime/runtime-topology.contracts';\n\n// Custom billing — product catalog (placeholder until product definitions are configured)\nimport type { ProductDefinition } from '@wildo-ai/saas-models';\nexport const CUSTOM_PRODUCT_CATALOG: ProductDefinition[] = [];\n\n\n// ### [ WILDO_AI CODE PLACEHOLDER ] [ platform_internal_code_begin ] [ BEGIN ] - Do not edit this code block. It is used by the platform to manage the code - ##########################################################\n\nexport * from './wildo-applications/wildo-applications.custom.shared.schemas';\nexport * from './wildo-applications-versions/wildo-applications-versions.custom.shared.schemas';\n\n// ### [ WILDO_AI CODE PLACEHOLDER ] [ platform_internal_code_end ] [ END ] ##########################################################\n\nexport * from './wildo-application-executions/wildo-application-executions.custom.shared.schemas';\nexport * from './wildo-application-tasks/wildo-application-tasks.custom.shared.schemas';\n\n\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,iBAAiB,EAAE,CAAC;AAEpB,mBAAmB;AACnB,cAAc,wDAAwD,CAAC;AAEvE;;;;;;;;GAQG;AACH,cAAc,6DAA6D,CAAC;AAC5E,cAAc,uDAAuD,CAAC;AACtE,cAAc,wEAAwE,CAAC;AACvF,cAAc,4DAA4D,CAAC;AAC3E,cAAc,6EAA6E,CAAC;AAC5F,cAAc,8DAA8D,CAAC;AAC7E,cAAc,4DAA4D,CAAC;AAC3E,cAAc,0DAA0D,CAAC;AACzE,cAAc,oEAAoE,CAAC;AACnF,cAAc,iEAAiE,CAAC;AAEhF,kBAAkB;AAClB,cAAc,2DAA2D,CAAC;AAC1E,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,sCAAsC,CAAC;AAIrD,MAAM,CAAC,MAAM,sBAAsB,GAAwB,EAAE,CAAC;AAG9D,0NAA0N;AAE1N,cAAc,+DAA+D,CAAC;AAC9E,cAAc,iFAAiF,CAAC;AAEhG,uIAAuI;AAEvI,cAAc,mFAAmF,CAAC;AAClG,cAAc,yEAAyE,CAAC;AACxF,cAAc,oGAAoG,CAAC;AACnH,cAAc,0FAA0F,CAAC","sourcesContent":["// Initialize Zod decorators early (lazy init will also happen on first use)\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\ninitZodDecorators();\n\n// Custom resources\nexport * from './core/resources/resources-types.custom.shared.schemas';\n\n/*\n * The workbench's own vocabulary, kept SEPARATE from `customShared_*` on purpose.\n *\n * These resources are INTROSPECTION-backed — derived per read by the dev companion, never stored.\n * Adding them to `customShared_ResourcesConfigurationsFactoryMap` would hand them to that map's six\n * consumers, two of which must not have them: `platform-apps-manager` (whose INIT lifecycle applies\n * migrations, and there is nothing here to migrate) and the companion's i18n labelling planner,\n * which enumerates that map's keys and would generate labels for them.\n */\nexport * from './workbench/workbench-resources-types.custom.shared.schemas';\nexport * from './workbench/workbench-resources.custom.shared.schemas';\nexport * from './workbench/workbench-resources.custom.shared.resources-config.schemas';\nexport * from './workbench/workbench-creation-plane.custom.shared.schemas';\nexport * from './workbench/workbench-creation-plane.custom.shared.resources-config.schemas';\nexport * from './workbench/workbench-aspect-resources.custom.shared.schemas';\nexport * from './workbench/workbench-creation-board.custom.shared.schemas';\nexport * from './workbench/workbench-domain-model.custom.shared.schemas';\nexport * from './core/resources/resources-relationships.custom.shared.definitions';\nexport * from './core/resources/resources-operations.custom.shared.definitions';\n\n// Custom security\nexport * from './security/authorizations/roles.custom.shared.definitions';\nexport * from './runtime/application-backend-env.contracts';\nexport * from './runtime/application-worker-env.contracts';\nexport * from './runtime/runtime-topology.contracts';\n\n// Custom billing — product catalog (placeholder until product definitions are configured)\nimport type { ProductDefinition } from '@wildo-ai/saas-models';\nexport const CUSTOM_PRODUCT_CATALOG: ProductDefinition[] = [];\n\n\n// ### [ WILDO_AI CODE PLACEHOLDER ] [ platform_internal_code_begin ] [ BEGIN ] - Do not edit this code block. It is used by the platform to manage the code - ##########################################################\n\nexport * from './wildo-applications/wildo-applications.custom.shared.schemas';\nexport * from './wildo-applications-versions/wildo-applications-versions.custom.shared.schemas';\n\n// ### [ WILDO_AI CODE PLACEHOLDER ] [ platform_internal_code_end ] [ END ] ##########################################################\n\nexport * from './wildo-application-executions/wildo-application-executions.custom.shared.schemas';\nexport * from './wildo-application-tasks/wildo-application-tasks.custom.shared.schemas';\nexport * from './wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas';\nexport * from './wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas';\n\n\n"]}
@@ -1,9 +1,9 @@
1
1
  import { CoreResourceOperation, ResourceRelationship } from '@wildo-ai/saas-models';
2
2
  type WildoApplicationExecution_CoreOperations = CoreResourceOperation.CREATE | CoreResourceOperation.READ | CoreResourceOperation.LIST | CoreResourceOperation.UPDATE;
3
3
  /**
4
- * These records are internal control-plane persistence for the local companion.
5
- * They intentionally register repository-first CRUD operations without opening a
6
- * generated public API surface through the standard resource controllers.
4
+ * These records are control-plane persistence written ONLY by the local companion. Writes stay
5
+ * repository-first with no generated API; the READ HALF is an ORG_MEMBER-gated API surface since
6
+ * 2026-09-01 — see `createOrgMemberReadApiVariant` above for the decision.
7
7
  */
8
8
  export declare const wildoApplicationActorSystemExecutions_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WildoApplicationExecution_CoreOperations, import("zod").ZodObject<{
9
9
  initiator: import("zod").ZodOptional<import("zod").ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-application-executions.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAGrB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAY/B,KAAK,wCAAwC,GACzC,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,CAAC;AAWjC;;;;GAIG;AACH,eAAO,MAAM,iFAAiF,GAC3F,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwB7C,CAAC;AAEL,eAAO,MAAM,gFAAgF,GAC1F,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwB7C,CAAC"}
1
+ {"version":3,"file":"wildo-application-executions.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EAGrB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAY/B,KAAK,wCAAwC,GACzC,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,CAAC;AA2CjC;;;;GAIG;AACH,eAAO,MAAM,iFAAiF,GAC3F,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwB7C,CAAC;AAEL,eAAO,MAAM,gFAAgF,GAC1F,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwB7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CORE_APP_ROLES, CoreResourceOperation, ResourceOperationRiskLevel, ResourceOperationVariantType, createResourceConfiguration_Initialization, } from '@wildo-ai/saas-models';
1
+ import { CORE_APP_ROLES, CORE_ORG_ROLES, CoreResourceOperation, ResourceOperationRiskLevel, ResourceOperationVariantType, createResourceConfiguration_Initialization, } from '@wildo-ai/saas-models';
2
2
  import { CustomShared_ResourceFieldIdentifier, CustomShared_ResourceType, } from '../core/resources/resources-types.custom.shared.schemas.js';
3
3
  import { Wildo_Application_ActorSystem_Execution_Schema, Wildo_Application_FlowSystem_Execution_Schema, } from './wildo-application-executions.custom.shared.schemas.js';
4
4
  const WildoApplicationExecution_Operations = undefined;
@@ -11,9 +11,40 @@ function createRepositoryOnlyDefaultVariant() {
11
11
  };
12
12
  }
13
13
  /**
14
- * These records are internal control-plane persistence for the local companion.
15
- * They intentionally register repository-first CRUD operations without opening a
16
- * generated public API surface through the standard resource controllers.
14
+ * READ/LIST are API-callable since 2026-09-01; CREATE/UPDATE stay repository-only.
15
+ *
16
+ * The original decision ("no public resource-controller surface") was made when the ONLY consumer
17
+ * was the companion's own repository-direct persistence. The application-creation workbench now
18
+ * consumes these rows AS RESOURCES (plan `workbench-creation-board-resources.md`, Phase 1): the
19
+ * creation board renders them through the engine's embedded resource surfaces instead of bespoke
20
+ * companion routes. That requires exactly the read half of an API surface, so exactly the read half
21
+ * is opened:
22
+ *
23
+ * - READ/LIST: `API_CALL`, gated `ORG_MEMBER` — the SAME read-posture as the parent
24
+ * `wildoApplications` rows one resource over, resolved through organization membership. The first
25
+ * draft reused the repository-only variants' `APP_ADMIN_SUPER_ADMIN`, and the measurement retired
26
+ * it: a companion operator's app-tier roles are plain `APP_USER` (the seeded developer holds
27
+ * `ORG_ADMIN` via MEMBERSHIP, not app-tier super-admin), so the admin gate 403'd the exact
28
+ * operator this surface serves. Consistent with the audit-retention decision (2026-07-29): rows
29
+ * kept as the organization's own audit material are rows its members may read.
30
+ * - CREATE/UPDATE: unchanged `REPOSITORY_ONLY`. The companion remains the only writer, and the
31
+ * generated write API the original decision refused stays refused.
32
+ *
33
+ * This config is shared with the platform tier (apps-manager registers the same map), so the read
34
+ * routes appear there too, behind the same ORG_MEMBER gate — a deliberate consequence, not a leak.
35
+ */
36
+ function createOrgMemberReadApiVariant() {
37
+ return {
38
+ variantType: ResourceOperationVariantType.API_CALL,
39
+ isDefault: true,
40
+ roles: [CORE_ORG_ROLES.ORG_MEMBER],
41
+ riskLevel: ResourceOperationRiskLevel.LOW,
42
+ };
43
+ }
44
+ /**
45
+ * These records are control-plane persistence written ONLY by the local companion. Writes stay
46
+ * repository-first with no generated API; the READ HALF is an ORG_MEMBER-gated API surface since
47
+ * 2026-09-01 — see `createOrgMemberReadApiVariant` above for the decision.
17
48
  */
18
49
  export const wildoApplicationActorSystemExecutions_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
19
50
  mainSchema: Wildo_Application_ActorSystem_Execution_Schema,
@@ -30,8 +61,8 @@ export const wildoApplicationActorSystemExecutions_ResourceConfiguration_Initial
30
61
  customOperation: WildoApplicationExecution_Operations,
31
62
  operationsConfiguration: {
32
63
  [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },
33
- [CoreResourceOperation.READ]: { variants: [createRepositoryOnlyDefaultVariant()] },
34
- [CoreResourceOperation.LIST]: { variants: [createRepositoryOnlyDefaultVariant()] },
64
+ [CoreResourceOperation.READ]: { variants: [createOrgMemberReadApiVariant()] },
65
+ [CoreResourceOperation.LIST]: { variants: [createOrgMemberReadApiVariant()] },
35
66
  [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },
36
67
  },
37
68
  });
@@ -50,8 +81,8 @@ export const wildoApplicationFlowSystemExecutions_ResourceConfiguration_Initiali
50
81
  customOperation: WildoApplicationExecution_Operations,
51
82
  operationsConfiguration: {
52
83
  [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },
53
- [CoreResourceOperation.READ]: { variants: [createRepositoryOnlyDefaultVariant()] },
54
- [CoreResourceOperation.LIST]: { variants: [createRepositoryOnlyDefaultVariant()] },
84
+ [CoreResourceOperation.READ]: { variants: [createOrgMemberReadApiVariant()] },
85
+ [CoreResourceOperation.LIST]: { variants: [createOrgMemberReadApiVariant()] },
55
86
  [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },
56
87
  },
57
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-application-executions.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAE5B,0CAA0C,GAC3C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oCAAoC,EACpC,yBAAyB,GAC1B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,8CAA8C,EAC9C,6CAA6C,GAC9C,MAAM,sDAAsD,CAAC;AAE9D,MAAM,oCAAoC,GAAG,SAAS,CAAC;AAQvD,SAAS,kCAAkC;IACzC,OAAO;QACL,WAAW,EAAE,4BAA4B,CAAC,eAAwB;QAClE,SAAS,EAAE,IAAa;QACxB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;QAC7C,SAAS,EAAE,0BAA0B,CAAC,GAAY;KACnD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iFAAiF,GAC5F,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI5F;IACA,UAAU,EAAE,8CAA8C;IAC1D,kBAAkB,EAAE,yBAAyB,CAAC,yCAAyC;IACvF,uBAAuB,EACrB,oCAAoC,CAAC,yBAAyB,CAAC,yCAAyC,CAAC;IAC3G,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE;QACd,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IACD,eAAe,EAAE,oCAAoC;IACrD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QACpF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QAClF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QAClF,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;KACrF;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gFAAgF,GAC3F,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI5F;IACA,UAAU,EAAE,6CAA6C;IACzD,kBAAkB,EAAE,yBAAyB,CAAC,wCAAwC;IACtF,uBAAuB,EACrB,oCAAoC,CAAC,yBAAyB,CAAC,wCAAwC,CAAC;IAC1G,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE;QACd,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IACD,eAAe,EAAE,oCAAoC;IACrD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QACpF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QAClF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QAClF,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;KACrF;CACF,CAAC,CAAC","sourcesContent":["import {\n CORE_APP_ROLES,\n CoreResourceOperation,\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n ResourceRelationship,\n createResourceConfiguration_Initialization,\n} from '@wildo-ai/saas-models';\nimport {\n CustomShared_ResourceFieldIdentifier,\n CustomShared_ResourceType,\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport {\n Wildo_Application_ActorSystem_Execution_Schema,\n Wildo_Application_FlowSystem_Execution_Schema,\n} from './wildo-application-executions.custom.shared.schemas';\n\nconst WildoApplicationExecution_Operations = undefined;\n\ntype WildoApplicationExecution_CoreOperations =\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.UPDATE;\n\nfunction createRepositoryOnlyDefaultVariant() {\n return {\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY as const,\n isDefault: true as const,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/**\n * These records are internal control-plane persistence for the local companion.\n * They intentionally register repository-first CRUD operations without opening a\n * generated public API surface through the standard resource controllers.\n */\nexport const wildoApplicationActorSystemExecutions_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationExecution_Operations,\n WildoApplicationExecution_CoreOperations,\n typeof Wildo_Application_ActorSystem_Execution_Schema\n >({\n mainSchema: Wildo_Application_ActorSystem_Execution_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_SYSTEM_EXECUTIONS,\n resourceFieldIdentifier:\n CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_SYSTEM_EXECUTIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.UPDATE,\n ],\n customOperation: WildoApplicationExecution_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.READ]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n },\n });\n\nexport const wildoApplicationFlowSystemExecutions_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationExecution_Operations,\n WildoApplicationExecution_CoreOperations,\n typeof Wildo_Application_FlowSystem_Execution_Schema\n >({\n mainSchema: Wildo_Application_FlowSystem_Execution_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_FLOW_SYSTEM_EXECUTIONS,\n resourceFieldIdentifier:\n CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_FLOW_SYSTEM_EXECUTIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.UPDATE,\n ],\n customOperation: WildoApplicationExecution_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.READ]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n },\n });\n"]}
1
+ {"version":3,"file":"wildo-application-executions.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAE5B,0CAA0C,GAC3C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oCAAoC,EACpC,yBAAyB,GAC1B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,8CAA8C,EAC9C,6CAA6C,GAC9C,MAAM,sDAAsD,CAAC;AAE9D,MAAM,oCAAoC,GAAG,SAAS,CAAC;AAQvD,SAAS,kCAAkC;IACzC,OAAO;QACL,WAAW,EAAE,4BAA4B,CAAC,eAAwB;QAClE,SAAS,EAAE,IAAa;QACxB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;QAC7C,SAAS,EAAE,0BAA0B,CAAC,GAAY;KACnD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,6BAA6B;IACpC,OAAO;QACL,WAAW,EAAE,4BAA4B,CAAC,QAAiB;QAC3D,SAAS,EAAE,IAAa;QACxB,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;QAClC,SAAS,EAAE,0BAA0B,CAAC,GAAY;KACnD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iFAAiF,GAC5F,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI5F;IACA,UAAU,EAAE,8CAA8C;IAC1D,kBAAkB,EAAE,yBAAyB,CAAC,yCAAyC;IACvF,uBAAuB,EACrB,oCAAoC,CAAC,yBAAyB,CAAC,yCAAyC,CAAC;IAC3G,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE;QACd,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IACD,eAAe,EAAE,oCAAoC;IACrD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QACpF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,CAAC,EAAE;QAC7E,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,CAAC,EAAE;QAC7E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;KACrF;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gFAAgF,GAC3F,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI5F;IACA,UAAU,EAAE,6CAA6C;IACzD,kBAAkB,EAAE,yBAAyB,CAAC,wCAAwC;IACtF,uBAAuB,EACrB,oCAAoC,CAAC,yBAAyB,CAAC,wCAAwC,CAAC;IAC1G,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE;QACd,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IACD,eAAe,EAAE,oCAAoC;IACrD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QACpF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,CAAC,EAAE;QAC7E,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,CAAC,EAAE;QAC7E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;KACrF;CACF,CAAC,CAAC","sourcesContent":["import {\n CORE_APP_ROLES,\n CORE_ORG_ROLES,\n CoreResourceOperation,\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n ResourceRelationship,\n createResourceConfiguration_Initialization,\n} from '@wildo-ai/saas-models';\nimport {\n CustomShared_ResourceFieldIdentifier,\n CustomShared_ResourceType,\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport {\n Wildo_Application_ActorSystem_Execution_Schema,\n Wildo_Application_FlowSystem_Execution_Schema,\n} from './wildo-application-executions.custom.shared.schemas';\n\nconst WildoApplicationExecution_Operations = undefined;\n\ntype WildoApplicationExecution_CoreOperations =\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.UPDATE;\n\nfunction createRepositoryOnlyDefaultVariant() {\n return {\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY as const,\n isDefault: true as const,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/**\n * READ/LIST are API-callable since 2026-09-01; CREATE/UPDATE stay repository-only.\n *\n * The original decision (\"no public resource-controller surface\") was made when the ONLY consumer\n * was the companion's own repository-direct persistence. The application-creation workbench now\n * consumes these rows AS RESOURCES (plan `workbench-creation-board-resources.md`, Phase 1): the\n * creation board renders them through the engine's embedded resource surfaces instead of bespoke\n * companion routes. That requires exactly the read half of an API surface, so exactly the read half\n * is opened:\n *\n * - READ/LIST: `API_CALL`, gated `ORG_MEMBER` — the SAME read-posture as the parent\n * `wildoApplications` rows one resource over, resolved through organization membership. The first\n * draft reused the repository-only variants' `APP_ADMIN_SUPER_ADMIN`, and the measurement retired\n * it: a companion operator's app-tier roles are plain `APP_USER` (the seeded developer holds\n * `ORG_ADMIN` via MEMBERSHIP, not app-tier super-admin), so the admin gate 403'd the exact\n * operator this surface serves. Consistent with the audit-retention decision (2026-07-29): rows\n * kept as the organization's own audit material are rows its members may read.\n * - CREATE/UPDATE: unchanged `REPOSITORY_ONLY`. The companion remains the only writer, and the\n * generated write API the original decision refused stays refused.\n *\n * This config is shared with the platform tier (apps-manager registers the same map), so the read\n * routes appear there too, behind the same ORG_MEMBER gate — a deliberate consequence, not a leak.\n */\nfunction createOrgMemberReadApiVariant() {\n return {\n variantType: ResourceOperationVariantType.API_CALL as const,\n isDefault: true as const,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/**\n * These records are control-plane persistence written ONLY by the local companion. Writes stay\n * repository-first with no generated API; the READ HALF is an ORG_MEMBER-gated API surface since\n * 2026-09-01 — see `createOrgMemberReadApiVariant` above for the decision.\n */\nexport const wildoApplicationActorSystemExecutions_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationExecution_Operations,\n WildoApplicationExecution_CoreOperations,\n typeof Wildo_Application_ActorSystem_Execution_Schema\n >({\n mainSchema: Wildo_Application_ActorSystem_Execution_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_SYSTEM_EXECUTIONS,\n resourceFieldIdentifier:\n CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_SYSTEM_EXECUTIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.UPDATE,\n ],\n customOperation: WildoApplicationExecution_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.READ]: { variants: [createOrgMemberReadApiVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createOrgMemberReadApiVariant()] },\n [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n },\n });\n\nexport const wildoApplicationFlowSystemExecutions_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationExecution_Operations,\n WildoApplicationExecution_CoreOperations,\n typeof Wildo_Application_FlowSystem_Execution_Schema\n >({\n mainSchema: Wildo_Application_FlowSystem_Execution_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_FLOW_SYSTEM_EXECUTIONS,\n resourceFieldIdentifier:\n CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_FLOW_SYSTEM_EXECUTIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.UPDATE,\n ],\n customOperation: WildoApplicationExecution_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.READ]: { variants: [createOrgMemberReadApiVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createOrgMemberReadApiVariant()] },\n [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n },\n });\n"]}
@@ -1,9 +1,9 @@
1
1
  import { CoreResourceOperation, ResourceRelationship } from '@wildo-ai/saas-models';
2
2
  type WildoApplicationActorTasks_CoreOperations = CoreResourceOperation.CREATE | CoreResourceOperation.READ | CoreResourceOperation.LIST | CoreResourceOperation.UPDATE;
3
3
  /**
4
- * Actor tasks are mutable control-plane records managed by the local companion,
5
- * not public resource-controller surfaces. Repository-only CRUD keeps the
6
- * framework persistence contract truthful without widening generated APIs.
4
+ * Actor tasks are mutable control-plane records written ONLY by the local companion. Writes stay
5
+ * repository-only, keeping the persistence contract truthful; the READ HALF is an ORG_MEMBER-gated API
6
+ * surface since 2026-09-01 — see `createOrgMemberReadApiVariant` above for the decision.
7
7
  */
8
8
  export declare const wildoApplicationActorTasks_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WildoApplicationActorTasks_CoreOperations, import("zod").ZodObject<{
9
9
  description: import("zod").ZodString;
@@ -334,6 +334,7 @@ export declare const wildoApplicationActorTasks_ResourceConfiguration_Initializa
334
334
  wildoApplicationId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodString>>>>;
335
335
  wildoApplicationActorSystemExecutionId: import("zod").ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodString>>>;
336
336
  continuityAttemptKey: import("zod").ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodString>>>;
337
+ workbenchBuildPlanTaskId: import("zod").ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodString>>>;
337
338
  title: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodString>;
338
339
  status: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodEnum<typeof import("@wildo-ai/saas-models").FlowsActors_Status>>>;
339
340
  updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("zod").ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-application-tasks.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,qBAAqB,EAGrB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAS/B,KAAK,yCAAyC,GAC1C,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,CAAC;AAWjC;;;;GAIG;AACH,eAAO,MAAM,sEAAsE,GAChF,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwB7C,CAAC"}
1
+ {"version":3,"file":"wildo-application-tasks.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,qBAAqB,EAGrB,oBAAoB,EAErB,MAAM,uBAAuB,CAAC;AAS/B,KAAK,yCAAyC,GAC1C,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,CAAC;AA2CjC;;;;GAIG;AACH,eAAO,MAAM,sEAAsE,GAChF,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCAwB7C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { CORE_APP_ROLES, CoreResourceOperation, ResourceOperationRiskLevel, ResourceOperationVariantType, createResourceConfiguration_Initialization, } from '@wildo-ai/saas-models';
1
+ import { CORE_APP_ROLES, CORE_ORG_ROLES, CoreResourceOperation, ResourceOperationRiskLevel, ResourceOperationVariantType, createResourceConfiguration_Initialization, } from '@wildo-ai/saas-models';
2
2
  import { CustomShared_ResourceFieldIdentifier, CustomShared_ResourceType, } from '../core/resources/resources-types.custom.shared.schemas.js';
3
3
  import { Wildo_Application_Actor_Task_Schema } from './wildo-application-tasks.custom.shared.schemas.js';
4
4
  const WildoApplicationActorTasks_Operations = undefined;
@@ -11,9 +11,40 @@ function createRepositoryOnlyDefaultVariant() {
11
11
  };
12
12
  }
13
13
  /**
14
- * Actor tasks are mutable control-plane records managed by the local companion,
15
- * not public resource-controller surfaces. Repository-only CRUD keeps the
16
- * framework persistence contract truthful without widening generated APIs.
14
+ * READ/LIST are API-callable since 2026-09-01; CREATE/UPDATE stay repository-only.
15
+ *
16
+ * The original decision ("no public resource-controller surface") was made when the ONLY consumer
17
+ * was the companion's own repository-direct persistence. The application-creation workbench now
18
+ * consumes these rows AS RESOURCES (plan `workbench-creation-board-resources.md`, Phase 1): the
19
+ * creation board renders them through the engine's embedded resource surfaces instead of bespoke
20
+ * companion routes. That requires exactly the read half of an API surface, so exactly the read half
21
+ * is opened:
22
+ *
23
+ * - READ/LIST: `API_CALL`, gated `ORG_MEMBER` — the SAME read-posture as the parent
24
+ * `wildoApplications` rows one resource over, resolved through organization membership. The first
25
+ * draft reused the repository-only variants' `APP_ADMIN_SUPER_ADMIN`, and the measurement retired
26
+ * it: a companion operator's app-tier roles are plain `APP_USER` (the seeded developer holds
27
+ * `ORG_ADMIN` via MEMBERSHIP, not app-tier super-admin), so the admin gate 403'd the exact
28
+ * operator this surface serves. Consistent with the audit-retention decision (2026-07-29): rows
29
+ * kept as the organization's own audit material are rows its members may read.
30
+ * - CREATE/UPDATE: unchanged `REPOSITORY_ONLY`. The companion remains the only writer, and the
31
+ * generated write API the original decision refused stays refused.
32
+ *
33
+ * This config is shared with the platform tier (apps-manager registers the same map), so the read
34
+ * routes appear there too, behind the same ORG_MEMBER gate — a deliberate consequence, not a leak.
35
+ */
36
+ function createOrgMemberReadApiVariant() {
37
+ return {
38
+ variantType: ResourceOperationVariantType.API_CALL,
39
+ isDefault: true,
40
+ roles: [CORE_ORG_ROLES.ORG_MEMBER],
41
+ riskLevel: ResourceOperationRiskLevel.LOW,
42
+ };
43
+ }
44
+ /**
45
+ * Actor tasks are mutable control-plane records written ONLY by the local companion. Writes stay
46
+ * repository-only, keeping the persistence contract truthful; the READ HALF is an ORG_MEMBER-gated API
47
+ * surface since 2026-09-01 — see `createOrgMemberReadApiVariant` above for the decision.
17
48
  */
18
49
  export const wildoApplicationActorTasks_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => createResourceConfiguration_Initialization({
19
50
  mainSchema: Wildo_Application_Actor_Task_Schema,
@@ -30,8 +61,8 @@ export const wildoApplicationActorTasks_ResourceConfiguration_InitializationFact
30
61
  customOperation: WildoApplicationActorTasks_Operations,
31
62
  operationsConfiguration: {
32
63
  [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },
33
- [CoreResourceOperation.READ]: { variants: [createRepositoryOnlyDefaultVariant()] },
34
- [CoreResourceOperation.LIST]: { variants: [createRepositoryOnlyDefaultVariant()] },
64
+ [CoreResourceOperation.READ]: { variants: [createOrgMemberReadApiVariant()] },
65
+ [CoreResourceOperation.LIST]: { variants: [createOrgMemberReadApiVariant()] },
35
66
  [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },
36
67
  },
37
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-application-tasks.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAE5B,0CAA0C,GAC3C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oCAAoC,EACpC,yBAAyB,GAC1B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AAEtG,MAAM,qCAAqC,GAAG,SAAS,CAAC;AAQxD,SAAS,kCAAkC;IACzC,OAAO;QACL,WAAW,EAAE,4BAA4B,CAAC,eAAwB;QAClE,SAAS,EAAE,IAAa;QACxB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;QAC7C,SAAS,EAAE,0BAA0B,CAAC,GAAY;KACnD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sEAAsE,GACjF,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI5F;IACA,UAAU,EAAE,mCAAmC;IAC/C,kBAAkB,EAAE,yBAAyB,CAAC,6BAA6B;IAC3E,uBAAuB,EACrB,oCAAoC,CAAC,yBAAyB,CAAC,6BAA6B,CAAC;IAC/F,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE;QACd,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IACD,eAAe,EAAE,qCAAqC;IACtD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QACpF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QAClF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QAClF,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;KACrF;CACF,CAAC,CAAC","sourcesContent":["import {\n CORE_APP_ROLES,\n CoreResourceOperation,\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n ResourceRelationship,\n createResourceConfiguration_Initialization,\n} from '@wildo-ai/saas-models';\nimport {\n CustomShared_ResourceFieldIdentifier,\n CustomShared_ResourceType,\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport { Wildo_Application_Actor_Task_Schema } from './wildo-application-tasks.custom.shared.schemas';\n\nconst WildoApplicationActorTasks_Operations = undefined;\n\ntype WildoApplicationActorTasks_CoreOperations =\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.UPDATE;\n\nfunction createRepositoryOnlyDefaultVariant() {\n return {\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY as const,\n isDefault: true as const,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/**\n * Actor tasks are mutable control-plane records managed by the local companion,\n * not public resource-controller surfaces. Repository-only CRUD keeps the\n * framework persistence contract truthful without widening generated APIs.\n */\nexport const wildoApplicationActorTasks_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationActorTasks_Operations,\n WildoApplicationActorTasks_CoreOperations,\n typeof Wildo_Application_Actor_Task_Schema\n >({\n mainSchema: Wildo_Application_Actor_Task_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS,\n resourceFieldIdentifier:\n CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.UPDATE,\n ],\n customOperation: WildoApplicationActorTasks_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.READ]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n },\n });\n"]}
1
+ {"version":3,"file":"wildo-application-tasks.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACd,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAE5B,0CAA0C,GAC3C,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oCAAoC,EACpC,yBAAyB,GAC1B,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,mCAAmC,EAAE,MAAM,iDAAiD,CAAC;AAEtG,MAAM,qCAAqC,GAAG,SAAS,CAAC;AAQxD,SAAS,kCAAkC;IACzC,OAAO;QACL,WAAW,EAAE,4BAA4B,CAAC,eAAwB;QAClE,SAAS,EAAE,IAAa;QACxB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;QAC7C,SAAS,EAAE,0BAA0B,CAAC,GAAY;KACnD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,SAAS,6BAA6B;IACpC,OAAO;QACL,WAAW,EAAE,4BAA4B,CAAC,QAAiB;QAC3D,SAAS,EAAE,IAAa;QACxB,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;QAClC,SAAS,EAAE,0BAA0B,CAAC,GAAY;KACnD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,sEAAsE,GACjF,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI5F;IACA,UAAU,EAAE,mCAAmC;IAC/C,kBAAkB,EAAE,yBAAyB,CAAC,6BAA6B;IAC3E,uBAAuB,EACrB,oCAAoC,CAAC,yBAAyB,CAAC,6BAA6B,CAAC;IAC/F,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IACvB,cAAc,EAAE;QACd,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IACD,eAAe,EAAE,qCAAqC;IACtD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;QACpF,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,CAAC,EAAE;QAC7E,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,6BAA6B,EAAE,CAAC,EAAE;QAC7E,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,kCAAkC,EAAE,CAAC,EAAE;KACrF;CACF,CAAC,CAAC","sourcesContent":["import {\n CORE_APP_ROLES,\n CORE_ORG_ROLES,\n CoreResourceOperation,\n ResourceOperationRiskLevel,\n ResourceOperationVariantType,\n ResourceRelationship,\n createResourceConfiguration_Initialization,\n} from '@wildo-ai/saas-models';\nimport {\n CustomShared_ResourceFieldIdentifier,\n CustomShared_ResourceType,\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport { Wildo_Application_Actor_Task_Schema } from './wildo-application-tasks.custom.shared.schemas';\n\nconst WildoApplicationActorTasks_Operations = undefined;\n\ntype WildoApplicationActorTasks_CoreOperations =\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.UPDATE;\n\nfunction createRepositoryOnlyDefaultVariant() {\n return {\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY as const,\n isDefault: true as const,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/**\n * READ/LIST are API-callable since 2026-09-01; CREATE/UPDATE stay repository-only.\n *\n * The original decision (\"no public resource-controller surface\") was made when the ONLY consumer\n * was the companion's own repository-direct persistence. The application-creation workbench now\n * consumes these rows AS RESOURCES (plan `workbench-creation-board-resources.md`, Phase 1): the\n * creation board renders them through the engine's embedded resource surfaces instead of bespoke\n * companion routes. That requires exactly the read half of an API surface, so exactly the read half\n * is opened:\n *\n * - READ/LIST: `API_CALL`, gated `ORG_MEMBER` — the SAME read-posture as the parent\n * `wildoApplications` rows one resource over, resolved through organization membership. The first\n * draft reused the repository-only variants' `APP_ADMIN_SUPER_ADMIN`, and the measurement retired\n * it: a companion operator's app-tier roles are plain `APP_USER` (the seeded developer holds\n * `ORG_ADMIN` via MEMBERSHIP, not app-tier super-admin), so the admin gate 403'd the exact\n * operator this surface serves. Consistent with the audit-retention decision (2026-07-29): rows\n * kept as the organization's own audit material are rows its members may read.\n * - CREATE/UPDATE: unchanged `REPOSITORY_ONLY`. The companion remains the only writer, and the\n * generated write API the original decision refused stays refused.\n *\n * This config is shared with the platform tier (apps-manager registers the same map), so the read\n * routes appear there too, behind the same ORG_MEMBER gate — a deliberate consequence, not a leak.\n */\nfunction createOrgMemberReadApiVariant() {\n return {\n variantType: ResourceOperationVariantType.API_CALL as const,\n isDefault: true as const,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW as const,\n };\n}\n\n/**\n * Actor tasks are mutable control-plane records written ONLY by the local companion. Writes stay\n * repository-only, keeping the persistence contract truthful; the READ HALF is an ORG_MEMBER-gated API\n * surface since 2026-09-01 — see `createOrgMemberReadApiVariant` above for the decision.\n */\nexport const wildoApplicationActorTasks_ResourceConfiguration_InitializationFactory =\n (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationActorTasks_Operations,\n WildoApplicationActorTasks_CoreOperations,\n typeof Wildo_Application_Actor_Task_Schema\n >({\n mainSchema: Wildo_Application_Actor_Task_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS,\n resourceFieldIdentifier:\n CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_ACTOR_TASKS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n coreOperations: [\n CoreResourceOperation.CREATE,\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.UPDATE,\n ],\n customOperation: WildoApplicationActorTasks_Operations,\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n [CoreResourceOperation.READ]: { variants: [createOrgMemberReadApiVariant()] },\n [CoreResourceOperation.LIST]: { variants: [createOrgMemberReadApiVariant()] },\n [CoreResourceOperation.UPDATE]: { variants: [createRepositoryOnlyDefaultVariant()] },\n },\n });\n"]}
@@ -335,6 +335,7 @@ export declare const Wildo_Application_Actor_Task_Schema: z.ZodObject<{
335
335
  wildoApplicationId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>>;
336
336
  wildoApplicationActorSystemExecutionId: z.ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
337
337
  continuityAttemptKey: z.ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
338
+ workbenchBuildPlanTaskId: z.ZodOptional<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
338
339
  title: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
339
340
  status: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof FlowsActors_Status>>>;
340
341
  updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-application-tasks.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAK/B;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B9C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC"}
1
+ {"version":3,"file":"wildo-application-tasks.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAK/B;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuC9C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC"}
@@ -31,6 +31,19 @@ export const Wildo_Application_Actor_Task_Schema = Actors_Task_Schema.extend({
31
31
  })
32
32
  .excludeFromUpdate()
33
33
  .optional(),
34
+ /**
35
+ * The CROSS-PLANE join (creation board, Phase 4 R5): the workbench build-plan DISPATCH row this
36
+ * task executes, as its SANITIZED identity (`sanitizeWorkbenchCreationPlaneIdentity(taskRef)` —
37
+ * task refs are URL-safe by their own regex, so this is currently the ref verbatim).
38
+ *
39
+ * OPTIONAL twice over: only coding/generation dispatches carry a build-plan task (flow-driven
40
+ * actor tasks have none), and rows written before 2026-09-01 predate the field — the workbench
41
+ * declares the REFERENCE edge dangling-tolerant for exactly that population. The edge itself is
42
+ * declared WORKBENCH-SIDE only: this config is also registered by `platform-apps-manager`, where
43
+ * no `workbenchBuildPlanTasks` resource exists, and there the field is inert data rather than a
44
+ * dangling relationship.
45
+ */
46
+ workbenchBuildPlanTaskId: z.string().min(1).isForeignKey().isSummaryField().optional(),
34
47
  title: z.string().min(1).isSummaryField(),
35
48
  status: z.enum(FlowsActors_Status).isDBIndexed().isSummaryField(),
36
49
  updatedAt: z.string().refine((val) => !isNaN(Date.parse(val)), { error: 'Invalid datetime string' }).isDBIndexed(),
@@ -1 +1 @@
1
- {"version":3,"file":"wildo-application-tasks.custom.shared.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAErB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC3E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE;IACtD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE;IAC5F,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE;IAChG,sCAAsC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE;IAC1F;;;;;;;;OAQG;IACH,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC;QACR,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,IAAI;KACb,CAAC;SACD,iBAAiB,EAAE;SACnB,QAAQ,EAAE;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC,WAAW,EAAE;CACnH,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n Actors_Task_Schema,\n FlowsActors_Status,\n} from '@wildo-ai/saas-models';\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\n\ninitZodDecorators(z);\n\n/**\n * Actor-flow tasks are persisted as first-class platform records because task\n * content evolves independently of one execution snapshot. The execution link is\n * optional/updateable so tasks can outlive a specific run while still being\n * queryable from the current actor-system follow-up record.\n */\nexport const Wildo_Application_Actor_Task_Schema = Actors_Task_Schema.extend({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n organizationId: z.string().isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n wildoApplicationId: z.string().isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n wildoApplicationActorSystemExecutionId: z.string().isDBIndexed().isForeignKey().optional(),\n /**\n * Server-managed physical-attempt identity for continuity-bound Tasks.\n *\n * `compoundWith` produces the required sparse unique\n * `(wildoApplicationId, continuityAttemptKey)` index: legacy/unbound Tasks\n * remain outside the index, while concurrent creation of one exact\n * Execution-Binding attempt has a database backstop. Retry receives a new\n * key and Task; this field is never rewritten in place.\n */\n continuityAttemptKey: z\n .string()\n .min(1)\n .isUnique({\n compoundWith: 'wildoApplicationId',\n sparse: true,\n })\n .excludeFromUpdate()\n .optional(),\n title: z.string().min(1).isSummaryField(),\n status: z.enum(FlowsActors_Status).isDBIndexed().isSummaryField(),\n updatedAt: z.string().refine((val) => !isNaN(Date.parse(val)), { error: 'Invalid datetime string' }).isDBIndexed(),\n});\nexport type Wildo_Application_Actor_Task = z.infer<typeof Wildo_Application_Actor_Task_Schema>;\n"]}
1
+ {"version":3,"file":"wildo-application-tasks.custom.shared.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAErB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,kBAAkB,CAAC,MAAM,CAAC;IAC3E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE;IACtD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE;IAC5F,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE;IAChG,sCAAsC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE;IAC1F;;;;;;;;OAQG;IACH,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC;QACR,YAAY,EAAE,oBAAoB;QAClC,MAAM,EAAE,IAAI;KACb,CAAC;SACD,iBAAiB,EAAE;SACnB,QAAQ,EAAE;IACb;;;;;;;;;;;OAWG;IACH,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE;IACtF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IACjE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC,WAAW,EAAE;CACnH,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n Actors_Task_Schema,\n FlowsActors_Status,\n} from '@wildo-ai/saas-models';\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\n\ninitZodDecorators(z);\n\n/**\n * Actor-flow tasks are persisted as first-class platform records because task\n * content evolves independently of one execution snapshot. The execution link is\n * optional/updateable so tasks can outlive a specific run while still being\n * queryable from the current actor-system follow-up record.\n */\nexport const Wildo_Application_Actor_Task_Schema = Actors_Task_Schema.extend({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n organizationId: z.string().isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n wildoApplicationId: z.string().isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n wildoApplicationActorSystemExecutionId: z.string().isDBIndexed().isForeignKey().optional(),\n /**\n * Server-managed physical-attempt identity for continuity-bound Tasks.\n *\n * `compoundWith` produces the required sparse unique\n * `(wildoApplicationId, continuityAttemptKey)` index: legacy/unbound Tasks\n * remain outside the index, while concurrent creation of one exact\n * Execution-Binding attempt has a database backstop. Retry receives a new\n * key and Task; this field is never rewritten in place.\n */\n continuityAttemptKey: z\n .string()\n .min(1)\n .isUnique({\n compoundWith: 'wildoApplicationId',\n sparse: true,\n })\n .excludeFromUpdate()\n .optional(),\n /**\n * The CROSS-PLANE join (creation board, Phase 4 R5): the workbench build-plan DISPATCH row this\n * task executes, as its SANITIZED identity (`sanitizeWorkbenchCreationPlaneIdentity(taskRef)` —\n * task refs are URL-safe by their own regex, so this is currently the ref verbatim).\n *\n * OPTIONAL twice over: only coding/generation dispatches carry a build-plan task (flow-driven\n * actor tasks have none), and rows written before 2026-09-01 predate the field — the workbench\n * declares the REFERENCE edge dangling-tolerant for exactly that population. The edge itself is\n * declared WORKBENCH-SIDE only: this config is also registered by `platform-apps-manager`, where\n * no `workbenchBuildPlanTasks` resource exists, and there the field is inert data rather than a\n * dangling relationship.\n */\n workbenchBuildPlanTaskId: z.string().min(1).isForeignKey().isSummaryField().optional(),\n title: z.string().min(1).isSummaryField(),\n status: z.enum(FlowsActors_Status).isDBIndexed().isSummaryField(),\n updatedAt: z.string().refine((val) => !isNaN(Date.parse(val)), { error: 'Invalid datetime string' }).isDBIndexed(),\n});\nexport type Wildo_Application_Actor_Task = z.infer<typeof Wildo_Application_Actor_Task_Schema>;\n"]}
@@ -0,0 +1,100 @@
1
+ import { CoreResourceOperation, ResourceRelationship } from '@wildo-ai/saas-models';
2
+ import { z } from 'zod';
3
+ import { WorkbenchShared_ResourceType } from './workbench-resources-types.custom.shared.schemas';
4
+ /**
5
+ * FAMILY ASPECT RESOURCES — the spine's schema-agnostic transcription of
6
+ * `FAMILY_ASPECTS_REGISTRY` (`@wildo-ai/saas-specifications`, `_core/family-aspects.*`).
7
+ *
8
+ * ## The split, restated where it is enforced
9
+ *
10
+ * The registry is AUTHORITATIVE: item schemas, business keys, edges, all declared beside the
11
+ * `_core` family schemas (decided 2026-09-01). The spine cannot import it — platform-core-shared
12
+ * deliberately never depends on saas-specifications — so this module carries plain DATA: which
13
+ * aspects exist, which envelope fields carry references, and which resource each reference
14
+ * resolves to. A companion-side parity test holds this table to the registry; drift between the
15
+ * two is a failing test, never a silent divergence.
16
+ *
17
+ * ## The envelope
18
+ *
19
+ * Aspect rows share ONE envelope shape (identity, family backlink, headline, the full item as a
20
+ * raw record) plus the aspect's own FLATTENED reference fields. Flattening is the projection's
21
+ * job and is what makes every edge a PLAIN foreign key the engine already resolves:
22
+ *
23
+ * - weighted edge objects flatten to key arrays (`jobs[].jobRef` → `jobIds`),
24
+ * - multi-target fields split per target (`deliversRequirementRefs` →
25
+ * `deliversFunctionalRequirementIds` + `deliversNonFunctionalRequirementIds`), because the
26
+ * frontend resolves an FK field name to ONE resource — a mixed-kind array has no honest single
27
+ * answer, and split fields read better anyway,
28
+ * - every field name below maps to exactly one target across ALL aspects (collision-audited at
29
+ * generation; the parity test re-checks it).
30
+ *
31
+ * The `family` field is the artifact BACKLINK for free: it is the specification-artifacts
32
+ * resource's own field identifier, so the global field-identifier map already resolves it.
33
+ */
34
+ /**
35
+ * How an aspect row gets its identity — mirrors the registry's `businessKey` contract.
36
+ *
37
+ * The three are not interchangeable and the fallback order between them is the point: a collection
38
+ * whose schema declares a single-field key is addressed by it, a singleton has one row per family so
39
+ * the aspect key IS the identity, and a keyless collection falls back to a positional address that is
40
+ * stable per landed snapshot and honest about carrying no business meaning.
41
+ */
42
+ export declare enum WorkbenchAspectIdentityKind {
43
+ /** The item's own business key (`ref`, `taskRef`, …), unique within the aspect. */
44
+ BUSINESS_KEY = "business-key",
45
+ /** One row per family — identity is the aspect key itself. */
46
+ SINGLETON = "singleton",
47
+ /** Keyless collection (locale × jurisdictions): `<aspectKey>[<index>]`, stable per snapshot. */
48
+ INDEXED = "indexed"
49
+ }
50
+ export interface WorkbenchAspectEdgeDescriptor {
51
+ /** Envelope field carrying the reference key(s) — post-flatten, post-split. */
52
+ readonly field: string;
53
+ /** The registry aspect key the reference resolves to. */
54
+ readonly targetAspectKey: string;
55
+ /** `true` = key array; `false` = single key. */
56
+ readonly many: boolean;
57
+ }
58
+ export interface WorkbenchAspectDescriptor {
59
+ /** The registry aspect key (`market.icp`) — the parity test's join column. */
60
+ readonly aspectKey: string;
61
+ readonly resourceType: WorkbenchShared_ResourceType;
62
+ /** The introspection payload member this resource reads its rows from. */
63
+ readonly rowsPath: string;
64
+ readonly identity: WorkbenchAspectIdentityKind;
65
+ readonly edges: readonly WorkbenchAspectEdgeDescriptor[];
66
+ }
67
+ export declare const WORKBENCH_ASPECT_DESCRIPTORS: readonly WorkbenchAspectDescriptor[];
68
+ export declare function getWorkbenchAspectDescriptor(aspectKey: string): WorkbenchAspectDescriptor | undefined;
69
+ /**
70
+ * The shared envelope, instantiated per aspect with its identity field and reference fields.
71
+ *
72
+ * `content` stays a RAW record for the same reason the artifact resource's does: the spine never
73
+ * sees the item schemas; the workbench frontend renders `content` through the REAL `_core` schema
74
+ * from the registry, so typed rendering happens where the type authority is a dependency.
75
+ */
76
+ export declare function buildWorkbenchAspectEnvelopeSchema(descriptor: WorkbenchAspectDescriptor): z.ZodObject<z.ZodRawShape>;
77
+ type WorkbenchAspect_CoreOperations = CoreResourceOperation.READ | CoreResourceOperation.LIST;
78
+ /**
79
+ * One introspection resource-configuration factory per aspect, all from the same mold as their
80
+ * two siblings: READ/LIST only, `APPLICATION_STRUCTURE` tenancy, rows served by the companion's
81
+ * family-aspects behavior at this aspect's `rowsPath`. Identity is always the COMPOSED field the
82
+ * projection emits (see the identifier-map note in the types module).
83
+ */
84
+ export declare function buildWorkbenchAspectConfigurationFactory(descriptor: WorkbenchAspectDescriptor): (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<undefined, WorkbenchAspect_CoreOperations, z.ZodObject<Readonly<{
85
+ [k: string]: z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
86
+ }>, z.core.$strip>>;
87
+ /**
88
+ * Every aspect's relationships:
89
+ *
90
+ * - the STANDALONE application anchor each INTROSPECTION resource needs (primary scope derives
91
+ * from it; STANDALONE keeps the route flat — the established pattern of its two siblings), and
92
+ * - one REFERENCE relationship per edge, carrying `foreignKeyField`: that is what teaches the
93
+ * frontend's field-identifier map to resolve the envelope field to its target resource, which
94
+ * is the entire navigation story (labels, popups, links) with no bespoke lookup anywhere.
95
+ */
96
+ export declare function buildWorkbenchAspectRelationships(): ResourceRelationship[];
97
+ /** The factory-map slice for all aspect resources — merged into the workbench map by its owner. */
98
+ export declare const workbenchAspectResources_ConfigurationsFactoryMap: Record<string, ReturnType<typeof buildWorkbenchAspectConfigurationFactory>>;
99
+ export {};
100
+ //# sourceMappingURL=workbench-aspect-resources.custom.shared.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workbench-aspect-resources.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/workbench/workbench-aspect-resources.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAMrB,oBAAoB,EAKrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAEL,4BAA4B,EAC7B,MAAM,mDAAmD,CAAC;AAM3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;;;GAOG;AACH,oBAAY,2BAA2B;IACrC,mFAAmF;IACnF,YAAY,iBAAiB;IAC7B,8DAA8D;IAC9D,SAAS,cAAc;IACvB,gGAAgG;IAChG,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,6BAA6B;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yDAAyD;IACzD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,6BAA6B,EAAE,CAAC;CAC1D;AAED,eAAO,MAAM,4BAA4B,EAAE,SAAS,yBAAyB,EAuX5E,CAAC;AAMF,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS,CAErG;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,yBAAyB,GACpC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAuC5B;AAED,KAAK,8BAA8B,GAAG,qBAAqB,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;AAE9F;;;;;GAKG;AACH,wBAAgB,wCAAwC,CAAC,UAAU,EAAE,yBAAyB,IAEpF,wBAAwB,oBAAoB,EAAE;;oBA6BvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,IAAI,oBAAoB,EAAE,CA8D1E;AAED,mGAAmG;AACnG,eAAO,MAAM,iDAAiD,EAAE,MAAM,CACpE,MAAM,EACN,UAAU,CAAC,OAAO,wCAAwC,CAAC,CAM5D,CAAC"}