@rashidee/co2 1.3.25 → 1.3.27

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.
Files changed (67) hide show
  1. package/dist/.co2-dat/app.db +0 -0
  2. package/dist/.co2-dat/app.db-shm +0 -0
  3. package/dist/.co2-dat/app.db-wal +0 -0
  4. package/dist/index.js +126 -29
  5. package/package.json +2 -2
  6. package/static/assets/{abnfDiagram-VRR7QNED-r3_rpvFo.js → abnfDiagram-VRR7QNED-BqqVu83_.js} +1 -1
  7. package/static/assets/{arc-DbiqzTs-.js → arc-D9zT1NvB.js} +1 -1
  8. package/static/assets/{architectureDiagram-ZJ3FMSHR-BJ-dcYpi.js → architectureDiagram-ZJ3FMSHR-D-34OZne.js} +1 -1
  9. package/static/assets/{blockDiagram-677ZJIJ3-BmHNspIR.js → blockDiagram-677ZJIJ3-DzXrZXuu.js} +1 -1
  10. package/static/assets/{c4Diagram-LMCZKHZV-CfgVJ9gr.js → c4Diagram-LMCZKHZV-CZWILWBU.js} +1 -1
  11. package/static/assets/channel-DKYjk4Z0.js +1 -0
  12. package/static/assets/{chunk-2Q5K7J3B-PNfiudSM.js → chunk-2Q5K7J3B-BnyVGcHp.js} +1 -1
  13. package/static/assets/{chunk-32BRIVSS-DdD3xMjB.js → chunk-32BRIVSS-D6kWVoTq.js} +1 -1
  14. package/static/assets/{chunk-5VM5RSS4-DS1ulZwP.js → chunk-5VM5RSS4-BDuQxGsi.js} +1 -1
  15. package/static/assets/{chunk-EX3LRPZG-CzVStkKt.js → chunk-EX3LRPZG-CzemsC9C.js} +1 -1
  16. package/static/assets/{chunk-JWPE2WC7-De7uOmha.js → chunk-JWPE2WC7-D9BTDnXt.js} +1 -1
  17. package/static/assets/{chunk-MOJQB5TN-qyl8h8E8.js → chunk-MOJQB5TN-DMVlpoSf.js} +1 -1
  18. package/static/assets/{chunk-RYQCIY6F-DQEjm1TG.js → chunk-RYQCIY6F-Cr59tI34.js} +1 -1
  19. package/static/assets/{chunk-V7JOEXUC-CHii2kCZ.js → chunk-V7JOEXUC-CItFH4TC.js} +1 -1
  20. package/static/assets/{chunk-VR4S4FIN-Y8HV5BKK.js → chunk-VR4S4FIN-D-5bD2Rp.js} +1 -1
  21. package/static/assets/{chunk-XXDRQBXY-s_-4DXsy.js → chunk-XXDRQBXY-BYTedp-b.js} +1 -1
  22. package/static/assets/classDiagram-OUVF2IWQ-BypGwdom.js +1 -0
  23. package/static/assets/classDiagram-v2-EOCWNBFH-BypGwdom.js +1 -0
  24. package/static/assets/{cose-bilkent-JH36ORCC-BeDdmDpD.js → cose-bilkent-JH36ORCC-ph9z6Rag.js} +1 -1
  25. package/static/assets/{cynefin-VYW2F7L2-COUQslLO.js → cynefin-VYW2F7L2-DNym54iM.js} +1 -1
  26. package/static/assets/{cynefinDiagram-TSTJHNR4-BuPYyXEY.js → cynefinDiagram-TSTJHNR4-BFhXROr4.js} +1 -1
  27. package/static/assets/{dagre-VKFMJZFB-vqTchcyP.js → dagre-VKFMJZFB-C8Bvbfep.js} +1 -1
  28. package/static/assets/{diagram-FQU43EPY-K_M0RuV-.js → diagram-FQU43EPY-dou1k9fZ.js} +1 -1
  29. package/static/assets/{diagram-G47NLZAW-DZQ1eHWp.js → diagram-G47NLZAW-DTVkGSut.js} +1 -1
  30. package/static/assets/{diagram-NH7WQ7WH-ayYySNnw.js → diagram-NH7WQ7WH-CLF_alfd.js} +1 -1
  31. package/static/assets/{diagram-OA4YK3LP-D62rbwWX.js → diagram-OA4YK3LP-CVQqfvRy.js} +1 -1
  32. package/static/assets/{diagram-WEI45ONY-BgBuxQAR.js → diagram-WEI45ONY-X6ugzDOD.js} +1 -1
  33. package/static/assets/{ebnfDiagram-CCIWWBDH-koE_7EDL.js → ebnfDiagram-CCIWWBDH-PgskU8v_.js} +1 -1
  34. package/static/assets/{erDiagram-Q63AITRT-AjFwiuV7.js → erDiagram-Q63AITRT-CBW5aC2C.js} +1 -1
  35. package/static/assets/{flowDiagram-23GEKE2U-C0R1nVvy.js → flowDiagram-23GEKE2U-BbyDOz5x.js} +1 -1
  36. package/static/assets/{ganttDiagram-NO4QXBWP-CY-FcEEG.js → ganttDiagram-NO4QXBWP-CceMROcR.js} +1 -1
  37. package/static/assets/{gitGraphDiagram-IHSO6WYX-DyJl7oIu.js → gitGraphDiagram-IHSO6WYX-t2R0tkUO.js} +1 -1
  38. package/static/assets/{index-DFOlKDT-.css → index-BM5AGe_l.css} +1 -1
  39. package/static/assets/{index-B6KU4H2y.js → index-C26387Mq.js} +169 -169
  40. package/static/assets/{infoDiagram-FWYZ7A6U-DHmQrTFz.js → infoDiagram-FWYZ7A6U-Du1gMFcI.js} +1 -1
  41. package/static/assets/{ishikawaDiagram-FXEZZL3T-Rrb_rX1Z.js → ishikawaDiagram-FXEZZL3T-VAYbdalo.js} +1 -1
  42. package/static/assets/{journeyDiagram-5HDEW3XC-C1X2-E8O.js → journeyDiagram-5HDEW3XC-DkLYEpM2.js} +1 -1
  43. package/static/assets/{kanban-definition-HUTT4EX6-6taKamuj.js → kanban-definition-HUTT4EX6-BCzd09tX.js} +1 -1
  44. package/static/assets/{linear-BgfvUII2.js → linear-Dm0uNoIF.js} +1 -1
  45. package/static/assets/{mindmap-definition-LN4V7U3C-CMIdnZlB.js → mindmap-definition-LN4V7U3C-D69_xTUO.js} +1 -1
  46. package/static/assets/{pegDiagram-2B236MQR-Ds5tsqTv.js → pegDiagram-2B236MQR-D6t8-mr5.js} +1 -1
  47. package/static/assets/{pieDiagram-ENE6RG2P-2nFB-KUn.js → pieDiagram-ENE6RG2P-CRhMSL7L.js} +1 -1
  48. package/static/assets/{quadrantDiagram-ABIIQ3AL-CXYP7EpA.js → quadrantDiagram-ABIIQ3AL-DLSgxv-x.js} +1 -1
  49. package/static/assets/{railroadDiagram-RFXS5EU6-ZWvggJi6.js → railroadDiagram-RFXS5EU6-b1SreCxV.js} +1 -1
  50. package/static/assets/{requirementDiagram-TGXJPOKE-B9pmz1Lq.js → requirementDiagram-TGXJPOKE-BV4CNLIo.js} +1 -1
  51. package/static/assets/{sankeyDiagram-HTMAVEWB-p05V4NVU.js → sankeyDiagram-HTMAVEWB-BiFv1ux8.js} +1 -1
  52. package/static/assets/{sequenceDiagram-DBY2YBRQ-L1U6b6XO.js → sequenceDiagram-DBY2YBRQ-Dx4t2iJL.js} +1 -1
  53. package/static/assets/{sizeCapture-X5ZJPWSS-DaxMca0_.js → sizeCapture-X5ZJPWSS-CnQy7abz.js} +1 -1
  54. package/static/assets/{stateDiagram-2N3HPSRC-Cn9Oa3AO.js → stateDiagram-2N3HPSRC-Dydsj0oL.js} +1 -1
  55. package/static/assets/stateDiagram-v2-6OUMAXLB-C8SPn3Oh.js +1 -0
  56. package/static/assets/{swimlanes-5IMT3BWC-CB2axDli.js → swimlanes-5IMT3BWC-CxCwYCDy.js} +2 -2
  57. package/static/assets/swimlanesDiagram-G3AALYLV-74ote7Bb.js +8 -0
  58. package/static/assets/{timeline-definition-FHXFAJF6-CBjRTzLu.js → timeline-definition-FHXFAJF6-C_Fi6bNQ.js} +1 -1
  59. package/static/assets/{vennDiagram-L72KCM5P-CU3sHFkZ.js → vennDiagram-L72KCM5P-CgwC5qPZ.js} +1 -1
  60. package/static/assets/{wardleyDiagram-EHGQE667-BUEYUFnX.js → wardleyDiagram-EHGQE667-s9kPgnSC.js} +1 -1
  61. package/static/assets/{xychartDiagram-FW5EYKEG-CsQatKqg.js → xychartDiagram-FW5EYKEG-DBDMMVMd.js} +1 -1
  62. package/static/index.html +2 -2
  63. package/static/assets/channel-oJjZid9v.js +0 -1
  64. package/static/assets/classDiagram-OUVF2IWQ-BBGkNxZZ.js +0 -1
  65. package/static/assets/classDiagram-v2-EOCWNBFH-BBGkNxZZ.js +0 -1
  66. package/static/assets/stateDiagram-v2-6OUMAXLB-Cd04vp8B.js +0 -1
  67. package/static/assets/swimlanesDiagram-G3AALYLV-GtoFqFbp.js +0 -8
Binary file
Binary file
Binary file
package/dist/index.js CHANGED
@@ -6809,8 +6809,8 @@ var {
6809
6809
  // package.json
6810
6810
  var package_default = {
6811
6811
  name: "@rashidee/co2",
6812
- version: "1.3.25",
6813
- description: "Compound Context Studio \u2014 self-hosted team context authoring for CO2 projects",
6812
+ version: "1.3.27",
6813
+ description: "Compound Context Studio \xC3\xA2\xE2\u201A\xAC\xE2\u20AC\x9D self-hosted team context authoring for CO2 projects",
6814
6814
  type: "module",
6815
6815
  license: "MIT",
6816
6816
  publishConfig: {
@@ -19589,6 +19589,10 @@ var createBugReportSchema = external_exports.object({
19589
19589
  var updateBugStatusSchema = external_exports.object({
19590
19590
  status: bugStatusSchema
19591
19591
  });
19592
+ var moveBugReportSchema = external_exports.object({
19593
+ applicationId: external_exports.number().int().positive(),
19594
+ module: external_exports.string().max(120).optional()
19595
+ });
19592
19596
  var updateBugReportSchema = external_exports.object({
19593
19597
  title: external_exports.string().min(1).max(200),
19594
19598
  description: external_exports.string().optional(),
@@ -24580,6 +24584,43 @@ function updateBugStatus(db, workspacePath, bugId, status) {
24580
24584
  db.update(bugReports).set({ status, updatedAt: (/* @__PURE__ */ new Date()).toISOString() }).where(eq(bugReports.id, bugId)).run();
24581
24585
  syncBugMdToDisk(db, workspacePath, existing.applicationId, bugId);
24582
24586
  }
24587
+ function moveBugReport(db, workspacePath, bugId, input) {
24588
+ const existing = db.select().from(bugReports).where(and(eq(bugReports.id, bugId), eq(bugReports.isDeleted, 0))).get();
24589
+ if (!existing) throw svcError11("BUG_NOT_FOUND", 404);
24590
+ if (!EDITABLE_BUG_STATUSES.includes(existing.status)) throw svcError11("BUG_NOT_MOVABLE", 409);
24591
+ const target = db.select({ id: applications.id, projectId: applications.projectId }).from(applications).where(eq(applications.id, input.applicationId)).get();
24592
+ if (!target || target.projectId !== existing.projectId) {
24593
+ throw svcError11("APPLICATION_NOT_FOUND", 404);
24594
+ }
24595
+ const targetModule = input.module?.trim() || null;
24596
+ const sameModule = (existing.module?.toLowerCase() ?? null) === (targetModule?.toLowerCase() ?? null);
24597
+ if (existing.applicationId === input.applicationId && sameModule) {
24598
+ throw svcError11("MOVE_NO_CHANGE", 400);
24599
+ }
24600
+ db.update(bugReports).set({
24601
+ applicationId: input.applicationId,
24602
+ module: targetModule,
24603
+ updatedAt: (/* @__PURE__ */ new Date()).toISOString()
24604
+ }).where(eq(bugReports.id, bugId)).run();
24605
+ removeBugBulletFromDisk(db, workspacePath, existing.applicationId, existing);
24606
+ syncBugMdToDisk(db, workspacePath, input.applicationId, bugId, "insert");
24607
+ return getBugReport(db, bugId);
24608
+ }
24609
+ function removeBugBulletFromDisk(db, workspacePath, applicationId, bug) {
24610
+ try {
24611
+ const app = db.select({ id: applications.id, name: applications.name, projectId: applications.projectId }).from(applications).where(eq(applications.id, applicationId)).get();
24612
+ if (!app) return;
24613
+ const project = db.select({ workspaceFolderName: projects.workspaceFolderName }).from(projects).where(eq(projects.id, app.projectId)).get();
24614
+ if (!project) return;
24615
+ const projectDir2 = join21(workspacePath, project.workspaceFolderName);
24616
+ const file = join21(projectDir2, resolveAppFolderName(projectDir2, app.name), "context", "BUG.md");
24617
+ if (!existsSync19(file)) return;
24618
+ const removed = removeBugFromBugMd(readFileSync13(file, "utf8"), bugCodeAndTitle(bug).code);
24619
+ if (removed !== null) writeFileSync11(file, removed, "utf8");
24620
+ else writeBugMdFile(db, workspacePath, app, project.workspaceFolderName);
24621
+ } catch {
24622
+ }
24623
+ }
24583
24624
  function reopenBugReports(db, workspacePath, bugIds, userId) {
24584
24625
  if (bugIds.length === 0) throw svcError11("NO_BUGS_SELECTED", 400);
24585
24626
  const ids = [...new Set(bugIds)];
@@ -24677,6 +24718,37 @@ var MD_HR = /^-{3,}\s*$/;
24677
24718
  var MD_BULLET = /^-\s+(?:~~)?\s*\[BUG-\d+\]/;
24678
24719
  var MD_LEGACY_HEADING = /^##\s+(?:~~)?\s*\[BUG-\d+\]/;
24679
24720
  var isStructural = (line) => MD_HEADING.test(line) || MD_VERSION.test(line) || MD_HR.test(line) || MD_BULLET.test(line);
24721
+ function bulletExtent(lines, code) {
24722
+ const codeRe = new RegExp(`^-\\s+(?:~~)?\\s*\\[${code}\\]`);
24723
+ const start = lines.findIndex((l) => codeRe.test(l));
24724
+ if (start === -1) return null;
24725
+ let end = start + 1;
24726
+ while (end < lines.length) {
24727
+ const line = lines[end];
24728
+ if (line.trim() === "") {
24729
+ let peek = end + 1;
24730
+ while (peek < lines.length && lines[peek].trim() === "") peek++;
24731
+ if (peek < lines.length && !isStructural(lines[peek])) {
24732
+ end = peek + 1;
24733
+ continue;
24734
+ }
24735
+ break;
24736
+ }
24737
+ if (isStructural(line)) break;
24738
+ end++;
24739
+ }
24740
+ return { start, end };
24741
+ }
24742
+ function removeBugFromBugMd(content, code) {
24743
+ const bom = content.startsWith("\uFEFF") ? "\uFEFF" : "";
24744
+ const eol = content.includes("\r\n") ? "\r\n" : "\n";
24745
+ const lines = (bom ? content.slice(1) : content).split(/\r?\n/);
24746
+ if (lines.some((l) => MD_LEGACY_HEADING.test(l))) return null;
24747
+ const extent = bulletExtent(lines, code);
24748
+ if (!extent) return content;
24749
+ lines.splice(extent.start, extent.end - extent.start);
24750
+ return bom + lines.join(eol);
24751
+ }
24680
24752
  function mergeBugIntoBugMd(content, bug, semver, moduleCategory, mode) {
24681
24753
  const bom = content.startsWith("\uFEFF") ? "\uFEFF" : "";
24682
24754
  const eol = content.includes("\r\n") ? "\r\n" : "\n";
@@ -24685,25 +24757,9 @@ function mergeBugIntoBugMd(content, bug, semver, moduleCategory, mode) {
24685
24757
  const bullet = bugBulletLines(bug);
24686
24758
  const { code } = bugCodeAndTitle(bug);
24687
24759
  if (mode === "replace") {
24688
- const codeRe = new RegExp(`^-\\s+(?:~~)?\\s*\\[${code}\\]`);
24689
- const start = lines.findIndex((l) => codeRe.test(l));
24690
- if (start !== -1) {
24691
- let end = start + 1;
24692
- while (end < lines.length) {
24693
- const line = lines[end];
24694
- if (line.trim() === "") {
24695
- let peek = end + 1;
24696
- while (peek < lines.length && lines[peek].trim() === "") peek++;
24697
- if (peek < lines.length && !isStructural(lines[peek])) {
24698
- end = peek + 1;
24699
- continue;
24700
- }
24701
- break;
24702
- }
24703
- if (isStructural(line)) break;
24704
- end++;
24705
- }
24706
- lines.splice(start, end - start, ...bullet);
24760
+ const extent = bulletExtent(lines, code);
24761
+ if (extent) {
24762
+ lines.splice(extent.start, extent.end - extent.start, ...bullet);
24707
24763
  return bom + lines.join(eol);
24708
24764
  }
24709
24765
  }
@@ -24934,6 +24990,19 @@ function defectRoutes(db, workspacePath) {
24934
24990
  return errorResponse5(c, e);
24935
24991
  }
24936
24992
  });
24993
+ const validateMove = zValidator("json", moveBugReportSchema, (result, c) => {
24994
+ if (!result.success) {
24995
+ return c.json({ code: "VALIDATION_FAILED", issues: result.error.issues }, 422);
24996
+ }
24997
+ });
24998
+ app.post("/:id{[0-9]+}/move", validateMove, (c) => {
24999
+ const id = Number(c.req.param("id"));
25000
+ try {
25001
+ return c.json({ moved: moveBugReport(db, workspacePath, id, c.req.valid("json")) });
25002
+ } catch (e) {
25003
+ return errorResponse5(c, e);
25004
+ }
25005
+ });
24937
25006
  const validateReopen = zValidator("json", reopenBugsSchema, (result, c) => {
24938
25007
  if (!result.success) {
24939
25008
  return c.json({ code: "VALIDATION_FAILED", issues: result.error.issues }, 422);
@@ -26743,14 +26812,7 @@ function getRunApplicationChangelog(db, workspacePath, workflowMarkdownId, appNa
26743
26812
  if (!wfm) throw svcError14("RUN_NOT_FOUND", 404);
26744
26813
  const project = db.select().from(projects).where(eq(projects.id, wfm.projectId)).get();
26745
26814
  if (!project) throw svcError14("PROJECT_NOT_FOUND", 404);
26746
- let runAppNames;
26747
- if (wfm.importedAppName) {
26748
- runAppNames = [wfm.importedAppName];
26749
- } else {
26750
- const appIds = db.select({ applicationId: conductorRuns.applicationId }).from(conductorRuns).where(eq(conductorRuns.workflowMarkdownId, wfm.id)).all().map((r) => r.applicationId);
26751
- runAppNames = appIds.length > 0 ? db.select({ name: applications.name }).from(applications).where(inArray(applications.id, appIds)).all().map((a) => a.name) : [];
26752
- }
26753
- if (!runAppNames.includes(appName)) throw svcError14("APP_NOT_IN_RUN", 404);
26815
+ if (!runApplicationNames(db, wfm).includes(appName)) throw svcError14("APP_NOT_IN_RUN", 404);
26754
26816
  const projectDir2 = resolve2(workspacePath, project.workspaceFolderName);
26755
26817
  const appFolder = resolveAppFolderName(projectDir2, appName);
26756
26818
  const absolute = resolve2(projectDir2, appFolder, "CHANGELOG.md");
@@ -26763,6 +26825,30 @@ function getRunApplicationChangelog(db, workspacePath, workflowMarkdownId, appNa
26763
26825
  content: readFileSync17(absolute, "utf-8")
26764
26826
  };
26765
26827
  }
26828
+ function runApplicationNames(db, wfm) {
26829
+ if (wfm.importedAppName) return [wfm.importedAppName];
26830
+ const appIds = db.select({ applicationId: conductorRuns.applicationId }).from(conductorRuns).where(eq(conductorRuns.workflowMarkdownId, wfm.id)).all().map((r) => r.applicationId);
26831
+ if (appIds.length === 0) return [];
26832
+ return db.select({ name: applications.name }).from(applications).where(inArray(applications.id, appIds)).all().map((a) => a.name);
26833
+ }
26834
+ function getRunApplicationTracker(db, workspacePath, workflowMarkdownId, appName) {
26835
+ const wfm = db.select().from(workflowMarkdowns).where(eq(workflowMarkdowns.id, workflowMarkdownId)).get();
26836
+ if (!wfm) throw svcError14("RUN_NOT_FOUND", 404);
26837
+ if (wfm.conductorType === "prepare") throw svcError14("NO_TRACKER_FOR_CONDUCTOR", 400);
26838
+ const project = db.select().from(projects).where(eq(projects.id, wfm.projectId)).get();
26839
+ if (!project) throw svcError14("PROJECT_NOT_FOUND", 404);
26840
+ if (!runApplicationNames(db, wfm).includes(appName)) throw svcError14("APP_NOT_IN_RUN", 404);
26841
+ const projectDir2 = resolve2(workspacePath, project.workspaceFolderName);
26842
+ const absolute = resolve2(resolveRunTrackingFilePath(projectDir2, appName, wfm.conductorType));
26843
+ if (absolute !== projectDir2 && !absolute.startsWith(projectDir2 + sep2))
26844
+ throw svcError14("INVALID_PATH", 400);
26845
+ if (!existsSync23(absolute)) throw svcError14("TRACKER_NOT_FOUND", 404);
26846
+ return {
26847
+ applicationName: appName,
26848
+ filePath: relative(workspacePath, absolute).replace(/\\/g, "/"),
26849
+ content: readFileSync17(absolute, "utf-8")
26850
+ };
26851
+ }
26766
26852
  function toDetail(db, projectFolder, wfm, workspacePath) {
26767
26853
  if (wfm.importedAppName) {
26768
26854
  return {
@@ -28005,6 +28091,17 @@ function workflowRoutes(db, workspacePath) {
28005
28091
  return errorResponse16(c, e);
28006
28092
  }
28007
28093
  });
28094
+ app.get("/runs/:id/tracker", (c) => {
28095
+ const id = Number(c.req.param("id"));
28096
+ if (Number.isNaN(id)) return c.json({ code: "INVALID_ID" }, 400);
28097
+ const appName = c.req.query("app");
28098
+ if (!appName) return c.json({ code: "APP_REQUIRED" }, 400);
28099
+ try {
28100
+ return c.json(getRunApplicationTracker(db, workspacePath, id, appName));
28101
+ } catch (e) {
28102
+ return errorResponse16(c, e);
28103
+ }
28104
+ });
28008
28105
  app.post("/runs/:id/force-stop", (c) => {
28009
28106
  const id = Number(c.req.param("id"));
28010
28107
  if (Number.isNaN(id)) return c.json({ code: "INVALID_ID" }, 400);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rashidee/co2",
3
- "version": "1.3.25",
4
- "description": "Compound Context Studio self-hosted team context authoring for CO2 projects",
3
+ "version": "1.3.27",
4
+ "description": "Compound Context Studio — self-hosted team context authoring for CO2 projects",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "publishConfig": {
@@ -1 +1 @@
1
- import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-qyl8h8E8.js";import{p as f}from"./chunk-JWPE2WC7-De7uOmha.js";import{_ as n,l as o}from"./index-B6KU4H2y.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-COUQslLO.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
+ import{g as p,r as u,d as a}from"./chunk-MOJQB5TN-DMVlpoSf.js";import{p as f}from"./chunk-JWPE2WC7-D9BTDnXt.js";import{_ as n,l as o}from"./index-C26387Mq.js";import{M as c,b as d}from"./cynefin-VYW2F7L2-DNym54iM.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-B6KU4H2y.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};
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-C26387Mq.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};