@hasna/loops 0.4.3 → 0.4.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/CHANGELOG.md +76 -0
- package/README.md +6 -1
- package/dist/api/index.js +2 -2
- package/dist/cli/index.js +928 -418
- package/dist/daemon/index.js +188 -4
- package/dist/index.d.ts +2 -0
- package/dist/index.js +759 -70
- package/dist/lib/migration.d.ts +109 -0
- package/dist/lib/mode.js +2 -2
- package/dist/lib/route/todos-cli.d.ts +0 -1
- package/dist/lib/route/types.d.ts +0 -10
- package/dist/lib/storage/index.js +186 -2
- package/dist/lib/storage/sqlite.js +186 -2
- package/dist/lib/store.d.ts +41 -0
- package/dist/lib/store.js +186 -2
- package/dist/lib/template-kit.d.ts +8 -10
- package/dist/lib/templates.d.ts +0 -1
- package/dist/mcp/index.js +188 -4
- package/dist/runner/index.js +2 -2
- package/dist/sdk/index.d.ts +9 -0
- package/dist/sdk/index.js +983 -3
- package/docs/DEPLOYMENT_MODES.md +73 -5
- package/docs/USAGE.md +52 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,82 @@ 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.4 (2026-07-03)
|
|
9
|
+
|
|
10
|
+
Self-hosted runtime MVP release for operator-owned OpenLoops control planes.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Postgres storage contract with checksum-ledgered migrations for loops, runs,
|
|
15
|
+
workflows, goals, runner machines, runner leases, and audit events.
|
|
16
|
+
- Storage-backed `loops-api` `/v1` foundation for loop CRUD, run reads, runner
|
|
17
|
+
registration, claim, heartbeat, finalize, and bounded evidence upload.
|
|
18
|
+
- `loops-runner` foundation with self-hosted status checks and one-shot
|
|
19
|
+
claim/execute/finalize support for non-workflow loop targets.
|
|
20
|
+
- Operator-safe migration bundle helpers and CLI/SDK previews:
|
|
21
|
+
`loops export`, `loops import`, `loops self-hosted migrate --dry-run`,
|
|
22
|
+
`loops self-hosted push --dry-run`, `loops self-hosted pull --dry-run`, and
|
|
23
|
+
preview-first `loops self-hosted runner-register`.
|
|
24
|
+
- Documentation for self-hosted API/runner boundaries, local cache/spool
|
|
25
|
+
semantics, id-preserving import blockers, rollback evidence, and
|
|
26
|
+
cross-machine rollout evidence.
|
|
27
|
+
|
|
28
|
+
### Safety
|
|
29
|
+
|
|
30
|
+
- Remote self-hosted push/pull/migrate remain preview-only until the control
|
|
31
|
+
plane exposes table-preserving import/sync coverage for every supported
|
|
32
|
+
durable table, or a reviewed restricted rollout proves unsupported rows are
|
|
33
|
+
absent.
|
|
34
|
+
- Non-local API and runner paths fail closed without bearer tokens, run output
|
|
35
|
+
remains redacted by default, and migration/import planning blocks live
|
|
36
|
+
destination state, tampered bundles, and redacted environment imports unless
|
|
37
|
+
explicitly allowed.
|
|
38
|
+
- The npm `prepublishOnly` gate now runs build, typecheck, full tests, and the
|
|
39
|
+
private-boundary scan before publishing.
|
|
40
|
+
|
|
41
|
+
## 0.4.3 (2026-07-03)
|
|
42
|
+
|
|
43
|
+
Registry-visible self-hosted API and runner protocol patch. The local Git tag
|
|
44
|
+
set currently has no `v0.4.3` tag, so this entry backfills the release evidence
|
|
45
|
+
from the branch history and npm registry.
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- Storage-backed `loops-api` routes for loop CRUD and run listing using the
|
|
50
|
+
public storage contract, with storage-backed routes failing closed when no
|
|
51
|
+
storage adapter is injected.
|
|
52
|
+
- Runner registration, claim, heartbeat, finalize, and bounded evidence upload
|
|
53
|
+
protocol endpoints for self-hosted control planes.
|
|
54
|
+
- `loops-runner run-once` execution path for claimed non-workflow loop runs,
|
|
55
|
+
including claim-token fencing and heartbeat coverage while a run executes.
|
|
56
|
+
|
|
57
|
+
### Safety
|
|
58
|
+
|
|
59
|
+
- Non-local API serving requires a bearer token.
|
|
60
|
+
- Runner claims skip workflow loops until remote workflow execution is fully
|
|
61
|
+
supported.
|
|
62
|
+
- Run listing redacts stdout/stderr unless explicitly requested.
|
|
63
|
+
|
|
64
|
+
## 0.4.2 (2026-07-03)
|
|
65
|
+
|
|
66
|
+
Registry-visible self-hosted storage contract patch. The local Git tag set
|
|
67
|
+
currently has no `v0.4.2` tag, so this entry backfills the release evidence
|
|
68
|
+
from the branch history and npm registry.
|
|
69
|
+
|
|
70
|
+
### Added
|
|
71
|
+
|
|
72
|
+
- Async storage contract for local and self-hosted runtime adapters.
|
|
73
|
+
- SQLite storage wrapper over the existing local `Store`.
|
|
74
|
+
- Postgres storage migration contract with checksum ledger, core loop/run
|
|
75
|
+
tables, workflow/goal tables, runner machine/lease tables, and audit events.
|
|
76
|
+
- Public package exports for storage contract, SQLite adapter, Postgres adapter,
|
|
77
|
+
and Postgres schema helpers.
|
|
78
|
+
|
|
79
|
+
### Safety
|
|
80
|
+
|
|
81
|
+
- `loops-runner` self-hosted status fails closed when a remote runner is
|
|
82
|
+
configured without the required API URL and token.
|
|
83
|
+
|
|
8
84
|
## 0.4.1 (2026-07-03)
|
|
9
85
|
|
|
10
86
|
Contract-foundation release for the Mailery-style local/self-hosted/cloud
|
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ It supports deterministic command loops, JSON-defined workflows, and guarded CLI
|
|
|
22
22
|
OpenLoops has three deployment modes:
|
|
23
23
|
|
|
24
24
|
- `local`: SQLite in `LOOPS_DATA_DIR` is authoritative and `loops-daemon` executes scheduled work.
|
|
25
|
-
- `self_hosted`: a user-operated `loops-api` control plane contract. This release exposes status, storage-backed `/v1` loop CRUD and run listing, runner claim/heartbeat/finalize protocol endpoints,
|
|
25
|
+
- `self_hosted`: a user-operated `loops-api` control plane contract. This release exposes status, storage-backed `/v1` loop CRUD and run listing, runner claim/heartbeat/finalize protocol endpoints, a one-shot `loops-runner run-once` execution path for embedded control-plane hosts, id-preserving local export/import, and preview-only self-hosted migration/sync commands; full fleet rollout and remote apply are follow-up work.
|
|
26
26
|
- `cloud`: a hosted control-plane contract. This release exposes client/runner status only; hosted tenant auth and infrastructure live outside this package.
|
|
27
27
|
|
|
28
28
|
`local` is the default and requires no network, token, Postgres, or hosted
|
|
@@ -44,6 +44,11 @@ Useful status commands:
|
|
|
44
44
|
loops mode
|
|
45
45
|
loops --json mode
|
|
46
46
|
loops self-hosted status
|
|
47
|
+
loops self-hosted migrate --dry-run
|
|
48
|
+
loops self-hosted runner-register --runner-id <id> --machine-id <machine> --apply
|
|
49
|
+
loops export --file ./loops-export.json --dry-run
|
|
50
|
+
loops export --file ./loops-export.json
|
|
51
|
+
loops import ./loops-export.json
|
|
47
52
|
loops cloud status
|
|
48
53
|
loops-api status
|
|
49
54
|
loops-runner status
|
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.
|
|
6
|
+
version: "0.4.4",
|
|
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",
|
|
@@ -77,7 +77,7 @@ var package_default = {
|
|
|
77
77
|
prepare: "test -d dist || bun run build",
|
|
78
78
|
"dev:cli": "bun run src/cli/index.ts",
|
|
79
79
|
"dev:daemon": "bun run src/daemon/index.ts",
|
|
80
|
-
prepublishOnly: "bun run build && bun run test:boundary"
|
|
80
|
+
prepublishOnly: "bun run build && bun run typecheck && bun test && bun run test:boundary"
|
|
81
81
|
},
|
|
82
82
|
keywords: [
|
|
83
83
|
"loops",
|