@odla-ai/harness 0.9.3 → 0.10.0

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/node.d.cts CHANGED
@@ -158,7 +158,7 @@ interface CodeRuntimeClientOptions {
158
158
  declare function createCodeRuntimeControlClient(options: CodeRuntimeClientOptions): CodeRuntimeAgentControlPlane;
159
159
 
160
160
  /** Version of the outbound Code host heartbeat contract. */
161
- declare const CODE_RUNTIME_PROTOCOL_VERSION: 1;
161
+ declare const CODE_RUNTIME_PROTOCOL_VERSION: 2;
162
162
  /** Frozen, secret-filtered view of the checkout from which a terminal connected. */
163
163
  interface CodeLocalSourceDescriptor {
164
164
  kind: "local_checkout";
@@ -419,6 +419,10 @@ interface CodeSkillOpts {
419
419
  broker: HarnessToolBroker;
420
420
  lease: HarnessLease;
421
421
  workspaceDir: string;
422
+ /** Expose repository inspection only. The broker still enforces this at the
423
+ * trust boundary; removing mutation tools from the manifest keeps a planner
424
+ * from spending turns calling effects it can never own. */
425
+ readOnly?: boolean;
422
426
  /** Exact CaMeL-registered recipes available to this attempt. */
423
427
  recipeIds?: readonly string[];
424
428
  /** Defaults to v1 so an unqualified run reproduces the baseline. */
@@ -447,6 +451,8 @@ interface CodeAgentAttemptOptions {
447
451
  workspaceDir: string;
448
452
  prompt: string;
449
453
  surface?: CodeSurface;
454
+ /** Present only repository inspection tools. */
455
+ readOnly?: boolean;
450
456
  maxSteps?: number;
451
457
  /** Exact registered build/test recipe IDs available to the runtime. */
452
458
  recipeIds?: readonly string[];
@@ -677,6 +683,7 @@ declare class CodeRuntimeCheckpointManager {
677
683
 
678
684
  interface CodeCommandMetadata {
679
685
  role: "coding" | "review";
686
+ readOnly: boolean;
680
687
  title: string;
681
688
  prompt: string;
682
689
  maxTokensPerInteraction: number;
@@ -756,6 +763,8 @@ interface RunCodeAgentOptions {
756
763
  compaction?: CompactionPolicy | null;
757
764
  /** Tool surface the agent sees. Defaults to v1, the recorded baseline. */
758
765
  surface?: CodeSurface;
766
+ /** Present only repository inspection tools. */
767
+ readOnly?: boolean;
759
768
  /** Overrides the surface's system prompt. Leave unset to keep runs comparable. */
760
769
  system?: string;
761
770
  maxTokens?: number;
package/dist/node.d.ts CHANGED
@@ -158,7 +158,7 @@ interface CodeRuntimeClientOptions {
158
158
  declare function createCodeRuntimeControlClient(options: CodeRuntimeClientOptions): CodeRuntimeAgentControlPlane;
159
159
 
160
160
  /** Version of the outbound Code host heartbeat contract. */
161
- declare const CODE_RUNTIME_PROTOCOL_VERSION: 1;
161
+ declare const CODE_RUNTIME_PROTOCOL_VERSION: 2;
162
162
  /** Frozen, secret-filtered view of the checkout from which a terminal connected. */
163
163
  interface CodeLocalSourceDescriptor {
164
164
  kind: "local_checkout";
@@ -419,6 +419,10 @@ interface CodeSkillOpts {
419
419
  broker: HarnessToolBroker;
420
420
  lease: HarnessLease;
421
421
  workspaceDir: string;
422
+ /** Expose repository inspection only. The broker still enforces this at the
423
+ * trust boundary; removing mutation tools from the manifest keeps a planner
424
+ * from spending turns calling effects it can never own. */
425
+ readOnly?: boolean;
422
426
  /** Exact CaMeL-registered recipes available to this attempt. */
423
427
  recipeIds?: readonly string[];
424
428
  /** Defaults to v1 so an unqualified run reproduces the baseline. */
@@ -447,6 +451,8 @@ interface CodeAgentAttemptOptions {
447
451
  workspaceDir: string;
448
452
  prompt: string;
449
453
  surface?: CodeSurface;
454
+ /** Present only repository inspection tools. */
455
+ readOnly?: boolean;
450
456
  maxSteps?: number;
451
457
  /** Exact registered build/test recipe IDs available to the runtime. */
452
458
  recipeIds?: readonly string[];
@@ -677,6 +683,7 @@ declare class CodeRuntimeCheckpointManager {
677
683
 
678
684
  interface CodeCommandMetadata {
679
685
  role: "coding" | "review";
686
+ readOnly: boolean;
680
687
  title: string;
681
688
  prompt: string;
682
689
  maxTokensPerInteraction: number;
@@ -756,6 +763,8 @@ interface RunCodeAgentOptions {
756
763
  compaction?: CompactionPolicy | null;
757
764
  /** Tool surface the agent sees. Defaults to v1, the recorded baseline. */
758
765
  surface?: CodeSurface;
766
+ /** Present only repository inspection tools. */
767
+ readOnly?: boolean;
759
768
  /** Overrides the surface's system prompt. Leave unset to keep runs comparable. */
760
769
  system?: string;
761
770
  maxTokens?: number;
package/dist/node.js CHANGED
@@ -48,7 +48,7 @@ import {
48
48
  validateMemory,
49
49
  validateRelativePath,
50
50
  verifyCodeCandidate
51
- } from "./chunk-AEAISFY3.js";
51
+ } from "./chunk-5MDYIJXC.js";
52
52
  import "./chunk-FAN2R3GW.js";
53
53
  import {
54
54
  assertPinnedImage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odla-ai/harness",
3
- "version": "0.9.3",
3
+ "version": "0.10.0",
4
4
  "description": "Safe, inspectable coding-task protocol and credentialless container runner for odla Studio.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://odla.ai/docs/packages/harness",