@qitqode/qitqode-android-arm64 0.1.32 → 0.1.33
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/bundle/{chunk-096pd6c4.js → chunk-0e1vkdze.js} +1 -1
- package/bundle/{chunk-m2q317gh.js → chunk-0h6rn479.js} +1 -1
- package/bundle/{chunk-764fksh3.js → chunk-0t4324w5.js} +1 -1
- package/bundle/chunk-18bj8z8m.js +28 -0
- package/bundle/{chunk-qggcszs2.js → chunk-19g6dhva.js} +1 -1
- package/bundle/{chunk-1r95p0tp.js → chunk-1ap7sh2c.js} +1 -1
- package/bundle/{chunk-85wcc1tp.js → chunk-2bn2b29j.js} +1 -1
- package/bundle/{chunk-2wajs9xv.js → chunk-2et3wkjy.js} +1 -1
- package/bundle/{chunk-avf8v3hb.js → chunk-3bssxmtg.js} +1 -1
- package/bundle/{chunk-20702epe.js → chunk-3dadmgxa.js} +1 -1
- package/bundle/{chunk-7z777y9k.js → chunk-43xt69m8.js} +1 -1
- package/bundle/{chunk-ygs5pzk7.js → chunk-481k3dag.js} +2 -2
- package/bundle/{chunk-wezarrvy.js → chunk-48nm6v8b.js} +1 -1
- package/bundle/{chunk-rza530gm.js → chunk-4fgzp2zd.js} +1 -1
- package/bundle/{chunk-89w3yhf8.js → chunk-4m5yesw8.js} +1 -1
- package/bundle/{chunk-5jx0yadh.js → chunk-5gmjtmc4.js} +2 -2
- package/bundle/{chunk-e5mv5wnt.js → chunk-5v6b8mr6.js} +1 -1
- package/bundle/{chunk-k75jqg60.js → chunk-6r7z94e6.js} +1 -1
- package/bundle/{chunk-s3mnrhbx.js → chunk-711dc303.js} +1 -1
- package/bundle/{chunk-3nx7112w.js → chunk-9bzhxenb.js} +1 -1
- package/bundle/{chunk-wmqsdt2c.js → chunk-9k6hz80e.js} +1 -1
- package/bundle/{chunk-pv67gwce.js → chunk-a1g7jr3r.js} +1 -1
- package/bundle/{chunk-za7mwbye.js → chunk-a1kazz9r.js} +1 -1
- package/bundle/{chunk-59yqvk48.js → chunk-a3aqmm3x.js} +1 -1
- package/bundle/{chunk-634pnryq.js → chunk-aecc391x.js} +1 -1
- package/bundle/{chunk-k5atbdbm.js → chunk-bdd97g5y.js} +1 -1
- package/bundle/{chunk-y6123zvq.js → chunk-bnap670d.js} +1 -1
- package/bundle/chunk-bnmz683j.js +2 -0
- package/bundle/{chunk-nkkch4h7.js → chunk-ccmbckek.js} +1 -1
- package/bundle/{chunk-zqqx96jx.js → chunk-ctpy42xe.js} +1 -1
- package/bundle/{chunk-y7sy3w6z.js → chunk-d2ttw3wf.js} +1 -1
- package/bundle/{chunk-2phz0bn9.js → chunk-d8dsdcb3.js} +1 -1
- package/bundle/{chunk-0c5rxty9.js → chunk-dxje3azs.js} +1 -1
- package/bundle/{chunk-9gazyynx.js → chunk-e1w70zdn.js} +1 -1
- package/bundle/{chunk-w7vh8cxt.js → chunk-ea5ph627.js} +1 -1
- package/bundle/{chunk-r8m7rtfc.js → chunk-etvs6a6y.js} +1 -1
- package/bundle/{chunk-we9cv8we.js → chunk-famryv52.js} +1 -1
- package/bundle/{chunk-d3ermm6d.js → chunk-ff8nb7b3.js} +1 -1
- package/bundle/{chunk-jdynx7m6.js → chunk-fgzk49cr.js} +1 -1
- package/bundle/{chunk-5pb551dx.js → chunk-ftas05da.js} +1 -1
- package/bundle/{chunk-4sc82a27.js → chunk-ftn49yn1.js} +1 -1
- package/bundle/{chunk-pje60pj2.js → chunk-ftnadrks.js} +1 -1
- package/bundle/{chunk-rkyf0cp8.js → chunk-g453xy7p.js} +1 -1
- package/bundle/{chunk-ew9pdrp9.js → chunk-gxq9vh1z.js} +1 -1
- package/bundle/chunk-hdrbyarv.js +3 -0
- package/bundle/{chunk-0e86gt9r.js → chunk-hkqnqw3x.js} +1 -1
- package/bundle/{chunk-wr42tphe.js → chunk-m1s19p9n.js} +1 -1
- package/bundle/{chunk-hnvn2c25.js → chunk-mpkvpn2y.js} +1 -1
- package/bundle/{chunk-zcsgqk9f.js → chunk-mrt1z4m8.js} +1 -1
- package/bundle/{chunk-x25zkrz7.js → chunk-n1600mnf.js} +1 -1
- package/bundle/{chunk-7tr9ejyk.js → chunk-n6wt9m2k.js} +1 -1
- package/bundle/{chunk-56z7x7h4.js → chunk-np50azpb.js} +1 -1
- package/bundle/chunk-p3pemdns.js +2 -0
- package/bundle/{chunk-gz8sz7z1.js → chunk-pfyhg0m7.js} +1 -1
- package/bundle/{chunk-mqd1jsg2.js → chunk-q6pn67ps.js} +1 -1
- package/bundle/{chunk-ezfy0b6q.js → chunk-qn6gdhns.js} +1 -1
- package/bundle/{chunk-w8saweey.js → chunk-r1zf109g.js} +1 -1
- package/bundle/{chunk-mahgmbt9.js → chunk-rbbw7bs0.js} +1 -1
- package/bundle/{chunk-q7vasbxn.js → chunk-rh9vnpgr.js} +1 -1
- package/bundle/{chunk-d9hbhkbq.js → chunk-rryytkmg.js} +1 -1
- package/bundle/{chunk-02jtpxe0.js → chunk-rvfvk2ty.js} +1 -1
- package/bundle/{chunk-6aqyhfag.js → chunk-rzt0ge3t.js} +2 -2
- package/bundle/{chunk-k7aenxan.js → chunk-s08qccxa.js} +1 -1
- package/bundle/{chunk-zaks8cae.js → chunk-s2x0rqj4.js} +1 -1
- package/bundle/{chunk-xrs18kzn.js → chunk-srt5peec.js} +1 -1
- package/bundle/{chunk-caj1b9y7.js → chunk-tc18nbmn.js} +2 -2
- package/bundle/{chunk-ad72gb5f.js → chunk-te47zdxd.js} +1 -1
- package/bundle/{chunk-s6ktx2sx.js → chunk-tt9smgmg.js} +1 -1
- package/bundle/{chunk-k1txw65h.js → chunk-v7ezt8k3.js} +1 -1
- package/bundle/{chunk-15j5cn4t.js → chunk-v7w4nfn7.js} +1 -1
- package/bundle/{chunk-h6f3kbz2.js → chunk-vqg5q96v.js} +1 -1
- package/bundle/{chunk-3wetyrjs.js → chunk-vrc0h1q7.js} +1 -1
- package/bundle/{chunk-0c2p3a6v.js → chunk-vykgpaqt.js} +1 -1
- package/bundle/{chunk-257me4z3.js → chunk-wefez1gt.js} +45 -45
- package/bundle/{chunk-wqj0xasg.js → chunk-x5trw1f5.js} +1 -1
- package/bundle/{chunk-8r6ht39z.js → chunk-xn70ep9n.js} +1 -1
- package/bundle/{chunk-whe7h2mj.js → chunk-yphsjp71.js} +1 -1
- package/bundle/{chunk-r7sqdfad.js → chunk-zzv0yayn.js} +1 -1
- package/bundle/index.js +3 -3
- package/bundle/worker.js +1 -1
- package/package.json +1 -1
- package/bundle/chunk-8dwq41q1.js +0 -28
- package/bundle/chunk-d0damw6y.js +0 -2
- package/bundle/chunk-qadw6j20.js +0 -2
- package/bundle/chunk-xj765svc.js +0 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Ss as a,Ts as b,Us as c,Vs as d,Ws as e,Xs as f,Ys as g,Zs as h}from"./chunk-
|
|
2
|
+
import{Ss as a,Ts as b,Us as c,Vs as d,Ws as e,Xs as f,Ys as g,Zs as h}from"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";export{g as redactValue,e as init,f as flush,d as file,b as enabled,h as create,a as Level,c as Default};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Qf as r}from"./chunk-
|
|
2
|
+
import{Qf as r}from"./chunk-a1g7jr3r.js";import{gh as n}from"./chunk-tc18nbmn.js";import{Dl as e}from"./chunk-wefez1gt.js";async function a(o){let t=await n.runPromise(e.Service.use((i)=>i.getGlobal()));return r(o,t)}function s(o){return o==="127.0.0.1"||o==="localhost"||o==="::1"}function c(o,t){return!s(o.hostname)&&!t&&!o.noAuth}
|
|
3
3
|
export{a as Cd,c as Dd};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{ns as D,ps as h,qs as w,rs as M,ss as O,ts as b,us as y}from"./chunk-
|
|
2
|
+
import{ns as D,ps as h,qs as w,rs as M,ss as O,ts as b,us as y}from"./chunk-hdrbyarv.js";import{DO as N}from"./chunk-7xm75w1e.js";var H={free:{providerID:"qlex",modelID:"free"},default:{providerID:"qlex",modelID:"default"},fast:{providerID:"qlex",modelID:"fast"},economical:{providerID:"qlex",modelID:"economical"},power:{providerID:"qlex",modelID:"power"},orchestrated:{providerID:"qlex",modelID:"orchestrated"}},V={free:"Free (no cost)",default:"Default",fast:"Fast",economical:"Economy",power:"Power",orchestrated:"Orchestrated"},Z={},c="pending",Q=new Set;function F(){return c}function Y(){c="pending",X()}function f(x){return Q.add(x),()=>Q.delete(x)}function X(){for(let x of[...Q])try{x()}catch{}}function q(){for(let x of Object.keys(Z))delete Z[x];c="unavailable",X()}function P(x){return typeof x==="number"&&Number.isFinite(x)&&x>=0&&x<=10}function C(x){if(x===void 0){q();return}let K=x!==null&&typeof x==="object"&&!Array.isArray(x)?x:void 0;if(K?.success===!1){q();return}let J=K?.success===!0&&Object.prototype.hasOwnProperty.call(K,"data")?K.data:x,j={};if(J===null||typeof J!=="object"||Array.isArray(J)){q();return}for(let[W,$]of Object.entries(J)){if(!$||typeof $!=="object"||Array.isArray($)){q();return}let z=$;if(!P(z.intelligence)||!P(z.speed)||!P(z.cost)){q();return}j[W]={intelligence:z.intelligence,speed:z.speed,cost:z.cost}}for(let W of Object.keys(Z))delete Z[W];Object.assign(Z,j),c="live",X()}function B(x){if(!Array.isArray(x)||x.length===0)return;let K={},J={};for(let j of x){let W=H[j.id];K[j.id]={providerID:j.providerID??W?.providerID??"qlex",modelID:j.modelID??W?.modelID??j.id},J[j.id]=j.label??V[j.id]??j.id}for(let j of Object.keys(H))delete H[j];Object.assign(H,K);for(let j of Object.keys(V))delete V[j];Object.assign(V,J)}var G={};N(G,{tiers:()=>A,tierRatingsState:()=>F,tierRatings:()=>L,streamUrl:()=>_,streamBaseUrl:()=>I,sanitizeUpstreamError:()=>g,qlexProviderMeta:()=>E,onTierRatingsChange:()=>f,omniqueryBaseUrl:()=>o,mergeLiveTiers:()=>k,mergeLiveTierRatings:()=>u,markTierRatingsUnavailable:()=>q,loadLiveRatings:()=>m,evaluatePermission:()=>S,copy:()=>v,beginTierRatingsLoad:()=>Y,bashPrefixWith:()=>d,TIER_RATINGS:()=>Z,AGENT_PROMPT_NAMES:()=>T});var p=3,U=[250,750];async function m(x){for(let K=0;K<p;K++){let J=await x();if(J!==void 0)return J;let j=U[K];if(j!==void 0)await new Promise((W)=>setTimeout(W,j))}return}function k(x){B(x)}function u(x){C(x)}function A(){return Object.entries(H).map(([x,K])=>({id:x,label:V[x]??x,providerID:K.providerID,modelID:K.modelID}))}function L(){return Z}function S(x,K,...J){return J.flat().findLast(($)=>D(x,$.permission)&&D(K,$.pattern))??{action:"ask",permission:x,pattern:"*"}}function d(x,K){for(let J=K.length;J>0;J--){let j=K.slice(0,J).join(" "),W=x[j];if(W!==void 0)return K.slice(0,W)}if(K.length===0)return[];return K.slice(0,1)}function _(){return h}function I(){return w}function o(){return M}function E(){return O}function g(x){return b(x)}function v(){return y}var T=["generate","explore","dream","distill","summary","compaction","title"];export{H as Tr,G as Ur};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import{of as p}from"./chunk-hnzegjgv.js";import{Po as c}from"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import{Ur as P}from"./chunk-0t4324w5.js";import{Zs as u}from"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";var A=u({service:"provider.qlex"}),e=P.streamUrl(),DD=P.omniqueryBaseUrl()+"/runOrchestrated";function R(D,H){let J=D;if(H.status!==void 0)J.status=H.status;if(H.upstreamCode!==void 0)J.upstreamCode=H.upstreamCode;J.category=H.category,J.retryable=H.retryable}function w(D,H){return{...D,...H}}class m extends Error{name="QlexNotLoggedInError";constructor(D){super(P.copy().notLoggedIn);R(this,w({category:"invalid_credentials",retryable:!1},D))}}class i extends Error{name="QlexInsufficientBalanceError";constructor(D,H){super(P.copy().insufficientBalance(D));R(this,w({status:402,category:"billing",retryable:!1},H))}}class d extends Error{name="QlexRateLimitError";constructor(D){super(P.copy().rateLimit);R(this,w({status:429,category:"rate_limited",retryable:!0},D))}}class l extends Error{name="QlexInvalidCredentialsError";constructor(D,H){super(P.copy().invalidCredentials(D));R(this,w({status:401,category:"invalid_credentials",retryable:!1},H))}}class n extends Error{name="QlexRequestRejectedError";constructor(D,H,J){super(P.copy().requestRejected(D,H));R(this,w({status:400,category:"request_rejected",retryable:!1},J))}}class r extends Error{name="QlexRequestNotSentError";constructor(D,H){super(P.copy().requestNotSent(D));R(this,w({category:"request_rejected",retryable:!1},H))}}class b extends Error{name="QlexGatewayError";constructor(D,H){super(P.copy().gatewayUnavailable(D));R(this,w({category:"gateway_routing",retryable:!1},H))}}var HD=60000;function bD(D){return P.sanitizeUpstreamError(D)}class C extends Error{name="QlexStreamError";constructor(D,H){super(P.copy().streamFailed(D));R(this,w({category:"unknown",retryable:!1},H))}}function JD(D){return c(D)}function KD(D,H){let J,K,V;try{let Y=JSON.parse(H);if(Y&&typeof Y==="object"){let F=Y.error&&typeof Y.error==="object"?Y.error:void 0;if(typeof F?.code==="string")J=F.code;else if(typeof Y.code==="string")J=Y.code;if(typeof F?.message==="string")K=F.message;else if(typeof Y.message==="string")K=Y.message;if(typeof Y.details?.field==="string")V=Y.details.field}}catch{}let X=J?.toUpperCase()??"",Z=(()=>{if(D===402)return"billing";if(D===413)return"request_too_large";if(D===429)return"rate_limited";if(D===401||D===403)return X==="ERR_GATEWAY_REQUIRED"||JD(H)?"gateway_routing":"invalid_credentials";if(X.includes("CONFIG"))return"configuration";if(D>=500)return"transient";if(D>=400)return"request_rejected";return"unknown"})(),$={status:D,category:Z,retryable:Z==="transient"||Z==="rate_limited"};if(J!==void 0)$.upstreamCode=J;if(K!==void 0)$.upstreamMessage=K;if(V!==void 0)$.field=V;return $}var VD=new Set(["coding","agent","research","review","chat"]);function XD(D){if(D===void 0)return;if(typeof D==="string"&&VD.has(D))return D;throw Error(`invalid Qortex posture: ${String(D)}`)}function ZD(D){if(D===void 0)return;let H=Array.isArray(D)?D:[D];if(H.every((J)=>typeof J==="string"&&/^[^/\s]+\/[^/\s]+$/.test(J)))return Array.isArray(D)?H:D;throw Error(`invalid Qortex directive registry key: ${String(D)}`)}function I(D){if(typeof D==="string")return D;if(Array.isArray(D))return D.map((H)=>{if(typeof H==="string")return H;if(H&&typeof H==="object"){let J=H;if(typeof J.text==="string")return J.text;if(typeof J.content==="string")return J.content}return""}).join("");if(D===void 0||D===null)return"";return String(D)}var $D="[Tool call]",YD="[Tool returned no output]";function s(D){if(!Array.isArray(D))return{messages:D,dropped:[]};let H=[];return{messages:D.flatMap((K,V)=>{if(!K||typeof K!=="object")return H.push({index:V,role:typeof K,reason:"not-an-object"}),[];let X=K,Z=I(X.content);if(Z.trim().length>0)return[{...X,content:Z}];if(X.role==="assistant"&&Array.isArray(X.tool_calls)&&X.tool_calls.length>0)return[{...X,content:$D}];if(X.role==="tool"&&typeof X.tool_call_id==="string"&&X.tool_call_id.trim().length>0)return[{...X,content:YD}];return H.push({index:V,role:typeof X.role==="string"?X.role:"unknown",reason:"empty-content"}),[]}),dropped:H}}function zD(D){return s(D).messages}function jD(D){if(!Array.isArray(D))return!1;return D.some((H)=>!!H&&typeof H==="object"&&H.role==="user")}function WD(D){if(!Array.isArray(D))return!1;return D.some((H)=>{if(!H||typeof H!=="object")return!1;let J=H;if(J.role!=="user")return!1;return I(J.content).trim().length>0})}function FD(D){if(!Array.isArray(D))return D;let H=(X)=>!!X&&typeof X==="object"&&X.role==="system",J=0;while(J<D.length&&H(D[J]))J++;if(J<=1)return D;let K=D.slice(0,J),V=K.map((X)=>typeof X.content==="string"?X.content:String(X.content??"")).filter((X)=>X.length>0).join(`
|
|
3
|
+
|
|
4
|
+
`);return[{...K[0],role:"system",content:V},...D.slice(J)]}var T="<tool_call>",B="</tool_call>";function ND(D){if(!Array.isArray(D)||D.length===0)return;let H=D.map((J)=>{try{return JSON.stringify(J)}catch{return}}).filter((J)=>J!==void 0);if(H.length===0)return;return["# Tools","","You may call one or more functions to assist with the user query.","","You are provided with function signatures within <tools></tools> XML tags:","<tools>",...H,"</tools>","","For each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:","<tool_call>",'{"name": <function-name>, "arguments": <args-json-object>}',"</tool_call>","","Function results will be provided within <tool_response></tool_response> XML tags. Do not write <tool_response> blocks yourself.","Only use the functions declared above. Never invent function names, and never write out a function-call-like block in any other format."].join(`
|
|
5
|
+
`)}function _D(D){let H=D.function??{},J=typeof H.name==="string"?H.name:"",K={};if(typeof H.arguments==="string")try{K=JSON.parse(H.arguments)}catch{K=H.arguments}else if(H.arguments!==void 0)K=H.arguments;return`${T}
|
|
6
|
+
${JSON.stringify({name:J,arguments:K})}
|
|
7
|
+
${B}`}function a(D,H){if(!Array.isArray(D))return D;let J=D.map((V)=>{if(!V||typeof V!=="object")return V;let X=V;if(X.role==="assistant"&&Array.isArray(X.tool_calls)){let Z=X.tool_calls.map(_D).join(`
|
|
8
|
+
`),$=I(X.content),{tool_calls:Y,...F}=X;return{...F,content:$.length>0?`${$}
|
|
9
|
+
${Z}`:Z}}if(X.role==="tool"){let{tool_call_id:Z,name:$,...Y}=X;return{...Y,role:"user",content:`<tool_response>
|
|
10
|
+
${I(X.content)}
|
|
11
|
+
</tool_response>`}}return V}),K=ND(H);if(K){let V=0;while(V<J.length&&!!J[V]&&typeof J[V]==="object"&&J[V].role==="system")V++;J.splice(V,0,{role:"system",content:K})}return J}function UD(){return process.env.QITQODE_TOOL_PROTOCOL==="text"?"text":"native"}function GD(D){if(Array.isArray(D.tools)&&D.tools.length>0)return!0;let H=D.messages;if(!Array.isArray(H))return!1;return H.some((J)=>{if(!J||typeof J!=="object")return!1;let K=J;return K.role==="tool"||K.role==="assistant"&&Array.isArray(K.tool_calls)})}function f(D,H){let J=H?.toolMode??"native",K=D.model??"default",V={stream:D.stream??!0};if(D.temperature!==void 0)V.temperature=D.temperature;if(D.max_tokens!==void 0)V.max_tokens=D.max_tokens;let X=H?.outputAdvisory;if(X){let z=X.tierOutputLimit;if(V.max_tokens!==void 0){if(z!==void 0&&V.max_tokens>z)V.max_tokens=z}else{let q=X.tierRecommendedStepTokens??z;if(q!==void 0)V.max_tokens=q}}if(D.tools!==void 0)V.tools=D.tools;if(D.tool_choice!==void 0)V.tool_choice=D.tool_choice;if(D.stream_options!==void 0)V.stream_options=D.stream_options;let Z=J==="text"?a(D.messages,D.tools):D.messages,$={},Y=XD(D.posture);if(Y!==void 0)$.posture=Y;let F=ZD(D.directive);if(F!==void 0)$.directive=F;if(D.modelPersona!==void 0)$.modelPersona=D.modelPersona;return{tier:K,messages:FD(zD(Z)),opts:V,...$}}var x=new Map;function y(D){return typeof D==="number"&&Number.isFinite(D)&&D>0?D:void 0}function qD(D,H){let J={},K=y(H.tierOutputLimit),V=y(H.tierRecommendedStepTokens);if(K!==void 0)J.tierOutputLimit=K;if(V!==void 0)J.tierRecommendedStepTokens=V;if(J.tierOutputLimit===void 0&&J.tierRecommendedStepTokens===void 0)return;x.set(D,J)}function OD(D){return x.get(D)}function CD(){x.clear()}function LD(D){let H=(J)=>typeof J==="string"&&(J.startsWith("qlex")||J.startsWith("qortex"));return H(D.id)||H(D.object)}function PD(D){let H=[],J=D.indexOf(`
|
|
12
|
+
`)===-1?[D]:D.split(`
|
|
13
|
+
`);for(let Z of J){let $=Z.endsWith("\r")?Z.slice(0,-1):Z;if(!$.startsWith("data:"))continue;let Y=$.slice(5);if(Y.startsWith(" "))Y=Y.slice(1);H.push(Y)}if(H.length===0)return{kind:"skip"};let K=H.length===1?H[0]:H.join(`
|
|
14
|
+
`);if(K==="")return{kind:"skip"};if(K==="[DONE]")return{kind:"done"};if(K.startsWith("[ERROR]"))return{kind:"error",message:K.slice(7).trim()||"qlex stream error"};let V=K.charCodeAt(0),X=V===123||V===91||V===32||V===9||V===10||V===13;try{if(!X)return{kind:"token",content:K};let Z=JSON.parse(K);if(Z&&typeof Z==="object"){let $=Z.id;if($==="qlex-cost"||$==="qortex-cost")return{kind:"cost",cost:Z};if($==="qlex-stream"&&Z.usage&&typeof Z.usage==="object"){let z=Z.choices,q;if(Array.isArray(z)&&z[0]&&typeof z[0]==="object"){let L=z[0].finish_reason;if(typeof L==="string")q=L}return{kind:"usage",usage:Z.usage,finishReason:q}}if(Array.isArray(Z.choices))return{kind:"passthrough",chunk:Z};let Y=Z,F=typeof Y.content==="string"?Y.content:typeof Y.text==="string"?Y.text:typeof Y.delta==="string"?Y.delta:void 0;if(F!==void 0)return{kind:"token",content:F};if(LD(Z)){let z=Z.object;return{kind:"control",control:typeof z==="string"&&z.endsWith(".tier.outputLimits")?"tier-output-limits":"unknown",chunk:Z}}}}catch{}return{kind:"token",content:K}}function QD(D,H){let J=Math.min(D.length,H.length-1);for(let K=J;K>=1;K--)if(H.startsWith(D.slice(D.length-K)))return K;return 0}class o{onText;onToolCall;pending="";inBlock=!1;constructor(D,H){this.onText=D;this.onToolCall=H}feed(D){this.pending+=D,this.drain(!1)}flush(){if(this.drain(!0),this.inBlock)this.emitBlock(this.pending,!0),this.inBlock=!1;else if(this.pending.length>0)this.onText(this.pending);this.pending=""}drain(D){while(!0)if(!this.inBlock){let H=this.pending.indexOf(T);if(H===-1){let J=D?0:QD(this.pending,T),K=this.pending.length-J;if(K>0)this.onText(this.pending.slice(0,K)),this.pending=J>0?this.pending.slice(K):"";return}if(H>0)this.onText(this.pending.slice(0,H));this.pending=this.pending.slice(H+T.length),this.inBlock=!0}else{let H=this.pending.indexOf(B);if(H===-1)return;if(this.emitBlock(this.pending.slice(0,H),!1),this.pending=this.pending.slice(H+B.length),this.pending.startsWith(`\r
|
|
15
|
+
`))this.pending=this.pending.slice(2);else if(this.pending.startsWith(`
|
|
16
|
+
`))this.pending=this.pending.slice(1);this.inBlock=!1}}emitBlock(D,H){try{let J=JSON.parse(D.trim());if(J&&typeof J==="object"&&typeof J.name==="string"){let K=J.arguments;this.onToolCall({name:J.name,arguments:typeof K==="string"?K:JSON.stringify(K??{})});return}}catch{}this.onText(`${T}${D}${H?"":B}`)}}function v(D,H,J){let K={id:"qlex-stream",object:"chat.completion.chunk",created:Math.floor(Date.now()/1000),model:"qlex",choices:[{index:0,delta:D,finish_reason:H}]};if(J)K.usage=J;return`data: ${JSON.stringify(K)}
|
|
17
|
+
|
|
18
|
+
`}function kD(D,H){let J=H?.toolProtocolEnabled===!0,K=H?.tier,V=D.getReader(),X=new TextDecoder,Z=new TextEncoder,$="",Y=!1,F=!1,z,q,L;return new ReadableStream({async start(_){let O=(j)=>{let W=Y?{content:j}:{role:"assistant",content:j};Y=!0,_.enqueue(Z.encode(v(W,null)))},Q=0,U=J?new o(O,(j)=>{let W={...Y?{}:{role:"assistant"},tool_calls:[{index:Q,id:`qlexcall_${Date.now().toString(36)}_${Q}`,type:"function",function:{name:j.name,arguments:j.arguments}}]};Y=!0,Q++,_.enqueue(Z.encode(v(W,null)))}):void 0,E=(j)=>U?U.feed(j):O(j),h=()=>{U?.flush();let j=z||q!==void 0?{prompt_tokens:z?.tokens.prompt??0,completion_tokens:z?.tokens.completion??0,total_tokens:z?.tokens.total??(z?.tokens.prompt??0)+(z?.tokens.completion??0),cost_usd:z?.cost_usd,cost_credits:z?.cost_credits??z?.cost_qredits,context_window:q}:void 0,W=Q>0?"tool_calls":L??"stop";_.enqueue(Z.encode(v({},W,j))),_.enqueue(Z.encode(`data: [DONE]
|
|
19
|
+
|
|
20
|
+
`)),_.close(),F=!0},N=(j)=>{let W=PD(j);switch(W.kind){case"skip":return!1;case"token":return E(W.content),!1;case"passthrough":{let G=W.chunk.choices;if(Array.isArray(G)&&G[0]&&typeof G[0]==="object"){let k=G[0].finish_reason;if(typeof k==="string")L=k}return Y=!0,_.enqueue(Z.encode(`data: ${JSON.stringify(W.chunk)}
|
|
21
|
+
|
|
22
|
+
`)),!1}case"cost":if(W.cost.final)z=W.cost;return!1;case"usage":if(W.usage.context_window!==void 0)q=W.usage.context_window;if(W.finishReason!==void 0)L=W.finishReason;return!1;case"control":{if(W.control==="tier-output-limits"){let G=W.chunk;if(K!==void 0)qD(K,G);A.debug("qlex tier output limits",{tierOutputLimit:G.tierOutputLimit,tierRecommendedStepTokens:G.tierRecommendedStepTokens,tierStepGuidance:G.tierStepGuidance})}else A.debug("qlex control frame dropped",{id:W.chunk.id,object:W.chunk.object});return!1}case"done":return h(),!0;case"error":return _.error(new C(W.message)),F=!0,!0}};try{while(!0){let{done:W,value:G}=await V.read();if(W)break;$+=X.decode(G,{stream:!0});let k;while((k=$.indexOf(`
|
|
23
|
+
|
|
24
|
+
`))!==-1){let S=$.slice(0,k);if($=$.slice(k+2),N(S))return}}$+=X.decode();let j=$.replace(/\r?\n$/,"");if(j.length>0&&N(j))return;if(!F)h()}catch(j){if(!F)_.error(j instanceof C?j:new C(j instanceof Error?j.message:String(j)))}finally{V.releaseLock()}},cancel(_){V.cancel(_).catch(()=>{})}})}function t(D){return{content:typeof D.content==="string"?D.content:D.choices?.[0]?.message?.content??"",finishReason:D.choices?.[0]?.finish_reason??"stop"}}function SD(D){let H=D??{},{content:J,finishReason:K}=t(H),V=H.usage??{},X=V.prompt_tokens??0,Z=V.completion_tokens??0,$="orch-"+Date.now().toString(36),Y=Math.floor(Date.now()/1000),F=(O,Q,U)=>{let E={id:$,object:"chat.completion.chunk",created:Y,model:"orchestrated",choices:[{index:0,delta:O,finish_reason:Q}]};if(U)E.usage=U;return`data: ${JSON.stringify(E)}
|
|
25
|
+
|
|
26
|
+
`},z={prompt_tokens:X,completion_tokens:Z,total_tokens:V.total_tokens??X+Z};if(typeof V.cost_usd==="number")z.cost_usd=V.cost_usd;if(typeof V.cost_credits==="number")z.cost_credits=V.cost_credits;if(typeof V.context_window==="number")z.context_window=V.context_window;let q=[F({role:"assistant",content:""},null),F({content:J},null),F({},K,z),`data: [DONE]
|
|
27
|
+
|
|
28
|
+
`],L=new TextEncoder,_=new ReadableStream({start(O){for(let Q of q)O.enqueue(L.encode(Q));O.close()}});return new Response(_,{status:200,headers:{"content-type":"text/event-stream"}})}function BD(D){let H=D??{},{content:J,finishReason:K}=t(H),V=H.usage??{},X=V.prompt_tokens??0,Z=V.completion_tokens??0,$={id:"orch-"+Date.now(),object:"chat.completion",created:Math.floor(Date.now()/1000),model:"orchestrated",choices:[{index:0,message:{role:"assistant",content:J},finish_reason:K}],usage:{prompt_tokens:X,completion_tokens:Z,total_tokens:V.total_tokens??X+Z,...typeof V.cost_usd==="number"?{cost_usd:V.cost_usd}:{},...typeof V.context_window==="number"?{context_window:V.context_window}:{}}};return new Response(JSON.stringify($),{status:200,headers:{"content-type":"application/json"}})}async function g(D,H,J){let K=KD(D,H),V=H?`HTTP ${D}: ${H}`:`HTTP ${D}`;switch(A.error("gateway rejected request",{tier:J.tier,status:D,category:K.category,upstreamCode:K.upstreamCode,field:K.field,retryable:K.retryable}),K.category){case"billing":return new i(H||void 0,K);case"rate_limited":return new d(K);case"gateway_routing":return new b(`HTTP ${D}`,K);case"invalid_credentials":return await J.onInvalidCredentials?.().catch(()=>{}),new l(V,K);case"request_rejected":case"tool_protocol":case"request_too_large":return new n(K.upstreamMessage??H??void 0,K.field,K);case"configuration":case"transient":case"unknown":default:return new b(V,K)}}function ED(D,H=globalThis.fetch,J,K){let V=K?.responseTimeoutMs??HD;return async(X,Z)=>{if(Z?.method==="POST"&&typeof Z?.body==="string"){let $;try{$=JSON.parse(Z.body)}catch{return H(X,Z)}let Y=UD(),F=OD($.model??"default"),z=f($,{toolMode:Y,outputAdvisory:F});if(jD($.messages)&&!WD(z.messages)){let{dropped:N}=s(Y==="text"?a($.messages,$.tools):$.messages);throw A.error("refusing to send: user message lost in normalization",{tier:z.tier,toolMode:Y,inputRoles:Array.isArray($.messages)?$.messages.map((j)=>j&&typeof j==="object"?String(j.role):"?"):"not-an-array",droppedCount:N.length,dropped:N}),new r("your message could not be turned into sendable content")}let q=await D(),L=typeof q==="string"?{key:q,method:"sso"}:q;if(!L?.key)throw new m;let _=new Headers(Z.headers);if(L.method==="api-key")_.delete("Authorization"),_.set("x-api-key",L.key);else _.delete("x-api-key"),_.set("Authorization",`Bearer ${L.key}`);if(_.set("Content-Type","application/json"),z.tier==="orchestrated"){let N=Z.signal,j=new AbortController,W=()=>j.abort(N?.reason);if(N)if(N.aborted)j.abort(N.reason);else N.addEventListener("abort",W,{once:!0});let G=!1,k=setTimeout(()=>{G=!0,j.abort()},V),S;try{S=await H(DD,{method:"POST",headers:_,body:JSON.stringify(z),signal:j.signal})}catch(M){if(N?.removeEventListener("abort",W),G)throw new b(`no response within ${Math.round(V/1000)}s`);throw M}finally{clearTimeout(k)}if(N?.removeEventListener("abort",W),!S.ok){let M=await S.text().catch(()=>"");throw await g(S.status,M,{onInvalidCredentials:J,tier:z.tier})}return SD(await S.json())}let O=Z.signal,Q=async(N)=>{let j=new AbortController,W=()=>j.abort(O?.reason);if(O)if(O.aborted)j.abort(O.reason);else O.addEventListener("abort",W,{once:!0});let G=()=>O?.removeEventListener("abort",W),k=!1,S=setTimeout(()=>{k=!0,j.abort()},V);try{return{res:await H(e,{method:"POST",headers:_,body:JSON.stringify(N),signal:j.signal}),detach:G}}catch(M){if(G(),k)throw new b(`no response within ${Math.round(V/1000)}s`);throw M}finally{clearTimeout(S)}},{res:U,detach:E}=await Q(z);if(U.status===400&&Y==="native"&&GD($))E(),await U.body?.cancel().catch(()=>{}),{res:U,detach:E}=await Q(f($,{toolMode:"text",outputAdvisory:F}));try{if(!U.ok){let N=await U.text().catch(()=>"");throw await g(U.status,N,{onInvalidCredentials:J,tier:z.tier})}}catch(N){throw E(),N}if($.stream!==!1&&U.body){let N=Array.isArray($.tools)&&$.tools.length>0;return new Response(kD(U.body,{toolProtocolEnabled:N,tier:z.tier}),{status:U.status,statusText:U.statusText,headers:{"content-type":"text/event-stream"}})}return U}return H(X,Z)}}function AD(D){let H=D.getToken??(async()=>D.bearerToken),J=ED(H,globalThis.fetch,D.onInvalidCredentials);return p({name:D.name??"qlex",baseURL:P.streamBaseUrl(),fetch:J})}export{kD as transformQlexStream,SD as toOrchestratedSSEStream,BD as toOpenAICompletion,bD as sanitizeUpstreamProviderError,UD as resolveToolMode,ND as renderToolProtocolPrompt,qD as recordTierOutputAdvisory,QD as partialTagSuffixLength,PD as parseQlexFrame,KD as parseQlexError,s as normalizeQlexMessagesWithReport,zD as normalizeQlexMessages,FD as mergeLeadingSystemMessages,JD as isGatewayRequiredError,jD as hasUserRoleMessage,WD as hasUsableUserMessage,GD as hasToolContext,OD as getTierOutputAdvisory,I as flattenMessageContent,a as encodeToolProtocolMessages,AD as createQlexProvider,ED as createCustomFetch,CD as clearTierOutputAdvisories,f as buildQlexBody,o as ToolCallExtractor,T as TOOL_CALL_OPEN,B as TOOL_CALL_CLOSE,C as QlexStreamError,n as QlexRequestRejectedError,r as QlexRequestNotSentError,d as QlexRateLimitError,m as QlexNotLoggedInError,l as QlexInvalidCredentialsError,i as QlexInsufficientBalanceError,b as QlexGatewayError,e as QLEX_STREAM_URL,HD as QLEX_RESPONSE_TIMEOUT_MS,DD as QLEX_ORCHESTRATED_URL};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Jq as a,Kq as b,Lq as c}from"./chunk-
|
|
2
|
+
import{Jq as a,Kq as b,Lq as c}from"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";export{c as makeRuntime,a as attachWith,b as attach};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Ps as a,Qs as b}from"./chunk-
|
|
2
|
+
import{Ps as a,Qs as b}from"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";export{a as Path,b as Global};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Rd as q}from"./chunk-yajd975f.js";import{Vf as v}from"./chunk-rbk8seme.js";import{gh as S}from"./chunk-
|
|
2
|
+
import{Rd as q}from"./chunk-yajd975f.js";import{Vf as v}from"./chunk-rbk8seme.js";import{gh as S}from"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import{cm as Q,lm as H}from"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import"./chunk-hdrbyarv.js";import{ht as K}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";var P=q({command:"pr <number>",describe:"fetch and checkout a GitHub PR branch, then run qitqode",builder:(Y)=>Y.positional("number",{type:"number",describe:"PR number to checkout",demandOption:!0}),async handler(Y){await H.provide({directory:process.cwd(),async fn(){if(H.project.vcs!=="git")v.error("Could not find git repository. Please run this command from a git repository."),process.exit(1);let J=Y.number,Z=`pr/${J}`;if(v.println(`Fetching and checking out PR #${J}...`),(await K.run(["gh","pr","checkout",`${J}`,"--branch",Z,"--force"],{nothrow:!0})).code!==0)v.error(`Failed to checkout PR #${J}. Make sure you have gh CLI installed and authenticated.`),process.exit(1);let _=await K.text(["gh","pr","view",`${J}`,"--json","headRepository,headRepositoryOwner,isCrossRepository,headRefName,body"],{nothrow:!0}),V;if(_.code===0){let j=_.text;if(j.trim()){let z=JSON.parse(j);if(z&&z.isCrossRepository&&z.headRepository&&z.headRepositoryOwner){let L=z.headRepositoryOwner.login,W=z.headRepository.name,C=L;if(!(await S.runPromise(Q.Service.use((F)=>F.run(["remote"],{cwd:H.worktree}))).then((F)=>F.text().trim())).split(`
|
|
3
3
|
`).includes(C))await S.runPromise(Q.Service.use((F)=>F.run(["remote","add",C,`https://github.com/${L}/${W}.git`],{cwd:H.worktree}))),v.println(`Added fork remote: ${C}`);let X=z.headRefName;await S.runPromise(Q.Service.use((F)=>F.run(["branch",`--set-upstream-to=${C}/${X}`,Z],{cwd:H.worktree})))}if(z&&z.body){let L=z.body.match(/https:\/\/opncd\.ai\/s\/([a-zA-Z0-9_-]+)/);if(L){let W=L[0];v.println(`Found qitqode session: ${W}`),v.println("Importing session...");let C=await K.text(["qitqode","import",W],{nothrow:!0});if(C.code===0){let X=C.text.trim().match(/Imported session: ([a-zA-Z0-9_-]+)/);if(X)V=X[1],v.println(`Session imported: ${V}`)}}}}}v.println(`Successfully checked out PR #${J} as branch '${Z}'`),v.println(),v.println("Starting qitqode..."),v.println();let D=V?["-s",V]:[],$=await K.spawn(["qitqode",...D],{stdin:"inherit",stdout:"inherit",stderr:"inherit",cwd:process.cwd()}).exited;if($!==0)throw Error(`qitqode exited with code ${$}`)}})}});export{P as PrCommand};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{i as P,j as g,k as b,l as h,m as O}from"./chunk-rvkrgkeq.js";import"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Rd as u}from"./chunk-yajd975f.js";import{Vf as s}from"./chunk-rbk8seme.js";import{gh as f}from"./chunk-
|
|
2
|
+
import{i as P,j as g,k as b,l as h,m as O}from"./chunk-rvkrgkeq.js";import"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Rd as u}from"./chunk-yajd975f.js";import{Vf as s}from"./chunk-rbk8seme.js";import{gh as f}from"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import{ai as E}from"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import{$j as p,_j as S}from"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import{Zy as I}from"./chunk-gagtmjmp.js";import{LC as D,pH as l,uB as d}from"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";var A=(o)=>l.promise(()=>E(o)),m=(o)=>l.sync(()=>s.println(o)),v=(o)=>s.Style.TEXT_DIM+o+s.Style.TEXT_NORMAL,L=(o)=>o?v(" (active)"):"",w=(o,e)=>`${o.email} ${v(o.url)}${L(e)}`,x=(o,e,t)=>`${e.name} (${o.email})${L(t)}`,C=(o,e,t)=>{let n=t?s.Style.TEXT_SUCCESS+"\u25CF"+s.Style.TEXT_NORMAL:" ",c=t?s.Style.TEXT_HIGHLIGHT_BOLD+e.name+s.Style.TEXT_NORMAL:e.name;return` ${n} ${c} ${v(o.email)} ${v(o.url)} ${v(e.id)}`},T=(o,e)=>d.isSome(o)&&o.value.id===e.accountID&&o.value.active_org_id===e.orgID,_=l.fn("login")(function*(o){let e=yield*p.Service;yield*P("Log in");let t=yield*e.login(o);yield*b.info("Go to: "+t.url),yield*b.info("Enter code: "+t.user),yield*A(t.url);let n=O();yield*n.start("Waiting for authorization...");let c=(r)=>l.gen(function*(){yield*l.sleep(r);let i=yield*e.poll(t);if(i._tag==="PollPending")return yield*c(r);if(i._tag==="PollSlow")return yield*c(D.sum(r,D.seconds(5)));return i}),a=yield*c(t.interval).pipe(l.timeout(t.expiry),l.catchTag("TimeoutError",()=>l.succeed(new S)));yield*I.valueTags(a,{PollSuccess:(r)=>l.gen(function*(){yield*n.stop("Logged in as "+r.email),yield*g("Done")}),PollExpired:()=>n.stop("Device code expired",1),PollDenied:()=>n.stop("Authorization denied",1),PollError:(r)=>n.stop("Error: "+String(r.cause),1),PollPending:()=>n.stop("Unexpected state",1),PollSlow:()=>n.stop("Unexpected state",1)})}),N=l.fn("logout")(function*(o){let e=yield*p.Service,t=yield*e.list();if(t.length===0)return yield*m("Not logged in");if(o){let i=t.find((y)=>y.email===o);if(!i)return yield*m("Account not found: "+o);yield*e.remove(i.id),yield*g("Logged out from "+o);return}let n=yield*e.active(),c=d.map(n,(i)=>i.id);yield*P("Log out");let a=t.map((i)=>{let y=d.isSome(c)&&c.value===i.id;return{value:i,label:w(i,y)}}),r=yield*h({message:"Select account to log out",options:a});if(d.isNone(r))return;yield*e.remove(r.value.id),yield*g("Logged out from "+r.value.email)}),$=l.fn("switch")(function*(){let o=yield*p.Service,e=yield*o.orgsByAccount();if(e.length===0)return yield*m("Not logged in");let t=yield*o.active(),n=e.flatMap((r)=>r.orgs.map((i)=>{let y=T(t,{accountID:r.account.id,orgID:i.id});return{value:{orgID:i.id,accountID:r.account.id,label:i.name},label:x(r.account,i,y)}}));if(n.length===0)return yield*m("No orgs found");yield*P("Switch org");let c=yield*h({message:"Select org",options:n});if(d.isNone(c))return;let a=c.value;yield*o.use(a.accountID,d.some(a.orgID)),yield*g("Switched to "+a.label)}),R=l.fn("orgs")(function*(){let o=yield*p.Service,e=yield*o.orgsByAccount();if(e.length===0)return yield*m("No accounts found");if(!e.some((n)=>n.orgs.length>0))return yield*m("No orgs found");let t=yield*o.active();for(let n of e)for(let c of n.orgs){let a=T(t,{accountID:n.account.id,orgID:c.id});yield*m(C(n.account,c,a))}}),M=l.fn("open")(function*(){let e=yield*(yield*p.Service).active();if(d.isNone(e))return yield*m("No active account");let t=e.value.url;yield*A(t),yield*g("Opened "+t)}),X=u({command:"login <url>",describe:!1,builder:(o)=>o.positional("url",{describe:"server URL",type:"string",demandOption:!0}),async handler(o){s.empty(),await f.runPromise(_(o.url))}}),B=u({command:"logout [email]",describe:!1,builder:(o)=>o.positional("email",{describe:"account email to log out from",type:"string"}),async handler(o){s.empty(),await f.runPromise(N(o.email))}}),U=u({command:"switch",describe:!1,async handler(){s.empty(),await f.runPromise($())}}),G=u({command:"orgs",describe:!1,async handler(){s.empty(),await f.runPromise(R())}}),H=u({command:"open",describe:!1,async handler(){s.empty(),await f.runPromise(M())}}),Y=u({command:"console",describe:!1,builder:(o)=>o.command({...X,describe:"log in to console"}).command({...B,describe:"log out from console"}).command({...U,describe:"switch active org"}).command({...G,describe:"list orgs"}).command({...H,describe:"open active console account"}).demandCommand(),async handler(){}});export{C as formatOrgLine,w as formatAccountLabel,U as SwitchCommand,G as OrgsCommand,H as OpenCommand,B as LogoutCommand,X as LoginCommand,Y as ConsoleCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Fd as y,Hd as T,Id as t,Jd as O,Kd as l,Md as v,Nd as Q,Od as X,Pd as J}from"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Rd as w}from"./chunk-yajd975f.js";import{Vf as f}from"./chunk-rbk8seme.js";import{Mg as Y,Ng as mt,Og as pt,Pg as st,Qg as et,Rg as ft,Sg as E,gh as q}from"./chunk-
|
|
2
|
+
import{Fd as y,Hd as T,Id as t,Jd as O,Kd as l,Md as v,Nd as Q,Od as X,Pd as J}from"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Rd as w}from"./chunk-yajd975f.js";import{Vf as f}from"./chunk-rbk8seme.js";import{Mg as Y,Ng as mt,Og as pt,Pg as st,Qg as et,Rg as ft,Sg as E,gh as q}from"./chunk-tc18nbmn.js";import{Dh as Mt}from"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import{Dl as F,Wj as nt,bk as L}from"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import{lm as $}from"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import{Kn as P,Ln as h}from"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import{Qs as A,Vr as g}from"./chunk-hdrbyarv.js";import{st as D}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import{pH as a}from"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import{BO as ut}from"./chunk-7xm75w1e.js";import W from"path";function G(o){switch(o){case"authenticated":return"\u2713";case"expired":return"\u26A0";case"not_authenticated":return"\u2717"}}function H(o){switch(o){case"authenticated":return"authenticated";case"expired":return"expired";case"not_authenticated":return"not authenticated"}}function N(o){return typeof o==="object"&&o!==null&&"type"in o}function k(o){return N(o)&&o.type==="remote"}function B(o){return Object.entries(o.mcp??{}).filter((e)=>N(e[1]))}function U(o,e){let r=o.mcp_origins?.[e];if(!r)return"qitqode";let i=A.Path.home,m=r.source===i?"~":r.source.startsWith(i+W.sep)?"~"+r.source.slice(i.length):r.source;return`${r.type}:${m}`}function C(o){return B(o).filter((e)=>k(e[1])&&e[1].oauth!==!1)}async function I(){return q.runPromise(a.gen(function*(){let o=yield*F.Service,e=yield*E.Service,r=yield*o.get(),i=yield*e.status(),m=yield*a.all(Object.fromEntries(B(r).map(([p])=>[p,e.hasStoredTokens(p)])),{concurrency:"unbounded"});return{config:r,statuses:i,stored:m}}))}async function S(){return q.runPromise(a.gen(function*(){let o=yield*F.Service,e=yield*E.Service,r=yield*o.get(),i=yield*a.all(Object.fromEntries(C(r).map(([m])=>[m,e.getAuthStatus(m)])),{concurrency:"unbounded"});return{config:r,auth:i}}))}async function V(o,e=!1){let r=[W.join(o,"qitqode.json"),W.join(o,"qitqode.jsonc")];if(!e)r.push(W.join(o,".qitqode","qitqode.json"),W.join(o,".qitqode","qitqode.jsonc"));for(let i of r)if(await D.exists(i))return i;return r[0]}async function R(o,e,r){let i="{}";if(await D.exists(r))i=await D.readText(r);let m=P(i,["mcp",o],e,{formattingOptions:{tabSize:2,insertSpaces:!0}});return await D.write(r,h(i,m)),r}var tt=ut(Mt(),1);function yt(o){let e=tt.parse(o);if(!e.every((r)=>typeof r==="string"))throw Error("Shell operators are not supported; enter only the command and its arguments");if(e.length===0)throw Error("Command is required");return e}var ot=w({command:"add",describe:"add an MCP server",async handler(){await $.provide({directory:process.cwd(),async fn(){f.empty(),O("Add MCP server");let o=$.project,[e,r]=await Promise.all([V($.worktree),V(A.Path.config,!0)]),i=r;if(o.vcs==="git"){let c=await X({message:"Location",options:[{label:"Current project",value:e,hint:e},{label:"Global",value:r,hint:r}]});if(y(c))throw new f.CancelledError;i=c}let m=await J({message:"Enter MCP server name",validate:(c)=>c&&c.length>0?void 0:"Required"});if(y(m))throw new f.CancelledError;let p=await X({message:"Select MCP server type",options:[{label:"Local",value:"local",hint:"Run a local command"},{label:"Remote",value:"remote",hint:"Connect to a remote URL"}]});if(y(p))throw new f.CancelledError;if(p==="local"){let c=await J({message:"Enter command to run",placeholder:"e.g., qode x @modelcontextprotocol/server-filesystem",validate:(s)=>s&&s.length>0?void 0:"Required"});if(y(c))throw new f.CancelledError;let u;try{u=yt(c)}catch(s){t.error(s instanceof Error?s.message:"Invalid command"),l("MCP server was not added");return}await R(m,{type:"local",command:u},i),t.success(`MCP server "${m}" added to ${i}`),l("MCP server added successfully");return}if(p==="remote"){let c=await J({message:"Enter MCP server URL",placeholder:"e.g., https://example.com/mcp",validate:(s)=>{if(!s)return"Required";if(s.length===0)return"Required";return URL.canParse(s)?void 0:"Invalid URL"}});if(y(c))throw new f.CancelledError;let u=await T({message:"Does this server require OAuth authentication?",initialValue:!1});if(y(u))throw new f.CancelledError;let n;if(u){let s=await T({message:"Do you have a pre-registered client ID?",initialValue:!1});if(y(s))throw new f.CancelledError;if(s){let d=await J({message:"Enter client ID",validate:(j)=>j&&j.length>0?void 0:"Required"});if(y(d))throw new f.CancelledError;let M=await T({message:"Do you have a client secret?",initialValue:!1});if(y(M))throw new f.CancelledError;let _;if(M){let j=await v({message:"Enter client secret"});if(y(j))throw new f.CancelledError;_=j}n={type:"remote",url:c,oauth:{clientId:d,..._&&{clientSecret:_}}}}else n={type:"remote",url:c,oauth:{}}}else n={type:"remote",url:c,oauth:!1};await R(m,n,i),t.success(`MCP server "${m}" added to ${i}`)}l("MCP server added successfully")}})}});var it=w({command:"list",aliases:["ls"],describe:"list MCP servers and their status",async handler(){await $.provide({directory:process.cwd(),async fn(){f.empty(),O("MCP Servers");let{config:o,statuses:e,stored:r}=await I(),i=B(o);if(i.length===0){t.warn("No MCP servers configured"),l("Add servers with: qode mcp add");return}for(let[m,p]of i){let c=e[m],u=k(p)&&p.oauth!==!1,n=r[m],s,d,M="";if(!c)s="\u25CB",d="not initialized";else if(c.status==="connected"){if(s="\u2713",d="connected",u&&n)M=" (OAuth)"}else if(c.status==="disabled")s="\u25CB",d="disabled";else if(c.status==="pending")s="\u25CB",d="pending approval";else if(c.status==="needs_auth")s="\u26A0",d="needs authentication";else if(c.status==="needs_client_registration")s="\u2717",d="needs client registration",M=`
|
|
3
3
|
`+c.error;else s="\u2717",d="failed",M=`
|
|
4
4
|
`+c.error;let _=p.type==="remote"?L.redactString(p.url):L.redactCommand(p.command).join(" ");t.info(`${s} ${m} ${f.Style.TEXT_DIM}${d} ${U(o,m)}${M}
|
|
5
5
|
${f.Style.TEXT_DIM}${_}`)}l(`${i.length} server(s)`)}})}});var dt=w({command:"auth [name]",describe:"authenticate with an OAuth-enabled MCP server",builder:(o)=>o.positional("name",{describe:"name of the MCP server",type:"string"}).command(ct),async handler(o){await $.provide({directory:process.cwd(),async fn(){f.empty(),O("MCP OAuth Authentication");let{config:e,auth:r}=await S(),i=e.mcp??{},m=C(e);if(m.length===0){t.warn("No OAuth-capable MCP servers configured"),t.info("Remote MCP servers support OAuth by default. Add a remote server in qitqode.json:"),t.info(`
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{mg as a,ng as b,og as c}from"./chunk-
|
|
2
|
+
import{mg as a,ng as b,og as c}from"./chunk-xn70ep9n.js";import"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";export{b as run,a as encodeDir,c as ClaudeImport};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Kg as a}from"./chunk-
|
|
2
|
+
import{Kg as a}from"./chunk-ff8nb7b3.js";import{Xg as t,gh as c}from"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import{ut as i}from"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";var n=i.object({name:a.shape.name,branch:a.shape.branch.unwrap(),directory:a.shape.directory.unwrap()}),d={name:"Worktree",description:"Create a git worktree",async configure(e){let r=await c.runPromise(t.Service.use((o)=>o.makeWorktreeInfo()));return{...e,name:r.name,branch:r.branch,directory:r.directory}},async create(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.createFromInfo({name:r.name,directory:r.directory,branch:r.branch})))},async remove(e){let r=n.parse(e);await c.runPromise(t.Service.use((o)=>o.remove({directory:r.directory})))},target(e){return{type:"local",directory:n.parse(e).directory}}};export{d as WorktreeAdaptor};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{$k as yJ,Al as uX,Bk as KH,Bl as dX,Ck as QH,Cl as Y1,Dl as R$,Ek as qZ,Fk as FZ,Gk as pG,Jk as RZ,Kk as Q1,Lk as M8,Mk as d7,Nk as LZ,Ok as NZ,Pk as FX,Qk as IX,Rk as AX,Sk as SX,Tk as wX,Uk as fV,Vk as xV,Wj as P$,Xj as r8,Xk as E$,Yk as VH,Zk as GH,al as TX,bl as kX,ck as Xq,cl as EX,dk as GV,ek as H7,el as a_,ik as J1,il as VX,jl as xX,kk as F0,lk as IJ,mk as f2,ml as L1,ol as z2,pk as b0,pl as WH,qk as z8,rl as B1,tk as kK,tl as k0,uk as EK,vk as R1,wk as EV,yk as D6,zk as YH}from"./chunk-
|
|
2
|
+
import{$k as yJ,Al as uX,Bk as KH,Bl as dX,Ck as QH,Cl as Y1,Dl as R$,Ek as qZ,Fk as FZ,Gk as pG,Jk as RZ,Kk as Q1,Lk as M8,Mk as d7,Nk as LZ,Ok as NZ,Pk as FX,Qk as IX,Rk as AX,Sk as SX,Tk as wX,Uk as fV,Vk as xV,Wj as P$,Xj as r8,Xk as E$,Yk as VH,Zk as GH,al as TX,bl as kX,ck as Xq,cl as EX,dk as GV,ek as H7,el as a_,ik as J1,il as VX,jl as xX,kk as F0,lk as IJ,mk as f2,ml as L1,ol as z2,pk as b0,pl as WH,qk as z8,rl as B1,tk as kK,tl as k0,uk as EK,vk as R1,wk as EV,yk as D6,zk as YH}from"./chunk-wefez1gt.js";import{El as g9}from"./chunk-ccmbckek.js";import{Rl as PG,Sl as bH,Vl as V0,Wl as e$,Xl as $1,Yl as JJ,bm as z$,cm as BJ,fm as U2,lm as H$,mm as i,om as O1}from"./chunk-711dc303.js";import{qm as C9,rm as f6,sm as S1,tm as XJ,xm as Z0}from"./chunk-qn6gdhns.js";import{Am as XX,Nm as f1,Um as t0,Vm as i$,Wm as e0,Xm as b2,Ym as WX,_m as G$,an as _0,bn as NJ,dn as $Z,jn as h7,wn as m1,xn as O8}from"./chunk-bn0h9dny.js";import{Pn as g6}from"./chunk-9bzhxenb.js";import{ho as ZZ,io as vV,jo as YZ,lo as U1}from"./chunk-vcw00k0n.js";import{Bo as e}from"./chunk-famryv52.js";import{Co as T2}from"./chunk-2hc5z7b5.js";import{Do as x$}from"./chunk-e1w70zdn.js";import{Bq as ZH}from"./chunk-n9xns8by.js";import{Lq as HZ}from"./chunk-rryytkmg.js";import{br as G2,cr as $V,ir as v1,jr as X2}from"./chunk-d6ry9418.js";import{Sr as l9}from"./chunk-4cnwn1rh.js";import{Ur as BH}from"./chunk-0t4324w5.js";import{Cs as WZ,Ls as D0,Ps as H8,Qs as f$,Rs as k$,Vr as E2,Yr as d9,Zr as tU,_s as O$,as as eU,bs as $H,ds as q9,zs as jK}from"./chunk-hdrbyarv.js";import{$s as qG,dt as MH,ht as B9,kt as h9,nt as y2,ot as $$,st as O0}from"./chunk-tqj69nh6.js";import{ut as F}from"./chunk-5tray1fw.js";import{EI as Z8,IN as HJ,LC as h2,OE as f,QN as l$,RM as F$,VE as EH,WD as n0,YI as b1,_I as kG,aO as eQ,hF as xH,iE as H0,pH as G,rB as JH,rN as IU,sN as EG,uB as p1,vN as AU,xN as _Z,yE as UJ,zC as D$}from"./chunk-zs8kqdsf.js";import{vO as k3}from"./chunk-dxpj0cxh.js";import{BO as A9,CO as p,DO as o$,FO as u0,GO as S9,HO as w9}from"./chunk-7xm75w1e.js";var wK=p((pS,P9)=>{function FK($){return Array.isArray($)?$:[$]}var w_=void 0,d6="",OK=" ",u6="\\",R_=/^\s+$/,L_=/(?:[^\\]|^)\\$/,N_=/^\\!/,y_=/^\\#/,T_=/\r?\n/g,k_=/^\.{0,2}\/|^\.{1,2}$/,E_=/\/$/,WJ="/",zK="node-ignore";if(typeof Symbol<"u")zK=Symbol.for("node-ignore");var CK=zK,jJ=($,J,Z)=>{return Object.defineProperty($,J,{value:Z}),Z},x_=/([0-z])-([0-z])/g,MK=()=>!1,b_=($)=>$.replace(x_,(J,Z,Y)=>Z.charCodeAt(0)<=Y.charCodeAt(0)?J:d6),v_=($)=>{let{length:J}=$;return $.slice(0,J-J%2)},h_=[[/^\uFEFF/,()=>d6],[/((?:\\\\)*?)(\\?\s+)$/,($,J,Z)=>J+(Z.indexOf("\\")===0?OK:d6)],[/(\\+?)\s/g,($,J)=>{let{length:Z}=J;return J.slice(0,Z-Z%2)+OK}],[/[\\$.|*+(){^]/g,($)=>`\\${$}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return!/\/(?!$)/.test(this)?"(?:^|\\/)":"^"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,($,J,Z)=>J+6<Z.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,($,J,Z)=>{let Y=Z.replace(/\\\*/g,"[^\\/]*");return J+Y}],[/\\\\\\(?=[$.|*+(){^])/g,()=>u6],[/\\\\/g,()=>u6],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,($,J,Z,Y,K)=>J===u6?`\\[${Z}${v_(Y)}${K}`:K==="]"?Y.length%2===0?`[${b_(Z)}${Y}]`:"[]":"[]"],[/(?:[^*])$/,($)=>/\/$/.test($)?`${$}$`:`${$}(?=$|\\/$)`]],g_=/(^|\\\/)?\\\*$/,Y8="regex",M9="checkRegex",qK="_",f_={[Y8]($,J){return`${J?`${J}[^/]+`:"[^/]*"}(?=$|\\/$)`},[M9]($,J){return`${J?`${J}[^/]*`:"[^/]*"}(?=$|\\/$)`}},m_=($)=>h_.reduce((J,[Z,Y])=>J.replace(Z,Y.bind($)),$),D9=($)=>typeof $==="string",u_=($)=>$&&D9($)&&!R_.test($)&&!L_.test($)&&$.indexOf("#")!==0,d_=($)=>$.split(T_).filter(Boolean);class DK{constructor($,J,Z,Y,K,Q){this.pattern=$,this.mark=J,this.negative=K,jJ(this,"body",Z),jJ(this,"ignoreCase",Y),jJ(this,"regexPrefix",Q)}get regex(){let $=qK+Y8;if(this[$])return this[$];return this._make(Y8,$)}get checkRegex(){let $=qK+M9;if(this[$])return this[$];return this._make(M9,$)}_make($,J){let Z=this.regexPrefix.replace(g_,f_[$]),Y=this.ignoreCase?new RegExp(Z,"i"):new RegExp(Z);return jJ(this,J,Y)}}var p_=({pattern:$,mark:J},Z)=>{let Y=!1,K=$;if(K.indexOf("!")===0)Y=!0,K=K.substr(1);K=K.replace(N_,"!").replace(y_,"#");let Q=m_(K);return new DK($,J,K,Z,Y,Q)};class PK{constructor($){this._ignoreCase=$,this._rules=[]}_add($){if($&&$[CK]){this._rules=this._rules.concat($._rules._rules),this._added=!0;return}if(D9($))$={pattern:$};if(u_($.pattern)){let J=p_($,this._ignoreCase);this._added=!0,this._rules.push(J)}}add($){return this._added=!1,FK(D9($)?d_($):$).forEach(this._add,this),this._added}test($,J,Z){let Y=!1,K=!1,Q;this._rules.forEach((X)=>{let{negative:W}=X;if(K===W&&Y!==K||W&&!Y&&!K&&!J)return;if(!X[Z].test($))return;Y=!W,K=W,Q=W?w_:X});let V={ignored:Y,unignored:K};if(Q)V.rule=Q;return V}}var c_=($,J)=>{throw new J($)},h1=($,J,Z)=>{if(!D9($))return Z(`path must be a string, but got \`${J}\``,TypeError);if(!$)return Z("path must not be empty",TypeError);if(h1.isNotRelative($))return Z(`path should be a \`path.relative()\`d string, but got "${J}"`,RangeError);return!0},IK=($)=>k_.test($);h1.isNotRelative=IK;h1.convert=($)=>$;class AK{constructor({ignorecase:$=!0,ignoreCase:J=$,allowRelativePaths:Z=!1}={}){jJ(this,CK,!0),this._rules=new PK(J),this._strictPathCheck=!Z,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add($){if(this._rules.add($))this._initCache();return this}addPattern($){return this.add($)}_test($,J,Z,Y){let K=$&&h1.convert($);return h1(K,$,this._strictPathCheck?c_:MK),this._t(K,J,Z,Y)}checkIgnore($){if(!E_.test($))return this.test($);let J=$.split(WJ).filter(Boolean);if(J.pop(),J.length){let Z=this._t(J.join(WJ)+WJ,this._testCache,!0,J);if(Z.ignored)return Z}return this._rules.test($,!1,M9)}_t($,J,Z,Y){if($ in J)return J[$];if(!Y)Y=$.split(WJ).filter(Boolean);if(Y.pop(),!Y.length)return J[$]=this._rules.test($,Z,Y8);let K=this._t(Y.join(WJ)+WJ,J,Z,Y);return J[$]=K.ignored?K:this._rules.test($,Z,Y8)}ignores($){return this._test($,this._ignoreCache,!1).ignored}createFilter(){return($)=>!this.ignores($)}filter($){return FK($).filter(this.createFilter())}test($){return this._test($,this._testCache,!0)}}var p6=($)=>new AK($),l_=($)=>h1($&&h1.convert($),$,MK),SK=()=>{let $=(Z)=>/^\\\\\?\\/.test(Z)||/["<>|\u0000-\u001F]+/u.test(Z)?Z:Z.replace(/\\/g,"/");h1.convert=$;let J=/^[a-z]:\//i;h1.isNotRelative=(Z)=>J.test(Z)||IK(Z)};if(typeof process<"u"&&process.platform==="win32")SK();P9.exports=p6;p6.default=p6;P9.exports.isPathValid=l_;jJ(P9.exports,Symbol.for("setupWindows"),SK)});var R9=p((q4)=>{q4.isInteger=($)=>{if(typeof $==="number")return Number.isInteger($);if(typeof $==="string"&&$.trim()!=="")return Number.isInteger(Number($));return!1};q4.find=($,J)=>$.nodes.find((Z)=>Z.type===J);q4.exceedsLimit=($,J,Z=1,Y)=>{if(Y===!1)return!1;if(!q4.isInteger($)||!q4.isInteger(J))return!1;return(Number(J)-Number($))/Number(Z)>=Y};q4.escapeNode=($,J=0,Z)=>{let Y=$.nodes[J];if(!Y)return;if(Z&&Y.type===Z||Y.type==="open"||Y.type==="close"){if(Y.escaped!==!0)Y.value="\\"+Y.value,Y.escaped=!0}};q4.encloseBrace=($)=>{if($.type!=="brace")return!1;if($.commas>>0+$.ranges>>0===0)return $.invalid=!0,!0;return!1};q4.isInvalidBrace=($)=>{if($.type!=="brace")return!1;if($.invalid===!0||$.dollar)return!0;if($.commas>>0+$.ranges>>0===0)return $.invalid=!0,!0;if($.open!==!0||$.close!==!0)return $.invalid=!0,!0;return!1};q4.isOpenOrClose=($)=>{if($.type==="open"||$.type==="close")return!0;return $.open===!0||$.close===!0};q4.reduce=($)=>$.reduce((J,Z)=>{if(Z.type==="text")J.push(Z.value);if(Z.type==="range")Z.type="text";return J},[]);q4.flatten=(...$)=>{let J=[],Z=(Y)=>{for(let K=0;K<Y.length;K++){let Q=Y[K];if(Array.isArray(Q)){Z(Q);continue}if(Q!==void 0)J.push(Q)}return J};return Z($),J}});var L9=p((Gw,gK)=>{var hK=R9();gK.exports=($,J={})=>{let Z=(Y,K={})=>{let Q=J.escapeInvalid&&hK.isInvalidBrace(K),V=Y.invalid===!0&&J.escapeInvalid===!0,X="";if(Y.value){if((Q||V)&&hK.isOpenOrClose(Y))return"\\"+Y.value;return Y.value}if(Y.value)return Y.value;if(Y.nodes)for(let W of Y.nodes)X+=Z(W);return X};return Z($)}});var mK=p((Xw,fK)=>{/*!
|
|
3
3
|
* is-number <https://github.com/jonschlinkert/is-number>
|
|
4
4
|
*
|
|
5
5
|
* Copyright (c) 2014-present, Jon Schlinkert.
|
|
@@ -7204,7 +7204,7 @@ For full type signatures, all available fields, and more examples:
|
|
|
7204
7204
|
- Cannot modify the permission system
|
|
7205
7205
|
- Tool output truncated at 50KB / 2000 lines
|
|
7206
7206
|
- Prefer small, composable extensions over monolithic ones
|
|
7207
|
-
`}}}catch($){if($ instanceof ReferenceError)return jV();throw $}}var Oq=_q(),qq=O$.create({service:"skill.builtin"}),HV=G.fn("Skill.extractBuiltinBundle")(function*($){let J=UV.join(H8.data,"builtin_skills",E2),Z=UV.join(J,".extracted");return yield*m9({fsys:$,bundle:Oq,root:J,marker:Z,markerContent:E2,skipIfPresent:!d9,onExtracted:(Y)=>qq.info("extracted builtin skills",{root:Y})})});var B8=O$.create({service:"skill"}),Cq=[".claude",".agents",".codex",".opencode"],BV="skills/**/SKILL.md",Mq="{skill,skills}/**/SKILL.md",p9="**/SKILL.md",_V=F.object({name:F.string(),description:F.string(),location:F.string(),content:F.string(),hidden:F.boolean().optional()}),Dq=l9.create("SkillInvalidError",F.object({path:F.string(),message:F.string().optional(),issues:F.custom().optional()})),Pq=l9.create("SkillNameMismatchError",F.object({path:F.string(),expected:F.string(),actual:F.string()})),Iq=G.fnUntraced(function*($,J,Z){let Y=yield*G.tryPromise({try:()=>H7.parse(J),catch:(Q)=>Q}).pipe(G.catch(G.fnUntraced(function*(Q){let V=H7.FrontmatterError.isInstance(Q)?Q.data.message:`Failed to parse skill ${J}`,{Session:X}=yield*G.promise(()=>import("./chunk-
|
|
7207
|
+
`}}}catch($){if($ instanceof ReferenceError)return jV();throw $}}var Oq=_q(),qq=O$.create({service:"skill.builtin"}),HV=G.fn("Skill.extractBuiltinBundle")(function*($){let J=UV.join(H8.data,"builtin_skills",E2),Z=UV.join(J,".extracted");return yield*m9({fsys:$,bundle:Oq,root:J,marker:Z,markerContent:E2,skipIfPresent:!d9,onExtracted:(Y)=>qq.info("extracted builtin skills",{root:Y})})});var B8=O$.create({service:"skill"}),Cq=[".claude",".agents",".codex",".opencode"],BV="skills/**/SKILL.md",Mq="{skill,skills}/**/SKILL.md",p9="**/SKILL.md",_V=F.object({name:F.string(),description:F.string(),location:F.string(),content:F.string(),hidden:F.boolean().optional()}),Dq=l9.create("SkillInvalidError",F.object({path:F.string(),message:F.string().optional(),issues:F.custom().optional()})),Pq=l9.create("SkillNameMismatchError",F.object({path:F.string(),expected:F.string(),actual:F.string()})),Iq=G.fnUntraced(function*($,J,Z){let Y=yield*G.tryPromise({try:()=>H7.parse(J),catch:(Q)=>Q}).pipe(G.catch(G.fnUntraced(function*(Q){let V=H7.FrontmatterError.isInstance(Q)?Q.data.message:`Failed to parse skill ${J}`,{Session:X}=yield*G.promise(()=>import("./chunk-p3pemdns.js"));yield*Z.publish(X.Event.Error,{error:new l9.Unknown({message:V}).toObject()}),B8.error("failed to load skill",{skill:J,err:Q});return})));if(!Y)return;let K=_V.pick({name:!0,description:!0,hidden:!0}).safeParse(Y.data);if(!K.success)return;if($.skills[K.data.name])B8.warn("duplicate skill name",{name:K.data.name,existing:$.skills[K.data.name].location,duplicate:J});$.dirs.add(zJ.dirname(J)),$.skills[K.data.name]={name:K.data.name,description:K.data.description,location:J,content:Y.content,hidden:K.data.hidden}}),x2=G.fnUntraced(function*($,J,Z,Y){let K=yield*G.tryPromise({try:()=>y2.scan(Z,{cwd:J,absolute:!0,include:"file",symlink:!0,dot:Y?.dot}),catch:(Q)=>Q}).pipe(G.catch((Q)=>{if(!Y?.scope)return G.die(Q);return B8.error(`failed to scan ${Y.scope} skills`,{dir:J,error:Q}),G.succeed([])}));for(let Q of K)$.matches.add(Q),$.dirs.add(zJ.dirname(Q))}),Aq=G.fnUntraced(function*($,J,Z,Y,K){let Q={matches:new Set,dirs:new Set};if(!k$.QITQODE_DISABLE_BUILTIN_SKILLS){let W=yield*HV(Z).pipe(G.catch(()=>G.succeed(void 0)));if(W&&(yield*Z.isDir(W)))yield*x2(Q,W,p9,{scope:"builtin"})}if(!k$.QITQODE_DISABLE_COMPOSE_SKILLS){let W=yield*WV(Z).pipe(G.catch(()=>G.succeed(void 0)));if(W&&(yield*Z.isDir(W)))yield*x2(Q,W,p9,{scope:"compose"})}if(!k$.QITQODE_DISABLE_EXTERNAL_SKILLS){let W=Cq.filter((j)=>{if(j===".claude"&&k$.QITQODE_DISABLE_CLAUDE_CODE_SKILLS)return!1;if(j===".codex"&&k$.QITQODE_DISABLE_CODEX_SKILLS)return!1;if(j===".opencode"&&k$.QITQODE_DISABLE_OPENCODE_SKILLS)return!1;return!0});for(let j of W){let _=zJ.join(f$.Path.home,j);if(!(yield*Z.isDir(_)))continue;yield*x2(Q,_,BV,{dot:!0,scope:"global"})}let B=yield*Z.up({targets:W,start:Y,stop:K}).pipe(G.catch(()=>G.succeed([])));for(let j of B)yield*x2(Q,j,BV,{dot:!0,scope:"project"})}let V=yield*$.directories();for(let W of V)yield*x2(Q,W,Mq);let X=yield*$.get();for(let W of X.skills?.paths??[]){let B=W.startsWith("~/")?zJ.join(Fq.homedir(),W.slice(2)):W,j=zJ.isAbsolute(B)?B:zJ.join(Y,B);if(!(yield*Z.isDir(j))){B8.warn("skill path not found",{path:j});continue}yield*x2(Q,j,p9)}for(let W of X.skills?.urls??[]){let B=yield*J.pull(W);for(let j of B)yield*x2(Q,j,p9)}return{matches:Array.from(Q.matches),dirs:Array.from(Q.dirs)}}),Sq=G.fnUntraced(function*($,J,Z){yield*G.forEach(J.matches,(Y)=>Iq($,Y,Z),{concurrency:16,discard:!0}),B8.info("init",{count:Object.keys($.skills).length})});class c9 extends D$.Service()("@qitqode/Skill"){}var OV=f.effect(c9,G.gen(function*(){let $=yield*FJ.Service,J=yield*R$.Service,Z=yield*P$.Service,Y=yield*$$.Service,K=yield*i.make(G.fn("Skill.discovery")(function*(_){return yield*Aq(J,$,Y,_.directory,_.worktree)})),Q=yield*i.make(G.fn("Skill.state")(function*(_){let q={skills:{},dirs:new Set};return yield*Sq(q,yield*i.get(K),Z),q})),V=G.fn("Skill.get")(function*(_){return(yield*i.get(Q)).skills[_]}),X=G.fn("Skill.all")(function*(){let _=yield*i.get(Q);return Object.values(_.skills)}),W=G.fn("Skill.dirs")(function*(){return(yield*i.get(K)).dirs}),B=G.fn("Skill.available")(function*(_){let q=yield*i.get(Q),H=Object.values(q.skills).filter((C)=>!C.hidden);if(H=H.toSorted((C,M)=>C.name.localeCompare(M.name)),!_)return H;return H.filter((C)=>E$.evaluate("skill",C.name,_.permission).action!=="deny")}),j=G.fn("Skill.reload")(function*(){yield*i.invalidate(K),yield*i.invalidate(Q)});return c9.of({get:V,all:X,dirs:W,available:B,reload:j})})),wq=OV.pipe(f.provide(FJ.defaultLayer),f.provide(R$.defaultLayer),f.provide(P$.layer),f.provide($$.defaultLayer));function Rq($,J){if($.length===0)return"No skills are currently available.";if(J.verbose)return["<available_skills>",...$.sort((Z,Y)=>Z.name.localeCompare(Y.name)).flatMap((Z)=>[" <skill>",` <name>${Z.name}</name>`,` <description>${Z.description}</description>`,` <location>${zq(Z.location).href}</location>`," </skill>"]),"</available_skills>"].join(`
|
|
7208
7208
|
`);return["## Available Skills",...$.toSorted((Z,Y)=>Z.name.localeCompare(Y.name)).map((Z)=>`- **${Z.name}**: ${Z.description}`)].join(`
|
|
7209
7209
|
`)}var g1={};o$(g1,{layer:()=>SV,defaultLayer:()=>gq,Service:()=>s9});import AV from"path";import hq from"os";import*as CJ from"fs/promises";import DV from"path";var q0=b2("memory_fts",{id:t0().primaryKey({autoIncrement:!0}),path:i$().notNull().unique(),scope:i$().notNull(),scope_id:i$().notNull().default(""),type:i$().notNull(),body:i$().notNull(),fingerprint:i$().notNull(),last_indexed_at:t0().notNull()},($)=>[e0("memory_fts_scope_idx").on($.scope,$.scope_id),e0("memory_fts_type_idx").on($.type)]);var Lq=["feedback","project","reference","user"],Nq=[{match:/^memory$/i,type:"memory"},{match:/^memory-/i,type:"memory"},{match:/^checkpoint$/,type:"checkpoint"},{match:/^checkpoint-/,type:"checkpoint"},{match:/^tasks\/[^/]+\/progress$/,type:"progress"},{match:/^tasks\/[^/]+\/notes$/,type:"notes"}];function yq($){for(let J of Nq)if(J.match.test($))return J.type;return"free"}function qV($){let Z=$.replaceAll("\\","/").match(/\/memory\/(global|projects|sessions)(?:\/([^/]+))?\/(.+)\.md$/);if(!Z)return null;let[,Y,K,Q]=Z,V=Y==="global"?"":K??"",X=Q;return{scope:Y,scope_id:V,type:yq(X),key:X}}var Tq=/\/\.claude\/projects\/([^/]+)\/memory\/(.+)\.md$/;function FV($){let J=$.replaceAll("\\","/").match(Tq);if(!J)return null;let[,Z,Y]=J;return{scope:"cc",scope_id:Z,type:"free",key:Y}}var kq=/^---\n([\s\S]*?)\n---\n/,Eq=/^[ \t]+type:[ \t]*(\w+)[ \t]*$/m;function zV($){let J=$.match(kq);if(!J)return null;let Y=J[1].match(Eq);if(!Y)return null;let K=Y[1];return Lq.includes(K)?K:null}var CV=O$.create({service:"memory.reconcile"});async function PV($){let J=[];async function Z(Y){let K=await CJ.readdir(Y,{withFileTypes:!0}).catch((Q)=>{if(Q.code==="ENOENT")return[];throw Q});for(let Q of K){let V=DV.join(Y,Q.name);if(Q.isDirectory())await Z(V);else if(Q.isFile()&&V.endsWith(".md"))J.push(V)}}return await Z($),J}async function xq($){let J=await CJ.readdir($,{withFileTypes:!0}).catch((Y)=>{if(Y.code==="ENOENT")return[];throw Y}),Z=[];for(let Y of J){if(!Y.isDirectory())continue;let K=DV.join($,Y.name,"memory");if(!await CJ.stat(K).then(()=>!0).catch(()=>!1))continue;let V=await PV(K);for(let X of V)Z.push(X)}return Z}async function MV($,J,Z,Y){let K=await CJ.stat($).catch((W)=>{if(W.code==="ENOENT")return null;throw W});if(!K)return"skipped";let Q=`${K.size}-${K.mtimeMs}`;if(Y===Q)return"hit";let V=await Bun.file($).text(),X=Z==="cc"?zV(V)??"free":J.type;return z$.use((W)=>W.insert(q0).values({path:$,scope:J.scope,scope_id:J.scope_id,type:X,body:V,fingerprint:Q,last_indexed_at:Date.now()}).onConflictDoUpdate({target:q0.path,set:{scope:J.scope,scope_id:J.scope_id,type:X,body:V,fingerprint:Q,last_indexed_at:Date.now()}}).run()),"updated"}async function B7($){let J=new Set(await PV($.qode)),Z=$.cc?new Set(await xq($.cc)):new Set,Y=new Set([...J,...Z]),K=new Map(z$.use((X)=>X.select({path:q0.path,fingerprint:q0.fingerprint}).from(q0).all()).map((X)=>[X.path,X.fingerprint])),Q=0;for(let X of K.keys())if(!Y.has(X))z$.use((W)=>W.delete(q0).where(G$(q0.path,X)).run()),Q++;let V=0;for(let X of J){let W=qV(X);if(!W){CV.warn("path outside memory layout, skipping",{path:X});continue}if(await MV(X,W,"qode",K.get(X))==="updated")V++}for(let X of Z){let W=FV(X);if(!W){CV.warn("CC path failed to parse, skipping",{path:X});continue}if(await MV(X,W,"cc",K.get(X))==="updated")V++}return{indexed:V,pruned:Q}}function o9($,J){let Z=$.match(/[\p{L}\p{N}_]+/gu)?.map((K)=>K.trim()).filter(Boolean)??[];if(Z.length===0)return null;return Z.map((K)=>`"${K.replaceAll('"',"")}"`).join(` ${J} `)}function IV($){return o9($,"OR")}var bq=64,vq=8,r9=4096;function i9($){let J=z$.Client().$client,Z=$.conditions.length>0?`WHERE ${$.conditions.join(" AND ")}`:"",Y=`
|
|
7210
7210
|
WITH matched(fts_rowid, fts_score) AS (
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Ed as j}from"./chunk-
|
|
2
|
+
import{Ed as j}from"./chunk-n1600mnf.js";import{Rd as Q}from"./chunk-yajd975f.js";import{Vf as M}from"./chunk-rbk8seme.js";import{og as N}from"./chunk-xn70ep9n.js";import{gh as $}from"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import{Cl as X,kk as J}from"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import{Do as _}from"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import{Hs as Y,Rs as Z}from"./chunk-hdrbyarv.js";import{ht as E,st as V}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";import{EOL as L}from"os";import k from"path";function P(){let q=["-R","-S"];if(process.platform!=="win32")return["less",...q];let z=_("less");if(z){if(V.stat(z)?.size)return[z,...q]}if(Z.QITQODE_GIT_BASH_PATH){let G=k.join(Z.QITQODE_GIT_BASH_PATH,"..","..","usr","bin","less.exe");if(V.stat(G)?.size)return[G,...q]}let B=_("git");if(B){let G=k.join(B,"..","..","usr","bin","less.exe");if(V.stat(G)?.size)return[G,...q]}return["cmd","/c","more"]}var g=Q({command:"session",describe:"manage sessions",builder:(q)=>q.command(T).command(D).command(v).demandCommand(),async handler(){}}),v=Q({command:"import-claude",describe:"import Claude Code sessions (~/.claude/projects) into qitqode",builder:(q)=>q.option("force",{describe:"re-sync every session, ignoring the mtime cache",type:"boolean",default:!1}),handler:async(q)=>{let z=await N.run({force:q.force});M.println(`Claude import: scanned ${z.scanned}, imported ${z.imported}, resynced ${z.resynced}, skipped ${z.skipped}`+(z.errors.length?`, errors ${z.errors.length}`:""));for(let B of z.errors)M.error(B)}}),D=Q({command:"delete <sessionID>",describe:"delete a session",builder:(q)=>{return q.positional("sessionID",{describe:"session ID to delete",type:"string",demandOption:!0})},handler:async(q)=>{await j(process.cwd(),async()=>{let z=J.make(q.sessionID);try{await $.runPromise(X.Service.use((B)=>B.get(z)))}catch{M.error(`Session not found: ${q.sessionID}`),process.exit(1)}await $.runPromise(X.Service.use((B)=>B.remove(z))),M.println(M.Style.TEXT_SUCCESS_BOLD+`Session ${q.sessionID} deleted`+M.Style.TEXT_NORMAL)})}}),T=Q({command:"list",describe:"list sessions",builder:(q)=>{return q.option("max-count",{alias:"n",describe:"limit to N most recent sessions",type:"number"}).option("format",{describe:"output format",type:"string",choices:["table","json"],default:"table"})},handler:async(q)=>{await j(process.cwd(),async()=>{let z=[...X.list({roots:!0,limit:q.maxCount})];if(z.length===0)return;let B;if(q.format==="json")B=f(z);else B=b(z);if(process.stdout.isTTY&&!q.maxCount&&q.format==="table"){let H=E.spawn(P(),{stdin:"pipe",stdout:"inherit",stderr:"inherit"});if(!H.stdin){console.log(B);return}H.stdin.write(B),H.stdin.end(),await H.exited}else console.log(B)})}});function b(q){let z=[],B=Math.max(20,...q.map((K)=>K.id.length)),G=Math.max(25,...q.map((K)=>K.title.length)),H=`Session ID${" ".repeat(B-10)} Title${" ".repeat(G-5)} Updated`;z.push(H),z.push("\u2500".repeat(H.length));for(let K of q){let A=Y.truncate(K.title,G),R=Y.todayTimeOrDateTime(K.time.updated),w=`${K.id.padEnd(B)} ${A.padEnd(G)} ${R}`;z.push(w)}return z.join(L)}function f(q){let z=q.map((B)=>({id:B.id,title:B.title,updated:B.time.updated,created:B.time.created,projectId:B.projectID,directory:B.directory}));return JSON.stringify(z,null,2)}export{T as SessionListCommand,v as SessionImportClaudeCommand,D as SessionDeleteCommand,g as SessionCommand};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Fd as T,Hd as q,Id as N,Jd as w,Kd as X,Nd as D}from"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Vf as Q}from"./chunk-rbk8seme.js";import{gh as A}from"./chunk-
|
|
2
|
+
import{Fd as T,Hd as q,Id as N,Jd as w,Kd as X,Nd as D}from"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Vf as Q}from"./chunk-rbk8seme.js";import{gh as A}from"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import"./chunk-wefez1gt.js";import{Fl as $}from"./chunk-ccmbckek.js";import"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import{Qs as W}from"./chunk-hdrbyarv.js";import{ht as _,st as Y}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import"./chunk-7xm75w1e.js";import V from"fs/promises";import L from"path";import R from"os";var g={command:"uninstall",describe:"uninstall qitqode and remove all related files",builder:(j)=>j.option("keep-config",{alias:"c",type:"boolean",describe:"keep configuration files",default:!1}).option("keep-data",{alias:"d",type:"boolean",describe:"keep session data and snapshots",default:!1}).option("dry-run",{type:"boolean",describe:"show what would be removed without removing",default:!1}).option("force",{alias:"f",type:"boolean",describe:"skip confirmation prompts",default:!1}),handler:async(j)=>{Q.empty(),Q.println(Q.logo(" ")),Q.empty(),w("Uninstall QitQode");let B=await A.runPromise($.Service.use((J)=>J.method()));N.info(`Installation method: ${B}`);let E=await v(j,B);if(await z(E,B),!j.force&&!j.dryRun){let J=await q({message:"Are you sure you want to uninstall?",initialValue:!1});if(!J||T(J)){X("Cancelled");return}}if(j.dryRun){N.warn("Dry run - no changes made"),X("Done");return}await G(B,E),X("Done")}};async function v(j,B){let E=[{path:W.Path.data,label:"Data",keep:j.keepData},{path:W.Path.cache,label:"Cache",keep:!1},{path:W.Path.config,label:"Config",keep:j.keepConfig},{path:W.Path.state,label:"State",keep:!1}],J=B==="curl"?await P():null,H=B==="curl"?process.execPath:null;return{directories:E,shellConfig:J,binary:H}}async function z(j,B){N.message("The following will be removed:");for(let E of j.directories){if(!await V.access(E.path).then(()=>!0).catch(()=>!1))continue;let H=await F(E.path),K=S(H),O=E.keep?Q.Style.TEXT_DIM+"(keeping)":"",M=E.keep?"\u25CB":"\u2713";N.info(` ${M} ${E.label}: ${Z(E.path)} ${Q.Style.TEXT_DIM}(${K})${O}`)}if(j.binary)N.info(` \u2713 Binary: ${Z(j.binary)}`);if(j.shellConfig)N.info(` \u2713 Shell PATH in ${Z(j.shellConfig)}`);if(B!=="curl"&&B!=="unknown"){let E={npm:"npm uninstall -g @qitqode/cli",pnpm:"pnpm uninstall -g @qitqode/cli",bun:"bun remove -g @qitqode/cli"};N.info(` \u2713 Package: ${E[B]||B}`)}}async function G(j,B){let E=D(),J=[];for(let H of B.directories){if(H.keep){N.step(`Skipping ${H.label} (--keep-${H.label.toLowerCase()})`);continue}if(!await V.access(H.path).then(()=>!0).catch(()=>!1))continue;E.start(`Removing ${H.label}...`);let O=await V.rm(H.path,{recursive:!0,force:!0}).catch((M)=>M);if(O){E.stop(`Failed to remove ${H.label}`,1),J.push(`${H.label}: ${O.message}`);continue}E.stop(`Removed ${H.label}`)}if(B.shellConfig){E.start("Cleaning shell config...");let H=await k(B.shellConfig).catch((K)=>K);if(H)E.stop("Failed to clean shell config",1),J.push(`Shell config: ${H.message}`);else E.stop("Cleaned shell config")}if(j!=="curl"&&j!=="unknown"){let K={npm:["npm","uninstall","-g","@qitqode/cli"],pnpm:["pnpm","uninstall","-g","@qitqode/cli"],bun:["bun","remove","-g","@qitqode/cli"]}[j];if(K){E.start(`Running ${K.join(" ")}...`);let O=await _.run(K,{nothrow:!0});if(O.code!==0)E.stop(`Package manager uninstall failed: exit code ${O.code}`,1),N.warn(`You may need to run manually: ${K.join(" ")}`);else E.stop("Package removed")}else N.warn(`Uninstall not supported for method "${j}" yet, skipping package removal`)}if(j==="curl"&&B.binary){Q.empty(),N.message("To finish removing the binary, run:"),N.info(` rm "${B.binary}"`);let H=L.dirname(B.binary);if(H.includes(".qitqode"))N.info(` rmdir "${H}" 2>/dev/null`)}if(J.length>0){Q.empty(),N.warn("Some operations failed:");for(let H of J)N.error(` ${H}`)}Q.empty(),N.success("Thank you for using QitQode!")}async function P(){let j=L.basename(process.env.SHELL||"bash"),B=R.homedir(),E=process.env.XDG_CONFIG_HOME||L.join(B,".config"),J={fish:[L.join(E,"fish","config.fish")],zsh:[L.join(B,".zshrc"),L.join(B,".zshenv"),L.join(E,"zsh",".zshrc"),L.join(E,"zsh",".zshenv")],bash:[L.join(B,".bashrc"),L.join(B,".bash_profile"),L.join(B,".profile"),L.join(E,"bash",".bashrc"),L.join(E,"bash",".bash_profile")],ash:[L.join(B,".ashrc"),L.join(B,".profile")],sh:[L.join(B,".profile")]},H=J[j]||J.bash;for(let K of H){if(!await V.access(K).then(()=>!0).catch(()=>!1))continue;let M=await Y.readText(K).catch(()=>"");if(M.includes("# qitqode")||M.includes(".qitqode/bin"))return K}return null}async function k(j){let E=(await Y.readText(j)).split(`
|
|
3
3
|
`),J=[],H=!1;for(let O of E){let M=O.trim();if(M==="# qitqode"){H=!0;continue}if(H){if(H=!1,M.includes(".qitqode/bin")||M.includes("fish_add_path"))continue}if(M.startsWith("export PATH=")&&M.includes(".qitqode/bin")||M.startsWith("fish_add_path")&&M.includes(".qitqode"))continue;J.push(O)}while(J.length>0&&J[J.length-1].trim()==="")J.pop();let K=J.join(`
|
|
4
4
|
`)+`
|
|
5
5
|
`;await Y.write(j,K)}async function F(j){let B=0,E=async(J)=>{let H=await V.readdir(J,{withFileTypes:!0}).catch(()=>[]);for(let K of H){let O=L.join(J,K.name);if(K.isDirectory()){await E(O);continue}if(K.isFile()){let M=await V.stat(O).catch(()=>null);if(M)B+=M.size}}};return await E(j),B}function S(j){if(j<1024)return`${j} B`;if(j<1048576)return`${(j/1024).toFixed(1)} KB`;if(j<1073741824)return`${(j/1048576).toFixed(1)} MB`;return`${(j/1073741824).toFixed(1)} GB`}function Z(j){let B=R.homedir();if(j===B||j.startsWith(B+L.sep))return"~"+j.slice(B.length);return j}export{g as UninstallCommand};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{As as c,Bs as d,Cs as e,Es as f,Fs as h,Gs as i,Hs as j,Is as k,Ks as l,Ls as m,_s as n,os as a}from"./chunk-
|
|
2
|
+
import{As as c,Bs as d,Cs as e,Es as f,Fs as h,Gs as i,Hs as j,Is as k,Ks as l,Ls as m,_s as n,os as a}from"./chunk-hdrbyarv.js";import{ht as b,st as g}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";export{f as getEnvInfo,a as Wildcard,m as Token,l as Rpc,b as Process,n as Log,k as Lock,j as Locale,i as LocalContext,h as Keybind,g as Filesystem,e as EffectUtil,d as Color,c as Archive};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{a as ZB,b as $B}from"./chunk-
|
|
3
|
-
`+B}async function d(B){let V=a({baseUrl:B.url,fetch:B.fetch,directory:B.directory}),X=[{permission:"question",action:"deny",pattern:"*"},{permission:"plan_enter",action:"deny",pattern:"*"},{permission:"plan_exit",action:"deny",pattern:"*"}],Y=(await V.session.create({permission:X})).data?.id;if(!Y){H.error("headless: failed to create session");return}let W=await V.event.subscribe(),$=YB({sessionID:Y,query:async()=>{return(await V.session.status()).data?.[Y]}}),A=W.stream[Symbol.asyncIterator](),P=$.completion.then(()=>"DONE");(async()=>{try{while(!0){let z=await Promise.race([A.next(),P]);if(z==="DONE")break;let y=z;if(y.done)break;let j=y.value;$.onEvent(j);let K=j.properties;if(j.type==="message.part.updated"){let J=K?.part;if(!J||J.sessionID!==Y)continue;if(J.type==="text"&&J.time?.end){let C=String(J.text??"").trim();if(C)process.stdout.write(C+M)}}if(j.type==="permission.asked"){if(!K||K.sessionID!==Y)continue;await V.permission.reply({requestID:String(K.id),reply:"once"})}if(j.type==="session.error"){if(!K||K.sessionID!==Y||!K.error)continue;let J=K.error,C=J?.data!==null&&typeof J?.data==="object"&&"message"in J.data?String(J.data.message):String(J?.name??J);H.error(C)}}}finally{$.stop(),await A.return?.(void 0).catch(()=>{})}})().catch((z)=>{console.error(z),process.exit(1)});let q=B.model?r.parseModel(B.model):void 0;await V.session.prompt({sessionID:Y,agent:B.agent,model:q,parts:[{type:"text",text:B.prompt}]}),$.markStarted(),await $.completion}var nB=e({command:"$0 [project]",describe:"start qitqode tui",builder:(B)=>n(B).positional("project",{type:"string",describe:"path to start qitqode in"}).options(i).option("never-ask",{type:"boolean",describe:"start in never-ask mode \u2014 auto-decide without asking (permissions excluded), toggle at runtime with /never-ask",default:!1}).check((V)=>{if(V.dark&&V.light)throw Error("--dark and --light are mutually exclusive");if(V.sso&&!V.headless)throw Error("--sso requires --headless");if(V.sso&&V["api-key"]!==void 0)throw Error("--sso and --api-key are mutually exclusive");let X=Object.keys(zB).filter((Z)=>V[Z]);if(X.length>1)throw Error(`${X.map((Z)=>`--${Z}`).join(" and ")} are mutually exclusive \u2014 choose one tier flag`);if(X.length===1&&V.model)throw Error(`--${X[0]} and --model are mutually exclusive \u2014 use one or the other`);return!0}),handler:async(B)=>{if(B.monochrome)process.env.QITQODE_TUI_ACCESSIBLE="1",process.env.NO_COLOR="1";let V=JB();try{BB();let X=XB(B);if(X){H.error(X),process.exitCode=1;return}let Z=jB(B)??B.model,Y=_(process.env.PWD??process.cwd()),W=B.project?_(E.isAbsolute(B.project)?B.project:E.join(Y,B.project)):_(process.cwd()),$=O(W);if($){if(B.project){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}let J=_(MB.homedir());if(O(J)){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}x.warn("unsafe start directory, falling back to home",{requested:W,home:J}),W=J}let A=await bB();try{process.chdir(W)}catch{H.error("Failed to change directory to "+W);return}let P=_(process.cwd()),k=l({[c]:"worker",[f]:u()}),q=new Worker(A,{env:k});q.onerror=(J)=>{x.error("thread error",{message:J.message,filename:J.filename,lineno:J.lineno,colno:J.colno,error:J.error})};let z=g(q),y=()=>{z.call("reload",void 0).catch((J)=>{x.warn("worker reload failed",{error:N(J)})})};process.on("SIGUSR2",y);let j=!1,K=async()=>{if(j)return;j=!0,process.off("SIGUSR2",y),await o(z.call("shutdown",void 0),5000).catch((J)=>{x.warn("worker shutdown failed",{error:N(J)})}),q.terminate()};try{let J=import("./chunk-
|
|
2
|
+
import{a as ZB,b as $B}from"./chunk-s2x0rqj4.js";import"./chunk-ctpy42xe.js";import"./chunk-rvkrgkeq.js";import{B as XB}from"./chunk-gsez13bg.js";import{C as BB,E as JB}from"./chunk-c8k32724.js";import"./chunk-yphsjp71.js";import{I as VB}from"./chunk-t9mz17gb.js";import{O as YB}from"./chunk-6p7yg5sr.js";import"./chunk-p62gb4wj.js";import"./chunk-x4sp99g6.js";import{Rd as e}from"./chunk-yajd975f.js";import{Of as n,Pf as D,Qf as w,Rf as i}from"./chunk-a1g7jr3r.js";import{Vf as H}from"./chunk-rbk8seme.js";import{Cg as s}from"./chunk-pfyhg0m7.js";import{gh as U}from"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import{Xj as R,ok as o,rl as r}from"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import{km as O}from"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import{no as a,qo as t}from"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import{Tr as v}from"./chunk-0t4324w5.js";import{Js as g,Us as x,vs as f,ws as c,xs as u,zs as l}from"./chunk-hdrbyarv.js";import{bt as N,pt as p,rt as _}from"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import{pH as S}from"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import{FO as I}from"./chunk-7xm75w1e.js";import E from"path";import{fileURLToPath as HB}from"url";import{writeHeapSnapshot as KB}from"v8";import MB,{EOL as M}from"os";var zB={free:"free",default:"default",fast:"fast",economy:"economical",power:"power",orchestrated:"orchestrated"},T="build";function h(B){if(B.agent)return B.agent;if(B.headless||B.fullauto)return T;return}function jB(B){for(let[V,X]of Object.entries(zB))if(B[V]){let Z=v[X];if(Z)return`${Z.providerID}/${Z.modelID}`}return}function GB(B){return async(X,Z)=>{let Y=new Request(X,Z),W=Y.body?await Y.text():void 0,$=await B.call("fetch",{url:Y.url,method:Y.method,headers:Object.fromEntries(Y.headers.entries()),body:W});return new Response($.body,{status:$.status,headers:$.headers})}}function QB(B){return{subscribe:async(V)=>{return B.on("global.event",(X)=>{V(X)})}}}async function bB(){if(typeof globalThis.QITQODE_WORKER_PATH<"u")return globalThis.QITQODE_WORKER_PATH;let B=new URL("./cli/cmd/tui/worker.js",import.meta.url);if(await p(HB(B)))return B;return new URL("./worker.ts",import.meta.url)}async function PB(B){let V=process.stdin.isTTY?void 0:await Bun.stdin.text();if(!B)return V;if(!V)return B;return V+`
|
|
3
|
+
`+B}async function d(B){let V=a({baseUrl:B.url,fetch:B.fetch,directory:B.directory}),X=[{permission:"question",action:"deny",pattern:"*"},{permission:"plan_enter",action:"deny",pattern:"*"},{permission:"plan_exit",action:"deny",pattern:"*"}],Y=(await V.session.create({permission:X})).data?.id;if(!Y){H.error("headless: failed to create session");return}let W=await V.event.subscribe(),$=YB({sessionID:Y,query:async()=>{return(await V.session.status()).data?.[Y]}}),A=W.stream[Symbol.asyncIterator](),P=$.completion.then(()=>"DONE");(async()=>{try{while(!0){let z=await Promise.race([A.next(),P]);if(z==="DONE")break;let y=z;if(y.done)break;let j=y.value;$.onEvent(j);let K=j.properties;if(j.type==="message.part.updated"){let J=K?.part;if(!J||J.sessionID!==Y)continue;if(J.type==="text"&&J.time?.end){let C=String(J.text??"").trim();if(C)process.stdout.write(C+M)}}if(j.type==="permission.asked"){if(!K||K.sessionID!==Y)continue;await V.permission.reply({requestID:String(K.id),reply:"once"})}if(j.type==="session.error"){if(!K||K.sessionID!==Y||!K.error)continue;let J=K.error,C=J?.data!==null&&typeof J?.data==="object"&&"message"in J.data?String(J.data.message):String(J?.name??J);H.error(C)}}}finally{$.stop(),await A.return?.(void 0).catch(()=>{})}})().catch((z)=>{console.error(z),process.exit(1)});let q=B.model?r.parseModel(B.model):void 0;await V.session.prompt({sessionID:Y,agent:B.agent,model:q,parts:[{type:"text",text:B.prompt}]}),$.markStarted(),await $.completion}var nB=e({command:"$0 [project]",describe:"start qitqode tui",builder:(B)=>n(B).positional("project",{type:"string",describe:"path to start qitqode in"}).options(i).option("never-ask",{type:"boolean",describe:"start in never-ask mode \u2014 auto-decide without asking (permissions excluded), toggle at runtime with /never-ask",default:!1}).check((V)=>{if(V.dark&&V.light)throw Error("--dark and --light are mutually exclusive");if(V.sso&&!V.headless)throw Error("--sso requires --headless");if(V.sso&&V["api-key"]!==void 0)throw Error("--sso and --api-key are mutually exclusive");let X=Object.keys(zB).filter((Z)=>V[Z]);if(X.length>1)throw Error(`${X.map((Z)=>`--${Z}`).join(" and ")} are mutually exclusive \u2014 choose one tier flag`);if(X.length===1&&V.model)throw Error(`--${X[0]} and --model are mutually exclusive \u2014 use one or the other`);return!0}),handler:async(B)=>{if(B.monochrome)process.env.QITQODE_TUI_ACCESSIBLE="1",process.env.NO_COLOR="1";let V=JB();try{BB();let X=XB(B);if(X){H.error(X),process.exitCode=1;return}let Z=jB(B)??B.model,Y=_(process.env.PWD??process.cwd()),W=B.project?_(E.isAbsolute(B.project)?B.project:E.join(Y,B.project)):_(process.cwd()),$=O(W);if($){if(B.project){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}let J=_(MB.homedir());if(O(J)){H.error("Cannot start in "+W+": "+$),process.exitCode=1;return}x.warn("unsafe start directory, falling back to home",{requested:W,home:J}),W=J}let A=await bB();try{process.chdir(W)}catch{H.error("Failed to change directory to "+W);return}let P=_(process.cwd()),k=l({[c]:"worker",[f]:u()}),q=new Worker(A,{env:k});q.onerror=(J)=>{x.error("thread error",{message:J.message,filename:J.filename,lineno:J.lineno,colno:J.colno,error:J.error})};let z=g(q),y=()=>{z.call("reload",void 0).catch((J)=>{x.warn("worker reload failed",{error:N(J)})})};process.on("SIGUSR2",y);let j=!1,K=async()=>{if(j)return;j=!0,process.off("SIGUSR2",y),await o(z.call("shutdown",void 0),5000).catch((J)=>{x.warn("worker shutdown failed",{error:N(J)})}),q.terminate()};try{let J=import("./chunk-bnmz683j.js"),C=import("./chunk-m1s19p9n.js").then(({TuiConfig:F})=>F.get()),L=await PB(B.prompt),WB=await C;if(B.headless&&D(w(B))){H.error("--headless cannot be combined with network-listener flags (--port, --hostname, --mdns)"),process.exitCode=1;return}let m=w(B),b=D(m)?{url:(await z.call("server",m)).url,fetch:void 0,events:void 0}:{url:"http://qitqode.internal",fetch:GB(z),events:QB(z)};if(setTimeout(()=>{z.call("checkUpgrade",{directory:P}).catch(()=>{})},1000).unref?.(),B.headless){if(!L){H.error("--headless requires a prompt: pass --prompt or pipe input via stdin"),process.exitCode=1;return}if(B.sso){try{let G=await s({tryOpen:!1,onCode:(Q)=>{if(process.stdout.write(M),process.stdout.write(" To sign in, open: "+Q.verificationUri+M),process.stdout.write(" and enter code: "+Q.userCode+M),Q.verificationUriComplete)process.stdout.write(M+" Or open this link directly:"+M+" "+Q.verificationUriComplete+M);process.stdout.write(M+" Waiting for approval... (ctrl+c to cancel)"+M)}});await U.runPromise(S.gen(function*(){yield*(yield*R.Service).set("forgewise",VB(G,{rotateRefreshToken:!0}))})),process.stdout.write(" Signed in as "+(G.name||G.email)+M)}catch(G){H.error("SSO sign-in failed: "+N(G)),process.exitCode=1;return}await d({url:b.url,fetch:b.fetch,prompt:L,model:Z,agent:h(B)??T,directory:P});return}let F=ZB(typeof B["api-key"]==="string"?String(B["api-key"]):"");if(F)await U.runPromise($B(F));else if(!await U.runPromise(S.gen(function*(){if(yield*S.promise(()=>t()))return!0;return!!(yield*(yield*R.Service).get("forgewise"))}))){H.error(`Not signed in. Use one of:
|
|
4
4
|
qode auth login (browser / device-code flow)
|
|
5
5
|
qode auth login --api-key (paste a Qortex API key)
|
|
6
6
|
--api-key <key> (inline for this run)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{Gl as a,Hl as b,Il as c,Jl as d,Kl as e,Ll as f,Ml as g,Nl as h,Ol as i}from"./chunk-
|
|
2
|
+
import{Gl as a,Hl as b,Il as c,Jl as d,Kl as e,Ll as f,Ml as g,Nl as h,Ol as i}from"./chunk-ccmbckek.js";import"./chunk-qn6gdhns.js";import"./chunk-htz93dsd.js";import"./chunk-2hc5z7b5.js";import"./chunk-d6ry9418.js";import"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-7xm75w1e.js";export{i as stopRefresh,h as startRefresh,g as refresh,d as readModelCatalogResponse,f as get,c as Provider,b as Model,a as MODEL_CATALOG_MAX_BYTES,e as Data};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{ag as E}from"./chunk-
|
|
2
|
+
import{ag as E}from"./chunk-s08qccxa.js";import"./chunk-xn70ep9n.js";import"./chunk-q6pn67ps.js";import"./chunk-pfyhg0m7.js";import"./chunk-cjww2jmv.js";import"./chunk-nfg7nt13.js";import"./chunk-xvwvd4kq.js";import"./chunk-ff8nb7b3.js";import"./chunk-tc18nbmn.js";import"./chunk-481k3dag.js";import"./chunk-vxyy2dp3.js";import"./chunk-yp5bypsp.js";import"./chunk-7hm0c2yg.js";import"./chunk-gj0wt0cy.js";import"./chunk-5hw6xa49.js";import"./chunk-326p5b10.js";import"./chunk-wefez1gt.js";import"./chunk-ccmbckek.js";import"./chunk-711dc303.js";import"./chunk-qn6gdhns.js";import"./chunk-bn0h9dny.js";import"./chunk-mpkvpn2y.js";import"./chunk-9bzhxenb.js";import"./chunk-htz93dsd.js";import"./chunk-vcw00k0n.js";import"./chunk-famryv52.js";import"./chunk-2hc5z7b5.js";import"./chunk-e1w70zdn.js";import"./chunk-4jtxtkj7.js";import"./chunk-ay8emwym.js";import"./chunk-2maqde7w.js";import"./chunk-kj20f048.js";import"./chunk-cqtkxwd8.js";import"./chunk-x9rbv6p6.js";import"./chunk-g5rabwre.js";import"./chunk-jbx3s7nw.js";import"./chunk-15hw2z9t.js";import"./chunk-48ge2ryx.js";import"./chunk-n9xns8by.js";import"./chunk-y9q0hb7b.js";import"./chunk-rryytkmg.js";import"./chunk-te47zdxd.js";import"./chunk-d6ry9418.js";import"./chunk-0dt0bxz6.js";import"./chunk-10bjs581.js";import"./chunk-4cnwn1rh.js";import"./chunk-0t4324w5.js";import"./chunk-hdrbyarv.js";import"./chunk-tqj69nh6.js";import"./chunk-ag8kz1e7.js";import"./chunk-5tray1fw.js";import"./chunk-c11d28qn.js";import"./chunk-mzs2pjyc.js";import"./chunk-gagtmjmp.js";import"./chunk-zs8kqdsf.js";import"./chunk-dxpj0cxh.js";import"./chunk-zw815d68.js";import{FO as z}from"./chunk-7xm75w1e.js";var J={command:"generate",handler:async()=>{let A=await E.openapi();for(let q of Object.values(A.paths))for(let y of["get","post","put","delete","patch"]){let k=q[y];if(!k?.operationId)continue;k["x-codeSamples"]=[{lang:"js",source:['import { createQitQodeClient } from "@qitqode/sdk"',"","const client = createQitQodeClient()",`await client.${k.operationId}({`," ...","})"].join(`
|
|
3
3
|
`)}]}let F=JSON.stringify(A,null,2),B=await import("./chunk-6hpgb8h4.js"),C=await import("./chunk-0v0vqbn5.js"),D=await import("./chunk-24jg9d61.js"),G=await(B.format??B.default?.format)(F,{parser:"json",plugins:[C.default??C,D.default??D],printWidth:120});await new Promise((q,y)=>{process.stdout.write(G,(k)=>{if(k)y(k);else q()})})}};export{J as GenerateCommand};
|