noskills 4.1.14 → 4.1.23
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/README.md +1 -19
- package/chunks/anthropic-2LHRYJDF.js +1 -0
- package/chunks/approve-AL45GVEF.js +1 -0
- package/chunks/ask-IY54PGL5.js +2 -0
- package/chunks/block-3UQW2ZE5.js +1 -0
- package/chunks/browser-6UKLTPJO.js +1 -0
- package/chunks/bun-N3TIWBPP.js +1 -0
- package/chunks/chunk-2N4GTHXQ.js +1 -0
- package/chunks/chunk-4OIKB2P5.js +1 -0
- package/chunks/chunk-AGPCY6XP.js +1 -0
- package/chunks/chunk-AK3OJD4W.js +1 -0
- package/chunks/chunk-BK2BDHKB.js +1 -0
- package/chunks/chunk-BKVQBSFV.js +6 -0
- package/chunks/chunk-DXB73IDG.js +1 -0
- package/chunks/chunk-FKF2SWQM.js +18 -0
- package/chunks/chunk-GF2UL6TT.js +1 -0
- package/chunks/chunk-IA7GIU76.js +14 -0
- package/chunks/chunk-LRL56YFE.js +1 -0
- package/chunks/chunk-LXVBR775.js +1 -0
- package/chunks/chunk-MNRDBZTT.js +2 -0
- package/chunks/chunk-N3MMGLBM.js +91 -0
- package/chunks/chunk-OLM5RTFK.js +1 -0
- package/chunks/chunk-QXTK62N4.js +1 -0
- package/chunks/chunk-VN5R2F7I.js +32 -0
- package/chunks/chunk-VTQ72OK7.js +1 -0
- package/chunks/chunk-W5PG6EYP.js +3 -0
- package/chunks/chunk-WKFEU6N7.js +1 -0
- package/chunks/chunk-XMTGT2NJ.js +10 -0
- package/chunks/chunk-YD3YJNYK.js +3 -0
- package/chunks/chunk-Z7742D7Q.js +1 -0
- package/chunks/claude-code-X2VQ64HN.js +1 -0
- package/chunks/deno-5NIMCWUR.js +1 -0
- package/chunks/fileFromPath-4UEDFJ4U.js +6 -0
- package/chunks/gemini-RKZLMEHC.js +1 -0
- package/chunks/init-JCBHPOPI.js +1 -0
- package/chunks/kiro-S5GVVHVI.js +3 -0
- package/chunks/list-FT2F44YC.js +1 -0
- package/chunks/next-MZDW4LJS.js +3 -0
- package/chunks/node-RWYXITVV.js +59 -0
- package/chunks/node-VPHAK3FD.js +1 -0
- package/chunks/ollama-H7H4N5H3.js +3 -0
- package/chunks/openai-EKIA3VP3.js +19 -0
- package/chunks/openai-ZNKOR4CD.js +4 -0
- package/chunks/opencode-FU5EBKR4.js +1 -0
- package/chunks/reset-YYZ6LQDH.js +1 -0
- package/chunks/rule-XGOGBUKV.js +2 -0
- package/chunks/sdk-5JGXLIO5.js +18 -0
- package/chunks/spec-DAWQ355V.js +1 -0
- package/chunks/status-HTLNGAXK.js +1 -0
- package/chunks/sync-PUONDN7H.js +1 -0
- package/chunks/unstable_chmod-WRDBWEC2.js +1 -0
- package/chunks/vertexai-XFAUOLH7.js +1 -0
- package/chunks/workerd-NXKZMQPV.js +1 -0
- package/noskills.js +2 -0
- package/package.json +2 -5
- package/bin.js +0 -6
package/README.md
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
1
|
# noskills
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npx noskills
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
This is equivalent to:
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npx eser noskills
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
All arguments are forwarded transparently.
|
|
18
|
-
|
|
19
|
-
## License
|
|
20
|
-
|
|
21
|
-
Apache-2.0
|
|
3
|
+
Not disclosed yet.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as y,c as f}from"./chunk-LRL56YFE.js";import{a as _,e as b}from"./chunk-OLM5RTFK.js";import"./chunk-DXB73IDG.js";var h=class{capabilities=["text_generation","streaming","tool_calling","vision","batch_processing"];provider="anthropic";modelId;client;config;constructor(t,n){this.client=t,this.config=n,this.modelId=n.model}async generateText(t,n){let o=p(this.config,t);try{let a=await this.client.messages.create(o,{signal:n,timeout:this.config.requestTimeoutMs});return k(a,this.modelId)}catch(a){throw i(a)}}async*streamText(t,n){let o=p(this.config,t);try{let a=await this.client.messages.create({...o,stream:!0},{signal:n,timeout:this.config.requestTimeoutMs}),r=null,l=null,c="",d=0,u=0;for await(let s of a)if(s.type==="message_start")d=s.message?.usage?.input_tokens??0;else if(s.type==="content_block_start")s.content_block?.type==="tool_use"&&(r=s.content_block.id??null,l=s.content_block.name??null,c="");else if(s.type==="content_block_delta")s.delta?.type==="text_delta"?yield{kind:"content_delta",textDelta:s.delta.text}:s.delta?.type==="input_json_delta"&&(c+=s.delta.partial_json??"",yield{kind:"tool_call_delta",textDelta:s.delta.partial_json});else if(s.type==="content_block_stop"){if(r!==null&&l!==null){let m={};try{m=JSON.parse(c||"{}")}catch{}yield{kind:"tool_call_delta",toolCall:{id:r,name:l,arguments:m}},r=null,l=null,c=""}}else s.type==="message_delta"&&(u=s.usage?.output_tokens??u,yield{kind:"message_done",stopReason:x(s.delta?.stop_reason),usage:{inputTokens:d,outputTokens:u,totalTokens:d+u}})}catch(a){yield{kind:"error",error:i(a)}}}async submitBatch(t,n){let o=t.items.map(a=>({custom_id:a.customId,params:p(this.config,a.options)}));try{let a=await this.client.beta.messages.batches.create({requests:o},{signal:n});return g(a)}catch(a){throw i(a)}}async getBatchJob(t,n){try{let o=await this.client.beta.messages.batches.retrieve(t,{signal:n});return g(o)}catch(o){throw i(o)}}async listBatchJobs(t,n){try{let o=await this.client.beta.messages.batches.list({limit:t?.limit,after_id:t?.after},{signal:n}),a=[];for(let r of o.data??[])a.push(g(r));return a}catch(o){throw i(o)}}async downloadBatchResults(t,n){try{let o=await this.client.beta.messages.batches.results(t.id,{signal:n}),a=[];for await(let r of o)r.result?.type==="succeeded"?a.push({customId:r.custom_id,result:k(r.result.message,this.modelId)}):a.push({customId:r.custom_id,error:r.result?.error?.message??"Unknown error"});return a}catch(o){throw i(o)}}async cancelBatchJob(t,n){try{await this.client.beta.messages.batches.cancel(t,{signal:n})}catch(o){throw i(o)}}async close(){}getRawClient(){return this.client}},A={provider:"anthropic",async createModel(e){let{default:t}=await import("./sdk-5JGXLIO5.js"),n={};e.apiKey!==void 0&&(n.apiKey=e.apiKey),e.baseUrl!==void 0&&(n.baseURL=e.baseUrl);let o=new t(n);return new h(o,e)}},p=(e,t)=>{let n={model:e.model,max_tokens:t.maxTokens??e.maxTokens,messages:R(t.messages)};return t.system!==void 0&&(n.system=t.system),t.temperature!==void 0&&(n.temperature=t.temperature),t.topP!==void 0&&(n.top_p=t.topP),t.stopWords!==void 0&&(n.stop_sequences=t.stopWords),t.tools!==void 0&&(n.tools=t.tools.map(o=>({name:o.name,description:o.description,input_schema:o.parameters??{type:"object",properties:{}}}))),t.toolChoice!==void 0&&(n.tool_choice={type:t.toolChoice}),t.thinkingBudget!==void 0&&(n.thinking={type:"enabled",budget_tokens:t.thinkingBudget}),n},R=e=>{let t=[];for(let n of e){if(n.role==="system")continue;let o=n.content.map(C);t.push({role:n.role==="tool"?"user":n.role,content:o})}return t},C=e=>{switch(e.kind){case"text":return{type:"text",text:e.text};case"image":{if(e.image.data!==void 0)return{type:"image",source:{type:"base64",media_type:e.image.mimeType??"image/png",data:w(e.image.data)}};if(e.image.url!==void 0){if(y(e.image.url)){let t=f(e.image.url);if(t!==null)return{type:"image",source:{type:"base64",media_type:t.mimeType,data:w(t.data)}}}return{type:"image",source:{type:"url",url:e.image.url}}}return{type:"text",text:"[unsupported image]"}}case"tool_call":return{type:"tool_use",id:e.toolCall.id,name:e.toolCall.name,input:e.toolCall.arguments};case"tool_result":return{type:"tool_result",tool_use_id:e.toolResult.toolCallId,content:e.toolResult.content,is_error:e.toolResult.isError};default:return{type:"text",text:`[unsupported content: ${e.kind}]`}}},k=(e,t)=>{let n=[];for(let o of e.content??[])o.type==="text"?n.push({kind:"text",text:o.text}):o.type==="thinking"?n.push({kind:"text",text:`[thinking] ${o.thinking}`}):o.type==="tool_use"&&n.push({kind:"tool_call",toolCall:{id:o.id,name:o.name,arguments:o.input??{}}});return{content:n,stopReason:x(e.stop_reason),usage:{inputTokens:e.usage?.input_tokens??0,outputTokens:e.usage?.output_tokens??0,totalTokens:(e.usage?.input_tokens??0)+(e.usage?.output_tokens??0)},modelId:t,rawResponse:e}},x=e=>e==="end_turn"?"end_turn":e==="max_tokens"?"max_tokens":e==="tool_use"?"tool_use":e==="stop_sequence"?"stop":"end_turn",g=e=>({id:e.id,status:B(e.processing_status),createdAt:new Date(e.created_at),completedAt:e.ended_at!==void 0?new Date(e.ended_at):void 0,totalCount:e.request_counts?.total??0,doneCount:e.request_counts?.succeeded??0,failedCount:e.request_counts?.errored??0}),B=e=>e==="in_progress"?"processing":e==="ended"?"completed":e==="canceling"||e==="canceled"?"cancelled":"pending",i=e=>{if(e instanceof _)return e;let t=e instanceof Error?e:new Error(String(e)),n=e?.status??e?.statusCode??500;return b("anthropic",n,t)},w=e=>{let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)};export{h as AnthropicModel,A as anthropicFactory};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as w}from"./chunk-LXVBR775.js";import{d,e as h}from"./chunk-BKVQBSFV.js";import{c as r,d as n,e as o,f as i,i as p,l,n as m,o as c}from"./chunk-VN5R2F7I.js";import{a}from"./chunk-2N4GTHXQ.js";import"./chunk-WKFEU6N7.js";import"./chunk-Z7742D7Q.js";import"./chunk-VTQ72OK7.js";import"./chunk-QXTK62N4.js";import"./chunk-DXB73IDG.js";var R=async f=>{let e=l({renderer:c.ansi(),sink:m.stdout()}),t=Deno.cwd(),s=await d(t);if(s.phase==="SPEC_DRAFT"){let u=w(s);await h(t,u),e.writeln(i("\u2714")," Spec approved. Phase: ",p("BUILDING")),e.writeln("Run ",r("noskills next")," to start building.")}else s.phase==="DISCOVERY"&&s.discovery.completed?(e.writeln(n("Discovery complete. Spec draft already generated.")),e.writeln("Review the spec and run ",r("noskills approve")," again when in SPEC_DRAFT phase.")):e.writeln(o(`Cannot approve in phase: ${s.phase}`));return await e.close(),a(void 0)};export{R as main};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as Ie,b as Ne}from"./chunk-AGPCY6XP.js";import{a as re,b as T,c as D,d as M,e as w,f as be,g as ke,h as Pe,i as ne,j as Re,l as oe,m as _e,n as ie,o as Fe}from"./chunk-VN5R2F7I.js";import{a as Ee}from"./chunk-LRL56YFE.js";import{a as Ae,b as O}from"./chunk-2N4GTHXQ.js";import{b as ae}from"./chunk-W5PG6EYP.js";import"./chunk-OLM5RTFK.js";import{a as ee,b as te}from"./chunk-WKFEU6N7.js";import"./chunk-Z7742D7Q.js";import"./chunk-VTQ72OK7.js";import"./chunk-QXTK62N4.js";import{d as Z}from"./chunk-DXB73IDG.js";var Oe=e=>({rawMessage:e.rawMessage??e.message,args:e.args??[],datetime:e.datetime??new Date,properties:e.properties??{},context:e.context??{},...e});var d=e=>typeof e=="string"?e.split(".").filter(Boolean):e,G=(e,t=".")=>e.join(t),C=e=>e.join("\0");var De=(e,t)=>e.length<t.length?!1:t.every((r,n)=>e[n]===r);var Me=(e,t)=>{let r=[];for(let n of t.values()){let i=d(n.category);De(e,i)&&r.push(n)}return r.sort((n,i)=>{let o=d(n.category).length;return d(i.category).length-o}),r};var V=(e,t)=>{let r=typeof t=="string"?[t]:t;return[...e,...r]};var z={};Z(z,{configure:()=>Ct,configureSync:()=>wt,getEffectiveConfig:()=>fe,getFilterNames:()=>_t,getLoggerCategories:()=>Ft,getRegistryState:()=>ht,getSinkNames:()=>Rt,isConfigured:()=>Tt,registerFilter:()=>bt,registerLogger:()=>Pt,registerLoggerCacheClear:()=>ue,registerSink:()=>Lt,reset:()=>Ke,resetSync:()=>We,unregisterFilter:()=>kt,unregisterSink:()=>At});var g={Trace:1,Debug:5,Info:9,Notice:10,Warning:13,Error:17,Critical:21,Alert:22,Emergency:23},Ge={[g.Trace]:"Trace",[g.Debug]:"Debug",[g.Info]:"Info",[g.Notice]:"Notice",[g.Warning]:"Warning",[g.Error]:"Error",[g.Critical]:"Critical",[g.Alert]:"Alert",[g.Emergency]:"Emergency"};var j,$,mt=()=>{if(j===void 0)try{let e=globalThis.AsyncLocalStorage??globalThis.require?.("async_hooks")?.AsyncLocalStorage;e&&(j=new e)}catch{}return j},dt=()=>{if($===void 0)try{let e=globalThis.AsyncLocalStorage??globalThis.require?.("async_hooks")?.AsyncLocalStorage;e&&($=new e)}catch{}return $},Ve,je,P=e=>{Ve=e},ge=e=>{je=e},ce=()=>{j=void 0,$=void 0},yt=()=>Ve??mt(),xt=()=>je??dt();var $e=()=>{let e=yt();return e?e.getStore()??{}:{}};var vt=()=>{let e=xt();return e?e.getStore()??[]:[]},ze=e=>{let t=vt();return t.length===0?e:V(t,e)};var le=null,ue=e=>{le=e},u=null,y=new Map,ht=()=>u,Tt=()=>u!==null,Ct=async e=>{(e.reset||u===null)&&await Ke(),u={sinks:new Map(Object.entries(e.sinks)),filters:new Map(Object.entries(e.filters??{})),loggers:new Map,contextLocalStorage:e.contextLocalStorage};for(let t of e.loggers){let r=d(t.category),n=C(r);u.loggers.set(n,{...t,category:r})}e.contextLocalStorage&&P(e.contextLocalStorage),y.clear()},wt=e=>{(e.reset||u===null)&&We(),u={sinks:new Map(Object.entries(e.sinks)),filters:new Map(Object.entries(e.filters??{})),loggers:new Map,contextLocalStorage:e.contextLocalStorage};for(let t of e.loggers){let r=d(t.category),n=C(r);u.loggers.set(n,{...t,category:r})}e.contextLocalStorage&&P(e.contextLocalStorage),y.clear()},Ke=async()=>{if(u)for(let e of u.sinks.values()){let t=e;typeof t.dispose=="function"?await t.dispose():typeof t[Symbol.asyncDispose]=="function"&&await t[Symbol.asyncDispose]()}u=null,y.clear(),le?.(),P(void 0),ge(void 0),ce()},We=()=>{if(u)for(let e of u.sinks.values()){let t=e;typeof t.disposeSync=="function"?t.disposeSync():typeof t[Symbol.dispose]=="function"&&t[Symbol.dispose]()}u=null,y.clear(),le?.(),P(void 0),ge(void 0),ce()},fe=e=>{let t=C(e),r=y.get(t);if(r)return r;let n={sinks:[],filters:[],lowestLevel:g.Info};if(!u)return n;let i=Me(e,u.loggers),o=new Set,a=new Set,l=!1;for(let s of i){if(s.sinks&&s.sinks.length>0){s.parentSinks==="override"&&o.clear();for(let c of s.sinks)o.add(c)}if(s.filters)for(let c of s.filters)a.add(c);!l&&s.lowestLevel!==void 0&&(n.lowestLevel=s.lowestLevel,l=!0)}for(let s of o){let c=u.sinks.get(s);c&&n.sinks.push(c)}for(let s of a){let c=u.filters.get(s);c&&n.filters.push(c)}return y.set(t,n),n},Lt=(e,t)=>{if(!u)throw new Error("Logging not configured. Call configure() first.");u.sinks.set(e,t),y.clear()},At=e=>{u&&(u.sinks.delete(e),y.clear())},bt=(e,t)=>{if(!u)throw new Error("Logging not configured. Call configure() first.");u.filters.set(e,t),y.clear()},kt=e=>{u&&(u.filters.delete(e),y.clear())},Pt=e=>{if(!u)throw new Error("Logging not configured. Call configure() first.");let t=d(e.category),r=C(t);u.loggers.set(r,{...e,category:t}),y.clear()},Rt=()=>u?Array.from(u.sinks.keys()):[],_t=()=>u?Array.from(u.filters.keys()):[],Ft=()=>u?Array.from(u.loggers.values()).map(e=>d(e.category)):[];var K={};Z(K,{DEFAULT_LEVEL:()=>Et,Logger:()=>R,clearLoggerCache:()=>Be,current:()=>Nt,getLogger:()=>It});var Et=g.Info,R=class e{category;parent;#e;#t=null;constructor(t,r=null,n={}){this.category=d(t),this.parent=r,this.#e=n}#r(){return this.#t===null&&(this.#t=fe(this.category)),this.#t}getChild(t){let r=V(this.category,d(t));return new e(r,this,this.#e)}with(t){return new e(this.category,this.parent,{...this.#e,...t})}get loggerName(){return G(this.category)}asString(t,r=!1){return typeof t=="string"?r?`"${t}"`:t:t===null||typeof t=="number"||typeof t=="bigint"||typeof t=="boolean"||typeof t>"u"||typeof t=="symbol"?String(t):t instanceof Error?t.stack:t!==null&&typeof t=="object"?Array.isArray(t)?JSON.stringify(t):`{${Object.entries(t).map(([n,i])=>`"${n}":${this.asString(i,!0)}`).join(",")}}`:"undefined"}async log(t,r,...n){let i=this.#r();if(t<i.lowestLevel)return r instanceof Function?void 0:r;let o,a;r instanceof Function?(o=r(),a=this.asString(o)):a=this.asString(r);let l=$e(),s=Oe({message:a,rawMessage:a,args:n,datetime:new Date,severity:t,category:this.category,properties:this.#e,context:l});for(let c of i.filters)if(!c(s))return r instanceof Function?o:r;return i.sinks.length>0&&await Promise.all(i.sinks.map(c=>c(s))),r instanceof Function?o:r}debug(t,...r){return this.log(g.Debug,t,...r)}info(t,...r){return this.log(g.Info,t,...r)}warn(t,...r){return this.log(g.Warning,t,...r)}error(t,...r){return this.log(g.Error,t,...r)}critical(t,...r){return this.log(g.Critical,t,...r)}emergency(t,...r){return this.log(g.Emergency,t,...r)}alert(t,...r){return this.log(g.Alert,t,...r)}notice(t,...r){return this.log(g.Notice,t,...r)}trace(t,...r){return this.log(g.Trace,t,...r)}},pe=new Map,It=e=>{let t=ze(d(e)),r=C(t),n=pe.get(r);return n||(n=new R(t),pe.set(r,n)),n},Be=()=>{pe.clear()};ue(Be);var Nt=new R(["default"]);var W={};Z(W,{fingersCrossedSink:()=>Wt,getBufferedSink:()=>Kt,getOutputSink:()=>$t,getRecordCollectorSink:()=>Ye,getTestSink:()=>Bt,withFilter:()=>zt});var Ot={[g.Trace]:"TRCE",[g.Debug]:"DBUG",[g.Info]:"INFO",[g.Notice]:"NOTC",[g.Warning]:"WARN",[g.Error]:"ERRO",[g.Critical]:"CRIT",[g.Alert]:"ALRT",[g.Emergency]:"EMRG"};var Dt=(e,t)=>{if(t==="none")return"";if(typeof t=="function")return t(e);let r=e.toISOString(),n=r.slice(0,10),i=r.slice(11,19),o=r.slice(19);switch(t){case"rfc3339":return r;case"date-time-timezone":case void 0:return`${n} ${i}${o}`;case"date-time":return`${n} ${i}`;case"time-timezone":return`${i}${o}`;case"time":return i;case"date":return n}},Mt=e=>{try{return JSON.stringify(e)}catch{return String(e)}},Gt=(e,t)=>{let r={...t,...e},n=Object.entries(r);return n.length===0?"":" "+n.map(([i,o])=>{let a=typeof o=="string"?o:Mt(o);return`${i}=${a}`}).join(" ")};var Vt=(e,t)=>{switch(e){case g.Trace:return M(Pe(t));case g.Debug:return Re(t);case g.Info:return be(t);case g.Notice:return ne(t);case g.Warning:return ke(t);case g.Error:return w(t);case g.Critical:return D(w(t));case g.Alert:return D(w(t));case g.Emergency:return D(w(t));default:return T(t)}},Ue=e=>{let t=Dt(e.datetime,"date-time-timezone"),r=Ot[e.severity]??"????",n=e.category.length>0?G(e.category):"",i=Gt(e.properties,e.context),o=[];return t&&o.push(M(t),T(" ")),o.push(Vt(e.severity,r),T(" ")),n&&o.push(ne(`[${n}]`),T(" ")),e.severity>=g.Error?o.push(w(e.message)):o.push(T(e.message)),i.trim()&&o.push(T(" "),M(i.trim())),o};var $t=(e,t)=>{let r=t?.formatter??Ue;return n=>{let i=r(n);e.writeln(...i)}},zt=(e,t)=>r=>{if(t(r))return e(r)},Kt=(e,t={})=>{let{maxSize:r=100,flushIntervalMs:n=5e3}=t,i=[],o=null,a=async()=>{if(i.length===0)return;let c=i;i=[],o&&(clearTimeout(o),o=null),await Promise.all(c.map(p=>e(p)))},l=()=>{o===null&&(o=setTimeout(()=>{o=null,a().catch(()=>{})},n))},s=async c=>{i.push(c),i.length>=r?await a():l()};return s.flush=a,s},Wt=(e,t={})=>{let{triggerLevel:r=17,maxBufferSize:n=1e3}=t,i=[],o=!1,a=async()=>{let c=i;i=[],o=!0,await Promise.all(c.map(p=>e(p)))},l=()=>{i=[],o=!1},s=async c=>{if(o){await e(c);return}if(c.severity>=r){i.push(c),await a();return}i.push(c),i.length>n&&i.shift()};return s.flush=a,s.clear=l,s},Ye=()=>{let e=[];return{sink:r=>{e.push(r)},records:e}},Bt=Ye;var Xe=typeof globalThis=="object"?globalThis:global;var v="1.9.0";var qe=/^(\d+)\.(\d+)\.(\d+)(-(.+))?$/;function Yt(e){var t=new Set([e]),r=new Set,n=e.match(qe);if(!n)return function(){return!1};var i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null)return function(s){return s===e};function o(l){return r.add(l),!1}function a(l){return t.add(l),!0}return function(s){if(t.has(s))return!0;if(r.has(s))return!1;var c=s.match(qe);if(!c)return o(s);var p={major:+c[1],minor:+c[2],patch:+c[3],prerelease:c[4]};return p.prerelease!=null||i.major!==p.major?o(s):i.major===0?i.minor===p.minor&&i.patch<=p.patch?a(s):o(s):i.minor<=p.minor?a(s):o(s)}}var He=Yt(v);var Xt=v.split(".")[0],_=Symbol.for("opentelemetry.js.api."+Xt),F=Xe;function L(e,t,r,n){var i;n===void 0&&(n=!1);var o=F[_]=(i=F[_])!==null&&i!==void 0?i:{version:v};if(!n&&o[e]){var a=new Error("@opentelemetry/api: Attempted duplicate registration of API: "+e);return r.error(a.stack||a.message),!1}if(o.version!==v){var a=new Error("@opentelemetry/api: Registration of version v"+o.version+" for "+e+" does not match previously registered API v"+v);return r.error(a.stack||a.message),!1}return o[e]=t,r.debug("@opentelemetry/api: Registered a global for "+e+" v"+v+"."),!0}function S(e){var t,r,n=(t=F[_])===null||t===void 0?void 0:t.version;if(!(!n||!He(n)))return(r=F[_])===null||r===void 0?void 0:r[e]}function A(e,t){t.debug("@opentelemetry/api: Unregistering a global for "+e+" v"+v+".");var r=F[_];r&&delete r[e]}var qt=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},Ht=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Je=function(){function e(t){this._namespace=t.namespace||"DiagComponentLogger"}return e.prototype.debug=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return E("debug",this._namespace,t)},e.prototype.error=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return E("error",this._namespace,t)},e.prototype.info=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return E("info",this._namespace,t)},e.prototype.warn=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return E("warn",this._namespace,t)},e.prototype.verbose=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return E("verbose",this._namespace,t)},e}();function E(e,t,r){var n=S("diag");if(n)return r.unshift(t),n[e].apply(n,Ht([],qt(r),!1))}var m;(function(e){e[e.NONE=0]="NONE",e[e.ERROR=30]="ERROR",e[e.WARN=50]="WARN",e[e.INFO=60]="INFO",e[e.DEBUG=70]="DEBUG",e[e.VERBOSE=80]="VERBOSE",e[e.ALL=9999]="ALL"})(m||(m={}));function Qe(e,t){e<m.NONE?e=m.NONE:e>m.ALL&&(e=m.ALL),t=t||{};function r(n,i){var o=t[n];return typeof o=="function"&&e>=i?o.bind(t):function(){}}return{error:r("error",m.ERROR),warn:r("warn",m.WARN),info:r("info",m.INFO),debug:r("debug",m.DEBUG),verbose:r("verbose",m.VERBOSE)}}var Jt=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},Qt=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},Zt="diag",b=function(){function e(){function t(i){return function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];var l=S("diag");if(l)return l[i].apply(l,Qt([],Jt(o),!1))}}var r=this,n=function(i,o){var a,l,s;if(o===void 0&&(o={logLevel:m.INFO}),i===r){var c=new Error("Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation");return r.error((a=c.stack)!==null&&a!==void 0?a:c.message),!1}typeof o=="number"&&(o={logLevel:o});var p=S("diag"),f=Qe((l=o.logLevel)!==null&&l!==void 0?l:m.INFO,i);if(p&&!o.suppressOverrideMessage){var x=(s=new Error().stack)!==null&&s!==void 0?s:"<failed to generate stacktrace>";p.warn("Current logger will be overwritten from "+x),f.warn("Current logger will overwrite one already registered from "+x)}return L("diag",f,r,!0)};r.setLogger=n,r.disable=function(){A(Zt,r)},r.createComponentLogger=function(i){return new Je(i)},r.verbose=t("verbose"),r.debug=t("debug"),r.info=t("info"),r.warn=t("warn"),r.error=t("error")}return e.instance=function(){return this._instance||(this._instance=new e),this._instance},e}();function Ze(e){return Symbol.for(e)}var er=function(){function e(t){var r=this;r._currentContext=t?new Map(t):new Map,r.getValue=function(n){return r._currentContext.get(n)},r.setValue=function(n,i){var o=new e(r._currentContext);return o._currentContext.set(n,i),o},r.deleteValue=function(n){var i=new e(r._currentContext);return i._currentContext.delete(n),i}}return e}(),et=new er;var tr=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},rr=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},tt=function(){function e(){}return e.prototype.active=function(){return et},e.prototype.with=function(t,r,n){for(var i=[],o=3;o<arguments.length;o++)i[o-3]=arguments[o];return r.call.apply(r,rr([n],tr(i),!1))},e.prototype.bind=function(t,r){return r},e.prototype.enable=function(){return this},e.prototype.disable=function(){return this},e}();var nr=function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)o.push(i.value)}catch(l){a={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(a)throw a.error}}return o},or=function(e,t,r){if(r||arguments.length===2)for(var n=0,i=t.length,o;n<i;n++)(o||!(n in t))&&(o||(o=Array.prototype.slice.call(t,0,n)),o[n]=t[n]);return e.concat(o||Array.prototype.slice.call(t))},me="context",ir=new tt,B=function(){function e(){}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalContextManager=function(t){return L(me,t,b.instance())},e.prototype.active=function(){return this._getContextManager().active()},e.prototype.with=function(t,r,n){for(var i,o=[],a=3;a<arguments.length;a++)o[a-3]=arguments[a];return(i=this._getContextManager()).with.apply(i,or([t,r,n],nr(o),!1))},e.prototype.bind=function(t,r){return this._getContextManager().bind(t,r)},e.prototype._getContextManager=function(){return S(me)||ir},e.prototype.disable=function(){this._getContextManager().disable(),A(me,b.instance())},e}();var U;(function(e){e[e.NONE=0]="NONE",e[e.SAMPLED=1]="SAMPLED"})(U||(U={}));var de="0000000000000000",ye="00000000000000000000000000000000",rt={traceId:ye,spanId:de,traceFlags:U.NONE};var h=function(){function e(t){t===void 0&&(t=rt),this._spanContext=t}return e.prototype.spanContext=function(){return this._spanContext},e.prototype.setAttribute=function(t,r){return this},e.prototype.setAttributes=function(t){return this},e.prototype.addEvent=function(t,r){return this},e.prototype.addLink=function(t){return this},e.prototype.addLinks=function(t){return this},e.prototype.setStatus=function(t){return this},e.prototype.updateName=function(t){return this},e.prototype.end=function(t){},e.prototype.isRecording=function(){return!1},e.prototype.recordException=function(t,r){},e}();var xe=Ze("OpenTelemetry Context Key SPAN");function Y(e){return e.getValue(xe)||void 0}function nt(){return Y(B.getInstance().active())}function I(e,t){return e.setValue(xe,t)}function ot(e){return e.deleteValue(xe)}function it(e,t){return I(e,new h(t))}function X(e){var t;return(t=Y(e))===null||t===void 0?void 0:t.spanContext()}var ar=/^([0-9a-f]{32})$/i,sr=/^[0-9a-f]{16}$/i;function gr(e){return ar.test(e)&&e!==ye}function cr(e){return sr.test(e)&&e!==de}function q(e){return gr(e.traceId)&&cr(e.spanId)}function at(e){return new h(e)}var ve=B.getInstance(),H=function(){function e(){}return e.prototype.startSpan=function(t,r,n){n===void 0&&(n=ve.active());var i=!!r?.root;if(i)return new h;var o=n&&X(n);return lr(o)&&q(o)?new h(o):new h},e.prototype.startActiveSpan=function(t,r,n,i){var o,a,l;if(!(arguments.length<2)){arguments.length===2?l=r:arguments.length===3?(o=r,l=n):(o=r,a=n,l=i);var s=a??ve.active(),c=this.startSpan(t,o,s),p=I(s,c);return ve.with(p,l,void 0,c)}},e}();function lr(e){return typeof e=="object"&&typeof e.spanId=="string"&&typeof e.traceId=="string"&&typeof e.traceFlags=="number"}var ur=new H,st=function(){function e(t,r,n,i){this._provider=t,this.name=r,this.version=n,this.options=i}return e.prototype.startSpan=function(t,r,n){return this._getTracer().startSpan(t,r,n)},e.prototype.startActiveSpan=function(t,r,n,i){var o=this._getTracer();return Reflect.apply(o.startActiveSpan,o,arguments)},e.prototype._getTracer=function(){if(this._delegate)return this._delegate;var t=this._provider.getDelegateTracer(this.name,this.version,this.options);return t?(this._delegate=t,this._delegate):ur},e}();var gt=function(){function e(){}return e.prototype.getTracer=function(t,r,n){return new H},e}();var fr=new gt,Se=function(){function e(){}return e.prototype.getTracer=function(t,r,n){var i;return(i=this.getDelegateTracer(t,r,n))!==null&&i!==void 0?i:new st(this,t,r,n)},e.prototype.getDelegate=function(){var t;return(t=this._delegate)!==null&&t!==void 0?t:fr},e.prototype.setDelegate=function(t){this._delegate=t},e.prototype.getDelegateTracer=function(t,r,n){var i;return(i=this._delegate)===null||i===void 0?void 0:i.getTracer(t,r,n)},e}();var he="trace",ct=function(){function e(){this._proxyTracerProvider=new Se,this.wrapSpanContext=at,this.isSpanContextValid=q,this.deleteSpan=ot,this.getSpan=Y,this.getActiveSpan=nt,this.getSpanContext=X,this.setSpan=I,this.setSpanContext=it}return e.getInstance=function(){return this._instance||(this._instance=new e),this._instance},e.prototype.setGlobalTracerProvider=function(t){var r=L(he,this._proxyTracerProvider,b.instance());return r&&this._proxyTracerProvider.setDelegate(t),r},e.prototype.getTracerProvider=function(){return S(he)||this._proxyTracerProvider},e.prototype.getTracer=function(t,r){return this.getTracerProvider().getTracer(t,r)},e.prototype.disable=function(){A(he,b.instance()),this._proxyTracerProvider=new Se},e}();var Te=ct.getInstance();var Xn=Te.getTracer("@eser/logging");var Ce=(e,t,r)=>{let n=e.streamText(t,r);return{name:`ai-text/${e.provider}/${e.modelId}`,readable:new ReadableStream({async start(i){try{for await(let o of n)o.kind==="content_delta"&&i.enqueue(re(o.textDelta));i.close()}catch(o){i.error(o)}}})}};var yr={cc:"claude-code",ol:"ollama",oc:"opencode",oai:"openai",ant:"anthropic",gem:"gemini",vtx:"vertexai"},xr={"claude-code":"Claude Code",ollama:"Ollama",opencode:"OpenCode",kiro:"Kiro",anthropic:"Anthropic API",openai:"OpenAI API",gemini:"Gemini API",vertexai:"Vertex AI"},vr=e=>yr[e]??e,Sr=async e=>{if(e){let{current:t}=te,r=t.process.stderr.getWriter(),n=oe({renderer:Fe.ansi(),sink:ie.writable(new WritableStream({async write(i){await r.write(new TextEncoder().encode(String(i.data)))},close(){r.releaseLock()}}))});await z.configure({sinks:{stderr:W.getOutputSink(n)},loggers:[{category:["ai"],lowestLevel:g.Debug,sinks:["stderr"]}]})}return K.getLogger(["ai","ask"])},hr=async e=>{await e.info("Auto-detecting AI provider...");try{if(await ae`which claude`.noThrow().code()===0)return await e.info("Claude Code detected."),"claude-code"}catch{}try{if((await fetch("http://localhost:11434/api/version",{signal:AbortSignal.timeout(1e3)})).ok)return await e.info("Ollama detected at localhost:11434."),"ollama"}catch{}try{if(await ae`which opencode`.noThrow().code()===0)return await e.info("OpenCode detected."),"opencode"}catch{}let{current:t}=te;if(t.capabilities.env){if(t.env.has("ANTHROPIC_API_KEY"))return await e.info("Anthropic API key detected."),"anthropic";if(t.env.has("OPENAI_API_KEY"))return await e.info("OpenAI API key detected."),"openai"}throw new Error("No AI provider detected. Install claude, ollama, or set ANTHROPIC_API_KEY / OPENAI_API_KEY.")},Tr=async e=>{switch(e){case"claude-code":return(await import("./claude-code-X2VQ64HN.js")).claudeCodeFactory;case"ollama":return(await import("./ollama-H7H4N5H3.js")).ollamaFactory;case"opencode":return(await import("./opencode-FU5EBKR4.js")).openCodeFactory;case"kiro":return(await import("./kiro-S5GVVHVI.js")).kiroFactory;case"anthropic":return(await import("./anthropic-2LHRYJDF.js")).anthropicFactory;case"openai":return(await import("./openai-ZNKOR4CD.js")).openaiFactory;case"gemini":return(await import("./gemini-RKZLMEHC.js")).geminiFactory;case"vertexai":return(await import("./vertexai-XFAUOLH7.js")).vertexaiFactory;default:throw new Error(`Unknown provider: ${e}`)}},lo=async e=>{let t=e??[],r=null,n=null,i=null,o=!1,a=!1,l=[],s=0;for(;s<t.length;){let f=t[s];if(f==="-p"||f==="--provider"){r=t[s+1]??null,s+=2;continue}if(f==="-m"||f==="--model"){n=t[s+1]??null,s+=2;continue}if(f==="--max-tokens"){let x=t[s+1];x!==void 0&&(i=Number(x)),s+=2;continue}if(f==="--json"){o=!0,s+=1;continue}if(f==="-v"||f==="--verbose"){a=!0,s+=1;continue}f.startsWith("-")||l.push(f),s+=1}let c=l.join(" ");if(c.length===0)return O({message:'Usage: ai ask "your prompt" [-p provider] [-m model] [--verbose]',exitCode:1});let p=await Sr(a);try{let f=r!==null?vr(r):await hr(p),x=xr[f]??f,we=n??Ar(f);await p.info(`Using ${x} (${we})`);let ut=await Tr(f),J=new Ne({factories:[ut]});await J.addModel("default",{provider:f,model:we});let Q=J.getDefault();if(Q===null)return O({message:"Failed to initialize model",exitCode:1});let Le=[Ee("user",c)];if(await p.info(`Sending prompt (${c.length} chars)...`),o){let N=await Q.generateText({messages:Le,maxTokens:i??void 0});await p.info(`Response received (${Ie(N).length} chars)`);let k=oe({sink:ie.stdout()});k.writeln(JSON.stringify(N,null,2)),await k.close()}else{let N=Ce(Q,{messages:Le,maxTokens:i??void 0});await _e().from(N).to(Lr()).run();let k=ee.process.stdout.getWriter();await k.write(new TextEncoder().encode(`
|
|
2
|
+
`)),k.releaseLock()}return await J.close(),Ae(void 0)}catch(f){let x=f instanceof Error?f.message:String(f);return await p.error(x),a&&f instanceof Error&&f.cause!==void 0&&await p.debug(`Cause: ${String(f.cause)}`),O({message:x,exitCode:1})}},Cr=12,wr=e=>new Promise(t=>setTimeout(t,e)),Lr=(e=Cr)=>{let t=new TextEncoder;return{name:"typewriter",writable:new WritableStream({async write(r){let n=String(r.data),i=ee.process.stdout.getWriter();for(let o of n)await i.write(t.encode(o)),await wr(e);i.releaseLock()}})}},Ar=e=>{switch(e){case"claude-code":return"claude-sonnet-4-20250514";case"ollama":return"llama3";case"opencode":return"default";case"kiro":return"default";case"anthropic":return"claude-sonnet-4-20250514";case"openai":return"gpt-4o";case"gemini":return"gemini-2.0-flash";case"vertexai":return"gemini-2.0-flash";default:return"default"}};export{lo as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as f}from"./chunk-LXVBR775.js";import{d as w,e as u}from"./chunk-BKVQBSFV.js";import{c as a,d as i,e as l,g as p,l as m,n as c,o as d}from"./chunk-VN5R2F7I.js";import{a as o,b as n}from"./chunk-2N4GTHXQ.js";import"./chunk-WKFEU6N7.js";import"./chunk-Z7742D7Q.js";import"./chunk-VTQ72OK7.js";import"./chunk-QXTK62N4.js";import"./chunk-DXB73IDG.js";var x=async h=>{let e=m({renderer:d.ansi(),sink:c.stdout()}),t=Deno.cwd(),r=h?.join(" ")??"No reason given",s=await w(t);if(s.phase!=="BUILDING")return e.writeln(l(`Cannot block in phase: ${s.phase}`)),await e.close(),n({exitCode:1});let k=f(s,r);return await u(t,k),e.writeln(p("\u26A0")," Spec blocked: ",i(r)),e.writeln("Resolve with: ",a('noskills next --answer="resolution"')),await e.close(),o(void 0)};export{x as main};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as s}from"./chunk-VTQ72OK7.js";import{a as r}from"./chunk-QXTK62N4.js";import"./chunk-DXB73IDG.js";var o={fs:!1,fsSync:!1,exec:!1,process:!1,env:!1,stdin:!1,stdout:!1,kv:!1},t=e=>()=>{throw new r(e,"browser")},n=()=>{let e=t("fs");return{readFile:e,readTextFile:e,writeFile:e,writeTextFile:e,exists:e,stat:e,lstat:e,mkdir:e,ensureDir:e,remove:e,readDir:e,copyFile:e,rename:e,makeTempDir:e,realPath:e,watch:e,walk:e,chmod:e}},i=()=>{let e=t("exec");return{spawn:e,exec:e,execJson:e,spawnChild:e}},a=()=>{let e=t("process");return{exit:e,setExitCode:e,cwd:e,chdir:e,hostname:e,execPath:e,get args(){throw new r("process","browser")},get pid(){throw new r("process","browser")},get stdin(){throw new r("process","browser")},get stdout(){throw new r("process","browser")},get stderr(){throw new r("process","browser")}}},c=()=>({get:()=>{},set:()=>{},delete:()=>{},has:()=>!1,toObject:()=>({})}),l=()=>({name:"browser",version:globalThis.navigator?.userAgent??"unknown",capabilities:o,fs:n(),path:s,exec:i(),env:c(),process:a()});export{o as BROWSER_CAPABILITIES,l as createBrowserRuntime};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as F}from"./chunk-4OIKB2P5.js";import{b as v,d as b}from"./chunk-QXTK62N4.js";import"./chunk-DXB73IDG.js";import*as n from"node:fs/promises";import*as O from"node:fs";import*as o from"node:path";import*as w from"node:os";import m from"node:process";import{Readable as x,Writable as k}from"node:stream";var E={fs:!0,fsSync:!0,exec:!0,process:!0,env:!0,stdin:!0,stdout:!0,kv:!1},R=()=>{let s=e=>({isFile:e.isFile(),isDirectory:e.isDirectory(),isSymlink:e.isSymbolicLink(),size:e.size,mtime:e.mtime,atime:e.atime,birthtime:e.birthtime}),a=(e,t)=>{throw e instanceof Error&&"code"in e&&e.code==="ENOENT"?new v(t):e};return{async readFile(e,t){try{let r=await n.readFile(e,{signal:t?.signal});return new Uint8Array(r)}catch(r){return a(r,e)}},async readTextFile(e,t){try{return await n.readFile(e,{encoding:"utf-8",signal:t?.signal})}catch(r){return a(r,e)}},async writeFile(e,t,r){let d=r?.append?"a":"w";await n.writeFile(e,t,{signal:r?.signal,mode:r?.mode,flag:d})},async writeTextFile(e,t,r){let d=r?.append?"a":"w";await n.writeFile(e,t,{encoding:"utf-8",signal:r?.signal,mode:r?.mode,flag:d})},async exists(e){try{return await n.access(e),!0}catch{return!1}},async stat(e){try{let t=await n.stat(e);return s(t)}catch(t){return a(t,e)}},async lstat(e){try{let t=await n.lstat(e);return s(t)}catch(t){return a(t,e)}},async mkdir(e,t){await n.mkdir(e,{recursive:t?.recursive??!1,mode:t?.mode})},async ensureDir(e){await n.mkdir(e,{recursive:!0})},async remove(e,t){try{await n.rm(e,{recursive:t?.recursive??!1,force:!1})}catch(r){a(r,e)}},async*readDir(e){try{let t=await n.readdir(e,{withFileTypes:!0});for(let r of t)yield{name:r.name,isFile:r.isFile(),isDirectory:r.isDirectory(),isSymlink:r.isSymbolicLink()}}catch(t){a(t,e)}},async copyFile(e,t){await n.copyFile(e,t)},async rename(e,t){await n.rename(e,t)},async makeTempDir(e){let t=e?.dir??w.tmpdir(),r=e?.prefix??"",d=e?.suffix??"",i=await n.mkdtemp(o.join(t,r));if(d){let c=i+d;return await n.rename(i,c),c}return i},async realPath(e){try{return await n.realpath(e)}catch(t){throw t instanceof Error&&"code"in t&&t.code==="ENOENT"?new v(e):t}},watch(e,t){let r=t?.recursive??!0,d=[],i=[],c=[],u=!1,h=l=>{u||(c.length>0?c.shift()({value:l,done:!1}):i.push(l))};for(let l of e)try{let P=O.watch(l,{recursive:r},(y,f)=>{f!==null&&h({kind:y==="rename"?"create":"modify",paths:[o.join(l,f)]})});d.push(P)}catch{}return{close:()=>{u=!0;for(let l of d)l.close();for(let l of c)l({value:void 0,done:!0});c=[]},[Symbol.asyncIterator]:()=>({next:()=>u?Promise.resolve({value:void 0,done:!0}):i.length>0?Promise.resolve({value:i.shift(),done:!1}):new Promise(l=>{c.push(l)})})}},async chmod(e,t){await n.chmod(e,t)},async*walk(e,t){let r=t?.includeDirs??!0,d=t?.includeFiles??!0,i=t?.exts,c=t?.skip,u=async function*(h){let l=await n.readdir(h,{withFileTypes:!0});for(let P of l){let y=o.join(h,P.name);if(c?.some(p=>p.test(y)))continue;let f=P.isSymbolicLink();if(P.isDirectory())r&&(yield{path:y,name:P.name,isFile:!1,isDirectory:!0,isSymlink:f}),yield*u(y);else if(P.isFile()||f){if(!d||i&&!i.some(p=>P.name.endsWith(p.startsWith(".")?p:`.${p}`)))continue;yield{path:y,name:P.name,isFile:P.isFile(),isDirectory:!1,isSymlink:f}}}};yield*u(e)}}},S=()=>({join:o.join,resolve:o.resolve,dirname:o.dirname,basename:o.basename,extname:o.extname,normalize:o.normalize,isAbsolute:o.isAbsolute,relative:o.relative,parse:o.parse,format:o.format,sep:o.sep,delimiter:o.delimiter}),g=async s=>{if(!s)return new Uint8Array(0);let a=[],e=s.getReader();try{for(;;){let{done:i,value:c}=await e.read();if(i)break;a.push(c)}}finally{e.releaseLock()}let t=a.reduce((i,c)=>i+c.length,0),r=new Uint8Array(t),d=0;for(let i of a)r.set(i,d),d+=i.length;return r},A=()=>({async spawn(s,a=[],e){let[t,r,d]=F(e),i=Bun.spawn([s,...a],{cwd:e?.cwd,env:e?.env,stdin:t,stdout:r,stderr:d}),[c,u,h]=await Promise.all([i.exited,g(i.stdout),g(i.stderr)]);return{success:c===0,code:c,stdout:u,stderr:h}},async exec(s,a=[],e){let t=await this.spawn(s,a,e);if(!t.success){let r=new TextDecoder().decode(t.stderr);throw new b(s,t.code,r)}return new TextDecoder().decode(t.stdout).trim()},async execJson(s,a=[],e){let t=await this.exec(s,a,e);return JSON.parse(t)},spawnChild(s,a=[],e){let[t,r,d]=F(e),i=Bun.spawn([s,...a],{cwd:e?.cwd,env:e?.env,stdin:t,stdout:r,stderr:d}),c=i.exited.then(u=>({success:u===0,code:u,signal:void 0}));return{pid:i.pid,stdin:i.stdin,stdout:i.stdout,stderr:i.stderr,status:c,output:async()=>{let[u,h,l]=await Promise.all([c,g(i.stdout),g(i.stderr)]);return{success:u.success,code:u.code,stdout:h,stderr:l}},kill:u=>{i.kill(u)}}}}),W=()=>({get(s){return m.env[s]},set(s,a){m.env[s]=a},delete(s){delete m.env[s]},has(s){return s in m.env},toObject(){let s={};for(let[a,e]of Object.entries(m.env))e!==void 0&&(s[a]=e);return s}}),D=()=>({exit(s){m.exit(s)},setExitCode(s){m.exitCode=s},cwd(){return m.cwd()},chdir(s){m.chdir(s)},hostname(){return w.hostname()},execPath(){return m.execPath},args:m.argv.slice(2),pid:m.pid,stdin:x.toWeb(m.stdin),stdout:k.toWeb(m.stdout),stderr:k.toWeb(m.stderr)}),C=()=>{let s=R(),a=S(),e=A(),t=W(),r=D();return{name:"bun",version:Bun.version,capabilities:E,fs:s,path:a,exec:e,env:t,process:r}};export{E as BUN_CAPABILITIES,C as createBunRuntime};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=r=>({_tag:"Ok",value:r,*[Symbol.iterator](){return yield this}}),E=r=>({_tag:"Fail",error:r,*[Symbol.iterator](){return yield this}}),o=r=>r._tag==="Ok";var n=(r,e)=>o(r)?e.ok(r.value):e.fail(r.error);export{t as a,E as b,n as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var o=e=>e==="inherit"?"inherit":e==="piped"?"pipe":"ignore";var d=e=>({stdin:e?.stdin??"null",stdout:e?.stdout??"piped",stderr:e?.stderr??"piped"}),i=e=>{let t=d(e);return[o(t.stdin),o(t.stdout),o(t.stderr)]};export{d as a,i as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as a,c as l,d}from"./chunk-OLM5RTFK.js";var p=r=>{let e=[];for(let o of r.content)o.kind==="text"&&e.push(o.text);return e.join("")};var i=r=>({...r,maxTokens:r.maxTokens??1024,temperature:r.temperature??.7,requestTimeoutMs:r.requestTimeoutMs??6e4});var y=class{models=new Map;factories=new Map;constructor(e){if(e?.factories!==void 0)for(let o of e.factories)this.factories.set(o.provider,o)}registerFactory(e){this.factories.set(e.provider,e)}async addModel(e,o){if(this.models.has(e))throw new l(e);let t=this.factories.get(o.provider);if(t===void 0)throw new d(o.provider);let n=i(o),s=await t.createModel(n);return this.models.set(e,s),s}async removeModel(e){let o=this.models.get(e);if(o===void 0)throw new a(e);await o.close(),this.models.delete(e)}getDefault(){let e=this.models.get("default");if(e!==void 0)return e;let o=this.models.values().next();return o.done===!0?null:o.value}getNamed(e){return this.models.get(e)??null}getByProvider(e){let o=[];for(let t of this.models.values())t.provider===e&&o.push(t);return o}getByCapability(e){let o=[];for(let t of this.models.values())t.capabilities.includes(e)&&o.push(t);return o}listModels(){return[...this.models.keys()]}listRegisteredProviders(){return[...this.factories.keys()]}async loadFromConfig(e){let o=Object.entries(e.targets);for(let[t,n]of o)await this.addModel(t,n)}async close(){let e=[];for(let o of this.models.values())e.push(o.close());await Promise.all(e),this.models.clear()}};export{p as a,y as b};
|