@fairfox/polly 0.72.0 → 0.73.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/src/elysia/index.js +464 -4
- package/dist/src/elysia/index.js.map +6 -4
- package/dist/src/peer.d.ts +2 -0
- package/dist/src/peer.js +468 -4
- package/dist/src/peer.js.map +8 -5
- package/dist/src/polly-ui/ActionInput.d.ts +2 -1
- package/dist/src/polly-ui/ActionSelect.d.ts +2 -1
- package/dist/src/polly-ui/Button.d.ts +4 -0
- package/dist/src/polly-ui/Cluster.d.ts +2 -1
- package/dist/src/polly-ui/Code.d.ts +2 -1
- package/dist/src/polly-ui/Surface.d.ts +12 -1
- package/dist/src/polly-ui/Text.d.ts +23 -11
- package/dist/src/polly-ui/index.css +42 -9
- package/dist/src/polly-ui/index.js +59 -6
- package/dist/src/polly-ui/index.js.map +11 -10
- package/dist/src/polly-ui/internal/passthrough.d.ts +25 -0
- package/dist/src/polly-ui/styles.css +57 -9
- package/dist/src/polly-ui/theme.css +1 -0
- package/dist/src/shared/lib/peer-repo-server.d.ts +18 -0
- package/dist/src/shared/lib/sweep-sealed.d.ts +111 -0
- package/dist/tools/test/src/browser/run.js +42 -33
- package/dist/tools/test/src/browser/run.js.map +6 -5
- package/dist/tools/test/src/browser/runner-core.d.ts +32 -0
- package/dist/tools/test/src/e2e-mesh/index.js +193 -171
- package/dist/tools/test/src/e2e-mesh/index.js.map +4 -4
- package/dist/tools/test/src/visual/index.js +248 -229
- package/dist/tools/test/src/visual/index.js.map +5 -5
- package/dist/tools/verify/specs/tla/MeshSeed.cfg +27 -0
- package/dist/tools/verify/specs/tla/MeshSeed.tla +179 -0
- package/dist/tools/verify/specs/tla/README.md +11 -1
- package/dist/tools/verify/src/cli.js +55 -1
- package/dist/tools/verify/src/cli.js.map +6 -5
- package/dist/tools/visualize/src/cli.js +72 -2
- package/dist/tools/visualize/src/cli.js.map +5 -5
- package/package.json +3 -2
|
@@ -4456,7 +4456,7 @@ class ArchitectureAnalyzer {
|
|
|
4456
4456
|
}
|
|
4457
4457
|
}
|
|
4458
4458
|
const handlerExtractor = new HandlerExtractor(this.options.tsConfigPath, contextOverrides.size > 0 ? contextOverrides : undefined);
|
|
4459
|
-
const { handlers } = handlerExtractor.extractHandlers();
|
|
4459
|
+
const { handlers, meshOrPeerSignals } = handlerExtractor.extractHandlers();
|
|
4460
4460
|
const contexts = this.analyzeContexts(entryPoints, handlers);
|
|
4461
4461
|
const flowAnalyzer = new FlowAnalyzer(this.options.tsConfigPath, handlers, contextOverrides.size > 0 ? contextOverrides : undefined);
|
|
4462
4462
|
const messageFlows = flowAnalyzer.analyzeFlows();
|
|
@@ -4473,6 +4473,7 @@ class ArchitectureAnalyzer {
|
|
|
4473
4473
|
contexts,
|
|
4474
4474
|
messageFlows,
|
|
4475
4475
|
integrations,
|
|
4476
|
+
...meshOrPeerSignals.length > 0 ? { meshOrPeerSignals } : {},
|
|
4476
4477
|
...adrs.adrs.length > 0 ? { adrs } : {},
|
|
4477
4478
|
...repository ? { repository } : {}
|
|
4478
4479
|
};
|
|
@@ -4628,6 +4629,16 @@ var DEFAULT_ELEMENT_STYLES = {
|
|
|
4628
4629
|
Container: {
|
|
4629
4630
|
background: DEFAULT_COLORS.container,
|
|
4630
4631
|
color: DEFAULT_COLORS.textLight
|
|
4632
|
+
},
|
|
4633
|
+
"Mesh Document": {
|
|
4634
|
+
shape: "Cylinder",
|
|
4635
|
+
background: DEFAULT_COLORS.subscribeHandler,
|
|
4636
|
+
color: DEFAULT_COLORS.textLight
|
|
4637
|
+
},
|
|
4638
|
+
"Peer Document": {
|
|
4639
|
+
shape: "Cylinder",
|
|
4640
|
+
background: DEFAULT_COLORS.queryHandler,
|
|
4641
|
+
color: DEFAULT_COLORS.textDark
|
|
4631
4642
|
}
|
|
4632
4643
|
};
|
|
4633
4644
|
var DEFAULT_RELATIONSHIP_STYLES = {
|
|
@@ -4749,6 +4760,9 @@ class StructurizrDSLGenerator {
|
|
|
4749
4760
|
for (const [contextType, contextInfo] of Object.entries(this.analysis.contexts)) {
|
|
4750
4761
|
parts.push(this.generateContainer(contextType, contextInfo));
|
|
4751
4762
|
}
|
|
4763
|
+
const meshDocs = this.generateMeshDocuments();
|
|
4764
|
+
if (meshDocs)
|
|
4765
|
+
parts.push(meshDocs);
|
|
4752
4766
|
parts.push(this.generateContainerRelationships());
|
|
4753
4767
|
parts.push(" }");
|
|
4754
4768
|
return parts.join(`
|
|
@@ -4769,6 +4783,45 @@ class StructurizrDSLGenerator {
|
|
|
4769
4783
|
return parts.join(`
|
|
4770
4784
|
`);
|
|
4771
4785
|
}
|
|
4786
|
+
generateMeshDocuments() {
|
|
4787
|
+
const signals = this.analysis.meshOrPeerSignals ?? [];
|
|
4788
|
+
if (signals.length === 0)
|
|
4789
|
+
return "";
|
|
4790
|
+
const parts = [];
|
|
4791
|
+
const seen = new Set;
|
|
4792
|
+
for (const sig of signals) {
|
|
4793
|
+
if (seen.has(sig.key))
|
|
4794
|
+
continue;
|
|
4795
|
+
seen.add(sig.key);
|
|
4796
|
+
const kindLabel = sig.kind === "mesh" ? "Mesh Document" : "Peer Document";
|
|
4797
|
+
const description = `${kindLabel} — deriveDocumentId('${sig.key}')`;
|
|
4798
|
+
parts.push(` ${this.meshDocId(sig.key)} = container "${this.escape(sig.key)}" "${this.escape(description)}" "$${sig.kind}State" {`);
|
|
4799
|
+
parts.push(` tags "${kindLabel}"`);
|
|
4800
|
+
parts.push(" }");
|
|
4801
|
+
}
|
|
4802
|
+
return parts.join(`
|
|
4803
|
+
`);
|
|
4804
|
+
}
|
|
4805
|
+
meshDocId(key) {
|
|
4806
|
+
return `mesh_doc_${this.toId(key)}`;
|
|
4807
|
+
}
|
|
4808
|
+
contextForFilePath(filePath) {
|
|
4809
|
+
const contextKeys = Object.keys(this.analysis.contexts);
|
|
4810
|
+
if (contextKeys.length === 1)
|
|
4811
|
+
return contextKeys[0];
|
|
4812
|
+
let best;
|
|
4813
|
+
for (const [context, info] of Object.entries(this.analysis.contexts)) {
|
|
4814
|
+
const entry = info.entryPoint;
|
|
4815
|
+
if (!entry)
|
|
4816
|
+
continue;
|
|
4817
|
+
const dir = entry.slice(0, entry.lastIndexOf("/") + 1);
|
|
4818
|
+
if (dir.length > 0 && filePath.includes(dir)) {
|
|
4819
|
+
if (!best || dir.length > best.length)
|
|
4820
|
+
best = { context, length: dir.length };
|
|
4821
|
+
}
|
|
4822
|
+
}
|
|
4823
|
+
return best?.context;
|
|
4824
|
+
}
|
|
4772
4825
|
generateComponents(contextType, contextInfo) {
|
|
4773
4826
|
const parts = [];
|
|
4774
4827
|
const componentDefs = this.buildComponentDefinitionsFromHandlers(contextInfo, contextType);
|
|
@@ -5089,9 +5142,26 @@ class StructurizrDSLGenerator {
|
|
|
5089
5142
|
parts.push(...this.generateUserRelationships());
|
|
5090
5143
|
parts.push(...this.generateMessageFlowRelationships());
|
|
5091
5144
|
parts.push(...this.generateExternalAPIRelationships());
|
|
5145
|
+
parts.push(...this.generateMeshRelationships());
|
|
5092
5146
|
return parts.join(`
|
|
5093
5147
|
`);
|
|
5094
5148
|
}
|
|
5149
|
+
generateMeshRelationships() {
|
|
5150
|
+
const signals = this.analysis.meshOrPeerSignals ?? [];
|
|
5151
|
+
const parts = [];
|
|
5152
|
+
const seen = new Set;
|
|
5153
|
+
for (const sig of signals) {
|
|
5154
|
+
const context = this.contextForFilePath(sig.filePath);
|
|
5155
|
+
if (!context)
|
|
5156
|
+
continue;
|
|
5157
|
+
const edgeKey = `${context}->${sig.key}`;
|
|
5158
|
+
if (seen.has(edgeKey))
|
|
5159
|
+
continue;
|
|
5160
|
+
seen.add(edgeKey);
|
|
5161
|
+
parts.push(` extension.${context} -> extension.${this.meshDocId(sig.key)} "syncs ${this.escape(sig.key)}"`);
|
|
5162
|
+
}
|
|
5163
|
+
return parts;
|
|
5164
|
+
}
|
|
5095
5165
|
generateUserRelationships() {
|
|
5096
5166
|
const parts = [];
|
|
5097
5167
|
const uiContexts = ["popup", "options", "devtools"];
|
|
@@ -6290,4 +6360,4 @@ main().catch((_error) => {
|
|
|
6290
6360
|
process.exit(1);
|
|
6291
6361
|
});
|
|
6292
6362
|
|
|
6293
|
-
//# debugId=
|
|
6363
|
+
//# debugId=D0F61C41F83644F864756E2164756E21
|