@specship/specship-win32-arm64 0.13.0 → 0.14.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 (240) hide show
  1. package/lib/dist/bin/specship.js +180 -1
  2. package/lib/dist/bin/specship.js.map +1 -1
  3. package/lib/dist/jira/auth.d.ts +17 -0
  4. package/lib/dist/jira/auth.d.ts.map +1 -0
  5. package/lib/dist/jira/auth.js +33 -0
  6. package/lib/dist/jira/auth.js.map +1 -0
  7. package/lib/dist/jira/client.d.ts +120 -0
  8. package/lib/dist/jira/client.d.ts.map +1 -0
  9. package/lib/dist/jira/client.js +316 -0
  10. package/lib/dist/jira/client.js.map +1 -0
  11. package/lib/dist/jira/config.d.ts +45 -0
  12. package/lib/dist/jira/config.d.ts.map +1 -0
  13. package/lib/dist/jira/config.js +178 -0
  14. package/lib/dist/jira/config.js.map +1 -0
  15. package/lib/dist/jira/index.d.ts +8 -0
  16. package/lib/dist/jira/index.d.ts.map +1 -0
  17. package/lib/dist/jira/index.js +24 -0
  18. package/lib/dist/jira/index.js.map +1 -0
  19. package/lib/dist/jira/pull-request.d.ts +72 -0
  20. package/lib/dist/jira/pull-request.d.ts.map +1 -0
  21. package/lib/dist/jira/pull-request.js +127 -0
  22. package/lib/dist/jira/pull-request.js.map +1 -0
  23. package/lib/dist/jira/spec-generator.d.ts +34 -0
  24. package/lib/dist/jira/spec-generator.d.ts.map +1 -0
  25. package/lib/dist/jira/spec-generator.js +138 -0
  26. package/lib/dist/jira/spec-generator.js.map +1 -0
  27. package/lib/dist/jira/spec-writer.d.ts +36 -0
  28. package/lib/dist/jira/spec-writer.d.ts.map +1 -0
  29. package/lib/dist/jira/spec-writer.js +143 -0
  30. package/lib/dist/jira/spec-writer.js.map +1 -0
  31. package/lib/dist/jira/types.d.ts +174 -0
  32. package/lib/dist/jira/types.d.ts.map +1 -0
  33. package/lib/dist/jira/types.js +60 -0
  34. package/lib/dist/jira/types.js.map +1 -0
  35. package/lib/dist/mcp/jira-tools.d.ts +234 -0
  36. package/lib/dist/mcp/jira-tools.d.ts.map +1 -0
  37. package/lib/dist/mcp/jira-tools.js +787 -0
  38. package/lib/dist/mcp/jira-tools.js.map +1 -0
  39. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  40. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  41. package/lib/dist/mcp/server-instructions.js +10 -0
  42. package/lib/dist/mcp/server-instructions.js.map +1 -1
  43. package/lib/dist/mcp/tools.d.ts.map +1 -1
  44. package/lib/dist/mcp/tools.js +32 -0
  45. package/lib/dist/mcp/tools.js.map +1 -1
  46. package/lib/dist/server/cli.js +1 -1
  47. package/lib/dist/server/routes/sse.js +1 -1
  48. package/lib/dist/server/server.js +1 -1
  49. package/lib/dist/statusline/index.d.ts +19 -0
  50. package/lib/dist/statusline/index.d.ts.map +1 -1
  51. package/lib/dist/statusline/index.js +96 -3
  52. package/lib/dist/statusline/index.js.map +1 -1
  53. package/lib/dist/statusline/render.d.ts +24 -0
  54. package/lib/dist/statusline/render.d.ts.map +1 -1
  55. package/lib/dist/statusline/render.js +26 -5
  56. package/lib/dist/statusline/render.js.map +1 -1
  57. package/lib/dist/workflows/executor.d.ts +25 -1
  58. package/lib/dist/workflows/executor.d.ts.map +1 -1
  59. package/lib/dist/workflows/executor.js +28 -3
  60. package/lib/dist/workflows/executor.js.map +1 -1
  61. package/lib/node_modules/.package-lock.json +11 -20
  62. package/lib/node_modules/ajv/node_modules/fast-uri/index.js +1 -1
  63. package/lib/node_modules/ajv/node_modules/fast-uri/package.json +1 -1
  64. package/lib/node_modules/ajv/node_modules/fast-uri/test/security.test.js +28 -0
  65. package/lib/node_modules/toad-cache/README.md +10 -9
  66. package/lib/node_modules/toad-cache/dist/toad-cache.cjs +139 -139
  67. package/lib/node_modules/toad-cache/dist/toad-cache.mjs +136 -140
  68. package/lib/node_modules/toad-cache/package.json +8 -8
  69. package/lib/node_modules/toad-cache/toad-cache.d.cts +20 -14
  70. package/lib/node_modules/toad-cache/toad-cache.d.ts +18 -14
  71. package/lib/node_modules/yaml/README.md +14 -31
  72. package/lib/node_modules/yaml/browser/dist/compose/compose-collection.js +3 -3
  73. package/lib/node_modules/yaml/browser/dist/compose/compose-doc.js +0 -1
  74. package/lib/node_modules/yaml/browser/dist/compose/compose-node.js +4 -21
  75. package/lib/node_modules/yaml/browser/dist/compose/compose-scalar.js +8 -14
  76. package/lib/node_modules/yaml/browser/dist/compose/composer.js +2 -4
  77. package/lib/node_modules/yaml/browser/dist/compose/resolve-block-map.js +0 -2
  78. package/lib/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +1 -3
  79. package/lib/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +2 -8
  80. package/lib/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +4 -6
  81. package/lib/node_modules/yaml/browser/dist/compose/resolve-props.js +5 -3
  82. package/lib/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +2 -1
  83. package/lib/node_modules/yaml/browser/dist/compose/util-map-includes.js +5 -1
  84. package/lib/node_modules/yaml/browser/dist/doc/Document.js +2 -3
  85. package/lib/node_modules/yaml/browser/dist/doc/anchors.js +2 -1
  86. package/lib/node_modules/yaml/browser/dist/doc/applyReviver.js +0 -1
  87. package/lib/node_modules/yaml/browser/dist/doc/createNode.js +2 -1
  88. package/lib/node_modules/yaml/browser/dist/errors.js +1 -1
  89. package/lib/node_modules/yaml/browser/dist/log.js +6 -1
  90. package/lib/node_modules/yaml/browser/dist/node_modules/tslib/tslib.es6.js +21 -0
  91. package/lib/node_modules/yaml/browser/dist/nodes/Alias.js +12 -27
  92. package/lib/node_modules/yaml/browser/dist/nodes/YAMLMap.js +1 -1
  93. package/lib/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +49 -8
  94. package/lib/node_modules/yaml/browser/dist/parse/lexer.js +24 -28
  95. package/lib/node_modules/yaml/browser/dist/parse/parser.js +8 -31
  96. package/lib/node_modules/yaml/browser/dist/public-api.js +0 -3
  97. package/lib/node_modules/yaml/browser/dist/schema/Schema.js +2 -1
  98. package/lib/node_modules/yaml/browser/dist/schema/json/schema.js +1 -1
  99. package/lib/node_modules/yaml/browser/dist/schema/tags.js +16 -29
  100. package/lib/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +13 -5
  101. package/lib/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +1 -1
  102. package/lib/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +0 -2
  103. package/lib/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +1 -1
  104. package/lib/node_modules/yaml/browser/dist/stringify/stringify.js +5 -10
  105. package/lib/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +3 -13
  106. package/lib/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +2 -3
  107. package/lib/node_modules/yaml/browser/dist/stringify/stringifyPair.js +1 -1
  108. package/lib/node_modules/yaml/browser/dist/stringify/stringifyString.js +16 -24
  109. package/lib/node_modules/yaml/browser/dist/util.js +1 -1
  110. package/lib/node_modules/yaml/dist/cli.d.ts +1 -1
  111. package/lib/node_modules/yaml/dist/cli.mjs +3 -5
  112. package/lib/node_modules/yaml/dist/compose/compose-collection.d.ts +4 -4
  113. package/lib/node_modules/yaml/dist/compose/compose-collection.js +3 -3
  114. package/lib/node_modules/yaml/dist/compose/compose-doc.d.ts +6 -6
  115. package/lib/node_modules/yaml/dist/compose/compose-doc.js +0 -1
  116. package/lib/node_modules/yaml/dist/compose/compose-node.d.ts +7 -8
  117. package/lib/node_modules/yaml/dist/compose/compose-node.js +4 -21
  118. package/lib/node_modules/yaml/dist/compose/compose-scalar.d.ts +4 -4
  119. package/lib/node_modules/yaml/dist/compose/compose-scalar.js +7 -13
  120. package/lib/node_modules/yaml/dist/compose/composer.d.ts +6 -7
  121. package/lib/node_modules/yaml/dist/compose/composer.js +3 -6
  122. package/lib/node_modules/yaml/dist/compose/resolve-block-map.d.ts +5 -5
  123. package/lib/node_modules/yaml/dist/compose/resolve-block-map.js +0 -2
  124. package/lib/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +5 -5
  125. package/lib/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +5 -5
  126. package/lib/node_modules/yaml/dist/compose/resolve-block-seq.js +1 -3
  127. package/lib/node_modules/yaml/dist/compose/resolve-end.d.ts +2 -2
  128. package/lib/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -7
  129. package/lib/node_modules/yaml/dist/compose/resolve-flow-collection.js +2 -8
  130. package/lib/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +4 -4
  131. package/lib/node_modules/yaml/dist/compose/resolve-flow-scalar.js +4 -6
  132. package/lib/node_modules/yaml/dist/compose/resolve-props.d.ts +2 -2
  133. package/lib/node_modules/yaml/dist/compose/resolve-props.js +5 -3
  134. package/lib/node_modules/yaml/dist/compose/util-contains-newline.d.ts +1 -1
  135. package/lib/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +1 -1
  136. package/lib/node_modules/yaml/dist/compose/util-empty-scalar-position.js +2 -1
  137. package/lib/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +2 -2
  138. package/lib/node_modules/yaml/dist/compose/util-map-includes.d.ts +3 -3
  139. package/lib/node_modules/yaml/dist/compose/util-map-includes.js +5 -1
  140. package/lib/node_modules/yaml/dist/doc/Document.d.ts +11 -11
  141. package/lib/node_modules/yaml/dist/doc/Document.js +2 -3
  142. package/lib/node_modules/yaml/dist/doc/anchors.d.ts +2 -2
  143. package/lib/node_modules/yaml/dist/doc/anchors.js +2 -1
  144. package/lib/node_modules/yaml/dist/doc/applyReviver.js +0 -1
  145. package/lib/node_modules/yaml/dist/doc/createNode.d.ts +4 -4
  146. package/lib/node_modules/yaml/dist/doc/createNode.js +2 -1
  147. package/lib/node_modules/yaml/dist/doc/directives.d.ts +1 -1
  148. package/lib/node_modules/yaml/dist/errors.d.ts +1 -1
  149. package/lib/node_modules/yaml/dist/errors.js +1 -1
  150. package/lib/node_modules/yaml/dist/index.d.ts +18 -21
  151. package/lib/node_modules/yaml/dist/log.js +4 -4
  152. package/lib/node_modules/yaml/dist/nodes/Alias.d.ts +9 -10
  153. package/lib/node_modules/yaml/dist/nodes/Alias.js +11 -26
  154. package/lib/node_modules/yaml/dist/nodes/Collection.d.ts +4 -4
  155. package/lib/node_modules/yaml/dist/nodes/Node.d.ts +9 -16
  156. package/lib/node_modules/yaml/dist/nodes/Pair.d.ts +8 -9
  157. package/lib/node_modules/yaml/dist/nodes/Scalar.d.ts +4 -9
  158. package/lib/node_modules/yaml/dist/nodes/YAMLMap.d.ts +10 -10
  159. package/lib/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +10 -10
  160. package/lib/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +3 -3
  161. package/lib/node_modules/yaml/dist/nodes/addPairToJSMap.js +48 -7
  162. package/lib/node_modules/yaml/dist/nodes/identity.d.ts +7 -7
  163. package/lib/node_modules/yaml/dist/nodes/toJS.d.ts +2 -4
  164. package/lib/node_modules/yaml/dist/options.d.ts +10 -22
  165. package/lib/node_modules/yaml/dist/parse/cst-scalar.d.ts +4 -4
  166. package/lib/node_modules/yaml/dist/parse/cst-stringify.d.ts +1 -1
  167. package/lib/node_modules/yaml/dist/parse/cst-visit.d.ts +2 -2
  168. package/lib/node_modules/yaml/dist/parse/cst.d.ts +3 -4
  169. package/lib/node_modules/yaml/dist/parse/lexer.d.ts +1 -1
  170. package/lib/node_modules/yaml/dist/parse/lexer.js +24 -28
  171. package/lib/node_modules/yaml/dist/parse/parser.d.ts +4 -4
  172. package/lib/node_modules/yaml/dist/parse/parser.js +9 -33
  173. package/lib/node_modules/yaml/dist/public-api.d.ts +5 -6
  174. package/lib/node_modules/yaml/dist/public-api.js +0 -3
  175. package/lib/node_modules/yaml/dist/schema/Schema.d.ts +5 -4
  176. package/lib/node_modules/yaml/dist/schema/Schema.js +2 -1
  177. package/lib/node_modules/yaml/dist/schema/common/map.d.ts +1 -1
  178. package/lib/node_modules/yaml/dist/schema/common/null.d.ts +1 -1
  179. package/lib/node_modules/yaml/dist/schema/common/seq.d.ts +1 -1
  180. package/lib/node_modules/yaml/dist/schema/common/string.d.ts +1 -1
  181. package/lib/node_modules/yaml/dist/schema/core/bool.d.ts +1 -1
  182. package/lib/node_modules/yaml/dist/schema/core/float.d.ts +1 -1
  183. package/lib/node_modules/yaml/dist/schema/core/int.d.ts +1 -1
  184. package/lib/node_modules/yaml/dist/schema/core/schema.d.ts +1 -1
  185. package/lib/node_modules/yaml/dist/schema/json/schema.d.ts +1 -1
  186. package/lib/node_modules/yaml/dist/schema/json/schema.js +1 -1
  187. package/lib/node_modules/yaml/dist/schema/tags.d.ts +3 -11
  188. package/lib/node_modules/yaml/dist/schema/tags.js +13 -26
  189. package/lib/node_modules/yaml/dist/schema/types.d.ts +12 -14
  190. package/lib/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +1 -1
  191. package/lib/node_modules/yaml/dist/schema/yaml-1.1/binary.js +7 -9
  192. package/lib/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +1 -1
  193. package/lib/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +1 -1
  194. package/lib/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +1 -1
  195. package/lib/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +17 -11
  196. package/lib/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +7 -7
  197. package/lib/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -1
  198. package/lib/node_modules/yaml/dist/schema/yaml-1.1/schema.js +0 -2
  199. package/lib/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +9 -9
  200. package/lib/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +1 -1
  201. package/lib/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +1 -1
  202. package/lib/node_modules/yaml/dist/stringify/stringify.d.ts +3 -3
  203. package/lib/node_modules/yaml/dist/stringify/stringify.js +5 -10
  204. package/lib/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +2 -2
  205. package/lib/node_modules/yaml/dist/stringify/stringifyCollection.js +3 -13
  206. package/lib/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +3 -3
  207. package/lib/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +1 -1
  208. package/lib/node_modules/yaml/dist/stringify/stringifyNumber.js +2 -3
  209. package/lib/node_modules/yaml/dist/stringify/stringifyPair.d.ts +2 -2
  210. package/lib/node_modules/yaml/dist/stringify/stringifyPair.js +1 -1
  211. package/lib/node_modules/yaml/dist/stringify/stringifyString.d.ts +2 -2
  212. package/lib/node_modules/yaml/dist/stringify/stringifyString.js +15 -23
  213. package/lib/node_modules/yaml/dist/util.d.ts +12 -16
  214. package/lib/node_modules/yaml/dist/util.js +2 -2
  215. package/lib/node_modules/yaml/dist/visit.d.ts +7 -7
  216. package/lib/node_modules/yaml/package.json +14 -13
  217. package/lib/package.json +5 -6
  218. package/package.json +1 -1
  219. package/lib/node_modules/jsonc-parser/CHANGELOG.md +0 -76
  220. package/lib/node_modules/jsonc-parser/LICENSE.md +0 -21
  221. package/lib/node_modules/jsonc-parser/README.md +0 -364
  222. package/lib/node_modules/jsonc-parser/SECURITY.md +0 -41
  223. package/lib/node_modules/jsonc-parser/lib/esm/impl/edit.js +0 -185
  224. package/lib/node_modules/jsonc-parser/lib/esm/impl/format.js +0 -261
  225. package/lib/node_modules/jsonc-parser/lib/esm/impl/parser.js +0 -659
  226. package/lib/node_modules/jsonc-parser/lib/esm/impl/scanner.js +0 -443
  227. package/lib/node_modules/jsonc-parser/lib/esm/impl/string-intern.js +0 -29
  228. package/lib/node_modules/jsonc-parser/lib/esm/main.d.ts +0 -351
  229. package/lib/node_modules/jsonc-parser/lib/esm/main.js +0 -178
  230. package/lib/node_modules/jsonc-parser/lib/umd/impl/edit.js +0 -201
  231. package/lib/node_modules/jsonc-parser/lib/umd/impl/format.js +0 -275
  232. package/lib/node_modules/jsonc-parser/lib/umd/impl/parser.js +0 -682
  233. package/lib/node_modules/jsonc-parser/lib/umd/impl/scanner.js +0 -456
  234. package/lib/node_modules/jsonc-parser/lib/umd/impl/string-intern.js +0 -42
  235. package/lib/node_modules/jsonc-parser/lib/umd/main.d.ts +0 -351
  236. package/lib/node_modules/jsonc-parser/lib/umd/main.js +0 -194
  237. package/lib/node_modules/jsonc-parser/package.json +0 -37
  238. package/lib/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +0 -67
  239. package/lib/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +0 -9
  240. package/lib/node_modules/yaml/dist/schema/yaml-1.1/merge.js +0 -71
@@ -46,8 +46,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.renderSegment = exports.readActiveRun = exports.clearActiveRun = exports.writeActiveRun = exports.readSessionMarker = exports.recordCall = exports.initSession = exports.writeStatuslineCache = void 0;
49
+ exports.identityFromInput = identityFromInput;
50
+ exports.readGitBranch = readGitBranch;
49
51
  exports.buildSegment = buildSegment;
50
52
  const fs = __importStar(require("fs"));
53
+ const os = __importStar(require("os"));
51
54
  const path = __importStar(require("path"));
52
55
  const directory_1 = require("../directory");
53
56
  const cache_1 = require("./cache");
@@ -100,6 +103,86 @@ function projectDirFromInput(raw) {
100
103
  return process.cwd();
101
104
  }
102
105
  }
106
+ /**
107
+ * Session identity from the status-line JSON (REQ-STATUSLINE-012): the model's
108
+ * display name (falling back to its id) and the Claude Code version. Both null
109
+ * when stdin is empty / unparseable / omits them — which is the signal to render
110
+ * no header line at all (REQ-STATUSLINE-001.A2). Never throws.
111
+ */
112
+ function identityFromInput(raw) {
113
+ try {
114
+ const json = JSON.parse(raw);
115
+ const model = json.model?.display_name || json.model?.id || null;
116
+ const version = typeof json.version === 'string' && json.version ? json.version : null;
117
+ return { model, version };
118
+ }
119
+ catch {
120
+ return { model: null, version: null };
121
+ }
122
+ }
123
+ /** Abbreviate the user's home directory to `~` for the header's directory element. */
124
+ function abbreviateHome(dir) {
125
+ try {
126
+ const home = os.homedir();
127
+ if (home && (dir === home || dir.startsWith(home + path.sep))) {
128
+ return '~' + dir.slice(home.length);
129
+ }
130
+ }
131
+ catch {
132
+ /* no home — show the path as-is */
133
+ }
134
+ return dir;
135
+ }
136
+ /**
137
+ * Current git branch for the header (REQ-STATUSLINE-012), derived WITHOUT
138
+ * spawning a process (REQ-STATUSLINE-002): walk up from `startDir` to the
139
+ * nearest `.git`, follow a linked-worktree `.git` file's `gitdir:` pointer, and
140
+ * read `HEAD`. Returns the branch for a `ref: refs/heads/…` HEAD, a short SHA
141
+ * for a detached HEAD, and null when not inside a git repo (or on any error —
142
+ * this never throws).
143
+ */
144
+ function readGitBranch(startDir) {
145
+ try {
146
+ let dir = path.resolve(startDir);
147
+ const root = path.parse(dir).root;
148
+ let gitEntry = null;
149
+ while (true) {
150
+ const candidate = path.join(dir, '.git');
151
+ if (fs.existsSync(candidate)) {
152
+ gitEntry = candidate;
153
+ break;
154
+ }
155
+ if (dir === root)
156
+ return null;
157
+ dir = path.dirname(dir);
158
+ }
159
+ // Resolve the real git directory. A normal repo has a `.git` directory; a
160
+ // linked worktree (or submodule) has a `.git` FILE holding `gitdir: <path>`.
161
+ let gitDir;
162
+ const stat = fs.statSync(gitEntry);
163
+ if (stat.isDirectory()) {
164
+ gitDir = gitEntry;
165
+ }
166
+ else {
167
+ const pointer = fs.readFileSync(gitEntry, 'utf-8').trim();
168
+ const m = /^gitdir:\s*(.+)$/.exec(pointer);
169
+ const target = m?.[1];
170
+ if (!target)
171
+ return null;
172
+ gitDir = path.isAbsolute(target) ? target : path.resolve(dir, target);
173
+ }
174
+ const head = fs.readFileSync(path.join(gitDir, 'HEAD'), 'utf-8').trim();
175
+ const ref = /^ref:\s*refs\/heads\/(.+)$/.exec(head);
176
+ if (ref?.[1])
177
+ return ref[1];
178
+ if (/^[0-9a-f]{7,40}$/i.test(head))
179
+ return head.slice(0, 7); // detached HEAD
180
+ return null;
181
+ }
182
+ catch {
183
+ return null;
184
+ }
185
+ }
103
186
  /**
104
187
  * Build the segment line from Claude Code's raw stdin JSON. Always returns a
105
188
  * single line; never throws.
@@ -108,13 +191,21 @@ function projectDirFromInput(raw) {
108
191
  * @param noColor Whether to strip ANSI (defaults to honoring `NO_COLOR`).
109
192
  */
110
193
  function buildSegment(rawStdin, noColor = !!process.env.NO_COLOR) {
194
+ const projectDir = projectDirFromInput(rawStdin);
111
195
  let root = null;
112
196
  try {
113
- root = findSpecShipRootForRead(projectDirFromInput(rawStdin));
197
+ root = findSpecShipRootForRead(projectDir);
114
198
  }
115
199
  catch {
116
200
  root = null;
117
201
  }
202
+ // Context header (REQ-STATUSLINE-012): render only when stdin identifies the
203
+ // session (a model or version is present). Empty/unparseable stdin → null →
204
+ // no header line, so the degraded path stays a single line (REQ-STATUSLINE-001.A2).
205
+ const { model, version } = identityFromInput(rawStdin);
206
+ const header = model || version
207
+ ? { model, dir: abbreviateHome(projectDir), branch: readGitBranch(projectDir), version }
208
+ : null;
118
209
  // Usage limits are account-wide (not per-project), so resolve them regardless
119
210
  // of whether we found a SpecShip project. Primary source is Claude's own
120
211
  // status-line `rate_limits` on stdin (real, includes reset times); an external
@@ -126,8 +217,9 @@ function buildSegment(rawStdin, noColor = !!process.env.NO_COLOR) {
126
217
  const context = (0, usage_limits_1.contextFromStatuslineInput)(rawStdin);
127
218
  const ctxWarnPct = (0, usage_limits_1.resolveCtxWarnPct)();
128
219
  if (!root) {
129
- // No SpecShip project here — render the idle degraded line.
130
- return (0, render_1.renderSegment)({ cache: null, marker: null, run: null, usage, now, context, ctxWarnPct, noColor });
220
+ // No SpecShip project here — render the idle degraded line (still with the
221
+ // header when stdin identified the session).
222
+ return (0, render_1.renderSegment)({ cache: null, marker: null, run: null, usage, now, context, ctxWarnPct, noColor, header });
131
223
  }
132
224
  return (0, render_1.renderSegment)({
133
225
  cache: (0, cache_1.readStatuslineCache)(root),
@@ -138,6 +230,7 @@ function buildSegment(rawStdin, noColor = !!process.env.NO_COLOR) {
138
230
  context,
139
231
  ctxWarnPct,
140
232
  noColor,
233
+ header,
141
234
  });
142
235
  }
143
236
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/statusline/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/statusline/index.ts"],"names":[],"mappings":"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"}
@@ -10,10 +10,34 @@
10
10
  * as "N calls" — what specship was asked, not a fabricated counterfactual.
11
11
  */
12
12
  import { StatuslineCache, SessionMarker, ActiveRun, UsageLimits } from './types';
13
+ /**
14
+ * Context-header inputs (REQ-STATUSLINE-012). Every field is already resolved to
15
+ * a display string by the caller (the model name, the `~`-abbreviated working
16
+ * directory, the git branch, and the Claude Code version) so this module stays
17
+ * pure — no env, no clock, no I/O. Each is null/absent when its source is
18
+ * missing, and the element is then dropped. The caller passes `header: null`
19
+ * (no header at all) when stdin does not identify the session, which preserves
20
+ * the single degraded line of REQ-STATUSLINE-001.A2.
21
+ */
22
+ export interface HeaderInput {
23
+ model?: string | null;
24
+ /** Working directory, already home-abbreviated to `~` by the caller. */
25
+ dir?: string | null;
26
+ branch?: string | null;
27
+ /** Claude Code version string (rendered as `v<version>`). */
28
+ version?: string | null;
29
+ }
13
30
  export interface RenderInput {
14
31
  cache: StatuslineCache | null;
15
32
  marker: SessionMarker | null;
16
33
  run: ActiveRun | null;
34
+ /**
35
+ * Context header stacked ABOVE the identity line (REQ-STATUSLINE-012), or
36
+ * null/undefined to omit the header line entirely. The caller supplies null
37
+ * when stdin carries no `model`/`version` (empty or unparseable stdin), so the
38
+ * degraded path stays one line.
39
+ */
40
+ header?: HeaderInput | null;
17
41
  /**
18
42
  * Real Claude Code usage limits from the external usage file (REQ-STATUSLINE-008),
19
43
  * or null/undefined to omit the usage sub-segment entirely. SpecShip never
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/statusline/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEjF,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AA0ED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAoExD"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/statusline/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wEAAwE;IACxE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;IACtB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB;AA0ED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAuFxD"}
@@ -86,11 +86,29 @@ function paint(noColor, code, s) {
86
86
  * a minimal `◈ specship … ◈` when caches are absent rather than erroring.
87
87
  */
88
88
  function renderSegment(input) {
89
- const { cache, marker, run, usage, now, context, ctxWarnPct, noColor } = input;
89
+ const { cache, marker, run, usage, now, context, ctxWarnPct, noColor, header } = input;
90
90
  const c = (code, s) => paint(noColor, code, s);
91
91
  const orn = c(COLOR.orn, '◈');
92
92
  const sep = c(COLOR.frame, ' ◆ ');
93
93
  const brand = c(COLOR.orn, 'specship');
94
+ // Context header (REQ-STATUSLINE-012) — model · directory · branch · version,
95
+ // stacked above the identity line. Each element drops out when absent; the
96
+ // whole line is omitted when `header` is null or has no populated element, so
97
+ // the degraded single-line path (REQ-STATUSLINE-001.A2) is preserved.
98
+ let headerLine = null;
99
+ if (header) {
100
+ const hp = [];
101
+ if (header.model)
102
+ hp.push(c(COLOR.calls, header.model));
103
+ if (header.dir)
104
+ hp.push(c(COLOR.frame, header.dir));
105
+ if (header.branch)
106
+ hp.push(c(COLOR.run, `⎇ ${header.branch}`));
107
+ if (header.version)
108
+ hp.push(c(COLOR.dim, `v${header.version}`));
109
+ if (hp.length > 0)
110
+ headerLine = `${orn} ${hp.join(sep)} ${orn}`;
111
+ }
94
112
  const parts = [];
95
113
  // Degraded paths: no project / no cache → idle, but still surface calls if known.
96
114
  if (!cache || !cache.initialized) {
@@ -143,9 +161,12 @@ function renderSegment(input) {
143
161
  win('5h', usage.session);
144
162
  win('7d', usage.weekly);
145
163
  }
146
- const line1 = `${orn} ${brand}${sep}${parts.join(sep)} ${orn}`;
147
- if (telemetry.length === 0)
148
- return line1;
149
- return `${line1}\n${orn} ${telemetry.join(sep)} ${orn}`;
164
+ const identityLine = `${orn} ${brand}${sep}${parts.join(sep)} ${orn}`;
165
+ const telemetryLine = telemetry.length > 0 ? `${orn} ${telemetry.join(sep)} ${orn}` : null;
166
+ // Fixed stack order: header, identity, telemetry (REQ-STATUSLINE-010). The
167
+ // identity line is always present; the two optional lines collapse out so
168
+ // there is never a leading/trailing/interior blank line.
169
+ const lines = [headerLine, identityLine, telemetryLine].filter((l) => l !== null);
170
+ return lines.join('\n');
150
171
  }
151
172
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/statusline/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/statusline/render.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,25 @@ export interface ExecuteOptions {
30
30
  verbose?: boolean;
31
31
  /** Override the run ID (mostly for resume). Defaults to a fresh UUID. */
32
32
  runId?: string;
33
+ /**
34
+ * Override the worktree branch name (default: the WorktreeProvider's
35
+ * `specship/wf-<name>-<shortRunId>`). Callers that need the branch to carry a
36
+ * ticket key (JIRA REQ-JIRA-006) pass it here.
37
+ */
38
+ branchName?: string;
39
+ /**
40
+ * Extra key/values merged into the new run's `metadata` at start. Survives
41
+ * finalize so a completion hook can recover it (e.g. `{ jira: { issueKey } }`).
42
+ */
43
+ runMetadata?: Record<string, unknown>;
33
44
  }
45
+ /**
46
+ * Invoked once a run settles to `completed` (never paused/failed/cancelled).
47
+ * Kept generic so callers (e.g. the JIRA flow) can react to completion without
48
+ * the executor knowing anything domain-specific. Errors are swallowed — a
49
+ * completion hook must never corrupt the run it observes.
50
+ */
51
+ export type RunCompletedHook = (run: WorkflowRun) => void | Promise<void>;
34
52
  export interface ExecuteResult {
35
53
  run: WorkflowRun;
36
54
  /** Final node states (id → state). */
@@ -49,7 +67,13 @@ export declare class WorkflowExecutor {
49
67
  * is simply not written.
50
68
  */
51
69
  private projectRoot?;
52
- constructor(specQueries: SpecQueries, worktrees: WorktreeProvider, projectRoot?: string);
70
+ /**
71
+ * Optional hook fired when a run settles to `completed`. Wired by callers
72
+ * that need to react to completion (JIRA REQ-JIRA-006 raises a PR here);
73
+ * absent for plain runs.
74
+ */
75
+ private onRunCompleted?;
76
+ constructor(specQueries: SpecQueries, worktrees: WorktreeProvider, projectRoot?: string, onRunCompleted?: RunCompletedHook);
53
77
  start(workflow: WorkflowDefinition, opts: ExecuteOptions): Promise<ExecuteResult>;
54
78
  /**
55
79
  * Resume a paused (approved) or failed run. Skips already-completed nodes.
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EACL,kBAAkB,EAClB,OAAO,EAOR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EACL,UAAU,EAIX,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uBAAuB;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,sCAAsC;IACtC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,4CAA4C;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,OAAO,CAAmC;IAClD;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAC,CAAS;gBAEjB,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,MAAM;IAiBjF,KAAK,CACT,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC;IA+EzB;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,aAAa,CAAC;IAqCzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,IAAI;IA+BjE;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IA0C9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;YA8B9B,cAAc;YAkJd,YAAY;IA2B1B,OAAO,CAAC,YAAY;IAuBpB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,uBAAuB;IAa/B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;YAsBb,QAAQ;YA6CR,aAAa;IAyB3B,OAAO,CAAC,KAAK;CA2Bd;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CA6BnD"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,EACL,kBAAkB,EAClB,OAAO,EAOR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,iBAAiB,EAGlB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,OAAO,EACL,UAAU,EAIX,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,uBAAuB;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE1E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,WAAW,CAAC;IACjB,sCAAsC;IACtC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,4CAA4C;IAC5C,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,OAAO,CAAmC;IAClD;;;;;OAKG;IACH,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B;;;;OAIG;IACH,OAAO,CAAC,cAAc,CAAC,CAAmB;gBAGxC,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,gBAAgB,EAC3B,WAAW,CAAC,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,gBAAgB;IAmB7B,KAAK,CACT,QAAQ,EAAE,kBAAkB,EAC5B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,aAAa,CAAC;IAiFzB;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAClC,OAAO,CAAC,aAAa,CAAC;IAqCzB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,IAAI;IA+BjE;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IA0C9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;YA8B9B,cAAc;YAkJd,YAAY;IA2B1B,OAAO,CAAC,YAAY;IAuBpB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,uBAAuB;IAa/B;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;YAsBb,QAAQ;YA2DR,aAAa;IAyB3B,OAAO,CAAC,KAAK;CA2Bd;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,EAAE,CA6BnD"}
@@ -75,10 +75,17 @@ class WorkflowExecutor {
75
75
  * is simply not written.
76
76
  */
77
77
  projectRoot;
78
- constructor(specQueries, worktrees, projectRoot) {
78
+ /**
79
+ * Optional hook fired when a run settles to `completed`. Wired by callers
80
+ * that need to react to completion (JIRA REQ-JIRA-006 raises a PR here);
81
+ * absent for plain runs.
82
+ */
83
+ onRunCompleted;
84
+ constructor(specQueries, worktrees, projectRoot, onRunCompleted) {
79
85
  this.specQueries = specQueries;
80
86
  this.worktrees = worktrees;
81
87
  this.projectRoot = projectRoot;
88
+ this.onRunCompleted = onRunCompleted;
82
89
  this.runners = new Map([
83
90
  ['prompt', new prompt_1.PromptRunner()],
84
91
  ['bash', new bash_1.BashRunner()],
@@ -108,6 +115,7 @@ class WorkflowExecutor {
108
115
  workflowName: workflow.name,
109
116
  workflowRunId: runId,
110
117
  baseBranch: workflow.worktree.base_branch,
118
+ branchName: opts.branchName,
111
119
  });
112
120
  cwd = env.workingPath;
113
121
  isolationEnvId = env.id;
@@ -158,6 +166,7 @@ class WorkflowExecutor {
158
166
  metadata: {
159
167
  nodeStates: {},
160
168
  completedNodes: [],
169
+ ...(opts.runMetadata ?? {}),
161
170
  },
162
171
  };
163
172
  this.specQueries.insertWorkflowRun(run);
@@ -572,14 +581,20 @@ class WorkflowExecutor {
572
581
  };
573
582
  if (approval)
574
583
  meta.approval = approval;
575
- this.specQueries.updateWorkflowRun({
584
+ // Preserve caller-seeded run metadata (e.g. `jira`) across finalize — the
585
+ // completion hook recovers it from here (REQ-JIRA-006).
586
+ const prevMeta = run.metadata ?? {};
587
+ if (prevMeta.jira !== undefined)
588
+ meta.jira = prevMeta.jira;
589
+ const updated = {
576
590
  ...run,
577
591
  status,
578
592
  completedAt: status === 'paused' ? undefined : now,
579
593
  lastActivityAt: now,
580
594
  errorMessage,
581
595
  metadata: meta,
582
- });
596
+ };
597
+ this.specQueries.updateWorkflowRun(updated);
583
598
  this.syncActiveRunMarker(status, run.inputs, run.id);
584
599
  if (status === 'completed') {
585
600
  this.event(run.id, 'run_completed', { duration_ms: now - run.createdAt });
@@ -587,6 +602,16 @@ class WorkflowExecutor {
587
602
  // Successful runs leave the worktree for inspection by default.
588
603
  // A `specship workflow gc` command can clean these up later.
589
604
  }
605
+ // Fire the completion hook LAST (after the run row + events are durable),
606
+ // guarded so a hook failure can never corrupt the settled run.
607
+ if (this.onRunCompleted) {
608
+ try {
609
+ await this.onRunCompleted(updated);
610
+ }
611
+ catch {
612
+ /* a completion hook must never break the run it observes */
613
+ }
614
+ }
590
615
  }
591
616
  else if (status === 'failed') {
592
617
  this.event(run.id, 'run_failed', { error: errorMessage });
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/workflows/executor.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@specship/specship",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
@@ -123,9 +123,9 @@
123
123
  }
124
124
  },
125
125
  "node_modules/ajv/node_modules/fast-uri": {
126
- "version": "3.1.2",
127
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.2.tgz",
128
- "integrity": "sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ==",
126
+ "version": "3.1.3",
127
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.3.tgz",
128
+ "integrity": "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==",
129
129
  "funding": [
130
130
  {
131
131
  "type": "github",
@@ -594,12 +594,6 @@
594
594
  "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
595
595
  "license": "MIT"
596
596
  },
597
- "node_modules/jsonc-parser": {
598
- "version": "3.3.1",
599
- "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
600
- "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
601
- "license": "MIT"
602
- },
603
597
  "node_modules/light-my-request": {
604
598
  "version": "5.14.0",
605
599
  "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.14.0.tgz",
@@ -1122,9 +1116,9 @@
1122
1116
  }
1123
1117
  },
1124
1118
  "node_modules/toad-cache": {
1125
- "version": "3.7.1",
1126
- "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.1.tgz",
1127
- "integrity": "sha512-5DXWzE4Vz7xNHsv+xQ+MGfJYyC78Aok3tEr0MNwHoRf7vZnga1mQXZ4/Nsodld4VR6Wd+VhfmqnNrsRJyYPfrQ==",
1119
+ "version": "3.7.4",
1120
+ "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.4.tgz",
1121
+ "integrity": "sha512-m1TdR/rvT7kgGJZhspNtXdsdYk0fddFpJJFlG5s+UkPFo6lkLoZ3YLOaovPYjq1R75NP5JfeTlSHaOsE09peCg==",
1128
1122
  "license": "MIT",
1129
1123
  "engines": {
1130
1124
  "node": ">=20"
@@ -1196,18 +1190,15 @@
1196
1190
  "optional": true
1197
1191
  },
1198
1192
  "node_modules/yaml": {
1199
- "version": "2.9.0",
1200
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
1201
- "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
1193
+ "version": "2.5.0",
1194
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz",
1195
+ "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==",
1202
1196
  "license": "ISC",
1203
1197
  "bin": {
1204
1198
  "yaml": "bin.mjs"
1205
1199
  },
1206
1200
  "engines": {
1207
- "node": ">= 14.6"
1208
- },
1209
- "funding": {
1210
- "url": "https://github.com/sponsors/eemeli"
1201
+ "node": ">= 14"
1211
1202
  }
1212
1203
  }
1213
1204
  }
@@ -305,7 +305,7 @@ function parseWithStatus (uri, opts) {
305
305
  if (parsed.host && (options.domainHost || (schemeHandler && schemeHandler.domainHost)) && isIP === false && nonSimpleDomain(parsed.host)) {
306
306
  // convert Unicode IDN -> ASCII IDN
307
307
  try {
308
- parsed.host = URL.domainToASCII(parsed.host.toLowerCase())
308
+ parsed.host = new URL('http://' + parsed.host).hostname
309
309
  } catch (e) {
310
310
  parsed.error = parsed.error || "Host's domain name can not be converted to ASCII: " + e
311
311
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fast-uri",
3
3
  "description": "Dependency-free RFC 3986 URI toolbox",
4
- "version": "3.1.2",
4
+ "version": "3.1.3",
5
5
  "main": "index.js",
6
6
  "type": "commonjs",
7
7
  "types": "types/index.d.ts",