@aistastudio/myc 0.3.12 → 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/myc.js +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -52,7 +52,7 @@ Installation is one command:
|
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
54
|
bun install -g @aistastudio/myc # 5.06 MB compressed, 15.62 MB unpacked, 16 files; no models pulled
|
|
55
|
-
myc --version # myc 0.3.
|
|
55
|
+
myc --version # myc 0.3.13 (schema 1)
|
|
56
56
|
```
|
|
57
57
|
|
|
58
58
|
It runs on macOS and Linux. On Windows, use WSL and install Bun and myc inside
|
package/dist/myc.js
CHANGED
|
@@ -2291,7 +2291,7 @@ SELECT e.src AS owner
|
|
|
2291
2291
|
`}function WT($,Z){let X=$.resolve(Z),z=Z.join(" ");if(!X)return zJ($);let Y=[`myc ${z} \u2014 ${X.summary}`,"",`Usage: myc ${z} [args] [flags]`];if(X.help)Y.push("",X.help);let J=$.flagsFor(Z);if(J.length>0)Y.push("","Flags:",KT(J));let V=X.subcommands??[];if(V.length>0){Y.push("","Subcommands:");let K=V.map((Q)=>[` ${Q.name}`,Q.summary]),W=Math.max(...K.map(([Q])=>Q.length));for(let[Q,H]of K)Y.push(`${Q.padEnd(W)} ${H}`)}return Y.push("","Global flags: see `myc --help`."),`${Y.join(`
|
|
2292
2292
|
`)}
|
|
2293
2293
|
`}function gZ($,Z,X,z){let Y={code:"usage.invalid",msg:$,exit:2,hint:z},J=new $z;if(Z.json||Z.ndjson)return{code:2,stdout:V7(NW(X,Y,J))};return{code:2,stdout:"",stderr:TW(Y,J,Z.color)}}function VT($,Z,X){return V7(NW($,{code:Z.code,msg:Z.msg,exit:Z.exit,hint:Z.hint},X))}async function EZ($,Z={}){let X=Z.registry??o6;await X.materialize(VP($));let z=CW($,X);if(!z.ok&&X.pending>0)await X.materializeAll(),z=CW($,X);let Y=z.ok?z.argv.commandPath:[],J=Y.join(" "),V={json:SZ(z,"json"),ndjson:SZ(z,"ndjson"),strict:SZ(z,"strict"),quiet:SZ(z,"quiet"),color:(Z.tty??!1)&&!SZ(z,"no-color")&&!Z.env?.NO_COLOR,db:JT(z,"db"),directory:JT(z,"directory")};if(V.json&&V.ndjson)return gZ("flags --json and --ndjson are mutually exclusive",V,J);if(!z.ok)return gZ(z.failure.msg,V,J,z.failure.hint);let{flags:K,positionals:W}=z.argv;if(K.version===!0)return{code:0,stdout:`myc ${R0} (schema ${d7})
|
|
2294
|
-
`};if(K.help===!0){if(Y.length===0)await X.materializeAll();return{code:0,stdout:Y.length>0?WT(X,Y):zJ(X)}}if(Y.length===0){if(W.length>0)return gZ(`unknown command '${W[0]}'`,V,J);return await X.materializeAll(),{code:0,stdout:zJ(X)}}let Q=X.resolve(Y);if(!Q)return gZ(`unknown command '${J}'`,V,J);if(!Q.handler){let R=(Q.subcommands??[]).map((A)=>A.name);return gZ(`command '${J}' requires a subcommand`,V,J,`subcommands: ${R.join(", ")}`)}let H=new $z,G={args:W,flags:K,globals:V,warn:(R,A)=>H.add(R,A),diagnostics:H},q;try{q=await Q.handler(G)}catch(R){q={ok:!1,code:"internal.unexpected",msg:R instanceof Error?R.message:String(R),exit:1}}if(q.ok){let{drainAfterCommand:R}=await Promise.resolve().then(() => (PG(),YT));await R(V,Z.env)}let U=!q.ok?q.exit:V.strict&&H.size>0?6:0;if(V.json)return{code:U,stdout:q.ok?V7(O5(J,q.data,q.meta,H)):VT(J,q,H)};if(V.ndjson){if(q.ok&&OW(q.data)){let{data:R,meta:A}=q;function*P(){for(let D of R)yield V7(O5(J,D,A,H))}return{code:U,stdout:P()}}return{code:U,stdout:q.ok?V7(O5(J,q.data,q.meta,H)):VT(J,q,H)}}if(!q.ok)return{code:U,stdout:"",stderr:TW(q,H,V.color)};let B=AW(H,V.color),j=Q.renderHuman?Q.renderHuman(q.data,G):WP(q.data,V.color),F=Q.machineStdout?.(G)===!0,N=F?"":B,L=F&&B.length>0?{stderr:B}:{};if(typeof j==="string")return{code:U,stdout:(V.quiet?"":j)+N,...L};let M=V.quiet?[]:j;function*O(){yield*M,yield N}return{code:U,stdout:O(),...L}}function MG($){let Z=0,X=!1,z=[],Y=()=>{if(Z>0&&!X)return;let V=z;z=[];for(let K of V)K()},J=$.write.bind($);return $.write=(V,K,W)=>{let Q=typeof K==="function"?K:W,H=typeof K==="string"?K:void 0;if((typeof V==="string"?V.length:V instanceof Uint8Array?V.byteLength:1)===0||X)return J(V,H,Q);return Z++,J(V,H,(q)=>{if(Z--,q)X=!0;Q?.(q),Y()})},$.on("error",()=>{X=!0,Y()}),()=>Z===0||X?Promise.resolve():new Promise((V)=>z.push(V))}function e5(){if(LG===null)LG={stdout:MG(process.stdout),stderr:MG(process.stderr)};return LG}async function CG($){let Z=e5();if(process.exitCode=$.code,typeof $.stdout==="string")process.stdout.write($.stdout);else for(let X of $.stdout)process.stdout.write(X);if(await Z.stdout(),$.stderr!==void 0)process.stderr.write($.stderr);await Z.stderr(),process.exit($.code)}var R0="0.3.
|
|
2294
|
+
`};if(K.help===!0){if(Y.length===0)await X.materializeAll();return{code:0,stdout:Y.length>0?WT(X,Y):zJ(X)}}if(Y.length===0){if(W.length>0)return gZ(`unknown command '${W[0]}'`,V,J);return await X.materializeAll(),{code:0,stdout:zJ(X)}}let Q=X.resolve(Y);if(!Q)return gZ(`unknown command '${J}'`,V,J);if(!Q.handler){let R=(Q.subcommands??[]).map((A)=>A.name);return gZ(`command '${J}' requires a subcommand`,V,J,`subcommands: ${R.join(", ")}`)}let H=new $z,G={args:W,flags:K,globals:V,warn:(R,A)=>H.add(R,A),diagnostics:H},q;try{q=await Q.handler(G)}catch(R){q={ok:!1,code:"internal.unexpected",msg:R instanceof Error?R.message:String(R),exit:1}}if(q.ok){let{drainAfterCommand:R}=await Promise.resolve().then(() => (PG(),YT));await R(V,Z.env)}let U=!q.ok?q.exit:V.strict&&H.size>0?6:0;if(V.json)return{code:U,stdout:q.ok?V7(O5(J,q.data,q.meta,H)):VT(J,q,H)};if(V.ndjson){if(q.ok&&OW(q.data)){let{data:R,meta:A}=q;function*P(){for(let D of R)yield V7(O5(J,D,A,H))}return{code:U,stdout:P()}}return{code:U,stdout:q.ok?V7(O5(J,q.data,q.meta,H)):VT(J,q,H)}}if(!q.ok)return{code:U,stdout:"",stderr:TW(q,H,V.color)};let B=AW(H,V.color),j=Q.renderHuman?Q.renderHuman(q.data,G):WP(q.data,V.color),F=Q.machineStdout?.(G)===!0,N=F?"":B,L=F&&B.length>0?{stderr:B}:{};if(typeof j==="string")return{code:U,stdout:(V.quiet?"":j)+N,...L};let M=V.quiet?[]:j;function*O(){yield*M,yield N}return{code:U,stdout:O(),...L}}function MG($){let Z=0,X=!1,z=[],Y=()=>{if(Z>0&&!X)return;let V=z;z=[];for(let K of V)K()},J=$.write.bind($);return $.write=(V,K,W)=>{let Q=typeof K==="function"?K:W,H=typeof K==="string"?K:void 0;if((typeof V==="string"?V.length:V instanceof Uint8Array?V.byteLength:1)===0||X)return J(V,H,Q);return Z++,J(V,H,(q)=>{if(Z--,q)X=!0;Q?.(q),Y()})},$.on("error",()=>{X=!0,Y()}),()=>Z===0||X?Promise.resolve():new Promise((V)=>z.push(V))}function e5(){if(LG===null)LG={stdout:MG(process.stdout),stderr:MG(process.stderr)};return LG}async function CG($){let Z=e5();if(process.exitCode=$.code,typeof $.stdout==="string")process.stdout.write($.stdout);else for(let X of $.stdout)process.stdout.write(X);if(await Z.stdout(),$.stderr!==void 0)process.stderr.write($.stderr);await Z.stderr(),process.exit($.code)}var R0="0.3.13",LG=null;var I8=y(()=>{z0();Q0();Zz();KP();t4();t4()});import{existsSync as bn,mkdirSync as xn,readFileSync as hn,writeFileSync as mn}from"fs";import{homedir as un}from"os";import{dirname as ln,join as pn}from"path";function _4($=process.env){let Z=($.MYC_UPDATE_CHECK??"").trim().toLowerCase();if(Z==="0"||Z==="off"||Z==="false"||Z==="no")return"off";if(Z==="1"||Z==="on"||Z==="true"||Z==="yes"||Z==="auto")return"auto";return"manual"}function qT($=process.env){return pn($.MYC_HOME??un(),".myc","update-check.json")}function BT($=process.env){let Z=qT($);try{if(!bn(Z))return null;let X=JSON.parse(hn(Z,"utf8"));if(typeof X.checked_at!=="number"||!Number.isFinite(X.checked_at))return null;if(X.package!==O7)return null;let z=typeof X.latest==="string"?X.latest:null,Y=typeof X.build==="string"?X.build:null,J=z===null?dn(X.failure)??{code:"unknown"}:null;return{package:O7,latest:z,checked_at:X.checked_at,build:Y,failure:J}}catch{return null}}function dn($){if($===null||typeof $!=="object")return null;let Z=$,X=(Y)=>typeof Z[Y]==="string"?Z[Y]:null,z=(Y)=>typeof Z[Y]==="number"&&Number.isFinite(Z[Y])?Z[Y]:null;switch(Z.code){case"http_status":{let Y=z("status");return Y===null?null:{code:"http_status",status:Y}}case"timeout":{let Y=z("ms");return Y===null?null:{code:"timeout",ms:Y}}case"bad_json":case"network":{let Y=X("detail");return Y===null?null:{code:Z.code,detail:Y}}case"bad_version":{let Y=X("version");return Y===null?null:{code:"bad_version",version:Y}}case"no_latest":case"unknown":return{code:Z.code};default:return null}}function DG($,Z){switch($.code){case"http_status":return`the registry answered ${$.status}`;case"bad_json":return`the registry response did not parse as JSON${Z?`: ${$.detail}`:""}`;case"no_latest":return"the registry response has no dist-tags.latest";case"timeout":return`the registry did not answer within ${$.ms} ms`;case"network":return`network unavailable${Z?`: ${$.detail}`:""}`;case"bad_version":return`the registry returned a version that could not be parsed${Z?`: ${JSON.stringify($.version)}`:""}`;case"unknown":return Z?"the last attempt failed, no reason recorded":"the last attempt failed; its reason was recorded by another myc build (re-check: `myc version --check`)"}}function GT($,Z=process.env){let X=qT(Z);try{return xn(ln(X),{recursive:!0}),mn(X,`${JSON.stringify($,null,2)}
|
|
2295
2295
|
`),!0}catch{return!1}}function jT($,Z,X){let z=Q3(Z,$);if(z===null)return{...X,status:"unreachable",current:$,reason:DG({code:"bad_version",version:Z},!0)};if(z===1)return{...X,status:"update_available",current:$,latest:Z,upgrade:YJ};return{...X,status:z===-1?"ahead":"up_to_date",current:$,latest:Z}}function OG($=process.env){return`${($.MYC_REGISTRY??cn).replace(/\/+$/,"")}/${O7.replace("/","%2f")}`}function on($=process.env){let Z=$.MYC_UPDATE_CHECK_TIMEOUT_MS;if(Z===void 0||Z.trim().length===0)return HT;let X=Number(Z);return Number.isFinite(X)&&X>0?Math.floor(X):HT}async function an($={}){let Z=$.env??process.env,X=$.timeoutMs??on(Z),z=$.fetchImpl??globalThis.fetch,Y=OG(Z),J=new AbortController,V=setTimeout(()=>J.abort(),X);try{let K=await z(Y,{signal:J.signal,headers:{accept:"application/vnd.npm.install-v1+json"}});if(!K.ok)return{ok:!1,failure:{code:"http_status",status:K.status}};let W;try{W=await K.json()}catch(G){return{ok:!1,failure:{code:"bad_json",detail:UT(G)}}}let H=W?.["dist-tags"]?.latest;if(typeof H!=="string"||H.length===0)return{ok:!1,failure:{code:"no_latest"}};return{ok:!0,latest:H}}catch(K){return{ok:!1,failure:K instanceof Error&&(K.name==="AbortError"||K.name==="TimeoutError")?{code:"timeout",ms:X}:{code:"network",detail:UT(K)}}}finally{clearTimeout(V)}}function UT($){return $ instanceof Error?$.message:String($)}function AG($){let Z=$.env??process.env,X=$.now??Date.now(),z=_4(Z);if($.offline===!0||z==="off")return{status:"disabled",current:$.current,source:"none",reason:FT(Z,$.offline===!0)};let Y=BT(Z);if(Y===null)return{status:"never_checked",current:$.current,source:"none"};let J=Math.max(0,X-Y.checked_at);if(Y.latest===null)return{status:"unreachable",current:$.current,source:"cache",checked_at:Y.checked_at,age_ms:J,reason:DG(Y.failure??{code:"unknown"},Y.build===$.current)};return jT($.current,Y.latest,{source:"cache",checked_at:Y.checked_at,age_ms:J})}function FT($,Z){if(Z)return"the --offline flag forbids the network for this call";return`env MYC_UPDATE_CHECK=${JSON.stringify($.MYC_UPDATE_CHECK??"")}`}async function NT($){let Z=$.env??process.env,X=$.now??Date.now(),z=_4(Z);if($.offline===!0||z==="off")return{status:"disabled",current:$.current,source:"none",reason:FT(Z,$.offline===!0)};let Y=await an($);if(!Y.ok)return GT({package:O7,latest:null,checked_at:X,build:$.current,failure:Y.failure},Z),{status:"unreachable",current:$.current,source:"network",checked_at:X,age_ms:0,reason:DG(Y.failure,!0)};let J=jT($.current,Y.latest,{source:"network",checked_at:X,age_ms:0});return GT({package:O7,latest:J.status==="unreachable"?null:Y.latest,checked_at:X,build:$.current,failure:J.status==="unreachable"?{code:"bad_version",version:Y.latest}:null},Z),J}function sn($=process.env,Z=Date.now()){if(_4($)!=="auto")return!1;let X=BT($);if(X===null)return!0;return Z-X.checked_at>=nn}function JJ($=process.env,Z=rn,X=process.env){if(X.NODE_ENV==="test"&&$.MYC_UPDATE_CHECK!=="1")return!1;if(!sn($))return!1;try{let z=process.argv[1],Y=typeof z==="string"&&/\.(ts|js|mjs)$/.test(z);return Z([process.execPath,...Y?[z]:[],"version","--check","--quiet"]),!0}catch{return!1}}function rn($){Bun.spawn($,{stdin:"ignore",stdout:"ignore",stderr:"ignore",detached:!0}).unref()}function tn($){let Z=Math.floor($/3600000);if(Z<1)return`${Math.max(1,Math.floor($/60000))} min ago`;if(Z<48)return`${Z} h ago`;return`${Math.floor(Z/24)} d ago`}function TG($){let Z=$.age_ms!==void 0&&$.source==="cache"?` (${tn($.age_ms)})`:"";switch($.status){case"update_available":return`update: ${$.current} \u2192 ${$.latest}${Z} \xB7 ${YJ}`;case"unreachable":return`updates not checked: ${$.reason}${Z}`;case"never_checked":return"updates never checked \u2014 `myc version --check`";case"disabled":case"up_to_date":case"ahead":return null}}function VJ($,Z=process.env){try{return TG(AG({current:$,env:Z}))}catch{return null}}var O7="@aistastudio/myc",cn="https://registry.npmjs.org",nn=86400000,HT=3000,YJ;var KJ=y(()=>{z0();YJ=`bun install -g ${O7}`});import{existsSync as en,readFileSync as $d,writeFileSync as PT}from"fs";import{join as Zd}from"path";function Xd(){return["# myc (S42): local files \u2014 kept out of git","# the oplog, meta.json, .gitattributes and workspace.toml are committed as is",...LT,""].join(`
|
|
2296
2296
|
`)}function Z9($,Z="init"){let X=Zd($,".gitignore");if(!en(X)){PT(X,Xd(),"utf8");return}let z=$d(X,"utf8"),Y=new Set(z.split(`
|
|
2297
2297
|
`).map((K)=>K.trim())),J=LT.filter((K)=>!Y.has(K));if(J.length===0)return;let V=z.length>0&&!z.endsWith(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aistastudio/myc",
|
|
3
|
-
"
|
|
3
|
+
"mcpName": "io.github.aistastudio/myc",
|
|
4
|
+
"version": "0.3.13",
|
|
4
5
|
"description": "Local, fast task-and-memory layer for coding agents: task queue, oplog of decisions, hybrid search. Requires Bun.",
|
|
5
6
|
"type": "module",
|
|
6
7
|
"bin": {
|