@yoloship/ai 0.1.0 → 0.2.0-beta.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/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { EventStream, ClaudeEvent, SpawnResult, McpServerConfig } from '@yoloship/claude-sdk';
2
- export { EventStream, ClaudeEvent as RuntimeEvent, SpawnResult, classifyEvent, extractFileChange, isErrorEvent, isFileChangedEvent, isOutputEvent, isResultEvent, isThinkingEvent, isToolUseEvent, normalizeEvent } from '@yoloship/claude-sdk';
1
+ import { EventStream, ClaudeEvent, SpawnResult, McpServerConfig, ClaudeLanguage } from '@yoloship/claude-sdk';
2
+ export { EventStream, ClaudeEvent as RuntimeEvent, SpawnResult, ToolResultEvent, ToolUseEvent, classifyEvent, extractFileChange, isErrorEvent, isFileChangedEvent, isOutputEvent, isResultEvent, isThinkingEvent, isToolResultEvent, isToolUseEvent, normalizeEvent } from '@yoloship/claude-sdk';
3
3
 
4
4
  type RuntimeEvent = ClaudeEvent;
5
5
  type RuntimeProvider = 'anthropic' | 'openai' | 'openai-compatible' | 'custom';
@@ -22,6 +22,16 @@ interface RunOptions {
22
22
  sessionId?: string;
23
23
  /** Resume a prior CLI session by id (Claude `--resume`). */
24
24
  resume?: string;
25
+ /**
26
+ * Response language for textual outputs (logs, PR comments, reviews).
27
+ * Forwarded to the underlying runtime which injects a "respond in X"
28
+ * directive into the system prompt. Code identifiers must stay in English —
29
+ * enforced by an invariant injected from `@yoloship/action` agent prompts.
30
+ *
31
+ * Future runtimes (opencode, Codex) implement their own mapping or prompt
32
+ * injection; the field stays at the runtime-agnostic level.
33
+ */
34
+ language?: ClaudeLanguage;
25
35
  /** Called for every event emitted while the run is in progress. */
26
36
  onEvent?: (event: RuntimeEvent) => void;
27
37
  }
@@ -80,6 +90,14 @@ declare const PROVIDER_ENV_VAR: Record<RuntimeProvider, string | undefined>;
80
90
  /**
81
91
  * Default model id for each provider. Used when neither the per-agent
82
92
  * `model` nor the run-level `model` override is set.
93
+ *
94
+ * NOT typed against `AnthropicModel`/`OpenaiModel` from @yoloship/shared:
95
+ * shared is `private: true` and @yoloship/ai is published, so a workspace
96
+ * dep here would break the publish chain. Drift protection lives in
97
+ * @yoloship/action's `validateRunLevelModel` (which DOES check the catalog)
98
+ * and in `agentProviderOverrideSchema` for per-agent overrides — by the
99
+ * time these defaults are observed, the run-level model has already been
100
+ * validated upstream.
83
101
  */
84
102
  declare const DEFAULT_MODEL_BY_PROVIDER: Record<RuntimeProvider, string | undefined>;
85
103
  /**
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { EventStream, ClaudeEvent, SpawnResult, McpServerConfig } from '@yoloship/claude-sdk';
2
- export { EventStream, ClaudeEvent as RuntimeEvent, SpawnResult, classifyEvent, extractFileChange, isErrorEvent, isFileChangedEvent, isOutputEvent, isResultEvent, isThinkingEvent, isToolUseEvent, normalizeEvent } from '@yoloship/claude-sdk';
1
+ import { EventStream, ClaudeEvent, SpawnResult, McpServerConfig, ClaudeLanguage } from '@yoloship/claude-sdk';
2
+ export { EventStream, ClaudeEvent as RuntimeEvent, SpawnResult, ToolResultEvent, ToolUseEvent, classifyEvent, extractFileChange, isErrorEvent, isFileChangedEvent, isOutputEvent, isResultEvent, isThinkingEvent, isToolResultEvent, isToolUseEvent, normalizeEvent } from '@yoloship/claude-sdk';
3
3
 
4
4
  type RuntimeEvent = ClaudeEvent;
5
5
  type RuntimeProvider = 'anthropic' | 'openai' | 'openai-compatible' | 'custom';
@@ -22,6 +22,16 @@ interface RunOptions {
22
22
  sessionId?: string;
23
23
  /** Resume a prior CLI session by id (Claude `--resume`). */
24
24
  resume?: string;
25
+ /**
26
+ * Response language for textual outputs (logs, PR comments, reviews).
27
+ * Forwarded to the underlying runtime which injects a "respond in X"
28
+ * directive into the system prompt. Code identifiers must stay in English —
29
+ * enforced by an invariant injected from `@yoloship/action` agent prompts.
30
+ *
31
+ * Future runtimes (opencode, Codex) implement their own mapping or prompt
32
+ * injection; the field stays at the runtime-agnostic level.
33
+ */
34
+ language?: ClaudeLanguage;
25
35
  /** Called for every event emitted while the run is in progress. */
26
36
  onEvent?: (event: RuntimeEvent) => void;
27
37
  }
@@ -80,6 +90,14 @@ declare const PROVIDER_ENV_VAR: Record<RuntimeProvider, string | undefined>;
80
90
  /**
81
91
  * Default model id for each provider. Used when neither the per-agent
82
92
  * `model` nor the run-level `model` override is set.
93
+ *
94
+ * NOT typed against `AnthropicModel`/`OpenaiModel` from @yoloship/shared:
95
+ * shared is `private: true` and @yoloship/ai is published, so a workspace
96
+ * dep here would break the publish chain. Drift protection lives in
97
+ * @yoloship/action's `validateRunLevelModel` (which DOES check the catalog)
98
+ * and in `agentProviderOverrideSchema` for per-agent overrides — by the
99
+ * time these defaults are observed, the run-level model has already been
100
+ * validated upstream.
83
101
  */
84
102
  declare const DEFAULT_MODEL_BY_PROVIDER: Record<RuntimeProvider, string | undefined>;
85
103
  /**
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x3ae0b4=_0x4a30;(function(_0x69388a,_0x5724e8){const _0x527072=_0x4a30,_0x13e561=_0x69388a();while(!![]){try{const _0x5a2fea=-parseInt(_0x527072(0x1ad,'2i0I'))/0x1*(-parseInt(_0x527072(0x1ab,'KweD'))/0x2)+parseInt(_0x527072(0x1d5,'f*eX'))/0x3*(-parseInt(_0x527072(0x1f6,'Ve57'))/0x4)+-parseInt(_0x527072(0x1e0,'c!Ta'))/0x5+parseInt(_0x527072(0x1b9,'uyBp'))/0x6*(-parseInt(_0x527072(0x1d8,'OBaR'))/0x7)+parseInt(_0x527072(0x1d7,'NfTK'))/0x8+-parseInt(_0x527072(0x1f3,'2i0I'))/0x9+parseInt(_0x527072(0x1d0,'p@*i'))/0xa;if(_0x5a2fea===_0x5724e8)break;else _0x13e561['push'](_0x13e561['shift']());}catch(_0x4bb921){_0x13e561['push'](_0x13e561['shift']());}}}(_0x2932,0x6458e));import{ensureClaude,spawnClaude,spawnClaudeBidirectional}from'@yoloship/claude-sdk';export{EventStream,classifyEvent,extractFileChange,isErrorEvent,isFileChangedEvent,isOutputEvent,isResultEvent,isThinkingEvent,isToolUseEvent,normalizeEvent}from'@yoloship/claude-sdk';const CI_DEFAULTS={'dangerouslySkipPermissions':!![],'attribution':{'commit':'','pr':''},'autoMemoryEnabled':![]},CI_PAGER_ENV={'GIT_PAGER':_0x3ae0b4(0x1c8,'8afo'),'GH_PAGER':'cat','PAGER':_0x3ae0b4(0x1de,'idxG')};function toClaudeAuth(_0x1a703e){const _0x31e7d0=_0x3ae0b4;if(!_0x1a703e)return void 0x0;return{'apiKey':_0x1a703e[_0x31e7d0(0x1b8,'Ve57')]};}function _0x4a30(_0x164afb,_0x5b7e6f){_0x164afb=_0x164afb-0x1a9;const _0x2932b4=_0x2932();let _0x4a3012=_0x2932b4[_0x164afb];if(_0x4a30['IHfpJD']===undefined){var _0x4bdd42=function(_0x6210ca){const _0x4cece5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a8999='',_0xc61985='';for(let _0x164d87=0x0,_0x56d5aa,_0x2980b9,_0x20ba2b=0x0;_0x2980b9=_0x6210ca['charAt'](_0x20ba2b++);~_0x2980b9&&(_0x56d5aa=_0x164d87%0x4?_0x56d5aa*0x40+_0x2980b9:_0x2980b9,_0x164d87++%0x4)?_0x4a8999+=String['fromCharCode'](0xff&_0x56d5aa>>(-0x2*_0x164d87&0x6)):0x0){_0x2980b9=_0x4cece5['indexOf'](_0x2980b9);}for(let _0xd9a872=0x0,_0x391307=_0x4a8999['length'];_0xd9a872<_0x391307;_0xd9a872++){_0xc61985+='%'+('00'+_0x4a8999['charCodeAt'](_0xd9a872)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc61985);};const _0xb6020c=function(_0x50a4a9,_0x2eb2fc){let _0x3c1669=[],_0x1619a3=0x0,_0xefd408,_0x1144f9='';_0x50a4a9=_0x4bdd42(_0x50a4a9);let _0x1f63fa;for(_0x1f63fa=0x0;_0x1f63fa<0x100;_0x1f63fa++){_0x3c1669[_0x1f63fa]=_0x1f63fa;}for(_0x1f63fa=0x0;_0x1f63fa<0x100;_0x1f63fa++){_0x1619a3=(_0x1619a3+_0x3c1669[_0x1f63fa]+_0x2eb2fc['charCodeAt'](_0x1f63fa%_0x2eb2fc['length']))%0x100,_0xefd408=_0x3c1669[_0x1f63fa],_0x3c1669[_0x1f63fa]=_0x3c1669[_0x1619a3],_0x3c1669[_0x1619a3]=_0xefd408;}_0x1f63fa=0x0,_0x1619a3=0x0;for(let _0x7c9d22=0x0;_0x7c9d22<_0x50a4a9['length'];_0x7c9d22++){_0x1f63fa=(_0x1f63fa+0x1)%0x100,_0x1619a3=(_0x1619a3+_0x3c1669[_0x1f63fa])%0x100,_0xefd408=_0x3c1669[_0x1f63fa],_0x3c1669[_0x1f63fa]=_0x3c1669[_0x1619a3],_0x3c1669[_0x1619a3]=_0xefd408,_0x1144f9+=String['fromCharCode'](_0x50a4a9['charCodeAt'](_0x7c9d22)^_0x3c1669[(_0x3c1669[_0x1f63fa]+_0x3c1669[_0x1619a3])%0x100]);}return _0x1144f9;};_0x4a30['XjoFiM']=_0xb6020c,_0x4a30['bJmnAz']={},_0x4a30['IHfpJD']=!![];}const _0x4c417b=_0x2932b4[0x0],_0x26f86a=_0x164afb+_0x4c417b,_0x214373=_0x4a30['bJmnAz'][_0x26f86a];return!_0x214373?(_0x4a30['iRYChe']===undefined&&(_0x4a30['iRYChe']=!![]),_0x4a3012=_0x4a30['XjoFiM'](_0x4a3012,_0x5b7e6f),_0x4a30['bJmnAz'][_0x26f86a]=_0x4a3012):_0x4a3012=_0x214373,_0x4a3012;}class ClaudeRuntime{['id']=_0x3ae0b4(0x1da,'5lkq');#ci;constructor(_0x336c56={}){this.#ci=_0x336c56['ci']??![];}async[_0x3ae0b4(0x1d2,'lhtD')](_0x427cdc){await ensureClaude(_0x427cdc);}[_0x3ae0b4(0x1f5,'hTSx')](_0x26d920){const _0x17640b=_0x3ae0b4,_0x31a8c3={'emAVs':function(_0x29fe9d,_0x10d3e3,_0x585a09){return _0x29fe9d(_0x10d3e3,_0x585a09);},'VzMaL':function(_0x188461,_0x71c672){return _0x188461(_0x71c672);}},_0x506002=this.#ci?{...CI_DEFAULTS,...this.#toClaudeOptions(_0x26d920)}:this.#toClaudeOptions(_0x26d920),_0x3795b2=_0x31a8c3['emAVs'](spawnClaude,_0x506002,_0x31a8c3[_0x17640b(0x1b6,'g&2h')](toClaudeAuth,_0x26d920['auth']));return _0x26d920[_0x17640b(0x1bc,'zvtt')]&&_0x3795b2[_0x17640b(0x1af,'$S8r')]['on'](_0x26d920[_0x17640b(0x1e2,'g&2h')]),_0x3795b2[_0x17640b(0x1db,'AJ]H')];}[_0x3ae0b4(0x1d9,'MUId')](_0x45e320){const _0xaa51de=_0x3ae0b4,_0xad6ae5={'Yqefa':function(_0x1c13bc,_0xec5223,_0x5669d2){return _0x1c13bc(_0xec5223,_0x5669d2);}},_0x14d875=this.#ci?{...CI_DEFAULTS,...this.#toClaudeSessionOptions(_0x45e320)}:this.#toClaudeSessionOptions(_0x45e320),_0x2c1a3a=_0xad6ae5[_0xaa51de(0x1c6,'$S8r')](spawnClaudeBidirectional,_0x14d875,toClaudeAuth(_0x45e320[_0xaa51de(0x1e8,'4$ac')]));return _0x45e320['onEvent']&&_0x2c1a3a[_0xaa51de(0x1c7,'zwAi')]['on'](_0x45e320[_0xaa51de(0x1cc,'PPv)')]),{'events':_0x2c1a3a[_0xaa51de(0x1df,'Qnt8')],'sendTurn':_0x1b7f29=>_0x2c1a3a[_0xaa51de(0x1f0,'Qnt8')](_0x1b7f29),'cancel':()=>{const _0x4de8ac=_0xaa51de;try{_0x2c1a3a['process'][_0x4de8ac(0x1c1,'g&2h')]();}catch{}},'close':()=>_0x2c1a3a[_0xaa51de(0x1f7,']W#@')](),'result':_0x2c1a3a[_0xaa51de(0x1f4,'PPv)')]};}[_0x3ae0b4(0x1b3,'w^(%')](_0xc2ec03){return{'mcpServers':_0xc2ec03};}['translateAllowedTools'](_0x5b8c75){return _0x5b8c75;}#toClaudeSessionOptions(_0x236a38){const _0x71bb40=_0x3ae0b4,_0x201d03={'GYZtF':function(_0x339fea,_0x6c086e){return _0x339fea!==_0x6c086e;},'jMoUT':function(_0x3e6f55,_0xe56a89){return _0x3e6f55!==_0xe56a89;}},_0x5ac921={};_0x201d03[_0x71bb40(0x1e3,'idxG')](_0x236a38[_0x71bb40(0x1e1,']W#@')],void 0x0)&&(_0x5ac921[_0x71bb40(0x1c2,'c!Ta')]=_0x236a38[_0x71bb40(0x1bf,'h(M8')]);_0x236a38[_0x71bb40(0x1aa,'DFtY')]!==void 0x0&&(_0x5ac921[_0x71bb40(0x1b0,'ecpl')]=_0x236a38['model']);_0x201d03['GYZtF'](_0x236a38['maxTurns'],void 0x0)&&(_0x5ac921[_0x71bb40(0x1c9,'NfTK')]=_0x236a38[_0x71bb40(0x1e4,']W#@')]);_0x201d03[_0x71bb40(0x1d6,'w^(%')](_0x236a38[_0x71bb40(0x1d1,'DFtY')],void 0x0)&&(_0x5ac921[_0x71bb40(0x1dc,'POWZ')]=this[_0x71bb40(0x1c4,'$S8r')](_0x236a38[_0x71bb40(0x1ee,'h(M8')]));_0x236a38[_0x71bb40(0x1ae,'ecpl')]!==void 0x0&&(_0x5ac921[_0x71bb40(0x1ae,'ecpl')]=this['buildMcpConfig'](_0x236a38[_0x71bb40(0x1a9,'3gq[')])[_0x71bb40(0x1e9,'Iy3*')]);_0x201d03[_0x71bb40(0x1ba,'MUId')](_0x236a38[_0x71bb40(0x1b5,'q9r*')],void 0x0)&&(_0x5ac921[_0x71bb40(0x1f1,'*3s2')]=_0x236a38[_0x71bb40(0x1ef,'zwAi')]);if(this.#ci)_0x5ac921['env']={...CI_PAGER_ENV,..._0x236a38[_0x71bb40(0x1e7,'V8X]')]??{}};else _0x201d03['GYZtF'](_0x236a38[_0x71bb40(0x1d3,'MUId')],void 0x0)&&(_0x5ac921[_0x71bb40(0x1cf,'AJ]H')]=_0x236a38['env']);return _0x236a38[_0x71bb40(0x1ac,'Iy3*')]!==void 0x0&&(_0x5ac921[_0x71bb40(0x1c3,'1$Mg')]=_0x236a38[_0x71bb40(0x1cd,'2i0I')]),_0x201d03[_0x71bb40(0x1ec,'p@*i')](_0x236a38[_0x71bb40(0x1ed,'YT2X')],void 0x0)&&(_0x5ac921['resume']=_0x236a38[_0x71bb40(0x1b2,'$!E6')]),_0x5ac921[_0x71bb40(0x1cb,'CI*e')]=[_0x71bb40(0x1bd,'AJ]H'),'local'],_0x5ac921;}#toClaudeOptions(_0x216c37){const _0x3675fb=_0x3ae0b4;return{'prompt':_0x216c37[_0x3675fb(0x1eb,'idd^')],...this.#toClaudeSessionOptions(_0x216c37)};}}function getRuntime(_0x5ed5bd=_0x3ae0b4(0x1e6,'p@*i'),_0x5f39f6={}){const _0x3bb403=_0x3ae0b4,_0x2323b9={'rOdOb':'opencode','LOKxi':function(_0x2e2da0,_0xc25f80){return _0x2e2da0(_0xc25f80);}};switch(_0x5ed5bd){case _0x3bb403(0x1ce,'OBaR'):return new ClaudeRuntime({'ci':_0x5f39f6['ci']});case _0x2323b9['rOdOb']:throw new Error(_0x3bb403(0x1bb,'g&2h'));default:{const _0x5e5f86=_0x5ed5bd;throw new Error('Unknown\x20runtime:\x20'+_0x2323b9['LOKxi'](String,_0x5e5f86));}}}const PROVIDER_ENV_VAR={'anthropic':_0x3ae0b4(0x1b1,'V8X]'),'openai':_0x3ae0b4(0x1c5,'YT2X'),'openai-compatible':void 0x0,'custom':void 0x0},DEFAULT_MODEL_BY_PROVIDER={'anthropic':_0x3ae0b4(0x1c0,'CI*e'),'openai':_0x3ae0b4(0x1b7,'PPv)'),'openai-compatible':void 0x0,'custom':void 0x0};function _0x2932(){const _0x18134f=['EcBcPSoBsG','WPFcKJFdPtBcM8oSW5q','W4VcVHdcUshdSJpcOCoQw0bxdq','BcvQWRNdI8k7WOm6lcVcMW','WPFdJ1C','tmoGW6Hl','qJroq1ynEmoDW4FcTa','qHxdVueBp8k0E8ofhCoSqa','rtCJWRjUW5C','zqrKWPNdUW','daJdKe3dLx8','WRSgWR5GhCkEWPJdG1FcOGi7','mJhcJq','bCkAoJz+rSoGW4ZcVSkSFq','WPPTWRy','WR0JqmkYWQJdQCoYW5VdO1y','WPxdUb3cKCo8W4RdPHm0dJlcNHS','buhcUa1gEq','WQ4XsW','f1RdI8k7AY9eWRH5WQSu','WPNcNYddGIy','W6X8WPyvW6BcK8oGhZdcOG','q8kIWRqrzq','W6CwBCoxhCoEW4mVW7rpW5i','xdjny1OqymoXW5e','WPxdTMJdGSkAWPxcUt4','oCkbWQdcKL1PsZqAyG','xCkpW7hdRmkjWQ8','oCknWRtcPfq','WRpdR3xdTIxcMmkDsmoRWO7cQSopytddGazH','vmojWP/cJsqZ','wxaoqMDMWOmqW5VcN0HiACo+','BZJdTGiaWQFdVSkB','brO5','W7y1W4LdiG','eftcV1uF','rb3cKCoanJ8','ixFdLvFdMexcUYxcK8o5','W7WyW4tdUSo5','W48/W6fmdCozW43dMw7cLtBdQeVdHKz3vmocx8ofW6BcJSoNk8kpWQtdLCoHddDqsf8IzCkOWO5OW5XE4OkPW6uQjr7cI2TvW6lcGGzTAG','W7RdVdL5W4L7mq','W61YWQ4/W7VdTKO','W67dPSo4W7KRwSoQW65vWPy','WQKtWQf7d8kwWQZdPvFcOb48','wCkGWRddHNxdTcuEwCoxWPVdNIzMxCkdfW','W4SMW6Ho','ueZdSctdSdKCW6yzj8k3W4O','yYBdS8oNWOJdM8opWQLK','tmklW7xdRmkoWRddJSkLW6KrW6nDuSk8W4TTW4/cNYRdP8oP','mt3dPNBdUvpdOLqaW7KPW7hcJSoz','yCkiW7hdPmkC','nddcJmk3smoX','xeuf','gmkLE8k8W5tcOHfM','W4pcLbldIXVcPCkzA8oK','sCkPWQxdH3JdV28+wComWOFdMdC4','geRcJG5py8kI','W5FcPfZdK8kHWPxcUtii','WPNdOetdV3lcPY7cKColCgG','W7HUWRC','pNO4W73cMCoQWPXPedVcNwDsDq','t8kHWRWBFI/dISkzFCkNxdm','WRZcSmk/WRSata','W54VW6G','rHFdUeKCoCoKmSoZbmofE8kWWOO','W7JcLCkzjdtdTr7cKMO','uuGiE1C','qmo1nCorWPddOH1SW5JcLZRcVa','W43cTbhcVu/cSuhcUmo8qa','W4K0W7ddJmowW68Nv8kRW4jXnmo6W5qxWPi','f8kTWPVdOSkzuMTJW47dGNC','W69LWRiGW7ldOq','W6tcTaBdICowW60OWQO8WQS4W6e','bhX8W61hW7ekW4JdI1u','xb7cIa','e8kjmtXhua','eGFcTMpcOMr8W4C4bCkkW5Hl','WONcIJZdHsBcHmosW5v5BSk6WQa','W48HW4fuc8oyW50'];_0x2932=function(){return _0x18134f;};return _0x2932();}function resolveModel(_0x46c2d9){const _0x2bae81=_0x3ae0b4;return _0x46c2d9['runOverride']??_0x46c2d9[_0x2bae81(0x1f2,'hTSx')]??DEFAULT_MODEL_BY_PROVIDER[_0x46c2d9[_0x2bae81(0x1b4,'b9Vo')]];}export{ClaudeRuntime,DEFAULT_MODEL_BY_PROVIDER,PROVIDER_ENV_VAR,getRuntime,resolveModel};
1
+ const _0x5e0e75=_0x3af4;(function(_0x25ec91,_0x5d6529){const _0x18e716=_0x3af4,_0x1051f8=_0x25ec91();while(!![]){try{const _0x307872=parseInt(_0x18e716(0x156,'$ja&'))/0x1*(-parseInt(_0x18e716(0x117,'#JrT'))/0x2)+parseInt(_0x18e716(0x140,'7!7i'))/0x3+parseInt(_0x18e716(0x130,'698j'))/0x4+parseInt(_0x18e716(0x15a,'VYMp'))/0x5*(-parseInt(_0x18e716(0x163,'x]8e'))/0x6)+-parseInt(_0x18e716(0x129,'EP1V'))/0x7+-parseInt(_0x18e716(0x116,'ej#J'))/0x8+parseInt(_0x18e716(0x11b,'(!!h'))/0x9;if(_0x307872===_0x5d6529)break;else _0x1051f8['push'](_0x1051f8['shift']());}catch(_0x203934){_0x1051f8['push'](_0x1051f8['shift']());}}}(_0x4984,0xf36e2));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':'cat','GH_PAGER':_0x5e0e75(0x143,'@pLu'),'PAGER':_0x5e0e75(0x160,'Fg@r')};function toClaudeAuth(_0x17be82){const _0x9d75ae=_0x5e0e75;if(!_0x17be82)return void 0x0;return{'apiKey':_0x17be82[_0x9d75ae(0x12c,'Qc!6')]};}class ClaudeRuntime{['id']=_0x5e0e75(0x168,'Qc!6');#ci;constructor(_0x2cb729={}){this.#ci=_0x2cb729['ci']??![];}async[_0x5e0e75(0x145,'VYMp')](_0x43faad){await ensureClaude(_0x43faad);}[_0x5e0e75(0x128,'5oM&')](_0x48badf){const _0x4e5b7d=_0x5e0e75,_0x2971df=this.#ci?{...CI_DEFAULTS,...this.#toClaudeOptions(_0x48badf)}:this.#toClaudeOptions(_0x48badf),_0x12fb1c=spawnClaude(_0x2971df,toClaudeAuth(_0x48badf[_0x4e5b7d(0x165,'1u$a')]));return _0x48badf[_0x4e5b7d(0x12a,'(1^b')]&&_0x12fb1c[_0x4e5b7d(0x15f,'x]8e')]['on'](_0x48badf[_0x4e5b7d(0x159,'Fg@r')]),_0x12fb1c[_0x4e5b7d(0x115,'(!!h')];}[_0x5e0e75(0x13a,'$ja&')](_0x1cef0a){const _0x46216d=_0x5e0e75,_0x34613a={'zRQko':function(_0x2c07fb,_0x183a28){return _0x2c07fb(_0x183a28);}},_0x379af3=this.#ci?{...CI_DEFAULTS,...this.#toClaudeSessionOptions(_0x1cef0a)}:this.#toClaudeSessionOptions(_0x1cef0a),_0x406112=spawnClaudeBidirectional(_0x379af3,_0x34613a[_0x46216d(0x15c,'6JgT')](toClaudeAuth,_0x1cef0a[_0x46216d(0x13e,'Nr60')]));return _0x1cef0a['onEvent']&&_0x406112['events']['on'](_0x1cef0a[_0x46216d(0x132,'VYMp')]),{'events':_0x406112[_0x46216d(0x123,'@acF')],'sendTurn':_0x9b7fe1=>_0x406112[_0x46216d(0x11c,'vkbR')](_0x9b7fe1),'cancel':()=>{const _0x34cd4a=_0x46216d;try{_0x406112[_0x34cd4a(0x124,'f&W1')]['kill']();}catch{}},'close':()=>_0x406112['close'](),'result':_0x406112[_0x46216d(0x12f,'**N6')]};}[_0x5e0e75(0x161,'(!!h')](_0x29f716){return{'mcpServers':_0x29f716};}['translateAllowedTools'](_0xecfdae){return _0xecfdae;}#toClaudeSessionOptions(_0x54a6c1){const _0x43f283=_0x5e0e75,_0x4e35d3={'kjCRJ':function(_0x31b017,_0x3d0c04){return _0x31b017!==_0x3d0c04;},'ZBKiI':function(_0x3e97bf,_0x5e7faa){return _0x3e97bf!==_0x5e7faa;},'TrWkP':_0x43f283(0x14a,'2hkE'),'AqPUQ':_0x43f283(0x150,'Fg@r')},_0x51eb24={};_0x4e35d3[_0x43f283(0x122,'l1no')](_0x54a6c1[_0x43f283(0x119,'%Fhr')],void 0x0)&&(_0x51eb24[_0x43f283(0x141,'698j')]=_0x54a6c1[_0x43f283(0x16a,'@acF')]);_0x4e35d3[_0x43f283(0x137,'5NRn')](_0x54a6c1[_0x43f283(0x14e,'vkbR')],void 0x0)&&(_0x51eb24[_0x43f283(0x15b,'dC0P')]=_0x54a6c1[_0x43f283(0x148,'Fg@r')]);_0x54a6c1[_0x43f283(0x158,'$ja&')]!==void 0x0&&(_0x51eb24[_0x43f283(0x162,'4FXU')]=_0x54a6c1['maxTurns']);_0x54a6c1[_0x43f283(0x166,'1u$a')]!==void 0x0&&(_0x51eb24[_0x43f283(0x16b,'xaOE')]=this[_0x43f283(0x139,'VLo@')](_0x54a6c1[_0x43f283(0x14c,'520z')]));_0x4e35d3[_0x43f283(0x144,'Z5of')](_0x54a6c1[_0x43f283(0x13d,'vkbR')],void 0x0)&&(_0x51eb24[_0x43f283(0x11f,'AMG2')]=this[_0x43f283(0x118,'dC0P')](_0x54a6c1['mcpServers'])[_0x43f283(0x169,'[%Ts')]);_0x4e35d3[_0x43f283(0x146,'6mWK')](_0x54a6c1['cwd'],void 0x0)&&(_0x51eb24[_0x43f283(0x13f,'%i#a')]=_0x54a6c1[_0x43f283(0x15e,'@pLu')]);if(this.#ci)_0x51eb24[_0x43f283(0x131,'4FXU')]={...CI_PAGER_ENV,..._0x54a6c1[_0x43f283(0x164,'ej#J')]??{}};else _0x54a6c1[_0x43f283(0x13b,'#JrT')]!==void 0x0&&(_0x51eb24['env']=_0x54a6c1[_0x43f283(0x157,'7!7i')]);return _0x54a6c1[_0x43f283(0x16d,'c0]s')]!==void 0x0&&(_0x51eb24[_0x43f283(0x126,'s1wv')]=_0x54a6c1[_0x43f283(0x138,'o1G6')]),_0x4e35d3[_0x43f283(0x151,'iJt(')](_0x54a6c1[_0x43f283(0x11a,'ej#J')],void 0x0)&&(_0x51eb24[_0x43f283(0x152,'a2%t')]=_0x54a6c1['resume']),_0x54a6c1[_0x43f283(0x12d,'wW9%')]!==void 0x0&&(_0x51eb24[_0x43f283(0x14f,'Qc!6')]=_0x54a6c1[_0x43f283(0x125,'0EA(')]),_0x51eb24[_0x43f283(0x120,'o1G6')]=[_0x4e35d3[_0x43f283(0x136,'7*Nd')],_0x4e35d3['AqPUQ']],_0x51eb24;}#toClaudeOptions(_0x3298f0){const _0x2d9c39=_0x5e0e75;return{'prompt':_0x3298f0[_0x2d9c39(0x15d,'f&W1')],...this.#toClaudeSessionOptions(_0x3298f0)};}}function _0x3af4(_0x2cfb41,_0x43d9ef){_0x2cfb41=_0x2cfb41-0x115;const _0x49847f=_0x4984();let _0x3af4db=_0x49847f[_0x2cfb41];if(_0x3af4['BoEUMt']===undefined){var _0x2c1b25=function(_0x58f2fd){const _0x5c79b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5418db='',_0x143f50='';for(let _0x523cbd=0x0,_0x1964cf,_0x4999ed,_0x40249e=0x0;_0x4999ed=_0x58f2fd['charAt'](_0x40249e++);~_0x4999ed&&(_0x1964cf=_0x523cbd%0x4?_0x1964cf*0x40+_0x4999ed:_0x4999ed,_0x523cbd++%0x4)?_0x5418db+=String['fromCharCode'](0xff&_0x1964cf>>(-0x2*_0x523cbd&0x6)):0x0){_0x4999ed=_0x5c79b8['indexOf'](_0x4999ed);}for(let _0x191d94=0x0,_0x3722df=_0x5418db['length'];_0x191d94<_0x3722df;_0x191d94++){_0x143f50+='%'+('00'+_0x5418db['charCodeAt'](_0x191d94)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x143f50);};const _0x3b54d9=function(_0x3e5863,_0x3af774){let _0x52061c=[],_0x1549cc=0x0,_0x1dab9b,_0x5a557f='';_0x3e5863=_0x2c1b25(_0x3e5863);let _0x7490a9;for(_0x7490a9=0x0;_0x7490a9<0x100;_0x7490a9++){_0x52061c[_0x7490a9]=_0x7490a9;}for(_0x7490a9=0x0;_0x7490a9<0x100;_0x7490a9++){_0x1549cc=(_0x1549cc+_0x52061c[_0x7490a9]+_0x3af774['charCodeAt'](_0x7490a9%_0x3af774['length']))%0x100,_0x1dab9b=_0x52061c[_0x7490a9],_0x52061c[_0x7490a9]=_0x52061c[_0x1549cc],_0x52061c[_0x1549cc]=_0x1dab9b;}_0x7490a9=0x0,_0x1549cc=0x0;for(let _0x1ca95b=0x0;_0x1ca95b<_0x3e5863['length'];_0x1ca95b++){_0x7490a9=(_0x7490a9+0x1)%0x100,_0x1549cc=(_0x1549cc+_0x52061c[_0x7490a9])%0x100,_0x1dab9b=_0x52061c[_0x7490a9],_0x52061c[_0x7490a9]=_0x52061c[_0x1549cc],_0x52061c[_0x1549cc]=_0x1dab9b,_0x5a557f+=String['fromCharCode'](_0x3e5863['charCodeAt'](_0x1ca95b)^_0x52061c[(_0x52061c[_0x7490a9]+_0x52061c[_0x1549cc])%0x100]);}return _0x5a557f;};_0x3af4['RckUIr']=_0x3b54d9,_0x3af4['PJOVFV']={},_0x3af4['BoEUMt']=!![];}const _0x330cd8=_0x49847f[0x0],_0x1c24d0=_0x2cfb41+_0x330cd8,_0x14fd16=_0x3af4['PJOVFV'][_0x1c24d0];return!_0x14fd16?(_0x3af4['IeiyGm']===undefined&&(_0x3af4['IeiyGm']=!![]),_0x3af4db=_0x3af4['RckUIr'](_0x3af4db,_0x43d9ef),_0x3af4['PJOVFV'][_0x1c24d0]=_0x3af4db):_0x3af4db=_0x14fd16,_0x3af4db;}function _0x4984(){const _0xecd3c7=['WQdcGCkaW7pcPCo2vwS','W4KWmH3cJh7cGCkAsq','WRz+W6RcP8kRW6vPoHW5cva','F35V','wmk4aMnbl8obW7uYeMrTfq','wstdQ8omtCoJWOm','WRRdTd1eWQhcM8oyWPf6WO4SAmkHcaHvfW','WQ1/WPWKWPmS','agrCW6JcOK9KkW','E8o1AqPZW5FdQ1ddK0OlWRdcRKpdVdlcPW','mWTcqwdcIG','WP03oJhdLSoXW70IlL5TW4DL','WOZdGCko','eSouWOFdVJaqkG','WONcK8kytJJdQMPwgSopWRRdPSoEW6S','W5VdGv3dMeDAWRxdTY1LW4TCWQ9x','WRtdNZzqWQCEsSkzaxxcKfVdI8ofBY1vWOvilmkphrjKWO0PW7ntcSo2ASknWPrEA0pcNIdcNSoT4OcZEmk4W6ZdGbJcKmoFD8o/WPLaWPO','W5m+WOtdUSom','FcddHSoeWR8','W6aLqLTSW7xdHHL0','d2vlWQSXWRxcUmkVnbfcfuugW63dKmoIW5fUssG','dKhcU8kzWOxdGCo1ASo+W6hcTSo4WOylW4qT','x8k0W7O','adldJmo/rCovWPy','gIddHYe5lSk5ymkXEW','emoEWODZ','WQfMWR4','W7FdO2ddS8oIWO1xWOxcUmkPtmkSFG','W5X9CxhcHCkUWPKvc2DvW4q','WPXRnquGWO3dGmkiW4D7c8oPga','WRFdS8kY','W5FdQmolxCoU','gmouWRhdVsCB','W4OrW5vvFG','WPVdMSkwF11eyfuxW7Hi','W4mXy1H1','fvxcTmkyW4e3sYxcSI7dMZq','W7unWPNdTSksWONcIG','WQVcKmkAWRNdPmo4h2pcQfFdIa','hLnRWQfYzmofe8kYWQRcN8km','W7KwzL9s','gIZdKXCW','WQbUWPSiWOm0tKC','W4iXzfX1','vCoBW5DEW4K','dIlcTcKiWPq','gmkYBCkrFq7dO8kW','wdqdWRZdRHK2k3tdNcJcImkK','C1OhEfZcKrZcLCkq','tWpdRmoUW5VcLSonySoEW4hcH8ov','WQBcVcC','evxcRCkpWPNdL8oYAW','W4eWqKT8W5xcHa','tmkiW7VcVMjonSkkW5FcRMVdVa','WPBdLq1PWP8','WPlcOJtcIXK','WQVdNtXtWRqf','WRFdPCkI','W4ZcGCkHc8kMeG','W40/CW','W5ldVCowyM/dVSoVWPxdTG86dtyP','WOtdJSkazf5tFfq','WPVdG8oYkCkcdHm2ta','s8o1Da','W4yuW5NdKa','W4ynW4hdL1NcIv95W4BdHGrC','W5SYjadcKvZcGmk3smoB','WQ9JWPqAWPiWbefXWRZcOG','WRZcTvzqW48bW43cMHNdRa','bCk0kLpdQSkKWQ42WQZcQrRdQG','WQFcR8kXBW7dHLfdjCoPWONdNG','rq7dRmoyWPjHnYZcMapdSbxdVu8HoCo+','WPy3g0NdSZGOWRHd','W4ldRComE2FdHW','h8kUn10QWPdcSKldS0S0WPtcHf8','dmkIW67dGCoXW4pdHG','WPNdJWbGWPFcMCoRWQH6WR4dxSkbma','fwFcJ8ovuZTcgNJdS11p','xmo+CrfXW4u','WOpcUCkhnJRcHCk1W5ZdJc0JgHWa','bcBdMryroCk8DSkIBW0','vstdP8ouWRS','raSDWQf6CCoTod0UAmoExq','bCkJCSk0CrJdSmkNW6/cTG','W6aLrvXSW7tdJWn/WO/cT0hcJ8kg','WP4XnZZdLSoZW75vnN50W6befq','hvjMW4Cg','e8k7peNdU8k6','WQVdNtXDWQecxq'];_0x4984=function(){return _0xecd3c7;};return _0x4984();}function getRuntime(_0x407b63='claude-code',_0x594ccc={}){const _0x31463b=_0x5e0e75,_0x291e33={'sFjyM':'claude-code','WHabK':_0x31463b(0x135,'f&W1'),'zHANd':function(_0x58fda9,_0x3b95a7){return _0x58fda9(_0x3b95a7);}};switch(_0x407b63){case _0x291e33[_0x31463b(0x11d,'5NRn')]:return new ClaudeRuntime({'ci':_0x594ccc['ci']});case'opencode':throw new Error(_0x291e33[_0x31463b(0x14d,'Fg@r')]);default:{const _0x5cf328=_0x407b63;throw new Error(_0x31463b(0x12e,'ej#J')+_0x291e33['zHANd'](String,_0x5cf328));}}}const PROVIDER_ENV_VAR={'anthropic':_0x5e0e75(0x12b,'dC0P'),'openai':_0x5e0e75(0x133,'xaOE'),'openai-compatible':void 0x0,'custom':void 0x0},DEFAULT_MODEL_BY_PROVIDER={'anthropic':_0x5e0e75(0x16c,'5NRn'),'openai':_0x5e0e75(0x14b,'0EA('),'openai-compatible':void 0x0,'custom':void 0x0};function resolveModel(_0x471988){const _0x202c19=_0x5e0e75;return _0x471988[_0x202c19(0x147,'4FXU')]??_0x471988[_0x202c19(0x167,'s1wv')]??DEFAULT_MODEL_BY_PROVIDER[_0x471988[_0x202c19(0x153,'AMG2')]];}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.1.0",
4
+ "version": "0.2.0-beta.0",
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,15 +33,13 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "zod": "^4.4.3",
36
- "@yoloship/claude-sdk": "0.1.0"
36
+ "@yoloship/claude-sdk": "0.2.0-beta.0"
37
37
  },
38
38
  "devDependencies": {
39
- "@vitest/coverage-v8": "^4.1.4",
40
39
  "cross-env": "^10.1.0",
41
- "javascript-obfuscator": "^5.4.1",
40
+ "javascript-obfuscator": "^5.4.2",
42
41
  "typescript": "^5.9.3",
43
- "unbuild": "^3.5.0",
44
- "vitest": "^4.1.4"
42
+ "unbuild": "^3.5.0"
45
43
  },
46
44
  "lint-staged": {
47
45
  "*.{js,ts,vue,mjs,mts,cjs,md,yml,json}": "cross-env NODE_ENV=production eslint --fix"