@hasna/loops 0.3.7 → 0.3.8
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/cli/index.js +90 -1
- package/dist/daemon/index.js +90 -1
- package/dist/lib/version.d.ts +1 -0
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -4213,10 +4213,99 @@ function runDoctor(store) {
|
|
|
4213
4213
|
checks
|
|
4214
4214
|
};
|
|
4215
4215
|
}
|
|
4216
|
+
// package.json
|
|
4217
|
+
var package_default = {
|
|
4218
|
+
name: "@hasna/loops",
|
|
4219
|
+
version: "0.3.8",
|
|
4220
|
+
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
4221
|
+
type: "module",
|
|
4222
|
+
main: "dist/index.js",
|
|
4223
|
+
types: "dist/index.d.ts",
|
|
4224
|
+
bin: {
|
|
4225
|
+
loops: "dist/cli/index.js",
|
|
4226
|
+
"loops-daemon": "dist/daemon/index.js"
|
|
4227
|
+
},
|
|
4228
|
+
exports: {
|
|
4229
|
+
".": {
|
|
4230
|
+
types: "./dist/index.d.ts",
|
|
4231
|
+
import: "./dist/index.js"
|
|
4232
|
+
},
|
|
4233
|
+
"./sdk": {
|
|
4234
|
+
types: "./dist/sdk/index.d.ts",
|
|
4235
|
+
import: "./dist/sdk/index.js"
|
|
4236
|
+
},
|
|
4237
|
+
"./storage": {
|
|
4238
|
+
types: "./dist/lib/store.d.ts",
|
|
4239
|
+
import: "./dist/lib/store.js"
|
|
4240
|
+
}
|
|
4241
|
+
},
|
|
4242
|
+
files: [
|
|
4243
|
+
"dist",
|
|
4244
|
+
"README.md",
|
|
4245
|
+
"docs",
|
|
4246
|
+
"LICENSE"
|
|
4247
|
+
],
|
|
4248
|
+
scripts: {
|
|
4249
|
+
build: "rm -rf dist && bun build src/cli/index.ts src/daemon/index.ts src/index.ts src/sdk/index.ts src/lib/store.ts --outdir dist --target bun --packages external && chmod +x dist/cli/index.js dist/daemon/index.js && tsc -p tsconfig.build.json --emitDeclarationOnly --outDir dist",
|
|
4250
|
+
"build:bin": "bun build src/cli/index.ts --compile --outfile dist/loops",
|
|
4251
|
+
typecheck: "tsc --noEmit",
|
|
4252
|
+
test: "bun test",
|
|
4253
|
+
prepare: "bun run build",
|
|
4254
|
+
"dev:cli": "bun run src/cli/index.ts",
|
|
4255
|
+
"dev:daemon": "bun run src/daemon/index.ts",
|
|
4256
|
+
prepublishOnly: "bun run build"
|
|
4257
|
+
},
|
|
4258
|
+
keywords: [
|
|
4259
|
+
"loops",
|
|
4260
|
+
"scheduler",
|
|
4261
|
+
"daemon",
|
|
4262
|
+
"agents",
|
|
4263
|
+
"claude",
|
|
4264
|
+
"cursor",
|
|
4265
|
+
"codewith",
|
|
4266
|
+
"opencode",
|
|
4267
|
+
"cli"
|
|
4268
|
+
],
|
|
4269
|
+
repository: {
|
|
4270
|
+
type: "git",
|
|
4271
|
+
url: "git+https://github.com/hasna/loops.git"
|
|
4272
|
+
},
|
|
4273
|
+
homepage: "https://github.com/hasna/loops#readme",
|
|
4274
|
+
bugs: {
|
|
4275
|
+
url: "https://github.com/hasna/loops/issues"
|
|
4276
|
+
},
|
|
4277
|
+
author: "Hasna <andrei@hasna.com>",
|
|
4278
|
+
license: "Apache-2.0",
|
|
4279
|
+
engines: {
|
|
4280
|
+
bun: ">=1.0.0"
|
|
4281
|
+
},
|
|
4282
|
+
dependencies: {
|
|
4283
|
+
"@hasna/machines": "0.0.49",
|
|
4284
|
+
"@openrouter/ai-sdk-provider": "2.9.1",
|
|
4285
|
+
ai: "6.0.204",
|
|
4286
|
+
commander: "^13.1.0",
|
|
4287
|
+
zod: "4.4.3"
|
|
4288
|
+
},
|
|
4289
|
+
devDependencies: {
|
|
4290
|
+
"@types/bun": "latest",
|
|
4291
|
+
typescript: "^5.7.3"
|
|
4292
|
+
},
|
|
4293
|
+
publishConfig: {
|
|
4294
|
+
registry: "https://registry.npmjs.org",
|
|
4295
|
+
access: "public"
|
|
4296
|
+
}
|
|
4297
|
+
};
|
|
4298
|
+
|
|
4299
|
+
// src/lib/version.ts
|
|
4300
|
+
function packageVersion() {
|
|
4301
|
+
if (typeof package_default.version !== "string" || package_default.version.trim() === "")
|
|
4302
|
+
throw new Error("package.json version is missing");
|
|
4303
|
+
return package_default.version;
|
|
4304
|
+
}
|
|
4216
4305
|
|
|
4217
4306
|
// src/cli/index.ts
|
|
4218
4307
|
var program = new Command;
|
|
4219
|
-
program.name("loops").description("Persistent local loops for commands and headless coding agents").version(
|
|
4308
|
+
program.name("loops").description("Persistent local loops for commands and headless coding agents").version(packageVersion());
|
|
4220
4309
|
program.option("-j, --json", "print JSON");
|
|
4221
4310
|
function isJson() {
|
|
4222
4311
|
return Boolean(program.opts().json);
|
package/dist/daemon/index.js
CHANGED
|
@@ -4013,10 +4013,99 @@ function enableStartup(result) {
|
|
|
4013
4013
|
};
|
|
4014
4014
|
});
|
|
4015
4015
|
}
|
|
4016
|
+
// package.json
|
|
4017
|
+
var package_default = {
|
|
4018
|
+
name: "@hasna/loops",
|
|
4019
|
+
version: "0.3.8",
|
|
4020
|
+
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
4021
|
+
type: "module",
|
|
4022
|
+
main: "dist/index.js",
|
|
4023
|
+
types: "dist/index.d.ts",
|
|
4024
|
+
bin: {
|
|
4025
|
+
loops: "dist/cli/index.js",
|
|
4026
|
+
"loops-daemon": "dist/daemon/index.js"
|
|
4027
|
+
},
|
|
4028
|
+
exports: {
|
|
4029
|
+
".": {
|
|
4030
|
+
types: "./dist/index.d.ts",
|
|
4031
|
+
import: "./dist/index.js"
|
|
4032
|
+
},
|
|
4033
|
+
"./sdk": {
|
|
4034
|
+
types: "./dist/sdk/index.d.ts",
|
|
4035
|
+
import: "./dist/sdk/index.js"
|
|
4036
|
+
},
|
|
4037
|
+
"./storage": {
|
|
4038
|
+
types: "./dist/lib/store.d.ts",
|
|
4039
|
+
import: "./dist/lib/store.js"
|
|
4040
|
+
}
|
|
4041
|
+
},
|
|
4042
|
+
files: [
|
|
4043
|
+
"dist",
|
|
4044
|
+
"README.md",
|
|
4045
|
+
"docs",
|
|
4046
|
+
"LICENSE"
|
|
4047
|
+
],
|
|
4048
|
+
scripts: {
|
|
4049
|
+
build: "rm -rf dist && bun build src/cli/index.ts src/daemon/index.ts src/index.ts src/sdk/index.ts src/lib/store.ts --outdir dist --target bun --packages external && chmod +x dist/cli/index.js dist/daemon/index.js && tsc -p tsconfig.build.json --emitDeclarationOnly --outDir dist",
|
|
4050
|
+
"build:bin": "bun build src/cli/index.ts --compile --outfile dist/loops",
|
|
4051
|
+
typecheck: "tsc --noEmit",
|
|
4052
|
+
test: "bun test",
|
|
4053
|
+
prepare: "bun run build",
|
|
4054
|
+
"dev:cli": "bun run src/cli/index.ts",
|
|
4055
|
+
"dev:daemon": "bun run src/daemon/index.ts",
|
|
4056
|
+
prepublishOnly: "bun run build"
|
|
4057
|
+
},
|
|
4058
|
+
keywords: [
|
|
4059
|
+
"loops",
|
|
4060
|
+
"scheduler",
|
|
4061
|
+
"daemon",
|
|
4062
|
+
"agents",
|
|
4063
|
+
"claude",
|
|
4064
|
+
"cursor",
|
|
4065
|
+
"codewith",
|
|
4066
|
+
"opencode",
|
|
4067
|
+
"cli"
|
|
4068
|
+
],
|
|
4069
|
+
repository: {
|
|
4070
|
+
type: "git",
|
|
4071
|
+
url: "git+https://github.com/hasna/loops.git"
|
|
4072
|
+
},
|
|
4073
|
+
homepage: "https://github.com/hasna/loops#readme",
|
|
4074
|
+
bugs: {
|
|
4075
|
+
url: "https://github.com/hasna/loops/issues"
|
|
4076
|
+
},
|
|
4077
|
+
author: "Hasna <andrei@hasna.com>",
|
|
4078
|
+
license: "Apache-2.0",
|
|
4079
|
+
engines: {
|
|
4080
|
+
bun: ">=1.0.0"
|
|
4081
|
+
},
|
|
4082
|
+
dependencies: {
|
|
4083
|
+
"@hasna/machines": "0.0.49",
|
|
4084
|
+
"@openrouter/ai-sdk-provider": "2.9.1",
|
|
4085
|
+
ai: "6.0.204",
|
|
4086
|
+
commander: "^13.1.0",
|
|
4087
|
+
zod: "4.4.3"
|
|
4088
|
+
},
|
|
4089
|
+
devDependencies: {
|
|
4090
|
+
"@types/bun": "latest",
|
|
4091
|
+
typescript: "^5.7.3"
|
|
4092
|
+
},
|
|
4093
|
+
publishConfig: {
|
|
4094
|
+
registry: "https://registry.npmjs.org",
|
|
4095
|
+
access: "public"
|
|
4096
|
+
}
|
|
4097
|
+
};
|
|
4098
|
+
|
|
4099
|
+
// src/lib/version.ts
|
|
4100
|
+
function packageVersion() {
|
|
4101
|
+
if (typeof package_default.version !== "string" || package_default.version.trim() === "")
|
|
4102
|
+
throw new Error("package.json version is missing");
|
|
4103
|
+
return package_default.version;
|
|
4104
|
+
}
|
|
4016
4105
|
|
|
4017
4106
|
// src/daemon/index.ts
|
|
4018
4107
|
var program = new Command;
|
|
4019
|
-
program.name("loops-daemon").description("OpenLoops daemon helper").version(
|
|
4108
|
+
program.name("loops-daemon").description("OpenLoops daemon helper").version(packageVersion());
|
|
4020
4109
|
program.command("run").option("--interval-ms <ms>", "tick interval", (value) => Number(value)).action(async (opts) => runDaemon({ intervalMs: opts.intervalMs }));
|
|
4021
4110
|
program.command("start").action(async () => {
|
|
4022
4111
|
const result = await startDaemon({ cliEntry: process.argv[1] ?? "loops-daemon", args: ["run"] });
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function packageVersion(): string;
|