@hasna/loops 0.4.4 → 0.4.5
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/CHANGELOG.md +12 -0
- package/dist/api/index.js +1 -1
- package/dist/cli/index.js +1 -2
- package/dist/daemon/index.js +1 -2
- package/dist/index.js +1 -2
- package/dist/lib/mode.js +1 -1
- package/dist/lib/storage/index.js +0 -1
- package/dist/lib/storage/sqlite.js +0 -1
- package/dist/lib/store.js +0 -1
- package/dist/mcp/index.js +1 -2
- package/dist/runner/index.js +1 -1
- package/dist/sdk/index.js +1 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,18 @@ documented in this file. Version entries are generated from the
|
|
|
5
5
|
conventional-commit git history; one commit maps to one released patch version
|
|
6
6
|
unless noted.
|
|
7
7
|
|
|
8
|
+
## 0.4.5 (2026-07-03)
|
|
9
|
+
|
|
10
|
+
Upgrade-path fix for existing `0.4.1`-era local stores.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Opening a version-6 store now applies the `0007_run_claim_tokens` migration
|
|
15
|
+
before creating the `claim_token` index. This fixes upgrades where
|
|
16
|
+
`loops doctor`, `loops daemon status`, or daemon restart failed with
|
|
17
|
+
`no such column: claim_token` on machines that already had active OpenLoops
|
|
18
|
+
state.
|
|
19
|
+
|
|
8
20
|
## 0.4.4 (2026-07-03)
|
|
9
21
|
|
|
10
22
|
Self-hosted runtime MVP release for operator-owned OpenLoops control planes.
|
package/dist/api/index.js
CHANGED
package/dist/cli/index.js
CHANGED
|
@@ -1642,7 +1642,6 @@ class Store {
|
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1643
1643
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1644
1644
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1645
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1646
1645
|
|
|
1647
1646
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1648
1647
|
id TEXT PRIMARY KEY,
|
|
@@ -4168,7 +4167,7 @@ class Store {
|
|
|
4168
4167
|
// package.json
|
|
4169
4168
|
var package_default = {
|
|
4170
4169
|
name: "@hasna/loops",
|
|
4171
|
-
version: "0.4.
|
|
4170
|
+
version: "0.4.5",
|
|
4172
4171
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
4173
4172
|
type: "module",
|
|
4174
4173
|
main: "dist/index.js",
|
package/dist/daemon/index.js
CHANGED
|
@@ -1642,7 +1642,6 @@ class Store {
|
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1643
1643
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1644
1644
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1645
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1646
1645
|
|
|
1647
1646
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1648
1647
|
id TEXT PRIMARY KEY,
|
|
@@ -7807,7 +7806,7 @@ function enableStartup(result) {
|
|
|
7807
7806
|
// package.json
|
|
7808
7807
|
var package_default = {
|
|
7809
7808
|
name: "@hasna/loops",
|
|
7810
|
-
version: "0.4.
|
|
7809
|
+
version: "0.4.5",
|
|
7811
7810
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
7812
7811
|
type: "module",
|
|
7813
7812
|
main: "dist/index.js",
|
package/dist/index.js
CHANGED
|
@@ -1640,7 +1640,6 @@ class Store {
|
|
|
1640
1640
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1641
1641
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1643
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1644
1643
|
|
|
1645
1644
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1646
1645
|
id TEXT PRIMARY KEY,
|
|
@@ -4166,7 +4165,7 @@ class Store {
|
|
|
4166
4165
|
// package.json
|
|
4167
4166
|
var package_default = {
|
|
4168
4167
|
name: "@hasna/loops",
|
|
4169
|
-
version: "0.4.
|
|
4168
|
+
version: "0.4.5",
|
|
4170
4169
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
4171
4170
|
type: "module",
|
|
4172
4171
|
main: "dist/index.js",
|
package/dist/lib/mode.js
CHANGED
|
@@ -1640,7 +1640,6 @@ class Store {
|
|
|
1640
1640
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1641
1641
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1643
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1644
1643
|
|
|
1645
1644
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1646
1645
|
id TEXT PRIMARY KEY,
|
|
@@ -1640,7 +1640,6 @@ class Store {
|
|
|
1640
1640
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1641
1641
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1643
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1644
1643
|
|
|
1645
1644
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1646
1645
|
id TEXT PRIMARY KEY,
|
package/dist/lib/store.js
CHANGED
|
@@ -1640,7 +1640,6 @@ class Store {
|
|
|
1640
1640
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1641
1641
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1643
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1644
1643
|
|
|
1645
1644
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1646
1645
|
id TEXT PRIMARY KEY,
|
package/dist/mcp/index.js
CHANGED
|
@@ -1642,7 +1642,6 @@ class Store {
|
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1643
1643
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1644
1644
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1645
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1646
1645
|
|
|
1647
1646
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1648
1647
|
id TEXT PRIMARY KEY,
|
|
@@ -7530,7 +7529,7 @@ async function tick(deps) {
|
|
|
7530
7529
|
// package.json
|
|
7531
7530
|
var package_default = {
|
|
7532
7531
|
name: "@hasna/loops",
|
|
7533
|
-
version: "0.4.
|
|
7532
|
+
version: "0.4.5",
|
|
7534
7533
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
7535
7534
|
type: "module",
|
|
7536
7535
|
main: "dist/index.js",
|
package/dist/runner/index.js
CHANGED
package/dist/sdk/index.js
CHANGED
|
@@ -1640,7 +1640,6 @@ class Store {
|
|
|
1640
1640
|
CREATE INDEX IF NOT EXISTS idx_runs_status ON loop_runs(status);
|
|
1641
1641
|
CREATE INDEX IF NOT EXISTS idx_runs_status_lease ON loop_runs(status, lease_expires_at);
|
|
1642
1642
|
CREATE INDEX IF NOT EXISTS idx_runs_scheduled ON loop_runs(scheduled_for);
|
|
1643
|
-
CREATE INDEX IF NOT EXISTS idx_runs_claim_token ON loop_runs(claim_token) WHERE claim_token IS NOT NULL;
|
|
1644
1643
|
|
|
1645
1644
|
CREATE TABLE IF NOT EXISTS daemon_lease (
|
|
1646
1645
|
id TEXT PRIMARY KEY,
|
|
@@ -4166,7 +4165,7 @@ class Store {
|
|
|
4166
4165
|
// package.json
|
|
4167
4166
|
var package_default = {
|
|
4168
4167
|
name: "@hasna/loops",
|
|
4169
|
-
version: "0.4.
|
|
4168
|
+
version: "0.4.5",
|
|
4170
4169
|
description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
|
|
4171
4170
|
type: "module",
|
|
4172
4171
|
main: "dist/index.js",
|