@whisperr/wizard 0.9.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/index.js +19 -7
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1789,14 +1789,20 @@ ${allowedFiles.map((file) => `- ${file}`).join("\n")}`
1789
1789
  (action) => deps.sink.emit({ phase: "binding", action })
1790
1790
  );
1791
1791
  const passesValidation = async () => {
1792
- if (!validate) return true;
1792
+ if (!validate) return outcome.kind === "completed";
1793
1793
  try {
1794
1794
  return await validate();
1795
1795
  } catch {
1796
1796
  return false;
1797
1797
  }
1798
1798
  };
1799
- let valid = outcome.kind === "completed" && await passesValidation();
1799
+ let valid = await passesValidation();
1800
+ if (valid && outcome.kind !== "completed") {
1801
+ deps.sink.emit({
1802
+ phase: "binding",
1803
+ action: `setup changes passed deterministic validation after ${outcome.kind.replaceAll("_", " ")}`
1804
+ });
1805
+ }
1800
1806
  if (!valid && deps.provider.invokeFallback) {
1801
1807
  await deps.discardChanges();
1802
1808
  await writeFile(join4(deps.worktree.path, bindings.relativePath), bindings.content);
@@ -1806,7 +1812,13 @@ ${allowedFiles.map((file) => `- ${file}`).join("\n")}`
1806
1812
  modelConfigFor(deps.models, "repair", "edit"),
1807
1813
  (action) => deps.sink.emit({ phase: "binding", action })
1808
1814
  );
1809
- valid = outcome.kind === "completed" && await passesValidation();
1815
+ valid = await passesValidation();
1816
+ if (valid && outcome.kind !== "completed") {
1817
+ deps.sink.emit({
1818
+ phase: "binding",
1819
+ action: `Sol setup passed deterministic validation after ${outcome.kind.replaceAll("_", " ")}`
1820
+ });
1821
+ }
1810
1822
  }
1811
1823
  return valid;
1812
1824
  }
@@ -1917,8 +1929,8 @@ async function runClusterIntegration(deps, initialClusters, _clusterDiff) {
1917
1929
  modelConfigFor(deps.models, "cluster_edit", "edit"),
1918
1930
  (action) => deps.sink.emit({ phase: "integrating", cluster: { index, total }, action })
1919
1931
  );
1920
- let structural = edit.kind === "completed" ? await structuralClusterCheck(deps.worktree.path, cluster) : { ok: false, notes: `edit ${edit.kind}` };
1921
- if ((!structural.ok || edit.kind !== "completed") && deps.provider.invokeFallback) {
1932
+ let structural = await structuralClusterCheck(deps.worktree.path, cluster);
1933
+ if (!structural.ok && deps.provider.invokeFallback) {
1922
1934
  await deps.discardChanges();
1923
1935
  deps.sink.emit({
1924
1936
  phase: "integrating",
@@ -1930,9 +1942,9 @@ async function runClusterIntegration(deps, initialClusters, _clusterDiff) {
1930
1942
  modelConfigFor(deps.models, "repair", "edit"),
1931
1943
  (action) => deps.sink.emit({ phase: "integrating", cluster: { index, total }, action })
1932
1944
  );
1933
- structural = edit.kind === "completed" ? await structuralClusterCheck(deps.worktree.path, cluster) : { ok: false, notes: `Sol escalation ${edit.kind}` };
1945
+ structural = await structuralClusterCheck(deps.worktree.path, cluster);
1934
1946
  }
1935
- if (edit.kind !== "completed" || !structural.ok) {
1947
+ if (!structural.ok) {
1936
1948
  const failure = edit.kind === "context_overflow" ? "context_overflow" : edit.kind === "budget_exhausted" ? "context_overflow" : classifyFailure(edit.kind === "failed" ? edit.error : "");
1937
1949
  const nextStatus = nextClusterStatusAfterFailure(failure, cluster.attempts);
1938
1950
  clusters = transitionCluster(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whisperr/wizard",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Whisperr Wizard \u2014 one command to integrate the Whisperr SDK into your app. Authenticates with your onboarded account and uses an AI coding agent to wire up identify() and your business events automatically.",
5
5
  "repository": {
6
6
  "type": "git",