@wildo-ai/platform-core-shared 1.1.5 → 1.1.7
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/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/runtime/application-backend-env.contracts.d.ts +21 -2
- package/dist/esm/runtime/application-backend-env.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/application-backend-env.contracts.js +21 -0
- package/dist/esm/runtime/application-backend-env.contracts.js.map +1 -1
- package/dist/esm/runtime/application-worker-env.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/application-worker-env.contracts.js.map +1 -1
- package/dist/esm/runtime/http-server-env.contracts.d.ts +46 -0
- package/dist/esm/runtime/http-server-env.contracts.d.ts.map +1 -0
- package/dist/esm/runtime/http-server-env.contracts.js +55 -0
- package/dist/esm/runtime/http-server-env.contracts.js.map +1 -0
- package/dist/esm/runtime/runtime-topology.contracts.d.ts +0 -4
- package/dist/esm/runtime/runtime-topology.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/runtime-topology.contracts.js +0 -12
- 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 +106 -4
- 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.map +1 -1
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts +106 -4
- 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 +15 -0
- 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.map +1 -1
- package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +15 -0
- 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.map +1 -1
- 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 +7 -5
- 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 +7 -5
- 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.map +1 -1
- package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.js.map +1 -1
- 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 +23 -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 +279 -0
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts.map +1 -0
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js +303 -0
- package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js.map +1 -0
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts +97 -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 +86 -0
- 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 +88 -5
- 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 +89 -7
- 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 +230 -13
- 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 +377 -16
- 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 +6 -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 +8 -0
- 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 +45 -2
- 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 +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 +16 -2
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +25 -2
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -4
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts +0 -0
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts.map +0 -0
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js.map +0 -0
|
@@ -19,6 +19,13 @@ export declare const wildoApplicationActorTasks_ResourceConfiguration_Initializa
|
|
|
19
19
|
consumableTokenId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
20
20
|
webhookProviderId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
21
21
|
anonymousUserId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
22
|
+
inboundDeliveryId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
23
|
+
inboundHandlerRef: import("zod").ZodOptional<import("zod").ZodString>;
|
|
24
|
+
inboundScopeUserId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
25
|
+
inboundSender: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
26
|
+
channel: import("zod").ZodEnum<typeof import("@wildo-ai/saas-models").InboundChannelKind>;
|
|
27
|
+
assurance: import("zod").ZodEnum<typeof import("@wildo-ai/saas-models").InboundSenderAssurance>;
|
|
28
|
+
}, import("zod/v4/core").$strict>>;
|
|
22
29
|
}, import("zod/v4/core").$strip>;
|
|
23
30
|
relationships: import("zod").ZodArray<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
24
31
|
kind: import("zod").ZodLiteral<import("@wildo-ai/saas-models").FlowsActors_ElementKind.FLOW>;
|
|
@@ -259,12 +266,20 @@ export declare const wildoApplicationActorTasks_ResourceConfiguration_Initializa
|
|
|
259
266
|
consumableTokenId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
260
267
|
webhookProviderId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
261
268
|
anonymousUserId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
269
|
+
inboundDeliveryId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
270
|
+
inboundHandlerRef: import("zod").ZodOptional<import("zod").ZodString>;
|
|
271
|
+
inboundScopeUserId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
272
|
+
inboundSender: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
273
|
+
channel: import("zod").ZodEnum<typeof import("@wildo-ai/saas-models").InboundChannelKind>;
|
|
274
|
+
assurance: import("zod").ZodEnum<typeof import("@wildo-ai/saas-models").InboundSenderAssurance>;
|
|
275
|
+
}, import("zod/v4/core").$strict>>;
|
|
262
276
|
}, import("zod/v4/core").$strip>>>;
|
|
263
277
|
executionType: import("zod").ZodOptional<import("zod").ZodEnum<typeof import("@wildo-ai/saas-models").ExecutionContext_ExecutionType>>;
|
|
264
278
|
userGuidance: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
265
279
|
guidanceKey: import("zod").ZodOptional<import("zod").ZodString>;
|
|
266
280
|
explanation: import("zod").ZodOptional<import("zod").ZodString>;
|
|
267
281
|
resolution: import("zod").ZodOptional<import("zod").ZodString>;
|
|
282
|
+
params: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodNumber]>>>;
|
|
268
283
|
completedSteps: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
269
284
|
nextAction: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
270
285
|
label: import("zod").ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-application-tasks.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-application-tasks.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["
|
|
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"]}
|
|
@@ -20,6 +20,13 @@ export declare const Wildo_Application_Actor_Task_Schema: z.ZodObject<{
|
|
|
20
20
|
consumableTokenId: z.ZodOptional<z.ZodString>;
|
|
21
21
|
webhookProviderId: z.ZodOptional<z.ZodString>;
|
|
22
22
|
anonymousUserId: z.ZodOptional<z.ZodString>;
|
|
23
|
+
inboundDeliveryId: z.ZodOptional<z.ZodString>;
|
|
24
|
+
inboundHandlerRef: z.ZodOptional<z.ZodString>;
|
|
25
|
+
inboundScopeUserId: z.ZodOptional<z.ZodString>;
|
|
26
|
+
inboundSender: z.ZodOptional<z.ZodObject<{
|
|
27
|
+
channel: z.ZodEnum<typeof import("@wildo-ai/saas-models").InboundChannelKind>;
|
|
28
|
+
assurance: z.ZodEnum<typeof import("@wildo-ai/saas-models").InboundSenderAssurance>;
|
|
29
|
+
}, z.core.$strict>>;
|
|
23
30
|
}, z.core.$strip>;
|
|
24
31
|
relationships: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
25
32
|
kind: z.ZodLiteral<import("@wildo-ai/saas-models").FlowsActors_ElementKind.FLOW>;
|
|
@@ -260,12 +267,20 @@ export declare const Wildo_Application_Actor_Task_Schema: z.ZodObject<{
|
|
|
260
267
|
consumableTokenId: z.ZodOptional<z.ZodString>;
|
|
261
268
|
webhookProviderId: z.ZodOptional<z.ZodString>;
|
|
262
269
|
anonymousUserId: z.ZodOptional<z.ZodString>;
|
|
270
|
+
inboundDeliveryId: z.ZodOptional<z.ZodString>;
|
|
271
|
+
inboundHandlerRef: z.ZodOptional<z.ZodString>;
|
|
272
|
+
inboundScopeUserId: z.ZodOptional<z.ZodString>;
|
|
273
|
+
inboundSender: z.ZodOptional<z.ZodObject<{
|
|
274
|
+
channel: z.ZodEnum<typeof import("@wildo-ai/saas-models").InboundChannelKind>;
|
|
275
|
+
assurance: z.ZodEnum<typeof import("@wildo-ai/saas-models").InboundSenderAssurance>;
|
|
276
|
+
}, z.core.$strict>>;
|
|
263
277
|
}, z.core.$strip>>>;
|
|
264
278
|
executionType: z.ZodOptional<z.ZodEnum<typeof import("@wildo-ai/saas-models").ExecutionContext_ExecutionType>>;
|
|
265
279
|
userGuidance: z.ZodOptional<z.ZodObject<{
|
|
266
280
|
guidanceKey: z.ZodOptional<z.ZodString>;
|
|
267
281
|
explanation: z.ZodOptional<z.ZodString>;
|
|
268
282
|
resolution: z.ZodOptional<z.ZodString>;
|
|
283
|
+
params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
269
284
|
completedSteps: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
270
285
|
nextAction: z.ZodOptional<z.ZodObject<{
|
|
271
286
|
label: z.ZodString;
|
package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-application-tasks.custom.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqC9C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAC"}
|
package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-application-tasks.custom.shared.schemas.js","sourceRoot":"","sources":["
|
|
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;;;;;;;;;;;OAWG;IACH;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE;IACzC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IAClG,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 * `continuityAttemptKey` was here until 2026-09-19 (#1337), described as the \"server-managed\n * physical-attempt identity for continuity-bound Tasks\" and carrying a sparse unique\n * `(wildoApplicationId, continuityAttemptKey)` index as a database backstop against concurrent\n * creation of one Execution-Binding attempt.\n *\n * Execution bindings were demolished on 2026-08-23, and the field was measured to have ZERO\n * writers anywhere — so every application was materializing a unique index, on every actor-task\n * table, for a column that is always null, and the workbench rendered an always-empty field as a\n * machine identity. Removed with its index, its UI field, its label, its interface member and\n * the test that pinned the index shape.\n */\n /*\n * `workbenchBuildPlanTaskId` was here until 2026-09-20 (#1348) — a foreign key from the GENERIC\n * platform actor-task row into an app-creation workbench resource, and the last app-creation\n * field on this row.\n *\n * It is not folded away, it is MOVED: the association now travels in the engine's own\n * `Actors_Task_Context.correlation` envelope as\n * `{ domain: 'application-creation', refs: { buildPlanTaskRef } }`, which is durable on this same\n * row and says nothing about what a build-plan task is. The traversable edge moved with it, to\n * the plane that owns the vocabulary: `Workbench_BuildDispatch.codingTaskId` already pointed at\n * this row and is now a DECLARED relationship.\n *\n * What that cost, recorded because it was the objection to folding: this row no longer renders\n * the build-plan task as a summary field, and no longer declares the edge from its own side.\n * Nothing queried the column — measured across the companion before removing it — so the loss is\n * a rendered field on the generic row, which is the thing that should not have been here.\n */\n title: z.string().min(1).isSummaryField(),\n status: z.enum(FlowsActors_Status).systemEnum('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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../src/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6BH,eAAO,MAAM,6DAA6D,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAkJ9F,CAAC"}
|
package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Billable Items Shared Resource Configuration\n * \n * Resource configuration for managing invoice line items and billable entries.\n * Handles creation, updates, and management of billable items across invoices.\n */\n\nimport { z } from 'zod';\n\n\nimport { coreResourceShared_FieldIdentifier, CoreResourceOperation, CoreResourceType, ResourceRelationship, CORE_APP_ROLES, ResourceSystemAccessMode } from '@wildo-ai/saas-models';\nimport { ResourcePrimaryScope, ResourceOperationVariantType, ResourceOperationRiskLevel } from '@wildo-ai/saas-models';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '@wildo-ai/saas-models';\nimport { createResourceConfiguration_Initialization } from '@wildo-ai/saas-models';\nimport { CORE_ORG_ROLES } from '@wildo-ai/saas-models';\n\n\nimport {\n CustomShared_ResourceType,\n CustomShared_ResourceFieldIdentifier\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport { Wildo_Application_Schema } from './wildo-applications.custom.shared.schemas';\n\n\nconst WildoApplications_Operations = undefined; \n\ntype WildoApplications_CoreOperations = \n | CoreResourceOperation.READ \n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.UPDATE\n | CoreResourceOperation.DELETE;\n\nexport const wildoApplications_ResourceConfiguration_InitializationFactory: (...args: any[]) => any = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplications_Operations,\n WildoApplications_CoreOperations,\n typeof Wildo_Application_Schema\n>({\n mainSchema: Wildo_Application_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION,\n /**\n * A subject export never includes this row: it is a managed application's platform record (slug, status, topology) — infrastructure identity, no person.\n *\n * Answered explicitly because the privacy gate at boot asks every resource whether its rows\n * are about people. The unauthored default is already FORBIDDEN; writing it down is what turns\n * \"nobody asked\" into \"no\". Not `retentionPolicy: RETAIN_ONLY`, although it is the same claim:\n * that opt-in injects the `retentionStatus` / `impersonalizedAt` marker columns and demands the\n * retention write door (UPDATE_MANY) on a resource no erasure walk can reach — there is no\n * USERS edge — which is schema and surface for a path that never runs.\n */\n systemAccessPolicy: { exportSubject: ResourceSystemAccessMode.FORBIDDEN },\n /**\n * BOOTSTRAP-STORE pin RETIRED 2026-08-22 (item C). This resource now follows the platform's\n * configured engine like every other platform resource, instead of declaring MONGODB.\n *\n * The pin existed because this document was WRITTEN by a Mongo-wired plane an adapter override\n * could never redirect, so a PG-engined platform would READ it from PostgreSQL while the\n * bootstrap plane kept WRITING it to MongoDB. Its own contract named the two conditions that\n * would free it, and BOTH are now met — verified rather than assumed:\n *\n * 1. **The infra-manager's raw writers are ported.** `pnpm check:platform-bootstrap-raw-store`\n * inspects 49 files and reports no undeclared raw-driver access; its `--self-test` passes 14\n * cases, so the clean result is the checker working rather than a checker matching nothing.\n * The 8 remaining DECLARED exemptions all sit in the bootstrap seed, and they write\n * `organizations` and `applications` — neither of which is one of these six — through arms\n * that are already adapter-aware.\n * 2. **INIT's repository plane resolves the platform engine.** Phase 2.5\n * (`initializePlatformPostgresIfDeclared`, which calls\n * `setPlatformModeDefaultPersistenceAdapter`) runs BEFORE Phase 2.6 builds the registries —\n * an ordering the file marks as the one constraint that cannot be relaxed.\n *\n * Retired for all SIX declarations in one change, as the pin instructed (\"Never migrate one\n * declaration on its own\"): a partial retirement is precisely the split-brain the pin prevented.\n * `bootstrap-plane-persistence-adapter.test.ts` now asserts the inverse — that none of the six\n * declares an adapter — so re-pinning any single one fails the suite.\n *\n * NOTE the data consequence, which the pin never covered: flipping the engine does not MOVE\n * existing rows. A platform whose documents live in MongoDB must have them re-provisioned (or\n * migrated) into PostgreSQL, or it reads empty tables. See item G.\n */\n resourceFieldIdentifier: CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n \n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.UPDATE,\n CoreResourceOperation.DELETE\n ],\n \n customOperation: WildoApplications_Operations,\n \n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n \n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n \n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['appSlug', 'organizationId'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: {\n organizationId: z.string(),\n },\n sortFields: ['appSlug', 'organizationId', 'createdAt', 'updatedAt'] as const,\n maxPaginatedResultPerPageLimit: 100,\n }\n ],\n },\n \n [CoreResourceOperation.UPDATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MANAGER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n // requestDto auto-derived from decorators\n }\n ]\n },\n \n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n },\n // responseSummaryDto auto-derived from isSummaryField decorators\n}); "]}
|
|
1
|
+
{"version":3,"file":"wildo-applications.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../src/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Billable Items Shared Resource Configuration\n * \n * Resource configuration for managing invoice line items and billable entries.\n * Handles creation, updates, and management of billable items across invoices.\n */\n\nimport { z } from 'zod';\n\n\nimport { coreResourceShared_FieldIdentifier, CoreResourceOperation, CoreResourceType, ResourceRelationship, CORE_APP_ROLES, ResourceSystemAccessMode } from '@wildo-ai/saas-models';\nimport { ResourcePrimaryScope, ResourceOperationVariantType, ResourceOperationRiskLevel } from '@wildo-ai/saas-models';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '@wildo-ai/saas-models';\nimport { createResourceConfiguration_Initialization } from '@wildo-ai/saas-models';\nimport { CORE_ORG_ROLES } from '@wildo-ai/saas-models';\n\n\nimport {\n CustomShared_ResourceType,\n CustomShared_ResourceFieldIdentifier\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport { Wildo_Application_Schema } from './wildo-applications.custom.shared.schemas';\n\n\nconst WildoApplications_Operations = undefined; \n\ntype WildoApplications_CoreOperations = \n | CoreResourceOperation.READ \n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.UPDATE\n | CoreResourceOperation.DELETE;\n\nexport const wildoApplications_ResourceConfiguration_InitializationFactory: (...args: any[]) => any = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplications_Operations,\n WildoApplications_CoreOperations,\n typeof Wildo_Application_Schema\n>({\n mainSchema: Wildo_Application_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION,\n /**\n * A subject export never includes this row: it is a managed application's platform record (slug, status, topology) — infrastructure identity, no person.\n *\n * Answered explicitly because the privacy gate at boot asks every resource whether its rows\n * are about people. The unauthored default is already FORBIDDEN; writing it down is what turns\n * \"nobody asked\" into \"no\". Not `retentionPolicy: RETAIN_ONLY`, although it is the same claim:\n * that opt-in injects the `retentionStatus` / `impersonalizedAt` marker columns and demands the\n * retention write door (UPDATE_MANY) on a resource no erasure walk can reach — there is no\n * USERS edge — which is schema and surface for a path that never runs.\n */\n systemAccessPolicy: { exportSubject: ResourceSystemAccessMode.FORBIDDEN },\n /**\n * BOOTSTRAP-STORE pin RETIRED 2026-08-22 (item C). This resource now follows the platform's\n * configured engine like every other platform resource, instead of declaring MONGODB.\n *\n * The pin existed because this document was WRITTEN by a Mongo-wired plane an adapter override\n * could never redirect, so a PG-engined platform would READ it from PostgreSQL while the\n * bootstrap plane kept WRITING it to MongoDB. Its own contract named the two conditions that\n * would free it, and BOTH are now met — verified rather than assumed:\n *\n * 1. **The infra-manager's raw writers are ported.** `pnpm check:platform-bootstrap-raw-store`\n * inspects 49 files and reports no undeclared raw-driver access; its `--self-test` passes 14\n * cases, so the clean result is the checker working rather than a checker matching nothing.\n * The 8 remaining DECLARED exemptions all sit in the bootstrap seed, and they write\n * `organizations` and `applications` — neither of which is one of these six — through arms\n * that are already adapter-aware.\n * 2. **INIT's repository plane resolves the platform engine.** Phase 2.5\n * (`initializePlatformPostgresIfDeclared`, which calls\n * `setPlatformModeDefaultPersistenceAdapter`) runs BEFORE Phase 2.6 builds the registries —\n * an ordering the file marks as the one constraint that cannot be relaxed.\n *\n * Retired for all SIX declarations in one change, as the pin instructed (\"Never migrate one\n * declaration on its own\"): a partial retirement is precisely the split-brain the pin prevented.\n * `bootstrap-plane-persistence-adapter.test.ts` now asserts the inverse — that none of the six\n * declares an adapter — so re-pinning any single one fails the suite.\n *\n * NOTE the data consequence, which the pin never covered: flipping the engine does not MOVE\n * existing rows. A platform whose documents live in MongoDB must have them re-provisioned (or\n * migrated) into PostgreSQL, or it reads empty tables. See item G.\n */\n resourceFieldIdentifier: CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n \n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.UPDATE,\n CoreResourceOperation.DELETE\n ],\n \n customOperation: WildoApplications_Operations,\n \n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n \n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n \n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['appSlug', 'organizationId'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: {\n organizationId: z.string(),\n },\n sortFields: ['appSlug', 'organizationId', 'createdAt', 'updatedAt'] as const,\n maxPaginatedResultPerPageLimit: 100,\n }\n ],\n },\n \n [CoreResourceOperation.UPDATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MANAGER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n // requestDto auto-derived from decorators\n }\n ]\n },\n \n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n },\n // responseSummaryDto auto-derived from isSummaryField decorators\n}); "]}
|
|
@@ -28,11 +28,13 @@ export declare enum WildoApplicationStatus {
|
|
|
28
28
|
/** Scheduled, served, and re-registerable. The default and the state every application is created in. */
|
|
29
29
|
ACTIVE = "ACTIVE",
|
|
30
30
|
/**
|
|
31
|
-
* Withdrawn: the platform no longer schedules it,
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
31
|
+
* Withdrawn: the platform no longer schedules it, its slug is refused for re-registration until it
|
|
32
|
+
* is restored, and every credential minted for it is REVOKED (#1307) — no routine sync re-mints one
|
|
33
|
+
* while this status holds. **Nothing of its data is touched** — its database, broker vhost, cache
|
|
34
|
+
* namespace and blobs are exactly as they were. `restore` returns it to
|
|
35
|
+
* {@link WildoApplicationStatus.ACTIVE}, re-mints its credentials with their recorded values, and the
|
|
36
|
+
* next boot re-establishes its cron schedule from its own code, because that schedule is DERIVED
|
|
37
|
+
* rather than stored authority.
|
|
36
38
|
*/
|
|
37
39
|
DEREGISTERED = "DEREGISTERED"
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications.custom.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/wildo-applications/wildo-applications.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;;;;;;;;;;GAYG;AACH,oBAAY,sBAAsB;IAChC,yGAAyG;IACzG,MAAM,WAAW;IAEjB;;;;;;;;OAQG;IACH,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBA0EnC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
|
|
@@ -33,11 +33,13 @@ export var WildoApplicationStatus;
|
|
|
33
33
|
/** Scheduled, served, and re-registerable. The default and the state every application is created in. */
|
|
34
34
|
WildoApplicationStatus["ACTIVE"] = "ACTIVE";
|
|
35
35
|
/**
|
|
36
|
-
* Withdrawn: the platform no longer schedules it,
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
36
|
+
* Withdrawn: the platform no longer schedules it, its slug is refused for re-registration until it
|
|
37
|
+
* is restored, and every credential minted for it is REVOKED (#1307) — no routine sync re-mints one
|
|
38
|
+
* while this status holds. **Nothing of its data is touched** — its database, broker vhost, cache
|
|
39
|
+
* namespace and blobs are exactly as they were. `restore` returns it to
|
|
40
|
+
* {@link WildoApplicationStatus.ACTIVE}, re-mints its credentials with their recorded values, and the
|
|
41
|
+
* next boot re-establishes its cron schedule from its own code, because that schedule is DERIVED
|
|
42
|
+
* rather than stored authority.
|
|
41
43
|
*/
|
|
42
44
|
WildoApplicationStatus["DEREGISTERED"] = "DEREGISTERED";
|
|
43
45
|
})(WildoApplicationStatus || (WildoApplicationStatus = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications.custom.shared.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications.custom.shared.schemas.js","sourceRoot":"","sources":["../../../src/wildo-applications/wildo-applications.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAErB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,sBAcX;AAdD,WAAY,sBAAsB;IAChC,yGAAyG;IACzG,2CAAiB,CAAA;IAEjB;;;;;;;;OAQG;IACH,uDAA6B,CAAA;AAC/B,CAAC,EAdW,sBAAsB,KAAtB,sBAAsB,QAcjC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE;IAC9D;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,WAAW,EAAE;SACb,QAAQ,CAAC,EAAE,wBAAwB,EAAE,2BAA2B,CAAC,uBAAuB,EAAE,CAAC;SAC3F,cAAc,EAAE;SAChB,iBAAiB,EAAE;IACtB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE;IAC5F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;IAC1E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;IAE7B;;;;;;;;;;OAUG;IACH,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC;SACnC,UAAU,CAAC,wBAAwB,CAAC;SACpC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC;SACtC,WAAW,EAAE;SACb,cAAc,EAAE;SAChB,iBAAiB,EAAE;SACnB,iBAAiB,EAAE;IAEtB;;;;;;;;;;OAUG;IACH,cAAc,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE;IAEnG,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;IACpH,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;CACpG,CAAC,CAAC","sourcesContent":["/**\n * Wildo Application Schema\n * \n * Represents an application being built in the app-factory (wildo-ai).\n * Each WildoApplication is a custom SaaS application being designed\n * through the WAML metalanguage and UI.\n * \n * APP-FACTORY-SPECIFIC: Fields like `appSlug`, `gitRepositoryPath` are\n * specific to the app-factory paradigm. This is NOT a runtime concept —\n * regular apps don't have a parent \"WildoApplication\" resource.\n * All WAML resources reference wildoApplicationId as their parent.\n */\n\nimport { z } from 'zod';\nimport { ErrorCustomMessageReference } from '@wildo-ai/saas-models';\n\n// Initialize Zod decorators early (lazy init will also happen on first use)\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\ninitZodDecorators(z);\n\n/**\n * Whether the platform still schedules and serves this application (#1556).\n *\n * TWO members, and the pair is the whole point: an application is either live, or it has been\n * WITHDRAWN without anything of its being destroyed. There is deliberately no member meaning\n * \"destroyed\" — destruction is #1562 and is parked, so nothing in this vocabulary may be read as\n * authorising it.\n *\n * The shape is the one `Organization` already uses for a marked tenant — *authorization-dead and\n * data-alive* — one level up. That is not a coincidence to be tidied away later: a tenant and an\n * application are both things an operator must be able to take out of service without losing what\n * they contain, and the two should keep answering that question the same way.\n */\nexport enum WildoApplicationStatus {\n /** Scheduled, served, and re-registerable. The default and the state every application is created in. */\n ACTIVE = 'ACTIVE',\n\n /**\n * Withdrawn: the platform no longer schedules it, its slug is refused for re-registration until it\n * is restored, and every credential minted for it is REVOKED (#1307) — no routine sync re-mints one\n * while this status holds. **Nothing of its data is touched** — its database, broker vhost, cache\n * namespace and blobs are exactly as they were. `restore` returns it to\n * {@link WildoApplicationStatus.ACTIVE}, re-mints its credentials with their recorded values, and the\n * next boot re-establishes its cron schedule from its own code, because that schedule is DERIVED\n * rather than stored authority.\n */\n DEREGISTERED = 'DEREGISTERED',\n}\n\nexport const Wildo_Application_Schema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n appId: z.string().optional().isDBIndexed().excludeFromUpdate(),\n /**\n * The application's URL-safe identity — UNIQUE ACROSS THE PLATFORM.\n *\n * Uniqueness is global and deliberately NOT compounded with `organizationId`, even though this\n * resource is organization-scoped. The slug is the sole input, alongside the environment id, from\n * which every provisioned backing resource takes its name:\n * `buildApplicationNamespace(appSlug, environmentId)` carries NO organization component, and the\n * application database, the database username and the RabbitMQ vhost are all derived from it. Two\n * applications sharing a slug in different organizations would be handed the same database and the\n * same vhost, so a per-organization constraint would permit precisely the collision that matters.\n *\n * ## Why this was added (2026-08-19)\n *\n * `appSlug` was indexed but not unique, so two live `wonder-todos` rows coexisted here — one from\n * 2026-08-11 and one minted during a boot on 2026-08-19. `initializeWildoApplication` upserts with\n * lookup `{ appSlug }`, but the repository applies this resource's contextual PRIMARY-SCOPE filter;\n * once the platform organization was re-minted, that org-scoped lookup could no longer see the\n * existing row and INSERTED a second one instead of resolving the first.\n *\n * Nothing reported a duplicate. The orphaned lineage kept its 16 cron jobs, which went on\n * publishing into the queues of an application that was no longer live, and the only symptom was a\n * RabbitMQ `403 ACCESS_REFUSED` naming a queue nobody could explain. A unique index turns that\n * silent divergence into a refusal at the moment of insertion.\n *\n * `.excludeFromUpdate()` makes this creation-time identity rather than an editable label, which is\n * also why the collision must be refused rather than reconciled afterwards: a duplicate that got\n * written could not be resolved through the API at all.\n */\n appSlug: z.string()\n .isDBIndexed()\n .isUnique({ conflictMessageReference: ErrorCustomMessageReference.APPLICATION_SLUG_EXISTS })\n .isSummaryField()\n .excludeFromUpdate(),\n organizationId: z.string().isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n lastVersion: z.string().optional().excludeFromCreate().excludeFromUpdate(),\n gitRepositoryPath: z.string(),\n\n /**\n * Whether the platform still schedules and serves this application (#1556).\n *\n * Server-owned: written only by the deregister/restore lifecycle operations, never by a client\n * patch — the same posture `Organization.status` takes, and for the same reason. A field that any\n * UPDATE could set would let the withdrawal be performed by something that does not also withdraw\n * the cron schedule, which is the only part of a withdrawal that actually stops work happening.\n *\n * Defaulted rather than required so that every row written before this field existed reads as\n * {@link WildoApplicationStatus.ACTIVE}, which is what they are.\n */\n status: z.enum(WildoApplicationStatus)\n .systemEnum('WildoApplicationStatus')\n .default(WildoApplicationStatus.ACTIVE)\n .isDBIndexed()\n .isSummaryField()\n .excludeFromCreate()\n .excludeFromUpdate(),\n\n /**\n * When the application was withdrawn, or `null` while it is live.\n *\n * `.nullish()` because `restore` CLEARS it: a restored application is not \"deregistered a while\n * ago\", it is live, and a lingering timestamp would make every later reader decide for itself\n * which field wins. Existing rows legitimately have none.\n *\n * It is a record, not a deadline. There is no window here and nothing consumes it — an application\n * stays withdrawn until somebody restores it. The field that WOULD be a deadline\n * (`purgeScheduledAt`) belongs to #1562 and is deliberately absent.\n */\n deregisteredAt: z.date().nullish().isDBIndexed().excludeFromCreate().excludeFromUpdate().isHidden(),\n\n createdAt: z.date().default(() => new Date()).isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n updatedAt: z.date().default(() => new Date()).isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n});\nexport type Wildo_Application = z.infer<typeof Wildo_Application_Schema>;\n\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications-versions.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications-versions.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../src/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwBH,eAAO,MAAM,oEAAoE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAwErG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications-versions.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications-versions.custom.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../src/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAsC,qBAAqB,EAA0C,cAAc,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACpL,OAAO,EAAwB,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACvH,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAChG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EACL,yBAAyB,EACzB,oCAAoC,EACrC,MAAM,yDAAyD,CAAC;AACjE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAGvG,MAAM,mCAAmC,GAAG,SAAS,CAAC;AAOtD,MAAM,CAAC,MAAM,oEAAoE,GAA6B,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAI1M;IACA,UAAU,EAAE,gCAAgC;IAC5C,kBAAkB,EAAE,yBAAyB,CAAC,0BAA0B;IACxE;;;;;;;;;OASG;IACH,kBAAkB,EAAE,EAAE,aAAa,EAAE,wBAAwB,CAAC,SAAS,EAAE;IACzE,uBAAuB,EAAE,oCAAoC,CAAC,yBAAyB,CAAC,0BAA0B,CAAC;IACnH,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,KAAK;IAEvB,cAAc,EAAE;QACd,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;KAC7B;IAED,eAAe,EAAE,mCAAmC;IAEpD,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;oBAC7C,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,0CAA0C;iBAC3C;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,SAAS;oBAC5C,OAAO,EAAE,2BAA2B,CAAC,iBAAiB;iBACvD;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;oBAClC,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;oBAClC,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C;aACF;SACF;KACF;IACD,iEAAiE;CAClE,CAAC,CAAC","sourcesContent":["/**\n * Billable Items Shared Resource Configuration\n * \n * Resource configuration for managing invoice line items and billable entries.\n * Handles creation, updates, and management of billable items across invoices.\n */\n\nimport { z } from 'zod';\n\nimport { coreResourceShared_FieldIdentifier, CoreResourceOperation, CoreResourceType, ResourceRelationship, CORE_APP_ROLES, ResourceSystemAccessMode } from '@wildo-ai/saas-models';\nimport { ResourcePrimaryScope, ResourceOperationVariantType, ResourceOperationRiskLevel } from '@wildo-ai/saas-models';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '@wildo-ai/saas-models';\nimport { createResourceConfiguration_Initialization } from '@wildo-ai/saas-models';\nimport { CORE_ORG_ROLES } from '@wildo-ai/saas-models';\n\nimport {\n CustomShared_ResourceType,\n CustomShared_ResourceFieldIdentifier\n} from '../core/resources/resources-types.custom.shared.schemas';\nimport { Wildo_Application_Version_Schema } from './wildo-applications-versions.custom.shared.schemas';\n\n\nconst WildoApplicationVersions_Operations = undefined; \n\ntype WildoApplicationVersions_CoreOperations = \n | CoreResourceOperation.READ \n | CoreResourceOperation.LIST\n | CoreResourceOperation.CREATE\n\nexport const wildoApplicationVersions_ResourceConfiguration_InitializationFactory: (...args: any[]) => any = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof WildoApplicationVersions_Operations,\n WildoApplicationVersions_CoreOperations,\n typeof Wildo_Application_Version_Schema\n>({\n mainSchema: Wildo_Application_Version_Schema,\n resourceIdentifier: CustomShared_ResourceType.WILDO_APPLICATION_VERSIONS,\n /**\n * A subject export never includes this row: it is a managed application's version record — a software artifact, no person.\n *\n * Answered explicitly because the privacy gate at boot asks every resource whether its rows\n * are about people. The unauthored default is already FORBIDDEN; writing it down is what turns\n * \"nobody asked\" into \"no\". Not `retentionPolicy: RETAIN_ONLY`, although it is the same claim:\n * that opt-in injects the `retentionStatus` / `impersonalizedAt` marker columns and demands the\n * retention write door (UPDATE_MANY) on a resource no erasure walk can reach — there is no\n * USERS edge — which is schema and surface for a path that never runs.\n */\n systemAccessPolicy: { exportSubject: ResourceSystemAccessMode.FORBIDDEN },\n resourceFieldIdentifier: CustomShared_ResourceFieldIdentifier[CustomShared_ResourceType.WILDO_APPLICATION_VERSIONS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: false,\n \n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.CREATE,\n ],\n \n customOperation: WildoApplicationVersions_Operations,\n \n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n \n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n \n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n },\n // responseSummaryDto auto-derived from isSummaryField decorators\n}); "]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications-versions.custom.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications-versions.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,gCAAgC;;;;;;;;iBAQ3C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wildo-applications-versions.custom.shared.schemas.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"wildo-applications-versions.custom.shared.schemas.js","sourceRoot":"","sources":["../../../src/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAErB,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE;IACtD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE;IACvG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,EAAE,kBAAkB;IAC1F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IACpD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE;IACxD,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,cAAc,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;IAC1F,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,iBAAiB,EAAE,CAAC,iBAAiB,EAAE;CAC1E,CAAC,CAAC","sourcesContent":["/**\n * Wildo Application Version Schema\n * \n * Represents a version/snapshot of a WildoApplication.\n * Each version is linked to a git commit and can be deployed to environments.\n * \n * ═══════════════════════════════════════════════════════════════════════════\n * RATIONALE: Why this type is defined in wildo-ai-application, not engine\n * ═══════════════════════════════════════════════════════════════════════════\n * \n * 1. Wildo_Application_Version_Schema\n * - APP-FACTORY-SPECIFIC: Tracks versions of applications being built.\n * Regular runtime apps don't version themselves in this way.\n * - Fields like `gitBranch`, `gitCommitHash` link to the generated code\n * repository - part of the code-generation pipeline.\n * - The `wildoApplicationId` FK is specific to the app-factory paradigm.\n * - Supports the publish/deploy workflow where users create versions\n * of their application definitions.\n * \n * FRAMEWORK CANDIDATES: None. Version tracking of generated applications\n * is unique to the app-factory.\n * ═══════════════════════════════════════════════════════════════════════════\n */\n\nimport { z } from 'zod';\n\n// Initialize Zod decorators early (lazy init will also happen on first use)\nimport { initZodDecorators } from '@wildo-ai/zod-decorators';\ninitZodDecorators(z);\n\nexport const Wildo_Application_Version_Schema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n wildoApplicationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n version: z.string().isDBIndexed().isSummaryField().excludeFromUpdate(), // Version lookups\n gitBranch: z.string().isDBIndexed().isSummaryField(),\n gitCommitHash: z.string().isDBIndexed().isSummaryField(),\n createdAt: z.date().isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n updatedAt: z.date().isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n});\nexport type Wildo_Application_Version = z.infer<typeof Wildo_Application_Version_Schema>;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbench-aspect-resources.custom.shared.schemas.d.ts","sourceRoot":"","sources":["
|
|
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;IACvB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;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,EA+yB5E,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"}
|
|
@@ -524,6 +524,15 @@ export const WORKBENCH_ASPECT_DESCRIPTORS = [
|
|
|
524
524
|
/* The vision edges (#629) — see the registry for why a build task may serve these. */
|
|
525
525
|
{ field: 'servesSuccessCriterionIds', targetAspectKey: 'vision.success-criterion', many: true },
|
|
526
526
|
{ field: 'servesConstraintIds', targetAspectKey: 'vision.constraint', many: true },
|
|
527
|
+
/*
|
|
528
|
+
* The experience plan's entries on the PRODUCT side (#1660): a view, milestone or guidance task
|
|
529
|
+
* names the entry it builds by the plan's own ref, so the task links to the decision.
|
|
530
|
+
*/
|
|
531
|
+
{ field: 'producesViewIds', targetAspectKey: 'experience-plan.view', many: true },
|
|
532
|
+
{ field: 'producesMilestoneIds', targetAspectKey: 'experience-plan.milestone', many: true },
|
|
533
|
+
{ field: 'producesGuidanceIds', targetAspectKey: 'experience-plan.guidance', many: true },
|
|
534
|
+
/* A billing-catalogue task names the pricing plan it realises in `servesRefs` (#1835). */
|
|
535
|
+
{ field: 'servesPricingPlanIds', targetAspectKey: 'business-model.plan', many: true },
|
|
527
536
|
],
|
|
528
537
|
},
|
|
529
538
|
{
|
|
@@ -655,6 +664,20 @@ export const WORKBENCH_ASPECT_DESCRIPTORS = [
|
|
|
655
664
|
identity: WorkbenchAspectIdentityKind.BUSINESS_KEY,
|
|
656
665
|
edges: [],
|
|
657
666
|
},
|
|
667
|
+
{
|
|
668
|
+
/* One channel work arrives on (#1630). Its only edges are what asked for it, like a worker's. */
|
|
669
|
+
aspectKey: 'integration-plan.inbound-channel',
|
|
670
|
+
resourceType: WorkbenchShared_ResourceType.ASPECT_INTEGRATION_INBOUND_CHANNEL,
|
|
671
|
+
rowsPath: 'integrationInboundChannels',
|
|
672
|
+
identity: WorkbenchAspectIdentityKind.BUSINESS_KEY,
|
|
673
|
+
edges: [
|
|
674
|
+
{ field: 'servesFunctionalRequirementIds', targetAspectKey: 'requirements.functional', many: true },
|
|
675
|
+
{ field: 'servesNonFunctionalRequirementIds', targetAspectKey: 'requirements.non-functional', many: true },
|
|
676
|
+
{ field: 'servesRoadmapPhaseIds', targetAspectKey: 'roadmap.phase', many: true },
|
|
677
|
+
{ field: 'servesFeatureDraftIds', targetAspectKey: 'feature-drafts.draft', many: true },
|
|
678
|
+
{ field: 'servesSuccessCriterionIds', targetAspectKey: 'vision.success-criterion', many: true },
|
|
679
|
+
],
|
|
680
|
+
},
|
|
658
681
|
{
|
|
659
682
|
/*
|
|
660
683
|
* One requirement's standing (#1496), and the aspect that carries BOTH multi-edge shapes at
|