@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 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
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@hasna/loops",
6
- version: "0.4.4",
6
+ version: "0.4.5",
7
7
  description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
8
8
  type: "module",
9
9
  main: "dist/index.js",
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.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",
@@ -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.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.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
@@ -2,7 +2,7 @@
2
2
  // package.json
3
3
  var package_default = {
4
4
  name: "@hasna/loops",
5
- version: "0.4.4",
5
+ version: "0.4.5",
6
6
  description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
7
7
  type: "module",
8
8
  main: "dist/index.js",
@@ -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.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",
@@ -3,7 +3,7 @@
3
3
  // package.json
4
4
  var package_default = {
5
5
  name: "@hasna/loops",
6
- version: "0.4.4",
6
+ version: "0.4.5",
7
7
  description: "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
8
8
  type: "module",
9
9
  main: "dist/index.js",
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.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hasna/loops",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "Persistent local loop and workflow runner for deterministic commands and headless AI coding agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",