@jaggerxtrm/specialists 3.13.0 → 3.14.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.
package/dist/lib.js CHANGED
@@ -6927,6 +6927,7 @@ var require_public_api = __commonJS((exports) => {
6927
6927
  import { spawn } from "node:child_process";
6928
6928
  import { createHash, randomUUID } from "node:crypto";
6929
6929
  import { readFileSync as readFileSync2 } from "node:fs";
6930
+ import { isAbsolute, relative, resolve } from "node:path";
6930
6931
 
6931
6932
  // src/specialist/templateEngine.ts
6932
6933
  function renderTemplate(template, variables) {
@@ -6936,7 +6937,8 @@ function renderTemplate(template, variables) {
6936
6937
  }
6937
6938
 
6938
6939
  // src/specialist/observability-sqlite.ts
6939
- import { existsSync, readFileSync, statSync } from "node:fs";
6940
+ import { existsSync, mkdirSync, readFileSync, statSync } from "node:fs";
6941
+ import { dirname, join as join2 } from "node:path";
6940
6942
 
6941
6943
  // src/specialist/observability-db.ts
6942
6944
  import { spawnSync } from "node:child_process";
@@ -9032,23 +9034,30 @@ class SqliteClient {
9032
9034
  this.db.close();
9033
9035
  }
9034
9036
  }
9035
- function createObservabilitySqliteClient(cwd = process.cwd()) {
9037
+ function openObservabilitySqliteClient(dbPath) {
9036
9038
  if (!loadBunDatabase())
9037
9039
  return null;
9038
- const location = resolveObservabilityDbLocation(cwd);
9039
- if (!existsSync(location.dbPath))
9040
- return null;
9041
9040
  try {
9042
9041
  const Ctor = loadBunDatabase();
9043
- const initDb = new Ctor(location.dbPath);
9042
+ const initDb = new Ctor(dbPath);
9044
9043
  initDb.run(`PRAGMA busy_timeout=${BUSY_TIMEOUT_MS}`);
9045
9044
  initSchema(initDb);
9046
9045
  initDb.close();
9047
- return new SqliteClient(location.dbPath);
9046
+ return new SqliteClient(dbPath);
9048
9047
  } catch {
9049
9048
  return null;
9050
9049
  }
9051
9050
  }
9051
+ function createObservabilitySqliteClient(cwd = process.cwd()) {
9052
+ const location = resolveObservabilityDbLocation(cwd);
9053
+ if (!existsSync(location.dbPath))
9054
+ return null;
9055
+ return openObservabilitySqliteClient(location.dbPath);
9056
+ }
9057
+ function createObservabilitySqliteClientAtPath(dbPath) {
9058
+ mkdirSync(dirname(dbPath), { recursive: true });
9059
+ return openObservabilitySqliteClient(dbPath);
9060
+ }
9052
9061
 
9053
9062
  // src/specialist/script-runner.ts
9054
9063
  class CompatGuardError extends Error {
@@ -9059,6 +9068,18 @@ class CompatGuardError extends Error {
9059
9068
  this.name = "CompatGuardError";
9060
9069
  }
9061
9070
  }
9071
+ function isPathWithinRoot(candidatePath, rootPath) {
9072
+ const candidate = resolve(candidatePath);
9073
+ const root = resolve(rootPath);
9074
+ const rel = relative(root, candidate);
9075
+ return rel === "" || rel.length > 0 && !rel.startsWith("..") && !isAbsolute(rel);
9076
+ }
9077
+ function assertSkillPathWithinRoots(field, path, roots) {
9078
+ const allowed = roots.some((root) => isPathWithinRoot(path, root));
9079
+ if (!allowed) {
9080
+ throw new CompatGuardError(field, `skill path '${path}' not under any --allow-skills-roots entry`);
9081
+ }
9082
+ }
9062
9083
  function hasUnsubstitutedVariables(template, variables) {
9063
9084
  const matches = template.match(/\$([a-zA-Z_][a-zA-Z0-9_]*)/g) ?? [];
9064
9085
  for (const match of matches) {
@@ -9077,8 +9098,8 @@ function compatGuard(spec, trust) {
9077
9098
  if (execution.permission_required !== "READ_ONLY")
9078
9099
  throw new CompatGuardError("execution.permission_required", "permission_required must be READ_ONLY");
9079
9100
  const hasScripts = (spec.specialist.skills?.scripts?.length ?? 0) > 0;
9080
- if (hasScripts && !trust?.allowLocalScripts) {
9081
- throw new CompatGuardError("skills.scripts", "scripts not allowed (enable with --allow-local-scripts)");
9101
+ if (hasScripts) {
9102
+ throw new CompatGuardError("skills.scripts", "local scripts are not supported in script-class specialists");
9082
9103
  }
9083
9104
  const hasPaths = (spec.specialist.skills?.paths?.length ?? 0) > 0;
9084
9105
  const hasSkillInherit = Boolean(spec.specialist.prompt.skill_inherit);
@@ -9088,26 +9109,34 @@ function compatGuard(spec, trust) {
9088
9109
  if (hasSkillInherit && !trust?.allowSkills) {
9089
9110
  throw new CompatGuardError("prompt.skill_inherit", "skills not allowed (enable with --allow-skills)");
9090
9111
  }
9091
- if (hasPaths && trust?.allowSkills && trust.allowSkillsRoots && trust.allowSkillsRoots.length > 0) {
9112
+ if (trust?.allowSkills && trust.allowSkillsRoots && trust.allowSkillsRoots.length > 0) {
9092
9113
  const paths = spec.specialist.skills?.paths ?? [];
9093
- for (const path of paths) {
9094
- const allowed = trust.allowSkillsRoots.some((root) => path.startsWith(root));
9095
- if (!allowed) {
9096
- throw new CompatGuardError("skills.paths", `skill path '${path}' not under any --allow-skills-roots entry`);
9097
- }
9114
+ for (const path of paths)
9115
+ assertSkillPathWithinRoots("skills.paths", path, trust.allowSkillsRoots);
9116
+ if (typeof spec.specialist.prompt.skill_inherit === "string") {
9117
+ assertSkillPathWithinRoots("prompt.skill_inherit", spec.specialist.prompt.skill_inherit, trust.allowSkillsRoots);
9098
9118
  }
9099
9119
  }
9100
9120
  }
9121
+ function collectSkillPathEntries(spec) {
9122
+ return [
9123
+ ...(spec.specialist.skills?.paths ?? []).map((path) => ({ path, source: "skills.paths" })),
9124
+ ...typeof spec.specialist.prompt.skill_inherit === "string" ? [{ path: spec.specialist.prompt.skill_inherit, source: "prompt.skill_inherit" }] : []
9125
+ ];
9126
+ }
9127
+ function collectSkillPaths(spec) {
9128
+ return collectSkillPathEntries(spec).map((entry) => entry.path);
9129
+ }
9101
9130
  function computeSkillSources(spec) {
9102
- const paths = spec.specialist.skills?.paths ?? [];
9131
+ const entries = collectSkillPathEntries(spec);
9103
9132
  const sources = [];
9104
- for (const path of paths) {
9133
+ for (const { path, source } of entries) {
9105
9134
  try {
9106
9135
  const content = readFileSync2(path);
9107
9136
  const sha256 = createHash("sha256").update(content).digest("hex");
9108
- sources.push({ path, sha256 });
9137
+ sources.push({ path, sha256, source });
9109
9138
  } catch {
9110
- sources.push({ path, sha256: "unreadable" });
9139
+ sources.push({ path, sha256: "unreadable", source });
9111
9140
  }
9112
9141
  }
9113
9142
  return sources;
@@ -9118,6 +9147,34 @@ function renderTaskTemplate(template, variables) {
9118
9147
  throw new Error(`Missing template variable: ${missing}`);
9119
9148
  return renderTemplate(template, variables);
9120
9149
  }
9150
+ function truncateForPrompt(value, limitBytes) {
9151
+ if (Buffer.byteLength(value, "utf8") <= limitBytes)
9152
+ return value;
9153
+ return `${value.slice(0, limitBytes)}
9154
+ ... truncated ...`;
9155
+ }
9156
+ function buildJsonOutputContract(spec) {
9157
+ if (spec.specialist.execution.response_format !== "json")
9158
+ return;
9159
+ const schema = spec.specialist.prompt.output_schema;
9160
+ const required = Array.isArray(schema?.required) ? schema.required.filter((value) => typeof value === "string") : [];
9161
+ const lines = [
9162
+ "Output contract:",
9163
+ "- Return only valid JSON. Do not include Markdown fences, prose, or commentary."
9164
+ ];
9165
+ if (required.length > 0)
9166
+ lines.push(`- Include these required top-level keys: ${required.join(", ")}.`);
9167
+ if (schema)
9168
+ lines.push(`- JSON schema: ${truncateForPrompt(JSON.stringify(schema), 4096)}`);
9169
+ return lines.join(`
9170
+ `);
9171
+ }
9172
+ function applyOutputContract(prompt, spec) {
9173
+ const contract = buildJsonOutputContract(spec);
9174
+ return contract ? `${prompt}
9175
+
9176
+ ${contract}` : prompt;
9177
+ }
9121
9178
  function mapErrorType(message) {
9122
9179
  if (message.includes("Specialist not found"))
9123
9180
  return "specialist_not_found";
@@ -9125,6 +9182,8 @@ function mapErrorType(message) {
9125
9182
  return "specialist_load_error";
9126
9183
  if (message.includes("Missing template variable"))
9127
9184
  return "template_variable_missing";
9185
+ if (message.includes("prompt too large"))
9186
+ return "prompt_too_large";
9128
9187
  if (message.includes("output too large"))
9129
9188
  return "output_too_large";
9130
9189
  if (message.includes("auth") || message.includes("403") || message.includes("401"))
@@ -9195,6 +9254,19 @@ function writeTraceRow(client, specialist, model, traceId, output, durationMs, s
9195
9254
  var DEFAULT_PENDING_LINE_LIMIT_BYTES = 16 * 1024 * 1024;
9196
9255
  var DEFAULT_ASSISTANT_TEXT_LIMIT_BYTES = 4 * 1024 * 1024;
9197
9256
  var DEFAULT_STDERR_LIMIT_BYTES = 1 * 1024 * 1024;
9257
+ var DEFAULT_PROMPT_LIMIT_BYTES = 4 * 1024 * 1024;
9258
+ function resolvePromptLimitBytes(spec) {
9259
+ return spec.specialist.execution.prompt_limit_bytes ?? resolveEnvPromptLimitBytes() ?? DEFAULT_PROMPT_LIMIT_BYTES;
9260
+ }
9261
+ function resolveEnvPromptLimitBytes() {
9262
+ const raw = process.env.SPECIALISTS_SCRIPT_PROMPT_LIMIT_BYTES;
9263
+ if (raw === undefined)
9264
+ return;
9265
+ const envLimit = Number(raw);
9266
+ if (!Number.isFinite(envLimit) || envLimit <= 0)
9267
+ return;
9268
+ return Math.floor(envLimit);
9269
+ }
9198
9270
  function resolveAssistantTextLimitBytes(spec) {
9199
9271
  return spec.specialist.execution.stdout_limit_bytes ?? resolveEnvAssistantTextLimitBytes() ?? DEFAULT_ASSISTANT_TEXT_LIMIT_BYTES;
9200
9272
  }
@@ -9210,8 +9282,9 @@ function resolveEnvAssistantTextLimitBytes() {
9210
9282
  return Math.floor(envLimit);
9211
9283
  }
9212
9284
  function openObservabilityClient(options) {
9213
- const dbPath = options.observabilityDbPath ?? options.projectDir;
9214
- return createObservabilitySqliteClient(dbPath);
9285
+ if (options.observabilityDbPath)
9286
+ return createObservabilitySqliteClientAtPath(options.observabilityDbPath);
9287
+ return createObservabilitySqliteClient(options.projectDir);
9215
9288
  }
9216
9289
  function resolveScriptSpecialistName(name) {
9217
9290
  if (name === "changelog-keeper")
@@ -9225,9 +9298,28 @@ async function runScriptSpecialist(input, options) {
9225
9298
  const resolvedSpecialist = resolveScriptSpecialistName(input.specialist);
9226
9299
  const spec = await options.loader.get(resolvedSpecialist);
9227
9300
  compatGuard(spec, options.trust);
9301
+ const skillPaths = options.trust?.allowSkills ? collectSkillPaths(spec) : [];
9228
9302
  const skillSources = options.trust?.allowSkills ? computeSkillSources(spec) : undefined;
9229
9303
  const template = input.template ?? spec.specialist.prompt.task_template;
9230
- const prompt = renderTaskTemplate(template, input.variables ?? {});
9304
+ const prompt = applyOutputContract(renderTaskTemplate(template, input.variables ?? {}), spec);
9305
+ const modelCandidates = collectModelCandidates(input, spec, options);
9306
+ const promptLimitBytes = resolvePromptLimitBytes(spec);
9307
+ const promptBytes = Buffer.byteLength(prompt, "utf8");
9308
+ if (promptBytes > promptLimitBytes) {
9309
+ return {
9310
+ success: false,
9311
+ error: `prompt too large: ${promptBytes} bytes exceeds limit ${promptLimitBytes} bytes`,
9312
+ error_type: "prompt_too_large",
9313
+ meta: {
9314
+ specialist: resolvedSpecialist,
9315
+ requested_specialist: input.requested_specialist ?? input.specialist,
9316
+ resolved_specialist: resolvedSpecialist,
9317
+ model: modelCandidates[0],
9318
+ duration_ms: Date.now() - startedAt,
9319
+ trace_id: traceId
9320
+ }
9321
+ };
9322
+ }
9231
9323
  if (process.env.SPECIALISTS_SCRIPT_STUB_OUTPUT) {
9232
9324
  return {
9233
9325
  success: true,
@@ -9243,11 +9335,11 @@ async function runScriptSpecialist(input, options) {
9243
9335
  };
9244
9336
  }
9245
9337
  const timeoutMs = input.timeout_ms ?? spec.specialist.execution.timeout_ms ?? 120000;
9246
- const modelCandidates = collectModelCandidates(input, spec, options);
9247
9338
  const assistantTextLimitBytes = resolveAssistantTextLimitBytes(spec);
9248
9339
  const attempts = [];
9249
9340
  for (const model of modelCandidates) {
9250
- const attempt = await runSingleAttempt(prompt, model, input.thinking_level ?? spec.specialist.execution.thinking_level, timeoutMs, assistantTextLimitBytes, options);
9341
+ const systemPrompt = spec.specialist.prompt.system || undefined;
9342
+ const attempt = await runSingleAttempt(prompt, model, input.thinking_level ?? spec.specialist.execution.thinking_level, timeoutMs, assistantTextLimitBytes, options, systemPrompt, skillPaths);
9251
9343
  attempts.push(attempt);
9252
9344
  const parsed = classifyAttempt(attempt);
9253
9345
  if (parsed.retryable)
@@ -9290,14 +9382,23 @@ function collectModelCandidates(input, spec, options) {
9290
9382
  const candidates = [input.model_override, spec.specialist.execution.model, spec.specialist.execution.fallback_model, options.fallbackModel].filter((value) => typeof value === "string" && value.length > 0);
9291
9383
  return [...new Set(candidates)];
9292
9384
  }
9293
- function runSingleAttempt(prompt, model, thinkingLevel, timeoutMs, assistantTextLimitBytes, options) {
9294
- return new Promise((resolve, reject) => {
9295
- const args = ["--mode", "json", "--no-session", "--no-extensions", "--no-tools", "--model", model];
9385
+ function runSingleAttempt(prompt, model, thinkingLevel, timeoutMs, assistantTextLimitBytes, options, systemPrompt, skillPaths = []) {
9386
+ return new Promise((resolve2, reject) => {
9387
+ const args = ["--mode", "json", "--no-session", "--no-extensions", "--no-tools", "--offline", "--no-context-files", "--no-prompt-templates", "--no-themes"];
9388
+ if (skillPaths.length === 0)
9389
+ args.push("--no-skills");
9390
+ for (const skillPath of skillPaths)
9391
+ args.push("--skill", skillPath);
9392
+ args.push("--model", model);
9296
9393
  if (thinkingLevel)
9297
9394
  args.push("--thinking", thinkingLevel);
9298
- args.push(prompt);
9299
- const pi = spawn("pi", args, { stdio: ["ignore", "pipe", "pipe"] });
9395
+ if (systemPrompt)
9396
+ args.push("--system-prompt", systemPrompt);
9397
+ const pi = spawn("pi", args, { stdio: ["pipe", "pipe", "pipe"], cwd: options.projectDir ?? process.cwd() });
9300
9398
  options.onChild?.(pi);
9399
+ pi.stdin?.on("error", () => {});
9400
+ pi.stdin?.write(prompt);
9401
+ pi.stdin?.end();
9301
9402
  let stderr = "";
9302
9403
  let timedOut = false;
9303
9404
  let outputTooLarge = false;
@@ -9366,7 +9467,7 @@ function runSingleAttempt(prompt, model, thinkingLevel, timeoutMs, assistantText
9366
9467
  pi.on("error", reject);
9367
9468
  pi.on("close", (code) => {
9368
9469
  clearTimeout(timer);
9369
- resolve({
9470
+ resolve2({
9370
9471
  model,
9371
9472
  text: assistantText,
9372
9473
  stderr,
@@ -9405,7 +9506,7 @@ function isRetryableModelFailure(stderr, text) {
9405
9506
  }
9406
9507
  // src/specialist/loader.ts
9407
9508
  import { readdir, readFile, stat } from "node:fs/promises";
9408
- import { basename, join as join2 } from "node:path";
9509
+ import { basename, join as join3 } from "node:path";
9409
9510
  import { existsSync as existsSync3 } from "node:fs";
9410
9511
 
9411
9512
  // node_modules/yaml/dist/index.js
@@ -13285,6 +13386,7 @@ var ExecutionSchema = objectType({
13285
13386
  max_retries: numberType().int().min(0).default(0),
13286
13387
  interactive: booleanType().default(false),
13287
13388
  stdout_limit_bytes: numberType().int().positive().optional(),
13389
+ prompt_limit_bytes: numberType().int().positive().optional(),
13288
13390
  response_format: enumType(["text", "json", "markdown"]).default("text"),
13289
13391
  output_type: enumType(["codegen", "analysis", "review", "synthesis", "orchestration", "workflow", "research", "custom"]).default("custom"),
13290
13392
  permission_required: enumType(["READ_ONLY", "LOW", "MEDIUM", "HIGH"]).default("READ_ONLY"),
@@ -13458,15 +13560,15 @@ class SpecialistLoader {
13458
13560
  }
13459
13561
  getScanDirs() {
13460
13562
  const dirs = [
13461
- { path: join2(this.projectDir, ".specialists", "user"), scope: "user", source: "user" },
13462
- { path: join2(this.projectDir, ".specialists", "user", "specialists"), scope: "user", source: "legacy" },
13463
- { path: join2(this.projectDir, ".specialists", "default"), scope: "default", source: "default-mirror" },
13464
- { path: join2(this.projectDir, ".specialists", "default", "specialists"), scope: "default", source: "legacy" },
13465
- { path: join2(this.projectDir, "config", "specialists"), scope: "package", source: "package-fallback" },
13563
+ { path: join3(this.projectDir, ".specialists", "user"), scope: "user", source: "user" },
13564
+ { path: join3(this.projectDir, ".specialists", "user", "specialists"), scope: "user", source: "legacy" },
13565
+ { path: join3(this.projectDir, ".specialists", "default"), scope: "default", source: "default-mirror" },
13566
+ { path: join3(this.projectDir, ".specialists", "default", "specialists"), scope: "default", source: "legacy" },
13567
+ { path: join3(this.projectDir, "config", "specialists"), scope: "package", source: "package-fallback" },
13466
13568
  { path: resolveCanonicalAssetDir("specialists") ?? "", scope: "package", source: "package-live" },
13467
- { path: join2(this.projectDir, "specialists"), scope: "default", source: "legacy" },
13468
- { path: join2(this.projectDir, ".claude", "specialists"), scope: "default", source: "legacy" },
13469
- { path: join2(this.projectDir, ".agent-forge", "specialists"), scope: "default", source: "legacy" }
13569
+ { path: join3(this.projectDir, "specialists"), scope: "default", source: "legacy" },
13570
+ { path: join3(this.projectDir, ".claude", "specialists"), scope: "default", source: "legacy" },
13571
+ { path: join3(this.projectDir, ".agent-forge", "specialists"), scope: "default", source: "legacy" }
13470
13572
  ];
13471
13573
  return dirs.filter((d) => d.path && existsSync3(d.path));
13472
13574
  }
@@ -13476,11 +13578,11 @@ class SpecialistLoader {
13476
13578
  return JSON.stringify($parse(content));
13477
13579
  }
13478
13580
  resolveSpecialistPath(dirPath, specialistName) {
13479
- const jsonPath = join2(dirPath, `${specialistName}.specialist.json`);
13581
+ const jsonPath = join3(dirPath, `${specialistName}.specialist.json`);
13480
13582
  if (existsSync3(jsonPath)) {
13481
13583
  return { filePath: jsonPath, deprecatedYaml: false };
13482
13584
  }
13483
- const yamlPath = join2(dirPath, `${specialistName}.specialist.yaml`);
13585
+ const yamlPath = join3(dirPath, `${specialistName}.specialist.yaml`);
13484
13586
  if (existsSync3(yamlPath)) {
13485
13587
  return { filePath: yamlPath, deprecatedYaml: true };
13486
13588
  }
@@ -13558,9 +13660,9 @@ class SpecialistLoader {
13558
13660
  const fileDir = dir.path;
13559
13661
  const resolved = rawPaths.map((p) => {
13560
13662
  if (p.startsWith("~/"))
13561
- return join2(process.env.HOME || "", p.slice(2));
13663
+ return join3(process.env.HOME || "", p.slice(2));
13562
13664
  if (p.startsWith("./"))
13563
- return join2(fileDir, p.slice(2));
13665
+ return join3(fileDir, p.slice(2));
13564
13666
  return p;
13565
13667
  });
13566
13668
  spec.specialist.skills.paths = resolved;
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/cli/script.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE5H,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAsCpD;AAeD,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAchE;AAwBD,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/E;AAED,eAAO,MAAM,SAAS;;;CAA6B,CAAC"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../../src/cli/script.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmD,KAAK,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAE5H,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAsCpD;AAeD,wBAAgB,WAAW,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAchE;AAwBD,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAc/E;AAED,eAAO,MAAM,SAAS;;;CAA6B,CAAC"}
@@ -5,14 +5,19 @@ interface ServeArgs {
5
5
  queueTimeoutMs: number;
6
6
  shutdownGraceMs: number;
7
7
  projectDir: string;
8
+ dbPath?: string;
8
9
  fallbackModel?: string;
9
10
  auditFailureThreshold: number;
10
11
  allowSkills: boolean;
11
12
  allowSkillsRoots: string[];
12
- allowLocalScripts: boolean;
13
13
  reloadPollMs: number;
14
+ readinessCanaryMode: 'off' | 'warn' | 'require';
15
+ readinessRequiredPiFlags: string[];
16
+ readinessCanarySpecialist?: string;
17
+ readinessCanaryTimeoutMs: number;
18
+ logLevel: 'off' | 'info' | 'debug';
14
19
  }
15
- export type ReadinessReason = 'draining' | 'degraded:audit' | 'pi_config_unreadable' | 'db_not_writable' | 'empty_user_dir' | 'invalid_spec_in_user_dir';
20
+ export type ReadinessReason = 'draining' | 'degraded:audit' | 'pi_config_unreadable' | 'db_not_writable' | 'pi_binary_missing' | 'pi_flag_missing' | 'pi_smoke_failed' | 'empty_user_dir' | 'invalid_spec_in_user_dir';
16
21
  export interface ReadinessState {
17
22
  shuttingDown: boolean;
18
23
  auditFailures: number[];
@@ -27,13 +32,17 @@ export interface ReadinessCheckOptions {
27
32
  piConfigPath?: string;
28
33
  auditFailureThreshold: number;
29
34
  now?: number;
35
+ piCanaryMode?: 'off' | 'warn' | 'require';
36
+ piCanaryCheck?: () => Promise<ReadinessReason | undefined> | ReadinessReason | undefined;
30
37
  }
31
38
  export declare function evaluateReadiness(opts: ReadinessCheckOptions): Promise<{
32
39
  ready: true;
40
+ warning?: ReadinessReason;
33
41
  } | {
34
42
  ready: false;
35
43
  reason: ReadinessReason;
36
44
  }>;
45
+ export declare function checkPiHelpForFlags(flags?: string[]): ReadinessReason | undefined;
37
46
  export declare function startServe(argv?: string[]): Promise<{
38
47
  server: import("http").Server<typeof IncomingMessage, typeof ServerResponse>;
39
48
  args: ServeArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAcpF,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,gBAAgB,GAChB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAIxF;AA8BD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CA4BzI;AAyDD,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAM,EAA0B;;;;;GAmFtE;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../src/cli/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAepF,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAChD,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,EAAE,MAAM,CAAC;IACjC,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CACpC;AAKD,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,gBAAgB,GAChB,sBAAsB,GACtB,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,GAAE,MAAmB,GAAG,IAAI,CAIxF;AA8BD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,eAAe,GAAG,SAAS,CAAC;CAC1F;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC,CAsCpK;AAmDD,wBAAgB,mBAAmB,CAAC,KAAK,GAAE,MAAM,EAA8B,GAAG,eAAe,GAAG,SAAS,CAM5G;AAiDD,wBAAsB,UAAU,CAAC,IAAI,GAAE,MAAM,EAA0B;;;;;GA0KtE;AAED,wBAAsB,GAAG,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/E"}
@@ -257,5 +257,6 @@ export interface ObservabilitySqliteClient {
257
257
  }
258
258
  export declare function hasRunCompleteEvent(jobId: string, cwd?: string): boolean;
259
259
  export declare function createObservabilitySqliteClient(cwd?: string): ObservabilitySqliteClient | null;
260
+ export declare function createObservabilitySqliteClientAtPath(dbPath: string): ObservabilitySqliteClient | null;
260
261
  export {};
261
262
  //# sourceMappingURL=observability-sqlite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observability-sqlite.d.ts","sourceRoot":"","sources":["../../../src/specialist/observability-sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observability-sqlite.d.ts","sourceRoot":"","sources":["../../../src/specialist/observability-sqlite.ts"],"names":[],"mappings":"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"}