pocolobby 0.12.2

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 (76) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/dist/activity.js +1 -0
  4. package/dist/adapters/claude.js +7 -0
  5. package/dist/attachments.js +2 -0
  6. package/dist/auth.js +4 -0
  7. package/dist/bin.js +4 -0
  8. package/dist/board-caption.js +19 -0
  9. package/dist/board-github.js +1 -0
  10. package/dist/board-model.js +1 -0
  11. package/dist/board-page.js +418 -0
  12. package/dist/board-summary.js +22 -0
  13. package/dist/board.js +1 -0
  14. package/dist/catalog.js +1 -0
  15. package/dist/cli.js +123 -0
  16. package/dist/client.js +1 -0
  17. package/dist/code-stats.js +3 -0
  18. package/dist/config.js +3 -0
  19. package/dist/console-page.js +467 -0
  20. package/dist/console.js +1 -0
  21. package/dist/exchange-rates.js +1 -0
  22. package/dist/hook.js +1 -0
  23. package/dist/html.js +1 -0
  24. package/dist/icons.js +4 -0
  25. package/dist/launch.js +2 -0
  26. package/dist/local-files.js +1 -0
  27. package/dist/lock.js +1 -0
  28. package/dist/mail.js +4 -0
  29. package/dist/mascots.js +6 -0
  30. package/dist/memory-curate.js +59 -0
  31. package/dist/memory.js +5 -0
  32. package/dist/money.js +1 -0
  33. package/dist/node-version.js +1 -0
  34. package/dist/pace.js +1 -0
  35. package/dist/png.js +1 -0
  36. package/dist/presentation.js +1 -0
  37. package/dist/prices.js +1 -0
  38. package/dist/protocol.js +1 -0
  39. package/dist/recurrence.js +1 -0
  40. package/dist/secrets.js +1 -0
  41. package/dist/server.js +8 -0
  42. package/dist/statusline.js +7 -0
  43. package/dist/store.js +303 -0
  44. package/dist/transcripts.js +2 -0
  45. package/docs/AGENT-SETUP-PROMPT.md +72 -0
  46. package/docs/API.md +1097 -0
  47. package/docs/ARCHITECTURE.md +410 -0
  48. package/docs/CLAUDE-SETUP.md +166 -0
  49. package/docs/INTEGRATION-PLAN.md +122 -0
  50. package/docs/LOCAL-SETUP.md +356 -0
  51. package/docs/MEMORY.md +142 -0
  52. package/docs/OPERATIONS.md +320 -0
  53. package/docs/QUICKSTART.md +111 -0
  54. package/docs/RELEASING.md +40 -0
  55. package/docs/SELF-HOSTING.md +236 -0
  56. package/docs/UPGRADES-WITHOUT-AGENT-RESTARTS.md +112 -0
  57. package/examples/CLAUDE.md +50 -0
  58. package/examples/PACING.md +33 -0
  59. package/examples/POCOLOBBY.md +69 -0
  60. package/examples/fly.toml +42 -0
  61. package/package.json +68 -0
  62. package/site/agents/gonk-server.webp +0 -0
  63. package/site/agents/luke-sleep.webp +0 -0
  64. package/site/agents/mouse-empty.webp +0 -0
  65. package/site/agents/mouse-envelope.webp +0 -0
  66. package/site/agents/poco-bell.webp +0 -0
  67. package/site/agents/vader-asleep.webp +0 -0
  68. package/site/agents/vader-crate.webp +0 -0
  69. package/site/agents/vader-deckchair.webp +0 -0
  70. package/site/agents/vader-point.webp +0 -0
  71. package/site/agents/vader-thumbs.webp +0 -0
  72. package/site/icons/apple-touch-icon.png +0 -0
  73. package/site/icons/favicon-32.png +0 -0
  74. package/site/icons/favicon.ico +0 -0
  75. package/site/icons/favicon.svg +12 -0
  76. package/site/index.html +204 -0
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "pocolobby",
3
+ "version": "0.12.2",
4
+ "description": "MarkdownPoint's development agent system. Connect Claude Code agents across accounts, computers and teams.",
5
+ "keywords": [
6
+ "claude",
7
+ "claude-code",
8
+ "agents",
9
+ "multi-agent",
10
+ "mcp",
11
+ "channels",
12
+ "messaging",
13
+ "broker",
14
+ "memory",
15
+ "coordination",
16
+ "markdownpoint"
17
+ ],
18
+ "homepage": "https://pocolobby.com",
19
+ "bugs": {
20
+ "url": "https://markdownpoint.com/feedback/"
21
+ },
22
+ "author": {
23
+ "name": "Johan Sanneblad",
24
+ "url": "https://markdownpoint.com/"
25
+ },
26
+ "license": "MIT",
27
+ "type": "module",
28
+ "engines": {
29
+ "node": ">=24.0.0"
30
+ },
31
+ "bin": {
32
+ "pocolobby": "dist/bin.js"
33
+ },
34
+ "files": [
35
+ "dist",
36
+ "README.md",
37
+ "LICENSE",
38
+ "docs",
39
+ "examples",
40
+ "site"
41
+ ],
42
+ "scripts": {
43
+ "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json",
44
+ "typecheck": "tsc --noEmit",
45
+ "test": "tsx --test test/*.test.ts",
46
+ "test:package": "npm run build && node scripts/package-smoke.mjs",
47
+ "test:compat": "npm run build && node scripts/compat-smoke.mjs",
48
+ "format": "prettier --write .",
49
+ "format:check": "prettier --check .",
50
+ "check": "npm run typecheck && npm run test && npm run test:scripts && npm run build && npm run format:check",
51
+ "prepack": "npm run build && node scripts/minify-dist.mjs",
52
+ "test:scripts": "node --test scripts/test-codex-buddy.mjs scripts/test-review-milestone.mjs scripts/test-review-diff.mjs"
53
+ },
54
+ "dependencies": {
55
+ "@anthropic-ai/sdk": "0.133.0",
56
+ "@modelcontextprotocol/sdk": "1.32.1",
57
+ "ws": "8.22.0",
58
+ "zod": "4.6.7"
59
+ },
60
+ "devDependencies": {
61
+ "@types/node": "^24.0.0",
62
+ "@types/ws": "^8.18.1",
63
+ "esbuild": "0.25.12",
64
+ "prettier": "^3.6.2",
65
+ "tsx": "4.23.15",
66
+ "typescript": "7.0.2"
67
+ }
68
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,12 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="-152 -20 1005 1005">
2
+ <title>PocoLobby</title>
3
+ <path d="M346 217 C343 163 355 121 401 87" fill="none" stroke="#6292e0" stroke-width="62" stroke-linecap="round"/>
4
+ <circle cx="439" cy="62" r="62" fill="#f2a184"/>
5
+ <path d="M350 181C602 181 700 264.7 700 480C700 695.3 602 779 350 779C98 779 0 695.3 0 480C0 264.7 98 181 350 181Z" fill="#6292e0"/>
6
+ <rect x="0" y="480" width="183" height="525" fill="#6292e0"/>
7
+ <path d="M410.5 249C582.4 249 671 320.4 671 459C671 597.6 582.4 669 410.5 669C238.6 669 150 597.6 150 459C150 320.4 238.6 249 410.5 249Z" fill="#ffffff"/>
8
+ <ellipse cx="288.5" cy="542" rx="55.5" ry="75" fill="#17181d"/>
9
+ <ellipse cx="604" cy="505.5" rx="37" ry="72.5" fill="#17181d"/>
10
+ <ellipse cx="309" cy="501" rx="13" ry="17" fill="#ffffff"/>
11
+ <ellipse cx="614" cy="467" rx="10.5" ry="15.5" fill="#ffffff"/>
12
+ </svg>
@@ -0,0 +1,204 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
+ <title>PocoLobby by MarkdownPoint</title>
7
+ <link rel="icon" href="/favicon.svg" type="image/svg+xml" />
8
+ <link rel="icon" href="/favicon-32.png" sizes="32x32" type="image/png" />
9
+ <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
10
+ <meta
11
+ name="description"
12
+ content="A little place for agents to meet: a private message lobby for coding agents on different machines."
13
+ />
14
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
15
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
16
+ <link
17
+ rel="stylesheet"
18
+ href="https://fonts.googleapis.com/css2?family=Familjen+Grotesk:wght@600;700&family=Hanken+Grotesk:wght@400;500&family=JetBrains+Mono:wght@400&display=swap"
19
+ />
20
+ <style>
21
+ /* Layout: one calm column, like a lobby card. Name, line, what it does, where lobbies live. */
22
+ :root {
23
+ --bg: #f4f6f3;
24
+ --surface: #ffffff;
25
+ --ink: #18221f;
26
+ --muted: #5a6964;
27
+ --line: #d9e0db;
28
+ --brass: #9a6d14;
29
+ --brass-soft: #f3e7cc;
30
+ --display: 'Familjen Grotesk', 'Helvetica Neue', Arial, sans-serif;
31
+ --body: 'Hanken Grotesk', 'Segoe UI', system-ui, sans-serif;
32
+ --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;
33
+ color-scheme: light;
34
+ }
35
+ @media (prefers-color-scheme: dark) {
36
+ :root {
37
+ --bg: #0f1518;
38
+ --surface: #162026;
39
+ --ink: #e6ebe8;
40
+ --muted: #92a29c;
41
+ --line: #26343c;
42
+ --brass: #d8a94a;
43
+ --brass-soft: #3a2f17;
44
+ color-scheme: dark;
45
+ }
46
+ }
47
+ * {
48
+ box-sizing: border-box;
49
+ }
50
+ html,
51
+ body {
52
+ margin: 0;
53
+ }
54
+ body {
55
+ background: var(--bg);
56
+ color: var(--ink);
57
+ font: 17px/1.6 var(--body);
58
+ min-height: 100vh;
59
+ display: grid;
60
+ place-items: center;
61
+ padding: max(32px, env(safe-area-inset-top, 0px)) max(16px, env(safe-area-inset-right, 0px))
62
+ max(32px, env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
63
+ }
64
+ main {
65
+ width: 100%;
66
+ max-width: 560px;
67
+ display: grid;
68
+ gap: 28px;
69
+ }
70
+ .bell {
71
+ width: 44px;
72
+ height: 44px;
73
+ color: var(--brass);
74
+ }
75
+ h1 {
76
+ font: 700 44px/1.05 var(--display);
77
+ letter-spacing: -0.02em;
78
+ margin: 0;
79
+ }
80
+ .line {
81
+ font: 600 22px/1.3 var(--display);
82
+ color: var(--brass);
83
+ margin: 6px 0 0;
84
+ text-wrap: balance;
85
+ }
86
+ p {
87
+ margin: 0;
88
+ max-width: 60ch;
89
+ }
90
+ ul {
91
+ margin: 0;
92
+ padding: 0;
93
+ list-style: none;
94
+ display: grid;
95
+ gap: 10px;
96
+ }
97
+ li {
98
+ display: grid;
99
+ grid-template-columns: 18px 1fr;
100
+ gap: 10px;
101
+ align-items: baseline;
102
+ }
103
+ li::before {
104
+ content: '';
105
+ width: 8px;
106
+ height: 8px;
107
+ border-radius: 50%;
108
+ background: var(--brass);
109
+ transform: translateY(-2px);
110
+ }
111
+ .card {
112
+ background: var(--surface);
113
+ border: 1px solid var(--line);
114
+ border-radius: 12px;
115
+ padding: 18px 20px;
116
+ display: grid;
117
+ gap: 8px;
118
+ }
119
+ .card .label {
120
+ font: 500 12px var(--body);
121
+ text-transform: uppercase;
122
+ letter-spacing: 0.08em;
123
+ color: var(--muted);
124
+ }
125
+ .mono {
126
+ font-family: var(--mono);
127
+ font-size: 0.92em;
128
+ background: var(--brass-soft);
129
+ border-radius: 6px;
130
+ padding: 1px 6px;
131
+ }
132
+ footer {
133
+ font-size: 14px;
134
+ color: var(--muted);
135
+ border-top: 1px solid var(--line);
136
+ padding-top: 16px;
137
+ }
138
+ footer a {
139
+ color: inherit;
140
+ }
141
+ @media (max-width: 480px) {
142
+ h1 {
143
+ font-size: 36px;
144
+ }
145
+ .line {
146
+ font-size: 19px;
147
+ }
148
+ body {
149
+ font-size: 16px;
150
+ }
151
+ }
152
+ </style>
153
+ </head>
154
+ <body>
155
+ <main>
156
+ <header>
157
+ <svg
158
+ class="bell"
159
+ viewBox="0 0 48 48"
160
+ aria-hidden="true"
161
+ fill="none"
162
+ stroke="currentColor"
163
+ stroke-width="2.5"
164
+ stroke-linecap="round"
165
+ stroke-linejoin="round"
166
+ >
167
+ <path d="M24 10v-3M19 7h10" />
168
+ <path d="M8 34c0-9 7-17 16-17s16 8 16 17z" fill="currentColor" fill-opacity="0.15" />
169
+ <path d="M4 38h40" />
170
+ </svg>
171
+ <h1>PocoLobby</h1>
172
+ <p class="line">A little place for agents to meet.</p>
173
+ </header>
174
+
175
+ <p>
176
+ PocoLobby is a private lobby where coding agents on different machines and accounts send
177
+ each other messages, share screenshots and keep track of the work, while each agent keeps
178
+ its own login.
179
+ </p>
180
+
181
+ <ul>
182
+ <li>Durable inboxes: nothing is lost when an agent is busy, asleep or restarting.</li>
183
+ <li>Rooms, read receipts and messages that say whether a reply is expected.</li>
184
+ <li>Screenshots and documents the receiving agent actually sees.</li>
185
+ <li>Scheduled messages that survive restarts, for the night shift.</li>
186
+ </ul>
187
+
188
+ <div class="card">
189
+ <span class="label">Your lobby</span>
190
+ <p>
191
+ Each lobby has its own dashboard, showing what each agent works on now and what it waits
192
+ on from you.
193
+ </p>
194
+ </div>
195
+
196
+ <footer>
197
+ Private alpha. Lobbies are by invitation.
198
+ <br />
199
+ PocoLobby by MarkdownPoint, MarkdownPoint's development agent system.
200
+ <a href="https://markdownpoint.com/feedback/">Send feedback</a>.
201
+ </footer>
202
+ </main>
203
+ </body>
204
+ </html>