@ours.network/messenger-server 1.0.30 → 1.0.31-nightly.10
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 +132 -24
- package/dist/chunks/{chunk-3EUXH4PV.js → chunk-O34PQ4M6.js} +15 -1
- package/dist/chunks/{server-WOE26ICL.js → server-Q2BQSKMJ.js} +3035 -2206
- package/dist/cli.js +14 -3
- package/package.json +8 -35
- package/dist/web/assets/abnfDiagram-N423BO3Z-C-iag_Nj.js +0 -2
- package/dist/web/assets/abnfDiagram-N423BO3Z-C-iag_Nj.js.map +0 -1
- package/dist/web/assets/arc-Bcm2sZNj.js +0 -2
- package/dist/web/assets/arc-Bcm2sZNj.js.map +0 -1
- package/dist/web/assets/architectureDiagram-T3A2C74G-Cf8AnIVp.js +0 -37
- package/dist/web/assets/architectureDiagram-T3A2C74G-Cf8AnIVp.js.map +0 -1
- package/dist/web/assets/blockDiagram-VBNYF7ZC-Ch9RzKmh.js +0 -133
- package/dist/web/assets/blockDiagram-VBNYF7ZC-Ch9RzKmh.js.map +0 -1
- package/dist/web/assets/browser-mCqw9EMW.js +0 -9
- package/dist/web/assets/browser-mCqw9EMW.js.map +0 -1
- package/dist/web/assets/c4Diagram-5PPSVZJV-vFBfClLI.js +0 -11
- package/dist/web/assets/c4Diagram-5PPSVZJV-vFBfClLI.js.map +0 -1
- package/dist/web/assets/channel-B7e1tuOt.js +0 -2
- package/dist/web/assets/channel-B7e1tuOt.js.map +0 -1
- package/dist/web/assets/chunk-2GRJ4B5K-CovDVQb1.js +0 -2
- package/dist/web/assets/chunk-2GRJ4B5K-CovDVQb1.js.map +0 -1
- package/dist/web/assets/chunk-2Q5K7J3B-DMq4JEsX.js +0 -2
- package/dist/web/assets/chunk-2Q5K7J3B-DMq4JEsX.js.map +0 -1
- package/dist/web/assets/chunk-5RXB4S5H-CrraHros.js +0 -232
- package/dist/web/assets/chunk-5RXB4S5H-CrraHros.js.map +0 -1
- package/dist/web/assets/chunk-5VM5RSS4-Dtkchtl6.js +0 -16
- package/dist/web/assets/chunk-5VM5RSS4-Dtkchtl6.js.map +0 -1
- package/dist/web/assets/chunk-6Q2QTUOP-C7hewS6C.js +0 -89
- package/dist/web/assets/chunk-6Q2QTUOP-C7hewS6C.js.map +0 -1
- package/dist/web/assets/chunk-GF5L2VYU-lRYUPE4E.js +0 -207
- package/dist/web/assets/chunk-GF5L2VYU-lRYUPE4E.js.map +0 -1
- package/dist/web/assets/chunk-JWPE2WC7-DmDsLF1N.js +0 -2
- package/dist/web/assets/chunk-JWPE2WC7-DmDsLF1N.js.map +0 -1
- package/dist/web/assets/chunk-KBJHAD2P-C4tA-lat.js +0 -2
- package/dist/web/assets/chunk-KBJHAD2P-C4tA-lat.js.map +0 -1
- package/dist/web/assets/chunk-RYQCIY6F-CWf-qdbG.js +0 -2
- package/dist/web/assets/chunk-RYQCIY6F-CWf-qdbG.js.map +0 -1
- package/dist/web/assets/chunk-XXDRQBXY-C0-3Uouc.js +0 -2
- package/dist/web/assets/chunk-XXDRQBXY-C0-3Uouc.js.map +0 -1
- package/dist/web/assets/classDiagram-JCYQIIEL-D0TeT53t.js +0 -2
- package/dist/web/assets/classDiagram-JCYQIIEL-D0TeT53t.js.map +0 -1
- package/dist/web/assets/classDiagram-v2-OCEON4UE-D0TeT53t.js +0 -2
- package/dist/web/assets/classDiagram-v2-OCEON4UE-D0TeT53t.js.map +0 -1
- package/dist/web/assets/cose-bilkent-JH36ORCC-C8vPfGok.js +0 -2
- package/dist/web/assets/cose-bilkent-JH36ORCC-C8vPfGok.js.map +0 -1
- package/dist/web/assets/cynefin-VYW2F7L2-Qz363tl0.js +0 -179
- package/dist/web/assets/cynefin-VYW2F7L2-Qz363tl0.js.map +0 -1
- package/dist/web/assets/cynefinDiagram-MW4NZA55-CCZz9fIq.js +0 -63
- package/dist/web/assets/cynefinDiagram-MW4NZA55-CCZz9fIq.js.map +0 -1
- package/dist/web/assets/cytoscape.esm-BvX2Lq_V.js +0 -332
- package/dist/web/assets/cytoscape.esm-BvX2Lq_V.js.map +0 -1
- package/dist/web/assets/dagre-VZM6K2ZE-TEwK45KH.js +0 -5
- package/dist/web/assets/dagre-VZM6K2ZE-TEwK45KH.js.map +0 -1
- package/dist/web/assets/defaultLocale-DX6XiGOO.js +0 -2
- package/dist/web/assets/defaultLocale-DX6XiGOO.js.map +0 -1
- package/dist/web/assets/diagram-7IWD3JNH-CpCoKfEC.js +0 -31
- package/dist/web/assets/diagram-7IWD3JNH-CpCoKfEC.js.map +0 -1
- package/dist/web/assets/diagram-B4RE2ZJO-CJS8Rz4d.js +0 -4
- package/dist/web/assets/diagram-B4RE2ZJO-CJS8Rz4d.js.map +0 -1
- package/dist/web/assets/diagram-LBJQPF4R-Dp-7zIWd.js +0 -25
- package/dist/web/assets/diagram-LBJQPF4R-Dp-7zIWd.js.map +0 -1
- package/dist/web/assets/diagram-Q27KOJAE-BeOOSo_Y.js +0 -25
- package/dist/web/assets/diagram-Q27KOJAE-BeOOSo_Y.js.map +0 -1
- package/dist/web/assets/diagram-UB23O5K3-wtVvpUaS.js +0 -42
- package/dist/web/assets/diagram-UB23O5K3-wtVvpUaS.js.map +0 -1
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-BUZU6kcO.js +0 -2
- package/dist/web/assets/ebnfDiagram-BXEA7PRR-BUZU6kcO.js.map +0 -1
- package/dist/web/assets/erDiagram-JOGREHBK-BeLhinfN.js +0 -86
- package/dist/web/assets/erDiagram-JOGREHBK-BeLhinfN.js.map +0 -1
- package/dist/web/assets/flowDiagram-UKHOOZJN-BWAl9KvX.js +0 -157
- package/dist/web/assets/flowDiagram-UKHOOZJN-BWAl9KvX.js.map +0 -1
- package/dist/web/assets/ganttDiagram-PKOTCBZU-BQM681Qz.js +0 -293
- package/dist/web/assets/ganttDiagram-PKOTCBZU-BQM681Qz.js.map +0 -1
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-B90O3LS2.js +0 -107
- package/dist/web/assets/gitGraphDiagram-DS77QQ5N-B90O3LS2.js.map +0 -1
- package/dist/web/assets/graph-gxHQN9-b.js +0 -2
- package/dist/web/assets/graph-gxHQN9-b.js.map +0 -1
- package/dist/web/assets/index-C65oKF4f.js +0 -332
- package/dist/web/assets/index-C65oKF4f.js.map +0 -1
- package/dist/web/assets/index-SAASLXJR.css +0 -1
- package/dist/web/assets/infoDiagram-6WML65LV-DL7wlrUp.js +0 -3
- package/dist/web/assets/infoDiagram-6WML65LV-DL7wlrUp.js.map +0 -1
- package/dist/web/assets/init-Gi6I4Gst.js +0 -2
- package/dist/web/assets/init-Gi6I4Gst.js.map +0 -1
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CGJ65gLl.js +0 -71
- package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CGJ65gLl.js.map +0 -1
- package/dist/web/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/dist/web/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/dist/web/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/dist/web/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/dist/web/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/dist/web/assets/journeyDiagram-NVQOT4AX-CWln_1Vi.js +0 -140
- package/dist/web/assets/journeyDiagram-NVQOT4AX-CWln_1Vi.js.map +0 -1
- package/dist/web/assets/jsQR-C-e-dPgH.js +0 -2
- package/dist/web/assets/jsQR-C-e-dPgH.js.map +0 -1
- package/dist/web/assets/kanban-definition-27J2QSJJ-Ch_LASS_.js +0 -90
- package/dist/web/assets/kanban-definition-27J2QSJJ-Ch_LASS_.js.map +0 -1
- package/dist/web/assets/katex-HP8lGamR.js +0 -258
- package/dist/web/assets/katex-HP8lGamR.js.map +0 -1
- package/dist/web/assets/layout-CpcJW2by.js +0 -2
- package/dist/web/assets/layout-CpcJW2by.js.map +0 -1
- package/dist/web/assets/linear-DLAFoEik.js +0 -2
- package/dist/web/assets/linear-DLAFoEik.js.map +0 -1
- package/dist/web/assets/map-CKPHyBGT.js +0 -2
- package/dist/web/assets/map-CKPHyBGT.js.map +0 -1
- package/dist/web/assets/mermaid.core-11YjnhKz.js +0 -315
- package/dist/web/assets/mermaid.core-11YjnhKz.js.map +0 -1
- package/dist/web/assets/mindmap-definition-FAOFIHXS-j-6HQbPv.js +0 -97
- package/dist/web/assets/mindmap-definition-FAOFIHXS-j-6HQbPv.js.map +0 -1
- package/dist/web/assets/ordinal-Cboi1Yqb.js +0 -2
- package/dist/web/assets/ordinal-Cboi1Yqb.js.map +0 -1
- package/dist/web/assets/pegDiagram-VL7TDLO6-1XHHRMUK.js +0 -2
- package/dist/web/assets/pegDiagram-VL7TDLO6-1XHHRMUK.js.map +0 -1
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-Cu-3GzNo.js +0 -40
- package/dist/web/assets/pieDiagram-7S7Q4E2Y-Cu-3GzNo.js.map +0 -1
- package/dist/web/assets/quadrantDiagram-CIZ2JOQS-DkP9Oaqo.js +0 -8
- package/dist/web/assets/quadrantDiagram-CIZ2JOQS-DkP9Oaqo.js.map +0 -1
- package/dist/web/assets/railroadDiagram-AXF67PYL-BFaH77uW.js +0 -2
- package/dist/web/assets/railroadDiagram-AXF67PYL-BFaH77uW.js.map +0 -1
- package/dist/web/assets/requirementDiagram-LRYGKXZP-D4D1Up4W.js +0 -85
- package/dist/web/assets/requirementDiagram-LRYGKXZP-D4D1Up4W.js.map +0 -1
- package/dist/web/assets/sankeyDiagram-W5VNT64P-BrHCAjc9.js +0 -41
- package/dist/web/assets/sankeyDiagram-W5VNT64P-BrHCAjc9.js.map +0 -1
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-CWxNfjdi.js +0 -163
- package/dist/web/assets/sequenceDiagram-SI44F4Z6-CWxNfjdi.js.map +0 -1
- package/dist/web/assets/sizeCapture-X5ZJPWSS-ePEYSWdD.js +0 -2
- package/dist/web/assets/sizeCapture-X5ZJPWSS-ePEYSWdD.js.map +0 -1
- package/dist/web/assets/stateDiagram-OKZ733FA-BLfZi2Ah.js +0 -2
- package/dist/web/assets/stateDiagram-OKZ733FA-BLfZi2Ah.js.map +0 -1
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CtzDIhSY.js +0 -2
- package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CtzDIhSY.js.map +0 -1
- package/dist/web/assets/swimlanes-SLNWSIFB-HnXWSaTr.js +0 -3
- package/dist/web/assets/swimlanes-SLNWSIFB-HnXWSaTr.js.map +0 -1
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DEnvqxAR.js +0 -9
- package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DEnvqxAR.js.map +0 -1
- package/dist/web/assets/timeline-definition-Z64GVDOM-D4kboPkf.js +0 -121
- package/dist/web/assets/timeline-definition-Z64GVDOM-D4kboPkf.js.map +0 -1
- package/dist/web/assets/vennDiagram-T6HMQDX7-CmUlC-yb.js +0 -35
- package/dist/web/assets/vennDiagram-T6HMQDX7-CmUlC-yb.js.map +0 -1
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-DoLIyOSu.js +0 -79
- package/dist/web/assets/wardleyDiagram-T6FBY63Y-DoLIyOSu.js.map +0 -1
- package/dist/web/assets/xychartDiagram-ELKLHX3M-BII0rBQD.js +0 -8
- package/dist/web/assets/xychartDiagram-ELKLHX3M-BII0rBQD.js.map +0 -1
- package/dist/web/icons/apple-touch-icon.png +0 -0
- package/dist/web/icons/favicon-16.png +0 -0
- package/dist/web/icons/favicon-32.png +0 -0
- package/dist/web/icons/icon-192-maskable.png +0 -0
- package/dist/web/icons/icon-192.png +0 -0
- package/dist/web/icons/icon-512-maskable.png +0 -0
- package/dist/web/icons/icon-512.png +0 -0
- package/dist/web/index.html +0 -19
- package/dist/web/manifest.webmanifest +0 -17
- package/dist/web/sw.js +0 -181
- package/dist/web/version.json +0 -1
package/dist/cli.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import { createRequire as __messengerCreateRequire } from "node:module"; const require = __messengerCreateRequire(import.meta.url);
|
|
2
3
|
import {
|
|
3
4
|
ConfigurationError,
|
|
4
5
|
define_MESSENGER_BUILD_INFO_default,
|
|
5
6
|
init_define_MESSENGER_BUILD_INFO,
|
|
7
|
+
normalizeBasePath,
|
|
6
8
|
operatorError,
|
|
7
9
|
reportFailure
|
|
8
|
-
} from "./chunks/chunk-
|
|
10
|
+
} from "./chunks/chunk-O34PQ4M6.js";
|
|
9
11
|
|
|
10
12
|
// src/cli.ts
|
|
11
13
|
init_define_MESSENGER_BUILD_INFO();
|
|
@@ -56,6 +58,7 @@ function loadConfig(env = process.env) {
|
|
|
56
58
|
host: env.OURS_MESSENGER_HOST ?? "127.0.0.1",
|
|
57
59
|
port: intOrUndefined(env.OURS_MESSENGER_PORT, "OURS_MESSENGER_PORT") ?? DEFAULT_HTTP_PORT,
|
|
58
60
|
publicOrigin: validatePublicOrigin(env.OURS_MESSENGER_PUBLIC_ORIGIN),
|
|
61
|
+
...env.OURS_MESSENGER_BASE_PATH ? { basePath: normalizeBasePath(env.OURS_MESSENGER_BASE_PATH) } : {},
|
|
59
62
|
identity,
|
|
60
63
|
force: boolOrUndefined(env.OURS_MESSENGER_FORCE, "OURS_MESSENGER_FORCE") ?? false,
|
|
61
64
|
stateDir: resolveOwnStateDir(env),
|
|
@@ -95,7 +98,11 @@ HTTP:
|
|
|
95
98
|
WebPush/application state only
|
|
96
99
|
|
|
97
100
|
Shared daemon selection:
|
|
98
|
-
|
|
101
|
+
OURS_DAEMON_URL V1 daemon HTTP endpoint
|
|
102
|
+
OURS_DAEMON_ID expected daemon instance ID
|
|
103
|
+
OURS_DAEMON_CREDENTIAL_PATH protected current API-token file
|
|
104
|
+
Set all three together. Reconnect preserves the same logical owner.
|
|
105
|
+
With none set, temporary legacy selection uses standard OURS_STATE_DIR / OURS_PORT / OURS_CONFIG / OURS_API_TOKEN variables
|
|
99
106
|
select the same daemon used by other SDK applications. Start it separately
|
|
100
107
|
with the ours CLI before starting messenger.
|
|
101
108
|
|
|
@@ -109,6 +116,10 @@ Other:
|
|
|
109
116
|
`;
|
|
110
117
|
async function main() {
|
|
111
118
|
const cmd = process.argv[2];
|
|
119
|
+
if (cmd === "capabilities" && process.argv.length === 3) {
|
|
120
|
+
console.log(JSON.stringify({ capabilities: ["messenger.gateway-prefix-v1"] }));
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
112
123
|
if (cmd === void 0 || cmd === "--help" || cmd === "-h") {
|
|
113
124
|
await new Promise((resolve2) => process.stdout.write(USAGE, () => resolve2()));
|
|
114
125
|
return;
|
|
@@ -120,7 +131,7 @@ async function main() {
|
|
|
120
131
|
}
|
|
121
132
|
if (process.argv.length !== 3) throw new ConfigurationError("serve does not accept command-line options");
|
|
122
133
|
const cfg = loadConfig();
|
|
123
|
-
const { start } = await import("./chunks/server-
|
|
134
|
+
const { start } = await import("./chunks/server-Q2BQSKMJ.js");
|
|
124
135
|
const handle = await start(cfg, BUILD_INFO);
|
|
125
136
|
let closing = false;
|
|
126
137
|
const shutdown = (signal) => {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ours.network/messenger-server",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Self-hosted
|
|
3
|
+
"version": "1.0.31-nightly.10",
|
|
4
|
+
"description": "Self-hosted Messenger REST/SSE backend for one identity on a shared Ours daemon.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "FSL-1.1-Apache-2.0",
|
|
7
7
|
"author": "Adapt Toolkit",
|
|
@@ -28,58 +28,31 @@
|
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "npm run typecheck && node build.mjs",
|
|
31
|
-
"dev": "vite --config vite.config.ts",
|
|
32
31
|
"dev:server": "tsx src/cli.ts serve",
|
|
33
32
|
"serve": "node dist/cli.js serve",
|
|
34
33
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
35
|
-
"test:swipe": "node --import tsx web/tests/swipe-reply-core.test.ts",
|
|
36
|
-
"test:reply-navigation": "node tests/browser-reply-navigation.test.mjs",
|
|
37
|
-
"test:timestamps": "TZ=Europe/Prague node --import tsx web/tests/timestamp.test.tsx",
|
|
38
|
-
"test:mobile": "MOBILE_BROWSER_ENGINES=chromium node tests/browser-mobile-layout-webkit.test.mjs",
|
|
39
|
-
"test:mobile-webkit": "MOBILE_BROWSER_ENGINES=webkit node tests/browser-mobile-layout-webkit.test.mjs && HTML_BROWSER_ENGINE=webkit node --import tsx tests/browser-html-preview.test.mjs && SLASH_BROWSER_ENGINE=webkit node tests/browser-slash-commands.test.mjs",
|
|
40
|
-
"test:mobile-webkit-ci": "if [ \"${CI:-}\" = \"true\" ]; then npx playwright install --with-deps webkit && npm run test:mobile-webkit; else echo 'WebKit gate runs in CI (host dependencies unavailable locally)'; fi",
|
|
41
34
|
"test:startup": "node --import tsx tests/startup-readiness.test.mjs",
|
|
42
35
|
"test:runtime-catalog-candidate": "node --import tsx tests/runtime-command-catalog-reopen-e2e.test.mjs",
|
|
43
|
-
"test:offline": "for f in tests/typed-commands-core.test.mjs tests/shared-daemon-contract.test.mjs tests/room-envelope-matrix.test.mjs tests/bundle-smoke.test.mjs tests/build-metadata.test.mjs tests/production-security.test.mjs tests/conversation-page.test.mjs tests/media-response.test.mjs tests/html-preview-transform.test.mjs tests/html-preview-response.test.mjs tests/push-store.test.mjs tests/push-store-hardening.test.mjs tests/push-
|
|
36
|
+
"test:offline": "for f in tests/notification-producer.test.mjs tests/base-path.test.mjs tests/build-epoch.test.mjs tests/owner-session.test.mjs tests/v1-runtime.test.mjs tests/typed-commands-core.test.mjs tests/shared-daemon-contract.test.mjs tests/room-envelope-matrix.test.mjs tests/bundle-smoke.test.mjs tests/build-metadata.test.mjs tests/production-security.test.mjs tests/conversation-page.test.mjs tests/media-response.test.mjs tests/html-preview-transform.test.mjs tests/html-preview-response.test.mjs tests/push-store.test.mjs tests/push-store-hardening.test.mjs tests/push-delivery.test.mjs tests/push-queue-saturation.test.mjs tests/events.test.mjs tests/watch-cursor.test.mjs tests/watch-reconcile.test.mjs tests/introduction-send-guard.test.mjs tests/sse-e2e.test.mjs tests/presence.test.mjs tests/static-hosting.test.mjs tests/room-preview.test.mjs; do echo \"# $f\"; node --import tsx \"$f\" || exit 1; done",
|
|
44
37
|
"test:loopback": "for f in tests/shared-daemon-e2e.test.mjs tests/typed-command-loopback-e2e.test.mjs tests/introduction-send.test.mjs tests/rest-e2e.test.mjs; do echo \"# $f\"; node --import tsx \"$f\" || exit 1; done",
|
|
45
|
-
"test
|
|
46
|
-
"test": "npm run build && npm run test:swipe && npm run test:timestamps && npm run test:mobile && npm run test:mobile-webkit-ci && npm run test:startup && npm run test:offline && npm run test:loopback && npm run test:browser"
|
|
38
|
+
"test": "npm run build && npm run test:startup && npm run test:offline && npm run test:loopback"
|
|
47
39
|
},
|
|
48
40
|
"dependencies": {
|
|
49
41
|
"@eslint-community/regexpp": "4.12.2",
|
|
50
|
-
"@
|
|
51
|
-
"@ours.network/sdk": "3.7.0",
|
|
52
|
-
"@radix-ui/react-dialog": "^1.1.23",
|
|
53
|
-
"framer-motion": "^12.43.0",
|
|
54
|
-
"jsqr": "^1.4.0",
|
|
55
|
-
"lucide-react": "^0.468.0",
|
|
56
|
-
"mdast-util-from-markdown": "^2.0.3",
|
|
57
|
-
"mdast-util-gfm": "^3.1.0",
|
|
58
|
-
"mermaid": "^11.16.1",
|
|
59
|
-
"micromark-extension-gfm": "^3.0.0",
|
|
42
|
+
"@ours.network/sdk": "3.8.1-nightly.15",
|
|
60
43
|
"parse5": "^8.0.1",
|
|
61
|
-
"qrcode": "^1.5.4",
|
|
62
|
-
"react": "^18.3.1",
|
|
63
|
-
"react-dom": "^18.3.1",
|
|
64
|
-
"react-markdown": "^10.1.0",
|
|
65
|
-
"remark-gfm": "^4.0.1",
|
|
66
44
|
"web-push": "^3.6.7",
|
|
67
45
|
"ws": "^8.21.0"
|
|
68
46
|
},
|
|
69
47
|
"devDependencies": {
|
|
70
|
-
"@ours.network/cli": "2.
|
|
48
|
+
"@ours.network/cli": "2.8.1-nightly.12",
|
|
49
|
+
"@ours.network/daemon": "3.8.1-nightly.7",
|
|
71
50
|
"@playwright/test": "^1.62.1",
|
|
72
|
-
"@tailwindcss/vite": "^4.3.3",
|
|
73
51
|
"@types/node": "^20.14.0",
|
|
74
|
-
"@types/react": "^18.3.3",
|
|
75
|
-
"@types/react-dom": "^18.3.0",
|
|
76
52
|
"@types/web-push": "^3.6.4",
|
|
77
53
|
"@types/ws": "^8.18.1",
|
|
78
|
-
"@vitejs/plugin-react": "^4.7.0",
|
|
79
54
|
"esbuild": "^0.25.0",
|
|
80
|
-
"tailwindcss": "^4.3.3",
|
|
81
55
|
"tsx": "^4.19.0",
|
|
82
|
-
"typescript": "^5.5.4"
|
|
83
|
-
"vite": "^6.4.3"
|
|
56
|
+
"typescript": "^5.5.4"
|
|
84
57
|
}
|
|
85
58
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-6Q2QTUOP-C7hewS6C.js";import{p as f}from"./chunk-JWPE2WC7-DmDsLF1N.js";import{_ as n,l as o}from"./mermaid.core-11YjnhKz.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-Qz363tl0.js";import"./index-C65oKF4f.js";var v=d().RailroadAbnf.parser.LangiumParser,i=n(e=>{const r=e.alternatives.map(g);return r.length===1?r[0]:{type:"choice",alternatives:r}},"transformAlternation"),g=n(e=>{const r=e.elements.map(y);return r.length===1?r[0]:{type:"sequence",elements:r}},"transformConcatenation"),b=n(e=>{if(e.includes("*")){const[t,s]=e.split("*"),l=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:l,max:m}}const r=parseInt(e,10);return{min:r,max:r}},"parseRepeat"),y=n(e=>{const r=A(e.primary);if(!e.repeat)return r;const{min:t,max:s}=b(e.repeat);return t===0&&s===1?{type:"optional",element:r}:{type:"repetition",element:r,min:t,max:s}},"transformElement"),A=n(e=>{switch(e.$type){case"AbnfStringLiteral":return{type:"terminal",value:e.value};case"AbnfNumVal":return{type:"terminal",value:e.value};case"AbnfRuleName":return{type:"nonterminal",name:e.name};case"AbnfGroup":return i(e.element);case"AbnfOptionalGroup":return{type:"optional",element:i(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:i(e.definition)}),"transformRule"),h=n(e=>{f(e,a),e.title&&a.setTitle(e.title),e.rules.map(r=>a.addRule(P(r)))},"populateDb"),R={parse:n(e=>{a.clear(),o.debug("[ABNF Parser] Starting Langium parse");const r=v.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new c(r);const t=r.value;o.debug("[ABNF Parser] Parsed rules:",t.rules.length),h(t),o.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:a}},B={parser:R,db:a,renderer:u,styles:p};export{B as diagram};
|
|
2
|
-
//# sourceMappingURL=abnfDiagram-N423BO3Z-C-iag_Nj.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abnfDiagram-N423BO3Z-C-iag_Nj.js","sources":["../../../node_modules/mermaid/dist/chunks/mermaid.core/abnfDiagram-N423BO3Z.mjs"],"sourcesContent":["import {\n db,\n getStyles,\n renderer\n} from \"./chunk-6Q2QTUOP.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-JWPE2WC7.mjs\";\nimport \"./chunk-3NCLNEKW.mjs\";\nimport \"./chunk-I66GZJ75.mjs\";\nimport {\n log\n} from \"./chunk-X3CZISLH.mjs\";\nimport {\n __name\n} from \"./chunk-Y2CYZVJY.mjs\";\n\n// src/diagrams/railroad/parser/abnfParser.ts\nimport {\n MermaidParseError,\n createRailroadAbnfServices\n} from \"@mermaid-js/parser\";\nvar langiumParser = createRailroadAbnfServices().RailroadAbnf.parser.LangiumParser;\nvar transformAlternation = /* @__PURE__ */ __name((alt) => {\n const alternatives = alt.alternatives.map(transformConcatenation);\n if (alternatives.length === 1) {\n return alternatives[0];\n }\n return {\n type: \"choice\",\n alternatives\n };\n}, \"transformAlternation\");\nvar transformConcatenation = /* @__PURE__ */ __name((concat) => {\n const elements = concat.elements.map(transformElement);\n if (elements.length === 1) {\n return elements[0];\n }\n return {\n type: \"sequence\",\n elements\n };\n}, \"transformConcatenation\");\nvar parseRepeat = /* @__PURE__ */ __name((repeat) => {\n if (repeat.includes(\"*\")) {\n const [minStr, maxStr] = repeat.split(\"*\");\n const min = minStr ? parseInt(minStr, 10) : 0;\n const max = maxStr ? parseInt(maxStr, 10) : Infinity;\n return { min, max };\n }\n const exact = parseInt(repeat, 10);\n return { min: exact, max: exact };\n}, \"parseRepeat\");\nvar transformElement = /* @__PURE__ */ __name((element) => {\n const inner = transformPrimary(element.primary);\n if (!element.repeat) {\n return inner;\n }\n const { min, max } = parseRepeat(element.repeat);\n if (min === 0 && max === 1) {\n return { type: \"optional\", element: inner };\n }\n return {\n type: \"repetition\",\n element: inner,\n min,\n max\n };\n}, \"transformElement\");\nvar transformPrimary = /* @__PURE__ */ __name((primary) => {\n switch (primary.$type) {\n case \"AbnfStringLiteral\":\n return {\n type: \"terminal\",\n value: primary.value\n };\n case \"AbnfNumVal\":\n return {\n type: \"terminal\",\n value: primary.value\n };\n case \"AbnfRuleName\":\n return {\n type: \"nonterminal\",\n name: primary.name\n };\n case \"AbnfGroup\":\n return transformAlternation(primary.element);\n case \"AbnfOptionalGroup\":\n return {\n type: \"optional\",\n element: transformAlternation(primary.element)\n };\n default:\n throw new Error(`Unsupported ABNF primary node: ${primary.$type}`);\n }\n}, \"transformPrimary\");\nvar transformRule = /* @__PURE__ */ __name((rule) => {\n return {\n name: rule.name,\n definition: transformAlternation(rule.definition)\n };\n}, \"transformRule\");\nvar populateDb = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n if (ast.title) {\n db.setTitle(ast.title);\n }\n ast.rules.map((rule) => db.addRule(transformRule(rule)));\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name((input) => {\n db.clear();\n log.debug(\"[ABNF Parser] Starting Langium parse\");\n const result = langiumParser.parse(input);\n if (result.lexerErrors.length > 0 || result.parserErrors.length > 0) {\n throw new MermaidParseError(result);\n }\n const ast = result.value;\n log.debug(\"[ABNF Parser] Parsed rules:\", ast.rules.length);\n populateDb(ast);\n log.debug(\"[ABNF Parser] Parse complete\");\n }, \"parse\"),\n parser: {\n yy: db\n }\n};\n\n// src/diagrams/railroad/abnfDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: getStyles\n};\nexport {\n diagram\n};\n"],"names":["langiumParser","createRailroadAbnfServices","transformAlternation","__name","alt","alternatives","transformConcatenation","concat","elements","transformElement","parseRepeat","repeat","minStr","maxStr","min","max","exact","element","inner","transformPrimary","primary","transformRule","rule","populateDb","ast","populateCommonDb","db","parser","input","log","result","MermaidParseError","diagram","renderer","getStyles"],"mappings":"4PAsBA,IAAIA,EAAgBC,EAA0B,EAAG,aAAa,OAAO,cACjEC,EAAuCC,EAAQC,GAAQ,CACzD,MAAMC,EAAeD,EAAI,aAAa,IAAIE,CAAsB,EAChE,OAAID,EAAa,SAAW,EACnBA,EAAa,CAAC,EAEhB,CACL,KAAM,SACN,aAAAA,CACJ,CACA,EAAG,sBAAsB,EACrBC,EAAyCH,EAAQI,GAAW,CAC9D,MAAMC,EAAWD,EAAO,SAAS,IAAIE,CAAgB,EACrD,OAAID,EAAS,SAAW,EACfA,EAAS,CAAC,EAEZ,CACL,KAAM,WACN,SAAAA,CACJ,CACA,EAAG,wBAAwB,EACvBE,EAA8BP,EAAQQ,GAAW,CACnD,GAAIA,EAAO,SAAS,GAAG,EAAG,CACxB,KAAM,CAACC,EAAQC,CAAM,EAAIF,EAAO,MAAM,GAAG,EACnCG,EAAMF,EAAS,SAASA,EAAQ,EAAE,EAAI,EACtCG,EAAMF,EAAS,SAASA,EAAQ,EAAE,EAAI,IAC5C,MAAO,CAAE,IAAAC,EAAK,IAAAC,CAAG,CACnB,CACA,MAAMC,EAAQ,SAASL,EAAQ,EAAE,EACjC,MAAO,CAAE,IAAKK,EAAO,IAAKA,CAAK,CACjC,EAAG,aAAa,EACZP,EAAmCN,EAAQc,GAAY,CACzD,MAAMC,EAAQC,EAAiBF,EAAQ,OAAO,EAC9C,GAAI,CAACA,EAAQ,OACX,OAAOC,EAET,KAAM,CAAE,IAAAJ,EAAK,IAAAC,CAAG,EAAKL,EAAYO,EAAQ,MAAM,EAC/C,OAAIH,IAAQ,GAAKC,IAAQ,EAChB,CAAE,KAAM,WAAY,QAASG,CAAK,EAEpC,CACL,KAAM,aACN,QAASA,EACT,IAAAJ,EACA,IAAAC,CACJ,CACA,EAAG,kBAAkB,EACjBI,EAAmChB,EAAQiB,GAAY,CACzD,OAAQA,EAAQ,MAAK,CACnB,IAAK,oBACH,MAAO,CACL,KAAM,WACN,MAAOA,EAAQ,KACvB,EACI,IAAK,aACH,MAAO,CACL,KAAM,WACN,MAAOA,EAAQ,KACvB,EACI,IAAK,eACH,MAAO,CACL,KAAM,cACN,KAAMA,EAAQ,IACtB,EACI,IAAK,YACH,OAAOlB,EAAqBkB,EAAQ,OAAO,EAC7C,IAAK,oBACH,MAAO,CACL,KAAM,WACN,QAASlB,EAAqBkB,EAAQ,OAAO,CACrD,EACI,QACE,MAAM,IAAI,MAAM,kCAAkCA,EAAQ,KAAK,EAAE,CACvE,CACA,EAAG,kBAAkB,EACjBC,EAAgClB,EAAQmB,IACnC,CACL,KAAMA,EAAK,KACX,WAAYpB,EAAqBoB,EAAK,UAAU,CACpD,GACG,eAAe,EACdC,EAA6BpB,EAAQqB,GAAQ,CAC/CC,EAAiBD,EAAKE,CAAE,EACpBF,EAAI,OACNE,EAAG,SAASF,EAAI,KAAK,EAEvBA,EAAI,MAAM,IAAKF,GAASI,EAAG,QAAQL,EAAcC,CAAI,CAAC,CAAC,CACzD,EAAG,YAAY,EACXK,EAAS,CACX,MAAuBxB,EAAQyB,GAAU,CACvCF,EAAG,MAAK,EACRG,EAAI,MAAM,sCAAsC,EAChD,MAAMC,EAAS9B,EAAc,MAAM4B,CAAK,EACxC,GAAIE,EAAO,YAAY,OAAS,GAAKA,EAAO,aAAa,OAAS,EAChE,MAAM,IAAIC,EAAkBD,CAAM,EAEpC,MAAMN,EAAMM,EAAO,MACnBD,EAAI,MAAM,8BAA+BL,EAAI,MAAM,MAAM,EACzDD,EAAWC,CAAG,EACdK,EAAI,MAAM,8BAA8B,CAC1C,EAAG,OAAO,EACV,OAAQ,CACN,GAAIH,CACR,CACA,EAGIM,EAAU,CACZ,OAAAL,EACA,GAAAD,EACA,SAAAO,EACA,OAAQC,CACV","x_google_ignoreList":[0]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{Y as ln,$ as an,a0 as F,a1 as q,a2 as j,a3 as un,a4 as y,a5 as tn,a6 as J,a7 as _,a8 as rn,a9 as o,aa as on,ab as sn,ac as fn}from"./mermaid.core-11YjnhKz.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,I,D,v,A,z,a){var O=I-l,i=D-h,n=z-v,d=a-A,u=d*O-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*O,h+u*i]}function U(l,h,I,D,v,A,z){var a=l-I,O=h-D,i=(z?A:-A)/J(a*a+O*O),n=i*O,d=-i*a,u=l+n,s=h+d,f=I+n,c=D+d,B=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,S=(g<0?-1:1)*J(on(0,T*T*R-P*P)),Y=(P*g-m*S)/R,$=(-P*m-g*S)/R,w=(P*g+m*S)/R,p=(-P*m+g*S)/R,x=Y-B,e=$-t,r=w-B,C=p-t;return x*x+e*e>r*r+C*C&&(Y=w,$=p),{cx:Y,cy:$,x01:-n,y01:-d,x11:Y*(v/T-1),y11:$*(v/T-1)}}function hn(){var l=cn,h=yn,I=j(0),D=null,v=gn,A=dn,z=mn,a=null,O=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-un,c=A.apply(this,arguments)-un,B=rn(c-f),t=c>f;if(a||(a=n=O()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(B>tn-y)a.moveTo(s*F(f),s*q(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*F(c),u*q(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=B,S=B,Y=z.apply(this,arguments)/2,$=Y>y&&(D?+D.apply(this,arguments):J(u*u+s*s)),w=_(rn(s-u)/2,+I.apply(this,arguments)),p=w,x=w,e,r;if($>y){var C=sn($/u*q(Y)),K=sn($/s*q(Y));(P-=C*2)>y?(C*=t?1:-1,R+=C,T-=C):(P=0,R=T=(f+c)/2),(S-=K*2)>y?(K*=t?1:-1,m+=K,g-=K):(S=0,m=g=(f+c)/2)}var G=s*F(m),H=s*q(m),L=u*F(T),M=u*q(T);if(w>y){var N=s*F(g),Q=s*q(g),V=u*F(R),W=u*q(R),E;if(B<an)if(E=pn(G,H,V,W,N,Q,L,M)){var X=G-E[0],Z=H-E[1],b=N-E[0],k=Q-E[1],nn=1/q(fn((X*b+Z*k)/(J(X*X+Z*Z)*J(b*b+k*k)))/2),en=J(E[0]*E[0]+E[1]*E[1]);p=_(w,(u-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else p=x=0}S>y?x>y?(e=U(V,W,G,H,s,x,t),r=U(N,Q,L,M,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(G,H),a.arc(0,0,s,m,g,!t)):a.moveTo(G,H),!(u>y)||!(P>y)?a.lineTo(L,M):p>y?(e=U(L,M,N,Q,u,-p,t),r=U(G,H,V,W,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<w?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-an/2;return[F(d)*n,q(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:j(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:j(+n),i):h},i.cornerRadius=function(n){return arguments.length?(I=typeof n=="function"?n:j(+n),i):I},i.padRadius=function(n){return arguments.length?(D=n==null?null:typeof n=="function"?n:j(+n),i):D},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:j(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:j(+n),i):A},i.padAngle=function(n){return arguments.length?(z=typeof n=="function"?n:j(+n),i):z},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|
|
2
|
-
//# sourceMappingURL=arc-Bcm2sZNj.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arc-Bcm2sZNj.js","sources":["../../../node_modules/d3-shape/src/arc.js"],"sourcesContent":["import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n"],"names":["arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","t","epsilon","cornerTangents","r1","rc","cw","x01","y01","lo","sqrt","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","D","max","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","d3arc","innerRadius","outerRadius","cornerRadius","constant","padRadius","startAngle","endAngle","padAngle","context","path","withPath","arc","buffer","r0","a0","halfPi","a1","da","abs","tau","cos","sin","a01","a11","a00","a10","da0","da1","ap","rp","min","rc0","rc1","t0","t1","p0","asin","p1","oc","pi","ax","ay","bx","by","kc","acos","lc","atan2","a","_"],"mappings":"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","x_google_ignoreList":[0]}
|