@specship/specship-win32-arm64 0.21.2 → 0.23.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 (122) hide show
  1. package/lib/dist/activation/search-intercept.d.ts +59 -0
  2. package/lib/dist/activation/search-intercept.d.ts.map +1 -0
  3. package/lib/dist/activation/search-intercept.js +195 -0
  4. package/lib/dist/activation/search-intercept.js.map +1 -0
  5. package/lib/dist/bin/specship.js +372 -11
  6. package/lib/dist/bin/specship.js.map +1 -1
  7. package/lib/dist/bin/uninstall.d.ts +4 -3
  8. package/lib/dist/bin/uninstall.d.ts.map +1 -1
  9. package/lib/dist/bin/uninstall.js +4 -3
  10. package/lib/dist/bin/uninstall.js.map +1 -1
  11. package/lib/dist/commands/specship/jira.md +74 -0
  12. package/lib/dist/commands/specship/spec.md +61 -1
  13. package/lib/dist/extraction/index.d.ts +6 -0
  14. package/lib/dist/extraction/index.d.ts.map +1 -1
  15. package/lib/dist/extraction/index.js.map +1 -1
  16. package/lib/dist/extraction/specs/markdown-spec-extractor.d.ts.map +1 -1
  17. package/lib/dist/extraction/specs/markdown-spec-extractor.js +8 -1
  18. package/lib/dist/extraction/specs/markdown-spec-extractor.js.map +1 -1
  19. package/lib/dist/index.d.ts +7 -0
  20. package/lib/dist/index.d.ts.map +1 -1
  21. package/lib/dist/index.js +45 -18
  22. package/lib/dist/index.js.map +1 -1
  23. package/lib/dist/installer/index.d.ts +20 -6
  24. package/lib/dist/installer/index.d.ts.map +1 -1
  25. package/lib/dist/installer/index.js +123 -63
  26. package/lib/dist/installer/index.js.map +1 -1
  27. package/lib/dist/installer/targets/claude.d.ts +9 -0
  28. package/lib/dist/installer/targets/claude.d.ts.map +1 -1
  29. package/lib/dist/installer/targets/claude.js +46 -0
  30. package/lib/dist/installer/targets/claude.js.map +1 -1
  31. package/lib/dist/installer/targets/gemini.d.ts +78 -0
  32. package/lib/dist/installer/targets/gemini.d.ts.map +1 -0
  33. package/lib/dist/installer/targets/gemini.js +200 -0
  34. package/lib/dist/installer/targets/gemini.js.map +1 -0
  35. package/lib/dist/installer/targets/registry.d.ts +5 -2
  36. package/lib/dist/installer/targets/registry.d.ts.map +1 -1
  37. package/lib/dist/installer/targets/registry.js +7 -3
  38. package/lib/dist/installer/targets/registry.js.map +1 -1
  39. package/lib/dist/installer/targets/types.d.ts +6 -2
  40. package/lib/dist/installer/targets/types.d.ts.map +1 -1
  41. package/lib/dist/jira/auto-publish.d.ts +67 -0
  42. package/lib/dist/jira/auto-publish.d.ts.map +1 -0
  43. package/lib/dist/jira/auto-publish.js +256 -0
  44. package/lib/dist/jira/auto-publish.js.map +1 -0
  45. package/lib/dist/jira/board-first.d.ts +64 -0
  46. package/lib/dist/jira/board-first.d.ts.map +1 -0
  47. package/lib/dist/jira/board-first.js +91 -0
  48. package/lib/dist/jira/board-first.js.map +1 -0
  49. package/lib/dist/jira/client.d.ts +87 -1
  50. package/lib/dist/jira/client.d.ts.map +1 -1
  51. package/lib/dist/jira/client.js +249 -2
  52. package/lib/dist/jira/client.js.map +1 -1
  53. package/lib/dist/jira/config.d.ts +1 -1
  54. package/lib/dist/jira/config.d.ts.map +1 -1
  55. package/lib/dist/jira/config.js +14 -3
  56. package/lib/dist/jira/config.js.map +1 -1
  57. package/lib/dist/jira/coverage.d.ts +105 -0
  58. package/lib/dist/jira/coverage.d.ts.map +1 -0
  59. package/lib/dist/jira/coverage.js +170 -0
  60. package/lib/dist/jira/coverage.js.map +1 -0
  61. package/lib/dist/jira/index.d.ts +1 -0
  62. package/lib/dist/jira/index.d.ts.map +1 -1
  63. package/lib/dist/jira/index.js +1 -0
  64. package/lib/dist/jira/index.js.map +1 -1
  65. package/lib/dist/jira/milestone-comment.d.ts +95 -0
  66. package/lib/dist/jira/milestone-comment.d.ts.map +1 -0
  67. package/lib/dist/jira/milestone-comment.js +271 -0
  68. package/lib/dist/jira/milestone-comment.js.map +1 -0
  69. package/lib/dist/jira/publish.d.ts +86 -2
  70. package/lib/dist/jira/publish.d.ts.map +1 -1
  71. package/lib/dist/jira/publish.js +0 -0
  72. package/lib/dist/jira/publish.js.map +1 -1
  73. package/lib/dist/jira/published-specs.d.ts +29 -0
  74. package/lib/dist/jira/published-specs.d.ts.map +1 -0
  75. package/lib/dist/jira/published-specs.js +147 -0
  76. package/lib/dist/jira/published-specs.js.map +1 -0
  77. package/lib/dist/jira/reconcile.d.ts +81 -0
  78. package/lib/dist/jira/reconcile.d.ts.map +1 -0
  79. package/lib/dist/jira/reconcile.js +111 -0
  80. package/lib/dist/jira/reconcile.js.map +1 -0
  81. package/lib/dist/jira/regression-pack.d.ts +547 -0
  82. package/lib/dist/jira/regression-pack.d.ts.map +1 -0
  83. package/lib/dist/jira/regression-pack.js +986 -0
  84. package/lib/dist/jira/regression-pack.js.map +1 -0
  85. package/lib/dist/jira/repo-config.d.ts +73 -0
  86. package/lib/dist/jira/repo-config.d.ts.map +1 -0
  87. package/lib/dist/jira/repo-config.js +249 -0
  88. package/lib/dist/jira/repo-config.js.map +1 -0
  89. package/lib/dist/jira/spec-amend.d.ts +46 -0
  90. package/lib/dist/jira/spec-amend.d.ts.map +1 -0
  91. package/lib/dist/jira/spec-amend.js +232 -0
  92. package/lib/dist/jira/spec-amend.js.map +1 -0
  93. package/lib/dist/jira/spec-writer.d.ts +22 -0
  94. package/lib/dist/jira/spec-writer.d.ts.map +1 -1
  95. package/lib/dist/jira/spec-writer.js +113 -0
  96. package/lib/dist/jira/spec-writer.js.map +1 -1
  97. package/lib/dist/jira/types.d.ts +62 -0
  98. package/lib/dist/jira/types.d.ts.map +1 -1
  99. package/lib/dist/jira/types.js +15 -1
  100. package/lib/dist/jira/types.js.map +1 -1
  101. package/lib/dist/mcp/jira-tools.d.ts +102 -0
  102. package/lib/dist/mcp/jira-tools.d.ts.map +1 -1
  103. package/lib/dist/mcp/jira-tools.js +826 -53
  104. package/lib/dist/mcp/jira-tools.js.map +1 -1
  105. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  106. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  107. package/lib/dist/mcp/server-instructions.js +4 -0
  108. package/lib/dist/mcp/server-instructions.js.map +1 -1
  109. package/lib/dist/mcp/spec-tools.d.ts.map +1 -1
  110. package/lib/dist/mcp/spec-tools.js +7 -1
  111. package/lib/dist/mcp/spec-tools.js.map +1 -1
  112. package/lib/dist/mcp/tools.d.ts +53 -0
  113. package/lib/dist/mcp/tools.d.ts.map +1 -1
  114. package/lib/dist/mcp/tools.js +255 -8
  115. package/lib/dist/mcp/tools.js.map +1 -1
  116. package/lib/dist/resolution/spec-link-resolver.d.ts +2 -0
  117. package/lib/dist/resolution/spec-link-resolver.d.ts.map +1 -1
  118. package/lib/dist/resolution/spec-link-resolver.js +11 -3
  119. package/lib/dist/resolution/spec-link-resolver.js.map +1 -1
  120. package/lib/node_modules/.package-lock.json +1 -1
  121. package/lib/package.json +1 -1
  122. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regression-pack.js","sourceRoot":"","sources":["../../src/jira/regression-pack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Repo-committed JIRA project binding (REQ-JIRATEAM-001).
3
+ *
4
+ * The binding lives under `jira` inside `specship.config.json` — the same
5
+ * file `src/enforce/enforce.ts` uses for gate configuration (single repo
6
+ * config, `ENFORCE_CONFIG_FILE`). Credentials NEVER live here: a
7
+ * credential-shaped field triggers a hard error naming the file and field,
8
+ * pointing the user at `~/.specship/jira.json`.
9
+ *
10
+ * Precedence (per spec): repo binding wins for project identity even over
11
+ * env, but credentials always come from the user-level config/env. See
12
+ * `resolveJiraCredentials`.
13
+ */
14
+ import { JiraConfigError, JiraRepoBinding } from './types';
15
+ /**
16
+ * Walk up from `cwd` to find a `specship.config.json`. Falls back to the
17
+ * git root (nearest `.git` directory) so bindings work in fresh clones
18
+ * before the file is authored. Returns null if neither is found.
19
+ */
20
+ export declare function findRepoRoot(cwd: string): string | null;
21
+ /**
22
+ * Reject a repo config whose `jira` block contains a credential-shaped
23
+ * field. The error names the file path and the offending field — the user
24
+ * should see WHY it was rejected and WHERE to put the value instead.
25
+ */
26
+ export declare function assertNoCredentialsInRepoConfig(raw: unknown, configPath: string): void;
27
+ /**
28
+ * Load the repo-committed JIRA binding from `specship.config.json` at (or
29
+ * above) `cwd`. Returns `{ binding: null, path: null }` when no file is
30
+ * present or the file has no `jira` block — a repo without a binding falls
31
+ * through to the solo-lane user-level behavior (REQ-JIRATEAM-001.A3).
32
+ */
33
+ export declare function loadRepoJiraBinding(cwd: string): {
34
+ binding: JiraRepoBinding | null;
35
+ path: string | null;
36
+ };
37
+ /**
38
+ * Merge a partial `jira` binding patch into the committed
39
+ * `specship.config.json` (REQ-JIRATEAM-006 — used when the intake gate
40
+ * accepts a new default `epicKey`). Preserves every other top-level key
41
+ * (`enforce` and any unknown blocks) — same merge discipline as
42
+ * `enableGateChecks` in `src/enforce/enforce.ts`. Creates the file if
43
+ * absent. Never writes credential-adjacent fields.
44
+ */
45
+ export declare function updateRepoJiraBinding(projectRoot: string, patch: Partial<JiraRepoBinding>): {
46
+ path: string;
47
+ binding: JiraRepoBinding;
48
+ };
49
+ /**
50
+ * Resolve the binding's issue-type overrides as `PublishOptions` fields
51
+ * (REQ-JIRATEAM-009). Every path that creates issues from specs — manual
52
+ * publish, auto-publish, reconcile re-publish — MUST spread this in, so a
53
+ * team-managed project without a `Story` type can publish as `Task` instead
54
+ * of failing every create with an opaque 400. Absent overrides yield `{}`
55
+ * and the publish defaults (`Story` / `Sub-task`) apply unchanged.
56
+ * Best-effort: an unreadable/invalid binding yields `{}` — the caller's own
57
+ * binding handling surfaces that problem.
58
+ */
59
+ export declare function bindingIssueTypes(projectRoot: string): {
60
+ issueType?: string;
61
+ subtaskType?: string;
62
+ };
63
+ /**
64
+ * Wrap an auth/access failure that occurred against a repo-bound project
65
+ * (REQ-JIRATEAM-001.A4) so the message names the project, host, and the
66
+ * file that bound them — never a silent fallback to another project.
67
+ */
68
+ export declare function wrapRepoBindingProjectError(err: Error, info: {
69
+ projectKey: string;
70
+ host: string;
71
+ bindingPath: string;
72
+ }): JiraConfigError;
73
+ //# sourceMappingURL=repo-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-config.d.ts","sourceRoot":"","sources":["../../src/jira/repo-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkB3D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUvD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,OAAO,EACZ,UAAU,EAAE,MAAM,GACjB,IAAI,CAcN;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,GACV;IAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA6C1D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAyC5C;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAClB;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAc9C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,KAAK,EACV,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC9D,eAAe,CAMjB"}
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ /**
3
+ * Repo-committed JIRA project binding (REQ-JIRATEAM-001).
4
+ *
5
+ * The binding lives under `jira` inside `specship.config.json` — the same
6
+ * file `src/enforce/enforce.ts` uses for gate configuration (single repo
7
+ * config, `ENFORCE_CONFIG_FILE`). Credentials NEVER live here: a
8
+ * credential-shaped field triggers a hard error naming the file and field,
9
+ * pointing the user at `~/.specship/jira.json`.
10
+ *
11
+ * Precedence (per spec): repo binding wins for project identity even over
12
+ * env, but credentials always come from the user-level config/env. See
13
+ * `resolveJiraCredentials`.
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.findRepoRoot = findRepoRoot;
50
+ exports.assertNoCredentialsInRepoConfig = assertNoCredentialsInRepoConfig;
51
+ exports.loadRepoJiraBinding = loadRepoJiraBinding;
52
+ exports.updateRepoJiraBinding = updateRepoJiraBinding;
53
+ exports.bindingIssueTypes = bindingIssueTypes;
54
+ exports.wrapRepoBindingProjectError = wrapRepoBindingProjectError;
55
+ const fs = __importStar(require("fs"));
56
+ const path = __importStar(require("path"));
57
+ const enforce_1 = require("../enforce/enforce");
58
+ const types_1 = require("./types");
59
+ /**
60
+ * Field names that must never appear under `jira` in the repo config —
61
+ * these are credential-adjacent (secrets or host URLs that pair with
62
+ * secrets) and belong in the user-level config only.
63
+ */
64
+ const FORBIDDEN_FIELDS = [
65
+ 'email',
66
+ 'apiToken',
67
+ 'token',
68
+ 'password',
69
+ 'username',
70
+ 'host',
71
+ 'baseUrl',
72
+ 'pat',
73
+ ];
74
+ /**
75
+ * Walk up from `cwd` to find a `specship.config.json`. Falls back to the
76
+ * git root (nearest `.git` directory) so bindings work in fresh clones
77
+ * before the file is authored. Returns null if neither is found.
78
+ */
79
+ function findRepoRoot(cwd) {
80
+ let dir = path.resolve(cwd);
81
+ let gitRoot = null;
82
+ while (true) {
83
+ if (fs.existsSync(path.join(dir, enforce_1.ENFORCE_CONFIG_FILE)))
84
+ return dir;
85
+ if (gitRoot === null && fs.existsSync(path.join(dir, '.git')))
86
+ gitRoot = dir;
87
+ const parent = path.dirname(dir);
88
+ if (parent === dir)
89
+ return gitRoot;
90
+ dir = parent;
91
+ }
92
+ }
93
+ /**
94
+ * Reject a repo config whose `jira` block contains a credential-shaped
95
+ * field. The error names the file path and the offending field — the user
96
+ * should see WHY it was rejected and WHERE to put the value instead.
97
+ */
98
+ function assertNoCredentialsInRepoConfig(raw, configPath) {
99
+ if (!raw || typeof raw !== 'object' || Array.isArray(raw))
100
+ return;
101
+ const jira = raw.jira;
102
+ if (!jira || typeof jira !== 'object' || Array.isArray(jira))
103
+ return;
104
+ const jiraObj = jira;
105
+ for (const field of FORBIDDEN_FIELDS) {
106
+ if (field in jiraObj) {
107
+ throw new types_1.JiraConfigError(`Repo config ${configPath} has "jira.${field}" — credentials must ` +
108
+ `live in ~/.specship/jira.json (or SPECSHIP_JIRA_* env), never in the ` +
109
+ `repo. Remove "jira.${field}" and run "specship jira configure".`);
110
+ }
111
+ }
112
+ }
113
+ /**
114
+ * Load the repo-committed JIRA binding from `specship.config.json` at (or
115
+ * above) `cwd`. Returns `{ binding: null, path: null }` when no file is
116
+ * present or the file has no `jira` block — a repo without a binding falls
117
+ * through to the solo-lane user-level behavior (REQ-JIRATEAM-001.A3).
118
+ */
119
+ function loadRepoJiraBinding(cwd) {
120
+ const root = findRepoRoot(cwd);
121
+ if (!root)
122
+ return { binding: null, path: null };
123
+ const configPath = path.join(root, enforce_1.ENFORCE_CONFIG_FILE);
124
+ let raw;
125
+ try {
126
+ raw = fs.readFileSync(configPath, 'utf-8');
127
+ }
128
+ catch {
129
+ return { binding: null, path: null };
130
+ }
131
+ let parsed;
132
+ try {
133
+ parsed = JSON.parse(raw);
134
+ }
135
+ catch {
136
+ throw new types_1.JiraConfigError(`Repo config ${configPath} is not valid JSON.`);
137
+ }
138
+ assertNoCredentialsInRepoConfig(parsed, configPath);
139
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
140
+ return { binding: null, path: configPath };
141
+ }
142
+ const jira = parsed.jira;
143
+ if (!jira || typeof jira !== 'object' || Array.isArray(jira)) {
144
+ return { binding: null, path: configPath };
145
+ }
146
+ const j = jira;
147
+ const projectKey = typeof j.projectKey === 'string' ? j.projectKey.trim() : '';
148
+ if (!projectKey) {
149
+ throw new types_1.JiraConfigError(`Repo config ${configPath} has a "jira" block but no "projectKey".`);
150
+ }
151
+ const binding = { projectKey };
152
+ if (typeof j.storyIssueType === 'string')
153
+ binding.storyIssueType = j.storyIssueType;
154
+ if (typeof j.subtaskIssueType === 'string')
155
+ binding.subtaskIssueType = j.subtaskIssueType;
156
+ if (typeof j.board === 'string' || typeof j.board === 'number')
157
+ binding.board = j.board;
158
+ if (typeof j.sprint === 'string' || typeof j.sprint === 'number')
159
+ binding.sprint = j.sprint;
160
+ if (typeof j.epicKey === 'string' && j.epicKey.trim())
161
+ binding.epicKey = j.epicKey.trim();
162
+ return { binding, path: configPath };
163
+ }
164
+ /**
165
+ * Merge a partial `jira` binding patch into the committed
166
+ * `specship.config.json` (REQ-JIRATEAM-006 — used when the intake gate
167
+ * accepts a new default `epicKey`). Preserves every other top-level key
168
+ * (`enforce` and any unknown blocks) — same merge discipline as
169
+ * `enableGateChecks` in `src/enforce/enforce.ts`. Creates the file if
170
+ * absent. Never writes credential-adjacent fields.
171
+ */
172
+ function updateRepoJiraBinding(projectRoot, patch) {
173
+ const file = path.join(projectRoot, enforce_1.ENFORCE_CONFIG_FILE);
174
+ let cfg = {};
175
+ try {
176
+ const raw = fs.readFileSync(file, 'utf-8');
177
+ const parsed = JSON.parse(raw);
178
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
179
+ cfg = parsed;
180
+ }
181
+ }
182
+ catch {
183
+ // missing / unparseable → start fresh, preserving nothing
184
+ }
185
+ assertNoCredentialsInRepoConfig(cfg, file);
186
+ const existing = cfg.jira && typeof cfg.jira === 'object' && !Array.isArray(cfg.jira)
187
+ ? cfg.jira
188
+ : {};
189
+ const merged = { ...existing };
190
+ for (const [k, v] of Object.entries(patch)) {
191
+ if (v === undefined)
192
+ continue;
193
+ merged[k] = v;
194
+ }
195
+ if (typeof merged.projectKey !== 'string' || !merged.projectKey.trim()) {
196
+ throw new types_1.JiraConfigError(`Cannot update ${file}: a "jira.projectKey" is required.`);
197
+ }
198
+ cfg.jira = merged;
199
+ fs.writeFileSync(file, JSON.stringify(cfg, null, 2) + '\n', 'utf-8');
200
+ const binding = { projectKey: String(merged.projectKey).trim() };
201
+ if (typeof merged.storyIssueType === 'string')
202
+ binding.storyIssueType = merged.storyIssueType;
203
+ if (typeof merged.subtaskIssueType === 'string')
204
+ binding.subtaskIssueType = merged.subtaskIssueType;
205
+ if (typeof merged.board === 'string' || typeof merged.board === 'number')
206
+ binding.board = merged.board;
207
+ if (typeof merged.sprint === 'string' || typeof merged.sprint === 'number')
208
+ binding.sprint = merged.sprint;
209
+ if (typeof merged.epicKey === 'string' && merged.epicKey.trim())
210
+ binding.epicKey = merged.epicKey.trim();
211
+ return { path: file, binding };
212
+ }
213
+ /**
214
+ * Resolve the binding's issue-type overrides as `PublishOptions` fields
215
+ * (REQ-JIRATEAM-009). Every path that creates issues from specs — manual
216
+ * publish, auto-publish, reconcile re-publish — MUST spread this in, so a
217
+ * team-managed project without a `Story` type can publish as `Task` instead
218
+ * of failing every create with an opaque 400. Absent overrides yield `{}`
219
+ * and the publish defaults (`Story` / `Sub-task`) apply unchanged.
220
+ * Best-effort: an unreadable/invalid binding yields `{}` — the caller's own
221
+ * binding handling surfaces that problem.
222
+ */
223
+ function bindingIssueTypes(projectRoot) {
224
+ try {
225
+ const { binding } = loadRepoJiraBinding(projectRoot);
226
+ return {
227
+ ...(binding?.storyIssueType?.trim()
228
+ ? { issueType: binding.storyIssueType.trim() }
229
+ : {}),
230
+ ...(binding?.subtaskIssueType?.trim()
231
+ ? { subtaskType: binding.subtaskIssueType.trim() }
232
+ : {}),
233
+ };
234
+ }
235
+ catch {
236
+ return {};
237
+ }
238
+ }
239
+ /**
240
+ * Wrap an auth/access failure that occurred against a repo-bound project
241
+ * (REQ-JIRATEAM-001.A4) so the message names the project, host, and the
242
+ * file that bound them — never a silent fallback to another project.
243
+ */
244
+ function wrapRepoBindingProjectError(err, info) {
245
+ return new types_1.JiraConfigError(`Cannot access JIRA project "${info.projectKey}" on ${info.host} ` +
246
+ `(bound via ${info.bindingPath}). Check your credentials or the binding. ` +
247
+ `Cause: ${err.message}`);
248
+ }
249
+ //# sourceMappingURL=repo-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-config.js","sourceRoot":"","sources":["../../src/jira/repo-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Spec-file write-side for JIRA reconciliation (REQ-JIRATEAM-005.A4).
3
+ *
4
+ * Two operations, both pure text transforms with a thin fs wrapper:
5
+ * - `applyContentAmendment` rewrites the requirement's title/prose body from
6
+ * an edited-in-JIRA summary/description while preserving the leading
7
+ * frontmatter, the `implementations:` / `verifies:` blocks, and the
8
+ * `## Acceptance` section (never clobbered).
9
+ * - `appendAcceptanceCriterion` inserts a new id-marked bullet under the
10
+ * `## Acceptance` container of the target requirement.
11
+ *
12
+ * The transforms return the amended source bytes; callers persist the file and
13
+ * re-publish so the frontmatter fingerprint refreshes.
14
+ */
15
+ export interface AmendResult {
16
+ changed: boolean;
17
+ source: string;
18
+ reason?: 'req-id-not-found' | 'already-present';
19
+ }
20
+ /**
21
+ * Rewrite the requirement's H2 title and its prose paragraph(s) from the
22
+ * edited-in-JIRA summary/description. Preserves the `## Acceptance` container
23
+ * (if present), the `implementations:` and `verifies:` blocks, and every
24
+ * child section. The prose window runs from the line after the heading up to
25
+ * the first of: `## Acceptance`, `implementations:`, `verifies:`, a nested
26
+ * id-marker, or a deeper heading — those all stay intact.
27
+ */
28
+ export declare function applyContentAmendment(source: string, reqId: string, newTitle: string, newDescription: string): AmendResult;
29
+ /**
30
+ * Insert `- <!-- id: <criterionId> -->\n- <text>` under the requirement's
31
+ * `## Acceptance` container. Creates the container when absent (appended to
32
+ * the end of the requirement body). Idempotent: if a bullet with the same id
33
+ * already exists, returns unchanged.
34
+ */
35
+ export declare function appendAcceptanceCriterion(source: string, reqId: string, criterionId: string, criterionText: string): AmendResult;
36
+ /**
37
+ * Fs wrapper: read the spec file, apply `mutator`, and write it back when the
38
+ * result changed. Refuses paths that escape `projectRoot`. Never throws — a
39
+ * malformed spec or a write error is returned as `{ ok: false }`.
40
+ */
41
+ export declare function amendSpecFile(projectRoot: string, specSourcePath: string, mutator: (source: string) => AmendResult): {
42
+ ok: boolean;
43
+ changed: boolean;
44
+ detail: string;
45
+ };
46
+ //# sourceMappingURL=spec-amend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-amend.d.ts","sourceRoot":"","sources":["../../src/jira/spec-amend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAAC;CACjD;AA2CD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,WAAW,CAwCb;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,WAAW,CAwDb;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,WAAW,GACvC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAuBnD"}