@odla-ai/harness 0.8.0 → 0.8.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.
@@ -1626,6 +1626,7 @@ async function runCodeAgentAttempt(options) {
1626
1626
  model: "brokered",
1627
1627
  surface,
1628
1628
  ...options.recipeIds ? { recipeIds: options.recipeIds } : {},
1629
+ ...options.extraSkills ? { extraSkills: options.extraSkills } : {},
1629
1630
  ...options.maxSteps === void 0 ? {} : { maxSteps: options.maxSteps },
1630
1631
  ...options.budget ? { budget: options.budget } : {},
1631
1632
  ...options.signal ? { signal: options.signal } : {},
@@ -1657,6 +1658,18 @@ Finish with a concise, non-empty answer to the owner. Do not call tools or promi
1657
1658
  }
1658
1659
  }
1659
1660
 
1661
+ // src/code-runtime-session-skills.ts
1662
+ async function sessionSkillsFor(options, command) {
1663
+ try {
1664
+ return await options.sessionSkills?.(command) ?? [];
1665
+ } catch (cause) {
1666
+ options.onDiagnostic?.(
1667
+ `session skills unavailable, continuing with code tools only: ${cause instanceof Error ? cause.message : String(cause)}`
1668
+ );
1669
+ return [];
1670
+ }
1671
+ }
1672
+
1660
1673
  // src/code-runtime-inference.ts
1661
1674
  async function handleCodeRuntimeInference(input) {
1662
1675
  const { command, request, state } = input;
@@ -3046,6 +3059,7 @@ var TheseusRuntimeEngine = class {
3046
3059
  event: (event) => this.#event(command, event, active.conversationRefs)
3047
3060
  });
3048
3061
  await this.#event(command, { type: "status", status: "running" }, active.conversationRefs);
3062
+ const extraSkills = await sessionSkillsFor(this.options, command);
3049
3063
  const result = await this.#attempt({
3050
3064
  inference,
3051
3065
  broker,
@@ -3053,7 +3067,8 @@ var TheseusRuntimeEngine = class {
3053
3067
  workspaceDir: active.workspace.workspaceDir,
3054
3068
  prompt: metadata.prompt,
3055
3069
  signal: active.abort.signal,
3056
- recipeIds: this.options.recipes.map((recipe2) => recipe2.id)
3070
+ recipeIds: this.options.recipes.map((recipe2) => recipe2.id),
3071
+ ...extraSkills.length ? { extraSkills } : {}
3057
3072
  });
3058
3073
  const closing = result.finalText.trim();
3059
3074
  const completed = result.status === "completed" && Boolean(closing);