@rashidee/co2 1.3.1 → 1.3.3
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/index.js +43 -6
- package/package.json +1 -1
- package/plugin/SKILLS.md +6 -3
- package/plugin/skills/conductor-feature-prepare/SKILL.md +29 -3
- package/static/assets/{abnfDiagram-VRR7QNED-pIypz8mS.js → abnfDiagram-VRR7QNED-BwxjNDj8.js} +1 -1
- package/static/assets/{arc-DzTLPg59.js → arc-Bf00Zylw.js} +1 -1
- package/static/assets/{architectureDiagram-ZJ3FMSHR-CuC9-Bft.js → architectureDiagram-ZJ3FMSHR-CRUg8Wt3.js} +1 -1
- package/static/assets/{blockDiagram-677ZJIJ3-DcerPwn1.js → blockDiagram-677ZJIJ3-Dy-JP_0N.js} +1 -1
- package/static/assets/{c4Diagram-LMCZKHZV-aH--jsPu.js → c4Diagram-LMCZKHZV-obM4PBxI.js} +1 -1
- package/static/assets/channel-BeHa2ubV.js +1 -0
- package/static/assets/{chunk-2Q5K7J3B-6kmvWwD5.js → chunk-2Q5K7J3B-DoXzquQ1.js} +1 -1
- package/static/assets/{chunk-32BRIVSS-Dgk5Y2Hd.js → chunk-32BRIVSS-B6VgB7K8.js} +1 -1
- package/static/assets/{chunk-5VM5RSS4-DISUWWIg.js → chunk-5VM5RSS4-BmZS0Ftn.js} +1 -1
- package/static/assets/{chunk-EX3LRPZG-CptcVUzS.js → chunk-EX3LRPZG-DdOLrDUP.js} +1 -1
- package/static/assets/{chunk-JWPE2WC7-DpOM2Td1.js → chunk-JWPE2WC7-RVdgT8k5.js} +1 -1
- package/static/assets/{chunk-MOJQB5TN-D0mE8XQJ.js → chunk-MOJQB5TN-BbMHSSXk.js} +1 -1
- package/static/assets/{chunk-RYQCIY6F-6tMpp_wE.js → chunk-RYQCIY6F-CBOyejV-.js} +1 -1
- package/static/assets/{chunk-V7JOEXUC-DlhAClLX.js → chunk-V7JOEXUC-DVvl5ZDu.js} +1 -1
- package/static/assets/{chunk-VR4S4FIN-CnRRTJhL.js → chunk-VR4S4FIN-TKs-_Nin.js} +1 -1
- package/static/assets/{chunk-XXDRQBXY-BjHtDhhp.js → chunk-XXDRQBXY-BuwUqVAV.js} +1 -1
- package/static/assets/classDiagram-OUVF2IWQ-B0BHpjWc.js +1 -0
- package/static/assets/classDiagram-v2-EOCWNBFH-B0BHpjWc.js +1 -0
- package/static/assets/{cose-bilkent-JH36ORCC-ywkSH5WV.js → cose-bilkent-JH36ORCC-bVLOVjVk.js} +1 -1
- package/static/assets/{cynefin-VYW2F7L2-rNCSrA_M.js → cynefin-VYW2F7L2-B7HPqh-Z.js} +1 -1
- package/static/assets/{cynefinDiagram-TSTJHNR4-CTO-xyj0.js → cynefinDiagram-TSTJHNR4-0d2yxXQG.js} +1 -1
- package/static/assets/{dagre-VKFMJZFB-DXWjc-x2.js → dagre-VKFMJZFB-D7ErrCay.js} +1 -1
- package/static/assets/{diagram-FQU43EPY-B6Yg08kE.js → diagram-FQU43EPY-C36bU8jh.js} +1 -1
- package/static/assets/{diagram-G47NLZAW-FdzgI0QA.js → diagram-G47NLZAW-BzaLh10R.js} +1 -1
- package/static/assets/{diagram-NH7WQ7WH-C7MRGBLI.js → diagram-NH7WQ7WH-v-Zsf5gF.js} +1 -1
- package/static/assets/{diagram-OA4YK3LP-xpJMJx9r.js → diagram-OA4YK3LP-CRbJBq_k.js} +1 -1
- package/static/assets/{diagram-WEI45ONY-D5PmiZy-.js → diagram-WEI45ONY-8fV5Plo4.js} +1 -1
- package/static/assets/{ebnfDiagram-CCIWWBDH-DJzkD6Lj.js → ebnfDiagram-CCIWWBDH-5gIe63LE.js} +1 -1
- package/static/assets/{erDiagram-Q63AITRT-D24quzu9.js → erDiagram-Q63AITRT-C3IcAHjG.js} +1 -1
- package/static/assets/{flowDiagram-23GEKE2U-2wLf_cAi.js → flowDiagram-23GEKE2U-KQjlOZK9.js} +1 -1
- package/static/assets/{ganttDiagram-NO4QXBWP-hjpg1Ww8.js → ganttDiagram-NO4QXBWP-Dq3c2GZf.js} +1 -1
- package/static/assets/{gitGraphDiagram-IHSO6WYX-Zm2bxgq8.js → gitGraphDiagram-IHSO6WYX-BYtnaU27.js} +1 -1
- package/static/assets/{index-CMSll7Xn.js → index-CgNepcKp.js} +138 -138
- package/static/assets/{infoDiagram-FWYZ7A6U-5eq5DfJX.js → infoDiagram-FWYZ7A6U-CxqBig2C.js} +1 -1
- package/static/assets/{ishikawaDiagram-FXEZZL3T-BqBn7GDQ.js → ishikawaDiagram-FXEZZL3T-0HfzC1wj.js} +1 -1
- package/static/assets/{journeyDiagram-5HDEW3XC-C6AceyMG.js → journeyDiagram-5HDEW3XC-umkaBeJl.js} +1 -1
- package/static/assets/{kanban-definition-HUTT4EX6-BeQ_o04F.js → kanban-definition-HUTT4EX6-DsBos3y7.js} +1 -1
- package/static/assets/{linear-CX49V_yy.js → linear-DtNdgaOB.js} +1 -1
- package/static/assets/{mindmap-definition-LN4V7U3C-CVzByupH.js → mindmap-definition-LN4V7U3C-BThlwYQu.js} +1 -1
- package/static/assets/{pegDiagram-2B236MQR-GuHmU0j3.js → pegDiagram-2B236MQR-DoxrNvw3.js} +1 -1
- package/static/assets/{pieDiagram-ENE6RG2P-BKOiteQS.js → pieDiagram-ENE6RG2P-BqCJUG4Q.js} +1 -1
- package/static/assets/{quadrantDiagram-ABIIQ3AL-CNtd5BPA.js → quadrantDiagram-ABIIQ3AL-4GVp_BSP.js} +1 -1
- package/static/assets/{railroadDiagram-RFXS5EU6-D4gIQQiY.js → railroadDiagram-RFXS5EU6-CU341ElP.js} +1 -1
- package/static/assets/{requirementDiagram-TGXJPOKE-BYokGs63.js → requirementDiagram-TGXJPOKE-DoBSr-cX.js} +1 -1
- package/static/assets/{sankeyDiagram-HTMAVEWB-5RLXfMzy.js → sankeyDiagram-HTMAVEWB-CJ__IqT6.js} +1 -1
- package/static/assets/{sequenceDiagram-DBY2YBRQ-DugFTncH.js → sequenceDiagram-DBY2YBRQ-BkNwP7Io.js} +1 -1
- package/static/assets/{sizeCapture-X5ZJPWSS-cCLHi08w.js → sizeCapture-X5ZJPWSS-B-2Xu5n9.js} +1 -1
- package/static/assets/{stateDiagram-2N3HPSRC-DQnxouNu.js → stateDiagram-2N3HPSRC-DPbpX5_5.js} +1 -1
- package/static/assets/stateDiagram-v2-6OUMAXLB-1Opbis3l.js +1 -0
- package/static/assets/{swimlanes-5IMT3BWC-CET7P2RH.js → swimlanes-5IMT3BWC-CnBZNoN8.js} +2 -2
- package/static/assets/swimlanesDiagram-G3AALYLV-aoTIjn7w.js +8 -0
- package/static/assets/{timeline-definition-FHXFAJF6-49T4daxW.js → timeline-definition-FHXFAJF6-iVUc1pZx.js} +1 -1
- package/static/assets/{vennDiagram-L72KCM5P-FqAF-S_r.js → vennDiagram-L72KCM5P-CL66_DTK.js} +1 -1
- package/static/assets/{wardleyDiagram-EHGQE667-C9Du1lj9.js → wardleyDiagram-EHGQE667-DQHcCKUc.js} +1 -1
- package/static/assets/{xychartDiagram-FW5EYKEG-CY-hJxel.js → xychartDiagram-FW5EYKEG-B8thIce8.js} +1 -1
- package/static/index.html +1 -1
- package/static/assets/channel-2AGSySJb.js +0 -1
- package/static/assets/classDiagram-OUVF2IWQ-DfuKvXel.js +0 -1
- package/static/assets/classDiagram-v2-EOCWNBFH-DfuKvXel.js +0 -1
- package/static/assets/stateDiagram-v2-6OUMAXLB-BsTf558I.js +0 -1
- package/static/assets/swimlanesDiagram-G3AALYLV-Crsci1-o.js +0 -8
package/dist/index.js
CHANGED
|
@@ -6809,7 +6809,7 @@ var {
|
|
|
6809
6809
|
// package.json
|
|
6810
6810
|
var package_default = {
|
|
6811
6811
|
name: "@rashidee/co2",
|
|
6812
|
-
version: "1.3.
|
|
6812
|
+
version: "1.3.3",
|
|
6813
6813
|
description: "Compound Context Studio \u2014 self-hosted team context authoring for CO2 projects",
|
|
6814
6814
|
type: "module",
|
|
6815
6815
|
license: "MIT",
|
|
@@ -21951,9 +21951,9 @@ function parseTrackingStatus(filePath) {
|
|
|
21951
21951
|
return "unknown";
|
|
21952
21952
|
}
|
|
21953
21953
|
var activeWatchers = /* @__PURE__ */ new Map();
|
|
21954
|
-
function pollConductorRun(db, runId, trackingFilePath, notifyUserId) {
|
|
21954
|
+
function pollConductorRun(db, runId, trackingFilePath, notifyUserId, opts = {}) {
|
|
21955
21955
|
try {
|
|
21956
|
-
if (existsSync11(trackingFilePath)) {
|
|
21956
|
+
if (!opts.ignoreStaleMtime && existsSync11(trackingFilePath)) {
|
|
21957
21957
|
const createdAt = db.select({ createdAt: conductorRuns.createdAt }).from(conductorRuns).where(eq(conductorRuns.id, runId)).get()?.createdAt;
|
|
21958
21958
|
if (createdAt && statSync3(trackingFilePath).mtimeMs < Date.parse(createdAt)) {
|
|
21959
21959
|
return "unknown";
|
|
@@ -24792,7 +24792,9 @@ function rescanWorkflowRun(db, workspacePath, workflowMarkdownId, watcherInterva
|
|
|
24792
24792
|
db.update(conductorRuns).set({ trackingFilePath: freshPath }).where(eq(conductorRuns.id, run.id)).run();
|
|
24793
24793
|
}
|
|
24794
24794
|
stopWatcher(run.id);
|
|
24795
|
-
const status = pollConductorRun(db, run.id, freshPath, run.startedBy ?? 1
|
|
24795
|
+
const status = pollConductorRun(db, run.id, freshPath, run.startedBy ?? 1, {
|
|
24796
|
+
ignoreStaleMtime: true
|
|
24797
|
+
});
|
|
24796
24798
|
if (status === "COMPLETED") {
|
|
24797
24799
|
lastArtifactSweepAt.delete(run.id);
|
|
24798
24800
|
try {
|
|
@@ -24844,6 +24846,31 @@ function getWorkflowRunFileContent(db, workspacePath, workflowMarkdownId) {
|
|
|
24844
24846
|
if (!existsSync18(absolute)) throw svcError14("FILE_NOT_FOUND", 404);
|
|
24845
24847
|
return { filePath: wfm.filePath, content: readFileSync13(absolute, "utf-8") };
|
|
24846
24848
|
}
|
|
24849
|
+
function getRunApplicationChangelog(db, workspacePath, workflowMarkdownId, appName) {
|
|
24850
|
+
const wfm = db.select().from(workflowMarkdowns).where(eq(workflowMarkdowns.id, workflowMarkdownId)).get();
|
|
24851
|
+
if (!wfm) throw svcError14("RUN_NOT_FOUND", 404);
|
|
24852
|
+
const project = db.select().from(projects).where(eq(projects.id, wfm.projectId)).get();
|
|
24853
|
+
if (!project) throw svcError14("PROJECT_NOT_FOUND", 404);
|
|
24854
|
+
let runAppNames;
|
|
24855
|
+
if (wfm.importedAppName) {
|
|
24856
|
+
runAppNames = [wfm.importedAppName];
|
|
24857
|
+
} else {
|
|
24858
|
+
const appIds = db.select({ applicationId: conductorRuns.applicationId }).from(conductorRuns).where(eq(conductorRuns.workflowMarkdownId, wfm.id)).all().map((r) => r.applicationId);
|
|
24859
|
+
runAppNames = appIds.length > 0 ? db.select({ name: applications.name }).from(applications).where(inArray(applications.id, appIds)).all().map((a) => a.name) : [];
|
|
24860
|
+
}
|
|
24861
|
+
if (!runAppNames.includes(appName)) throw svcError14("APP_NOT_IN_RUN", 404);
|
|
24862
|
+
const projectDir = resolve2(workspacePath, project.workspaceFolderName);
|
|
24863
|
+
const appFolder = resolveAppFolderName(projectDir, appName);
|
|
24864
|
+
const absolute = resolve2(projectDir, appFolder, "CHANGELOG.md");
|
|
24865
|
+
if (absolute !== projectDir && !absolute.startsWith(projectDir + sep))
|
|
24866
|
+
throw svcError14("INVALID_PATH", 400);
|
|
24867
|
+
if (!existsSync18(absolute)) throw svcError14("CHANGELOG_NOT_FOUND", 404);
|
|
24868
|
+
return {
|
|
24869
|
+
applicationName: appName,
|
|
24870
|
+
filePath: relative(workspacePath, absolute).replace(/\\/g, "/"),
|
|
24871
|
+
content: readFileSync13(absolute, "utf-8")
|
|
24872
|
+
};
|
|
24873
|
+
}
|
|
24847
24874
|
function toDetail(db, projectFolder, wfm, workspacePath) {
|
|
24848
24875
|
if (wfm.importedAppName) {
|
|
24849
24876
|
return {
|
|
@@ -26056,6 +26083,17 @@ function workflowRoutes(db, workspacePath) {
|
|
|
26056
26083
|
return errorResponse15(c, e);
|
|
26057
26084
|
}
|
|
26058
26085
|
});
|
|
26086
|
+
app.get("/runs/:id/changelog", (c) => {
|
|
26087
|
+
const id = Number(c.req.param("id"));
|
|
26088
|
+
if (Number.isNaN(id)) return c.json({ code: "INVALID_ID" }, 400);
|
|
26089
|
+
const appName = c.req.query("app");
|
|
26090
|
+
if (!appName) return c.json({ code: "APP_REQUIRED" }, 400);
|
|
26091
|
+
try {
|
|
26092
|
+
return c.json(getRunApplicationChangelog(db, workspacePath, id, appName));
|
|
26093
|
+
} catch (e) {
|
|
26094
|
+
return errorResponse15(c, e);
|
|
26095
|
+
}
|
|
26096
|
+
});
|
|
26059
26097
|
app.post("/runs/:id/force-stop", (c) => {
|
|
26060
26098
|
const id = Number(c.req.param("id"));
|
|
26061
26099
|
if (Number.isNaN(id)) return c.json({ code: "INVALID_ID" }, 400);
|
|
@@ -26370,13 +26408,12 @@ function terminalRoutes(db) {
|
|
|
26370
26408
|
const projectId = Number(c.req.param("projectId"));
|
|
26371
26409
|
if (Number.isNaN(projectId)) return c.json({ code: "INVALID_ID" }, 400);
|
|
26372
26410
|
const force = c.req.query("force") === "true";
|
|
26373
|
-
const keepAlive = c.req.query("keepAlive") === "true" && !force;
|
|
26374
26411
|
if (force && user.role !== "admin") {
|
|
26375
26412
|
return c.json({ code: "FORBIDDEN", error: "Force-release requires Team Admin" }, 403);
|
|
26376
26413
|
}
|
|
26377
26414
|
try {
|
|
26378
26415
|
const holderId = releaseTerminal(db, projectId, user.id, { force, actingUserId: user.id });
|
|
26379
|
-
if (holderId !== null
|
|
26416
|
+
if (holderId !== null) {
|
|
26380
26417
|
closeTerminalSessions(
|
|
26381
26418
|
projectId,
|
|
26382
26419
|
force ? `Terminal force-released by ${user.displayName}` : "Terminal released"
|
package/package.json
CHANGED
package/plugin/SKILLS.md
CHANGED
|
@@ -177,9 +177,12 @@ Skills belong to phases and generally must run in this order per application:
|
|
|
177
177
|
"resume preparation".
|
|
178
178
|
- **Prerequisites:** `PRD.md`, `CLAUDE.md`.
|
|
179
179
|
- **Output:** the complete `context/` artifact tree — `model/`, `mockup/`, `specification/`
|
|
180
|
-
and `test/` (each as described under its sub-skill below) — plus `CHANGELOG.md` entries
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
and `test/` (each as described under its sub-skill below) — plus `CHANGELOG.md` entries: each
|
|
181
|
+
sub-skill appends its own row, and on completion the orchestrator appends an umbrella
|
|
182
|
+
`conductor-feature-prepare` summary row per version (one on top of the sub-skill rows,
|
|
183
|
+
matching `conductor-feature-develop` / `conductor-defect`). Also writes the
|
|
184
|
+
`context/prepare/PREPARE_MASTER.md` progress tracker (inferred config, per-version ×
|
|
185
|
+
per-artifact status) for cross-session resumption.
|
|
183
186
|
|
|
184
187
|
### `modelgen-relational`
|
|
185
188
|
- **Invoke:** `/modelgen-relational <application> <version> [module:<m>]`
|
|
@@ -232,7 +232,13 @@ to understand what has already been completed.
|
|
|
232
232
|
- Check `<app_folder>/context/test/` for test spec files
|
|
233
233
|
4. If the tracker's top-level status is COMPLETED (all steps for all resolved versions done)
|
|
234
234
|
AND the artifacts still exist:
|
|
235
|
-
-
|
|
235
|
+
- **First ensure the CHANGELOG umbrella row exists** (do NOT skip this on a resume): for each
|
|
236
|
+
resolved version, check `<app_folder>/CHANGELOG.md` for a `conductor-feature-prepare` row
|
|
237
|
+
under that version's `## {version}` section. If it is missing, append it now per the
|
|
238
|
+
**Phase 1 Completion** CHANGELOG rules below. A prior run may have marked the tracker
|
|
239
|
+
COMPLETED without writing the CHANGELOG (e.g. it was interrupted, or artifacts were already
|
|
240
|
+
present), so this back-fills the missing summary row instead of leaving it absent.
|
|
241
|
+
- Then output `<promise>ALL ARTIFACTS GENERATED</promise>` and stop
|
|
236
242
|
5. If multiple versions were resolved, proceed to Phase 1 — the version loop will determine
|
|
237
243
|
which versions still need processing (see Phase 1 Sequential Version Loop)
|
|
238
244
|
6. Otherwise, proceed to Phase 1, starting from the first step not marked COMPLETED in the tracker
|
|
@@ -551,8 +557,28 @@ to already exist):
|
|
|
551
557
|
1. Set the top-level `**Status**:` in `<app_folder>/context/prepare/PREPARE_MASTER.md` to
|
|
552
558
|
`COMPLETED`, and verify every step and every version row is `COMPLETED` or `SKIPPED` (no
|
|
553
559
|
`PENDING` / `IN PROGRESS` rows remain)
|
|
554
|
-
2.
|
|
555
|
-
|
|
560
|
+
2. Append an umbrella entry to `CHANGELOG.md` in the application folder
|
|
561
|
+
(`<app_folder>/CHANGELOG.md`) — **one entry per version processed**. This is the
|
|
562
|
+
phase-level summary row (mirroring `conductor-feature-develop` / `conductor-defect`); the
|
|
563
|
+
individual sub-skills — `util-ustagger`, `modelgen-*`, `mockgen-*`, `specgen-*`,
|
|
564
|
+
`testgen-functional` — have already appended their own rows during the run, so this row sits
|
|
565
|
+
**on top of** them, it does not replace them:
|
|
566
|
+
- Read `<app_folder>/CHANGELOG.md`. If it does not exist, create it with the standard context
|
|
567
|
+
header (normally the sub-skills already created it earlier in the run).
|
|
568
|
+
- For EACH version in the resolved version list (ascending order):
|
|
569
|
+
- Search for a `## {version}` heading matching this version.
|
|
570
|
+
- If the section **exists**: append a new row to its table (it will exist — the sub-skills
|
|
571
|
+
created it).
|
|
572
|
+
- If the section **does not exist**: insert a new section after the `---` below the context
|
|
573
|
+
header and before any existing `## vX.Y.Z` section (newest-first ordering), with a new
|
|
574
|
+
table header and the first row.
|
|
575
|
+
- Row format: `| {YYYY-MM-DD} | {application_name} | conductor-feature-prepare | {module or "All"} | Prepared context artifacts (model, mockup, spec, test) for {version} — {count} modules |`
|
|
576
|
+
- `{count}` = the number of modules whose artifacts were generated/updated for this version
|
|
577
|
+
(from that version's Artifact Generation Status table in PREPARE_MASTER.md).
|
|
578
|
+
- `{module or "All"}` = the `module` filter if one was active for this run, else `All`.
|
|
579
|
+
- **Never modify or delete existing rows** (including the sub-skills' own rows).
|
|
580
|
+
3. Output a summary of what was generated/skipped per version (sourced from PREPARE_MASTER.md)
|
|
581
|
+
4. Output `<promise>ALL ARTIFACTS GENERATED</promise>` to signal Ralph Loop completion
|
|
556
582
|
|
|
557
583
|
**IMPORTANT — Version loop completion**: The completion promise is ONLY output after the LAST
|
|
558
584
|
version in the resolved list has been fully processed. Do NOT output it after completing an
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-
|
|
1
|
+
import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-BbMHSSXk.js";import{p as f}from"./chunk-JWPE2WC7-RVdgT8k5.js";import{_ as n,l as o}from"./index-CgNepcKp.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-B7HPqh-Z.js";var v=d().RailroadAbnf.parser.LangiumParser,l=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("*"),i=t?parseInt(t,10):0,m=s?parseInt(s,10):1/0;return{min:i,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 l(e.element);case"AbnfOptionalGroup":return{type:"optional",element:l(e.element)};default:throw new Error(`Unsupported ABNF primary node: ${e.$type}`)}},"transformPrimary"),P=n(e=>({name:e.name,definition:l(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}},w={parser:R,db:a,renderer:u,styles:p};export{w as diagram};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Y as ln,$ as an,a0 as y,a1 as tn,a2 as F,a3 as q,a4 as _,a5 as un,a6 as rn,a7 as J,a8 as o,a9 as j,aa as sn,ab as on,ac as fn}from"./index-
|
|
1
|
+
import{Y as ln,$ as an,a0 as y,a1 as tn,a2 as F,a3 as q,a4 as _,a5 as un,a6 as rn,a7 as J,a8 as o,a9 as j,aa as sn,ab as on,ac as fn}from"./index-CgNepcKp.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(fn(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)-an,c=A.apply(this,arguments)-an,B=un(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=_(un(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<rn)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(on((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-rn/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};
|