@lmctl-ai/lmctl 0.1.86 → 0.1.88

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.
@@ -651,7 +651,8 @@ CREATE TABLE IF NOT EXISTS agent_inflight (
651
651
  );
652
652
 
653
653
  -- v40: tracked background delegation substrate. Inert until the later
654
- -- chat --detach / jobs slices wire it up.
654
+ -- Legacy/dormant tracked background delegation tables. Kept for existing DB
655
+ -- compatibility; current tracked wakeup uses tracked_invocation.
655
656
  CREATE TABLE IF NOT EXISTS delegation_job (
656
657
  id INTEGER PRIMARY KEY AUTOINCREMENT,
657
658
  teamfile TEXT NOT NULL,
@@ -701,3 +702,37 @@ CREATE TABLE IF NOT EXISTS runtime_state (
701
702
  updated_at TEXT NOT NULL,
702
703
  PRIMARY KEY(scope, key, kind)
703
704
  );
705
+
706
+ -- v44: durable start/finish records for lmctl wait wake semantics.
707
+ CREATE TABLE IF NOT EXISTS tracked_invocation (
708
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
709
+ kind TEXT NOT NULL CHECK(kind IN ('chat', 'exec')),
710
+ origin TEXT NOT NULL CHECK(origin IN ('agent', 'operator', 'mcp', 'unknown')),
711
+ scope_teamfile TEXT,
712
+ from_identity TEXT NOT NULL,
713
+ target_teamfile TEXT,
714
+ target_alias TEXT,
715
+ root_teamfile TEXT,
716
+ cwd TEXT,
717
+ command TEXT,
718
+ status TEXT NOT NULL CHECK(status IN ('running', 'done', 'error', 'busy', 'cancelled')),
719
+ started_at TEXT NOT NULL,
720
+ ended_at TEXT,
721
+ holder_pid INTEGER,
722
+ holder_host TEXT,
723
+ last_heartbeat_at TEXT,
724
+ exit_code INTEGER,
725
+ signal TEXT,
726
+ result_summary TEXT,
727
+ error TEXT,
728
+ team_chat_log_id INTEGER,
729
+ meta TEXT
730
+ );
731
+ CREATE INDEX IF NOT EXISTS idx_tracked_invocation_status_started
732
+ ON tracked_invocation(status, started_at);
733
+ CREATE INDEX IF NOT EXISTS idx_tracked_invocation_from_status_started
734
+ ON tracked_invocation(from_identity, status, started_at);
735
+ CREATE INDEX IF NOT EXISTS idx_tracked_invocation_scope_status_started
736
+ ON tracked_invocation(scope_teamfile, status, started_at);
737
+ CREATE INDEX IF NOT EXISTS idx_tracked_invocation_status_ended
738
+ ON tracked_invocation(status, ended_at);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lmctl-ai/lmctl",
3
- "version": "0.1.86",
3
+ "version": "0.1.88",
4
4
  "description": "A provider-agnostic control plane for teams of AI coding agents — across providers, with independent review and durable memory.",
5
5
  "type": "module",
6
6
  "homepage": "https://lmctl.com",