@rsaglobaltech/specgate 0.13.0 → 0.14.1

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 (46) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/dist/packages/core/src/application/ValidateProjectUseCase.js +27 -8
  3. package/dist/packages/core/src/application/ValidateProjectUseCase.js.map +1 -1
  4. package/dist/packages/core/src/domain/AgentPrompt.js +2 -1
  5. package/dist/packages/core/src/domain/AgentPrompt.js.map +1 -1
  6. package/dist/packages/core/src/domain/GherkinQuality.js +4 -2
  7. package/dist/packages/core/src/domain/GherkinQuality.js.map +1 -1
  8. package/dist/packages/core/src/domain/GherkinTags.js +12 -0
  9. package/dist/packages/core/src/domain/GherkinTags.js.map +1 -1
  10. package/dist/packages/core/src/domain/RequirementReadiness.js +7 -2
  11. package/dist/packages/core/src/domain/RequirementReadiness.js.map +1 -1
  12. package/dist/packages/core/src/domain/SpecSections.js +1 -1
  13. package/dist/packages/core/src/domain/SpecSections.js.map +1 -1
  14. package/dist/packages/core/src/domain/YamlLite.js +49 -7
  15. package/dist/packages/core/src/domain/YamlLite.js.map +1 -1
  16. package/dist/packages/mcp-spec-driven/src/tools.js +23 -6
  17. package/dist/packages/mcp-spec-driven/src/tools.js.map +1 -1
  18. package/dist/scripts/cli/commands/mcp/McpInstallCommand.js +2 -2
  19. package/dist/scripts/cli/commands/mcp/McpInstallCommand.js.map +1 -1
  20. package/dist/scripts/cli/commands/mcp/index.js +1 -1
  21. package/dist/scripts/cli/commands/mcp/index.js.map +1 -1
  22. package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js +3 -1
  23. package/dist/scripts/cli/commands/pack/ExpandDomainPackCommand.js.map +1 -1
  24. package/dist/scripts/cli/commands/pack/LintPackCommand.js +4 -1
  25. package/dist/scripts/cli/commands/pack/LintPackCommand.js.map +1 -1
  26. package/dist/scripts/cli/commands/project/OnboardCommand.js +1 -1
  27. package/dist/scripts/cli/commands/project/OnboardCommand.js.map +1 -1
  28. package/dist/scripts/cli/commands/quality/DoctorCommand.js +4 -2
  29. package/dist/scripts/cli/commands/quality/DoctorCommand.js.map +1 -1
  30. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js +16 -7
  31. package/dist/scripts/cli/commands/quality/ValidateSpecsCommand.js.map +1 -1
  32. package/dist/scripts/cli/commands/spec/DoneCommand.js +19 -1
  33. package/dist/scripts/cli/commands/spec/DoneCommand.js.map +1 -1
  34. package/dist/scripts/cli/commands/spec/StatusCommand.js +27 -6
  35. package/dist/scripts/cli/commands/spec/StatusCommand.js.map +1 -1
  36. package/dist/scripts/docs/blocks.js +4 -1
  37. package/dist/scripts/docs/blocks.js.map +1 -1
  38. package/dist/scripts/docs/build-site.js +1 -1
  39. package/dist/scripts/docs/nav.js +18 -3
  40. package/dist/scripts/docs/nav.js.map +1 -1
  41. package/dist/scripts/gen_mcp_tools.js +9 -6
  42. package/dist/scripts/gen_mcp_tools.js.map +1 -1
  43. package/dist/scripts/lib/surface.js +5 -5
  44. package/dist/scripts/lib/surface.js.map +1 -1
  45. package/package.json +1 -1
  46. package/templates/adopt/spec.md.tpl +5 -6
package/CHANGELOG.md CHANGED
@@ -8,6 +8,109 @@ The release process is in [`docs/release-process.md`](docs/release-process.md).
8
8
 
9
9
  ## [Unreleased]
10
10
 
11
+ ## [0.14.1] — 2026-10-07
12
+
13
+ ### Fixed
14
+
15
+ Found by building a real product — the Golden State Reinforcing app, with its
16
+ domain packs in a specops repository:
17
+
18
+ - **`pack lint` sees scenarios.** It read `scenario.requirement`; the schema
19
+ names the field `requirement_id`, so a requirement covered only by a
20
+ scenario failed `--strict` as unreferenced.
21
+ - **The YAML reader takes what YAML libraries write**: indentless sequences
22
+ (`key:` then `- item` at the same indent), long strings folded over several
23
+ lines, and the `''` / `\"` escapes inside quotes. A pack generated with
24
+ PyYAML's defaults failed with "Unexpected YAML token".
25
+ - **"tag work" is not a vague step.** The vague-step check matched the bare
26
+ word *work*; it now flags verdicts ("it works", "should work"), not trade
27
+ terms.
28
+ - **A requirement can have several scenarios.** On a generated matrix a
29
+ requirement with two scenarios has two rows, and the gate called it a
30
+ duplicate id — so any requirement with more than one scenario, including
31
+ every pack that ships them, failed `check`. Rows with distinct scenario ids
32
+ are accepted there; a hand-kept matrix keeps the strict rule, and
33
+ `specgate matrix --migrate` moves a project to the generated one after
34
+ `specops add`.
35
+ - **A pack template that already carries its `@REQ`/`@SCN` tags expands
36
+ cleanly.** `expand` reported "declares … which is not in the template" for
37
+ every pre-tagged scenario.
38
+ - **Pushes to `main` were never refused by GitHub**: in zsh, `$R:refs/…` is
39
+ the `:r` modifier. The release process now quotes the refspec.
40
+
41
+ ## [0.14.0] — 2026-10-07
42
+
43
+ ### Changed
44
+
45
+ - **`done` will not close a requirement no test mentions.** On a generated
46
+ matrix the requirement being closed is judged as delivered, so `done` refuses
47
+ what the next `check` would — it used to judge it as still `Draft`, write
48
+ Implemented, and leave `[TDD-1]` for CI.
49
+ - **`status` after adoption points at a first real requirement**
50
+ (`specgate new "…"`), then at `specgate done REQ-NNN` for the newest one —
51
+ not "`specgate check` — write REQ-001's test" for the baseline.
52
+ - **The documentation site has a new design ("Editorial").** A warm paper
53
+ ground, a serif display face (Newsreader) over a quiet sans (Instrument
54
+ Sans), one deep green accent, and a warm dark theme from the same tokens —
55
+ so the diagrams follow. The landing page is rebuilt around the five-command
56
+ loop, what each status owes, the four roles on a team and the harness, with
57
+ reveal-on-scroll and a slow parallax that both stop under reduced motion.
58
+ The pack gallery is redesigned to match: centred, monograms instead of emoji,
59
+ a search bar of its own, and install commands that no longer overflow.
60
+
61
+ ### Fixed
62
+
63
+ Found by following the documentation step by step on the published 0.13.0:
64
+
65
+ - **The docs' recipes run as written.** Adding a scenario no longer tells you
66
+ to hand-edit the generated matrix (whose next regeneration removed the row);
67
+ getting started no longer copies an example file that only exists inside the
68
+ package; the `plan --format json` sample and the agent recipe use the real
69
+ keys (`next`, `actionable`, …); an unclosed code fence no longer swallows the
70
+ `--strict-coverage` section; the `Deferred` status, which does not exist, is
71
+ gone.
72
+ - **An orphan feature on a generated matrix is told to tag its scenario**, not
73
+ to add a row the next `check` removes.
74
+ - **`Deprecated` owes nothing.** It failed `[TDD-1]`, while `req rm` past Draft
75
+ recommends Deprecated — the advice was a loop.
76
+ - **`done --json` (and MCP) says why the gate refused**: the validate findings
77
+ come before `done_validate_failed`, instead of that code alone.
78
+ - **MCP tools declare their argument**: `specgate_change_*` an `id`,
79
+ `specgate_req_*` a `requirement` or `title`.
80
+ - **Generated text teaches the current loop**: the adopted `spec.md` header,
81
+ the retro-fill advice, readiness fixes and the harness prompt recommend
82
+ `specgate new`, a test that mentions the id and `done` — `req link` only for
83
+ hand-kept matrices.
84
+
85
+ ### Added
86
+
87
+ - **The documentation site tells the current story.** The landing page opens
88
+ on `init` and the five-command loop — status, new, a test that mentions the
89
+ requirement, done, check — with a section on what the author, the reviewer,
90
+ CI and the agent each do. Three new pages: [How Specgate thinks](docs/concepts.md)
91
+ (six ideas: what each status owes, where the matrix comes from), [The MCP
92
+ server](docs/mcp.md) (install, tools, the contract-edit guard) and an
93
+ [FAQ](docs/faq.md). The landing still taught `onboard`/`adopt`, a four-command
94
+ loop on `plan` and `validate`, and a harness gating on `--strict-tdd`.
95
+
96
+ ### Fixed
97
+
98
+ - **The pack gallery names Specgate and installs what it shows.** Every card
99
+ offered `npx create-spec-driven-app expand --pack-root ./packs …` — the old
100
+ package name, against a `./packs` folder the reader does not have. Cards now
101
+ show `specgate specops add` from this repository, pinned to the release tag.
102
+ - **A change to the site generator redeploys the site.** The Pages workflow
103
+ only watched `docs/**`, so the diagram fix reached `main` and was never
104
+ published.
105
+ - **Diagrams render on every docs page.** A blank line inside an inlined SVG
106
+ ended Markdown's HTML block, so the rest of the diagram showed as a block of
107
+ escaped markup on *Domain packs* and in *Specs that cannot lie*. Blank lines
108
+ are dropped when a diagram is inlined, and a test fails on any page showing
109
+ diagram markup as text.
110
+ - **`mcp install --help` names the clients it supports.** It offered
111
+ `vscode` and `kiro`, which fail with `unsupported_client`; it supports
112
+ `claude` and `cursor`. The docs no longer mention a `windsurf` client either.
113
+
11
114
  ## [0.13.0] — 2026-10-07
12
115
 
13
116
  ### Added
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.POST_DRAFT_STATUS = exports.ALLOWED_STATUS = exports.RICH_HEADER = exports.LEGACY_HEADER = exports.ValidateProjectUseCase = void 0;
4
4
  const ValidationReport_1 = require("../domain/ValidationReport");
5
5
  const SpecSections_1 = require("../domain/SpecSections");
6
+ const DerivedMatrix_1 = require("../domain/DerivedMatrix");
6
7
  const TraceabilityFormat_1 = require("../domain/TraceabilityFormat");
7
8
  Object.defineProperty(exports, "ALLOWED_STATUS", { enumerable: true, get: function () { return TraceabilityFormat_1.ALLOWED_STATUS; } });
8
9
  Object.defineProperty(exports, "LEGACY_HEADER", { enumerable: true, get: function () { return TraceabilityFormat_1.LEGACY_HEADER; } });
@@ -54,7 +55,9 @@ class ValidateProjectUseCase {
54
55
  }
55
56
  const strictTdd = opts.strictTdd === true;
56
57
  const seenScenarios = new Set();
57
- const seenRequirements = new Set();
58
+ const derived = (0, DerivedMatrix_1.isDerivedMatrix)(traceContent);
59
+ // Requirement id → whether one of its rows had no scenario id.
60
+ const seenRequirements = new Map();
58
61
  for (const cells of (0, TraceabilityFormat_1.parseMatrixRows)(traceContent)) {
59
62
  const { requirementId, scenarioId, testArtifact, status } = (0, TraceabilityFormat_1.readRowFields)(cells, mode);
60
63
  // A requirement id is the primary key of this table: `done`, `req link`
@@ -64,8 +67,17 @@ class ValidateProjectUseCase {
64
67
  // artifact silently becomes another's, and the matrix asserts a proof
65
68
  // that was never run. Three cold adoptions reached that state through the
66
69
  // tool's own commands while every gate stayed green.
70
+ //
71
+ // On a generated matrix the rows come from spec.md, so a requirement
72
+ // with several scenarios legitimately has a row per scenario, each
73
+ // addressable by its unique scenario id. Refusing every repeat there made
74
+ // any requirement with two scenarios fail the gate. A hand-kept matrix
75
+ // keeps the strict rule: there, two rows under one id cannot be told
76
+ // apart from two requirements that collided.
77
+ const hasScenario = derived && Boolean(scenarioId && scenarioId !== "-");
67
78
  if (requirementId && requirementId !== "-") {
68
- if (seenRequirements.has(requirementId)) {
79
+ if (seenRequirements.has(requirementId) &&
80
+ (!hasScenario || seenRequirements.get(requirementId))) {
69
81
  report.addError("duplicate_requirement_id", `Duplicate Requirement ID in traceability.md: ${requirementId}`, {
70
82
  target: requirementId,
71
83
  fixLines: [
@@ -76,7 +88,7 @@ class ValidateProjectUseCase {
76
88
  ],
77
89
  });
78
90
  }
79
- seenRequirements.add(requirementId);
91
+ seenRequirements.set(requirementId, Boolean(seenRequirements.get(requirementId)) || !hasScenario);
80
92
  }
81
93
  if (requirementId)
82
94
  requirements.add(requirementId);
@@ -103,11 +115,18 @@ class ValidateProjectUseCase {
103
115
  }
104
116
  if (!strictTdd)
105
117
  continue;
106
- if (testArtifact.toUpperCase() === "TBD" && status && TraceabilityFormat_1.POST_DRAFT_STATUS.has(status)) {
107
- report.addError("strict_tdd_violation", `[TDD-1] Test artifact is TBD but status is '${status}' (scenario: ${scenarioId || "(no id)"})`, { target: "TDD-1" });
118
+ // `Deprecated` owes nothing: its files may be gone on purpose, and
119
+ // `req rm` past Draft points at Deprecated — a TDD-1 here made the
120
+ // advice a loop.
121
+ const judged = opts.delivering && requirementId === opts.delivering && status === "Draft"
122
+ ? "Implemented"
123
+ : status;
124
+ const owesTdd = judged && TraceabilityFormat_1.POST_DRAFT_STATUS.has(judged) && judged !== "Deprecated";
125
+ if (testArtifact.toUpperCase() === "TBD" && owesTdd) {
126
+ report.addError("strict_tdd_violation", `[TDD-1] Test artifact is TBD but status is '${judged}' (scenario: ${scenarioId || "(no id)"})`, { target: "TDD-1" });
108
127
  }
109
- if (mode === "rich" && !scenarioId && status && status !== "Draft") {
110
- report.addError("strict_tdd_violation", `[TDD-2] Traceability row missing Scenario ID with status '${status}' (requirement: ${requirementId || "(none)"})`, { target: "TDD-2" });
128
+ if (mode === "rich" && !scenarioId && owesTdd) {
129
+ report.addError("strict_tdd_violation", `[TDD-2] Traceability row missing Scenario ID with status '${judged}' (requirement: ${requirementId || "(none)"})`, { target: "TDD-2" });
111
130
  }
112
131
  }
113
132
  if (strictTdd && mode === "rich" && typeof opts.specContent === "string") {
@@ -142,7 +161,7 @@ class ValidateProjectUseCase {
142
161
  `This becomes an error in 1.0 (ADR-0026).`, {
143
162
  target: reqId,
144
163
  file: "spec.md",
145
- fix: `Write its prose — \`specgate req add\` does it for you, and \`## ${reqId} — ` +
164
+ fix: `Write its prose — \`specgate new\` does it for a new one, and \`## ${reqId} — ` +
146
165
  `<title>\` by hand works too. Until then the harness prompt cannot tell an ` +
147
166
  `agent what ${reqId} requires.`,
148
167
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateProjectUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ValidateProjectUseCase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ValidateProjectUseCase.js","sourceRoot":"","sources":["../../../../../packages/core/src/application/ValidateProjectUseCase.ts"],"names":[],"mappings":"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"}
@@ -63,7 +63,8 @@ class AgentPrompt {
63
63
  else if (featureUndeclared) {
64
64
  parts.push(AgentPrompt.section("Gherkin scenario", `This requirement declares no feature file — the matrix cell is empty.\n\n` +
65
65
  `Write the scenario first, as \`features/<area>/<behaviour>.feature\`, tagged ` +
66
- `\`@${req.requirement}\` and \`@${field("scenarioId", "scenario_id") || "SCN-NNN"}\` above its \`Scenario:\` line. Then record it:\n\n` +
66
+ `\`@${req.requirement}\` and \`@${field("scenarioId", "scenario_id") || "SCN-NNN"}\` above its \`Scenario:\` line. The tag is the link on a generated matrix; on a ` +
67
+ `hand-kept one, record it:\n\n` +
67
68
  ` specgate req link ${req.requirement} --feature <path>\n\n` +
68
69
  `Creating a file that does not exist is not editing the contract — the ` +
69
70
  `rule below is about changing scenarios that are already there.`));
@@ -1 +1 @@
1
- {"version":3,"file":"AgentPrompt.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/AgentPrompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentPrompt.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/AgentPrompt.ts"],"names":[],"mappings":"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"}
@@ -50,9 +50,11 @@ const Gherkin_1 = require("./Gherkin");
50
50
  * Language that describes nothing checkable.
51
51
  *
52
52
  * `Then it works correctly` is not falsifiable: it passes or fails on the
53
- * implementer's mood, which makes the gate's verdict meaningless.
53
+ * implementer's mood, which makes the gate's verdict meaningless. "Works" is
54
+ * vague only as a verdict ("it works"): matching the bare word refused trade
55
+ * terms like "tag work" in a construction pack.
54
56
  */
55
- const VAGUE_STEP_RE = /\b(works?|correctly|properly|as expected|should be fine|should work|somehow|something|some stuff|etc\.?|tbd|todo)\b|\.\.\./i;
57
+ const VAGUE_STEP_RE = /\b((?:it|this|that|everything|all|system)\s+works?|correctly|properly|as expected|should be fine|should work|somehow|something|some stuff|etc\.?|tbd|todo)\b|\.\.\./i;
56
58
  /** Every code this module can emit. Callers branch on these, never on prose. */
57
59
  exports.QUALITY_CODES = Object.freeze({
58
60
  TITLE_GENERIC: "scenario_title_generic",
@@ -1 +1 @@
1
- {"version":3,"file":"GherkinQuality.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/GherkinQuality.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GherkinQuality.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/GherkinQuality.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ exports.parseTagLine = parseTagLine;
35
35
  exports.tagScenario = tagScenario;
36
36
  exports.csdaTagsByScenario = csdaTagsByScenario;
37
37
  exports.csdaTagsIn = csdaTagsIn;
38
+ exports.hasScenario = hasScenario;
38
39
  /** `@REQ-001`, `@SCN-014a` — ours. Anything else on the line belongs to the project. */
39
40
  const CSDA_TAG = /^@(REQ|SCN)-[A-Za-z0-9.]+$/;
40
41
  /** A scenario heading in any dialect, captured with its indentation. */
@@ -116,4 +117,15 @@ function csdaTagsIn(source) {
116
117
  }
117
118
  return [...found].sort();
118
119
  }
120
+ /** Whether `source` has a scenario heading with exactly this name. */
121
+ function hasScenario(source, scenarioName) {
122
+ const target = String(scenarioName || "").trim();
123
+ return source
124
+ .replace(/\r\n/g, "\n")
125
+ .split("\n")
126
+ .some((line) => {
127
+ const match = SCENARIO_LINE.exec(line);
128
+ return Boolean(match && match[3].trim() === target);
129
+ });
130
+ }
119
131
  //# sourceMappingURL=GherkinTags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GherkinTags.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/GherkinTags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GherkinTags.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/GherkinTags.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,8 @@ function requirementReadiness(input) {
75
75
  `acceptance criterion to satisfy.`
76
76
  : "the row declares no feature file, so there is no acceptance criterion to satisfy.", {
77
77
  target,
78
- fix: `Write the scenario first: \`specgate req link ${target} --feature <path>\`.`,
78
+ fix: `Write the scenario first and tag it \`@${target}\`; on a hand-kept matrix, ` +
79
+ `\`specgate req link ${target} --feature <path>\` records it.`,
79
80
  }));
80
81
  }
81
82
  // Only errors. A scenario Cucumber sees as empty passes without running
@@ -108,7 +109,11 @@ function requirementReadiness(input) {
108
109
  }
109
110
  if (!input.technicalDeclared && !input.derived) {
110
111
  blockers.push((0, Diagnostic_1.warning)(exports.READINESS_CODES.NO_TECHNICAL_ARTIFACT, "the row declares no production artifact, so the agent chooses where the " +
111
- "implementation goes and the matrix will point somewhere else.", { target, fix: `specgate req link ${target} --code <path>` }));
112
+ "implementation goes and the matrix will point somewhere else.", {
113
+ target,
114
+ fix: `Mention ${target} in the file that implements it; on a hand-kept matrix, ` +
115
+ `\`specgate req link ${target} --code <path>\`.`,
116
+ }));
112
117
  }
113
118
  return { ready: !blockers.some((b) => b.severity === "error"), blockers };
114
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RequirementReadiness.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/RequirementReadiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RequirementReadiness.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/RequirementReadiness.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ function renderRequirementSection(reqId, title) {
46
46
  const obligation = String(title || "").trim() || "the behaviour named above";
47
47
  return (`${heading}\n\n` +
48
48
  `The system MUST satisfy: ${obligation}.\n\n` +
49
- `> Written by \`specgate req add\`. Replace this sentence with the real ` +
49
+ `> Written by Specgate. Replace this sentence with the real ` +
50
50
  `obligation — what must hold, under which conditions, and how it is ` +
51
51
  `observed.\n`);
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SpecSections.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/SpecSections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpecSections.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/SpecSections.ts"],"names":[],"mappings":"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"}
@@ -87,9 +87,13 @@ function splitFlowItems(inner) {
87
87
  }
88
88
  function parseScalar(raw) {
89
89
  const text = raw.trim();
90
- if ((text.startsWith('"') && text.endsWith('"')) ||
91
- (text.startsWith("'") && text.endsWith("'"))) {
92
- return text.slice(1, -1);
90
+ // Quoted scalars, with the escapes YAML defines for each: `''` inside single
91
+ // quotes is one quote (`'the device''s fix'`), and `\"` inside double quotes.
92
+ if (text.length > 1 && text.startsWith("'") && text.endsWith("'")) {
93
+ return text.slice(1, -1).replace(/''/g, "'");
94
+ }
95
+ if (text.length > 1 && text.startsWith('"') && text.endsWith('"')) {
96
+ return text.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\");
93
97
  }
94
98
  // Inline flow sequences: `aggregates: [Invoice, Payment]`. Ordinary YAML, and
95
99
  // what a pack author writes for a short list — the curated packs are full of
@@ -112,8 +116,39 @@ function parseScalar(raw) {
112
116
  }
113
117
  return text;
114
118
  }
119
+ /** A line that starts a mapping entry: a key, then `:` and a space or the end. */
120
+ function isKeyLine(text) {
121
+ return /^(?:"[^"]*"|'[^']*'|[^\s'"#-][^:]*?):(?:\s|$)/.test(text);
122
+ }
115
123
  function parseTokens(tokens) {
116
124
  let index = 0;
125
+ /**
126
+ * A scalar written over several lines — what YAML emitters produce for a
127
+ * long description. A quoted one runs to its closing quote; a plain one takes
128
+ * every deeper line that is neither a key nor a list item. Lines are joined
129
+ * with a space, as YAML folds them. Both used to stop the parse with
130
+ * "Unexpected YAML token", so a pack written by a YAML library would not load.
131
+ */
132
+ function continueScalar(raw, indent) {
133
+ let text = raw;
134
+ const quote = text[0] === '"' || text[0] === "'" ? text[0] : "";
135
+ const closed = () => text.length > 1 && text.endsWith(quote);
136
+ if (quote) {
137
+ while (!closed() && index < tokens.length) {
138
+ text += " " + tokens[index].text;
139
+ index += 1;
140
+ }
141
+ return text;
142
+ }
143
+ while (index < tokens.length &&
144
+ tokens[index].indent > indent &&
145
+ !tokens[index].text.startsWith("- ") &&
146
+ !isKeyLine(tokens[index].text)) {
147
+ text += " " + tokens[index].text;
148
+ index += 1;
149
+ }
150
+ return text;
151
+ }
117
152
  function parseNode(indent) {
118
153
  if (index >= tokens.length)
119
154
  return null;
@@ -141,12 +176,19 @@ function parseTokens(tokens) {
141
176
  if (index < tokens.length && tokens[index].indent > indent) {
142
177
  obj[pair.key] = parseNode(tokens[index].indent);
143
178
  }
179
+ else if (index < tokens.length &&
180
+ tokens[index].indent === indent &&
181
+ tokens[index].text.startsWith("- ")) {
182
+ // An indentless sequence: `key:` then `- item` at the key's own
183
+ // indent. Valid YAML, and the default of PyYAML and most editors.
184
+ obj[pair.key] = parseList(indent);
185
+ }
144
186
  else {
145
187
  obj[pair.key] = {};
146
188
  }
147
189
  }
148
190
  else {
149
- obj[pair.key] = parseScalar(pair.value);
191
+ obj[pair.key] = parseScalar(continueScalar(pair.value, indent));
150
192
  }
151
193
  }
152
194
  return obj;
@@ -168,9 +210,9 @@ function parseTokens(tokens) {
168
210
  }
169
211
  continue;
170
212
  }
171
- const inlinePair = splitKeyValue(itemText);
213
+ const inlinePair = isKeyLine(itemText) ? splitKeyValue(itemText) : null;
172
214
  if (!inlinePair) {
173
- arr.push(parseScalar(itemText));
215
+ arr.push(parseScalar(continueScalar(itemText, indent)));
174
216
  continue;
175
217
  }
176
218
  const obj = {};
@@ -183,7 +225,7 @@ function parseTokens(tokens) {
183
225
  }
184
226
  }
185
227
  else {
186
- obj[inlinePair.key] = parseScalar(inlinePair.value);
228
+ obj[inlinePair.key] = parseScalar(continueScalar(inlinePair.value, indent + 2));
187
229
  }
188
230
  if (index < tokens.length &&
189
231
  tokens[index].indent > indent &&
@@ -1 +1 @@
1
- {"version":3,"file":"YamlLite.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/YamlLite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YamlLite.js","sourceRoot":"","sources":["../../../../../packages/core/src/domain/YamlLite.ts"],"names":[],"mappings":"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"}