@mquan/portal 0.0.1

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.
Files changed (116) hide show
  1. package/README.md +168 -0
  2. package/dist/src/api.d.ts +5 -0
  3. package/dist/src/api.js +357 -0
  4. package/dist/src/api.js.map +1 -0
  5. package/dist/src/cli.d.ts +17 -0
  6. package/dist/src/cli.js +618 -0
  7. package/dist/src/cli.js.map +1 -0
  8. package/dist/src/daemon-lifecycle.d.ts +24 -0
  9. package/dist/src/daemon-lifecycle.js +107 -0
  10. package/dist/src/daemon-lifecycle.js.map +1 -0
  11. package/dist/src/daemon.d.ts +17 -0
  12. package/dist/src/daemon.js +90 -0
  13. package/dist/src/daemon.js.map +1 -0
  14. package/dist/src/doctor.d.ts +14 -0
  15. package/dist/src/doctor.js +51 -0
  16. package/dist/src/doctor.js.map +1 -0
  17. package/dist/src/entrypoint.d.ts +2 -0
  18. package/dist/src/entrypoint.js +14 -0
  19. package/dist/src/entrypoint.js.map +1 -0
  20. package/dist/src/index.d.ts +5 -0
  21. package/dist/src/index.js +5 -0
  22. package/dist/src/index.js.map +1 -0
  23. package/dist/src/launch.d.ts +41 -0
  24. package/dist/src/launch.js +186 -0
  25. package/dist/src/launch.js.map +1 -0
  26. package/dist/src/mcp.d.ts +9 -0
  27. package/dist/src/mcp.js +132 -0
  28. package/dist/src/mcp.js.map +1 -0
  29. package/dist/src/network/client.d.ts +67 -0
  30. package/dist/src/network/client.js +540 -0
  31. package/dist/src/network/client.js.map +1 -0
  32. package/dist/src/network/coordinator.d.ts +83 -0
  33. package/dist/src/network/coordinator.js +225 -0
  34. package/dist/src/network/coordinator.js.map +1 -0
  35. package/dist/src/network/protocol.d.ts +1352 -0
  36. package/dist/src/network/protocol.js +360 -0
  37. package/dist/src/network/protocol.js.map +1 -0
  38. package/dist/src/network/server.d.ts +28 -0
  39. package/dist/src/network/server.js +474 -0
  40. package/dist/src/network/server.js.map +1 -0
  41. package/dist/src/network/tasks.d.ts +65 -0
  42. package/dist/src/network/tasks.js +276 -0
  43. package/dist/src/network/tasks.js.map +1 -0
  44. package/dist/src/portal-index.d.ts +21 -0
  45. package/dist/src/portal-index.js +140 -0
  46. package/dist/src/portal-index.js.map +1 -0
  47. package/dist/src/provider/claude-managed.d.ts +34 -0
  48. package/dist/src/provider/claude-managed.js +125 -0
  49. package/dist/src/provider/claude-managed.js.map +1 -0
  50. package/dist/src/provider/claude.d.ts +24 -0
  51. package/dist/src/provider/claude.js +114 -0
  52. package/dist/src/provider/claude.js.map +1 -0
  53. package/dist/src/provider/codex/app-server-client.d.ts +43 -0
  54. package/dist/src/provider/codex/app-server-client.js +143 -0
  55. package/dist/src/provider/codex/app-server-client.js.map +1 -0
  56. package/dist/src/provider/codex/index.d.ts +3 -0
  57. package/dist/src/provider/codex/index.js +4 -0
  58. package/dist/src/provider/codex/index.js.map +1 -0
  59. package/dist/src/provider/codex/managed-runner.d.ts +12 -0
  60. package/dist/src/provider/codex/managed-runner.js +162 -0
  61. package/dist/src/provider/codex/managed-runner.js.map +1 -0
  62. package/dist/src/provider/codex/probe.d.ts +2 -0
  63. package/dist/src/provider/codex/probe.js +33 -0
  64. package/dist/src/provider/codex/probe.js.map +1 -0
  65. package/dist/src/provider/codex/protocol.d.ts +193 -0
  66. package/dist/src/provider/codex/protocol.js +10 -0
  67. package/dist/src/provider/codex/protocol.js.map +1 -0
  68. package/dist/src/provider/codex/provider.d.ts +35 -0
  69. package/dist/src/provider/codex/provider.js +289 -0
  70. package/dist/src/provider/codex/provider.js.map +1 -0
  71. package/dist/src/provider/codex/remote-app-server.d.ts +16 -0
  72. package/dist/src/provider/codex/remote-app-server.js +80 -0
  73. package/dist/src/provider/codex/remote-app-server.js.map +1 -0
  74. package/dist/src/provider/codex/websocket-client.d.ts +40 -0
  75. package/dist/src/provider/codex/websocket-client.js +174 -0
  76. package/dist/src/provider/codex/websocket-client.js.map +1 -0
  77. package/dist/src/provider/types.d.ts +35 -0
  78. package/dist/src/provider/types.js +2 -0
  79. package/dist/src/provider/types.js.map +1 -0
  80. package/dist/src/recall/embedding.d.ts +28 -0
  81. package/dist/src/recall/embedding.js +142 -0
  82. package/dist/src/recall/embedding.js.map +1 -0
  83. package/dist/src/recall/types.d.ts +35 -0
  84. package/dist/src/recall/types.js +2 -0
  85. package/dist/src/recall/types.js.map +1 -0
  86. package/dist/src/rpc/client.d.ts +6 -0
  87. package/dist/src/rpc/client.js +58 -0
  88. package/dist/src/rpc/client.js.map +1 -0
  89. package/dist/src/rpc/protocol.d.ts +21 -0
  90. package/dist/src/rpc/protocol.js +11 -0
  91. package/dist/src/rpc/protocol.js.map +1 -0
  92. package/dist/src/rpc/server.d.ts +12 -0
  93. package/dist/src/rpc/server.js +154 -0
  94. package/dist/src/rpc/server.js.map +1 -0
  95. package/dist/src/runtime/paths.d.ts +8 -0
  96. package/dist/src/runtime/paths.js +18 -0
  97. package/dist/src/runtime/paths.js.map +1 -0
  98. package/dist/src/service.d.ts +127 -0
  99. package/dist/src/service.js +637 -0
  100. package/dist/src/service.js.map +1 -0
  101. package/dist/src/session-profile.d.ts +39 -0
  102. package/dist/src/session-profile.js +186 -0
  103. package/dist/src/session-profile.js.map +1 -0
  104. package/dist/src/storage/database.d.ts +9 -0
  105. package/dist/src/storage/database.js +354 -0
  106. package/dist/src/storage/database.js.map +1 -0
  107. package/dist/src/storage/repository.d.ts +275 -0
  108. package/dist/src/storage/repository.js +1291 -0
  109. package/dist/src/storage/repository.js.map +1 -0
  110. package/dist/src/version.d.ts +1 -0
  111. package/dist/src/version.js +2 -0
  112. package/dist/src/version.js.map +1 -0
  113. package/docs/architecture-plan.md +191 -0
  114. package/docs/mvp-plan.md +111 -0
  115. package/docs/remote-demo.md +346 -0
  116. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository.js","sourceRoot":"","sources":["../../../src/storage/repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const PORTAL_VERSION = "0.0.1";
@@ -0,0 +1,2 @@
1
+ export const PORTAL_VERSION = "0.0.1";
2
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
@@ -0,0 +1,191 @@
1
+ # Portal architecture
2
+
3
+ Status: post-MVP direction
4
+ Updated: 2026-09-04
5
+
6
+ ## Product boundary
7
+
8
+ Portal is a local, per-user control plane for agent and work sessions. It owns
9
+ identity, policy, indexed recall, durable messages, and orchestration records.
10
+ Vendor transcripts remain authoritative for vendor-native resume.
11
+
12
+ The deterministic daemon is the trusted core. An optional coordinator may run
13
+ on Codex or Claude later, but it is an ordinary scoped client; it never owns the
14
+ database, policy, or approvals.
15
+
16
+ ## Settled architecture
17
+
18
+ | Area | Decision |
19
+ |---|---|
20
+ | Core | TypeScript `portald`, initially distributed with the npm developer tool. |
21
+ | Local IPC | User-only Unix socket; separate control and session credentials; no LAN listener. |
22
+ | Agent API | Authenticated Portal MCP tools. |
23
+ | Provider control | Vendor-native protocols, with unsupported capabilities explicit. |
24
+ | Persistence | SQLite/WAL for identities, normalized transcript evidence, indexes, leases, and messages. |
25
+ | Recall | Incremental FTS and semantic candidate indexes; expand only selected evidence. |
26
+ | macOS product | Later signed/notarized Swift shell and OS bridge around the validated core. |
27
+ | Other apps | Generic OS observation/control plus higher-fidelity semantic connectors. |
28
+ | Global network | Keep the protocol location-independent so mutually authenticated Portal clients and agents can communicate across machines and administrative domains later. |
29
+
30
+ ## Session model
31
+
32
+ A session is a durable unit of context, not a process, tab, or window. Future
33
+ session kinds include agent, process/service, terminal, browser, collaboration,
34
+ desktop app, archive, and tool host.
35
+
36
+ Every descriptor has:
37
+
38
+ - a stable Portal ID and typed provider identity;
39
+ - ownership: `managed`, `adopted`, or `observed`;
40
+ - workspace and authorization scope;
41
+ - separate context and control capabilities;
42
+ - ephemeral runtime bindings such as process, tab, or connection; and
43
+ - confidence on inferred state.
44
+
45
+ Heuristics may suggest correlations but never silently merge identities.
46
+
47
+ ## Communication
48
+
49
+ Each transport has one purpose:
50
+
51
+ - MCP: agent recall, messaging, tasks, actions, and artifacts;
52
+ - Unix-socket JSON-RPC: CLI, local UI, and internal control;
53
+ - vendor protocol: actual start, prompt, steer, interrupt, and resume;
54
+ - loopback WebSocket: dashboard event subscription when a UI exists.
55
+
56
+ Messages are durable, attributed, untrusted context. Sender identity comes from
57
+ the authenticated connection. Workspace policy, capability, idempotency,
58
+ expiry, delivery state, and provenance are checked centrally. A managed Codex
59
+ runner may promote a message into a visible turn while preserving the target's
60
+ existing sandbox and approval policy; other targets use claim/ack inbox
61
+ delivery. Richer delegation controls such as cancellation and approval routing
62
+ remain deferred.
63
+
64
+ Session addressing separates stable identity from mutable discovery metadata.
65
+ Each session may have a user-controlled managed name plus a persisted derived
66
+ profile containing a display name, bounded description, topics, transcript
67
+ watermark, and reachability. Targetless delivery searches profiles
68
+ deterministically and may select only a clearly relevant active runner in the
69
+ same workspace. Ambiguous resolution returns candidates and performs no write.
70
+
71
+ ## Long-term global agent network
72
+
73
+ Portal should eventually support a global network of agents communicating
74
+ across machines, users, teams, and organizations. The local daemon remains the
75
+ first trust boundary, but the data model and protocol must not assume that a
76
+ caller sharing a Unix socket is the only possible identity model.
77
+
78
+ Identity and discovery remain separate: display names, descriptions, routing
79
+ profiles, network locations, and vendor session IDs help find an agent but
80
+ never prove who controls it. A network principal must have a durable,
81
+ cryptographically verifiable identity, and each agent session must be bound to
82
+ that principal, its device or Portal instance, and its delegated capabilities.
83
+
84
+ Any remote transport must provide mutual authentication, message integrity,
85
+ replay protection, key rotation and revocation, short-lived scoped
86
+ credentials, and end-to-end provenance that survives relays. Authorization is
87
+ evaluated at every receiving Portal boundary; successful authentication does
88
+ not imply permission to read context, invoke tools, or control a session.
89
+ Messages and tool results retain signed attribution and an auditable custody
90
+ chain so recipients can distinguish the original sender from gateways,
91
+ coordinators, and delegated agents.
92
+
93
+ The eventual topology may be direct, relay-based, or federated. That choice is
94
+ deferred, but local IDs, message envelopes, receipts, and capability grants
95
+ should be versioned and globally namespaced now so remote support does not
96
+ require replacing the local identity or messaging model.
97
+
98
+ ### Discovery and nameservers
99
+
100
+ The global network needs centralized nameservers where agents can register
101
+ stable names, publish signed capability records, and discover other agents by
102
+ name, owner, skill, or policy-visible metadata. This must not become one
103
+ mandatory global directory: clients may use multiple public nameservers, and
104
+ organizations or groups may operate private nameservers containing agents and
105
+ capabilities that are invisible outside their trust boundary. Private and
106
+ public results may be composed using explicit precedence and provenance,
107
+ similar to split-horizon DNS.
108
+
109
+ Registration must prove control of the principal and signing key behind an
110
+ agent record. Records need globally unambiguous identifiers, signed metadata,
111
+ leases or expiry, key rotation, revocation, and cache invalidation. Human names
112
+ and semantic descriptions remain mutable discovery attributes rather than
113
+ security identities. A nameserver helps a client find an endpoint and its
114
+ authentication requirements; it does not grant permission to contact or
115
+ control the discovered agent.
116
+
117
+ ### Relationships, authentication, and abuse controls
118
+
119
+ Portal needs an authenticated relationship layer above discovery. Principals
120
+ must be able to send expiring invitations, verify and accept contacts, grant
121
+ narrow capabilities, revoke access, block principals or agents, and control
122
+ who can discover or message them. Blocks and revocations take precedence over
123
+ cached directory data and active invitations. Rate limits, reporting,
124
+ reputation, and spam defenses will be required before public discovery can be
125
+ safe. Private groups need membership administration and selective disclosure,
126
+ not merely a secret nameserver URL.
127
+
128
+ ### Proven infrastructure patterns
129
+
130
+ The design should reuse established mechanisms instead of inventing an entire
131
+ network stack:
132
+
133
+ - DNS and the web provide hierarchical naming, delegated authority,
134
+ well-known records, caching, certificates, and proof of domain control.
135
+ - Telephone networks provide globally routable addresses, contact books,
136
+ invitations, blocking, abuse handling, and expectations around portability.
137
+ - Email, federated social networks, and messaging systems provide independent
138
+ operators, relationship graphs, private groups, moderation, and
139
+ store-and-forward delivery.
140
+ - BitTorrent-style systems provide peer discovery, rendezvous, content-addressed
141
+ identity, availability tracking, and techniques for peers behind NAT.
142
+ - Social networks provide useful discovery, mutual-contact, reputation, and
143
+ privacy patterns, while also demonstrating why unsolicited reachability and
144
+ centralized identity control need strong safeguards.
145
+
146
+ These are sources of proven components, not a requirement to copy any one
147
+ system wholesale. Portal should begin with centralized and private nameservers
148
+ for understandable trust and operations, while keeping identifiers and signed
149
+ records portable enough to support federation or peer-assisted discovery
150
+ later.
151
+
152
+ ## Recall
153
+
154
+ Adapters ingest only changed transcript content, normalize it, hash/deduplicate
155
+ entries, preserve source references, create bounded chunks, and update FTS plus
156
+ semantic indexes. Queries apply authorization first, retrieve bounded lexical
157
+ and semantic candidates, fuse and diversify them, and return excerpts with
158
+ session/entry citations and index freshness.
159
+
160
+ Portal never broadcasts all transcripts into every agent prompt and never scans
161
+ all raw transcript collections for an ad-hoc query.
162
+
163
+ ## macOS and external apps
164
+
165
+ Full macOS access is intentionally a later product layer, not a bespoke
166
+ connector for every app:
167
+
168
+ 1. A signed Swift bridge uses user-granted Accessibility, Screen Recording,
169
+ Automation/Apple Events, process/window APIs, and browser automation.
170
+ 2. The bridge exposes a narrow typed local API to `portald`; it does not expose
171
+ unrestricted arbitrary input or shell execution to agents.
172
+ 3. Portal models discovered windows, tabs, processes, and conversations as
173
+ typed sessions with confidence and capability metadata.
174
+ 4. Optional connectors add stable IDs, structured history, events, and reliable
175
+ actions for high-value systems such as Slack or browser CDP.
176
+
177
+ Broad OS permission belongs in one auditable component. Policy still evaluates
178
+ each requested read or action against the calling session, target, workspace,
179
+ user grant, and risk level.
180
+
181
+ ## Packaging sequence
182
+
183
+ 1. Validate the core as a TypeScript daemon, CLI, and MCP executable from npm.
184
+ 2. Publish a versioned npm package after the product gates pass.
185
+ 3. Add `Portal.app` for setup, lifecycle, dashboard, permissions, and the macOS
186
+ bridge while reusing the same daemon and database.
187
+ 4. Distribute the full macOS product as a signed/notarized DMG with automatic
188
+ updates. Keep npm for headless clients, SDKs, and non-macOS use.
189
+
190
+ Cross-platform core behavior is desirable. Full OS awareness is macOS-first;
191
+ other platforms add their own narrow bridge only after the core is validated.
@@ -0,0 +1,111 @@
1
+ # Portal MVP checkpoints
2
+
3
+ Status: implementation checkpoint
4
+ Updated: 2026-08-30
5
+
6
+ ## Hypothesis
7
+
8
+ Portal is useful if a developer running several coding agents can:
9
+
10
+ 1. see Codex and Claude sessions in one accurate inventory;
11
+ 2. recall cited context without knowing which current or historical session has
12
+ it; and
13
+ 3. send an attributed message to another session without copying terminal text.
14
+
15
+ The MVP validates this workflow before a Swift app, dashboard, generic OS
16
+ access, task orchestration, or additional providers.
17
+
18
+ ## Capability contract
19
+
20
+ | Capability | Meaning |
21
+ |---|---|
22
+ | `indexed` | Portal can search retained transcript content. |
23
+ | `connected` | The session has a renewable authenticated Portal MCP lease. |
24
+ | `messageable` | Portal can actively deliver to a managed runner or retain a durable inbox message. |
25
+
26
+ Session identity is an opaque Portal ID mapped from `(provider, installation,
27
+ account fingerprint, vendor session ID)`. PID, cwd, title, and recency are
28
+ metadata, never identity or proof of liveness.
29
+
30
+ Human session references currently require an exact Portal ID, vendor ID,
31
+ managed name, or provider title. The next identity checkpoint will normalize
32
+ case and separator differences (`api agent`, `api_agent`, and `api-agent`) while
33
+ still rejecting ambiguity. Semantic nicknames such as `reviewer` will require an
34
+ explicit persisted alias; Portal must not guess which process should receive a
35
+ potentially mutating task.
36
+
37
+ ## MVP architecture
38
+
39
+ ```text
40
+ portal CLI / Portal MCP
41
+ |
42
+ JSON-RPC Unix socket
43
+ |
44
+ portald
45
+ registry | index | queue
46
+ |
47
+ SQLite/WAL
48
+ |
49
+ Codex adapter Claude adapter
50
+ ```
51
+
52
+ - Codex uses app-server thread list/read; Claude uses Agent SDK local history.
53
+ Neither observation API is treated as proof that a separate interactive
54
+ process is live.
55
+ - Portal MCP uses session-bound hashed credentials. The daemon derives caller
56
+ workspace and sender identity.
57
+ - CLI methods require a separate private control credential that is never
58
+ passed to managed agents.
59
+ - Recall queries FTS5 and inverted embedding buckets, not raw transcript files.
60
+ Content hashes and update watermarks skip unchanged history; common secrets
61
+ are redacted before persistence.
62
+ - Peer messages remain attributed, untrusted context. Managed Codex runners
63
+ promote them into a visible turn under the target's existing sandbox and
64
+ approval policy; unavailable and non-Codex targets retain claim/ack inbox
65
+ delivery.
66
+
67
+ ## Checkpoints
68
+
69
+ | Milestone | State | Validation |
70
+ |---|---|---|
71
+ | M0 executable/RPC foundation | Complete | Build, doctor, SQLite migrations, user-only Unix socket. |
72
+ | M1 provider feasibility | Complete | Real local Codex and Claude discovery/read probes pass. Control boundaries remain explicit. |
73
+ | M2 unified inventory | Complete | Eight real sessions from both providers indexed with stable IDs; restarts do not duplicate them. |
74
+ | M3 exact cited recall | Complete | Real unknown-source query returned the exact statement and source URI. |
75
+ | M4 multi-session hybrid recall | Complete for MVP | FTS plus local feature-hash semantic fusion, session diversity, workspace isolation, and bounded candidates are tested. |
76
+ | M5 tools inside agents | Codex live-validated; Claude automated | Four authenticated MCP tools, renewable leases, and expiring/revoked credentials are tested. A real managed Codex run created its vendor thread, called `portal.sessions`, returned a result, and cleaned up its lease. Claude launch/configuration has automated coverage but still needs live validation. |
77
+ | M6 active messaging | Codex live-validated | A real managed Codex target automatically displayed an attributed peer turn and returned its correlated answer, target turn ID, timestamps, and tool summary. Offline claim/ack delivery, restart persistence, idempotency, and no-replay failure handling remain as fallback. Claude active delivery is sequenced later. |
78
+ | M6.1 human-friendly targeting | Codex live-validated | An unnamed source was resolved by its derived name and a targetless message selected one unnamed active Codex reviewer, displayed an attributed turn, and returned its correlated answer. Weak and ambiguous no-write behavior is covered automatically; explicit aliases remain a later enhancement. |
79
+ | M7 product validation | In progress | Two real active-delivery workflows passed; five multi-session workflows plus recall/message metrics remain required. |
80
+
81
+ Measured locally on the real Portal workspace:
82
+
83
+ - first indexing of eight sessions: about 1.5 seconds;
84
+ - refresh plus cited recall: about 1.1 seconds;
85
+ - warm indexed recall: about 69 ms;
86
+ - persisted recall after daemon restart: about 56 ms.
87
+
88
+ These are development-machine observations, not portable performance promises.
89
+
90
+ ## Required validation before expanding scope
91
+
92
+ - Prove Codex-to-Claude and Claude-to-Codex inbox message/reply delivery,
93
+ including disconnect, claim expiry, acknowledgement, retry, and restart.
94
+ - Live-validate an ambiguous targetless request returning candidates without
95
+ creating a message.
96
+ - Run a fixed recall benchmark; top-five retrieval must reach at least 80%, and
97
+ warm queries must remain below two seconds.
98
+ - Dogfood five workflows and record whether recall changed the work, delivery
99
+ latency/failures, observed-only targets, and avoided copy/paste.
100
+
101
+ ## Deferred
102
+
103
+ - coordinator agents, task delegation, approvals, artifacts, and worktrees;
104
+ - richer delegation controls such as cancellation, approval routing, and
105
+ active delivery for providers beyond managed Codex;
106
+ - browser tabs, Slack, services, arbitrary processes, and macOS automation;
107
+ - desktop UI, signed/notarized distribution, updates, and login items;
108
+ - connector/plugin SDKs, teams, and cloud sync;
109
+ - remote/federated agent networking, including globally namespaced principals,
110
+ public and private nameservers, mutual authentication, invitations, blocking,
111
+ signed provenance, key rotation, revocation, and abuse controls.