@starlove/orbit 1.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.
- package/.dockerignore +13 -0
- package/Dockerfile +34 -0
- package/README.md +216 -0
- package/SKILL-ORBIT.md +94 -0
- package/build.mjs +204 -0
- package/dist/full/apple-touch-icon.png +0 -0
- package/dist/full/cursors/live_arrow.cur +0 -0
- package/dist/full/cursors/live_link.cur +0 -0
- package/dist/full/cursors/live_move.cur +0 -0
- package/dist/full/cursors/live_select.cur +0 -0
- package/dist/full/cursors/live_unavail.cur +0 -0
- package/dist/full/favicon-32x32.png +0 -0
- package/dist/full/index.html +314 -0
- package/dist/full/js/app.70be7d06.js +554 -0
- package/dist/full/js/app.70be7d06.js.map +7 -0
- package/dist/full/orbits-favicon.png +0 -0
- package/dist/full/orbits-logo-bg.png +0 -0
- package/dist/full/orbits-logo.png +0 -0
- package/dist/full/styles.c2e3d20a.css +4892 -0
- package/dist/full/version.json +6 -0
- package/docs/AGENT_PROTOCOL.md +379 -0
- package/docs/MCP_SETUP.md +49 -0
- package/docs/mcp-client.example.json +13 -0
- package/package.json +62 -0
- package/pnpm-workspace.yaml +2 -0
- package/public/apple-touch-icon.png +0 -0
- package/public/cursors/live_arrow.cur +0 -0
- package/public/cursors/live_link.cur +0 -0
- package/public/cursors/live_move.cur +0 -0
- package/public/cursors/live_select.cur +0 -0
- package/public/cursors/live_unavail.cur +0 -0
- package/public/favicon-32x32.png +0 -0
- package/public/index.html +314 -0
- package/public/js/api.js +35 -0
- package/public/js/app.js +35 -0
- package/public/js/board-menu.js +145 -0
- package/public/js/config.js +19 -0
- package/public/js/create-card.js +153 -0
- package/public/js/dom.js +19 -0
- package/public/js/drawer.js +137 -0
- package/public/js/format.js +108 -0
- package/public/js/kanban.js +475 -0
- package/public/js/local-backend.js +934 -0
- package/public/js/main.js +142 -0
- package/public/js/modal.js +31 -0
- package/public/js/router.js +114 -0
- package/public/js/search.js +53 -0
- package/public/js/settings-tabs.js +7 -0
- package/public/js/settings.js +931 -0
- package/public/js/sse.js +156 -0
- package/public/js/starscape.js +315 -0
- package/public/js/state.js +54 -0
- package/public/js/ticket-detail.js +766 -0
- package/public/js/toast.js +74 -0
- package/public/js/transport.js +22 -0
- package/public/js/unread.js +121 -0
- package/public/orbits-favicon.png +0 -0
- package/public/orbits-logo-bg.png +0 -0
- package/public/orbits-logo.png +0 -0
- package/public/styles.css +4892 -0
- package/src/cli/orbit.js +438 -0
- package/src/core/agent.js +262 -0
- package/src/core/auth.js +49 -0
- package/src/core/backups.js +136 -0
- package/src/core/board.js +112 -0
- package/src/core/boards.js +310 -0
- package/src/core/bootstrap.js +162 -0
- package/src/core/db.js +237 -0
- package/src/core/delete-board.js +53 -0
- package/src/core/events.js +314 -0
- package/src/core/http.js +81 -0
- package/src/core/paths.js +25 -0
- package/src/core/provision-repo-board.js +113 -0
- package/src/core/queries.js +246 -0
- package/src/core/registry.js +207 -0
- package/src/core/relations.js +163 -0
- package/src/core/router.js +414 -0
- package/src/core/search.js +70 -0
- package/src/core/seed.js +226 -0
- package/src/core/snapshots.js +255 -0
- package/src/core/states.js +167 -0
- package/src/core/system-picker.js +93 -0
- package/src/core/tickets.js +344 -0
- package/src/core/util.js +105 -0
- package/src/mcp-server.js +773 -0
- package/src/server.js +48 -0
|
@@ -0,0 +1,314 @@
|
|
|
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" />
|
|
6
|
+
<title>Orbit</title>
|
|
7
|
+
<link
|
|
8
|
+
rel="icon"
|
|
9
|
+
type="image/png"
|
|
10
|
+
sizes="32x32"
|
|
11
|
+
href="./favicon-32x32.png"
|
|
12
|
+
/>
|
|
13
|
+
<link
|
|
14
|
+
rel="apple-touch-icon"
|
|
15
|
+
sizes="180x180"
|
|
16
|
+
href="./apple-touch-icon.png"
|
|
17
|
+
/>
|
|
18
|
+
<link rel="stylesheet" href="styles.c2e3d20a.css" />
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
<div class="grain">
|
|
22
|
+
<div class="milky-way" aria-hidden="true"></div>
|
|
23
|
+
</div>
|
|
24
|
+
<header class="topbar">
|
|
25
|
+
<div class="brand" aria-label="Orbit">
|
|
26
|
+
<img class="mark" src="./orbits-logo.png" alt="Orbits logo" />
|
|
27
|
+
</div>
|
|
28
|
+
<div class="controls">
|
|
29
|
+
<span class="topbar-controls-gap" aria-hidden="true"></span>
|
|
30
|
+
<div class="topbar-search" id="topbarSearch">
|
|
31
|
+
<input
|
|
32
|
+
id="searchInput"
|
|
33
|
+
placeholder="Search tickets, comments, decisions..."
|
|
34
|
+
autocomplete="off"
|
|
35
|
+
/>
|
|
36
|
+
<div id="searchResults" class="search-results" hidden></div>
|
|
37
|
+
</div>
|
|
38
|
+
<button
|
|
39
|
+
id="newTicketBtn"
|
|
40
|
+
type="button"
|
|
41
|
+
class="topbar-btn btn-sun topbar-ctl-shrink"
|
|
42
|
+
>
|
|
43
|
+
<span class="btn-plus" aria-hidden="true">+</span>
|
|
44
|
+
<span class="btn-sun-label">New Card</span>
|
|
45
|
+
</button>
|
|
46
|
+
<div class="topbar-menu">
|
|
47
|
+
<button
|
|
48
|
+
type="button"
|
|
49
|
+
id="boardMenuBtn"
|
|
50
|
+
class="topbar-chip topbar-ctl-shrink"
|
|
51
|
+
aria-expanded="false"
|
|
52
|
+
aria-haspopup="true"
|
|
53
|
+
aria-controls="boardFlyout"
|
|
54
|
+
>
|
|
55
|
+
<svg
|
|
56
|
+
class="topbar-icon"
|
|
57
|
+
width="16"
|
|
58
|
+
height="16"
|
|
59
|
+
viewBox="0 0 24 24"
|
|
60
|
+
fill="none"
|
|
61
|
+
aria-hidden="true"
|
|
62
|
+
>
|
|
63
|
+
<rect
|
|
64
|
+
x="4"
|
|
65
|
+
y="4"
|
|
66
|
+
width="6"
|
|
67
|
+
height="16"
|
|
68
|
+
rx="1.5"
|
|
69
|
+
stroke="currentColor"
|
|
70
|
+
stroke-width="2"
|
|
71
|
+
/>
|
|
72
|
+
<rect
|
|
73
|
+
x="14"
|
|
74
|
+
y="4"
|
|
75
|
+
width="6"
|
|
76
|
+
height="16"
|
|
77
|
+
rx="1.5"
|
|
78
|
+
stroke="currentColor"
|
|
79
|
+
stroke-width="2"
|
|
80
|
+
/>
|
|
81
|
+
</svg>
|
|
82
|
+
Board
|
|
83
|
+
</button>
|
|
84
|
+
<div
|
|
85
|
+
id="boardFlyout"
|
|
86
|
+
class="menu-flyout menu-flyout--align-end"
|
|
87
|
+
hidden
|
|
88
|
+
role="menu"
|
|
89
|
+
></div>
|
|
90
|
+
</div>
|
|
91
|
+
<button
|
|
92
|
+
id="themeToggle"
|
|
93
|
+
type="button"
|
|
94
|
+
class="topbar-btn ghost topbar-ctl-shrink"
|
|
95
|
+
aria-label="Toggle theme"
|
|
96
|
+
>
|
|
97
|
+
<svg
|
|
98
|
+
class="topbar-icon"
|
|
99
|
+
id="themeIcon"
|
|
100
|
+
width="16"
|
|
101
|
+
height="16"
|
|
102
|
+
viewBox="0 0 24 24"
|
|
103
|
+
fill="none"
|
|
104
|
+
stroke="currentColor"
|
|
105
|
+
stroke-width="2"
|
|
106
|
+
stroke-linecap="round"
|
|
107
|
+
aria-hidden="true"
|
|
108
|
+
>
|
|
109
|
+
<circle cx="12" cy="12" r="5" />
|
|
110
|
+
<path
|
|
111
|
+
d="M12 1v2m0 18v2M4.2 4.2l1.4 1.4m12.8 12.8l1.4 1.4M1 12h2m18 0h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4"
|
|
112
|
+
/>
|
|
113
|
+
</svg>
|
|
114
|
+
</button>
|
|
115
|
+
<button
|
|
116
|
+
id="settingsBtn"
|
|
117
|
+
type="button"
|
|
118
|
+
class="topbar-btn ghost topbar-ctl-shrink"
|
|
119
|
+
>
|
|
120
|
+
<svg
|
|
121
|
+
class="topbar-icon"
|
|
122
|
+
width="16"
|
|
123
|
+
height="16"
|
|
124
|
+
viewBox="0 0 24 24"
|
|
125
|
+
fill="none"
|
|
126
|
+
stroke="currentColor"
|
|
127
|
+
stroke-width="2"
|
|
128
|
+
stroke-linecap="round"
|
|
129
|
+
stroke-linejoin="round"
|
|
130
|
+
aria-hidden="true"
|
|
131
|
+
>
|
|
132
|
+
<path
|
|
133
|
+
d="M12.22 2h-.44a2 2 0 00-2 2v.18a2 2 0 01-1 1.73l-.43.25a2 2 0 01-2 0l-.15-.08a2 2 0 00-2.73.73l-.22.38a2 2 0 00.73 2.73l.15.1a2 2 0 011 1.72v.51a2 2 0 01-1 1.74l-.15.09a2 2 0 00-.73 2.73l.22.38a2 2 0 002.73.73l.15-.08a2 2 0 012 0l.43.25a2 2 0 011 1.73V20a2 2 0 002 2h.44a2 2 0 002-2v-.18a2 2 0 011-1.73l.43-.25a2 2 0 012 0l.15.08a2 2 0 002.73-.73l.22-.39a2 2 0 00-.73-2.73l-.15-.08a2 2 0 01-1-1.74v-.5a2 2 0 011-1.74l.15-.09a2 2 0 00.73-2.73l-.22-.38a2 2 0 00-2.73-.73l-.15.08a2 2 0 01-2 0l-.43-.25a2 2 0 01-1-1.73V4a2 2 0 00-2-2z"
|
|
134
|
+
/>
|
|
135
|
+
<circle cx="12" cy="12" r="3" />
|
|
136
|
+
</svg>
|
|
137
|
+
Settings
|
|
138
|
+
</button>
|
|
139
|
+
</div>
|
|
140
|
+
</header>
|
|
141
|
+
|
|
142
|
+
<div
|
|
143
|
+
id="createFlyoutBackdrop"
|
|
144
|
+
class="create-flyout-backdrop"
|
|
145
|
+
hidden
|
|
146
|
+
aria-hidden="true"
|
|
147
|
+
></div>
|
|
148
|
+
<div
|
|
149
|
+
id="createFlyout"
|
|
150
|
+
class="create-flyout"
|
|
151
|
+
hidden
|
|
152
|
+
aria-label="New card"
|
|
153
|
+
>
|
|
154
|
+
<div id="createFlyoutInner" class="create-flyout-inner"></div>
|
|
155
|
+
</div>
|
|
156
|
+
|
|
157
|
+
<main class="board-main">
|
|
158
|
+
<div id="kanban" class="kanban" aria-live="polite"></div>
|
|
159
|
+
</main>
|
|
160
|
+
<footer class="frame-footer" aria-label="Application signature">
|
|
161
|
+
<span class="frame-footer-title">Orbit</span>
|
|
162
|
+
<span class="frame-footer-subtitle"><em>a Starscape app</em></span>
|
|
163
|
+
</footer>
|
|
164
|
+
|
|
165
|
+
<div
|
|
166
|
+
id="drawerBackdrop"
|
|
167
|
+
class="drawer-backdrop"
|
|
168
|
+
hidden
|
|
169
|
+
aria-hidden="true"
|
|
170
|
+
></div>
|
|
171
|
+
<aside id="drawer" class="drawer" hidden aria-label="Panel">
|
|
172
|
+
<header class="drawer-header">
|
|
173
|
+
<div class="drawer-title-block">
|
|
174
|
+
<span
|
|
175
|
+
id="drawerEyebrow"
|
|
176
|
+
class="drawer-eyebrow"
|
|
177
|
+
hidden
|
|
178
|
+
></span>
|
|
179
|
+
<h2 id="drawerTitle" class="drawer-title-text"></h2>
|
|
180
|
+
<div
|
|
181
|
+
id="drawerSubtitle"
|
|
182
|
+
class="drawer-subtitle"
|
|
183
|
+
hidden
|
|
184
|
+
></div>
|
|
185
|
+
</div>
|
|
186
|
+
<nav
|
|
187
|
+
id="drawerTabs"
|
|
188
|
+
class="drawer-tabs"
|
|
189
|
+
role="tablist"
|
|
190
|
+
hidden
|
|
191
|
+
></nav>
|
|
192
|
+
<button
|
|
193
|
+
type="button"
|
|
194
|
+
id="drawerArchiveBtn"
|
|
195
|
+
class="drawer-archive"
|
|
196
|
+
aria-label="Archive card"
|
|
197
|
+
title="Archive card"
|
|
198
|
+
hidden
|
|
199
|
+
>
|
|
200
|
+
<svg
|
|
201
|
+
viewBox="0 0 24 24"
|
|
202
|
+
width="18"
|
|
203
|
+
height="18"
|
|
204
|
+
fill="none"
|
|
205
|
+
stroke="currentColor"
|
|
206
|
+
stroke-width="2"
|
|
207
|
+
stroke-linecap="round"
|
|
208
|
+
stroke-linejoin="round"
|
|
209
|
+
aria-hidden="true"
|
|
210
|
+
>
|
|
211
|
+
<path d="M3 6h18" />
|
|
212
|
+
<path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" />
|
|
213
|
+
<path
|
|
214
|
+
d="M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"
|
|
215
|
+
/>
|
|
216
|
+
<path d="M10 11v6" />
|
|
217
|
+
<path d="M14 11v6" />
|
|
218
|
+
</svg>
|
|
219
|
+
</button>
|
|
220
|
+
<button
|
|
221
|
+
type="button"
|
|
222
|
+
id="drawerCloseBtn"
|
|
223
|
+
class="drawer-close"
|
|
224
|
+
aria-label="Close panel"
|
|
225
|
+
>
|
|
226
|
+
×
|
|
227
|
+
</button>
|
|
228
|
+
</header>
|
|
229
|
+
<div id="drawerInner" class="drawer-inner"></div>
|
|
230
|
+
</aside>
|
|
231
|
+
|
|
232
|
+
<template id="commentFormTemplate">
|
|
233
|
+
<form class="comment-form">
|
|
234
|
+
<textarea
|
|
235
|
+
name="body"
|
|
236
|
+
placeholder="Add a comment, decision, or instruction..."
|
|
237
|
+
required
|
|
238
|
+
></textarea>
|
|
239
|
+
<button type="submit">Comment</button>
|
|
240
|
+
</form>
|
|
241
|
+
</template>
|
|
242
|
+
|
|
243
|
+
<!-- Generic modal dialog — content varies by use-case.
|
|
244
|
+
The welcome dialog auto-shows on the preview edition via main.js.
|
|
245
|
+
Other uses: call openModal(el) from any module that imports modal.js. -->
|
|
246
|
+
<dialog
|
|
247
|
+
id="welcomeDialog"
|
|
248
|
+
class="orbit-dialog"
|
|
249
|
+
aria-labelledby="welcomeDialogTitle"
|
|
250
|
+
>
|
|
251
|
+
<div class="welcome-dialog-inner">
|
|
252
|
+
<div class="welcome-dialog-head">
|
|
253
|
+
<img
|
|
254
|
+
class="welcome-dialog-logo"
|
|
255
|
+
src="./orbits-logo.png"
|
|
256
|
+
alt=""
|
|
257
|
+
aria-hidden="true"
|
|
258
|
+
/>
|
|
259
|
+
<span class="welcome-dialog-edition-pill"
|
|
260
|
+
>Preview Edition</span
|
|
261
|
+
>
|
|
262
|
+
</div>
|
|
263
|
+
<div class="welcome-dialog-body">
|
|
264
|
+
<h2 id="welcomeDialogTitle" class="welcome-dialog-title">
|
|
265
|
+
No-AI Browser Preview
|
|
266
|
+
</h2>
|
|
267
|
+
<p class="welcome-dialog-lede">
|
|
268
|
+
You're using the local, browser-only preview of
|
|
269
|
+
<strong>Orbit</strong> — a developer-first kanban board
|
|
270
|
+
built for teams working alongside AI agents.
|
|
271
|
+
</p>
|
|
272
|
+
<ul class="welcome-dialog-notices">
|
|
273
|
+
<li>
|
|
274
|
+
<span class="welcome-dialog-notice-label"
|
|
275
|
+
>No AI</span
|
|
276
|
+
>
|
|
277
|
+
Boards are stored in your browser only. AI features,
|
|
278
|
+
MCP server, and server-side sync require the full
|
|
279
|
+
install.
|
|
280
|
+
</li>
|
|
281
|
+
<li>
|
|
282
|
+
<span class="welcome-dialog-notice-label"
|
|
283
|
+
>Download</span
|
|
284
|
+
>
|
|
285
|
+
Get the full app at
|
|
286
|
+
<a
|
|
287
|
+
class="welcome-dialog-link"
|
|
288
|
+
href="https://orbit.starscape.app/install"
|
|
289
|
+
>orbit.starscape.app/install</a
|
|
290
|
+
>
|
|
291
|
+
</li>
|
|
292
|
+
<li>
|
|
293
|
+
<span class="welcome-dialog-notice-label"
|
|
294
|
+
>Coming soon</span
|
|
295
|
+
>
|
|
296
|
+
Paid cloud hosting for teams — no install required.
|
|
297
|
+
</li>
|
|
298
|
+
</ul>
|
|
299
|
+
</div>
|
|
300
|
+
<footer class="welcome-dialog-footer">
|
|
301
|
+
<button
|
|
302
|
+
type="button"
|
|
303
|
+
class="welcome-dialog-cta"
|
|
304
|
+
data-modal-close
|
|
305
|
+
>
|
|
306
|
+
Get started
|
|
307
|
+
</button>
|
|
308
|
+
</footer>
|
|
309
|
+
</div>
|
|
310
|
+
</dialog>
|
|
311
|
+
|
|
312
|
+
<script src="js/app.70be7d06.js" type="module"></script>
|
|
313
|
+
</body>
|
|
314
|
+
</html>
|