@lmctl-ai/lmctl 0.1.119 → 0.1.120

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.
@@ -761,7 +761,11 @@ CREATE TABLE IF NOT EXISTS agent_mailbox (
761
761
  delivery_holder_pid INTEGER,
762
762
  delivery_holder_host TEXT,
763
763
  waited_at TEXT,
764
- waited_by TEXT
764
+ waited_by TEXT,
765
+ message_type TEXT NOT NULL DEFAULT 'request' CHECK(message_type IN ('request','response')),
766
+ reply_mode TEXT NOT NULL DEFAULT 'pull' CHECK(reply_mode IN ('push','pull')),
767
+ request_mailbox_id INTEGER,
768
+ CHECK(message_type <> 'response' OR request_mailbox_id IS NOT NULL)
765
769
  );
766
770
  CREATE INDEX IF NOT EXISTS idx_agent_mailbox_receiver_id
767
771
  ON agent_mailbox(receiver_teamfile, receiver_alias, id);
@@ -773,3 +777,18 @@ CREATE INDEX IF NOT EXISTS idx_agent_mailbox_sender_delivery_wait
773
777
  ON agent_mailbox(sender_teamfile, sender_alias, delivered_at, waited_at, id);
774
778
  CREATE INDEX IF NOT EXISTS idx_agent_mailbox_lane_delivery
775
779
  ON agent_mailbox(sender_teamfile, sender_alias, receiver_teamfile, receiver_alias, delivered_at, delivering_at, id);
780
+ CREATE UNIQUE INDEX IF NOT EXISTS idx_agent_mailbox_response_request_unique
781
+ ON agent_mailbox(request_mailbox_id)
782
+ WHERE message_type = 'response' AND request_mailbox_id IS NOT NULL;
783
+ CREATE TRIGGER IF NOT EXISTS trg_agent_mailbox_response_request_insert
784
+ BEFORE INSERT ON agent_mailbox
785
+ WHEN NEW.message_type = 'response' AND NEW.request_mailbox_id IS NULL
786
+ BEGIN
787
+ SELECT RAISE(ABORT, 'agent_mailbox response requires request_mailbox_id');
788
+ END;
789
+ CREATE TRIGGER IF NOT EXISTS trg_agent_mailbox_response_request_update
790
+ BEFORE UPDATE OF message_type, request_mailbox_id ON agent_mailbox
791
+ WHEN NEW.message_type = 'response' AND NEW.request_mailbox_id IS NULL
792
+ BEGIN
793
+ SELECT RAISE(ABORT, 'agent_mailbox response requires request_mailbox_id');
794
+ END;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lmctl-ai/lmctl",
3
- "version": "0.1.119",
3
+ "version": "0.1.120",
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",