@specship/specship-win32-arm64 0.14.3 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/lib/dist/activation/steering.d.ts +26 -0
  2. package/lib/dist/activation/steering.d.ts.map +1 -0
  3. package/lib/dist/activation/steering.js +79 -0
  4. package/lib/dist/activation/steering.js.map +1 -0
  5. package/lib/dist/bin/specship.js +97 -8
  6. package/lib/dist/bin/specship.js.map +1 -1
  7. package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts +9 -7
  8. package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
  9. package/lib/dist/extraction/specs/markdown-spec-extractor.js +17 -10
  10. package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
  11. package/lib/dist/extraction/specs/spec-file-writeback.d.ts +37 -0
  12. package/lib/dist/extraction/specs/spec-file-writeback.d.ts.map +1 -0
  13. package/lib/dist/extraction/specs/spec-file-writeback.js +159 -0
  14. package/lib/dist/extraction/specs/spec-file-writeback.js.map +1 -0
  15. package/lib/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
  16. package/lib/dist/extraction/tree-sitter-helpers.js +12 -1
  17. package/lib/dist/extraction/tree-sitter-helpers.js.map +1 -1
  18. package/lib/dist/installer/index.d.ts +26 -7
  19. package/lib/dist/installer/index.d.ts.map +1 -1
  20. package/lib/dist/installer/index.js +121 -17
  21. package/lib/dist/installer/index.js.map +1 -1
  22. package/lib/dist/installer/purge.d.ts +83 -0
  23. package/lib/dist/installer/purge.d.ts.map +1 -0
  24. package/lib/dist/installer/purge.js +144 -0
  25. package/lib/dist/installer/purge.js.map +1 -0
  26. package/lib/dist/installer/targets/claude.d.ts +11 -2
  27. package/lib/dist/installer/targets/claude.d.ts.map +1 -1
  28. package/lib/dist/installer/targets/claude.js +83 -7
  29. package/lib/dist/installer/targets/claude.js.map +1 -1
  30. package/lib/dist/installer/targets/shared.d.ts +10 -2
  31. package/lib/dist/installer/targets/shared.d.ts.map +1 -1
  32. package/lib/dist/installer/targets/shared.js +22 -11
  33. package/lib/dist/installer/targets/shared.js.map +1 -1
  34. package/lib/dist/installer/targets/types.d.ts +10 -0
  35. package/lib/dist/installer/targets/types.d.ts.map +1 -1
  36. package/lib/dist/mcp/model-context.d.ts +51 -0
  37. package/lib/dist/mcp/model-context.d.ts.map +1 -0
  38. package/lib/dist/mcp/model-context.js +229 -0
  39. package/lib/dist/mcp/model-context.js.map +1 -0
  40. package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
  41. package/lib/dist/mcp/spec-tools.js +44 -1
  42. package/lib/dist/mcp/spec-tools.js.map +1 -1
  43. package/lib/dist/mcp/tools.d.ts +21 -0
  44. package/lib/dist/mcp/tools.d.ts.map +1 -1
  45. package/lib/dist/mcp/tools.js +71 -5
  46. package/lib/dist/mcp/tools.js.map +1 -1
  47. package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
  48. package/lib/dist/resolution/spec-link-resolver.js +42 -28
  49. package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
  50. package/lib/dist/server/ingest/index.js +1 -1
  51. package/lib/dist/server/ingest/ingestor.js +24 -4
  52. package/lib/dist/server/routes/claude.js +31 -5
  53. package/lib/dist/server/routes/spec.js +13 -0
  54. package/lib/dist/server/routes/workflow.js +15 -1
  55. package/lib/dist/server/server.js +2 -2
  56. package/lib/dist/statusline/index.d.ts.map +1 -1
  57. package/lib/dist/statusline/index.js +6 -0
  58. package/lib/dist/statusline/index.js.map +1 -1
  59. package/lib/dist/statusline/paths.d.ts +2 -0
  60. package/lib/dist/statusline/paths.d.ts.map +1 -1
  61. package/lib/dist/statusline/paths.js +5 -0
  62. package/lib/dist/statusline/paths.js.map +1 -1
  63. package/lib/dist/types.d.ts +8 -3
  64. package/lib/dist/types.d.ts.map +1 -1
  65. package/lib/dist/ui/assets/index-CjjaftDw.js +50 -0
  66. package/lib/dist/ui/index.html +1 -1
  67. package/lib/dist/workflows/defaults/spec-implement.yaml +5 -0
  68. package/lib/dist/workflows/defaults/spec-verify.yaml +23 -9
  69. package/lib/dist/workflows/executor.d.ts +19 -0
  70. package/lib/dist/workflows/executor.d.ts.map +1 -1
  71. package/lib/dist/workflows/executor.js +131 -18
  72. package/lib/dist/workflows/executor.js.map +1 -1
  73. package/lib/dist/workflows/runners/bash.d.ts.map +1 -1
  74. package/lib/dist/workflows/runners/bash.js +14 -1
  75. package/lib/dist/workflows/runners/bash.js.map +1 -1
  76. package/lib/node_modules/.package-lock.json +1 -1
  77. package/lib/package.json +1 -1
  78. package/package.json +1 -1
  79. package/lib/dist/server/chat/classify.js +0 -130
  80. package/lib/dist/server/routes/chat-answer.js +0 -499
  81. package/lib/dist/server/routes/chat.js +0 -144
  82. package/lib/dist/ui/assets/index-CpBBlEO2.js +0 -51
@@ -626,21 +626,28 @@ class MarkdownSpecExtractor {
626
626
  return { frontmatter, firstContentLine: closingIdx + 1 };
627
627
  }
628
628
  /**
629
- * Scan a body block for a bullet-list `implementations:` declaration.
630
- * Format:
629
+ * Scan a body block for bullet-list link declarations. Two block keywords:
631
630
  *
632
- * implementations:
633
- * - src/auth/login.ts:authenticate
634
- * - src/auth/rate-limit.ts:enforce
631
+ * implementations: verifies:
632
+ * - src/auth/login.ts:authenticate - __tests__/auth.test.ts:rateLimitTest
635
633
  *
636
- * Each match becomes a SpecLinkCandidate with kind='implements'.
637
- * Tolerant of indentation; stops at the first non-bullet, non-blank line.
634
+ * `implementations:` becomes kind='implements'; `verifies:` becomes
635
+ * kind='tests' — the test-evidence declaration that gates promotion to
636
+ * `verified` (VERIFY-EVID-DOC, REQ-VEVID-001).
637
+ * Tolerant of indentation; each block stops at the first non-bullet,
638
+ * non-blank line.
638
639
  */
639
640
  extractImplementationRefs(specId, bodyLines) {
641
+ return [
642
+ ...this.extractLinkRefBlock(specId, bodyLines, 'implementations:', 'implements'),
643
+ ...this.extractLinkRefBlock(specId, bodyLines, 'verifies:', 'tests'),
644
+ ];
645
+ }
646
+ extractLinkRefBlock(specId, bodyLines, keyword, kind) {
640
647
  const out = [];
641
648
  for (let i = 0; i < bodyLines.length; i++) {
642
649
  const line = (bodyLines[i] ?? '').trim();
643
- if (line !== 'implementations:' && !line.startsWith('implementations:'))
650
+ if (line !== keyword && !line.startsWith(keyword))
644
651
  continue;
645
652
  // Walk subsequent lines collecting `- path:symbol` entries.
646
653
  for (let j = i + 1; j < bodyLines.length; j++) {
@@ -659,10 +666,10 @@ class MarkdownSpecExtractor {
659
666
  targetFilePath: refPath,
660
667
  targetQualifiedName: refSymbol,
661
668
  targetNodeKind: guessNodeKind(refSymbol),
662
- kind: 'implements',
669
+ kind,
663
670
  });
664
671
  }
665
- // Stop after first `implementations:` block — no need to find more.
672
+ // Stop after the first block of this keyword — no need to find more.
666
673
  break;
667
674
  }
668
675
  return out;
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-spec-extractor.js","sourceRoot":"","sources":["../../../src/extraction/specs/markdown-spec-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown-spec-extractor.js","sourceRoot":"","sources":["../../../src/extraction/specs/markdown-spec-extractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Spec-file write-back for asserted links (LINK-TRUTH-DOC, REQ-LINKWB-001).
3
+ *
4
+ * The spec FILE is the source of truth for a link assertion: a DB-only link
5
+ * vanishes on a full reindex, is invisible to git, and can't be reviewed in a
6
+ * PR. `specship_link_assert` therefore persists every assertion into the
7
+ * requirement's `implementations:` block; the parser re-asserts it on every
8
+ * index, making the link reindex-proof and clone-safe.
9
+ *
10
+ * Pure text transformation here (testable without fs); the fs wrapper at the
11
+ * bottom is what the MCP handler calls.
12
+ */
13
+ export interface WriteBackResult {
14
+ /** True when the source was modified (false = already present / not found). */
15
+ changed: boolean;
16
+ source: string;
17
+ /** Why nothing changed, when it didn't. */
18
+ reason?: 'already-present' | 'spec-id-not-found';
19
+ }
20
+ /**
21
+ * Insert `targetFilePath:targetQualifiedName` into the `implementations:`
22
+ * block of the section identified by `<!-- id: specId -->`, creating the
23
+ * block when absent. Idempotent: re-asserting an already-listed target
24
+ * returns the source byte-identical (REQ-LINKWB-001.A2).
25
+ */
26
+ export declare function addImplementationToSpecSource(source: string, specId: string, targetFilePath: string, targetQualifiedName: string): WriteBackResult;
27
+ /**
28
+ * Fs wrapper: apply the write-back to the spec's on-disk file. Returns a
29
+ * human-readable outcome; never throws (an assert must not fail because the
30
+ * file write did — the DB link still landed and the caller reports both).
31
+ */
32
+ export declare function writeBackImplementation(projectRoot: string, specSourcePath: string, specId: string, targetFilePath: string, targetQualifiedName: string): {
33
+ ok: boolean;
34
+ changed: boolean;
35
+ detail: string;
36
+ };
37
+ //# sourceMappingURL=spec-file-writeback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-file-writeback.d.ts","sourceRoot":"","sources":["../../../src/extraction/specs/spec-file-writeback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,iBAAiB,GAAG,mBAAmB,CAAC;CAClD;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAC1B,eAAe,CAwDjB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAC1B;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0BnD"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /**
3
+ * Spec-file write-back for asserted links (LINK-TRUTH-DOC, REQ-LINKWB-001).
4
+ *
5
+ * The spec FILE is the source of truth for a link assertion: a DB-only link
6
+ * vanishes on a full reindex, is invisible to git, and can't be reviewed in a
7
+ * PR. `specship_link_assert` therefore persists every assertion into the
8
+ * requirement's `implementations:` block; the parser re-asserts it on every
9
+ * index, making the link reindex-proof and clone-safe.
10
+ *
11
+ * Pure text transformation here (testable without fs); the fs wrapper at the
12
+ * bottom is what the MCP handler calls.
13
+ */
14
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ var desc = Object.getOwnPropertyDescriptor(m, k);
17
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
18
+ desc = { enumerable: true, get: function() { return m[k]; } };
19
+ }
20
+ Object.defineProperty(o, k2, desc);
21
+ }) : (function(o, m, k, k2) {
22
+ if (k2 === undefined) k2 = k;
23
+ o[k2] = m[k];
24
+ }));
25
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
26
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
27
+ }) : function(o, v) {
28
+ o["default"] = v;
29
+ });
30
+ var __importStar = (this && this.__importStar) || (function () {
31
+ var ownKeys = function(o) {
32
+ ownKeys = Object.getOwnPropertyNames || function (o) {
33
+ var ar = [];
34
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
35
+ return ar;
36
+ };
37
+ return ownKeys(o);
38
+ };
39
+ return function (mod) {
40
+ if (mod && mod.__esModule) return mod;
41
+ var result = {};
42
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
43
+ __setModuleDefault(result, mod);
44
+ return result;
45
+ };
46
+ })();
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.addImplementationToSpecSource = addImplementationToSpecSource;
49
+ exports.writeBackImplementation = writeBackImplementation;
50
+ const fs = __importStar(require("fs"));
51
+ const path = __importStar(require("path"));
52
+ /** The same bullet pattern the markdown spec extractor matches. */
53
+ const IMPL_BULLET = /^\s*[-*]\s+([^\s:]+)\s*:\s*([A-Za-z0-9_$.]+)\s*$/;
54
+ const ID_MARKER = /^\s*<!--\s*id:\s*([^\s]+)\s*-->\s*$/;
55
+ const HEADING = /^#{1,6}\s+/;
56
+ /**
57
+ * Insert `targetFilePath:targetQualifiedName` into the `implementations:`
58
+ * block of the section identified by `<!-- id: specId -->`, creating the
59
+ * block when absent. Idempotent: re-asserting an already-listed target
60
+ * returns the source byte-identical (REQ-LINKWB-001.A2).
61
+ */
62
+ function addImplementationToSpecSource(source, specId, targetFilePath, targetQualifiedName) {
63
+ const lines = source.split('\n');
64
+ // 1. Find the requirement's ID marker.
65
+ let markerIdx = -1;
66
+ for (let i = 0; i < lines.length; i++) {
67
+ const m = (lines[i] ?? '').match(ID_MARKER);
68
+ if (m && m[1] === specId) {
69
+ markerIdx = i;
70
+ break;
71
+ }
72
+ }
73
+ if (markerIdx === -1) {
74
+ return { changed: false, source, reason: 'spec-id-not-found' };
75
+ }
76
+ // 2. The requirement's BODY runs from the line after its heading to the
77
+ // first structural boundary: the next heading (e.g. `## Acceptance`) or
78
+ // the next `<!-- id: -->` marker (a sibling REQ or an acceptance bullet).
79
+ let bodyStart = markerIdx + 1;
80
+ if (bodyStart < lines.length && HEADING.test(lines[bodyStart] ?? ''))
81
+ bodyStart++;
82
+ let bodyEnd = lines.length;
83
+ for (let i = bodyStart; i < lines.length; i++) {
84
+ const line = lines[i] ?? '';
85
+ if (HEADING.test(line) || ID_MARKER.test(line)) {
86
+ bodyEnd = i;
87
+ break;
88
+ }
89
+ }
90
+ // 3. Existing `implementations:` block inside the body?
91
+ let implIdx = -1;
92
+ for (let i = bodyStart; i < bodyEnd; i++) {
93
+ if (/^implementations:\s*$/.test(lines[i] ?? '')) {
94
+ implIdx = i;
95
+ break;
96
+ }
97
+ }
98
+ const bullet = ` - ${targetFilePath}:${targetQualifiedName}`;
99
+ if (implIdx !== -1) {
100
+ // Walk the block's bullets; bail if the target is already listed.
101
+ let lastBullet = implIdx;
102
+ for (let i = implIdx + 1; i < bodyEnd; i++) {
103
+ const m = (lines[i] ?? '').match(IMPL_BULLET);
104
+ if (!m)
105
+ break;
106
+ if (m[1] === targetFilePath && m[2] === targetQualifiedName) {
107
+ return { changed: false, source, reason: 'already-present' };
108
+ }
109
+ lastBullet = i;
110
+ }
111
+ lines.splice(lastBullet + 1, 0, bullet);
112
+ return { changed: true, source: lines.join('\n') };
113
+ }
114
+ // 4. No block — create one at the end of the body, trimming trailing blank
115
+ // lines so the block sits right after the prose (REQ-LINKWB-001.A3).
116
+ let insertAt = bodyEnd;
117
+ while (insertAt > bodyStart && (lines[insertAt - 1] ?? '').trim() === '')
118
+ insertAt--;
119
+ const block = ['', 'implementations:', bullet];
120
+ // Keep one blank line between the block and whatever follows.
121
+ if (insertAt < lines.length && lines[insertAt]?.trim() !== '')
122
+ block.push('');
123
+ lines.splice(insertAt, 0, ...block);
124
+ return { changed: true, source: lines.join('\n') };
125
+ }
126
+ /**
127
+ * Fs wrapper: apply the write-back to the spec's on-disk file. Returns a
128
+ * human-readable outcome; never throws (an assert must not fail because the
129
+ * file write did — the DB link still landed and the caller reports both).
130
+ */
131
+ function writeBackImplementation(projectRoot, specSourcePath, specId, targetFilePath, targetQualifiedName) {
132
+ try {
133
+ const abs = path.isAbsolute(specSourcePath)
134
+ ? specSourcePath
135
+ : path.join(projectRoot, specSourcePath);
136
+ // Refuse to follow a path that escapes the project root.
137
+ const rel = path.relative(projectRoot, abs);
138
+ if (rel.startsWith('..') || path.isAbsolute(rel)) {
139
+ return { ok: false, changed: false, detail: `spec source resolves outside project root: ${specSourcePath}` };
140
+ }
141
+ const source = fs.readFileSync(abs, 'utf-8');
142
+ const res = addImplementationToSpecSource(source, specId, targetFilePath, targetQualifiedName);
143
+ if (!res.changed) {
144
+ return {
145
+ ok: res.reason !== 'spec-id-not-found',
146
+ changed: false,
147
+ detail: res.reason === 'already-present'
148
+ ? 'implementations: block already lists this target'
149
+ : `marker <!-- id: ${specId} --> not found in ${specSourcePath}`,
150
+ };
151
+ }
152
+ fs.writeFileSync(abs, res.source, 'utf-8');
153
+ return { ok: true, changed: true, detail: `implementations: entry written to ${specSourcePath}` };
154
+ }
155
+ catch (err) {
156
+ return { ok: false, changed: false, detail: err instanceof Error ? err.message : String(err) };
157
+ }
158
+ }
159
+ //# sourceMappingURL=spec-file-writeback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-file-writeback.js","sourceRoot":"","sources":["../../../src/extraction/specs/spec-file-writeback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-helpers.d.ts","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA+B1F"}
1
+ {"version":3,"file":"tree-sitter-helpers.d.ts","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA4C1F"}
@@ -74,7 +74,18 @@ function getChildByField(node, fieldName) {
74
74
  * Get the docstring/comment preceding a node
75
75
  */
76
76
  function getPrecedingDocstring(node, source) {
77
- let sibling = node.previousNamedSibling;
77
+ // An exported declaration is wrapped (`export_statement` → declaration), so
78
+ // the doc comment is a sibling of the WRAPPER, not of the declaration the
79
+ // visitor received. Climb through the wrapper before walking siblings —
80
+ // otherwise every `/** */` on an exported symbol is dropped (this also
81
+ // gated the `@implements` / `@verifies` comment-link backstop).
82
+ let anchor = node;
83
+ if (anchor.previousNamedSibling === null &&
84
+ anchor.parent &&
85
+ (anchor.parent.type === 'export_statement' || anchor.parent.type === 'export_declaration')) {
86
+ anchor = anchor.parent;
87
+ }
88
+ let sibling = anchor.previousNamedSibling;
78
89
  const comments = [];
79
90
  while (sibling) {
80
91
  if (sibling.type === 'comment' ||
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-helpers.js","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,wCAYC;AAKD,kCAEC;AAKD,0CAEC;AAKD,sDA+BC;AAvED,+CAAiC;AAGjC;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,QAAgB,EAChB,IAAc,EACd,IAAY,EACZ,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM;SAChB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,GAAG,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAgB,EAAE,MAAc;IAC1D,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAgB,EAAE,SAAiB;IACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAgB,EAAE,MAAc;IACpE,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,OAAO,OAAO,EAAE,CAAC;QACf,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,IAAI,KAAK,cAAc;YAC/B,OAAO,CAAC,IAAI,KAAK,eAAe;YAChC,OAAO,CAAC,IAAI,KAAK,uBAAuB,EACxC,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/C,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,2BAA2B;IAC3B,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC;SACE,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CACV;SACA,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"tree-sitter-helpers.js","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,wCAYC;AAKD,kCAEC;AAKD,0CAEC;AAKD,sDA4CC;AApFD,+CAAiC;AAGjC;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,QAAgB,EAChB,IAAc,EACd,IAAY,EACZ,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM;SAChB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,GAAG,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAgB,EAAE,MAAc;IAC1D,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAgB,EAAE,SAAiB;IACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAgB,EAAE,MAAc;IACpE,4EAA4E;IAC5E,0EAA0E;IAC1E,wEAAwE;IACxE,uEAAuE;IACvE,gEAAgE;IAChE,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,IACE,MAAM,CAAC,oBAAoB,KAAK,IAAI;QACpC,MAAM,CAAC,MAAM;QACb,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,CAAC,EAC1F,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAC1C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,OAAO,OAAO,EAAE,CAAC;QACf,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,IAAI,KAAK,cAAc;YAC/B,OAAO,CAAC,IAAI,KAAK,eAAe;YAChC,OAAO,CAAC,IAAI,KAAK,uBAAuB,EACxC,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/C,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,2BAA2B;IAC3B,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC;SACE,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CACV;SACA,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC"}
@@ -9,6 +9,7 @@
9
9
  * but only accepts `claude` / `auto` / `all` / `none`.)
10
10
  */
11
11
  import type { AgentTarget, Location, TargetId } from './targets/types';
12
+ import { type PurgeEnv } from './purge';
12
13
  export { writeMcpConfig, writePermissions, hasMcpConfig, hasPermissions, } from './config-writer';
13
14
  export type { InstallLocation } from './config-writer';
14
15
  export interface RunInstallerOptions {
@@ -28,6 +29,13 @@ export interface RunInstallerOptions {
28
29
  * `--sdd` flag) to install it. Undefined/false ⇒ retrieval-only.
29
30
  */
30
31
  sdd?: boolean;
32
+ /**
33
+ * Integrations opt-in (INTEG-TIER-DOC): enable the tool groups that talk to
34
+ * external services. Off by default; a prior install's opt-in is preserved
35
+ * on upgrade.
36
+ */
37
+ withJira?: boolean;
38
+ withDesigner?: boolean;
31
39
  /**
32
40
  * Wire SpecShip's status-line segment into Claude's status line
33
41
  * (SHIP-STATUSLINE-DOC). Opt-in: undefined ⇒ ask interactively (default no);
@@ -52,10 +60,22 @@ export interface RunUninstallerOptions {
52
60
  * / `auto` / `all` / `none`. Anything else throws.
53
61
  */
54
62
  target?: string;
55
- /** Skip the location prompt; use this value directly. */
63
+ /** Only meaningful with `keepData`: which wiring location to sweep. */
56
64
  location?: Location;
57
- /** Non-interactive: location=local, no prompts. */
65
+ /** Non-interactive: skip the confirmation prompt. */
58
66
  yes?: boolean;
67
+ /**
68
+ * Escape hatch (REQ-UNINSTALL-003): perform ONLY the original wiring-only
69
+ * uninstall — remove the Claude Code config, keep the index, `~/.specship`,
70
+ * and the binary. No confirmation, no data loss.
71
+ */
72
+ keepData?: boolean;
73
+ /**
74
+ * Purge environment (from the CLI, which knows the running binary's dir).
75
+ * Omitted → derived from `os.homedir()` + the `SPECSHIP_*` env with the
76
+ * installer module's own `__dirname` as the method-detection anchor.
77
+ */
78
+ purgeEnv?: PurgeEnv;
59
79
  }
60
80
  export type UninstallStatus = 'removed' | 'not-configured' | 'unsupported';
61
81
  /**
@@ -81,11 +101,10 @@ export interface UninstallReport {
81
101
  */
82
102
  export declare function uninstallTargets(targets: readonly AgentTarget[], location: Location): UninstallReport[];
83
103
  /**
84
- * Interactive uninstaller — the inverse of `runInstallerWithOptions`.
85
- * Asks global-vs-local, then sweeps Claude Code's config at that
86
- * location. Removes only what install wrote (MCP server entry,
87
- * permissions) — never the `.specship/` index, which `specship
88
- * uninit` owns.
104
+ * Uninstaller entry. By default a COMPLETE removal (UNINSTALL-PURGE-DOC): the
105
+ * Claude Code wiring at both locations, the current project's `.specship/`
106
+ * index, the user-level `~/.specship/` data, and the binary itself. The
107
+ * `--keep-data` escape hatch runs the original wiring-only behavior instead.
89
108
  */
90
109
  export declare function runUninstaller(opts: RunUninstallerOptions): Promise<void>;
91
110
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAavE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsBvD,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6KtF;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,mDAAmD;IACnD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,eAAe,EAAE,CAwBnB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmE/E;AAkED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,gBAAgB,CAAC,EACtC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/installer/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAA+C,KAAK,QAAQ,EAAsB,MAAM,SAAS,CAAC;AAazG,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAsBvD,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAElD;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAmLtF;AAED,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qDAAqD;IACrD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,gBAAgB,GAAG,aAAa,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,eAAe,EAAE,CAwBnB;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/E;AAuND;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,cAAc,gBAAgB,CAAC,EACtC,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC3B,OAAO,CAAC,IAAI,CAAC,CAwDf"}