@robotaccomplice/architext 1.0.0 → 1.1.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/README.md +14 -4
- package/THIRD_PARTY_NOTICES.md +59 -0
- package/docs/architecture/ROUTING_FRAMEWORK_COMPARISON.md +284 -0
- package/docs/architecture/ROUTING_PLAN.md +480 -0
- package/docs/architext/dist/assets/index-DMbdxljw.js +51 -0
- package/docs/architext/dist/assets/index-DvokFPhn.css +1 -0
- package/docs/architext/dist/assets/planningWorker-DY_nEecj.js +1 -0
- package/docs/architext/dist/index.html +2 -2
- package/docs/architext/src/main.tsx +450 -556
- package/docs/architext/src/routing/planDiagram.js +208 -0
- package/docs/architext/src/routing/planningWorker.js +15 -0
- package/docs/architext/src/routing/routeEdges.js +1484 -0
- package/docs/architext/src/styles.css +180 -1
- package/docs/architext/tsconfig.json +1 -2
- package/docs/assets/screenshots/architext-c4.png +0 -0
- package/docs/assets/screenshots/architext-data-risks.png +0 -0
- package/docs/assets/screenshots/architext-flows.png +0 -0
- package/docs/assets/screenshots/architext-sequence.png +0 -0
- package/package.json +9 -4
- package/docs/architext/dist/assets/index-BWZ6sEpA.js +0 -51
- package/docs/architext/dist/assets/index-iWLms0Pa.css +0 -1
|
@@ -467,6 +467,27 @@ input:focus {
|
|
|
467
467
|
gap: 6px;
|
|
468
468
|
}
|
|
469
469
|
|
|
470
|
+
.routing-style-control {
|
|
471
|
+
display: inline-flex;
|
|
472
|
+
overflow: hidden;
|
|
473
|
+
border: 1px solid var(--line);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
.routing-style-control button {
|
|
477
|
+
border: 0;
|
|
478
|
+
border-right: 1px solid var(--line);
|
|
479
|
+
background: var(--panel);
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
.routing-style-control button:last-child {
|
|
483
|
+
border-right: 0;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
.routing-style-control button.active {
|
|
487
|
+
background: var(--blue);
|
|
488
|
+
color: #fff;
|
|
489
|
+
}
|
|
490
|
+
|
|
470
491
|
.diagram-controls button {
|
|
471
492
|
min-height: 28px;
|
|
472
493
|
padding: 4px 7px;
|
|
@@ -554,6 +575,58 @@ input:focus {
|
|
|
554
575
|
min-height: 100%;
|
|
555
576
|
}
|
|
556
577
|
|
|
578
|
+
.routing-loading-overlay,
|
|
579
|
+
.routing-planning-error {
|
|
580
|
+
position: absolute;
|
|
581
|
+
left: 50%;
|
|
582
|
+
top: 50%;
|
|
583
|
+
z-index: 20;
|
|
584
|
+
display: inline-flex;
|
|
585
|
+
align-items: center;
|
|
586
|
+
gap: 10px;
|
|
587
|
+
max-width: min(360px, calc(100% - 32px));
|
|
588
|
+
padding: 10px 12px;
|
|
589
|
+
color: var(--ink);
|
|
590
|
+
background: rgba(17, 19, 22, 0.92);
|
|
591
|
+
border: 1px solid rgba(0, 219, 233, 0.42);
|
|
592
|
+
border-radius: 8px;
|
|
593
|
+
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.24);
|
|
594
|
+
transform: translate(-50%, -50%);
|
|
595
|
+
font-size: 13px;
|
|
596
|
+
font-weight: 800;
|
|
597
|
+
pointer-events: none;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
.routing-spinner {
|
|
601
|
+
width: 16px;
|
|
602
|
+
height: 16px;
|
|
603
|
+
flex: 0 0 auto;
|
|
604
|
+
border: 2px solid rgba(185, 202, 203, 0.32);
|
|
605
|
+
border-top-color: var(--blue);
|
|
606
|
+
border-radius: 50%;
|
|
607
|
+
animation: routing-spin 800ms linear infinite;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
.routing-planning-error {
|
|
611
|
+
flex-direction: column;
|
|
612
|
+
align-items: flex-start;
|
|
613
|
+
min-width: min(360px, calc(100% - 32px));
|
|
614
|
+
border-color: rgba(255, 180, 171, 0.56);
|
|
615
|
+
color: var(--red);
|
|
616
|
+
pointer-events: auto;
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
.routing-planning-error span {
|
|
620
|
+
color: var(--ink);
|
|
621
|
+
font-weight: 500;
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
@keyframes routing-spin {
|
|
625
|
+
to {
|
|
626
|
+
transform: rotate(360deg);
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
|
|
557
630
|
.flow-lines {
|
|
558
631
|
position: absolute;
|
|
559
632
|
inset: 0;
|
|
@@ -919,6 +992,7 @@ input:focus {
|
|
|
919
992
|
border-color: var(--line-strong);
|
|
920
993
|
border-left-width: 3px;
|
|
921
994
|
background: var(--panel-2);
|
|
995
|
+
overflow: hidden;
|
|
922
996
|
}
|
|
923
997
|
|
|
924
998
|
.c4-node.selected {
|
|
@@ -927,9 +1001,13 @@ input:focus {
|
|
|
927
1001
|
}
|
|
928
1002
|
|
|
929
1003
|
.c4-node small {
|
|
1004
|
+
display: -webkit-box;
|
|
1005
|
+
overflow: hidden;
|
|
930
1006
|
color: var(--muted);
|
|
931
1007
|
font-size: 10px;
|
|
932
1008
|
line-height: 1.25;
|
|
1009
|
+
-webkit-box-orient: vertical;
|
|
1010
|
+
-webkit-line-clamp: 3;
|
|
933
1011
|
}
|
|
934
1012
|
|
|
935
1013
|
.c4-relationship {
|
|
@@ -957,12 +1035,13 @@ input:focus {
|
|
|
957
1035
|
left: 0;
|
|
958
1036
|
bottom: 0;
|
|
959
1037
|
display: flex;
|
|
1038
|
+
flex-wrap: wrap;
|
|
960
1039
|
gap: 6px;
|
|
961
1040
|
align-items: center;
|
|
962
1041
|
padding: 6px 8px;
|
|
963
1042
|
border-top: 1px solid var(--line);
|
|
964
1043
|
background: rgba(12, 14, 17, 0.95);
|
|
965
|
-
overflow:
|
|
1044
|
+
overflow: visible;
|
|
966
1045
|
}
|
|
967
1046
|
|
|
968
1047
|
.edge-chip,
|
|
@@ -987,6 +1066,106 @@ input:focus {
|
|
|
987
1066
|
border-color: var(--blue);
|
|
988
1067
|
}
|
|
989
1068
|
|
|
1069
|
+
.routing-debug-panel {
|
|
1070
|
+
position: sticky;
|
|
1071
|
+
left: 0;
|
|
1072
|
+
bottom: 0;
|
|
1073
|
+
display: grid;
|
|
1074
|
+
gap: 8px;
|
|
1075
|
+
max-height: 220px;
|
|
1076
|
+
padding: 8px;
|
|
1077
|
+
border-top: 1px solid var(--line-strong);
|
|
1078
|
+
background: rgba(9, 11, 14, 0.97);
|
|
1079
|
+
overflow: auto;
|
|
1080
|
+
font-family: var(--font-mono);
|
|
1081
|
+
font-size: 11px;
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
.routing-debug-geometry {
|
|
1085
|
+
pointer-events: none;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
.routing-debug-node {
|
|
1089
|
+
fill: none;
|
|
1090
|
+
stroke: rgba(250, 204, 21, 0.5);
|
|
1091
|
+
stroke-dasharray: 3 3;
|
|
1092
|
+
stroke-width: 1;
|
|
1093
|
+
}
|
|
1094
|
+
|
|
1095
|
+
.routing-debug-label {
|
|
1096
|
+
fill: rgba(34, 211, 238, 0.12);
|
|
1097
|
+
stroke: rgba(34, 211, 238, 0.8);
|
|
1098
|
+
stroke-width: 1;
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
.routing-debug-point {
|
|
1102
|
+
fill: var(--orange);
|
|
1103
|
+
stroke: #111827;
|
|
1104
|
+
stroke-width: 1;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
.routing-debug-route.warned .routing-debug-point {
|
|
1108
|
+
fill: #f87171;
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
.routing-debug-summary,
|
|
1112
|
+
.routing-debug-warnings,
|
|
1113
|
+
.routing-debug-routes {
|
|
1114
|
+
display: flex;
|
|
1115
|
+
flex-wrap: wrap;
|
|
1116
|
+
gap: 6px;
|
|
1117
|
+
align-items: center;
|
|
1118
|
+
}
|
|
1119
|
+
|
|
1120
|
+
.routing-debug-summary strong,
|
|
1121
|
+
.routing-debug-summary span,
|
|
1122
|
+
.routing-debug-warnings span,
|
|
1123
|
+
.routing-debug-routes details {
|
|
1124
|
+
border: 1px solid var(--line);
|
|
1125
|
+
padding: 3px 6px;
|
|
1126
|
+
background: rgba(18, 24, 28, 0.8);
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
.routing-debug-summary strong {
|
|
1130
|
+
color: var(--cyan);
|
|
1131
|
+
}
|
|
1132
|
+
|
|
1133
|
+
.routing-debug-warnings span {
|
|
1134
|
+
color: var(--orange);
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
.routing-debug-routes details {
|
|
1138
|
+
min-width: 190px;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
.routing-debug-routes summary {
|
|
1142
|
+
display: flex;
|
|
1143
|
+
justify-content: space-between;
|
|
1144
|
+
gap: 8px;
|
|
1145
|
+
cursor: pointer;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
.routing-debug-routes dl {
|
|
1149
|
+
display: grid;
|
|
1150
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
1151
|
+
gap: 3px 8px;
|
|
1152
|
+
margin: 6px 0 0 0;
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1155
|
+
.routing-debug-routes dt,
|
|
1156
|
+
.routing-debug-routes dd {
|
|
1157
|
+
margin: 0;
|
|
1158
|
+
}
|
|
1159
|
+
|
|
1160
|
+
.routing-debug-routes dt {
|
|
1161
|
+
color: var(--muted);
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
.routing-debug-routes dd {
|
|
1165
|
+
color: var(--ink);
|
|
1166
|
+
text-align: right;
|
|
1167
|
+
}
|
|
1168
|
+
|
|
990
1169
|
.steps {
|
|
991
1170
|
border-top: 1px solid var(--line);
|
|
992
1171
|
background: var(--surface);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"target": "ES2022",
|
|
4
4
|
"useDefineForClassFields": true,
|
|
5
5
|
"lib": ["DOM", "DOM.Iterable", "ES2022"],
|
|
6
|
-
"allowJs":
|
|
6
|
+
"allowJs": true,
|
|
7
7
|
"skipLibCheck": true,
|
|
8
8
|
"esModuleInterop": true,
|
|
9
9
|
"allowSyntheticDefaultImports": true,
|
|
@@ -18,4 +18,3 @@
|
|
|
18
18
|
},
|
|
19
19
|
"include": ["src"]
|
|
20
20
|
}
|
|
21
|
-
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robotaccomplice/architext",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Local JSON-backed architecture and dataflow viewer for engineering teams and LLM-maintained architecture maps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"docs/architext/vite.config.ts",
|
|
29
29
|
"tools",
|
|
30
30
|
"LICENSE",
|
|
31
|
-
"README.md"
|
|
31
|
+
"README.md",
|
|
32
|
+
"THIRD_PARTY_NOTICES.md"
|
|
32
33
|
],
|
|
33
34
|
"scripts": {
|
|
34
35
|
"architext": "node tools/architext-adopt.mjs serve .",
|
|
@@ -41,8 +42,12 @@
|
|
|
41
42
|
"cli": "node tools/architext-adopt.mjs",
|
|
42
43
|
"doctor": "node tools/architext-adopt.mjs doctor --target .",
|
|
43
44
|
"prepack": "npm run build",
|
|
44
|
-
"test": "node --test",
|
|
45
|
-
"
|
|
45
|
+
"test": "node --test --test-skip-pattern Roboticus",
|
|
46
|
+
"test:all": "node --test",
|
|
47
|
+
"test:benchmark": "node --test test/roboticus-routing.test.mjs",
|
|
48
|
+
"validate": "node docs/architext/tools/validate-architext.mjs",
|
|
49
|
+
"verify": "npm test && npm run validate && npm run build",
|
|
50
|
+
"release:check": "npm run verify && npm pack --dry-run"
|
|
46
51
|
},
|
|
47
52
|
"publishConfig": {
|
|
48
53
|
"access": "public"
|