@yoloship/ai 0.2.0-beta.2 → 0.2.0-beta.3

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 (2) hide show
  1. package/dist/index.mjs +1 -147
  2. package/package.json +2 -2
package/dist/index.mjs CHANGED
@@ -1,147 +1 @@
1
- import { ensureClaude, spawnClaude, spawnClaudeBidirectional } from '@yoloship/claude-sdk';
2
- export { EventStream, classifyEvent, extractFileChange, isErrorEvent, isFileChangedEvent, isOutputEvent, isResultEvent, isThinkingEvent, isToolResultEvent, isToolUseEvent, normalizeEvent } from '@yoloship/claude-sdk';
3
-
4
- const CI_DEFAULTS = {
5
- dangerouslySkipPermissions: true,
6
- attribution: { commit: "", pr: "" },
7
- autoMemoryEnabled: false
8
- };
9
- const CI_PAGER_ENV = {
10
- GIT_PAGER: "cat",
11
- GH_PAGER: "cat",
12
- PAGER: "cat"
13
- };
14
- function toClaudeAuth(auth) {
15
- if (!auth) {
16
- return void 0;
17
- }
18
- return { apiKey: auth.apiKey };
19
- }
20
- class ClaudeRuntime {
21
- id = "claude-code";
22
- #ci;
23
- constructor(opts = {}) {
24
- this.#ci = opts.ci ?? false;
25
- }
26
- async ensure(options) {
27
- await ensureClaude(options);
28
- }
29
- run(opts) {
30
- const claudeOpts = this.#ci ? { ...CI_DEFAULTS, ...this.#toClaudeOptions(opts) } : this.#toClaudeOptions(opts);
31
- const emitter = spawnClaude(claudeOpts, toClaudeAuth(opts.auth));
32
- if (opts.onEvent) {
33
- emitter.events.on(opts.onEvent);
34
- }
35
- return emitter.result;
36
- }
37
- runBidirectional(opts) {
38
- const sessionOpts = this.#ci ? { ...CI_DEFAULTS, ...this.#toClaudeSessionOptions(opts) } : this.#toClaudeSessionOptions(opts);
39
- const bidi = spawnClaudeBidirectional(sessionOpts, toClaudeAuth(opts.auth));
40
- if (opts.onEvent) {
41
- bidi.events.on(opts.onEvent);
42
- }
43
- return {
44
- events: bidi.events,
45
- sendTurn: (message) => bidi.sendMessage(message),
46
- cancel: () => {
47
- try {
48
- bidi.process.kill();
49
- } catch {
50
- }
51
- },
52
- close: () => bidi.close(),
53
- result: bidi.result
54
- };
55
- }
56
- /**
57
- * Canonical wire format for `--mcp-config`. Called internally by
58
- * `#toClaudeSessionOptions` when `opts.mcpServers` is provided; also
59
- * exposed on the `Runtime` interface for callers that need the
60
- * serialised payload directly (e.g. writing an mcp-config file).
61
- */
62
- buildMcpConfig(servers) {
63
- return { mcpServers: servers };
64
- }
65
- /** Claude Code consumes `allowedTools` in its native shape — pass through. */
66
- translateAllowedTools(tools) {
67
- return tools;
68
- }
69
- /**
70
- * Translate the runtime-agnostic `RunOptions` into Claude's native
71
- * `ClaudeSessionOptions`. Routes `allowedTools` through
72
- * `translateAllowedTools()` and `mcpServers` through `buildMcpConfig()`
73
- * so the public interface methods are load-bearing on the internal
74
- * execution path.
75
- */
76
- #toClaudeSessionOptions(opts) {
77
- const rest = {};
78
- if (opts.systemPrompt !== void 0) {
79
- rest.systemPrompt = opts.systemPrompt;
80
- }
81
- if (opts.model !== void 0) {
82
- rest.model = opts.model;
83
- }
84
- if (opts.maxTurns !== void 0) {
85
- rest.maxTurns = opts.maxTurns;
86
- }
87
- if (opts.allowedTools !== void 0) {
88
- rest.allowedTools = this.translateAllowedTools(opts.allowedTools);
89
- }
90
- if (opts.mcpServers !== void 0) {
91
- rest.mcpServers = this.buildMcpConfig(opts.mcpServers).mcpServers;
92
- }
93
- if (opts.cwd !== void 0) {
94
- rest.cwd = opts.cwd;
95
- }
96
- if (this.#ci) {
97
- rest.env = { ...CI_PAGER_ENV, ...opts.env ?? {} };
98
- } else if (opts.env !== void 0) {
99
- rest.env = opts.env;
100
- }
101
- if (opts.sessionId !== void 0) {
102
- rest.sessionId = opts.sessionId;
103
- }
104
- if (opts.resume !== void 0) {
105
- rest.resume = opts.resume;
106
- }
107
- if (opts.language !== void 0) {
108
- rest.language = opts.language;
109
- }
110
- rest.settingSources = ["project", "local"];
111
- return rest;
112
- }
113
- #toClaudeOptions(opts) {
114
- return { prompt: opts.prompt, ...this.#toClaudeSessionOptions(opts) };
115
- }
116
- }
117
-
118
- function getRuntime(runtime = "claude-code", opts = {}) {
119
- switch (runtime) {
120
- case "claude-code":
121
- return new ClaudeRuntime({ ci: opts.ci });
122
- case "opencode":
123
- throw new Error("opencode runtime is not yet implemented \u2014 see YOL-204");
124
- default: {
125
- const unknown = runtime;
126
- throw new Error(`Unknown runtime: ${String(unknown)}`);
127
- }
128
- }
129
- }
130
-
131
- const PROVIDER_ENV_VAR = {
132
- "anthropic": "ANTHROPIC_API_KEY",
133
- "openai": "OPENAI_API_KEY",
134
- "openai-compatible": void 0,
135
- "custom": void 0
136
- };
137
- const DEFAULT_MODEL_BY_PROVIDER = {
138
- "anthropic": "claude-sonnet-4-6",
139
- "openai": "gpt-4o-mini",
140
- "openai-compatible": void 0,
141
- "custom": void 0
142
- };
143
- function resolveModel(opts) {
144
- return opts.runOverride ?? opts.agentModel ?? DEFAULT_MODEL_BY_PROVIDER[opts.provider];
145
- }
146
-
147
- export { ClaudeRuntime, DEFAULT_MODEL_BY_PROVIDER, PROVIDER_ENV_VAR, getRuntime, resolveModel };
1
+ const _0x41c9a4=_0x1368;(function(_0x2cdc78,_0x5da9a6){const _0x34f093=_0x1368,_0x33bfbe=_0x2cdc78();while(!![]){try{const _0x156e6a=-parseInt(_0x34f093(0x19e,'vG(i'))/0x1+parseInt(_0x34f093(0x1cc,'E6Oz'))/0x2+parseInt(_0x34f093(0x1a0,'^UJv'))/0x3+-parseInt(_0x34f093(0x1b3,']CYZ'))/0x4*(parseInt(_0x34f093(0x1d4,'vG(i'))/0x5)+parseInt(_0x34f093(0x1b9,'ltuw'))/0x6+-parseInt(_0x34f093(0x1bd,'r]8S'))/0x7+-parseInt(_0x34f093(0x1bc,'vG(i'))/0x8*(-parseInt(_0x34f093(0x194,'f(Or'))/0x9);if(_0x156e6a===_0x5da9a6)break;else _0x33bfbe['push'](_0x33bfbe['shift']());}catch(_0x28c20d){_0x33bfbe['push'](_0x33bfbe['shift']());}}}(_0x5221,0xc7ea4));import{ensureClaude,spawnClaude,spawnClaudeBidirectional}from'@yoloship/claude-sdk';export{EventStream,classifyEvent,extractFileChange,isErrorEvent,isFileChangedEvent,isOutputEvent,isResultEvent,isThinkingEvent,isToolResultEvent,isToolUseEvent,normalizeEvent}from'@yoloship/claude-sdk';const CI_DEFAULTS={'dangerouslySkipPermissions':!![],'attribution':{'commit':'','pr':''},'autoMemoryEnabled':![]},CI_PAGER_ENV={'GIT_PAGER':_0x41c9a4(0x1db,'enMx'),'GH_PAGER':_0x41c9a4(0x1be,'fT1o'),'PAGER':'cat'};function toClaudeAuth(_0x26bc20){const _0x48adfd=_0x41c9a4;if(!_0x26bc20)return void 0x0;return{'apiKey':_0x26bc20[_0x48adfd(0x1c2,'(GXW')]};}class ClaudeRuntime{['id']=_0x41c9a4(0x19b,'f(Or');#ci;constructor(_0x3d284c={}){this.#ci=_0x3d284c['ci']??![];}async[_0x41c9a4(0x1b8,'bQYb')](_0x54001b){await ensureClaude(_0x54001b);}[_0x41c9a4(0x1c8,'E6Oz')](_0x3ab084){const _0x2fa110=_0x41c9a4,_0x391890={'UmgTC':function(_0x5039d4,_0x1257b5,_0x4e69eb){return _0x5039d4(_0x1257b5,_0x4e69eb);}},_0x2233c3=this.#ci?{...CI_DEFAULTS,...this.#toClaudeOptions(_0x3ab084)}:this.#toClaudeOptions(_0x3ab084),_0x563a89=_0x391890[_0x2fa110(0x197,'LJNJ')](spawnClaude,_0x2233c3,toClaudeAuth(_0x3ab084['auth']));return _0x3ab084[_0x2fa110(0x1ce,']BFC')]&&_0x563a89[_0x2fa110(0x1c7,'wB&s')]['on'](_0x3ab084[_0x2fa110(0x19a,'K@DG')]),_0x563a89[_0x2fa110(0x1c3,'T2*h')];}[_0x41c9a4(0x18b,'Wa)i')](_0x28da85){const _0x352a6b=_0x41c9a4,_0x22fcf={'vaJYB':function(_0x473228,_0x32a9f9){return _0x473228(_0x32a9f9);}},_0x483b12=this.#ci?{...CI_DEFAULTS,...this.#toClaudeSessionOptions(_0x28da85)}:this.#toClaudeSessionOptions(_0x28da85),_0x59741c=spawnClaudeBidirectional(_0x483b12,_0x22fcf[_0x352a6b(0x18f,'[oSN')](toClaudeAuth,_0x28da85[_0x352a6b(0x191,'enMx')]));return _0x28da85[_0x352a6b(0x192,'^UJv')]&&_0x59741c['events']['on'](_0x28da85[_0x352a6b(0x192,'^UJv')]),{'events':_0x59741c['events'],'sendTurn':_0x259416=>_0x59741c[_0x352a6b(0x1c9,']WbG')](_0x259416),'cancel':()=>{const _0x4b485e=_0x352a6b;try{_0x59741c['process'][_0x4b485e(0x1a4,'GuoK')]();}catch{}},'close':()=>_0x59741c['close'](),'result':_0x59741c[_0x352a6b(0x1d2,'BL4*')]};}[_0x41c9a4(0x1b2,'^L1&')](_0x2ff931){return{'mcpServers':_0x2ff931};}[_0x41c9a4(0x19c,'1Mm)')](_0x11833a){return _0x11833a;}#toClaudeSessionOptions(_0x4be066){const _0x5ce0f1=_0x41c9a4,_0x2b8f30={'xJrRi':function(_0xb006eb,_0x3e3713){return _0xb006eb!==_0x3e3713;},'rgyhu':function(_0x3b7443,_0x479054){return _0x3b7443!==_0x479054;},'JUtru':function(_0xd989c0,_0x4c4674){return _0xd989c0!==_0x4c4674;},'hynUW':function(_0x43a255,_0xf3a850){return _0x43a255!==_0xf3a850;},'KWTKz':_0x5ce0f1(0x1a5,'JCrv')},_0x46979b={};_0x2b8f30[_0x5ce0f1(0x18d,'fkdt')](_0x4be066[_0x5ce0f1(0x1c0,']BFC')],void 0x0)&&(_0x46979b[_0x5ce0f1(0x1c1,'GULU')]=_0x4be066['systemPrompt']);_0x2b8f30[_0x5ce0f1(0x1b5,'^UJv')](_0x4be066[_0x5ce0f1(0x19f,'K@DG')],void 0x0)&&(_0x46979b[_0x5ce0f1(0x1d0,'fT1o')]=_0x4be066[_0x5ce0f1(0x1a7,'Wa)i')]);_0x4be066['maxTurns']!==void 0x0&&(_0x46979b[_0x5ce0f1(0x1dd,'(GXW')]=_0x4be066[_0x5ce0f1(0x1ac,'ltuw')]);_0x2b8f30[_0x5ce0f1(0x196,'5^Vi')](_0x4be066[_0x5ce0f1(0x1bf,'8Hi$')],void 0x0)&&(_0x46979b[_0x5ce0f1(0x1a2,'AbBK')]=this[_0x5ce0f1(0x199,'1c&o')](_0x4be066['allowedTools']));_0x4be066[_0x5ce0f1(0x1d9,'GuoK')]!==void 0x0&&(_0x46979b[_0x5ce0f1(0x19d,'K@DG')]=this[_0x5ce0f1(0x1c5,'GuoK')](_0x4be066[_0x5ce0f1(0x1cf,'vG(i')])[_0x5ce0f1(0x195,'^L1&')]);_0x4be066[_0x5ce0f1(0x1a6,'E6Oz')]!==void 0x0&&(_0x46979b[_0x5ce0f1(0x1b4,'bQYb')]=_0x4be066[_0x5ce0f1(0x1b7,'eKfd')]);if(this.#ci)_0x46979b['env']={...CI_PAGER_ENV,..._0x4be066['env']??{}};else _0x2b8f30[_0x5ce0f1(0x1aa,'E6Oz')](_0x4be066[_0x5ce0f1(0x1d8,'zx2L')],void 0x0)&&(_0x46979b['env']=_0x4be066[_0x5ce0f1(0x1ad,'ecx#')]);return _0x4be066[_0x5ce0f1(0x1cb,'(GXW')]!==void 0x0&&(_0x46979b[_0x5ce0f1(0x1bb,'vG(i')]=_0x4be066[_0x5ce0f1(0x1ba,'bQYb')]),_0x2b8f30[_0x5ce0f1(0x1d1,'(8vJ')](_0x4be066[_0x5ce0f1(0x18c,'Ce&G')],void 0x0)&&(_0x46979b[_0x5ce0f1(0x1c4,'ltuw')]=_0x4be066['resume']),_0x2b8f30[_0x5ce0f1(0x1ab,'0[4p')](_0x4be066['language'],void 0x0)&&(_0x46979b[_0x5ce0f1(0x1af,'0C(q')]=_0x4be066['language']),_0x46979b['settingSources']=[_0x5ce0f1(0x1a1,'(GXW'),_0x2b8f30[_0x5ce0f1(0x1a8,'r]8S')]],_0x46979b;}#toClaudeOptions(_0x36b0c9){const _0x215c6b=_0x41c9a4;return{'prompt':_0x36b0c9[_0x215c6b(0x18e,'1c&o')],...this.#toClaudeSessionOptions(_0x36b0c9)};}}function _0x1368(_0x170051,_0x319d04){_0x170051=_0x170051-0x18a;const _0x522187=_0x5221();let _0x1368d7=_0x522187[_0x170051];if(_0x1368['rLSNYy']===undefined){var _0x2e0129=function(_0x5ea89e){const _0xa934c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ac100='',_0x2189b9='';for(let _0x1dd6fc=0x0,_0x39d496,_0x2ad9e4,_0x2d403d=0x0;_0x2ad9e4=_0x5ea89e['charAt'](_0x2d403d++);~_0x2ad9e4&&(_0x39d496=_0x1dd6fc%0x4?_0x39d496*0x40+_0x2ad9e4:_0x2ad9e4,_0x1dd6fc++%0x4)?_0x1ac100+=String['fromCharCode'](0xff&_0x39d496>>(-0x2*_0x1dd6fc&0x6)):0x0){_0x2ad9e4=_0xa934c2['indexOf'](_0x2ad9e4);}for(let _0x2f6f68=0x0,_0x1b37e7=_0x1ac100['length'];_0x2f6f68<_0x1b37e7;_0x2f6f68++){_0x2189b9+='%'+('00'+_0x1ac100['charCodeAt'](_0x2f6f68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2189b9);};const _0x4d301a=function(_0x137e66,_0xc4fca4){let _0x39932c=[],_0x28f402=0x0,_0x12aaca,_0x3cfdff='';_0x137e66=_0x2e0129(_0x137e66);let _0x24fb96;for(_0x24fb96=0x0;_0x24fb96<0x100;_0x24fb96++){_0x39932c[_0x24fb96]=_0x24fb96;}for(_0x24fb96=0x0;_0x24fb96<0x100;_0x24fb96++){_0x28f402=(_0x28f402+_0x39932c[_0x24fb96]+_0xc4fca4['charCodeAt'](_0x24fb96%_0xc4fca4['length']))%0x100,_0x12aaca=_0x39932c[_0x24fb96],_0x39932c[_0x24fb96]=_0x39932c[_0x28f402],_0x39932c[_0x28f402]=_0x12aaca;}_0x24fb96=0x0,_0x28f402=0x0;for(let _0x4a0ae2=0x0;_0x4a0ae2<_0x137e66['length'];_0x4a0ae2++){_0x24fb96=(_0x24fb96+0x1)%0x100,_0x28f402=(_0x28f402+_0x39932c[_0x24fb96])%0x100,_0x12aaca=_0x39932c[_0x24fb96],_0x39932c[_0x24fb96]=_0x39932c[_0x28f402],_0x39932c[_0x28f402]=_0x12aaca,_0x3cfdff+=String['fromCharCode'](_0x137e66['charCodeAt'](_0x4a0ae2)^_0x39932c[(_0x39932c[_0x24fb96]+_0x39932c[_0x28f402])%0x100]);}return _0x3cfdff;};_0x1368['QYboaf']=_0x4d301a,_0x1368['SKMPJN']={},_0x1368['rLSNYy']=!![];}const _0xcc0dab=_0x522187[0x0],_0x304e28=_0x170051+_0xcc0dab,_0x2f276d=_0x1368['SKMPJN'][_0x304e28];return!_0x2f276d?(_0x1368['JjYyKP']===undefined&&(_0x1368['JjYyKP']=!![]),_0x1368d7=_0x1368['QYboaf'](_0x1368d7,_0x319d04),_0x1368['SKMPJN'][_0x304e28]=_0x1368d7):_0x1368d7=_0x2f276d,_0x1368d7;}function getRuntime(_0x40a945=_0x41c9a4(0x1b1,']CYZ'),_0x2e35fe={}){const _0x405d3e=_0x41c9a4,_0x456496={'oSFyg':function(_0xc02eca,_0x5cdaad){return _0xc02eca(_0x5cdaad);}};switch(_0x40a945){case'claude-code':return new ClaudeRuntime({'ci':_0x2e35fe['ci']});case _0x405d3e(0x1d6,']CYZ'):throw new Error(_0x405d3e(0x1b6,'LJNJ'));default:{const _0x4f0df2=_0x40a945;throw new Error(_0x405d3e(0x1d3,'jDZG')+_0x456496[_0x405d3e(0x193,'zx2L')](String,_0x4f0df2));}}}function _0x5221(){const _0x2c7b84=['W6FdGSkZyCofAmkQwx1SWRPnW5dcUCkFsa','WRv/d3C4wq','z8k2W50wWRG','rupdISobW7VdSa','WQRdLdtdGaW','WOHkouWuDCoPCcOknMrfWRa','jNldP04','hCoChvBcGXuM','yY7dHCkSWO0','d8oPW5CgwmkEjIldTSo1W7hdPa','iSkeWOZcRKXHiSo9W6lcMW','WPFcPIBdG8kR','W7LvWOddNs4','iaTLW6LrW6eZtSk8W4fq','qupdHmocW7JdQmkpWQ0sCCo6sCo0osJcM1pdOZhdV8k9','vLyKW5RcSSoeWO8','vCk9WOradSoiEcpdSmo6W7y','WQ/cNSkkgtiFgCkuW7pdUM7dVmkiWR4wAe7cONLPdW','vfSrW7/cSSoyWO3cMGRdOa','WOZdQmozsIldQrtcGITUWQ8h','vfCfW4NcUW','rSkdBXBdN0jIBqFdTsDVEa','WQ3cQWDsW5xcO8kZ','cmodlSkLWRddGmoSmmo9W6/dS8kF','WRZdMbuyWQVdKmkUW4VcOqusWQybeW','hmouW5La','ACogWRRcG1m','W73dRrq','W7JdMmk5rSoa','vtddP8kAEa','uqNcJHT2A8kZW60MW7TPWRFdMq','W7BdOX7dISke','vSoWW7ZcNc0','kbPbBhWnW6/cIa','W4BcPbu','WQtcGCoSfmkEpSoXwhXQWObSW7G','AmoeW6BcSmo/W58vyq','W7NdQGtcSSoNmI/dSY5jWOu','W4pdTmkIWPCqFvBdQwTMWOa','lCksWPxcKu1En8oOW5pcH1lcQ2zi','WPJcQCo3W5fclbBdPM90WQP0','WPJdMu4','amoviuJcKW','W4niWOldPW7cQ1PkkmkzWOuxevHvW5zRW59gr1rWk8k+WP3dKCoKprldPCoxWQNdNHhcO8kkrmkCFCkp4OgjWOGmCapdGCkKkWldKhRdO8o1','WO7dT8kG','WP7dGfL7iqm','C0GpddbpWRNcRGFcN8oqWQuV','WOJdI1L9oGNcQcXV','W4BcUSkzcxJcTdFcMb8','WOldRCkon2tcNbVcVG','l1FcG8oIo2/cRLWFWOpcLMSqEW','W4i9W6u','p8ogsmkzWQFcICk8a8kREftdOW','W4VcRCoxWRtdP8kJAHaxsITM','W4vMoSkdEdRdQen+AbldUW','WRZcQqfZW5xcUq','W719WQZdLSoaW5O','nX5ktwqA','fCoiW5XaaSkqgSk9a01uiItcVa','WPZcVqBdUCkmtI7cP8kNyCo0W5JcVCoTuMBcJq','fSkFWOSvh8kl','W6ZdRX4','yCoXWOFcK8oWWOGMWOlcI8kDpa','WRSFWOrdWO5OxeBcIfFdSSoo','WQ7cVbTlW5NcR8kPymoX','WQ/cRehcQmoHBZddRsncWQjZWPC','j1/cGCoImgVdRq8IWO7cV3K','W5FcUSoHWRBdP8kGtG','W5JcVmkAkxtcQs/cTaLq','W4WZW7xcQCoS','or4BW5BcLa','lGX9WQdcMCot','ih4TWO82WP7dHCosWOdcJCoAuSkliCkDW5dcQq','WOFdQSkna1RcSJ7cOG','lSkaWPNcK11Eo8o8W7xcHa','W4/dQmkMWOWxDX/dRW','W5ddQSkSWPqDFb7dUa','ArpdTq','gSoEW4v/a8kVd8kOmLe','WQDSBCoUAHdcUZFcO8kvWROmbJ/cQCoTW4i','jgBdPW','WRldNH1vemksl8kVWOiFlCkRaa','WRdcUbbSW4xcSSkPwG','dCo7WQFcPSk/W4aQW5FcI8kOurC'];_0x5221=function(){return _0x2c7b84;};return _0x5221();}const PROVIDER_ENV_VAR={'anthropic':_0x41c9a4(0x1c6,'5^Vi'),'openai':_0x41c9a4(0x190,'Ce&G'),'openai-compatible':void 0x0,'custom':void 0x0},DEFAULT_MODEL_BY_PROVIDER={'anthropic':_0x41c9a4(0x1da,'8XFW'),'openai':_0x41c9a4(0x1b0,'E6Oz'),'openai-compatible':void 0x0,'custom':void 0x0};function resolveModel(_0x23cc75){const _0x191292=_0x41c9a4;return _0x23cc75[_0x191292(0x198,'W2GZ')]??_0x23cc75[_0x191292(0x1d5,'^L1&')]??DEFAULT_MODEL_BY_PROVIDER[_0x23cc75[_0x191292(0x1d7,']CYZ')]];}export{ClaudeRuntime,DEFAULT_MODEL_BY_PROVIDER,PROVIDER_ENV_VAR,getRuntime,resolveModel};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yoloship/ai",
3
3
  "type": "module",
4
- "version": "0.2.0-beta.2",
4
+ "version": "0.2.0-beta.3",
5
5
  "private": false,
6
6
  "description": "Yoloship AI — runtime-agnostic coding-agent orchestration layer (consumes @yoloship/claude-sdk today, opencode next)",
7
7
  "author": "Yoloship Team <team@yoloship.dev>",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "zod": "^4.4.3",
36
- "@yoloship/claude-sdk": "0.2.0-beta.2"
36
+ "@yoloship/claude-sdk": "0.2.0-beta.3"
37
37
  },
38
38
  "devDependencies": {
39
39
  "cross-env": "^10.1.0",