@pattern-stack/codegen 0.4.2 → 0.4.4
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/CHANGELOG.md +17 -0
- package/dist/runtime/subsystems/bridge/bridge.module.d.ts +1 -0
- package/dist/runtime/subsystems/bridge/bridge.module.js +42 -23
- package/dist/runtime/subsystems/bridge/bridge.module.js.map +1 -1
- package/dist/runtime/subsystems/bridge/index.d.ts +1 -0
- package/dist/runtime/subsystems/bridge/index.js +33 -14
- package/dist/runtime/subsystems/bridge/index.js.map +1 -1
- package/dist/runtime/subsystems/index.js +35 -16
- package/dist/runtime/subsystems/index.js.map +1 -1
- package/dist/runtime/subsystems/jobs/index.d.ts +1 -0
- package/dist/runtime/subsystems/jobs/index.js +31 -12
- package/dist/runtime/subsystems/jobs/index.js.map +1 -1
- package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.d.ts +3 -1
- package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js +10 -4
- package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js.map +1 -1
- package/dist/runtime/subsystems/jobs/job-worker.d.ts +3 -1
- package/dist/runtime/subsystems/jobs/job-worker.js +7 -2
- package/dist/runtime/subsystems/jobs/job-worker.js.map +1 -1
- package/dist/runtime/subsystems/jobs/job-worker.module.d.ts +3 -1
- package/dist/runtime/subsystems/jobs/job-worker.module.js +31 -12
- package/dist/runtime/subsystems/jobs/job-worker.module.js.map +1 -1
- package/dist/runtime/subsystems/jobs/jobs-domain.module.js +10 -4
- package/dist/runtime/subsystems/jobs/jobs-domain.module.js.map +1 -1
- package/dist/src/cli/index.js +71 -7
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/index.js +27 -2
- package/dist/src/index.js.map +1 -1
- package/package.json +1 -1
- package/runtime/subsystems/jobs/job-orchestrator.memory-backend.ts +16 -2
- package/runtime/subsystems/jobs/job-worker.module.ts +20 -2
- package/runtime/subsystems/jobs/job-worker.ts +18 -3
package/dist/src/cli/index.js
CHANGED
|
@@ -1573,7 +1573,7 @@ var init_entity_definition_schema = __esm({
|
|
|
1573
1573
|
|
|
1574
1574
|
// src/schema/event-definition.schema.ts
|
|
1575
1575
|
import { z as z2 } from "zod";
|
|
1576
|
-
var EVENT_DIRECTIONS, EVENT_FIELD_TYPES, RESERVED_EVENT_POOLS, EVENT_BACKOFF_STRATEGIES, DIRECTION_TO_POOL, EventDirectionSchema, EventFieldTypeSchema, EventPoolSchema, EventPayloadFieldSchema, RetrySchema, SNAKE_CASE_RE, EventDefinitionSchemaCore, EventDefinitionSchemaRefined, EventDefinitionSchema;
|
|
1576
|
+
var EVENT_DIRECTIONS, EVENT_FIELD_TYPES, EVENT_ARRAY_ITEM_TYPES, RESERVED_EVENT_POOLS, EVENT_BACKOFF_STRATEGIES, DIRECTION_TO_POOL, EventDirectionSchema, EventFieldTypeSchema, EventArrayItemTypeSchema, EventPoolSchema, EventPayloadFieldSchema, RetrySchema, SNAKE_CASE_RE, EventDefinitionSchemaCore, EventDefinitionSchemaRefined, EventDefinitionSchema;
|
|
1577
1577
|
var init_event_definition_schema = __esm({
|
|
1578
1578
|
"src/schema/event-definition.schema.ts"() {
|
|
1579
1579
|
"use strict";
|
|
@@ -1584,7 +1584,15 @@ var init_event_definition_schema = __esm({
|
|
|
1584
1584
|
"number",
|
|
1585
1585
|
"boolean",
|
|
1586
1586
|
"date",
|
|
1587
|
-
"json"
|
|
1587
|
+
"json",
|
|
1588
|
+
"array"
|
|
1589
|
+
];
|
|
1590
|
+
EVENT_ARRAY_ITEM_TYPES = [
|
|
1591
|
+
"uuid",
|
|
1592
|
+
"string",
|
|
1593
|
+
"number",
|
|
1594
|
+
"boolean",
|
|
1595
|
+
"date"
|
|
1588
1596
|
];
|
|
1589
1597
|
RESERVED_EVENT_POOLS = [
|
|
1590
1598
|
"events_inbound",
|
|
@@ -1599,12 +1607,29 @@ var init_event_definition_schema = __esm({
|
|
|
1599
1607
|
};
|
|
1600
1608
|
EventDirectionSchema = z2.enum(EVENT_DIRECTIONS);
|
|
1601
1609
|
EventFieldTypeSchema = z2.enum(EVENT_FIELD_TYPES);
|
|
1610
|
+
EventArrayItemTypeSchema = z2.enum(EVENT_ARRAY_ITEM_TYPES);
|
|
1602
1611
|
EventPoolSchema = z2.enum(RESERVED_EVENT_POOLS);
|
|
1603
1612
|
EventPayloadFieldSchema = z2.object({
|
|
1604
1613
|
type: EventFieldTypeSchema,
|
|
1614
|
+
items: EventArrayItemTypeSchema.optional(),
|
|
1605
1615
|
nullable: z2.boolean().optional().default(false),
|
|
1606
1616
|
description: z2.string().optional()
|
|
1607
|
-
}).strict()
|
|
1617
|
+
}).strict().superRefine((data, ctx) => {
|
|
1618
|
+
if (data.type === "array" && data.items === void 0) {
|
|
1619
|
+
ctx.addIssue({
|
|
1620
|
+
code: z2.ZodIssueCode.custom,
|
|
1621
|
+
message: "'items' is required when type is 'array'",
|
|
1622
|
+
path: ["items"]
|
|
1623
|
+
});
|
|
1624
|
+
}
|
|
1625
|
+
if (data.type !== "array" && data.items !== void 0) {
|
|
1626
|
+
ctx.addIssue({
|
|
1627
|
+
code: z2.ZodIssueCode.custom,
|
|
1628
|
+
message: `'items' is only valid when type is 'array' (got '${data.type}')`,
|
|
1629
|
+
path: ["items"]
|
|
1630
|
+
});
|
|
1631
|
+
}
|
|
1632
|
+
});
|
|
1608
1633
|
RetrySchema = z2.object({
|
|
1609
1634
|
attempts: z2.number().int().min(0).max(20),
|
|
1610
1635
|
backoff: z2.enum(EVENT_BACKOFF_STRATEGIES)
|
|
@@ -216517,6 +216542,22 @@ function buildBridgeRegistryContent(triggers) {
|
|
|
216517
216542
|
}
|
|
216518
216543
|
async function generateBridgeRegistry(opts) {
|
|
216519
216544
|
const { handlersDir, eventsGeneratedDir, outputDir, dryRun = false } = opts;
|
|
216545
|
+
const bridgeProtocolPath = path6.resolve(outputDir, "..", "bridge.protocol.ts");
|
|
216546
|
+
if (!fs4.existsSync(bridgeProtocolPath)) {
|
|
216547
|
+
const strayPath = path6.join(outputDir, OUTPUT_FILE_NAME);
|
|
216548
|
+
if (!dryRun && fs4.existsSync(strayPath)) {
|
|
216549
|
+
fs4.rmSync(strayPath);
|
|
216550
|
+
}
|
|
216551
|
+
return {
|
|
216552
|
+
outputDir,
|
|
216553
|
+
triggerCount: 0,
|
|
216554
|
+
triggers: [],
|
|
216555
|
+
eventTypeCount: 0,
|
|
216556
|
+
written: false,
|
|
216557
|
+
files: [],
|
|
216558
|
+
skipped: true
|
|
216559
|
+
};
|
|
216560
|
+
}
|
|
216520
216561
|
const triggers = scanHandlerFiles(handlersDir);
|
|
216521
216562
|
validateNoDuplicateTriggers(triggers);
|
|
216522
216563
|
const knownEventTypes = readKnownEventTypes(eventsGeneratedDir);
|
|
@@ -216540,7 +216581,8 @@ async function generateBridgeRegistry(opts) {
|
|
|
216540
216581
|
triggers,
|
|
216541
216582
|
eventTypeCount,
|
|
216542
216583
|
written,
|
|
216543
|
-
files: [file]
|
|
216584
|
+
files: [file],
|
|
216585
|
+
skipped: false
|
|
216544
216586
|
};
|
|
216545
216587
|
}
|
|
216546
216588
|
var import_typescript, HEADER3, DuplicateTriggerError, UnknownTriggerEventError, OUTPUT_FILE_NAME;
|
|
@@ -216738,11 +216780,23 @@ function toPascalCase2(input) {
|
|
|
216738
216780
|
return input.split("_").filter(Boolean).map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join("");
|
|
216739
216781
|
}
|
|
216740
216782
|
function tsTypeForField(field) {
|
|
216741
|
-
|
|
216783
|
+
let base;
|
|
216784
|
+
if (field.type === "array") {
|
|
216785
|
+
const itemType = field.items;
|
|
216786
|
+
base = `${TS_TYPE_BY_FIELD[itemType]}[]`;
|
|
216787
|
+
} else {
|
|
216788
|
+
base = TS_TYPE_BY_FIELD[field.type];
|
|
216789
|
+
}
|
|
216742
216790
|
return field.nullable ? `${base} | null` : base;
|
|
216743
216791
|
}
|
|
216744
216792
|
function zodExprForField(field) {
|
|
216745
|
-
|
|
216793
|
+
let base;
|
|
216794
|
+
if (field.type === "array") {
|
|
216795
|
+
const itemType = field.items;
|
|
216796
|
+
base = `z.array(${ZOD_EXPR_BY_FIELD[itemType]})`;
|
|
216797
|
+
} else {
|
|
216798
|
+
base = ZOD_EXPR_BY_FIELD[field.type];
|
|
216799
|
+
}
|
|
216746
216800
|
return field.nullable ? `${base}.nullable()` : base;
|
|
216747
216801
|
}
|
|
216748
216802
|
function aggregateTypeLiteral(ev) {
|
|
@@ -217550,7 +217604,12 @@ var init_entity = __esm({
|
|
|
217550
217604
|
subsystemsRoot,
|
|
217551
217605
|
"bridge/generated"
|
|
217552
217606
|
);
|
|
217553
|
-
const
|
|
217607
|
+
const backendSrcForHandlers = ctx.config?.paths?.backend_src ?? "src";
|
|
217608
|
+
const bridgeHandlersDir = path10.resolve(
|
|
217609
|
+
ctx.cwd,
|
|
217610
|
+
backendSrcForHandlers,
|
|
217611
|
+
"jobs"
|
|
217612
|
+
);
|
|
217554
217613
|
if (this.dryRun) {
|
|
217555
217614
|
const barrelPlan = await regenerateBarrels({
|
|
217556
217615
|
ctx,
|
|
@@ -217728,6 +217787,11 @@ var init_entity = __esm({
|
|
|
217728
217787
|
eventsGeneratedDir: eventCodegenOutputDir,
|
|
217729
217788
|
outputDir: bridgeRegistryOutputDir
|
|
217730
217789
|
});
|
|
217790
|
+
if (bridgeRegistryResult.skipped && !isJsonMode()) {
|
|
217791
|
+
printInfo(
|
|
217792
|
+
"bridge subsystem not installed \u2014 skipping bridge registry codegen"
|
|
217793
|
+
);
|
|
217794
|
+
}
|
|
217731
217795
|
} catch (err) {
|
|
217732
217796
|
const msg = err instanceof Error ? err.message : String(err);
|
|
217733
217797
|
if (!isJsonMode()) {
|