@wildo-ai/platform-core-shared 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/core/resources/resources-operations.custom.shared.definitions.d.ts.map +1 -1
- package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.d.ts.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/runtime/application-backend-env.contracts.d.ts +28 -2
- package/dist/esm/runtime/application-backend-env.contracts.d.ts.map +1 -1
- package/dist/esm/runtime/application-backend-env.contracts.js +27 -1
- package/dist/esm/runtime/application-backend-env.contracts.js.map +1 -1
- package/dist/esm/runtime/runtime-topology.contracts.d.ts.map +1 -1
- package/dist/esm/security/authorizations/roles.custom.shared.definitions.d.ts.map +1 -1
- package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +60 -66
- 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.schemas.d.ts +60 -66
- 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 +2 -2
- 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 +6 -10
- 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.schemas.d.ts +6 -10
- 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 +26 -28
- 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 +27 -0
- 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 +56 -0
- 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/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts +13 -0
- package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +418 -1
- package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts +0 -98
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts.map +0 -1
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js.map +0 -1
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts +103 -0
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts.map +1 -0
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js +99 -0
- package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js.map +1 -0
- package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts +49 -0
- package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts.map +1 -0
- package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js +42 -0
- package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js.map +1 -0
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +378 -11
- 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 +426 -5
- 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 +882 -9
- 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 +1154 -14
- package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -1
- package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +117 -1
- 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 +160 -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 +184 -7
- 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 +2 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +10 -5
- package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -13
- package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js +0 -86
|
@@ -15,6 +15,32 @@ import { ErrorCustomMessageReference } from '@wildo-ai/saas-models';
|
|
|
15
15
|
// Initialize Zod decorators early (lazy init will also happen on first use)
|
|
16
16
|
import { initZodDecorators } from '@wildo-ai/zod-decorators';
|
|
17
17
|
initZodDecorators(z);
|
|
18
|
+
/**
|
|
19
|
+
* Whether the platform still schedules and serves this application (#1556).
|
|
20
|
+
*
|
|
21
|
+
* TWO members, and the pair is the whole point: an application is either live, or it has been
|
|
22
|
+
* WITHDRAWN without anything of its being destroyed. There is deliberately no member meaning
|
|
23
|
+
* "destroyed" — destruction is #1562 and is parked, so nothing in this vocabulary may be read as
|
|
24
|
+
* authorising it.
|
|
25
|
+
*
|
|
26
|
+
* The shape is the one `Organization` already uses for a marked tenant — *authorization-dead and
|
|
27
|
+
* data-alive* — one level up. That is not a coincidence to be tidied away later: a tenant and an
|
|
28
|
+
* application are both things an operator must be able to take out of service without losing what
|
|
29
|
+
* they contain, and the two should keep answering that question the same way.
|
|
30
|
+
*/
|
|
31
|
+
export var WildoApplicationStatus;
|
|
32
|
+
(function (WildoApplicationStatus) {
|
|
33
|
+
/** Scheduled, served, and re-registerable. The default and the state every application is created in. */
|
|
34
|
+
WildoApplicationStatus["ACTIVE"] = "ACTIVE";
|
|
35
|
+
/**
|
|
36
|
+
* Withdrawn: the platform no longer schedules it, and its slug is refused for re-registration
|
|
37
|
+
* until it is restored. **Nothing of its data is touched** — its database, broker vhost, cache
|
|
38
|
+
* namespace, blobs and credentials are exactly as they were. `restore` returns it to
|
|
39
|
+
* {@link WildoApplicationStatus.ACTIVE} and the next boot re-establishes its cron schedule from
|
|
40
|
+
* its own code, because that schedule is DERIVED rather than stored authority.
|
|
41
|
+
*/
|
|
42
|
+
WildoApplicationStatus["DEREGISTERED"] = "DEREGISTERED";
|
|
43
|
+
})(WildoApplicationStatus || (WildoApplicationStatus = {}));
|
|
18
44
|
export const Wildo_Application_Schema = z.object({
|
|
19
45
|
_id: z.string().min(1).isPrimaryKey().isSummaryField(),
|
|
20
46
|
appId: z.string().optional().isDBIndexed().excludeFromUpdate(),
|
|
@@ -54,6 +80,36 @@ export const Wildo_Application_Schema = z.object({
|
|
|
54
80
|
organizationId: z.string().isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),
|
|
55
81
|
lastVersion: z.string().optional().excludeFromCreate().excludeFromUpdate(),
|
|
56
82
|
gitRepositoryPath: z.string(),
|
|
83
|
+
/**
|
|
84
|
+
* Whether the platform still schedules and serves this application (#1556).
|
|
85
|
+
*
|
|
86
|
+
* Server-owned: written only by the deregister/restore lifecycle operations, never by a client
|
|
87
|
+
* patch — the same posture `Organization.status` takes, and for the same reason. A field that any
|
|
88
|
+
* UPDATE could set would let the withdrawal be performed by something that does not also withdraw
|
|
89
|
+
* the cron schedule, which is the only part of a withdrawal that actually stops work happening.
|
|
90
|
+
*
|
|
91
|
+
* Defaulted rather than required so that every row written before this field existed reads as
|
|
92
|
+
* {@link WildoApplicationStatus.ACTIVE}, which is what they are.
|
|
93
|
+
*/
|
|
94
|
+
status: z.enum(WildoApplicationStatus)
|
|
95
|
+
.systemEnum('WildoApplicationStatus')
|
|
96
|
+
.default(WildoApplicationStatus.ACTIVE)
|
|
97
|
+
.isDBIndexed()
|
|
98
|
+
.isSummaryField()
|
|
99
|
+
.excludeFromCreate()
|
|
100
|
+
.excludeFromUpdate(),
|
|
101
|
+
/**
|
|
102
|
+
* When the application was withdrawn, or `null` while it is live.
|
|
103
|
+
*
|
|
104
|
+
* `.nullish()` because `restore` CLEARS it: a restored application is not "deregistered a while
|
|
105
|
+
* ago", it is live, and a lingering timestamp would make every later reader decide for itself
|
|
106
|
+
* which field wins. Existing rows legitimately have none.
|
|
107
|
+
*
|
|
108
|
+
* It is a record, not a deadline. There is no window here and nothing consumes it — an application
|
|
109
|
+
* stays withdrawn until somebody restores it. The field that WOULD be a deadline
|
|
110
|
+
* (`purgeScheduledAt`) belongs to #1562 and is deliberately absent.
|
|
111
|
+
*/
|
|
112
|
+
deregisteredAt: z.date().nullish().isDBIndexed().excludeFromCreate().excludeFromUpdate().isHidden(),
|
|
57
113
|
createdAt: z.date().default(() => new Date()).isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate(),
|
|
58
114
|
updatedAt: z.date().default(() => new Date()).isDBIndexed().excludeFromCreate().excludeFromUpdate(),
|
|
59
115
|
});
|
|
@@ -1 +1 @@
|
|
|
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,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;
|
|
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,sBAYX;AAZD,WAAY,sBAAsB;IAChC,yGAAyG;IACzG,2CAAiB,CAAA;IAEjB;;;;;;OAMG;IACH,uDAA6B,CAAA;AAC/B,CAAC,EAZW,sBAAsB,KAAtB,sBAAsB,QAYjC;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, and its slug is refused for re-registration\n * until it is restored. **Nothing of its data is touched** — its database, broker vhost, cache\n * namespace, blobs and credentials are exactly as they were. `restore` returns it to\n * {@link WildoApplicationStatus.ACTIVE} and the next boot re-establishes its cron schedule from\n * its own code, because that schedule is DERIVED 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"}
|
|
@@ -54,6 +54,19 @@ export interface WorkbenchAspectEdgeDescriptor {
|
|
|
54
54
|
readonly targetAspectKey: string;
|
|
55
55
|
/** `true` = key array; `false` = single key. */
|
|
56
56
|
readonly many: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The REGISTRY field this edge transcribes, when the target alone does not identify it.
|
|
59
|
+
*
|
|
60
|
+
* The projection joins a routed reference to a spine edge by target, which is unique for every
|
|
61
|
+
* aspect but one: a minion declares `readsResourceRefs` AND `writesResourceRefs`, both reaching
|
|
62
|
+
* `domain-plan.resource`, because its containment whitelist is two lists and the direction is the
|
|
63
|
+
* decision (#1495). Without this field the second reference would overwrite the first under one
|
|
64
|
+
* envelope name — silently, and with the wrong half winning.
|
|
65
|
+
*
|
|
66
|
+
* Omitted everywhere the target is unique, which is everywhere else; when present it is matched
|
|
67
|
+
* FIRST, so adding one can never change an existing aspect's join.
|
|
68
|
+
*/
|
|
69
|
+
readonly sourceField?: string;
|
|
57
70
|
}
|
|
58
71
|
export interface WorkbenchAspectDescriptor {
|
|
59
72
|
/** The registry aspect key (`market.icp`) — the parity test's join column. */
|
|
@@ -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,EAwxB5E,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"}
|