@haus-tech/haus-workflow 1.5.6 → 1.5.8

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.5.8](https://github.com/WeAreHausTech/haus-workflow/compare/v1.5.7...v1.5.8) (2026-08-12)
4
+
5
+ ## [1.5.7](https://github.com/WeAreHausTech/haus-workflow/compare/v1.5.6...v1.5.7) (2026-08-12)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **catalog:** un-gate platform words android/swift ([#271](https://github.com/WeAreHausTech/haus-workflow/issues/271)) ([#273](https://github.com/WeAreHausTech/haus-workflow/issues/273)) ([b6c1734](https://github.com/WeAreHausTech/haus-workflow/commit/b6c17343c48b32dbd72938b952a947e42bc9bb91)), closes [BP#1](https://github.com/WeAreHausTech/BP/issues/1)
10
+
3
11
  ## [1.5.6](https://github.com/WeAreHausTech/haus-workflow/compare/v1.5.5...v1.5.6) (2026-08-12)
4
12
 
5
13
  ### Bug Fixes
package/dist/cli.js CHANGED
@@ -944,8 +944,6 @@ var validation_rules_default = {
944
944
  "java",
945
945
  "spring",
946
946
  "kotlin",
947
- "swift",
948
- "android",
949
947
  "flutter",
950
948
  "dart",
951
949
  "c++",
@@ -1167,6 +1165,16 @@ function extractUseWhenSection(text) {
1167
1165
  const next = tail.search(/\n##\s+/);
1168
1166
  return next < 0 ? tail : tail.slice(0, next);
1169
1167
  }
1168
+ function indentedContinuationLines(lines, idx) {
1169
+ const out = [];
1170
+ for (let j = idx + 1; j < lines.length; j++) {
1171
+ const line2 = lines[j];
1172
+ if (line2.trim() === "") continue;
1173
+ if (!/^\s+\S/.test(line2)) break;
1174
+ out.push(line2.trim());
1175
+ }
1176
+ return out;
1177
+ }
1170
1178
  function isYamlBlockScalarHeader(rest) {
1171
1179
  return /^[>|][-+]?(\d+)?(?:\s+#.*)?$/.test(rest);
1172
1180
  }
@@ -1180,7 +1188,7 @@ function extractFrontmatterValue(text, key) {
1180
1188
  const rest = lines[idx].replace(keyRe, "").trim();
1181
1189
  if (!rest) return "";
1182
1190
  if (!isYamlBlockScalarHeader(rest)) {
1183
- return rest.replace(/^["']|["']$/g, "").trim();
1191
+ return [rest, ...indentedContinuationLines(lines, idx)].join(" ").replace(/\s+/g, " ").replace(/^["']|["']$/g, "").trim();
1184
1192
  }
1185
1193
  const body = [];
1186
1194
  for (let j = idx + 1; j < lines.length; j++) {
@@ -1192,11 +1200,20 @@ function extractFrontmatterValue(text, key) {
1192
1200
  }
1193
1201
  return body.join(" ").replace(/\s+/g, " ").trim();
1194
1202
  }
1195
- function extractFrontmatterDescription(text) {
1196
- return extractFrontmatterValue(text, "description");
1203
+ function frontmatterDescriptionRegion(text) {
1204
+ const m = text.match(/^---\r?\n([\s\S]*?)\r?\n---/);
1205
+ if (!m) return "";
1206
+ const lines = m[1].split(/\r?\n/);
1207
+ const idx = lines.findIndex((l) => /^description:[ \t]*/.test(l));
1208
+ if (idx < 0) return "";
1209
+ const region = [
1210
+ lines[idx].replace(/^description:[ \t]*/, ""),
1211
+ ...indentedContinuationLines(lines, idx)
1212
+ ];
1213
+ return region.join(" ").replace(/\s+/g, " ").trim();
1197
1214
  }
1198
1215
  function auditForbiddenTagsInText(text, label) {
1199
- const body = `${extractFrontmatterDescription(text)}
1216
+ const body = `${frontmatterDescriptionRegion(text)}
1200
1217
  ${extractUseWhenSection(text)}`;
1201
1218
  if (!body.trim()) return [];
1202
1219
  const failures = [];
@@ -7169,11 +7186,28 @@ import fs33 from "fs-extra";
7169
7186
  // src/recommender/git-signal.ts
7170
7187
  init_exec();
7171
7188
  async function runGitLines(root, args) {
7189
+ const started = Date.now();
7172
7190
  try {
7173
7191
  const result = await runGit(args, { cwd: root, timeout: 3e3 });
7192
+ if (process.env.HAUS_DEBUG_GITSIG) {
7193
+ const { appendFileSync } = await import("node:fs");
7194
+ appendFileSync(
7195
+ process.env.HAUS_DEBUG_GITSIG,
7196
+ `GITSIG ok git ${args.join(" ")} cwd=${root} ms=${Date.now() - started} exit=${result.exitCode} stdout=${JSON.stringify(result.stdout.slice(0, 200))} stderr=${JSON.stringify(result.stderr.slice(0, 200))}
7197
+ `
7198
+ );
7199
+ }
7174
7200
  if (result.exitCode !== 0) return [];
7175
7201
  return result.stdout.split("\n").map((x) => x.trim()).filter(Boolean);
7176
- } catch {
7202
+ } catch (err) {
7203
+ if (process.env.HAUS_DEBUG_GITSIG) {
7204
+ const { appendFileSync } = await import("node:fs");
7205
+ appendFileSync(
7206
+ process.env.HAUS_DEBUG_GITSIG,
7207
+ `GITSIG threw git ${args.join(" ")} cwd=${root} ms=${Date.now() - started} err=${JSON.stringify(String(err).slice(0, 300))}
7208
+ `
7209
+ );
7210
+ }
7177
7211
  return [];
7178
7212
  }
7179
7213
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "4.3.3",
2
+ "version": "4.4.0",
3
3
  "items": [
4
4
  {
5
5
  "id": "haus.agentic-workflow-standard",
@@ -7,8 +7,6 @@
7
7
  "java",
8
8
  "spring",
9
9
  "kotlin",
10
- "swift",
11
- "android",
12
10
  "flutter",
13
11
  "dart",
14
12
  "c++",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haus-tech/haus-workflow",
3
- "version": "1.5.6",
3
+ "version": "1.5.8",
4
4
  "description": "Haus AI workflow CLI for Claude Code.",
5
5
  "type": "module",
6
6
  "bin": {