@almadar/runtime 6.65.0 → 6.66.0
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createTickScheduler, EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, normalizeCallSiteConfigToValues, StateMachineManager, parseDurationString, validateEventPayload, formatPayloadValidationError, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, EffectExecutor } from './chunk-
|
|
2
|
-
export { InMemoryPersistence, collectDeclaredConfigDefaults } from './chunk-
|
|
1
|
+
import { createTickScheduler, EventBus, createUnifiedLoader, MockPersistenceAdapter, InMemoryPersistence, preprocessSchema, normalizeCallSiteConfigToValues, StateMachineManager, parseDurationString, validateEventPayload, formatPayloadValidationError, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, EffectExecutor } from './chunk-VD774ZUH.js';
|
|
2
|
+
export { InMemoryPersistence, collectDeclaredConfigDefaults } from './chunk-VD774ZUH.js';
|
|
3
3
|
import { isValidCronExpression } from './chunk-OU3ITB5S.js';
|
|
4
4
|
import { createContextFromBindings, checkMutationAccess, resolveCallSitePayloadCaptures, applyRowAccess, accessDeniedMessage } from './chunk-ZJ62H3ES.js';
|
|
5
5
|
import './chunk-T4VDAB4C.js';
|
|
@@ -4,7 +4,7 @@ import { seedRandom, randomArrayElement, randomInt, shuffleArray, randomPastDate
|
|
|
4
4
|
import { collectTraitRefsFromValue, collectTraitRefsFromEffects } from './chunk-SCRAHWOC.js';
|
|
5
5
|
import { createLogger, setNamespaceLevel } from '@almadar/logger';
|
|
6
6
|
import { evaluateGuard, SExpressionEvaluator } from '@almadar/evaluator';
|
|
7
|
-
import { OrbitalSchemaSchema, isInlineTrait, isEntityCall, isEntityReference, parseEntityRef, parseImportedTraitRef, isPageReference, isPageReferenceString, isPageReferenceObject, parsePageRef, isReferenceConfigType, configRefEventKnob, normalizeCallSiteConfigToValues, resolveConfigRefEventName } from '@almadar/core';
|
|
7
|
+
import { OrbitalSchemaSchema, isInlineTrait, isEntityCall, isEntityReference, parseEntityRef, parseImportedTraitRef, isPageReference, isPageReferenceString, isPageReferenceObject, parsePageRef, isReferenceConfigType, configRefEventKnob, normalizeCallSiteConfigToValues, resolveConfigRefEventName, eventListPropsOf } from '@almadar/core';
|
|
8
8
|
export { normalizeCallSiteConfigToValues } from '@almadar/core';
|
|
9
9
|
import { sampleRowCount, sampleRow } from '@almadar/core/mock';
|
|
10
10
|
|
|
@@ -3651,6 +3651,8 @@ function renameEventsInRenderUiConfig(node, rename) {
|
|
|
3651
3651
|
if (typeof node !== "object") return node;
|
|
3652
3652
|
const obj = node;
|
|
3653
3653
|
const next = { ...obj };
|
|
3654
|
+
const rawType = obj.type;
|
|
3655
|
+
const patternType = typeof rawType === "string" ? rawType : void 0;
|
|
3654
3656
|
for (const [key, value] of Object.entries(obj)) {
|
|
3655
3657
|
if (key === "action" && typeof value === "string" && !value.startsWith("@")) {
|
|
3656
3658
|
next[key] = rename(value) ?? value;
|
|
@@ -3664,12 +3666,14 @@ function renameEventsInRenderUiConfig(node, rename) {
|
|
|
3664
3666
|
next[key] = rename(value) ?? value;
|
|
3665
3667
|
continue;
|
|
3666
3668
|
}
|
|
3667
|
-
|
|
3669
|
+
const eventField = patternType !== void 0 ? eventListPropsOf(patternType).get(key) : void 0;
|
|
3670
|
+
if (eventField !== void 0 && Array.isArray(value)) {
|
|
3668
3671
|
const rewrittenArray = value.map((entry) => {
|
|
3669
3672
|
if (!entry || typeof entry !== "object" || Array.isArray(entry)) return entry;
|
|
3670
3673
|
const action = entry;
|
|
3671
|
-
|
|
3672
|
-
|
|
3674
|
+
const current = action[eventField];
|
|
3675
|
+
if (typeof current === "string" && !current.startsWith("@")) {
|
|
3676
|
+
return { ...action, [eventField]: rename(current) ?? current };
|
|
3673
3677
|
}
|
|
3674
3678
|
return action;
|
|
3675
3679
|
});
|
|
@@ -3680,6 +3684,58 @@ function renameEventsInRenderUiConfig(node, rename) {
|
|
|
3680
3684
|
}
|
|
3681
3685
|
return next;
|
|
3682
3686
|
}
|
|
3687
|
+
function renameEventTypedMembers(value, items, rename) {
|
|
3688
|
+
if (items === void 0 || value === null || value === void 0) return value;
|
|
3689
|
+
if (Array.isArray(value)) {
|
|
3690
|
+
return value.map((entry2) => renameEventTypedMembers(entry2, items, rename));
|
|
3691
|
+
}
|
|
3692
|
+
if (typeof value !== "object") return value;
|
|
3693
|
+
const properties = items.properties;
|
|
3694
|
+
if (properties === void 0) return value;
|
|
3695
|
+
const entry = value;
|
|
3696
|
+
const next = { ...entry };
|
|
3697
|
+
let touched = false;
|
|
3698
|
+
for (const [member, decl] of Object.entries(properties)) {
|
|
3699
|
+
const current = entry[member];
|
|
3700
|
+
if (decl.type === "event") {
|
|
3701
|
+
if (typeof current === "string" && current !== "" && !current.startsWith("@")) {
|
|
3702
|
+
const renamed = rename(current);
|
|
3703
|
+
if (renamed !== void 0 && renamed !== current) {
|
|
3704
|
+
next[member] = renamed;
|
|
3705
|
+
touched = true;
|
|
3706
|
+
}
|
|
3707
|
+
}
|
|
3708
|
+
continue;
|
|
3709
|
+
}
|
|
3710
|
+
if (decl.items !== void 0 && current !== void 0) {
|
|
3711
|
+
const nested = renameEventTypedMembers(current, decl.items, rename);
|
|
3712
|
+
if (nested !== current) {
|
|
3713
|
+
next[member] = nested;
|
|
3714
|
+
touched = true;
|
|
3715
|
+
}
|
|
3716
|
+
}
|
|
3717
|
+
}
|
|
3718
|
+
return touched ? next : value;
|
|
3719
|
+
}
|
|
3720
|
+
function renameEventsInDeclaredConfig(config, rename) {
|
|
3721
|
+
if (config === void 0) return config;
|
|
3722
|
+
let touched = false;
|
|
3723
|
+
const next = {};
|
|
3724
|
+
for (const [knob, field] of Object.entries(config)) {
|
|
3725
|
+
if (field.default === void 0) {
|
|
3726
|
+
next[knob] = field;
|
|
3727
|
+
continue;
|
|
3728
|
+
}
|
|
3729
|
+
const renamedDefault = field.type === "event" ? typeof field.default === "string" && field.default !== "" && !field.default.startsWith("@") ? rename(field.default) ?? field.default : field.default : renameEventTypedMembers(field.default, field.items, rename);
|
|
3730
|
+
if (renamedDefault !== field.default) {
|
|
3731
|
+
next[knob] = { ...field, default: renamedDefault };
|
|
3732
|
+
touched = true;
|
|
3733
|
+
} else {
|
|
3734
|
+
next[knob] = field;
|
|
3735
|
+
}
|
|
3736
|
+
}
|
|
3737
|
+
return touched ? next : config;
|
|
3738
|
+
}
|
|
3683
3739
|
function renameEventsInEffects(effects, rename) {
|
|
3684
3740
|
return effects.map((effect) => renameEventRefsInNode(effect, rename));
|
|
3685
3741
|
}
|
|
@@ -4048,6 +4104,7 @@ function applyEventRenames(trait, renames) {
|
|
|
4048
4104
|
const nextTriggers = rename(l.triggers) ?? l.triggers;
|
|
4049
4105
|
return nextEvent === l.event && nextTriggers === l.triggers ? l : { ...l, event: nextEvent, triggers: nextTriggers };
|
|
4050
4106
|
});
|
|
4107
|
+
const nextConfig = renameEventsInDeclaredConfig(trait.config, rename);
|
|
4051
4108
|
return {
|
|
4052
4109
|
...trait,
|
|
4053
4110
|
stateMachine: sm ? {
|
|
@@ -4057,9 +4114,27 @@ function applyEventRenames(trait, renames) {
|
|
|
4057
4114
|
} : sm,
|
|
4058
4115
|
...trait.ticks ? { ticks: nextTicks } : {},
|
|
4059
4116
|
...trait.listens ? { listens: nextListens } : {},
|
|
4117
|
+
...nextConfig !== void 0 ? { config: nextConfig } : {},
|
|
4060
4118
|
emits: nextEmits
|
|
4061
4119
|
};
|
|
4062
4120
|
}
|
|
4121
|
+
function applyEventRenamesToCallSiteConfig(config, declared, renames) {
|
|
4122
|
+
if (config === void 0 || declared === void 0) return config;
|
|
4123
|
+
if (!renames || Object.keys(renames).length === 0) return config;
|
|
4124
|
+
const rename = (k) => k !== void 0 && k in renames ? renames[k] : k;
|
|
4125
|
+
let touched = false;
|
|
4126
|
+
const next = { ...config };
|
|
4127
|
+
for (const [knob, value] of Object.entries(config)) {
|
|
4128
|
+
const field = declared[knob];
|
|
4129
|
+
if (field === void 0) continue;
|
|
4130
|
+
const renamed = field.type === "event" ? typeof value === "string" && value !== "" && !value.startsWith("@") ? rename(value) ?? value : value : renameEventTypedMembers(value, field.items, rename);
|
|
4131
|
+
if (renamed !== value) {
|
|
4132
|
+
next[knob] = renamed;
|
|
4133
|
+
touched = true;
|
|
4134
|
+
}
|
|
4135
|
+
}
|
|
4136
|
+
return touched ? next : config;
|
|
4137
|
+
}
|
|
4063
4138
|
function resolveConfigRefEmitNames(trait, callSiteConfig) {
|
|
4064
4139
|
const emits = trait.emits ?? [];
|
|
4065
4140
|
const hasRef = emits.some((em) => configRefEventKnob(em.event) !== void 0);
|
|
@@ -4597,6 +4672,7 @@ var ReferenceResolver = class {
|
|
|
4597
4672
|
}
|
|
4598
4673
|
const reboundTrait = applyLinkedEntityRename(configResolvedTrait, linkedEntity);
|
|
4599
4674
|
const renamedTrait = applyEventRenames(reboundTrait, eventRenames);
|
|
4675
|
+
const renamedConfig = applyEventRenamesToCallSiteConfig(config, reboundTrait.config, eventRenames);
|
|
4600
4676
|
const finalTrait = listensOverride !== void 0 ? { ...renamedTrait, listens: listensOverride } : renamedTrait;
|
|
4601
4677
|
if (listensOverride !== void 0) {
|
|
4602
4678
|
refResolverLog.info("listens-override:imported", {
|
|
@@ -4611,7 +4687,7 @@ var ReferenceResolver = class {
|
|
|
4611
4687
|
data: {
|
|
4612
4688
|
trait: finalTrait,
|
|
4613
4689
|
source: { type: "imported", alias: parsed.alias, traitName: parsed.traitName },
|
|
4614
|
-
config,
|
|
4690
|
+
config: renamedConfig,
|
|
4615
4691
|
linkedEntity
|
|
4616
4692
|
},
|
|
4617
4693
|
warnings: []
|
|
@@ -4626,6 +4702,7 @@ var ReferenceResolver = class {
|
|
|
4626
4702
|
}
|
|
4627
4703
|
const reboundLocal = applyLinkedEntityRename(configResolvedLocal, linkedEntity);
|
|
4628
4704
|
const renamedLocalTrait = applyEventRenames(reboundLocal, eventRenames);
|
|
4705
|
+
const renamedLocalConfig = applyEventRenamesToCallSiteConfig(config, reboundLocal.config, eventRenames);
|
|
4629
4706
|
const finalLocalTrait = listensOverride !== void 0 ? { ...renamedLocalTrait, listens: listensOverride } : renamedLocalTrait;
|
|
4630
4707
|
if (listensOverride !== void 0) {
|
|
4631
4708
|
refResolverLog.info("listens-override:local", {
|
|
@@ -4640,7 +4717,7 @@ var ReferenceResolver = class {
|
|
|
4640
4717
|
data: {
|
|
4641
4718
|
trait: finalLocalTrait,
|
|
4642
4719
|
source: { type: "local", name: ref },
|
|
4643
|
-
config,
|
|
4720
|
+
config: renamedLocalConfig,
|
|
4644
4721
|
linkedEntity
|
|
4645
4722
|
},
|
|
4646
4723
|
warnings: []
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EffectExecutor } from './chunk-
|
|
2
|
-
export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, StateMachineManager, TickScheduler, buildEmitsFromTraits, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, createInitialTraitState, createMockPersistence, createTestExecutor, createTickScheduler, createUnifiedLoader, findInitialState, findTransition, formatPayloadValidationError, getIsolatedCollectionName, getNamespacedEvent, isBrowser, isElectron, isNamespacedEvent, isNode, isValidDurationString, normalizeCallSiteConfigToValues, normalizeEventKey, parseDurationString, parseNamespacedEvent, preprocessSchema, processEvent, validateEventPayload, validatePayloadShapes } from './chunk-
|
|
1
|
+
import { EffectExecutor } from './chunk-VD774ZUH.js';
|
|
2
|
+
export { EffectExecutor, EventBus, HANDLER_MANIFEST, InMemoryPersistence, MockPersistenceAdapter, StateMachineManager, TickScheduler, buildEmitsFromTraits, collectDeclaredConfigDefaults, collectDeclaredEntityDefaults, createInitialTraitState, createMockPersistence, createTestExecutor, createTickScheduler, createUnifiedLoader, findInitialState, findTransition, formatPayloadValidationError, getIsolatedCollectionName, getNamespacedEvent, isBrowser, isElectron, isNamespacedEvent, isNode, isValidDurationString, normalizeCallSiteConfigToValues, normalizeEventKey, parseDurationString, parseNamespacedEvent, preprocessSchema, processEvent, validateEventPayload, validatePayloadShapes } from './chunk-VD774ZUH.js';
|
|
3
3
|
export { cronMatches, cronMinuteKey, isValidCronExpression, parseCron, parseCronField } from './chunk-OU3ITB5S.js';
|
|
4
4
|
import { createContextFromBindings, applyRowAccess, checkMutationAccess, accessDeniedMessage } from './chunk-ZJ62H3ES.js';
|
|
5
5
|
export { CALLSITE_PAYLOAD_PREFIX, applyRowAccess, checkMutationAccess, containsBindings, createContextFromBindings, createMinimalContext, deferEntityBindings, extractBindings, interpolateProps, interpolateValue, resolveCallSitePayloadCaptures } from './chunk-ZJ62H3ES.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@almadar/runtime",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.66.0",
|
|
4
4
|
"description": "Interpreted runtime for Almadar orbital applications (OrbitalServerRuntime)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"access": "public"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@almadar/core": "^10.
|
|
61
|
-
"@almadar/evaluator": "^2.
|
|
62
|
-
"@almadar/logger": "^1.
|
|
63
|
-
"@almadar/server": "^2.
|
|
64
|
-
"@almadar/std": "^16.
|
|
60
|
+
"@almadar/core": "^10.76.0",
|
|
61
|
+
"@almadar/evaluator": "^2.43.0",
|
|
62
|
+
"@almadar/logger": "^1.12.0",
|
|
63
|
+
"@almadar/server": "^2.39.0",
|
|
64
|
+
"@almadar/std": "^16.196.0"
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"express": "^5.0.0"
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"@almadar/eslint-plugin": "^2.
|
|
75
|
+
"@almadar/eslint-plugin": "^2.17.0",
|
|
76
76
|
"@types/express": "^5.0.0",
|
|
77
77
|
"@types/node": "^20.0.0",
|
|
78
78
|
"@typescript-eslint/parser": "8.65.0",
|