@anlyx/core 0.1.2 → 0.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/README.md +4 -2
- package/dist/config.d.ts +22 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -4
- package/dist/config.js.map +1 -1
- package/dist/flow-spec/normalize.d.ts +7 -0
- package/dist/flow-spec/normalize.d.ts.map +1 -0
- package/dist/flow-spec/normalize.js +153 -0
- package/dist/flow-spec/normalize.js.map +1 -0
- package/dist/flow-spec/schema.d.ts +502 -0
- package/dist/flow-spec/schema.d.ts.map +1 -0
- package/dist/flow-spec/schema.js +186 -0
- package/dist/flow-spec/schema.js.map +1 -0
- package/dist/flow-spec/validate.d.ts +17 -0
- package/dist/flow-spec/validate.d.ts.map +1 -0
- package/dist/flow-spec/validate.js +231 -0
- package/dist/flow-spec/validate.js.map +1 -0
- package/dist/index.d.ts +16 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/live-flow.d.ts +103 -0
- package/dist/live-flow.d.ts.map +1 -0
- package/dist/live-flow.js +325 -0
- package/dist/live-flow.js.map +1 -0
- package/dist/project-normalize.d.ts +21 -0
- package/dist/project-normalize.d.ts.map +1 -0
- package/dist/project-normalize.js +27 -0
- package/dist/project-normalize.js.map +1 -0
- package/dist/project-schema.d.ts +885 -0
- package/dist/project-schema.d.ts.map +1 -0
- package/dist/project-schema.js +253 -0
- package/dist/project-schema.js.map +1 -0
- package/dist/schema.d.ts +1432 -38
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +171 -1
- package/dist/schema.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @anlyx/core
|
|
2
2
|
|
|
3
|
-
Core
|
|
3
|
+
Core Project JSON schemas, validation, normalization, and local viewer data
|
|
4
|
+
contracts for Anlyx.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
The public product path is `anlyx.project.json -> validate -> import -> local
|
|
7
|
+
4777 viewer`.
|
package/dist/config.d.ts
CHANGED
|
@@ -107,6 +107,14 @@ export declare const frontendConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<
|
|
|
107
107
|
export declare const serverConfigSchema: z.ZodObject<{
|
|
108
108
|
port: z.ZodOptional<z.ZodNumber>;
|
|
109
109
|
openBrowser: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
111
|
+
inject: "inject";
|
|
112
|
+
overlay: "overlay";
|
|
113
|
+
viewer: "viewer";
|
|
114
|
+
}>>;
|
|
115
|
+
}, z.core.$strict>;
|
|
116
|
+
export declare const devConfigSchema: z.ZodObject<{
|
|
117
|
+
command: z.ZodOptional<z.ZodString>;
|
|
110
118
|
}, z.core.$strict>;
|
|
111
119
|
export declare const anlyxConfigSchema: z.ZodObject<{
|
|
112
120
|
projectName: z.ZodString;
|
|
@@ -158,6 +166,14 @@ export declare const anlyxConfigSchema: z.ZodObject<{
|
|
|
158
166
|
server: z.ZodOptional<z.ZodObject<{
|
|
159
167
|
port: z.ZodOptional<z.ZodNumber>;
|
|
160
168
|
openBrowser: z.ZodOptional<z.ZodBoolean>;
|
|
169
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
170
|
+
inject: "inject";
|
|
171
|
+
overlay: "overlay";
|
|
172
|
+
viewer: "viewer";
|
|
173
|
+
}>>;
|
|
174
|
+
}, z.core.$strict>>;
|
|
175
|
+
dev: z.ZodOptional<z.ZodObject<{
|
|
176
|
+
command: z.ZodOptional<z.ZodString>;
|
|
161
177
|
}, z.core.$strict>>;
|
|
162
178
|
}, z.core.$strict>;
|
|
163
179
|
export type ViewportConfig = z.infer<typeof viewportConfigSchema>;
|
|
@@ -169,6 +185,7 @@ export type NextFrontendConfig = z.infer<typeof nextFrontendConfigSchema>;
|
|
|
169
185
|
export type ManualFrontendConfig = z.infer<typeof manualFrontendConfigSchema>;
|
|
170
186
|
export type FrontendConfig = z.infer<typeof frontendConfigSchema>;
|
|
171
187
|
export type ServerConfig = z.infer<typeof serverConfigSchema>;
|
|
188
|
+
export type DevConfig = z.infer<typeof devConfigSchema>;
|
|
172
189
|
export type AnlyxConfig = z.infer<typeof anlyxConfigSchema>;
|
|
173
190
|
export type NormalizedCaptureConfig = {
|
|
174
191
|
mode: "segments";
|
|
@@ -179,6 +196,10 @@ export type NormalizedCaptureConfig = {
|
|
|
179
196
|
export type NormalizedServerConfig = {
|
|
180
197
|
port: number;
|
|
181
198
|
openBrowser: boolean;
|
|
199
|
+
mode: "inject" | "overlay" | "viewer";
|
|
200
|
+
};
|
|
201
|
+
export type NormalizedDevConfig = {
|
|
202
|
+
command?: string;
|
|
182
203
|
};
|
|
183
204
|
export type NormalizedSpringBackendConfig = SpringBackendConfig & {
|
|
184
205
|
maxMainDepth: number;
|
|
@@ -201,6 +222,7 @@ export type NormalizedAnlyxConfig = {
|
|
|
201
222
|
backend: NormalizedBackendConfig;
|
|
202
223
|
frontend: NormalizedFrontendConfig;
|
|
203
224
|
server: NormalizedServerConfig;
|
|
225
|
+
dev: NormalizedDevConfig;
|
|
204
226
|
};
|
|
205
227
|
export declare function defineConfig<const TConfig extends AnlyxConfig>(config: TConfig): TConfig;
|
|
206
228
|
export declare function parseConfig(value: unknown): AnlyxConfig;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B;AAED,eAAO,MAAM,oBAAoB;;;kBAKtB,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;kBAOrB,CAAC;AAEZ,eAAO,MAAM,yBAAyB;;;;;;;;;kBAW3B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;kBAM5B,CAAC;AAEZ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;4BAG9B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;kBAU1B,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;kBAQ5B,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAG/B,CAAC;AAEH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -69,7 +69,13 @@ export const frontendConfigSchema = z.discriminatedUnion("type", [
|
|
|
69
69
|
export const serverConfigSchema = z
|
|
70
70
|
.object({
|
|
71
71
|
port: z.number().optional(),
|
|
72
|
-
openBrowser: z.boolean().optional()
|
|
72
|
+
openBrowser: z.boolean().optional(),
|
|
73
|
+
mode: z.enum(["inject", "overlay", "viewer"]).optional()
|
|
74
|
+
})
|
|
75
|
+
.strict();
|
|
76
|
+
export const devConfigSchema = z
|
|
77
|
+
.object({
|
|
78
|
+
command: z.string().optional()
|
|
73
79
|
})
|
|
74
80
|
.strict();
|
|
75
81
|
export const anlyxConfigSchema = z
|
|
@@ -77,7 +83,8 @@ export const anlyxConfigSchema = z
|
|
|
77
83
|
projectName: z.string(),
|
|
78
84
|
backend: backendConfigSchema,
|
|
79
85
|
frontend: frontendConfigSchema,
|
|
80
|
-
server: serverConfigSchema.optional()
|
|
86
|
+
server: serverConfigSchema.optional(),
|
|
87
|
+
dev: devConfigSchema.optional()
|
|
81
88
|
})
|
|
82
89
|
.strict();
|
|
83
90
|
export function defineConfig(config) {
|
|
@@ -98,8 +105,10 @@ export function normalizeConfig(value) {
|
|
|
98
105
|
frontend: normalizeFrontendConfig(config.frontend),
|
|
99
106
|
server: {
|
|
100
107
|
port: config.server?.port ?? 4777,
|
|
101
|
-
openBrowser: config.server?.openBrowser ?? true
|
|
102
|
-
|
|
108
|
+
openBrowser: config.server?.openBrowser ?? true,
|
|
109
|
+
mode: config.server?.mode ?? "inject"
|
|
110
|
+
},
|
|
111
|
+
dev: normalizeDevConfig(config.dev)
|
|
103
112
|
};
|
|
104
113
|
}
|
|
105
114
|
function normalizeBackendConfig(backend) {
|
|
@@ -133,6 +142,13 @@ function normalizeCaptureConfig(capture) {
|
|
|
133
142
|
}
|
|
134
143
|
return normalized;
|
|
135
144
|
}
|
|
145
|
+
function normalizeDevConfig(dev) {
|
|
146
|
+
const normalized = {};
|
|
147
|
+
if (dev?.command !== undefined) {
|
|
148
|
+
normalized.command = dev.command;
|
|
149
|
+
}
|
|
150
|
+
return normalized;
|
|
151
|
+
}
|
|
136
152
|
function formatConfigIssues(issues) {
|
|
137
153
|
const details = issues.map((issue) => {
|
|
138
154
|
const path = issue.path.length > 0 ? issue.path.join(".") : "config";
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ReportData, ScanResult } from "../schema.js";
|
|
2
|
+
import type { AnlyxFlowFile } from "./schema.js";
|
|
3
|
+
export type NormalizeFlowFileToScanResult = (file: AnlyxFlowFile) => ScanResult;
|
|
4
|
+
export type NormalizeFlowFileToReportData = (file: AnlyxFlowFile) => ReportData;
|
|
5
|
+
export declare function normalizeFlowFileToScanResult(file: AnlyxFlowFile): ScanResult;
|
|
6
|
+
export declare function normalizeFlowFileToReportData(file: AnlyxFlowFile): ReportData;
|
|
7
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/flow-spec/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,UAAU,EACV,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,aAAa,EAMd,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,6BAA6B,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,UAAU,CAAC;AAChF,MAAM,MAAM,6BAA6B,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,UAAU,CAAC;AAIhF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAU7E;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAE7E"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
const API_NODE_TYPES = new Set(["api.request", "api.route"]);
|
|
2
|
+
export function normalizeFlowFileToScanResult(file) {
|
|
3
|
+
return {
|
|
4
|
+
projectName: file.project.name,
|
|
5
|
+
generatedAt: file.snapshot?.createdAt ?? new Date().toISOString(),
|
|
6
|
+
schemaVersion: "0.1",
|
|
7
|
+
endpoints: file.flows.flatMap((flow) => flow.nodes.filter(isApiNode).map(toEndpoint)),
|
|
8
|
+
flows: file.flows.map((flow) => toEndpointFlow(flow, file)),
|
|
9
|
+
pages: [],
|
|
10
|
+
warnings: []
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export function normalizeFlowFileToReportData(file) {
|
|
14
|
+
return normalizeFlowFileToScanResult(file);
|
|
15
|
+
}
|
|
16
|
+
function toEndpoint(node) {
|
|
17
|
+
const endpoint = parseEndpointLabel(node.label);
|
|
18
|
+
return {
|
|
19
|
+
id: node.id,
|
|
20
|
+
method: endpoint.method,
|
|
21
|
+
path: endpoint.path,
|
|
22
|
+
supportLevel: "basic",
|
|
23
|
+
confidence: confidenceFromStatus(node.status),
|
|
24
|
+
...(node.request ? { requestSchema: "Flow JSON request" } : {}),
|
|
25
|
+
...(node.response ? { responseSchema: "Flow JSON response" } : {})
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function toEndpointFlow(flow, file) {
|
|
29
|
+
const endpointId = flow.nodes.find(isApiNode)?.id ?? flow.nodes[0]?.id ?? flow.id;
|
|
30
|
+
return {
|
|
31
|
+
endpointId,
|
|
32
|
+
nodes: flow.nodes.map((node) => toViewerNode(node, file)),
|
|
33
|
+
edges: flow.edges.map(toViewerEdge),
|
|
34
|
+
mainPath: buildMainPath(flow),
|
|
35
|
+
subFlows: []
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
function toViewerNode(node, file) {
|
|
39
|
+
const metadata = {
|
|
40
|
+
...(node.metadata ?? {}),
|
|
41
|
+
flowJsonType: node.type
|
|
42
|
+
};
|
|
43
|
+
if (file.generatedBy) {
|
|
44
|
+
metadata.generatedBy = file.generatedBy;
|
|
45
|
+
}
|
|
46
|
+
if (file.snapshot) {
|
|
47
|
+
metadata.snapshot = file.snapshot;
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
id: node.id,
|
|
51
|
+
type: toViewerNodeType(node.type),
|
|
52
|
+
label: node.label,
|
|
53
|
+
confidence: confidenceFromStatus(node.status),
|
|
54
|
+
status: node.status,
|
|
55
|
+
...(node.timing ? { timing: node.timing } : {}),
|
|
56
|
+
...(node.evidenceIds ? { evidenceIds: node.evidenceIds } : {}),
|
|
57
|
+
...(node.request ? { request: node.request } : {}),
|
|
58
|
+
...(node.response ? { response: node.response } : {}),
|
|
59
|
+
metadata
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function toViewerEdge(edge, index) {
|
|
63
|
+
return {
|
|
64
|
+
id: edge.id ?? `edge:${edge.from}:${edge.to}:${index}`,
|
|
65
|
+
from: edge.from,
|
|
66
|
+
to: edge.to,
|
|
67
|
+
kind: "main",
|
|
68
|
+
...(edge.label ? { label: edge.label } : {}),
|
|
69
|
+
confidence: confidenceFromStatus(edge.status),
|
|
70
|
+
status: edge.status,
|
|
71
|
+
...(edge.timing ? { timing: edge.timing } : {}),
|
|
72
|
+
...(edge.evidenceIds ? { evidenceIds: edge.evidenceIds } : {}),
|
|
73
|
+
...(edge.metadata ? { metadata: edge.metadata } : {})
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function buildMainPath(flow) {
|
|
77
|
+
const firstNode = flow.nodes[0];
|
|
78
|
+
if (!firstNode) {
|
|
79
|
+
return [];
|
|
80
|
+
}
|
|
81
|
+
const nodeIds = new Set(flow.nodes.map((node) => node.id));
|
|
82
|
+
const path = [firstNode.id];
|
|
83
|
+
const visited = new Set(path);
|
|
84
|
+
let current = firstNode.id;
|
|
85
|
+
for (let step = 0; step < flow.edges.length; step += 1) {
|
|
86
|
+
const nextEdge = flow.edges.find((edge) => edge.from === current);
|
|
87
|
+
if (!nextEdge || visited.has(nextEdge.to) || !nodeIds.has(nextEdge.to)) {
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
path.push(nextEdge.to);
|
|
91
|
+
visited.add(nextEdge.to);
|
|
92
|
+
current = nextEdge.to;
|
|
93
|
+
}
|
|
94
|
+
return path;
|
|
95
|
+
}
|
|
96
|
+
function parseEndpointLabel(label) {
|
|
97
|
+
const match = /^(GET|POST|PUT|PATCH|DELETE)\s+(\S+)/.exec(label.trim());
|
|
98
|
+
if (!match) {
|
|
99
|
+
return {
|
|
100
|
+
method: "GET",
|
|
101
|
+
path: label
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
method: match[1],
|
|
106
|
+
path: match[2]
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function confidenceFromStatus(status) {
|
|
110
|
+
if (status === "observed" || status === "measured" || status === "source-matched") {
|
|
111
|
+
return "high";
|
|
112
|
+
}
|
|
113
|
+
if (status === "manual") {
|
|
114
|
+
return "medium";
|
|
115
|
+
}
|
|
116
|
+
if (status === "agent-inferred" || status === "not-proven") {
|
|
117
|
+
return "low";
|
|
118
|
+
}
|
|
119
|
+
return "unknown";
|
|
120
|
+
}
|
|
121
|
+
function isApiNode(node) {
|
|
122
|
+
return API_NODE_TYPES.has(node.type);
|
|
123
|
+
}
|
|
124
|
+
function toViewerNodeType(type) {
|
|
125
|
+
switch (type) {
|
|
126
|
+
case "ui.page":
|
|
127
|
+
case "ui.action":
|
|
128
|
+
case "ui.component":
|
|
129
|
+
return "page";
|
|
130
|
+
case "api.request":
|
|
131
|
+
case "api.route":
|
|
132
|
+
return "endpoint";
|
|
133
|
+
case "external":
|
|
134
|
+
return "externalApi";
|
|
135
|
+
case "response":
|
|
136
|
+
case "result":
|
|
137
|
+
return "schema";
|
|
138
|
+
case "middleware":
|
|
139
|
+
case "auth.session":
|
|
140
|
+
case "queue":
|
|
141
|
+
case "job":
|
|
142
|
+
return "utility";
|
|
143
|
+
case "controller":
|
|
144
|
+
case "service":
|
|
145
|
+
case "repository":
|
|
146
|
+
case "database":
|
|
147
|
+
case "unknown":
|
|
148
|
+
return type;
|
|
149
|
+
default:
|
|
150
|
+
return "unknown";
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/flow-spec/normalize.ts"],"names":[],"mappings":"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"}
|