@jaggerxtrm/specialists 3.18.0 → 3.18.2

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 (55) hide show
  1. package/config/mandatory-rules/code-quality-defaults.md +58 -1
  2. package/config/mandatory-rules/executor-delivery.md +4 -0
  3. package/config/mandatory-rules/test-runner-execution-scope.md +4 -0
  4. package/config/skills/setup-specialists/SKILL.md +1 -1
  5. package/config/skills/using-script-specialists/SKILL.md +5 -5
  6. package/config/skills/using-specialists/SKILL.md +1135 -879
  7. package/config/skills/using-specialists-auto/SKILL.md +21 -21
  8. package/config/specialists/chain-coordinator.specialist.json +63 -0
  9. package/config/specialists/reviewer.specialist.json +1 -1
  10. package/config/specialists/seconder.specialist.json +1 -1
  11. package/dist/asset-contract.json +8 -13
  12. package/dist/index.js +1070 -81
  13. package/dist/lib.js +185 -9
  14. package/dist/types/cli/clean.d.ts.map +1 -1
  15. package/dist/types/cli/doctor.d.ts.map +1 -1
  16. package/dist/types/cli/feed.d.ts.map +1 -1
  17. package/dist/types/cli/format-helpers.d.ts.map +1 -1
  18. package/dist/types/cli/init.d.ts.map +1 -1
  19. package/dist/types/cli/merge.d.ts.map +1 -1
  20. package/dist/types/cli/ps.d.ts.map +1 -1
  21. package/dist/types/cli/run.d.ts +19 -0
  22. package/dist/types/cli/run.d.ts.map +1 -1
  23. package/dist/types/cli/status.d.ts.map +1 -1
  24. package/dist/types/cli/view.d.ts.map +1 -1
  25. package/dist/types/pi/session.d.ts +1 -0
  26. package/dist/types/pi/session.d.ts.map +1 -1
  27. package/dist/types/specialist/control.d.ts.map +1 -1
  28. package/dist/types/specialist/dead-job-audit.d.ts +20 -0
  29. package/dist/types/specialist/dead-job-audit.d.ts.map +1 -0
  30. package/dist/types/specialist/launch.d.ts +8 -0
  31. package/dist/types/specialist/launch.d.ts.map +1 -1
  32. package/dist/types/specialist/loader.d.ts +12 -0
  33. package/dist/types/specialist/loader.d.ts.map +1 -1
  34. package/dist/types/specialist/observability-db.d.ts +1 -1
  35. package/dist/types/specialist/observability-sqlite.d.ts +76 -0
  36. package/dist/types/specialist/observability-sqlite.d.ts.map +1 -1
  37. package/dist/types/specialist/pr-drift-refresh.d.ts +17 -0
  38. package/dist/types/specialist/pr-drift-refresh.d.ts.map +1 -0
  39. package/dist/types/specialist/process-health.d.ts +16 -1
  40. package/dist/types/specialist/process-health.d.ts.map +1 -1
  41. package/dist/types/specialist/runner.d.ts +3 -0
  42. package/dist/types/specialist/runner.d.ts.map +1 -1
  43. package/dist/types/specialist/status-load.d.ts.map +1 -1
  44. package/dist/types/specialist/supervisor.d.ts +10 -0
  45. package/dist/types/specialist/supervisor.d.ts.map +1 -1
  46. package/dist/types/specialist/timeline-events.d.ts +2 -0
  47. package/dist/types/specialist/timeline-events.d.ts.map +1 -1
  48. package/docs/design/roadmap/chain-templates/README.md +1 -1
  49. package/docs/design/roadmap/chains-prompt-evals.md +3054 -0
  50. package/docs/design/roadmap/specialists-roadmap.md +75 -7
  51. package/docs/design/xt-pi-role-pi-flag-passthrough.md +174 -0
  52. package/docs/skills.md +4 -13
  53. package/package.json +2 -2
  54. package/config/skills/using-specialists-v2/SKILL.md +0 -766
  55. package/config/skills/using-specialists-v3/SKILL.md +0 -1267
package/dist/lib.js CHANGED
@@ -11148,6 +11148,24 @@ function findTokenUsage(payload) {
11148
11148
  }
11149
11149
  return normalizeTokenUsage(record);
11150
11150
  }
11151
+ function extractMessageTextContent(message) {
11152
+ if (!message || typeof message !== "object")
11153
+ return "";
11154
+ const record = message;
11155
+ const content = record.content;
11156
+ if (typeof content === "string")
11157
+ return content;
11158
+ if (!Array.isArray(content))
11159
+ return "";
11160
+ return content.map((part) => {
11161
+ if (!part || typeof part !== "object")
11162
+ return "";
11163
+ const item = part;
11164
+ if (item.type !== undefined && item.type !== "text")
11165
+ return "";
11166
+ return typeof item.text === "string" ? item.text : "";
11167
+ }).join("");
11168
+ }
11151
11169
  function findApiErrorMessage(payload) {
11152
11170
  if (!payload || typeof payload !== "object")
11153
11171
  return;
@@ -11425,6 +11443,9 @@ class PiAgentSession {
11425
11443
  const cavemanPath = join(piExtDir, "caveman");
11426
11444
  if (existsSync2(cavemanPath))
11427
11445
  args.push("-e", cavemanPath);
11446
+ const nvidiaNimPath = join(homedir(), ".pi", "agent", "git", "github.com", "xRyul", "pi-nvidia-nim");
11447
+ if (existsSync2(nvidiaNimPath))
11448
+ args.push("-e", nvidiaNimPath);
11428
11449
  const npmGlobalDir = resolveGlobalNodeModulesDir();
11429
11450
  const excludedExtensions = new Set(this.options.excludeExtensions ?? []);
11430
11451
  if (npmGlobalDir) {
@@ -11640,7 +11661,8 @@ class PiAgentSession {
11640
11661
  if (type === "message_end") {
11641
11662
  const role = event.message?.role;
11642
11663
  if (role === "assistant") {
11643
- this.options.onEvent?.("message_end_assistant");
11664
+ const content = extractMessageTextContent(event.message);
11665
+ this.options.onEvent?.("message_end_assistant", content ? { content, charCount: content.length } : undefined);
11644
11666
  } else if (role === "toolResult") {
11645
11667
  this.options.onEvent?.("message_end_tool_result");
11646
11668
  }
@@ -11669,7 +11691,7 @@ class PiAgentSession {
11669
11691
  const messages = event.messages ?? [];
11670
11692
  const last = [...messages].reverse().find((m) => m.role === "assistant");
11671
11693
  if (last) {
11672
- this._lastOutput = last.content.filter((c) => c.type === "text").map((c) => c.text).join("");
11694
+ this._lastOutput = extractMessageTextContent(last);
11673
11695
  }
11674
11696
  this._updateTokenUsage(findTokenUsage(event), "agent_end");
11675
11697
  this._updateFinishReason(findFinishReason(event), "agent_end");
@@ -11681,7 +11703,11 @@ class PiAgentSession {
11681
11703
  }
11682
11704
  this._agentEndReceived = true;
11683
11705
  this._clearStallTimer();
11684
- this.options.onEvent?.("agent_end");
11706
+ if (this._lastOutput) {
11707
+ this.options.onEvent?.("agent_end", { content: this._lastOutput, charCount: this._lastOutput.length });
11708
+ } else {
11709
+ this.options.onEvent?.("agent_end");
11710
+ }
11685
11711
  this._doneResolve?.();
11686
11712
  return;
11687
11713
  }
@@ -11785,7 +11811,7 @@ class PiAgentSession {
11785
11811
  const delta = typeof ae.delta === "string" ? ae.delta : "";
11786
11812
  if (delta)
11787
11813
  this.options.onToken?.(delta);
11788
- this.options.onEvent?.("text", { charCount: delta.length });
11814
+ this.options.onEvent?.("text", { charCount: delta.length, content: delta });
11789
11815
  break;
11790
11816
  }
11791
11817
  case "thinking_start":
@@ -13047,8 +13073,36 @@ function initSchema(db) {
13047
13073
  migrateToV10(db);
13048
13074
  migrateToV11(db);
13049
13075
  migrateToV12(db);
13076
+ migrateToV13(db);
13050
13077
  verifyWalMode(db);
13051
13078
  }
13079
+ function migrateToV13(db) {
13080
+ const hasV13 = db.query("SELECT 1 FROM schema_version WHERE version = 13 LIMIT 1").get();
13081
+ const specialistJobsColumns = new Set(db.query("PRAGMA table_info(specialist_jobs)").all().map((column) => column.name).filter((name) => typeof name === "string" && name.length > 0));
13082
+ for (const column of [
13083
+ { name: "pr_url", definition: "TEXT" },
13084
+ { name: "pr_head_sha", definition: "TEXT" },
13085
+ { name: "pr_state", definition: "TEXT" },
13086
+ { name: "pr_merge_state", definition: "TEXT" },
13087
+ { name: "pr_classification", definition: "TEXT" },
13088
+ { name: "pr_base_ref", definition: "TEXT" },
13089
+ { name: "pr_base_sha", definition: "TEXT" },
13090
+ { name: "pr_drift_checked_at_ms", definition: "INTEGER" },
13091
+ { name: "base_sha_pinned", definition: "TEXT" },
13092
+ { name: "base_sha_pinned_at_ms", definition: "INTEGER" }
13093
+ ]) {
13094
+ if (!specialistJobsColumns.has(column.name)) {
13095
+ db.run(`ALTER TABLE specialist_jobs ADD COLUMN ${column.name} ${column.definition}`);
13096
+ }
13097
+ }
13098
+ if (hasV13) {
13099
+ return;
13100
+ }
13101
+ db.run(`
13102
+ INSERT OR IGNORE INTO schema_version (version, applied_at_ms)
13103
+ VALUES (13, strftime('%s', 'now') * 1000);
13104
+ `);
13105
+ }
13052
13106
  function migrateToV5(db) {
13053
13107
  const hasV5 = db.query("SELECT 1 FROM schema_version WHERE version = 5 LIMIT 1").get();
13054
13108
  if (!hasV5) {
@@ -13960,6 +14014,124 @@ class SqliteClient {
13960
14014
  return statuses;
13961
14015
  }, "listStatuses");
13962
14016
  }
14017
+ readPrDriftState(jobId) {
14018
+ return withRetry(() => {
14019
+ const row = this.db.query(`
14020
+ SELECT pr_url, pr_head_sha, pr_state, pr_merge_state, pr_classification,
14021
+ pr_base_ref, pr_base_sha, pr_drift_checked_at_ms,
14022
+ base_sha_pinned, base_sha_pinned_at_ms
14023
+ FROM specialist_jobs WHERE job_id = ? LIMIT 1
14024
+ `).get(jobId);
14025
+ if (!row)
14026
+ return null;
14027
+ const num = (v) => v === null || v === undefined ? null : typeof v === "bigint" ? Number(v) : typeof v === "number" ? v : null;
14028
+ const str = (v) => v === null || v === undefined ? null : typeof v === "string" ? v : null;
14029
+ return {
14030
+ pr_url: str(row.pr_url),
14031
+ pr_head_sha: str(row.pr_head_sha),
14032
+ pr_state: str(row.pr_state),
14033
+ pr_merge_state: str(row.pr_merge_state),
14034
+ pr_classification: str(row.pr_classification),
14035
+ pr_base_ref: str(row.pr_base_ref),
14036
+ pr_base_sha: str(row.pr_base_sha),
14037
+ pr_drift_checked_at_ms: num(row.pr_drift_checked_at_ms),
14038
+ base_sha_pinned: str(row.base_sha_pinned),
14039
+ base_sha_pinned_at_ms: num(row.base_sha_pinned_at_ms)
14040
+ };
14041
+ }, "readPrDriftState");
14042
+ }
14043
+ updatePrDriftState(jobId, drift) {
14044
+ return withRetry(() => {
14045
+ const ALLOWED = [
14046
+ "pr_url",
14047
+ "pr_head_sha",
14048
+ "pr_state",
14049
+ "pr_merge_state",
14050
+ "pr_classification",
14051
+ "pr_base_ref",
14052
+ "pr_base_sha",
14053
+ "pr_drift_checked_at_ms",
14054
+ "base_sha_pinned",
14055
+ "base_sha_pinned_at_ms"
14056
+ ];
14057
+ const setClauses = [];
14058
+ const params = [];
14059
+ for (const key of ALLOWED) {
14060
+ if (!Object.prototype.hasOwnProperty.call(drift, key))
14061
+ continue;
14062
+ setClauses.push(`${key} = ?`);
14063
+ const value = drift[key];
14064
+ params.push(value === undefined ? null : value);
14065
+ }
14066
+ if (setClauses.length === 0)
14067
+ return false;
14068
+ setClauses.push("updated_at_ms = ?");
14069
+ params.push(Date.now());
14070
+ params.push(jobId);
14071
+ const sql = `UPDATE specialist_jobs SET ${setClauses.join(", ")} WHERE job_id = ?`;
14072
+ const result = this.db.run(sql, params);
14073
+ return (result?.changes ?? 0) > 0;
14074
+ }, "updatePrDriftState");
14075
+ }
14076
+ listStaleSpecialistJobs(opts) {
14077
+ return withRetry(() => {
14078
+ const nowMs = opts?.nowMs ?? Date.now();
14079
+ const minAgeMs = opts?.minAgeMs ?? 60000;
14080
+ const cutoff = nowMs - minAgeMs;
14081
+ const statuses = ["starting", "running", "waiting"];
14082
+ const placeholders = statuses.map(() => "?").join(", ");
14083
+ const rows = this.db.query(`
14084
+ SELECT job_id, specialist, status, status_json,
14085
+ JSON_EXTRACT(status_json, '$.pid') AS pid,
14086
+ updated_at_ms,
14087
+ bead_id,
14088
+ chain_id
14089
+ FROM specialist_jobs
14090
+ WHERE status IN (${placeholders})
14091
+ AND pid IS NOT NULL
14092
+ AND updated_at_ms < ?
14093
+ ORDER BY updated_at_ms ASC
14094
+ LIMIT 200
14095
+ `).all(...statuses, cutoff);
14096
+ const num = (v) => v === null || v === undefined ? 0 : typeof v === "bigint" ? Number(v) : typeof v === "number" ? v : 0;
14097
+ const str = (v) => v === null || v === undefined ? null : typeof v === "string" ? v : null;
14098
+ return rows.filter((row) => {
14099
+ const pid = num(row.pid);
14100
+ return Number.isInteger(pid) && pid > 0;
14101
+ }).map((row) => ({
14102
+ job_id: str(row.job_id) ?? "",
14103
+ specialist: str(row.specialist) ?? "",
14104
+ status: str(row.status) ?? "",
14105
+ pid: num(row.pid),
14106
+ updated_at_ms: num(row.updated_at_ms),
14107
+ bead_id: str(row.bead_id),
14108
+ chain_id: str(row.chain_id)
14109
+ }));
14110
+ }, "listStaleSpecialistJobs");
14111
+ }
14112
+ listJobsNeedingPrDriftRefresh(olderThanMs) {
14113
+ return withRetry(() => {
14114
+ const threshold = olderThanMs ?? Date.now() - 5 * 60 * 1000;
14115
+ const rows = this.db.query(`
14116
+ SELECT job_id, pr_url, pr_head_sha, pr_drift_checked_at_ms,
14117
+ JSON_EXTRACT(status_json, '$.branch') AS branch
14118
+ FROM specialist_jobs
14119
+ WHERE pr_url IS NOT NULL
14120
+ AND (pr_drift_checked_at_ms IS NULL OR pr_drift_checked_at_ms < ?)
14121
+ ORDER BY pr_drift_checked_at_ms ASC NULLS FIRST
14122
+ LIMIT 50
14123
+ `).all(threshold);
14124
+ const num = (v) => v === null || v === undefined ? null : typeof v === "bigint" ? Number(v) : typeof v === "number" ? v : null;
14125
+ const str = (v) => v === null || v === undefined ? null : typeof v === "string" ? v : null;
14126
+ return rows.map((row) => ({
14127
+ job_id: str(row.job_id) ?? "",
14128
+ pr_url: str(row.pr_url) ?? "",
14129
+ pr_head_sha: str(row.pr_head_sha),
14130
+ pr_drift_checked_at_ms: num(row.pr_drift_checked_at_ms),
14131
+ branch: str(row.branch)
14132
+ }));
14133
+ }, "listJobsNeedingPrDriftRefresh");
14134
+ }
13963
14135
  removeJobs(jobIds) {
13964
14136
  return withRetry(() => {
13965
14137
  if (jobIds.length === 0)
@@ -15528,11 +15700,7 @@ function mapCallbackEventToTimelineEvent(callbackEvent, context) {
15528
15700
  };
15529
15701
  }
15530
15702
  case "text":
15531
- return {
15532
- t,
15533
- type: TIMELINE_EVENT_TYPES.TEXT,
15534
- ...context.charCount !== undefined ? { char_count: context.charCount } : {}
15535
- };
15703
+ return null;
15536
15704
  case "agent_end":
15537
15705
  case "message_done":
15538
15706
  case "done":
@@ -17406,6 +17574,14 @@ class SpecialistLoader {
17406
17574
  this.cache.set(name, merged.spec);
17407
17575
  return merged.spec;
17408
17576
  }
17577
+ async getEffective(name) {
17578
+ const merged = await this.buildMergedSpec(name);
17579
+ if (!merged)
17580
+ return null;
17581
+ if (merged.warnings.length)
17582
+ this.blockedFieldWarnings.set(name, merged.warnings);
17583
+ return merged.spec;
17584
+ }
17409
17585
  getBlockedFieldWarnings(name) {
17410
17586
  if (name)
17411
17587
  return this.blockedFieldWarnings.get(name) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/clean.ts"],"names":[],"mappings":"AAwlBA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsGzC"}
1
+ {"version":3,"file":"clean.d.ts","sourceRoot":"","sources":["../../../src/cli/clean.ts"],"names":[],"mappings":"AA8mBA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAsGzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"AAiRA,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AAocD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAKhF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWnE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CASvD;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAuEzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ5F;AAiFD,wBAAsB,GAAG,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDxF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/doctor.ts"],"names":[],"mappings":"AAoRA,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AA0cD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAKhF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAWnE;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CASvD;AAED,UAAU,sBAAsB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAMD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,sBAAsB,CAuEzF;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAQ5F;AAiOD,wBAAsB,GAAG,CAAC,IAAI,GAAE,SAAS,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/cli/feed.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAu5BH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0DzC"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/cli/feed.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAy5BH,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0DzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../src/cli/format-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-helpers.d.ts","sourceRoot":"","sources":["../../../src/cli/format-helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AAu3BA,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uGAAuG;IACvG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sHAAsH;IACtH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAsD/C;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6G/D"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/init.ts"],"names":[],"mappings":"AA64BA,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uGAAuG;IACvG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,2EAA2E;IAC3E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sHAAsH;IACtH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAsD/C;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6G/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/cli/merge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/cli/merge.ts"],"names":[],"mappings":"AAMA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAgBxF,UAAU,eAAe;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,IAAI,EAAE,eAAe,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AA6ID,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAMlE;AA+CD,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAA;CAAE,CAmBlI;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,eAAe,CAwDjF;AAED,wBAAgB,kBAAkB,IAAI,eAAe,EAAE,CA2CtD;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,eAAe,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAgBtH;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,IAAI,CAM5E;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAC3D,gBAAgB,EAAE,CAkDpB;AAoBD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAc5F;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA8BtE;AAWD,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAC/B,gBAAgB,EAAE,qBAAqB,EAAE,CAAC;IAC1C,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED,UAAU,uBAAuB;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,IAAI,GAAG,mBAAmB,GAAG,aAAa,GAAG,kBAAkB,CAAC;CACzE;AAmHD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAW7D;AAsCD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAgB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,iBAAiB,CA+BrH;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,SAAgB,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAcvJ;AAwDD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CA2BxG;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,IAAI,CAUrE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAgB,GAAG,IAAI,CAe1D;AAaD,wBAAgB,UAAU,CAAC,GAAG,SAAgB,GAAG,IAAI,CAYpD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAgBtF;AAsBD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,OAAO,EAAE,qBAAqB,GAC7B,eAAe,EAAE,CAsDnB;AAqDD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,OAAO,EAAE,2BAA2B,GACnC,iBAAiB,CAyBnB;AAED,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAYzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ps.d.ts","sourceRoot":"","sources":["../../../src/cli/ps.ts"],"names":[],"mappings":"AAusCA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBzC"}
1
+ {"version":3,"file":"ps.d.ts","sourceRoot":"","sources":["../../../src/cli/ps.ts"],"names":[],"mappings":"AAktCA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAqBzC"}
@@ -26,7 +26,26 @@ export interface RunArgs {
26
26
  epicId?: string;
27
27
  /** Allow provisioning from a potentially stale base branch. */
28
28
  forceStaleBase: boolean;
29
+ acceptStaleBase: boolean;
30
+ staleBaseReason?: string;
31
+ baseSha?: string;
32
+ baseRef?: string;
29
33
  }
34
+ export declare function buildTmuxLiveFeedCommand(options: {
35
+ cwd: string;
36
+ runCommand: string;
37
+ handoffPath: string;
38
+ feedCommandPrefix: string;
39
+ }): string;
40
+ interface BasePinResult {
41
+ baseShaPinned: string;
42
+ baseShaObserved: string;
43
+ currentSha: string;
44
+ branch: string;
45
+ commitsBehind: number;
46
+ override: boolean;
47
+ }
48
+ export declare function resolveBasePin(args: RunArgs, worktreePath?: string): BasePinResult | undefined;
30
49
  export declare function buildInjectedReviewerDiffVariables(cwd: string, maxFiles?: number): Record<string, string>;
31
50
  export declare function buildInjectedWriterDiffVariables(cwd: string, maxFiles?: number): Record<string, string>;
32
51
  export declare function run(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAK3C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,cAAc,EAAE,OAAO,CAAC;CACzB;AAyjBD,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrG;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBnG;AAGD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA6PzC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../src/cli/run.ts"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,KAAK,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAK3C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,UAAU,CAAC;IACvB,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,QAAQ,EAAE,OAAO,CAAC;IAClB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAgdD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CAeT;AAmCD,UAAU,aAAa;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAiCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAmC9F;AA+HD,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrG;AAED,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,SAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBnG;AAGD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA2QzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/status.ts"],"names":[],"mappings":"AAsEA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzC,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAgLD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA0OzC"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/status.ts"],"names":[],"mappings":"AAuEA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;AAEzC,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAgLD,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CA2OzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/cli/view.ts"],"names":[],"mappings":"AAyOA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDzC"}
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/cli/view.ts"],"names":[],"mappings":"AAsPA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAuDzC"}
@@ -105,6 +105,7 @@ export interface PiSessionOptions {
105
105
  /** Called with the raw pi event type (for job status tracking) */
106
106
  onEvent?: (type: string, details?: {
107
107
  charCount?: number;
108
+ content?: string;
108
109
  toolCallId?: string;
109
110
  model?: string;
110
111
  previousModel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/pi/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/pi/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../src/specialist/control.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsCD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0GrF;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDrG"}
1
+ {"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../../../src/specialist/control.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsCD,wBAAsB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIrF;AAED,wBAAsB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDrG"}
@@ -0,0 +1,20 @@
1
+ import type { ObservabilitySqliteClient } from './observability-sqlite.js';
2
+ export interface DeadJobAuditFinding {
3
+ job_id: string;
4
+ pid: number;
5
+ reason: string;
6
+ age_ms: number;
7
+ }
8
+ export interface DeadJobAuditResult {
9
+ dryRun: boolean;
10
+ found: DeadJobAuditFinding[];
11
+ cancelled: number;
12
+ }
13
+ export declare function auditDeadJobs(opts: {
14
+ client: ObservabilitySqliteClient;
15
+ dryRun?: boolean;
16
+ nowMs?: number;
17
+ isPidAlive?: (pid: number) => boolean;
18
+ minAgeMs?: number;
19
+ }): DeadJobAuditResult;
20
+ //# sourceMappingURL=dead-job-audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dead-job-audit.d.ts","sourceRoot":"","sources":["../../../src/specialist/dead-job-audit.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAG3E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAcD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,MAAM,EAAE,yBAAyB,CAAC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,kBAAkB,CAwDrB"}
@@ -12,6 +12,14 @@ export interface LaunchSpecialistOptions {
12
12
  circuitBreaker: CircuitBreaker;
13
13
  beadsClient?: BeadsClientType;
14
14
  workingDirectory?: string;
15
+ basePin?: {
16
+ baseShaPinned: string;
17
+ baseShaObserved: string;
18
+ currentSha: string;
19
+ branch: string;
20
+ commitsBehind: number;
21
+ override: boolean;
22
+ };
15
23
  reusedFromJobId?: string;
16
24
  worktreeOwnerJobId?: string;
17
25
  effectiveBeadId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/specialist/launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/E,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyGnF"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../../src/specialist/launch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAS9C,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC/E,iBAAiB,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAChF,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHnF"}
@@ -85,6 +85,18 @@ export declare class SpecialistLoader {
85
85
  private resolveCanonicalPresetReferences;
86
86
  list(category?: string): Promise<SpecialistSummary[]>;
87
87
  get(name: string): Promise<Specialist>;
88
+ /**
89
+ * Return the merged (effective) spec for `name`: package canonical + global
90
+ * user.json + repo overrides, in the same precedence as get().
91
+ *
92
+ * Unlike get(), does NOT enforce the "model must be set" gate — this method
93
+ * exists precisely so tooling (sp view --raw, launchers, doctors) can inspect
94
+ * the effective config even when it isn't yet runnable. Callers that need
95
+ * runtime enforcement should still use get().
96
+ *
97
+ * Returns null if the specialist has no package canonical (unknown name).
98
+ */
99
+ getEffective(name: string): Promise<Specialist | null>;
88
100
  /**
89
101
  * Blocked-field warnings collected during the most recent list() or get() calls.
90
102
  * Returns all warnings when called without a name; filters to one specialist otherwise.
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/specialist/loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,oBAAoB;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,mGAAmG;AACnG,qBAAa,2BAA4B,SAAQ,KAAK;aACxB,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAQnD;AAED,0EAA0E;AAC1E,wBAAsB,cAAc,CAClC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,CAiBlC;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAyBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,aAAkB;IAIvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,qBAAqB;IAc7B,wFAAwF;IACxF,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA2F3B,OAAO,CAAC,oBAAoB;IAU5B;;;;;;;OAOG;YACW,eAAe;IAoE7B,OAAO,CAAC,gCAAgC;IAelC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgDrD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB5C;;;OAGG;IACH,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAO7D,kHAAkH;IAClH,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;IAQjD,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CASrC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/specialist/loader.ts"],"names":[],"mappings":"AAKA,OAAO,EAQL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,oBAAoB;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC7D,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACzE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,mGAAmG;AACnG,qBAAa,2BAA4B,SAAQ,KAAK;aACxB,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAQnD;AAED,0EAA0E;AAC1E,wBAAsB,cAAc,CAClC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,CAiBlC;AAED,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAyBD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,aAAkB;IAIvC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,qBAAqB;IAc7B,wFAAwF;IACxF,OAAO,CAAC,aAAa;IAgBrB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IA2F3B,OAAO,CAAC,oBAAoB;IAU5B;;;;;;;OAOG;YACW,eAAe;IAoE7B,OAAO,CAAC,gCAAgC;IAelC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAgDrD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB5C;;;;;;;;;;OAUG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAO5D;;;OAGG;IACH,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE;IAO7D,kHAAkH;IAClH,kBAAkB,IAAI,oBAAoB,GAAG,IAAI;IAQjD,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;CASrC"}
@@ -1,4 +1,4 @@
1
- export declare const OBSERVABILITY_SCHEMA_VERSION = 12;
1
+ export declare const OBSERVABILITY_SCHEMA_VERSION = 13;
2
2
  export interface ObservabilityDbLocation {
3
3
  gitRoot: string;
4
4
  dbDirectory: string;
@@ -188,6 +188,46 @@ export interface ClaimJobStartOptions {
188
188
  staleClaimAgeMs?: number;
189
189
  }
190
190
  export declare function claimJobStartWithStore(store: ClaimJobStartStore, status: SupervisorStatus, event: TimelineEvent, options?: ClaimJobStartOptions): ClaimJobStartResult;
191
+ /**
192
+ * Durable PR/base drift state for a specialist job (specialists-05q.1).
193
+ *
194
+ * Bridge → substrate mapping (specialists-roadmap §B.3): every field renames 1:1 onto
195
+ * `containers.*` when the substrate daemon ships (`pr_*` → `containers.pr_*`,
196
+ * `base_sha_pinned*` → `containers.base_sha_pinned*`). Pre-substrate columns live on
197
+ * `specialist_jobs`; mirror on `SupervisorStatus` for serialization symmetry.
198
+ *
199
+ * Schema/model only — refresh logic (GitHub/git lookup, classification, attention scoring)
200
+ * is owned by specialists-05q.2. Fields are populated lazily; `null` is a meaningful "checked
201
+ * and unset" value, `undefined` is "never checked".
202
+ */
203
+ export interface PrDriftState {
204
+ /** PR URL as recorded by xt at PR creation. */
205
+ pr_url: string | null;
206
+ /** Head SHA observed at last drift check. */
207
+ pr_head_sha: string | null;
208
+ /** Raw GitHub PR state (open / closed / merged / draft). */
209
+ pr_state: string | null;
210
+ /** Raw GitHub merge state (clean / dirty / blocked / behind / unstable / unknown / has_hooks). */
211
+ pr_merge_state: string | null;
212
+ /** Local classification derived from raw state (clean / behind / conflicted / unknown / dead).
213
+ * Distinct from `pr_merge_state` so a future GitHub label change does not silently shift the
214
+ * semantics specialists relies on for attention scoring. */
215
+ pr_classification: string | null;
216
+ /** Base branch ref (e.g. "master"). */
217
+ pr_base_ref: string | null;
218
+ /** Observed base tip SHA at last drift check — compared against `base_sha_pinned`
219
+ * to detect commits-behind without re-fetching. */
220
+ pr_base_sha: string | null;
221
+ /** Epoch ms when drift state was last computed. */
222
+ pr_drift_checked_at_ms: number | null;
223
+ /** Base SHA pinned at chain start (specialists-05q.3 / Opp 7 extension). Used as the
224
+ * authoritative "what this run measured against" reference. */
225
+ base_sha_pinned: string | null;
226
+ /** Epoch ms when the base SHA pin was set. */
227
+ base_sha_pinned_at_ms: number | null;
228
+ }
229
+ /** Partial update of {@link PrDriftState}. Omitted keys are left unchanged; explicit `null` clears. */
230
+ export type PrDriftStatePatch = Partial<PrDriftState>;
191
231
  export interface ObservabilitySqliteClient {
192
232
  upsertStatus(status: SupervisorStatus): void;
193
233
  markSpecialistJobCancelled(jobId: string, reason: string): void;
@@ -243,6 +283,42 @@ export interface ObservabilitySqliteClient {
243
283
  queryMemberContextHealth(jobId: string): number | null;
244
284
  readStatus(jobId: string): SupervisorStatus | null;
245
285
  listStatuses(): SupervisorStatus[];
286
+ /** Read durable PR/base drift state for a job. Returns null when the job row is missing.
287
+ * Specialists-05q.1: schema/model only — refresh logic lives in .2. */
288
+ readPrDriftState(jobId: string): PrDriftState | null;
289
+ /** Write durable PR/base drift state to specialist_jobs columns. Partial updates supported;
290
+ * passing `null` clears a field; omitting a field leaves it unchanged. Returns true on
291
+ * successful row touch, false when the job row does not exist. Updates `updated_at_ms`. */
292
+ updatePrDriftState(jobId: string, drift: PrDriftStatePatch): boolean;
293
+ /** List stale specialist job rows that may be dead after container restart.
294
+ * Core predicate: status IN ('starting','running','waiting') AND pid IS NOT NULL
295
+ * AND updated_at_ms < (nowMs - minAgeMs). ORDER BY updated_at_ms ASC LIMIT 200.
296
+ * @param opts.minAgeMs minimum age in ms to consider a row stale. Default 60_000.
297
+ * @param opts.nowMs epoch ms anchor. Default Date.now().
298
+ * @returns rows with job_id, specialist, status, pid, updated_at_ms, bead_id, chain_id */
299
+ listStaleSpecialistJobs(opts?: {
300
+ minAgeMs?: number;
301
+ nowMs?: number;
302
+ }): Array<{
303
+ job_id: string;
304
+ specialist: string;
305
+ status: string;
306
+ pid: number;
307
+ updated_at_ms: number;
308
+ bead_id: string | null;
309
+ chain_id: string | null;
310
+ }>;
311
+ /** List jobs with PR URLs that haven't been checked recently, ordered by
312
+ * pr_drift_checked_at_ms ascending (NULLs first). Limit 50.
313
+ * @param olderThanMs Epoch ms threshold; rows with pr_drift_checked_at_ms
314
+ * >= olderThanMs are excluded. Defaults to Date.now() - 5*60*1000 (5 min). */
315
+ listJobsNeedingPrDriftRefresh(olderThanMs?: number): Array<{
316
+ job_id: string;
317
+ pr_url: string;
318
+ pr_head_sha: string | null;
319
+ pr_drift_checked_at_ms: number | null;
320
+ branch: string | null;
321
+ }>;
246
322
  removeJobs(jobIds: readonly string[]): number;
247
323
  readEpicRun(epicId: string): EpicRunRecord | null;
248
324
  listEpicRuns(): EpicRunRecord[];