eventmodeler 0.4.7 → 0.6.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.
- package/dist/api/client-config.js +10 -0
- package/dist/api/generated/client/client.gen.js +235 -0
- package/dist/api/generated/client/index.js +6 -0
- package/dist/api/generated/client/types.gen.js +2 -0
- package/dist/api/generated/client/utils.gen.js +228 -0
- package/dist/api/generated/client.gen.js +4 -0
- package/dist/api/generated/core/auth.gen.js +14 -0
- package/dist/api/generated/core/bodySerializer.gen.js +57 -0
- package/dist/api/generated/core/params.gen.js +100 -0
- package/dist/api/generated/core/pathSerializer.gen.js +106 -0
- package/dist/api/generated/core/queryKeySerializer.gen.js +92 -0
- package/dist/api/generated/core/serverSentEvents.gen.js +133 -0
- package/dist/api/generated/core/types.gen.js +2 -0
- package/dist/api/generated/core/utils.gen.js +87 -0
- package/dist/api/generated/index.js +2 -0
- package/dist/api/generated/sdk.gen.js +4222 -0
- package/dist/api/generated/types.gen.js +2 -0
- package/dist/api/generated/zod.gen.js +7217 -0
- package/dist/commands/add.js +315 -0
- package/dist/commands/auth.js +14 -0
- package/dist/commands/create.js +192 -0
- package/dist/commands/design.js +108 -0
- package/dist/commands/guide.js +15 -0
- package/dist/commands/init.js +21 -0
- package/dist/commands/list-schemas.js +177 -0
- package/dist/commands/list.js +39 -0
- package/dist/commands/loop.js +101 -0
- package/dist/commands/map.js +40 -0
- package/dist/commands/mark.js +27 -0
- package/dist/commands/move.js +35 -0
- package/dist/commands/remove.js +170 -0
- package/dist/commands/rename.js +53 -0
- package/dist/commands/resize.js +30 -0
- package/dist/commands/search.js +14 -0
- package/dist/commands/set.js +199 -0
- package/dist/commands/show-schemas.js +259 -0
- package/dist/commands/show.js +56 -0
- package/dist/commands/summary.js +13 -0
- package/dist/commands/update.js +240 -0
- package/dist/index.js +46 -2379
- package/dist/lib/auth.js +1 -1
- package/dist/lib/config.js +0 -15
- package/dist/lib/excalidraw-schema.js +66 -0
- package/dist/lib/globals.js +8 -0
- package/dist/lib/model.js +11 -0
- package/dist/lib/project-config.js +20 -0
- package/dist/lib/resolve.js +59 -0
- package/dist/lib/scenario.js +15 -0
- package/dist/slices/add-scenario/index.js +2 -206
- package/dist/slices/guide/guides/codegen.js +1 -1
- package/dist/slices/guide/guides/connect-slices.js +12 -37
- package/dist/slices/guide/guides/create-slices.js +110 -140
- package/dist/slices/guide/guides/explore.js +37 -26
- package/dist/slices/guide/guides/information-flow.js +70 -82
- package/dist/slices/guide/guides/scenarios.js +82 -137
- package/dist/slices/guide/index.js +6 -6
- package/dist/slices/help/index.js +96 -0
- package/dist/slices/help/topics/build-codegen.js +109 -0
- package/dist/slices/help/topics/build-slice.js +147 -0
- package/dist/slices/help/topics/check-completeness.js +57 -0
- package/dist/slices/help/topics/connect-slices.js +99 -0
- package/dist/slices/help/topics/explore-model.js +112 -0
- package/dist/slices/help/topics/json-reference.js +188 -0
- package/dist/slices/help/topics/linked-copies.js +89 -0
- package/dist/slices/help/topics/manipulate-canvas.js +150 -0
- package/dist/slices/help/topics/write-scenarios.js +162 -0
- package/dist/slices/init/index.js +10 -4
- package/dist/slices/init/loop.js +60 -0
- package/dist/slices/login/index.js +2 -2
- package/dist/slices/logout/index.js +2 -2
- package/dist/slices/whoami/index.js +11 -36
- package/package.json +8 -3
- package/dist/api/index.d.ts +0 -285
- package/dist/api/index.js +0 -323
- package/dist/cloud/slices/index.d.ts +0 -276
- package/dist/cloud/slices/index.js +0 -406
- package/dist/eventmodeler.js +0 -5646
- package/dist/formatters.d.ts +0 -17
- package/dist/formatters.js +0 -482
- package/dist/index.d.ts +0 -2
- package/dist/lib/auth.d.ts +0 -24
- package/dist/lib/backend.d.ts +0 -43
- package/dist/lib/backend.js +0 -73
- package/dist/lib/chapter-utils.d.ts +0 -13
- package/dist/lib/chapter-utils.js +0 -71
- package/dist/lib/cloud-client.d.ts +0 -69
- package/dist/lib/cloud-client.js +0 -364
- package/dist/lib/config.d.ts +0 -30
- package/dist/lib/diff/merge-rules.d.ts +0 -45
- package/dist/lib/diff/merge-rules.js +0 -210
- package/dist/lib/diff/model-differ.d.ts +0 -8
- package/dist/lib/diff/model-differ.js +0 -568
- package/dist/lib/diff/three-way-merge.d.ts +0 -7
- package/dist/lib/diff/three-way-merge.js +0 -390
- package/dist/lib/diff/types.d.ts +0 -75
- package/dist/lib/diff/types.js +0 -1
- package/dist/lib/element-lookup.d.ts +0 -58
- package/dist/lib/element-lookup.js +0 -126
- package/dist/lib/file-loader.d.ts +0 -8
- package/dist/lib/file-loader.js +0 -108
- package/dist/lib/flow-utils.d.ts +0 -53
- package/dist/lib/flow-utils.js +0 -348
- package/dist/lib/format.d.ts +0 -10
- package/dist/lib/format.js +0 -23
- package/dist/lib/project-config.d.ts +0 -27
- package/dist/lib/slice-utils.d.ts +0 -59
- package/dist/lib/slice-utils.js +0 -140
- package/dist/local/slices/index.d.ts +0 -11
- package/dist/local/slices/index.js +0 -13
- package/dist/projection.d.ts +0 -3
- package/dist/projection.js +0 -828
- package/dist/slices/add-field/index.d.ts +0 -8
- package/dist/slices/add-field/index.js +0 -211
- package/dist/slices/add-scenario/index.d.ts +0 -27
- package/dist/slices/codegen-chapter-events/index.d.ts +0 -2
- package/dist/slices/codegen-chapter-events/index.js +0 -145
- package/dist/slices/codegen-slice/index.d.ts +0 -2
- package/dist/slices/codegen-slice/index.js +0 -448
- package/dist/slices/create-automation-slice/index.d.ts +0 -2
- package/dist/slices/create-automation-slice/index.js +0 -304
- package/dist/slices/create-flow/index.d.ts +0 -2
- package/dist/slices/create-flow/index.js +0 -183
- package/dist/slices/create-state-change-slice/index.d.ts +0 -2
- package/dist/slices/create-state-change-slice/index.js +0 -263
- package/dist/slices/create-state-view-slice/index.d.ts +0 -2
- package/dist/slices/create-state-view-slice/index.js +0 -128
- package/dist/slices/diff/index.d.ts +0 -11
- package/dist/slices/diff/index.js +0 -293
- package/dist/slices/export-eventmodel-to-json/index.d.ts +0 -2
- package/dist/slices/export-eventmodel-to-json/index.js +0 -355
- package/dist/slices/git/index.d.ts +0 -2
- package/dist/slices/git/index.js +0 -125
- package/dist/slices/guide/guides/codegen.d.ts +0 -5
- package/dist/slices/guide/guides/connect-slices.d.ts +0 -5
- package/dist/slices/guide/guides/create-slices.d.ts +0 -5
- package/dist/slices/guide/guides/explore.d.ts +0 -5
- package/dist/slices/guide/guides/information-flow.d.ts +0 -5
- package/dist/slices/guide/guides/scenarios.d.ts +0 -5
- package/dist/slices/guide/index.d.ts +0 -1
- package/dist/slices/import/index.d.ts +0 -8
- package/dist/slices/import/index.js +0 -63
- package/dist/slices/init/index.d.ts +0 -5
- package/dist/slices/list-chapters/index.d.ts +0 -3
- package/dist/slices/list-chapters/index.js +0 -21
- package/dist/slices/list-commands/index.d.ts +0 -3
- package/dist/slices/list-commands/index.js +0 -20
- package/dist/slices/list-events/index.d.ts +0 -3
- package/dist/slices/list-events/index.js +0 -98
- package/dist/slices/list-processors/index.d.ts +0 -3
- package/dist/slices/list-processors/index.js +0 -20
- package/dist/slices/list-readmodels/index.d.ts +0 -3
- package/dist/slices/list-readmodels/index.js +0 -21
- package/dist/slices/list-scenarios/index.d.ts +0 -3
- package/dist/slices/list-scenarios/index.js +0 -35
- package/dist/slices/list-screens/index.d.ts +0 -3
- package/dist/slices/list-screens/index.js +0 -47
- package/dist/slices/list-slices/index.d.ts +0 -3
- package/dist/slices/list-slices/index.js +0 -35
- package/dist/slices/login/index.d.ts +0 -1
- package/dist/slices/logout/index.d.ts +0 -1
- package/dist/slices/map-fields/index.d.ts +0 -2
- package/dist/slices/map-fields/index.js +0 -269
- package/dist/slices/mark-slice-status/index.d.ts +0 -2
- package/dist/slices/mark-slice-status/index.js +0 -31
- package/dist/slices/merge/index.d.ts +0 -19
- package/dist/slices/merge/index.js +0 -147
- package/dist/slices/open-app/index.d.ts +0 -1
- package/dist/slices/remove-field/index.d.ts +0 -8
- package/dist/slices/remove-field/index.js +0 -167
- package/dist/slices/remove-scenario/index.d.ts +0 -2
- package/dist/slices/remove-scenario/index.js +0 -77
- package/dist/slices/search/index.d.ts +0 -3
- package/dist/slices/search/index.js +0 -302
- package/dist/slices/show-actor/index.d.ts +0 -4
- package/dist/slices/show-actor/index.js +0 -115
- package/dist/slices/show-aggregate/index.d.ts +0 -3
- package/dist/slices/show-aggregate/index.js +0 -108
- package/dist/slices/show-aggregate-completeness/index.d.ts +0 -4
- package/dist/slices/show-aggregate-completeness/index.js +0 -181
- package/dist/slices/show-chapter/index.d.ts +0 -3
- package/dist/slices/show-chapter/index.js +0 -195
- package/dist/slices/show-command/index.d.ts +0 -3
- package/dist/slices/show-command/index.js +0 -133
- package/dist/slices/show-completeness/index.d.ts +0 -4
- package/dist/slices/show-completeness/index.js +0 -731
- package/dist/slices/show-event/index.d.ts +0 -3
- package/dist/slices/show-event/index.js +0 -118
- package/dist/slices/show-model-summary/index.d.ts +0 -3
- package/dist/slices/show-model-summary/index.js +0 -31
- package/dist/slices/show-processor/index.d.ts +0 -3
- package/dist/slices/show-processor/index.js +0 -111
- package/dist/slices/show-readmodel/index.d.ts +0 -3
- package/dist/slices/show-readmodel/index.js +0 -158
- package/dist/slices/show-scenario/index.d.ts +0 -3
- package/dist/slices/show-scenario/index.js +0 -196
- package/dist/slices/show-screen/index.d.ts +0 -3
- package/dist/slices/show-screen/index.js +0 -139
- package/dist/slices/show-slice/index.d.ts +0 -3
- package/dist/slices/show-slice/index.js +0 -696
- package/dist/slices/update-field/index.d.ts +0 -15
- package/dist/slices/update-field/index.js +0 -208
- package/dist/slices/whoami/index.d.ts +0 -2
- package/dist/types.d.ts +0 -195
- package/dist/types.js +0 -1
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { escapeXml, outputJson } from '../../lib/format.js';
|
|
2
|
-
import { findElementOrExit } from '../../lib/element-lookup.js';
|
|
3
|
-
function formatFieldXml(field, indent) {
|
|
4
|
-
const attrs = [
|
|
5
|
-
`name="${escapeXml(field.name)}"`,
|
|
6
|
-
`type="${field.fieldType}"`,
|
|
7
|
-
];
|
|
8
|
-
if (field.isList)
|
|
9
|
-
attrs.push('list="true"');
|
|
10
|
-
if (field.isGenerated)
|
|
11
|
-
attrs.push('generated="true"');
|
|
12
|
-
if (field.isOptional)
|
|
13
|
-
attrs.push('optional="true"');
|
|
14
|
-
if (field.isUserInput)
|
|
15
|
-
attrs.push('user-input="true"');
|
|
16
|
-
if (field.subfields && field.subfields.length > 0) {
|
|
17
|
-
let xml = `${indent}<field ${attrs.join(' ')}>\n`;
|
|
18
|
-
for (const subfield of field.subfields) {
|
|
19
|
-
xml += formatFieldXml(subfield, indent + ' ');
|
|
20
|
-
}
|
|
21
|
-
xml += `${indent}</field>\n`;
|
|
22
|
-
return xml;
|
|
23
|
-
}
|
|
24
|
-
return `${indent}<field ${attrs.join(' ')}/>\n`;
|
|
25
|
-
}
|
|
26
|
-
function fieldToJson(field) {
|
|
27
|
-
const result = {
|
|
28
|
-
name: field.name,
|
|
29
|
-
type: field.fieldType
|
|
30
|
-
};
|
|
31
|
-
if (field.isList)
|
|
32
|
-
result.list = true;
|
|
33
|
-
if (field.isGenerated)
|
|
34
|
-
result.generated = true;
|
|
35
|
-
if (field.isOptional)
|
|
36
|
-
result.optional = true;
|
|
37
|
-
if (field.isUserInput)
|
|
38
|
-
result.userInput = true;
|
|
39
|
-
if (field.subfields && field.subfields.length > 0) {
|
|
40
|
-
result.subfields = field.subfields.map(fieldToJson);
|
|
41
|
-
}
|
|
42
|
-
return result;
|
|
43
|
-
}
|
|
44
|
-
// Find which slice contains a screen
|
|
45
|
-
function findSliceForScreen(model, screen) {
|
|
46
|
-
for (const slice of model.slices.values()) {
|
|
47
|
-
const centerX = screen.position.x + screen.width / 2;
|
|
48
|
-
const centerY = screen.position.y + screen.height / 2;
|
|
49
|
-
if (centerX >= slice.position.x &&
|
|
50
|
-
centerX <= slice.position.x + slice.size.width &&
|
|
51
|
-
centerY >= slice.position.y &&
|
|
52
|
-
centerY <= slice.position.y + slice.size.height) {
|
|
53
|
-
return slice.name;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return null;
|
|
57
|
-
}
|
|
58
|
-
// Find which actor contains a screen
|
|
59
|
-
function findActorForScreen(model, screen) {
|
|
60
|
-
const centerX = screen.position.x + screen.width / 2;
|
|
61
|
-
const centerY = screen.position.y + screen.height / 2;
|
|
62
|
-
for (const actor of model.actors.values()) {
|
|
63
|
-
const bounds = {
|
|
64
|
-
left: actor.position.x,
|
|
65
|
-
right: actor.position.x + actor.size.width,
|
|
66
|
-
top: actor.position.y,
|
|
67
|
-
bottom: actor.position.y + actor.size.height,
|
|
68
|
-
};
|
|
69
|
-
if (centerX >= bounds.left && centerX <= bounds.right &&
|
|
70
|
-
centerY >= bounds.top && centerY <= bounds.bottom) {
|
|
71
|
-
return actor;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
export function showScreen(model, name, format) {
|
|
77
|
-
// Filter out linked copies
|
|
78
|
-
const originalScreens = new Map([...model.screens.entries()].filter(([_, s]) => !s.originalNodeId));
|
|
79
|
-
const screen = findElementOrExit(originalScreens, name, 'screen');
|
|
80
|
-
const slice = findSliceForScreen(model, screen);
|
|
81
|
-
const actor = findActorForScreen(model, screen);
|
|
82
|
-
// Find incoming flows (ReadModel → Screen)
|
|
83
|
-
const incomingFlows = [...model.flows.values()].filter(f => f.flowType === 'ReadModelToScreen' && f.targetId === screen.id);
|
|
84
|
-
// Find outgoing flows (Screen → Command)
|
|
85
|
-
const outgoingFlows = [...model.flows.values()].filter(f => f.flowType === 'ScreenToCommand' && f.sourceId === screen.id);
|
|
86
|
-
if (format === 'json') {
|
|
87
|
-
const result = {
|
|
88
|
-
id: screen.id,
|
|
89
|
-
name: screen.name,
|
|
90
|
-
fields: screen.fields.map(fieldToJson)
|
|
91
|
-
};
|
|
92
|
-
if (slice)
|
|
93
|
-
result.slice = slice;
|
|
94
|
-
if (actor)
|
|
95
|
-
result.actor = actor.name;
|
|
96
|
-
if (incomingFlows.length > 0) {
|
|
97
|
-
result.displaysFrom = incomingFlows.map(flow => {
|
|
98
|
-
const rm = model.readModels.get(flow.sourceId);
|
|
99
|
-
return rm?.name ?? flow.sourceId;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
if (outgoingFlows.length > 0) {
|
|
103
|
-
result.triggersCommands = outgoingFlows.map(flow => {
|
|
104
|
-
const cmd = model.commands.get(flow.targetId);
|
|
105
|
-
return cmd?.name ?? flow.targetId;
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
outputJson(result);
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
// XML output
|
|
112
|
-
const sliceAttr = slice ? ` slice="${escapeXml(slice)}"` : '';
|
|
113
|
-
const actorAttr = actor ? ` actor="${escapeXml(actor.name)}"` : '';
|
|
114
|
-
console.log(`<screen id="${screen.id}" name="${escapeXml(screen.name)}"${sliceAttr}${actorAttr}>`);
|
|
115
|
-
if (screen.fields.length > 0) {
|
|
116
|
-
console.log(' <fields>');
|
|
117
|
-
for (const field of screen.fields) {
|
|
118
|
-
process.stdout.write(formatFieldXml(field, ' '));
|
|
119
|
-
}
|
|
120
|
-
console.log(' </fields>');
|
|
121
|
-
}
|
|
122
|
-
if (incomingFlows.length > 0) {
|
|
123
|
-
console.log(' <displays-from>');
|
|
124
|
-
for (const flow of incomingFlows) {
|
|
125
|
-
const rm = model.readModels.get(flow.sourceId);
|
|
126
|
-
console.log(` <read-model name="${escapeXml(rm?.name ?? flow.sourceId)}"/>`);
|
|
127
|
-
}
|
|
128
|
-
console.log(' </displays-from>');
|
|
129
|
-
}
|
|
130
|
-
if (outgoingFlows.length > 0) {
|
|
131
|
-
console.log(' <triggers-commands>');
|
|
132
|
-
for (const flow of outgoingFlows) {
|
|
133
|
-
const cmd = model.commands.get(flow.targetId);
|
|
134
|
-
console.log(` <command name="${escapeXml(cmd?.name ?? flow.targetId)}"/>`);
|
|
135
|
-
}
|
|
136
|
-
console.log(' </triggers-commands>');
|
|
137
|
-
}
|
|
138
|
-
console.log('</screen>');
|
|
139
|
-
}
|