@crewx/sdk 0.8.3-rc.3 → 0.8.3-rc.5
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/esm/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +14 -16
package/dist/esm/index.js
CHANGED
|
@@ -19,7 +19,7 @@ import*as ne from'path';import ne__default,{join,resolve,dirname,isAbsolute,base
|
|
|
19
19
|
`):s.length>0?s.join(`
|
|
20
20
|
|
|
21
21
|
`):i.length>0?i.join(""):a||r.trim()}function ra(r){let e=ge(r);return e?{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0}:null}function na(r,e,t,n,o,s,i){return new Promise((a,l)=>{let u=o?.timeoutMs??36e5,d=st({command:r,allowShellFallback:true}),p=it(d,e),g=spawn(p.command,p.argv,{env:{...process.env,...o?.env??{}},cwd:o?.cwd,stdio:["pipe","pipe","pipe"],shell:p.shell??false,windowsHide:p.windowsHide});s!==void 0&&g.stdin.write(s),g.stdin.end(),g.pid!==void 0&&o?.onPid?.(g.pid);let f=false,v=false,h=()=>{try{g.kill("SIGKILL");}catch{}},y=setTimeout(()=>{if(!f){v=true;try{g.kill("SIGTERM");}catch{}setTimeout(h,zn).unref();}},u);y.unref();let w="",T="",_="",k="";g.stdout.on("data",S=>{let z=S.toString();w+=z,_+=z;let C=_.split(`
|
|
22
|
-
`);_=C.pop()??"";for(let x of C)if(x.trim())
|
|
22
|
+
`);_=C.pop()??"";for(let x of C)if(x.trim()&&(o?.onOutput?.(x,"stdout"),i?.extractFailure)){let M=i.extractFailure(x);if(M){f=true,clearTimeout(y);try{g.kill("SIGTERM");}catch{}setTimeout(h,zn).unref(),l(M);return}}}),g.stderr.on("data",S=>{let z=S.toString();T+=z,k+=z;let C=k.split(`
|
|
23
23
|
`);k=C.pop()??"";for(let x of C)x.trim()&&o?.onOutput?.(x,"stderr");}),g.on("error",S=>{f=true,clearTimeout(y),S.code==="ENOENT"?l(new X(`CLI command "${r}" not found. Is ${t} installed?`,t)):l(new X(`Spawn error: ${S.message}`,t));}),g.on("close",S=>{if(f)return;f=true,clearTimeout(y),_.trim()&&o?.onOutput?.(_,"stdout"),k.trim()&&o?.onOutput?.(k,"stderr");let z=S??0;if(o?.onExitCode?.(z),v&&S!==0)return l(new kr(`Total runtime exceeded ${u}ms; process killed.`,t));if(z!==0){if(i?.interpretExit){let x=i.interpretExit(z,T);if(x){l(x);return}}l(new X(`Process exited with code ${z}: ${T.slice(0,500)}`,t));return}let C=i?i.extractText(w):ta(w);a({stdout:w,parsed:C});});})}function Ze(r,e){Mn.set(r,e);}function Ce(r){let e=r.split("/");if(e.length!==2)throw new X(`Invalid provider format: "${r}". Expected namespace/id (e.g., cli/claude)`,r);let[t,n]=e,o=Mn.get(t);if(o)return o(n,r);if(t==="cli"){let s=Bt[n];if(!s)throw new X(`Unknown CLI provider id: "${n}". Supported: ${Object.keys(Bt).join(", ")}`,r);return new Rr(n,s,r)}throw new X(`Unsupported provider namespace: "${t}". Register a factory with registerProviderFactory('${t}', factory).`,r)}var X,kr,zn,me,Mn,Rr,qe=ee(()=>{c();$t();Le();xr();X=class extends Error{constructor(t,n){super(t);this.providerStr=n;this.name="ProviderError";}providerStr},kr=class extends X{constructor(e,t){super(e,t),this.name="TotalTimeoutError";}},zn=2e3;me=class extends Error{constructor(t,n){super(`Client tool call required: ${t.toolName}`);this.toolCall=t;this.continuationState=n;}toolCall;continuationState;name="ClientToolCallRequiredError"},Mn=new Map;Rr=class{constructor(e,t,n){this.providerId=e;this.adapter=t;this.providerStr=n;}providerId;adapter;providerStr;async execute(e,t){let n=this.composeMessage(e,t),{args:o,stdinMessage:s}=this.adapter.buildArgs(n,t??{},true);t?.onCommand?.(`${this.adapter.command} ${o.join(" ")}`);let{stdout:i,parsed:a}=await this.runProcess(o,t,s);return this.handleResultMeta(i,t),a}async query(e,t){let n=this.composeMessage(e,t),{args:o,stdinMessage:s}=this.adapter.buildArgs(n,t??{},false);t?.onCommand?.(`${this.adapter.command} ${o.join(" ")}`);let{stdout:i,parsed:a}=await this.runProcess(o,t,s);return this.handleResultMeta(i,t),a}composeMessage(e,t){return t?.systemPrompt?`${t.systemPrompt}
|
|
24
24
|
|
|
25
25
|
---
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
`):s.length>0?s.join(`
|
|
20
20
|
|
|
21
21
|
`):i.length>0?i.join(""):a||r.trim()}function Yi(r){let e=pe(r);return e?{inputTokens:e.inputTokens,outputTokens:e.outputTokens,cachedInputTokens:e.cachedInputTokens,costUsd:0}:null}function Qi(r,e,t,n,o,s,i){return new Promise((a,l)=>{let u=o?.timeoutMs??36e5,d=ot({command:r,allowShellFallback:true}),p=st(d,e),g=child_process.spawn(p.command,p.argv,{env:{...process.env,...o?.env??{}},cwd:o?.cwd,stdio:["pipe","pipe","pipe"],shell:p.shell??false,windowsHide:p.windowsHide});s!==void 0&&g.stdin.write(s),g.stdin.end(),g.pid!==void 0&&o?.onPid?.(g.pid);let f=false,v=false,h=()=>{try{g.kill("SIGKILL");}catch{}},y=setTimeout(()=>{if(!f){v=true;try{g.kill("SIGTERM");}catch{}setTimeout(h,In).unref();}},u);y.unref();let w="",C="",_="",k="";g.stdout.on("data",E=>{let O=E.toString();w+=O,_+=O;let R=_.split(`
|
|
22
|
-
`);_=R.pop()??"";for(let x of R)if(x.trim())
|
|
22
|
+
`);_=R.pop()??"";for(let x of R)if(x.trim()&&(o?.onOutput?.(x,"stdout"),i?.extractFailure)){let z=i.extractFailure(x);if(z){f=true,clearTimeout(y);try{g.kill("SIGTERM");}catch{}setTimeout(h,In).unref(),l(z);return}}}),g.stderr.on("data",E=>{let O=E.toString();C+=O,k+=O;let R=k.split(`
|
|
23
23
|
`);k=R.pop()??"";for(let x of R)x.trim()&&o?.onOutput?.(x,"stderr");}),g.on("error",E=>{f=true,clearTimeout(y),E.code==="ENOENT"?l(new exports.ProviderError(`CLI command "${r}" not found. Is ${t} installed?`,t)):l(new exports.ProviderError(`Spawn error: ${E.message}`,t));}),g.on("close",E=>{if(f)return;f=true,clearTimeout(y),_.trim()&&o?.onOutput?.(_,"stdout"),k.trim()&&o?.onOutput?.(k,"stderr");let O=E??0;if(o?.onExitCode?.(O),v&&E!==0)return l(new xr(`Total runtime exceeded ${u}ms; process killed.`,t));if(O!==0){if(i?.interpretExit){let x=i.interpretExit(O,C);if(x){l(x);return}}l(new exports.ProviderError(`Process exited with code ${O}: ${C.slice(0,500)}`,t));return}let R=i?i.extractText(w):Xi(w);a({stdout:w,parsed:R});});})}function Qe(r,e){On.set(r,e);}function Re(r){let e=r.split("/");if(e.length!==2)throw new exports.ProviderError(`Invalid provider format: "${r}". Expected namespace/id (e.g., cli/claude)`,r);let[t,n]=e,o=On.get(t);if(o)return o(n,r);if(t==="cli"){let s=exports.BUILTIN_ADAPTERS[n];if(!s)throw new exports.ProviderError(`Unknown CLI provider id: "${n}". Supported: ${Object.keys(exports.BUILTIN_ADAPTERS).join(", ")}`,r);return new kr(n,s,r)}throw new exports.ProviderError(`Unsupported provider namespace: "${t}". Register a factory with registerProviderFactory('${t}', factory).`,r)}exports.ProviderError=void 0;var xr,In;exports.ClientToolCallRequiredError=void 0;var On,kr,Le=Z(()=>{c();Dt();He();br();exports.ProviderError=class extends Error{constructor(t,n){super(t);this.providerStr=n;this.name="ProviderError";}providerStr},xr=class extends exports.ProviderError{constructor(e,t){super(e,t),this.name="TotalTimeoutError";}},In=2e3;exports.ClientToolCallRequiredError=class extends Error{constructor(t,n){super(`Client tool call required: ${t.toolName}`);this.toolCall=t;this.continuationState=n;}toolCall;continuationState;name="ClientToolCallRequiredError"},On=new Map;kr=class{constructor(e,t,n){this.providerId=e;this.adapter=t;this.providerStr=n;}providerId;adapter;providerStr;async execute(e,t){let n=this.composeMessage(e,t),{args:o,stdinMessage:s}=this.adapter.buildArgs(n,t??{},true);t?.onCommand?.(`${this.adapter.command} ${o.join(" ")}`);let{stdout:i,parsed:a}=await this.runProcess(o,t,s);return this.handleResultMeta(i,t),a}async query(e,t){let n=this.composeMessage(e,t),{args:o,stdinMessage:s}=this.adapter.buildArgs(n,t??{},false);t?.onCommand?.(`${this.adapter.command} ${o.join(" ")}`);let{stdout:i,parsed:a}=await this.runProcess(o,t,s);return this.handleResultMeta(i,t),a}composeMessage(e,t){return t?.systemPrompt?`${t.systemPrompt}
|
|
24
24
|
|
|
25
25
|
---
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewx/sdk",
|
|
3
|
-
"version": "0.8.3-rc.
|
|
3
|
+
"version": "0.8.3-rc.5",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=20.19.0"
|
|
@@ -68,20 +68,6 @@
|
|
|
68
68
|
"src/schemas/**/*.json",
|
|
69
69
|
"README.md"
|
|
70
70
|
],
|
|
71
|
-
"scripts": {
|
|
72
|
-
"build:cjs": "npx tsup --config tsup.cjs.js",
|
|
73
|
-
"build:esm": "npx tsup --config tsup.esm.js",
|
|
74
|
-
"build:browser": "npx tsup --config tsup.browser.js",
|
|
75
|
-
"build:dts": "tsc -p tsconfig.dts.json",
|
|
76
|
-
"build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:browser && pnpm run build:dts && node scripts/copy-migrations.mjs",
|
|
77
|
-
"db:generate": "cd ../.. && drizzle-kit generate --config drizzle.config.ts && node packages/sdk/scripts/post-generate.mjs",
|
|
78
|
-
"db:check": "cd ../.. && drizzle-kit check --config drizzle.config.ts",
|
|
79
|
-
"prepare": "pnpm run build",
|
|
80
|
-
"prepack": "node scripts/check-sdk-templates.mjs",
|
|
81
|
-
"test": "vitest run --config ./vitest.config.ts",
|
|
82
|
-
"test:watch": "vitest --config ./vitest.config.ts",
|
|
83
|
-
"lint": "echo 'SDK lint pending' && exit 0"
|
|
84
|
-
},
|
|
85
71
|
"dependencies": {
|
|
86
72
|
"@modelcontextprotocol/sdk": "^1.27.0",
|
|
87
73
|
"ai": "^4.0.0",
|
|
@@ -108,5 +94,17 @@
|
|
|
108
94
|
"tsup": "^8.5.1",
|
|
109
95
|
"typescript": "^5.4.0",
|
|
110
96
|
"vitest": "^3.1.1"
|
|
97
|
+
},
|
|
98
|
+
"scripts": {
|
|
99
|
+
"build:cjs": "npx tsup --config tsup.cjs.js",
|
|
100
|
+
"build:esm": "npx tsup --config tsup.esm.js",
|
|
101
|
+
"build:browser": "npx tsup --config tsup.browser.js",
|
|
102
|
+
"build:dts": "tsc -p tsconfig.dts.json",
|
|
103
|
+
"build": "pnpm run build:cjs && pnpm run build:esm && pnpm run build:browser && pnpm run build:dts && node scripts/copy-migrations.mjs",
|
|
104
|
+
"db:generate": "cd ../.. && drizzle-kit generate --config drizzle.config.ts && node packages/sdk/scripts/post-generate.mjs",
|
|
105
|
+
"db:check": "cd ../.. && drizzle-kit check --config drizzle.config.ts",
|
|
106
|
+
"test": "vitest run --config ./vitest.config.ts",
|
|
107
|
+
"test:watch": "vitest --config ./vitest.config.ts",
|
|
108
|
+
"lint": "echo 'SDK lint pending' && exit 0"
|
|
111
109
|
}
|
|
112
|
-
}
|
|
110
|
+
}
|