@aistastudio/myc 0.1.0 → 0.1.1

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/bin/myc.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  /**
3
- * Точка входа npm-пакета @myc/cli.
3
+ * Точка входа npm-пакета @aistastudio/myc.
4
4
  *
5
5
  * Файл СОЗНАТЕЛЬНО написан на голом JS без единого `bun:`-импорта и без TS:
6
6
  * его обязан уметь разобрать и выполнить Node. Иначе отказ выглядел бы как
@@ -76,7 +76,7 @@ function refusal() {
76
76
  " Bun у вас установлен — запускайте через него:",
77
77
  " bun x myc <команда>",
78
78
  " либо переустановите пакет средствами bun:",
79
- " bun add -g @myc/cli",
79
+ " bun add -g @aistastudio/myc",
80
80
  "",
81
81
  );
82
82
  } else {
package/bin/preflight.js CHANGED
@@ -17,18 +17,26 @@ import { spawnSync } from "node:child_process";
17
17
 
18
18
  if (typeof process.versions.bun !== "string" && !bunOnPath()) {
19
19
  process.stderr.write(
20
- [
21
- "",
22
- " ┌─ @myc/cli установлен, но запускаться пока не будет ────────────┐",
23
- " │ myc работает только на Bun (хранилище на bun:sqlite). │",
24
- " Bun в системе не найден. │",
25
- " │ │",
26
- " │ curl -fsSL https://bun.sh/install | bash │",
27
- " │ │",
28
- " │ После этого: myc --version │",
29
- " └────────────────────────────────────────────────────────────────┘",
30
- "",
31
- ].join("\n"),
20
+ // Рамка собирается по ширине самой длинной строки, а не подгоняется
21
+ // руками: после переименования пакета `@myc/cli` -> `@aistastudio/myc`
22
+ // верхняя граница разъехалась, и это первое, что видит человек без Bun.
23
+ (() => {
24
+ const title = "@aistastudio/myc установлен, но запускаться пока не будет";
25
+ const body = [
26
+ "myc работает только на Bun (хранилище на bun:sqlite).",
27
+ "Bun в системе не найден.",
28
+ "",
29
+ " curl -fsSL https://bun.sh/install | bash",
30
+ "",
31
+ "После этого: myc --version",
32
+ ];
33
+ const w = Math.max(title.length + 3, ...body.map((l) => l.length)) + 1;
34
+ const top = ` ┌─ ${title} ${"─".repeat(Math.max(0, w - title.length - 2))}┐`;
35
+ const mid = body.map((l) => ` │ ${l.padEnd(w)}│`);
36
+ const bot = ` └${"─".repeat(w + 1)}┘`;
37
+ return ["", top, ...mid, bot, ""].join("\n");
38
+ })(),
39
+
32
40
  );
33
41
  }
34
42
 
package/dist/myc.js CHANGED
@@ -1077,7 +1077,7 @@ ${X}`}function LH($){if(!$||$.byteLength!==t7)return null;let Z=new Int8Array($.
1077
1077
  `}function NQ($,Z){let X=$.resolve(Z),z=Z.join(" ");if(!X)return M5($);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:",FQ(J));let K=X.subcommands??[];if(K.length>0){Y.push("","Subcommands:");let W=K.map((H)=>[` ${H.name}`,H.summary]),V=Math.max(...W.map(([H])=>H.length));for(let[H,Q]of W)Y.push(`${H.padEnd(V)} ${Q}`)}return Y.push("","Global flags: see `myc --help`."),`${Y.join(`
1078
1078
  `)}
1079
1079
  `}function G6($,Z,X,z){let Y={code:"usage.invalid",msg:$,exit:2,hint:z},J=new P7;if(Z.json||Z.ndjson)return{code:2,stdout:T2(h9(X,Y,J))};return{code:2,stdout:"",stderr:n9(Y,J,Z.color)}}function qQ($,Z,X){return T2(h9($,{code:Z.code,msg:Z.msg,exit:Z.exit,hint:Z.hint},X))}async function U6($,Z={}){let X=Z.registry??X1;await X.materialize(WK($));let z=m9($,X);if(!z.ok&&X.pending>0)await X.materializeAll(),z=m9($,X);let Y=z.ok?z.argv.commandPath:[],J=Y.join(" "),K={json:Q6(z,"json"),ndjson:Q6(z,"ndjson"),strict:Q6(z,"strict"),quiet:Q6(z,"quiet"),color:(Z.tty??!1)&&!Q6(z,"no-color")&&!Z.env?.NO_COLOR,db:BQ(z,"db"),directory:BQ(z,"directory")};if(K.json&&K.ndjson)return G6("flags --json and --ndjson are mutually exclusive",K,J);if(!z.ok)return G6(z.failure.msg,K,J,z.failure.hint);let{flags:W,positionals:V}=z.argv;if(W.version===!0)return{code:0,stdout:`myc ${d2} (schema ${X7})
1080
- `};if(W.help===!0){if(Y.length===0)await X.materializeAll();return{code:0,stdout:Y.length>0?NQ(X,Y):M5(X)}}if(Y.length===0){if(V.length>0)return G6(`unknown command '${V[0]}'`,K,J);return await X.materializeAll(),{code:0,stdout:M5(X)}}let H=X.resolve(Y);if(!H)return G6(`unknown command '${J}'`,K,J);if(!H.handler){let M=(H.subcommands??[]).map((P)=>P.name);return G6(`command '${J}' requires a subcommand`,K,J,`subcommands: ${M.join(", ")}`)}let Q=new P7,G={args:V,flags:W,globals:K,warn:(M,P)=>Q.add(M,P),diagnostics:Q},U;try{U=await H.handler(G)}catch(M){U={ok:!1,code:"internal.unexpected",msg:M instanceof Error?M.message:String(M),exit:1}}if(U.ok){let{drainAfterCommand:M}=await Promise.resolve().then(() => (jQ(),UQ));await M(K,Z.env)}let j=!U.ok?U.exit:K.strict&&Q.size>0?6:0;if(K.json)return{code:j,stdout:U.ok?T2(C7(J,U.data,U.meta,Q)):qQ(J,U,Q)};if(K.ndjson){if(U.ok&&p9(U.data)){let{data:M,meta:P}=U;function*C(){for(let f of M)yield T2(C7(J,f,P,Q))}return{code:j,stdout:C()}}return{code:j,stdout:U.ok?T2(C7(J,U.data,U.meta,Q)):qQ(J,U,Q)}}if(!U.ok)return{code:j,stdout:"",stderr:n9(U,Q,K.color)};let B=c9(Q,K.color),F=H.renderHuman?H.renderHuman(U.data,G):HK(U.data,K.color);if(typeof F==="string")return{code:j,stdout:(K.quiet?"":F)+B};let q=K.quiet?[]:F;function*N(){yield*q,yield B}return{code:j,stdout:N()}}var d2="0.1.0";var o2=v(()=>{s();X0();A7();VK();q8();q8()});var IQ={};$0(IQ,{createInitCommand:()=>xA,adoptWorkspaceDb:()=>v3});import{existsSync as A$,mkdirSync as DA,readdirSync as fA,readFileSync as A5,rmSync as fQ,writeFileSync as C5}from"fs";import{basename as RA,join as k$,resolve as LQ}from"path";import{Database as j6}from"bun:sqlite";function TA($){let Z=$.toLowerCase().replace(/[^a-z0-9]/g,"");if(Z.length===0||!/^[a-z]/.test(Z))Z=`w${Z}`;Z=Z.slice(0,8);while(Z.length<2)Z+="0";return Z}function IA($){try{let Z=Bun.spawnSync(["git","rev-parse","--show-toplevel"],{cwd:$,stdout:"pipe",stderr:"pipe"});if(!Z.success)return;let X=Z.stdout.toString().trim();return X.length>0?X:void 0}catch{return}}function yA(){return["# myc (S42): \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u2014 \u043D\u0435 \u0438\u0434\u0443\u0442 \u0432 git","# \u043E\u043F\u043B\u043E\u0433, meta.json, .gitattributes \u0438 workspace.toml \u043A\u043E\u043C\u043C\u0438\u0442\u044F\u0442\u0441\u044F \u043A\u0430\u043A \u0435\u0441\u0442\u044C",...RQ,""].join(`
1080
+ `};if(W.help===!0){if(Y.length===0)await X.materializeAll();return{code:0,stdout:Y.length>0?NQ(X,Y):M5(X)}}if(Y.length===0){if(V.length>0)return G6(`unknown command '${V[0]}'`,K,J);return await X.materializeAll(),{code:0,stdout:M5(X)}}let H=X.resolve(Y);if(!H)return G6(`unknown command '${J}'`,K,J);if(!H.handler){let M=(H.subcommands??[]).map((P)=>P.name);return G6(`command '${J}' requires a subcommand`,K,J,`subcommands: ${M.join(", ")}`)}let Q=new P7,G={args:V,flags:W,globals:K,warn:(M,P)=>Q.add(M,P),diagnostics:Q},U;try{U=await H.handler(G)}catch(M){U={ok:!1,code:"internal.unexpected",msg:M instanceof Error?M.message:String(M),exit:1}}if(U.ok){let{drainAfterCommand:M}=await Promise.resolve().then(() => (jQ(),UQ));await M(K,Z.env)}let j=!U.ok?U.exit:K.strict&&Q.size>0?6:0;if(K.json)return{code:j,stdout:U.ok?T2(C7(J,U.data,U.meta,Q)):qQ(J,U,Q)};if(K.ndjson){if(U.ok&&p9(U.data)){let{data:M,meta:P}=U;function*C(){for(let f of M)yield T2(C7(J,f,P,Q))}return{code:j,stdout:C()}}return{code:j,stdout:U.ok?T2(C7(J,U.data,U.meta,Q)):qQ(J,U,Q)}}if(!U.ok)return{code:j,stdout:"",stderr:n9(U,Q,K.color)};let B=c9(Q,K.color),F=H.renderHuman?H.renderHuman(U.data,G):HK(U.data,K.color);if(typeof F==="string")return{code:j,stdout:(K.quiet?"":F)+B};let q=K.quiet?[]:F;function*N(){yield*q,yield B}return{code:j,stdout:N()}}var d2="0.1.1";var o2=v(()=>{s();X0();A7();VK();q8();q8()});var IQ={};$0(IQ,{createInitCommand:()=>xA,adoptWorkspaceDb:()=>v3});import{existsSync as A$,mkdirSync as DA,readdirSync as fA,readFileSync as A5,rmSync as fQ,writeFileSync as C5}from"fs";import{basename as RA,join as k$,resolve as LQ}from"path";import{Database as j6}from"bun:sqlite";function TA($){let Z=$.toLowerCase().replace(/[^a-z0-9]/g,"");if(Z.length===0||!/^[a-z]/.test(Z))Z=`w${Z}`;Z=Z.slice(0,8);while(Z.length<2)Z+="0";return Z}function IA($){try{let Z=Bun.spawnSync(["git","rev-parse","--show-toplevel"],{cwd:$,stdout:"pipe",stderr:"pipe"});if(!Z.success)return;let X=Z.stdout.toString().trim();return X.length>0?X:void 0}catch{return}}function yA(){return["# myc (S42): \u043B\u043E\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u0444\u0430\u0439\u043B\u044B \u2014 \u043D\u0435 \u0438\u0434\u0443\u0442 \u0432 git","# \u043E\u043F\u043B\u043E\u0433, meta.json, .gitattributes \u0438 workspace.toml \u043A\u043E\u043C\u043C\u0438\u0442\u044F\u0442\u0441\u044F \u043A\u0430\u043A \u0435\u0441\u0442\u044C",...RQ,""].join(`
1081
1081
  `)}function f3($){let Z=k$($,".gitignore");if(!A$(Z)){C5(Z,yA(),"utf8");return}let X=A5(Z,"utf8"),z=new Set(X.split(`
1082
1082
  `).map((K)=>K.trim())),Y=RQ.filter((K)=>!z.has(K));if(Y.length===0)return;let J=X.length>0&&!X.endsWith(`
1083
1083
  `)?`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aistastudio/myc",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Local, fast task-and-memory layer for coding agents: task queue, oplog of decisions, hybrid search. Requires Bun.",
5
5
  "type": "module",
6
6
  "bin": {