@athrio/loom 0.0.2 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{LoomServer-3C83kvX5.js → LoomServer-D8I04Chj.js} +2 -2
- package/dist/{LoomServer-3C83kvX5.js.map → LoomServer-D8I04Chj.js.map} +1 -1
- package/dist/{LoomStore-DPhVqYEz.js → LoomStore-DMf2PkfP.js} +248 -85
- package/dist/LoomStore-DMf2PkfP.js.map +1 -0
- package/dist/main.js +52 -4
- package/dist/main.js.map +1 -1
- package/package.json +2 -4
- package/dist/LoomStore-DPhVqYEz.js.map +0 -1
package/dist/main.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { t as __commonJSMin } from "./rolldown-runtime-yvBN9yY6.js";
|
|
3
|
-
import { $ as get, $n as filter, $t as ignore, A as Boolean, An as mergeAll, Ar as identity, At as makeUnsafe, B as make$8, Bn as fail$2, Bt as catchTag, C as errorReported, Cn as try_, Cr as format, Ct as endUnsafe, D as make$9, Dr as isNullish, Dt as offerUnsafe, E as Crypto$1, En as catchDone, Er as isNotUndefined, Et as offer, F as FileDescriptor, Fn as MinimumLogLevel, Ft as as, G as isStream, Gn as fail$3, Gt as ensuring, H as decodeText, Hn as Done, Ht as catch_, I as FileSystem, In as _await, It as asVoid, J as run$2, Jn as empty, Jt as fnUntraced, K as merge, Kn as Reference, Kt as fail, L as FileTypeId, Ln as doneUnsafe, Lt as callback, M as TrueValues, Mn as provideMerge, Mr as pipeArguments, Mt as acquireRelease, N as Path$1, Nn as succeed$3, Nt as addFinalizer$1, O as error, On as taggedEnum, Or as isUndefined, Ot as take, P as TypeId$5, Pn as addFinalizer, Pt as andThen, Q as unwrap, Qn as dedupe, Qt as gen, R as Size, Rn as isDone, S as errorExitCode, Sn as tryPromise, Sr as BaseProto, St as mapDone, Tn as void_, Tr as isNotNull, Tt as make$12, U as empty$1, Un as UnknownError, V as callback$1, Vn as succeed$2, Vt as catchTags, W as fromChannel$1, Wn as done, Wt as effectify, X as splitLines, Xn as make$6, Xt as forever, Y as runCollect, Yn as getUnsafe, Yt as forEach, Z as transduce, Zn as Prototype, Zt as forkScoped, _ as Terminal, _n as succeed, _r as map$4, _t as tag, a as storeDir, an as match$1, ar as of, at as badArgument, b as Stdio, br as some, c as LoomCompiler, cn as orElseSucceed, cr as fail$1, ct as Defect, d as PackageConfig, dn as provideService, dr as fromNullishOr, dt as String$1, en as interrupt, et as make$11, f as LoomConfig, fn as raceFirst, fr as fromUndefinedOr, ft as Struct, g as QuitError, gn as serviceOption, gr as isSome, gt as optional$3, hn as scoped, hr as isNone, ht as is, i as servicePackage, in as mapError, ir as match, it as BadArgument, j as FalseValues, jn as provide, jr as pipe, jt as nominal, k as log, kn as effect, kr as dual, kt as make$7, ln as provide$1, lr as succeed$1, lt as ErrorClass, mn as runFork, mr as getOrUndefined, mt as decodeUnknownEffect, n as installedServices, nt as fromChannel, o as workspaceRoot, on as matchEffect, or as reduce, ot as systemError, pn as result, pr as getOrElse, pt as Union, q as mkString, qn as Service, qt as flatMap, r as removeService, rn as map$2, rr as map$3, rt as isSink, s as DocumentSource, sn as orDie, sr as sort, st as ArraySchema, t as addService, tn as isEffect, tt as drain, un as provideContext, ur as flatMap$1, ut as Literal, v as isQuitError, vn as suspend, vr as match$2, vt as toCodecStringTree, w as makeRunMain, wn as uninterruptible, wr as hasProperty, wt as failCauseUnsafe, x as make$10, xn as timeoutOrElse, xr as String$2, xt as fromTransform, y as make$13, yn as sync, yr as none, z as WatchBackend, zn as makeUnsafe$1, zt as catchFilter } from "./LoomStore-
|
|
3
|
+
import { $ as get, $n as filter, $t as ignore, A as Boolean, An as mergeAll, Ar as identity, At as makeUnsafe, B as make$8, Bn as fail$2, Bt as catchTag, C as errorReported, Cn as try_, Cr as format, Ct as endUnsafe, D as make$9, Dr as isNullish, Dt as offerUnsafe, E as Crypto$1, En as catchDone, Er as isNotUndefined, Et as offer, F as FileDescriptor, Fn as MinimumLogLevel, Ft as as, G as isStream, Gn as fail$3, Gt as ensuring, H as decodeText, Hn as Done, Ht as catch_, I as FileSystem, In as _await, It as asVoid, J as run$2, Jn as empty, Jt as fnUntraced, K as merge, Kn as Reference, Kt as fail, L as FileTypeId, Ln as doneUnsafe, Lt as callback, M as TrueValues, Mn as provideMerge, Mr as pipeArguments, Mt as acquireRelease, N as Path$1, Nn as succeed$3, Nt as addFinalizer$1, O as error, On as taggedEnum, Or as isUndefined, Ot as take, P as TypeId$5, Pn as addFinalizer, Pt as andThen, Q as unwrap, Qn as dedupe, Qt as gen, R as Size, Rn as isDone, S as errorExitCode, Sn as tryPromise, Sr as BaseProto, St as mapDone, Tn as void_, Tr as isNotNull, Tt as make$12, U as empty$1, Un as UnknownError, V as callback$1, Vn as succeed$2, Vt as catchTags, W as fromChannel$1, Wn as done, Wt as effectify, X as splitLines, Xn as make$6, Xt as forever, Y as runCollect, Yn as getUnsafe, Yt as forEach, Z as transduce, Zn as Prototype, Zt as forkScoped, _ as Terminal, _n as succeed, _r as map$4, _t as tag, a as storeDir, an as match$1, ar as of, at as badArgument, b as Stdio, br as some, c as LoomCompiler, cn as orElseSucceed, cr as fail$1, ct as Defect, d as PackageConfig, dn as provideService, dr as fromNullishOr, dt as String$1, en as interrupt, et as make$11, f as LoomConfig, fn as raceFirst, fr as fromUndefinedOr, ft as Struct, g as QuitError, gn as serviceOption, gr as isSome, gt as optional$3, hn as scoped, hr as isNone, ht as is, i as servicePackage, in as mapError, ir as match, it as BadArgument, j as FalseValues, jn as provide, jr as pipe, jt as nominal, k as log, kn as effect, kr as dual, kt as make$7, ln as provide$1, lr as succeed$1, lt as ErrorClass, mn as runFork, mr as getOrUndefined, mt as decodeUnknownEffect, n as installedServices, nt as fromChannel, o as workspaceRoot, on as matchEffect, or as reduce, ot as systemError, pn as result, pr as getOrElse, pt as Union, q as mkString, qn as Service, qt as flatMap, r as removeService, rn as map$2, rr as map$3, rt as isSink, s as DocumentSource, sn as orDie, sr as sort, st as ArraySchema, t as addService, tn as isEffect, tt as drain, un as provideContext, ur as flatMap$1, ut as Literal, v as isQuitError, vn as suspend, vr as match$2, vt as toCodecStringTree, w as makeRunMain, wn as uninterruptible, wr as hasProperty, wt as failCauseUnsafe, x as make$10, xn as timeoutOrElse, xr as String$2, xt as fromTransform, y as make$13, yn as sync, yr as none, z as WatchBackend, zn as makeUnsafe$1, zt as catchFilter } from "./LoomStore-DMf2PkfP.js";
|
|
4
4
|
import * as NodeChildProcess from "node:child_process";
|
|
5
5
|
import "node:stream";
|
|
6
6
|
import * as Crypto from "node:crypto";
|
|
@@ -10278,6 +10278,18 @@ var LoomWeaver = class extends Service()("LoomWeaver", { make: gen(function* ()
|
|
|
10278
10278
|
}
|
|
10279
10279
|
};
|
|
10280
10280
|
//#endregion
|
|
10281
|
+
//#region ../loom-lang/src/weave/LoomContents.ts
|
|
10282
|
+
var LoomContents = class extends Service()("LoomContents", { make: gen(function* () {
|
|
10283
|
+
const compiler = yield* LoomCompiler;
|
|
10284
|
+
const fs = yield* FileSystem;
|
|
10285
|
+
const write = (entry) => compiler.contents(entry).pipe(flatMap((text) => fs.writeFileString(entry, text).pipe(orDie, as(entry))));
|
|
10286
|
+
return { write };
|
|
10287
|
+
}) }) {
|
|
10288
|
+
static {
|
|
10289
|
+
this.layer = effect(this, this.make).pipe(provide(LoomCompiler.layer));
|
|
10290
|
+
}
|
|
10291
|
+
};
|
|
10292
|
+
//#endregion
|
|
10281
10293
|
//#region src/main.ts
|
|
10282
10294
|
var reset = "\x1B[0m";
|
|
10283
10295
|
var teal = (s) => `\x1b[38;5;44m${s}${reset}`;
|
|
@@ -10305,6 +10317,9 @@ var orphans = (prune) => gen(function* () {
|
|
|
10305
10317
|
var weave = (file, out) => gen(function* () {
|
|
10306
10318
|
yield* log(`loom: wove ${file} → ${yield* (yield* LoomWeaver).weave(resolve(process.cwd(), file), resolve(process.cwd(), out))}`);
|
|
10307
10319
|
});
|
|
10320
|
+
var toc = (file) => gen(function* () {
|
|
10321
|
+
yield* log(`loom: wrote the table of contents into ${yield* (yield* LoomContents).write(resolve(process.cwd(), file))}`);
|
|
10322
|
+
});
|
|
10308
10323
|
var mergeMcpConfig = (root) => {
|
|
10309
10324
|
const path = resolve(root, ".mcp.json");
|
|
10310
10325
|
const existing = existsSync(path) ? JSON.parse(readFileSync(path, "utf8")) : {};
|
|
@@ -10382,29 +10397,62 @@ var status = gen(function* () {
|
|
|
10382
10397
|
yield* log(`\n ${dim("store")} ${storeDir(dir)}\n ${dim("primary")} ${primary ?? dim("(none)")}\n ${dim("activated")} ${languages.length === 0 ? dim("(none)") : languages.join(", ")}\n`);
|
|
10383
10398
|
if (languages.length > 0) yield* log(`${languages.map(mark).join("\n")}\n`);
|
|
10384
10399
|
});
|
|
10400
|
+
var set = (name, value) => gen(function* () {
|
|
10401
|
+
const config = yield* LoomConfig;
|
|
10402
|
+
const tangler = yield* LoomTangler;
|
|
10403
|
+
const workspace = workspaceRoot(process.cwd());
|
|
10404
|
+
const usage = "usage: loom set <name> <value>";
|
|
10405
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name)) {
|
|
10406
|
+
yield* error(`loom: \`${name}\` is not a variable name — ${usage}`);
|
|
10407
|
+
yield* sync(() => void (process.exitCode = 1));
|
|
10408
|
+
return;
|
|
10409
|
+
}
|
|
10410
|
+
if (value.startsWith("=")) {
|
|
10411
|
+
yield* error(`loom: a value cannot begin with \`=\`; give the name and value with a space, no \`=\` — ${usage}`);
|
|
10412
|
+
yield* sync(() => void (process.exitCode = 1));
|
|
10413
|
+
return;
|
|
10414
|
+
}
|
|
10415
|
+
const current = yield* config.manifest(workspace);
|
|
10416
|
+
yield* config.materialize(workspace, {
|
|
10417
|
+
...current ?? {},
|
|
10418
|
+
variables: {
|
|
10419
|
+
...current?.variables ?? {},
|
|
10420
|
+
[name]: value
|
|
10421
|
+
}
|
|
10422
|
+
});
|
|
10423
|
+
const corpus = resolve(workspace, current?.corpus ?? "corpus");
|
|
10424
|
+
yield* log(`loom: set ${name} = ${value} (re-tangled ${(yield* tangler.tangle(corpus)).length} files)`);
|
|
10425
|
+
}).pipe(catchTag("TangleError", (e) => error(e.message).pipe(andThen(sync(() => void (process.exitCode = 1))))));
|
|
10385
10426
|
var tangleCommand = make$5("tangle", { path: string("path") }, ({ path }) => tangle(path));
|
|
10386
10427
|
var orphansCommand = make$5("orphans", { prune: boolean("prune") }, ({ prune }) => orphans(prune));
|
|
10387
10428
|
var weaveCommand = make$5("weave", {
|
|
10388
10429
|
path: string("path"),
|
|
10389
10430
|
out: string("out")
|
|
10390
10431
|
}, ({ path, out }) => weave(path, out));
|
|
10432
|
+
var tocCommand = make$5("toc", { path: string("path") }, ({ path }) => toc(path));
|
|
10391
10433
|
var initCommand = make$5("init", { dir: optional$1(directory("dir")) }, ({ dir }) => init(dir));
|
|
10392
10434
|
var addCommand = make$5("add", { language: string("language") }, ({ language }) => add(language));
|
|
10393
10435
|
var removeCommand = make$5("remove", { language: string("language") }, ({ language }) => remove(language));
|
|
10394
10436
|
var statusCommand = make$5("status", {}, () => status);
|
|
10437
|
+
var setCommand = make$5("set", {
|
|
10438
|
+
name: string("name"),
|
|
10439
|
+
value: string("value")
|
|
10440
|
+
}, ({ name, value }) => set(name, value));
|
|
10395
10441
|
var program = run(make$5("loom").pipe(withSubcommands([
|
|
10396
10442
|
tangleCommand,
|
|
10397
10443
|
orphansCommand,
|
|
10398
10444
|
weaveCommand,
|
|
10445
|
+
tocCommand,
|
|
10399
10446
|
initCommand,
|
|
10400
10447
|
addCommand,
|
|
10401
10448
|
removeCommand,
|
|
10402
|
-
statusCommand
|
|
10403
|
-
|
|
10449
|
+
statusCommand,
|
|
10450
|
+
setCommand
|
|
10451
|
+
])), { version: "0.0.4" }).pipe(provide$1(LoomTangler.layer), provide$1(LoomWeaver.layer), provide$1(LoomContents.layer), provide$1(DocumentSource.layer), provide$1(PackageConfig.layer), provide$1(LoomConfig.layer), provide$1(layer));
|
|
10404
10452
|
if (process.argv[2] === "lsp") {
|
|
10405
10453
|
const { createRequire } = await import("node:module");
|
|
10406
10454
|
globalThis.require = createRequire(import.meta.url);
|
|
10407
|
-
const { startLanguageServer } = await import("./LoomServer-
|
|
10455
|
+
const { startLanguageServer } = await import("./LoomServer-D8I04Chj.js");
|
|
10408
10456
|
startLanguageServer();
|
|
10409
10457
|
} else runMain(program);
|
|
10410
10458
|
//#endregion
|