bopodev-agent-sdk 0.1.10 → 0.1.11

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.
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > bopodev-agent-sdk@0.1.10 build /Users/danielkrusenstrahle/Documents/Projects/Monorepo/bopohq/packages/agent-sdk
3
+ > bopodev-agent-sdk@0.1.11 build /Users/danielkrusenstrahle/Documents/Projects/Monorepo/bopohq/packages/agent-sdk
4
4
  > tsc -p tsconfig.json --emitDeclarationOnly
5
5
 
@@ -1,4 +1,4 @@
1
1
 
2
- > bopodev-agent-sdk@0.1.8 typecheck /Users/danielkrusenstrahle/Documents/Projects/Monorepo/bopohq/packages/agent-sdk
2
+ > bopodev-agent-sdk@0.1.10 typecheck /Users/danielkrusenstrahle/Documents/Projects/Monorepo/bopohq/packages/agent-sdk
3
3
  > tsc -p tsconfig.json --noEmit
4
4
 
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 BopoHQ contributors
3
+ Copyright (c) 2026 BopoDev contributors
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,4 +1,4 @@
1
- import type { AdapterExecutionResult, AgentAdapter, HeartbeatContext } from "./types";
1
+ import type { AdapterEnvironmentResult, AdapterExecutionResult, AdapterMetadata, AdapterModelOption, AgentAdapter, AgentProviderType, AgentRuntimeConfig, HeartbeatContext } from "./types";
2
2
  export declare class ClaudeCodeAdapter implements AgentAdapter {
3
3
  providerType: "claude_code";
4
4
  execute(context: HeartbeatContext): Promise<AdapterExecutionResult>;
@@ -7,8 +7,19 @@ export declare class CodexAdapter implements AgentAdapter {
7
7
  providerType: "codex";
8
8
  execute(context: HeartbeatContext): Promise<AdapterExecutionResult>;
9
9
  }
10
+ export declare class CursorAdapter implements AgentAdapter {
11
+ providerType: "cursor";
12
+ execute(context: HeartbeatContext): Promise<AdapterExecutionResult>;
13
+ }
14
+ export declare class OpenCodeAdapter implements AgentAdapter {
15
+ providerType: "opencode";
16
+ execute(context: HeartbeatContext): Promise<AdapterExecutionResult>;
17
+ }
10
18
  export declare class GenericHeartbeatAdapter implements AgentAdapter {
11
19
  providerType: "http" | "shell";
12
20
  constructor(providerType: "http" | "shell");
13
21
  execute(context: HeartbeatContext): Promise<AdapterExecutionResult>;
14
22
  }
23
+ export declare function listAdapterMetadata(): AdapterMetadata[];
24
+ export declare function listAdapterModels(providerType: AgentProviderType, runtime?: AgentRuntimeConfig): Promise<AdapterModelOption[]>;
25
+ export declare function testAdapterEnvironment(providerType: AgentProviderType, runtime?: AgentRuntimeConfig): Promise<AdapterEnvironmentResult>;
@@ -1,2 +1,5 @@
1
- import type { AgentAdapter, AgentProviderType } from "./types";
1
+ import type { AdapterEnvironmentResult, AdapterMetadata, AdapterModelOption, AgentAdapter, AgentProviderType, AgentRuntimeConfig } from "./types";
2
2
  export declare function resolveAdapter(providerType: AgentProviderType): AgentAdapter;
3
+ export declare function getAdapterModels(providerType: AgentProviderType, runtime?: AgentRuntimeConfig): Promise<AdapterModelOption[]>;
4
+ export declare function getAdapterMetadata(): AdapterMetadata[];
5
+ export declare function runAdapterEnvironmentTest(providerType: AgentProviderType, runtime?: AgentRuntimeConfig): Promise<AdapterEnvironmentResult>;
@@ -1,4 +1,18 @@
1
1
  import type { AgentRuntimeConfig } from "./types";
2
+ type LocalProvider = "claude_code" | "codex" | "cursor" | "opencode";
3
+ type ClaudeContractDiagnostics = {
4
+ commandOverride: boolean;
5
+ commandLooksClaude: boolean;
6
+ commandWasProviderAlias: boolean;
7
+ hasPromptFlag: boolean;
8
+ hasOutputFormatJson: boolean;
9
+ outputFormat: string | null;
10
+ hasMaxTurnsFlag: boolean;
11
+ hasVerboseFlag: boolean;
12
+ hasDangerouslySkipPermissions: boolean;
13
+ hasJsonSchema: boolean;
14
+ missingRequiredArgs: string[];
15
+ };
2
16
  export interface RuntimeExecutionOutput {
3
17
  ok: boolean;
4
18
  code: number | null;
@@ -15,6 +29,31 @@ export interface RuntimeExecutionOutput {
15
29
  usdCost?: number;
16
30
  summary?: string;
17
31
  };
32
+ structuredOutputSource?: "stdout" | "stderr";
33
+ structuredOutputDiagnostics?: {
34
+ stdoutJsonObjectCount: number;
35
+ stderrJsonObjectCount: number;
36
+ stderrStructuredUsageDetected: boolean;
37
+ stdoutBytes: number;
38
+ stderrBytes: number;
39
+ hasAnyOutput: boolean;
40
+ lastStdoutLine?: string;
41
+ lastStderrLine?: string;
42
+ likelyCause: "no_output_from_runtime" | "json_missing" | "json_on_stderr_only" | "schema_or_shape_mismatch";
43
+ claudeStopReason?: string;
44
+ claudeResultSubtype?: string;
45
+ claudeSessionId?: string;
46
+ claudeContract?: ClaudeContractDiagnostics;
47
+ };
48
+ commandUsed?: string;
49
+ argsUsed?: string[];
50
+ transcript?: RuntimeTranscriptEvent[];
51
+ }
52
+ export interface RuntimeTranscriptEvent {
53
+ kind: "system" | "assistant" | "thinking" | "tool_call" | "tool_result" | "result" | "stderr";
54
+ label?: string;
55
+ text?: string;
56
+ payload?: string;
18
57
  }
19
58
  export interface RuntimeAttemptTrace {
20
59
  attempt: number;
@@ -34,9 +73,11 @@ export interface RuntimeCommandHealth {
34
73
  }
35
74
  export declare function executeAgentRuntime(provider: "claude_code" | "codex", prompt: string, config?: AgentRuntimeConfig): Promise<RuntimeExecutionOutput>;
36
75
  export declare function executePromptRuntime(command: string, prompt: string, config?: AgentRuntimeConfig, options?: {
37
- provider?: "claude_code" | "codex";
76
+ provider?: LocalProvider;
77
+ claudeContract?: ClaudeContractDiagnostics;
38
78
  }): Promise<RuntimeExecutionOutput>;
39
79
  export declare function checkRuntimeCommandHealth(command: string, options?: {
40
80
  cwd?: string;
41
81
  timeoutMs?: number;
42
82
  }): Promise<RuntimeCommandHealth>;
83
+ export {};
@@ -1,4 +1,4 @@
1
- import type { ProviderType } from "bopodev-contracts";
1
+ import type { ExecutionOutcome, ProviderType } from "bopodev-contracts";
2
2
  export type AgentProviderType = ProviderType;
3
3
  export interface AgentWorkItem {
4
4
  issueId: string;
@@ -14,6 +14,10 @@ export interface AgentWorkItem {
14
14
  export interface AgentState {
15
15
  sessionId?: string;
16
16
  cwd?: string;
17
+ cursorSession?: {
18
+ sessionId: string;
19
+ cwd?: string;
20
+ };
17
21
  metadata?: Record<string, unknown>;
18
22
  }
19
23
  export interface HeartbeatContext {
@@ -45,6 +49,7 @@ export interface AdapterExecutionResult {
45
49
  tokenInput: number;
46
50
  tokenOutput: number;
47
51
  usdCost: number;
52
+ outcome?: ExecutionOutcome;
48
53
  nextState?: AgentState;
49
54
  trace?: AdapterTrace;
50
55
  }
@@ -52,11 +57,40 @@ export interface AgentAdapter {
52
57
  providerType: AgentProviderType;
53
58
  execute(context: HeartbeatContext): Promise<AdapterExecutionResult>;
54
59
  }
60
+ export type AdapterEnvironmentCheckLevel = "info" | "warn" | "error";
61
+ export type AdapterEnvironmentStatus = "pass" | "warn" | "fail";
62
+ export interface AdapterEnvironmentCheck {
63
+ code: string;
64
+ level: AdapterEnvironmentCheckLevel;
65
+ message: string;
66
+ detail?: string;
67
+ hint?: string;
68
+ }
69
+ export interface AdapterEnvironmentResult {
70
+ providerType: AgentProviderType;
71
+ status: AdapterEnvironmentStatus;
72
+ testedAt: string;
73
+ checks: AdapterEnvironmentCheck[];
74
+ }
75
+ export interface AdapterModelOption {
76
+ id: string;
77
+ label: string;
78
+ }
79
+ export interface AdapterMetadata {
80
+ providerType: AgentProviderType;
81
+ label: string;
82
+ supportsModelSelection: boolean;
83
+ supportsEnvironmentTest: boolean;
84
+ supportsWebSearch: boolean;
85
+ supportsThinkingEffort: boolean;
86
+ requiresRuntimeCwd: boolean;
87
+ }
55
88
  export interface AgentRuntimeConfig {
56
89
  command?: string;
57
90
  args?: string[];
58
91
  cwd?: string;
59
92
  timeoutMs?: number;
93
+ abortSignal?: AbortSignal;
60
94
  interruptGraceSec?: number;
61
95
  retryCount?: number;
62
96
  retryBackoffMs?: number;
@@ -71,10 +105,13 @@ export interface AgentRuntimeConfig {
71
105
  }
72
106
  export interface AdapterTrace {
73
107
  command?: string;
108
+ args?: string[];
109
+ cwd?: string;
74
110
  exitCode?: number | null;
75
111
  elapsedMs?: number;
76
112
  timedOut?: boolean;
77
113
  failureType?: string;
114
+ timeoutSource?: "runtime" | "watchdog" | null;
78
115
  usageSource?: "structured" | "estimated" | "none" | "unknown";
79
116
  attemptCount?: number;
80
117
  attempts?: Array<{
@@ -88,4 +125,47 @@ export interface AdapterTrace {
88
125
  }>;
89
126
  stdoutPreview?: string;
90
127
  stderrPreview?: string;
128
+ session?: {
129
+ currentSessionId?: string | null;
130
+ resumedSessionId?: string | null;
131
+ resumeAttempted?: boolean;
132
+ resumeSkippedReason?: string | null;
133
+ clearedStaleSession?: boolean;
134
+ };
135
+ structuredOutputSource?: "stdout" | "stderr";
136
+ structuredOutputDiagnostics?: {
137
+ stdoutJsonObjectCount: number;
138
+ stderrJsonObjectCount: number;
139
+ stderrStructuredUsageDetected: boolean;
140
+ stdoutBytes: number;
141
+ stderrBytes: number;
142
+ hasAnyOutput: boolean;
143
+ lastStdoutLine?: string;
144
+ lastStderrLine?: string;
145
+ likelyCause: "no_output_from_runtime" | "json_missing" | "json_on_stderr_only" | "schema_or_shape_mismatch";
146
+ claudeStopReason?: string;
147
+ claudeResultSubtype?: string;
148
+ claudeSessionId?: string;
149
+ cursorSessionId?: string;
150
+ cursorErrorMessage?: string;
151
+ claudeContract?: {
152
+ commandOverride: boolean;
153
+ commandLooksClaude: boolean;
154
+ commandWasProviderAlias: boolean;
155
+ hasPromptFlag: boolean;
156
+ hasOutputFormatJson: boolean;
157
+ outputFormat: string | null;
158
+ hasMaxTurnsFlag: boolean;
159
+ hasVerboseFlag: boolean;
160
+ hasDangerouslySkipPermissions: boolean;
161
+ hasJsonSchema: boolean;
162
+ missingRequiredArgs: string[];
163
+ };
164
+ };
165
+ transcript?: Array<{
166
+ kind: "system" | "assistant" | "thinking" | "tool_call" | "tool_result" | "result" | "stderr";
167
+ label?: string;
168
+ text?: string;
169
+ payload?: string;
170
+ }>;
91
171
  }
@@ -105,10 +105,123 @@ export declare const AgentStatusSchema: z.ZodEnum<{
105
105
  export declare const ProviderTypeSchema: z.ZodEnum<{
106
106
  claude_code: "claude_code";
107
107
  codex: "codex";
108
+ cursor: "cursor";
109
+ opencode: "opencode";
108
110
  http: "http";
109
111
  shell: "shell";
110
112
  }>;
111
113
  export type ProviderType = z.infer<typeof ProviderTypeSchema>;
114
+ export declare const RequestActorHeadersSchema: z.ZodObject<{
115
+ "x-actor-type": z.ZodOptional<z.ZodEnum<{
116
+ agent: "agent";
117
+ board: "board";
118
+ member: "member";
119
+ }>>;
120
+ "x-actor-id": z.ZodOptional<z.ZodString>;
121
+ "x-actor-companies": z.ZodOptional<z.ZodString>;
122
+ "x-actor-permissions": z.ZodOptional<z.ZodString>;
123
+ }, z.core.$strip>;
124
+ export type RequestActorHeaders = z.infer<typeof RequestActorHeadersSchema>;
125
+ export declare const ControlPlaneRequestHeadersSchema: z.ZodObject<{
126
+ "x-company-id": z.ZodString;
127
+ "x-actor-type": z.ZodEnum<{
128
+ agent: "agent";
129
+ board: "board";
130
+ member: "member";
131
+ }>;
132
+ "x-actor-id": z.ZodString;
133
+ "x-actor-companies": z.ZodString;
134
+ "x-actor-permissions": z.ZodString;
135
+ }, z.core.$strip>;
136
+ export type ControlPlaneRequestHeaders = z.infer<typeof ControlPlaneRequestHeadersSchema>;
137
+ export declare const ControlPlaneHeadersJsonSchema: z.ZodObject<{
138
+ "x-company-id": z.ZodString;
139
+ "x-actor-type": z.ZodEnum<{
140
+ agent: "agent";
141
+ board: "board";
142
+ member: "member";
143
+ }>;
144
+ "x-actor-id": z.ZodString;
145
+ "x-actor-companies": z.ZodString;
146
+ "x-actor-permissions": z.ZodString;
147
+ }, z.core.$strict>;
148
+ export declare const ControlPlaneRuntimeEnvSchema: z.ZodObject<{
149
+ BOPODEV_AGENT_ID: z.ZodOptional<z.ZodString>;
150
+ BOPODEV_COMPANY_ID: z.ZodOptional<z.ZodString>;
151
+ BOPODEV_RUN_ID: z.ZodOptional<z.ZodString>;
152
+ BOPODEV_API_BASE_URL: z.ZodOptional<z.ZodString>;
153
+ BOPODEV_ACTOR_TYPE: z.ZodOptional<z.ZodEnum<{
154
+ agent: "agent";
155
+ board: "board";
156
+ member: "member";
157
+ }>>;
158
+ BOPODEV_ACTOR_ID: z.ZodOptional<z.ZodString>;
159
+ BOPODEV_ACTOR_COMPANIES: z.ZodOptional<z.ZodString>;
160
+ BOPODEV_ACTOR_PERMISSIONS: z.ZodOptional<z.ZodString>;
161
+ BOPODEV_REQUEST_HEADERS_JSON: z.ZodOptional<z.ZodString>;
162
+ }, z.core.$strip>;
163
+ export type ControlPlaneRuntimeEnv = z.infer<typeof ControlPlaneRuntimeEnvSchema>;
164
+ export declare const ExecutionOutcomeKindSchema: z.ZodEnum<{
165
+ blocked: "blocked";
166
+ completed: "completed";
167
+ failed: "failed";
168
+ skipped: "skipped";
169
+ }>;
170
+ export declare const ExecutionOutcomeActionSchema: z.ZodObject<{
171
+ type: z.ZodString;
172
+ targetId: z.ZodOptional<z.ZodString>;
173
+ status: z.ZodEnum<{
174
+ error: "error";
175
+ ok: "ok";
176
+ warn: "warn";
177
+ }>;
178
+ detail: z.ZodOptional<z.ZodString>;
179
+ }, z.core.$strip>;
180
+ export declare const ExecutionOutcomeArtifactSchema: z.ZodObject<{
181
+ path: z.ZodString;
182
+ kind: z.ZodString;
183
+ }, z.core.$strip>;
184
+ export declare const ExecutionOutcomeBlockerSchema: z.ZodObject<{
185
+ code: z.ZodString;
186
+ message: z.ZodString;
187
+ retryable: z.ZodBoolean;
188
+ }, z.core.$strip>;
189
+ export declare const ExecutionOutcomeSchema: z.ZodObject<{
190
+ kind: z.ZodEnum<{
191
+ blocked: "blocked";
192
+ completed: "completed";
193
+ failed: "failed";
194
+ skipped: "skipped";
195
+ }>;
196
+ issueIdsTouched: z.ZodDefault<z.ZodArray<z.ZodString>>;
197
+ artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
198
+ path: z.ZodString;
199
+ kind: z.ZodString;
200
+ }, z.core.$strip>>>;
201
+ actions: z.ZodDefault<z.ZodArray<z.ZodObject<{
202
+ type: z.ZodString;
203
+ targetId: z.ZodOptional<z.ZodString>;
204
+ status: z.ZodEnum<{
205
+ error: "error";
206
+ ok: "ok";
207
+ warn: "warn";
208
+ }>;
209
+ detail: z.ZodOptional<z.ZodString>;
210
+ }, z.core.$strip>>>;
211
+ blockers: z.ZodDefault<z.ZodArray<z.ZodObject<{
212
+ code: z.ZodString;
213
+ message: z.ZodString;
214
+ retryable: z.ZodBoolean;
215
+ }, z.core.$strip>>>;
216
+ nextSuggestedState: z.ZodOptional<z.ZodEnum<{
217
+ blocked: "blocked";
218
+ todo: "todo";
219
+ in_progress: "in_progress";
220
+ in_review: "in_review";
221
+ done: "done";
222
+ }>>;
223
+ }, z.core.$strip>;
224
+ export type ExecutionOutcome = z.infer<typeof ExecutionOutcomeSchema>;
112
225
  export declare const ThinkingEffortSchema: z.ZodEnum<{
113
226
  low: "low";
114
227
  medium: "medium";
@@ -160,6 +273,8 @@ export declare const AgentCreateRequestSchema: z.ZodObject<{
160
273
  providerType: z.ZodEnum<{
161
274
  claude_code: "claude_code";
162
275
  codex: "codex";
276
+ cursor: "cursor";
277
+ opencode: "opencode";
163
278
  http: "http";
164
279
  shell: "shell";
165
280
  }>;
@@ -199,6 +314,8 @@ export declare const AgentUpdateRequestSchema: z.ZodObject<{
199
314
  providerType: z.ZodOptional<z.ZodEnum<{
200
315
  claude_code: "claude_code";
201
316
  codex: "codex";
317
+ cursor: "cursor";
318
+ opencode: "opencode";
202
319
  http: "http";
203
320
  shell: "shell";
204
321
  }>>;
@@ -245,6 +362,8 @@ export declare const AgentSchema: z.ZodObject<{
245
362
  providerType: z.ZodEnum<{
246
363
  claude_code: "claude_code";
247
364
  codex: "codex";
365
+ cursor: "cursor";
366
+ opencode: "opencode";
248
367
  http: "http";
249
368
  shell: "shell";
250
369
  }>;
@@ -480,6 +599,8 @@ export declare const OfficeOccupantSchema: z.ZodObject<{
480
599
  providerType: z.ZodNullable<z.ZodEnum<{
481
600
  claude_code: "claude_code";
482
601
  codex: "codex";
602
+ cursor: "cursor";
603
+ opencode: "opencode";
483
604
  http: "http";
484
605
  shell: "shell";
485
606
  }>>;
@@ -522,6 +643,8 @@ export declare const OfficeSpaceEventSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
522
643
  providerType: z.ZodNullable<z.ZodEnum<{
523
644
  claude_code: "claude_code";
524
645
  codex: "codex";
646
+ cursor: "cursor";
647
+ opencode: "opencode";
525
648
  http: "http";
526
649
  shell: "shell";
527
650
  }>>;
@@ -563,6 +686,8 @@ export declare const OfficeSpaceEventSchema: z.ZodDiscriminatedUnion<[z.ZodObjec
563
686
  providerType: z.ZodNullable<z.ZodEnum<{
564
687
  claude_code: "claude_code";
565
688
  codex: "codex";
689
+ cursor: "cursor";
690
+ opencode: "opencode";
566
691
  http: "http";
567
692
  shell: "shell";
568
693
  }>>;
@@ -688,6 +813,8 @@ export declare const RealtimeEventEnvelopeSchema: z.ZodDiscriminatedUnion<[z.Zod
688
813
  providerType: z.ZodNullable<z.ZodEnum<{
689
814
  claude_code: "claude_code";
690
815
  codex: "codex";
816
+ cursor: "cursor";
817
+ opencode: "opencode";
691
818
  http: "http";
692
819
  shell: "shell";
693
820
  }>>;
@@ -729,6 +856,8 @@ export declare const RealtimeEventEnvelopeSchema: z.ZodDiscriminatedUnion<[z.Zod
729
856
  providerType: z.ZodNullable<z.ZodEnum<{
730
857
  claude_code: "claude_code";
731
858
  codex: "codex";
859
+ cursor: "cursor";
860
+ opencode: "opencode";
732
861
  http: "http";
733
862
  shell: "shell";
734
863
  }>>;
@@ -862,6 +991,8 @@ export declare const RealtimeEventMessageSchema: z.ZodDiscriminatedUnion<[z.ZodO
862
991
  providerType: z.ZodNullable<z.ZodEnum<{
863
992
  claude_code: "claude_code";
864
993
  codex: "codex";
994
+ cursor: "cursor";
995
+ opencode: "opencode";
865
996
  http: "http";
866
997
  shell: "shell";
867
998
  }>>;
@@ -903,6 +1034,8 @@ export declare const RealtimeEventMessageSchema: z.ZodDiscriminatedUnion<[z.ZodO
903
1034
  providerType: z.ZodNullable<z.ZodEnum<{
904
1035
  claude_code: "claude_code";
905
1036
  codex: "codex";
1037
+ cursor: "cursor";
1038
+ opencode: "opencode";
906
1039
  http: "http";
907
1040
  shell: "shell";
908
1041
  }>>;
@@ -1034,6 +1167,8 @@ export declare const RealtimeMessageSchema: z.ZodUnion<readonly [z.ZodObject<{
1034
1167
  providerType: z.ZodNullable<z.ZodEnum<{
1035
1168
  claude_code: "claude_code";
1036
1169
  codex: "codex";
1170
+ cursor: "cursor";
1171
+ opencode: "opencode";
1037
1172
  http: "http";
1038
1173
  shell: "shell";
1039
1174
  }>>;
@@ -1075,6 +1210,8 @@ export declare const RealtimeMessageSchema: z.ZodUnion<readonly [z.ZodObject<{
1075
1210
  providerType: z.ZodNullable<z.ZodEnum<{
1076
1211
  claude_code: "claude_code";
1077
1212
  codex: "codex";
1213
+ cursor: "cursor";
1214
+ opencode: "opencode";
1078
1215
  http: "http";
1079
1216
  shell: "shell";
1080
1217
  }>>;
@@ -1103,6 +1240,8 @@ export declare const CostLedgerEntrySchema: z.ZodObject<{
1103
1240
  providerType: z.ZodEnum<{
1104
1241
  claude_code: "claude_code";
1105
1242
  codex: "codex";
1243
+ cursor: "cursor";
1244
+ opencode: "opencode";
1106
1245
  http: "http";
1107
1246
  shell: "shell";
1108
1247
  }>;
@@ -1133,9 +1272,9 @@ export declare const HeartbeatRunSchema: z.ZodObject<{
1133
1272
  agentId: z.ZodString;
1134
1273
  status: z.ZodEnum<{
1135
1274
  completed: "completed";
1136
- started: "started";
1137
1275
  failed: "failed";
1138
1276
  skipped: "skipped";
1277
+ started: "started";
1139
1278
  }>;
1140
1279
  startedAt: z.ZodString;
1141
1280
  finishedAt: z.ZodNullable<z.ZodString>;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "bopodev-agent-sdk",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
7
7
  "types": "src/index.ts",
8
8
  "dependencies": {
9
- "bopodev-contracts": "0.1.10"
9
+ "bopodev-contracts": "0.1.11"
10
10
  },
11
11
  "scripts": {
12
12
  "build": "tsc -p tsconfig.json --emitDeclarationOnly",