@starlove/orbit 1.4.1 → 2.0.0
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/Dockerfile +10 -8
- package/README.md +146 -164
- package/dist/full/csp.txt +1 -0
- package/dist/full/fonts/JetBrains_Mono/JetBrainsMono-subset.woff2 +0 -0
- package/dist/full/fonts/JetBrains_Mono/README.txt +5 -0
- package/dist/full/fonts/Mona_Sans/MonaSans-subset.woff2 +0 -0
- package/{public/fonts/Open_Sans → dist/full/fonts/Mona_Sans}/OFL.txt +93 -93
- package/dist/full/fonts/Mona_Sans/README.txt +10 -0
- package/{public/fonts/JetBrains_Mono → dist/full/fonts/Newsreader}/OFL.txt +93 -93
- package/dist/full/fonts/Newsreader/README.txt +8 -0
- package/dist/full/fonts/Newsreader/newsreader.woff2 +0 -0
- package/dist/full/index.html +36 -653
- package/dist/full/js/app.BmuponPJ.js +32 -0
- package/dist/full/js/app.BmuponPJ.js.map +1 -0
- package/dist/full/js/chunk.1fJGQGbW.js +2 -0
- package/dist/full/js/chunk.1fJGQGbW.js.map +1 -0
- package/dist/full/js/chunk.5D7JO2zp.js +2 -0
- package/dist/full/js/chunk.5D7JO2zp.js.map +1 -0
- package/dist/full/js/chunk.BrNn_D79.js +2 -0
- package/dist/full/js/chunk.BrNn_D79.js.map +1 -0
- package/dist/full/js/chunk.CokJXIqM.js +2 -0
- package/dist/full/js/chunk.CokJXIqM.js.map +1 -0
- package/dist/full/js/chunk.D_Haqy6R.js +2 -0
- package/dist/full/js/chunk.D_Haqy6R.js.map +1 -0
- package/dist/full/js/chunk.RO0jsH6I.js +15 -0
- package/dist/full/js/chunk.RO0jsH6I.js.map +1 -0
- package/dist/full/js/chunk.dqWOEtBM.js +2 -0
- package/dist/full/js/chunk.dqWOEtBM.js.map +1 -0
- package/dist/full/js/warm.f260bbbc.js +15 -0
- package/dist/full/orbits-favicon.png +0 -0
- package/dist/full/orbits-logo-bg-wide.png +0 -0
- package/dist/full/orbits-logo-bg.png +0 -0
- package/dist/full/orbits-logo.png +0 -0
- package/dist/full/styles.2b154ffe.css +1 -0
- package/dist/full/vendor/starlove-ui/theme-init.js +66 -0
- package/dist/full/version.json +2 -2
- package/docs/AGENT_GUIDE.md +114 -0
- package/docs/UPDATING.md +249 -64
- package/lib/adapters/indexeddb/blobs.d.ts +3 -0
- package/lib/adapters/indexeddb/blobs.js +54 -0
- package/lib/adapters/indexeddb/database.d.ts +60 -0
- package/lib/adapters/indexeddb/database.js +126 -0
- package/lib/adapters/indexeddb/index.d.ts +5 -0
- package/lib/adapters/indexeddb/index.js +3 -0
- package/lib/adapters/indexeddb/locks.d.ts +14 -0
- package/lib/adapters/indexeddb/locks.js +40 -0
- package/lib/adapters/indexeddb/store.d.ts +40 -0
- package/lib/adapters/indexeddb/store.js +424 -0
- package/lib/adapters/indexeddb/tables.d.ts +43 -0
- package/lib/adapters/indexeddb/tables.js +127 -0
- package/lib/adapters/memory/blobs.d.ts +3 -0
- package/lib/adapters/memory/blobs.js +44 -0
- package/lib/adapters/memory/board.d.ts +41 -0
- package/lib/adapters/memory/board.js +521 -0
- package/lib/adapters/memory/index.d.ts +2 -0
- package/lib/adapters/memory/index.js +2 -0
- package/lib/adapters/memory/search.d.ts +6 -0
- package/lib/adapters/memory/search.js +30 -0
- package/lib/adapters/memory/store.d.ts +34 -0
- package/lib/adapters/memory/store.js +266 -0
- package/lib/adapters/sqlite/backups.d.ts +53 -0
- package/lib/adapters/sqlite/backups.js +232 -0
- package/lib/adapters/sqlite/blobs.d.ts +14 -0
- package/lib/adapters/sqlite/blobs.js +109 -0
- package/lib/adapters/sqlite/board.d.ts +77 -0
- package/lib/adapters/sqlite/board.js +328 -0
- package/lib/adapters/sqlite/database.d.ts +67 -0
- package/lib/adapters/sqlite/database.js +285 -0
- package/lib/adapters/sqlite/index.d.ts +3 -0
- package/lib/adapters/sqlite/index.js +2 -0
- package/lib/adapters/sqlite/lock.d.ts +11 -0
- package/lib/adapters/sqlite/lock.js +34 -0
- package/lib/adapters/sqlite/records.d.ts +54 -0
- package/lib/adapters/sqlite/records.js +546 -0
- package/lib/adapters/sqlite/schema.d.ts +54 -0
- package/lib/adapters/sqlite/schema.js +276 -0
- package/lib/adapters/sqlite/store.d.ts +39 -0
- package/lib/adapters/sqlite/store.js +385 -0
- package/lib/browser/in-page.d.ts +31 -0
- package/lib/browser/in-page.js +46 -0
- package/lib/browser/old-preview.d.ts +13 -0
- package/lib/browser/old-preview.js +80 -0
- package/lib/browser/preview-board.d.ts +8 -0
- package/lib/browser/preview-board.js +69 -0
- package/lib/cli/main.d.ts +7 -0
- package/lib/cli/main.js +343 -0
- package/lib/cli/orbit.d.ts +8 -0
- package/lib/cli/orbit.js +25 -0
- package/lib/client/http.d.ts +38 -0
- package/lib/client/http.js +334 -0
- package/lib/client/local.d.ts +26 -0
- package/lib/client/local.js +190 -0
- package/lib/client/object-url.d.ts +8 -0
- package/lib/client/object-url.js +21 -0
- package/lib/client/types.d.ts +268 -0
- package/lib/client/types.js +8 -0
- package/lib/commands/agent-tools.d.ts +31 -0
- package/lib/commands/agent-tools.js +100 -0
- package/lib/commands/index.d.ts +56 -0
- package/lib/commands/index.js +298 -0
- package/lib/commands/parse.d.ts +73 -0
- package/lib/commands/parse.js +231 -0
- package/lib/commands/present.d.ts +134 -0
- package/lib/commands/present.js +198 -0
- package/lib/commands/session.d.ts +85 -0
- package/lib/commands/session.js +138 -0
- package/lib/commands/verbs.d.ts +35 -0
- package/lib/commands/verbs.js +842 -0
- package/lib/core/actors.d.ts +18 -0
- package/lib/core/actors.js +45 -0
- package/lib/core/agent.d.ts +128 -0
- package/lib/core/agent.js +323 -0
- package/lib/core/boards.d.ts +113 -0
- package/lib/core/boards.js +288 -0
- package/lib/core/bootstrap.d.ts +47 -0
- package/lib/core/bootstrap.js +100 -0
- package/lib/core/bytes.d.ts +10 -0
- package/lib/core/bytes.js +52 -0
- package/lib/core/card-paths.d.ts +25 -0
- package/lib/core/card-paths.js +44 -0
- package/lib/core/context.d.ts +60 -0
- package/lib/core/context.js +42 -0
- package/lib/core/cross-board.d.ts +81 -0
- package/lib/core/cross-board.js +228 -0
- package/lib/core/describe.d.ts +21 -0
- package/lib/core/describe.js +81 -0
- package/lib/core/errors.d.ts +159 -0
- package/lib/core/errors.js +160 -0
- package/lib/core/files.d.ts +79 -0
- package/lib/core/files.js +262 -0
- package/lib/core/history.d.ts +20 -0
- package/lib/core/history.js +53 -0
- package/lib/core/image-types.d.ts +16 -0
- package/lib/core/image-types.js +36 -0
- package/lib/core/model.d.ts +263 -0
- package/lib/core/model.js +34 -0
- package/lib/core/nebula-link.d.ts +14 -0
- package/lib/core/nebula-link.js +39 -0
- package/lib/core/relations.d.ts +58 -0
- package/lib/core/relations.js +112 -0
- package/lib/core/search.d.ts +38 -0
- package/lib/core/search.js +92 -0
- package/lib/core/sessions.d.ts +44 -0
- package/lib/core/sessions.js +158 -0
- package/lib/core/snapshot-schema.d.ts +295 -0
- package/lib/core/snapshot-schema.js +82 -0
- package/lib/core/snapshots.d.ts +75 -0
- package/lib/core/snapshots.js +409 -0
- package/lib/core/states.d.ts +25 -0
- package/lib/core/states.js +126 -0
- package/lib/core/text.d.ts +40 -0
- package/lib/core/text.js +113 -0
- package/lib/core/tickets.d.ts +69 -0
- package/lib/core/tickets.js +311 -0
- package/lib/core/trello.d.ts +17 -0
- package/lib/core/trello.js +269 -0
- package/lib/core/verdicts.d.ts +28 -0
- package/lib/core/verdicts.js +92 -0
- package/lib/core/views.d.ts +95 -0
- package/lib/core/views.js +186 -0
- package/lib/http/app.d.ts +46 -0
- package/lib/http/app.js +491 -0
- package/lib/mcp-server.d.ts +10 -0
- package/lib/mcp-server.js +120 -0
- package/lib/node/assets.d.ts +7 -0
- package/lib/node/assets.js +68 -0
- package/lib/node/data-folder.d.ts +21 -0
- package/lib/node/data-folder.js +34 -0
- package/lib/node/env.d.ts +38 -0
- package/lib/node/env.js +49 -0
- package/lib/node/host-check.d.ts +24 -0
- package/lib/node/host-check.js +53 -0
- package/lib/node/host-services.d.ts +9 -0
- package/lib/node/host-services.js +150 -0
- package/lib/node/local.d.ts +22 -0
- package/lib/node/local.js +61 -0
- package/lib/node/migrate.d.ts +53 -0
- package/lib/node/migrate.js +635 -0
- package/lib/node/package.d.ts +7 -0
- package/lib/node/package.js +14 -0
- package/lib/node/repo-board.d.ts +49 -0
- package/lib/node/repo-board.js +245 -0
- package/lib/node/serve.d.ts +8 -0
- package/lib/node/serve.js +106 -0
- package/lib/orbit.d.ts +47 -0
- package/lib/orbit.js +44 -0
- package/lib/quiet-sqlite-warning.d.ts +1 -0
- package/lib/quiet-sqlite-warning.js +18 -0
- package/lib/store/blob-path.d.ts +6 -0
- package/lib/store/blob-path.js +12 -0
- package/lib/store/conformance.d.ts +52 -0
- package/lib/store/conformance.js +1449 -0
- package/lib/store/search-words.d.ts +10 -0
- package/lib/store/search-words.js +19 -0
- package/lib/store/types.d.ts +452 -0
- package/lib/store/types.js +34 -0
- package/llms.txt +63 -0
- package/package.json +109 -25
- package/src/cli/orbit.js +11 -658
- package/src/mcp-server.js +16 -876
- package/SKILL-ORBIT.md +0 -151
- package/build.mjs +0 -210
- package/dist/full/js/app.4e6fbe20.js +0 -952
- package/dist/full/js/app.4e6fbe20.js.map +0 -7
- package/dist/full/styles.4e60d824.css +0 -1
- package/docs/AGENT_PROTOCOL.md +0 -424
- package/docs/MCP_SETUP.md +0 -54
- package/docs/ORBIT_DISPATCH.md +0 -280
- package/docs/SS-Orbit-Dark.png +0 -0
- package/docs/SS-Orbit-Light.png +0 -0
- package/docs/mcp-client.example.json +0 -13
- package/docs/setup/orbit-init-wizard.md +0 -174
- 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/fonts/Chakra_Petch/ChakraPetch-Bold.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-BoldItalic.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-Italic.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-Light.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-LightItalic.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-Medium.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-MediumItalic.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-Regular.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-SemiBold.ttf +0 -0
- package/public/fonts/Chakra_Petch/ChakraPetch-SemiBoldItalic.ttf +0 -0
- package/public/fonts/Chakra_Petch/OFL.txt +0 -93
- package/public/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
- package/public/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
- package/public/fonts/Inter/OFL.txt +0 -93
- package/public/fonts/Inter/README.txt +0 -118
- package/public/fonts/JetBrains_Mono/JetBrainsMono-Italic-VariableFont_wght.ttf +0 -0
- package/public/fonts/JetBrains_Mono/JetBrainsMono-VariableFont_wght.ttf +0 -0
- package/public/fonts/JetBrains_Mono/README.txt +0 -79
- package/public/fonts/OpenRing-Regular.ttf +0 -0
- package/public/fonts/Open_Sans/OpenSans-Italic-VariableFont_wdth,wght.ttf +0 -0
- package/public/fonts/Open_Sans/OpenSans-VariableFont_wdth,wght.ttf +0 -0
- package/public/fonts/Open_Sans/README.txt +0 -100
- package/public/fonts/Orbitron/OFL.txt +0 -93
- package/public/fonts/Orbitron/Orbitron-VariableFont_wght.ttf +0 -0
- package/public/fonts/Orbitron/README.txt +0 -68
- package/public/fonts/Rajdhani/OFL.txt +0 -93
- package/public/fonts/Rajdhani/Rajdhani-Bold.ttf +0 -0
- package/public/fonts/Rajdhani/Rajdhani-Light.ttf +0 -0
- package/public/fonts/Rajdhani/Rajdhani-Medium.ttf +0 -0
- package/public/fonts/Rajdhani/Rajdhani-Regular.ttf +0 -0
- package/public/fonts/Rajdhani/Rajdhani-SemiBold.ttf +0 -0
- package/public/fonts/runescape-uf.ttf +0 -0
- package/public/index.html +0 -769
- package/public/js/actor-labels.js +0 -65
- package/public/js/api.js +0 -39
- package/public/js/app.js +0 -45
- package/public/js/artifact-drawer.js +0 -79
- package/public/js/board-export.js +0 -161
- package/public/js/board-menu.js +0 -374
- package/public/js/card-actions.js +0 -545
- package/public/js/config.js +0 -20
- package/public/js/create-card.js +0 -190
- package/public/js/dom.js +0 -19
- package/public/js/drawer.js +0 -273
- package/public/js/font-preference.js +0 -230
- package/public/js/format.js +0 -433
- package/public/js/help-menu.js +0 -31
- package/public/js/icons.js +0 -16
- package/public/js/kanban.js +0 -694
- package/public/js/local-backend.js +0 -1015
- package/public/js/main.js +0 -161
- package/public/js/modal.js +0 -33
- package/public/js/motion-preference.js +0 -64
- package/public/js/panel.js +0 -58
- package/public/js/router.js +0 -134
- package/public/js/search.js +0 -56
- package/public/js/settings-tabs.js +0 -7
- package/public/js/settings.js +0 -1634
- package/public/js/sse.js +0 -159
- package/public/js/starscape.js +0 -332
- package/public/js/state.js +0 -129
- package/public/js/text-editing.js +0 -128
- package/public/js/theme-preference.js +0 -95
- package/public/js/ticket-detail.js +0 -1516
- package/public/js/ticket-typeahead.js +0 -49
- package/public/js/toast.js +0 -89
- package/public/js/topbar-notes.js +0 -155
- package/public/js/transport.js +0 -22
- package/public/js/typeahead.js +0 -206
- package/public/js/unread.js +0 -121
- package/public/js/update-check.js +0 -58
- package/public/js/url-routes.js +0 -94
- package/public/orbits-favicon.png +0 -0
- package/public/orbits-logo-bg-wide.png +0 -0
- package/public/orbits-logo-bg.png +0 -0
- package/public/orbits-logo.png +0 -0
- package/public/styles.css +0 -7709
- package/src/core/agent.js +0 -387
- package/src/core/agents-md.js +0 -109
- package/src/core/artifacts.js +0 -149
- package/src/core/attachments.js +0 -238
- package/src/core/auth.js +0 -85
- package/src/core/backups.js +0 -142
- package/src/core/board.js +0 -148
- package/src/core/boards.js +0 -409
- package/src/core/bootstrap.js +0 -170
- package/src/core/css-bundle.js +0 -30
- package/src/core/db.js +0 -315
- package/src/core/delete-board.js +0 -163
- package/src/core/dispatch.js +0 -1007
- package/src/core/events.js +0 -314
- package/src/core/http.js +0 -115
- package/src/core/migrate.js +0 -198
- package/src/core/paths.js +0 -55
- package/src/core/provision-repo-board.js +0 -119
- package/src/core/queries.js +0 -246
- package/src/core/registry.js +0 -211
- package/src/core/relations.js +0 -163
- package/src/core/review-verdicts.js +0 -138
- package/src/core/router.js +0 -556
- package/src/core/search.js +0 -183
- package/src/core/seed.js +0 -234
- package/src/core/snapshots.js +0 -692
- package/src/core/states.js +0 -167
- package/src/core/system-picker.js +0 -109
- package/src/core/tickets.js +0 -400
- package/src/core/util.js +0 -106
- package/src/core/version-check.js +0 -154
- package/src/mcp/orbit-client.js +0 -287
- package/src/server.js +0 -115
package/docs/ORBIT_DISPATCH.md
DELETED
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
# Orbit Dispatch
|
|
2
|
-
|
|
3
|
-
`orbit dispatch` is the Orbit-to-Hermes handoff command. It turns an Orbit ticket into a bounded agent run without relying on a temporary prompt file as the source of truth.
|
|
4
|
-
|
|
5
|
-
The design intent is simple:
|
|
6
|
-
|
|
7
|
-
- Git remains canonical for code.
|
|
8
|
-
- Orbit remains canonical for planning, handoff, run records, and implementation notes.
|
|
9
|
-
- The ticket becomes the shared communication surface between the human, orchestrator, and dispatched agent.
|
|
10
|
-
|
|
11
|
-
## Local and remote board contract
|
|
12
|
-
|
|
13
|
-
Local dispatch resolves boards through the local Orbit registry and mutates the local SQLite board file.
|
|
14
|
-
|
|
15
|
-
Remote dispatch targets a hosted Orbit server through the HTTP API. It accepts either a full hosted ticket URL or an explicit server/board/ticket tuple:
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
# Full hosted Orbit ticket URL. The board slug and ticket id are parsed from the hash route.
|
|
19
|
-
orbit dispatch 'http://orbit.example/#/b/my-app/t/<ticket-id>' --profile nova --worktree
|
|
20
|
-
|
|
21
|
-
# Equivalent explicit form.
|
|
22
|
-
orbit dispatch \
|
|
23
|
-
--server-url http://orbit.example \
|
|
24
|
-
--board my-app \
|
|
25
|
-
--ticket <ticket-id-or-number> \
|
|
26
|
-
--profile nova \
|
|
27
|
-
--worktree
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Remote dispatch uses hosted Orbit API state for ticket reads, blockers, AI Plan/plan artifact updates, run-record comments, and lane moves. It still uses the local `--cwd` repo as the code/worktree root, because hosted board paths may belong to another machine.
|
|
31
|
-
|
|
32
|
-
Safe preview forms work in remote mode too:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
# Reads hosted board/ticket/blocker state, then exits with no writes.
|
|
36
|
-
orbit dispatch 'http://orbit.example/#/b/my-app/t/<ticket-id>' --profile nova --dry-run
|
|
37
|
-
|
|
38
|
-
# Writes handoff/run record/worktree and comments the hosted ticket, but does not spawn Hermes or move the card.
|
|
39
|
-
orbit dispatch 'http://orbit.example/#/b/my-app/t/<ticket-id>' --profile nova --worktree --no-spawn
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Basic local use
|
|
43
|
-
|
|
44
|
-
From the code repository you are working in, target the local Orbit board explicitly:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
orbit dispatch \
|
|
48
|
-
--board my-app \
|
|
49
|
-
--ticket 12 \
|
|
50
|
-
--profile agent \
|
|
51
|
-
--worktree
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
Common variants:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
# Preview only. No files, worktrees, ticket fields, comments, or agents change.
|
|
58
|
-
orbit dispatch --board my-app --ticket 12 --dry-run
|
|
59
|
-
|
|
60
|
-
# Prepare the handoff/comment/worktree, but do not spawn Hermes and do not move the card to In Progress.
|
|
61
|
-
orbit dispatch --board my-app --ticket 12 --profile agent --worktree --no-spawn
|
|
62
|
-
|
|
63
|
-
# Attach the Hermes child process to the current terminal instead of detaching it.
|
|
64
|
-
orbit dispatch --board my-app --ticket 12 --profile agent --worktree --foreground
|
|
65
|
-
|
|
66
|
-
# Use an explicit branch/worktree name.
|
|
67
|
-
orbit dispatch --board my-app --ticket 12 --profile agent --worktree \
|
|
68
|
-
--branch orbit/my-app-12-search \
|
|
69
|
-
--worktree-path .worktrees/my-app-12-search
|
|
70
|
-
|
|
71
|
-
# Declare ticket-specific verification expectations in the handoff/run record.
|
|
72
|
-
orbit dispatch --board my-app --ticket 12 --profile agent --worktree \
|
|
73
|
-
--verify-command "node --test test/orbit-cli.test.mjs" \
|
|
74
|
-
--verify-command "git diff --check"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
## Preflight order
|
|
78
|
-
|
|
79
|
-
Before filesystem writes, worktree creation, ticket mutation, or agent spawn, dispatch now:
|
|
80
|
-
|
|
81
|
-
1. Parses local vs remote target (`--server-url`, `--remote`, or hosted ticket URL select remote mode).
|
|
82
|
-
2. Resolves the board from `--board`, hosted URL, or local repo context.
|
|
83
|
-
3. Resolves the ticket from `--ticket` by number/id or from the hosted URL.
|
|
84
|
-
4. Refuses archived/missing tickets.
|
|
85
|
-
5. Refuses blocked tickets unless `--force` is passed.
|
|
86
|
-
6. Rejects missing or flag-looking `--verify-command` values during CLI argument parsing.
|
|
87
|
-
7. For spawn mode, checks that the Hermes binary exists and the requested profile is plausible.
|
|
88
|
-
8. Handles `--dry-run` as a true no-write preview.
|
|
89
|
-
|
|
90
|
-
Only after those checks does dispatch create run artifacts/worktrees, write the handoff/comment, move the ticket, or spawn Hermes.
|
|
91
|
-
|
|
92
|
-
## What dispatch does
|
|
93
|
-
|
|
94
|
-
In normal spawn mode:
|
|
95
|
-
|
|
96
|
-
1. Builds a run id such as `orbit-12-agent-abc123def0`.
|
|
97
|
-
2. Creates a run directory for run metadata and policy wrappers. Local board mode uses `<DATA_DIR>/dispatch-runs/<board>/<run-id>/`; remote mode uses `<repo>/.orbit/dispatch-runs/<run-id>/` so the handoff stays with the source checkout.
|
|
98
|
-
3. Creates and preserves a git worktree/branch when `--worktree` is used. Remote mode defaults to `<repo-parent>/.worktrees/<repo-name>/<run-id>/`.
|
|
99
|
-
4. Generates a full agent handoff.
|
|
100
|
-
5. Writes an initial durable `run-record.json` with status `prepared` before ticket mutation or agent spawn.
|
|
101
|
-
6. Writes the canonical handoff as a linked markdown artifact and stores a terse plan summary in AI Plan.
|
|
102
|
-
7. Moves the ticket to **In Progress**.
|
|
103
|
-
8. Starts Hermes.
|
|
104
|
-
9. Updates `run-record.json` to status `launched` with the child process id.
|
|
105
|
-
10. Comments a run record back onto the ticket.
|
|
106
|
-
|
|
107
|
-
In `--no-spawn` mode, dispatch writes the handoff artifact, initial `run-record.json`, and compact run-record comment but leaves the ticket in its current lane.
|
|
108
|
-
|
|
109
|
-
The run record includes profile, policy, ticket, branch, worktree, base commit, policy-bin path, child process id, command, declared verification commands, mode, transport (`local` or `remote`), and a `run-record.json` path. This makes the card the visible cockpit for the run while preserving a machine-readable artifact for later review/repair automation.
|
|
110
|
-
|
|
111
|
-
## Structured run record
|
|
112
|
-
|
|
113
|
-
Every non-dry-run dispatch writes `run-record.json` with schema `orbit.dispatch.run.v1`.
|
|
114
|
-
|
|
115
|
-
The JSON record currently captures:
|
|
116
|
-
|
|
117
|
-
- run id, board id/slug, ticket id/number, profile, policy, transport, mode, and status (`prepared` for `--no-spawn`, `launched` for spawned runs)
|
|
118
|
-
- prompt/handoff path, repo root, worktree, branch, and base commit
|
|
119
|
-
- process id when a Hermes child was spawned
|
|
120
|
-
- declared verification commands
|
|
121
|
-
- empty `commit_shas` and `residual_risks` arrays for completion/review tooling to fill in later slices
|
|
122
|
-
- a small environment-variance snapshot: platform, Node version, cwd, path format, and relevant `HOME`, `PROJECT_ROOT`, `DATA_DIR`, and `ORBIT_*` env vars
|
|
123
|
-
|
|
124
|
-
URL-bearing values are presence-only redacted in `run-record.json`. `ORBIT_API_URL`, `ORBIT_SERVER_URL`, and the top-level `server_url` field are recorded as `[redacted-url-present]` when present, rather than persisting usernames, passwords, query tokens, fragments, hostnames, or paths. Non-URL environment checklist values such as `HOME`, `PROJECT_ROOT`, `DATA_DIR`, `ORBIT_MODE`, and `ORBIT_DEFAULT_BOARD` remain visible for variance debugging.
|
|
125
|
-
|
|
126
|
-
Operators can override the default verification contract by repeating `--verify-command <cmd>` or using `--verify-command=<cmd>`. Bare `--verify-command`, `--verify-command=` and `--verify-command` followed by another flag are rejected before dispatch side effects. If omitted, dispatch declares the standard local-safe checklist: `npm test`, conditional `npm run build`, `node src/cli/orbit.js dispatch --help`, `git diff --check`, and `git diff --cached --check before commit`.
|
|
127
|
-
|
|
128
|
-
## Structured review verdict records
|
|
129
|
-
|
|
130
|
-
Sentinel/agent review results are first-class board data in `review_verdicts`, not prose-only comments. Each record belongs to one ticket and stores:
|
|
131
|
-
|
|
132
|
-
- `verdict`: one of `PASS`, `BLOCK`, or `QUESTION`
|
|
133
|
-
- `blocking_findings`: JSON array for issues that must be repaired before approval
|
|
134
|
-
- `optional_findings`: JSON array for non-blocking review notes
|
|
135
|
-
- `evidence_commands`: JSON array of commands or probes the reviewer used as evidence
|
|
136
|
-
- `reviewer_profile` and `reviewer_session_id`: optional reviewer identity/session metadata
|
|
137
|
-
- `reviewed_commit_sha`: optional commit SHA under review
|
|
138
|
-
- `dispatch_run_id`: optional dispatch run id tying the verdict back to `run-record.json`
|
|
139
|
-
- `supersedes_prior_review_id`: optional link to an earlier verdict on the same ticket
|
|
140
|
-
|
|
141
|
-
HTTP API:
|
|
142
|
-
|
|
143
|
-
```text
|
|
144
|
-
POST /api/tickets/:ticket_id/review-verdicts
|
|
145
|
-
GET /api/tickets/:ticket_id/review-verdicts?limit=50
|
|
146
|
-
GET /api/review-verdicts/:review_id?board=<slug-or-id>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
MCP tools:
|
|
150
|
-
|
|
151
|
-
```text
|
|
152
|
-
board_create_review_verdict
|
|
153
|
-
board_list_review_verdicts
|
|
154
|
-
board_get_review_verdict
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
Comments may mirror verdict summaries for human scanning, but comments are not the source of truth for review automation. Later repair and re-review tooling should read these records directly.
|
|
158
|
-
|
|
159
|
-
## The linked markdown handoff
|
|
160
|
-
|
|
161
|
-
Dispatch stores the generated handoff as a linked markdown artifact and keeps only a terse AI Plan summary visible on the ticket. The artifact includes:
|
|
162
|
-
|
|
163
|
-
- mission and ticket metadata
|
|
164
|
-
- repository root, worktree, branch, and run id
|
|
165
|
-
- required reading order: `AGENTS.md`, `SKILL-ORBIT.md`, then the handoff
|
|
166
|
-
- ticket description
|
|
167
|
-
- terse AI Plan / Work Summary text, Revisions, and any linked artifact paths
|
|
168
|
-
- board-level agent instructions
|
|
169
|
-
- board Journal lessons/decisions when available
|
|
170
|
-
- recent remote comments when remote dispatch uses the lean dispatch packet
|
|
171
|
-
- parent/child ticket context
|
|
172
|
-
- unresolved blockers
|
|
173
|
-
- scope boundaries
|
|
174
|
-
- autonomous policy
|
|
175
|
-
- declared verification commands and environment-variance checklist
|
|
176
|
-
- completion protocol
|
|
177
|
-
|
|
178
|
-
The short prompt passed to `hermes chat -q` is intentionally small. The ticket is the source of truth; the CLI argument is only a bootstrap pointer.
|
|
179
|
-
|
|
180
|
-
Board journal entries are framed as project constraints and lessons, not persona or roleplay instructions. Keep durable board entries focused on mechanisms, architectural/product boundaries, workflow invariants, public-product implications, and reusable pitfalls; use ticket fields/comments for run-specific chronology.
|
|
181
|
-
|
|
182
|
-
## Preserved worktrees
|
|
183
|
-
|
|
184
|
-
Use `--worktree` when the agent will edit code. Dispatch creates a normal git worktree and gives the agent that directory as its working directory.
|
|
185
|
-
|
|
186
|
-
This solves the ephemeral-agent problem: humans can test the branch/worktree before cleanup.
|
|
187
|
-
|
|
188
|
-
Default local shape:
|
|
189
|
-
|
|
190
|
-
```text
|
|
191
|
-
<repo>/.worktrees/<board>-<ticket>-<profile>-<shortid>
|
|
192
|
-
orbit/<board>-<ticket>-<profile>-<shortid>
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
Default remote shape:
|
|
196
|
-
|
|
197
|
-
```text
|
|
198
|
-
<repo-parent>/.worktrees/<repo-name>/<run-id>
|
|
199
|
-
orbit/<ticket>-<profile>-remote-<shortid>
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
`.worktrees/` is ignored by git.
|
|
203
|
-
|
|
204
|
-
## Safe autonomous policy
|
|
205
|
-
|
|
206
|
-
The default policy prepends the run directory’s `policy-bin` to the child agent's `PATH`. That directory contains wrappers for commands that should be restricted during an autonomous run.
|
|
207
|
-
|
|
208
|
-
Allowed:
|
|
209
|
-
|
|
210
|
-
- file reads/searches and local edits
|
|
211
|
-
- `git status`, `git diff`, `git log`, `git show`, `git add`, local `git commit`, safe branch inspection/creation
|
|
212
|
-
- package test/build/lint/check/typecheck scripts
|
|
213
|
-
|
|
214
|
-
Blocked or requiring human approval:
|
|
215
|
-
|
|
216
|
-
- Docker
|
|
217
|
-
- `git push`
|
|
218
|
-
- destructive git commands such as reset, clean, rebase, merge, checkout/switch/restore, tag, cherry-pick, worktree mutation
|
|
219
|
-
- package install/publish/version/deploy/release commands
|
|
220
|
-
- recursive or force `rm`
|
|
221
|
-
- SSH/SCP/rsync
|
|
222
|
-
- GitHub CLI
|
|
223
|
-
- direct curl/wget network calls
|
|
224
|
-
- cloud/deploy CLIs
|
|
225
|
-
- `sudo`
|
|
226
|
-
|
|
227
|
-
Use `--policy none` only when you intentionally want to dispatch without wrappers.
|
|
228
|
-
|
|
229
|
-
## Agent completion protocol
|
|
230
|
-
|
|
231
|
-
The dispatched agent should:
|
|
232
|
-
|
|
233
|
-
1. Run relevant tests and focused manual/API checks.
|
|
234
|
-
2. Commit locally on the dispatch branch.
|
|
235
|
-
3. Put a terse human-readable result in **Work Summary** (`implementation_summary`).
|
|
236
|
-
4. If full detail matters, write a markdown report artifact and link it with `implementation_artifact_path`.
|
|
237
|
-
5. Leave Revisions (`implementation_updates`) blank unless this is a later change/correction after initial implementation; promote the most important code/pattern/project lessons and decisions to board Journal entries.
|
|
238
|
-
6. Add a compact completion comment/run receipt.
|
|
239
|
-
7. Move the card to **Review**, not Done, unless the human explicitly asked for auto-completion.
|
|
240
|
-
|
|
241
|
-
## Installing / enabling the command
|
|
242
|
-
|
|
243
|
-
For source installs:
|
|
244
|
-
|
|
245
|
-
```bash
|
|
246
|
-
cd /path/to/ss-orbit
|
|
247
|
-
pnpm install
|
|
248
|
-
pnpm run build:bundle
|
|
249
|
-
pnpm link --global
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Then from a project repo with an Orbit board:
|
|
253
|
-
|
|
254
|
-
```bash
|
|
255
|
-
orbit init # if the repo does not have a board yet
|
|
256
|
-
orbit dispatch --board my-app --ticket 12 --profile agent --worktree --no-spawn
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
For support, bug reports, and reproducibility notes, human users can print the installed CLI version with either form:
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
orbit -v
|
|
263
|
-
orbit --version
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
## Operator notes for orchestrators
|
|
267
|
-
|
|
268
|
-
- Prefer `orbit dispatch` over writing a temporary handoff prompt file when targeting an Orbit ticket.
|
|
269
|
-
- Use a full hosted Orbit ticket URL for the fastest remote path; dispatch will parse the server, board slug, and ticket id.
|
|
270
|
-
- Use `--cwd` to point remote dispatch at the local code checkout when the hosted board records another machine’s repo path.
|
|
271
|
-
- Use `--dry-run` when you want proof of what would happen without any side effects.
|
|
272
|
-
- Use `--no-spawn` when you want to inspect the generated handoff/worktree/comment before starting an agent.
|
|
273
|
-
- Use `--worktree` for code edits so the human can test before cleanup.
|
|
274
|
-
- Treat the ticket fields as human-visible surfaces:
|
|
275
|
-
- AI Plan: terse visible plan summary; full handoff/plan doc lives in human-editable `plan_artifact_path`
|
|
276
|
-
- Work Summary: terse visible result summary; full report/evidence doc lives in human-editable `implementation_artifact_path`
|
|
277
|
-
- Revisions: terse later corrections/changes after initial implementation only
|
|
278
|
-
- Comments: compact run receipts and transient breadcrumbs
|
|
279
|
-
- Board Journal: durable reusable project lessons/decisions
|
|
280
|
-
- Do not push, deploy, or open PRs from the dispatched agent unless the human explicitly asked for that run to do so.
|
package/docs/SS-Orbit-Dark.png
DELETED
|
Binary file
|
package/docs/SS-Orbit-Light.png
DELETED
|
Binary file
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
# Orbit init wizard
|
|
2
|
-
|
|
3
|
-
Status: focused implementation spec for ticket #61.
|
|
4
|
-
|
|
5
|
-
This replaces the older Mission Control-shaped setup-mode design from Orbit tickets #26 and #27. Keep the useful lesson: `orbit init` should make the first board choice clear. Cut the rest. Orbit setup creates a project board and, optionally, the agent-ready affordances around that board. Suite and Sync concerns stay out.
|
|
6
|
-
|
|
7
|
-
## Goal
|
|
8
|
-
|
|
9
|
-
`orbit init` supports two first-pass modes:
|
|
10
|
-
|
|
11
|
-
1. Local board / no AI
|
|
12
|
-
2. AI-assisted board
|
|
13
|
-
|
|
14
|
-
Anything beyond those modes belongs to Starscape Suite, Starscape Sync, or an app-specific integration ticket.
|
|
15
|
-
|
|
16
|
-
## Command contract
|
|
17
|
-
|
|
18
|
-
These commands must work:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
orbit init
|
|
22
|
-
orbit init --ai
|
|
23
|
-
orbit init --no-ai
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
| Command | Mode | Contract |
|
|
27
|
-
| --- | --- | --- |
|
|
28
|
-
| `orbit init` | AI-assisted board | Backwards-compatible default. |
|
|
29
|
-
| `orbit init --ai` | AI-assisted board | Explicit alias for the default. |
|
|
30
|
-
| `orbit init --no-ai` | Local board / no AI | No AI collaboration assumptions. |
|
|
31
|
-
|
|
32
|
-
Keep existing init flags:
|
|
33
|
-
|
|
34
|
-
- `--cwd <dir>` selects the project root.
|
|
35
|
-
- `--example` creates onboarding example tickets.
|
|
36
|
-
|
|
37
|
-
`SKILL-ORBIT.md` is managed Orbit guidance: `orbit init` writes it, and `orbit run` refreshes registered repo copies on startup. Repo/team customization belongs in `AGENTS.md` or board `agent_instructions`, not in `SKILL-ORBIT.md`.
|
|
38
|
-
|
|
39
|
-
Do not add `--multi-ai`, `--output=starlog-authored`, `--starlog`, `--suite`, `--forge`, `--sync`, hosted-service flags, agent-guidance refresh flags, or remote-sync flags in this pass.
|
|
40
|
-
|
|
41
|
-
## Wizard rules
|
|
42
|
-
|
|
43
|
-
The first implementation should be clear without breaking scripts:
|
|
44
|
-
|
|
45
|
-
- If `--ai` or `--no-ai` is present, do not prompt.
|
|
46
|
-
- If running non-interactively, default to AI-assisted board.
|
|
47
|
-
- If an interactive prompt is added, Enter chooses AI-assisted board.
|
|
48
|
-
- Ask only for local/no-AI vs AI-assisted. Do not ask about Starlog, Suite dashboard, Nebula, Forgejo, Auth, hosted service, Sync links, artifacts, events, or remote sync.
|
|
49
|
-
|
|
50
|
-
Suggested prompt:
|
|
51
|
-
|
|
52
|
-
```text
|
|
53
|
-
Initialize Orbit for this repo
|
|
54
|
-
|
|
55
|
-
Orbit keeps a project board next to your code. Git stays the truth for code;
|
|
56
|
-
Orbit becomes the truth for tickets, planning state, handoff, and implementation notes.
|
|
57
|
-
|
|
58
|
-
Choose a first-run mode:
|
|
59
|
-
|
|
60
|
-
1. Local board / no AI
|
|
61
|
-
A local kanban board. No AI Ready lane or MCP setup step.
|
|
62
|
-
|
|
63
|
-
2. AI-assisted board (recommended)
|
|
64
|
-
Adds AI Ready, agent handoff fields, generated agent instructions, and MCP setup guidance.
|
|
65
|
-
|
|
66
|
-
Select a mode [2]:
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
## Mode behavior
|
|
70
|
-
|
|
71
|
-
### Local board / no AI
|
|
72
|
-
|
|
73
|
-
Triggered by `orbit init --no-ai`.
|
|
74
|
-
|
|
75
|
-
Behavior:
|
|
76
|
-
|
|
77
|
-
- Create or repair the board database and registry row for the selected project root.
|
|
78
|
-
- Persist `ai_enabled = 0`.
|
|
79
|
-
- Do not create the `AI Ready` lane.
|
|
80
|
-
- Keep ordinary lanes: `Backlog`, `Todo`, `In Progress`, `Review`, `Done`, `Cancelled`.
|
|
81
|
-
- Keep Orbit usable for human planning, ticket history, blockers, comments, and implementation notes.
|
|
82
|
-
- Generate `AGENTS.md` and `SKILL-ORBIT.md`, but do not present MCP connection as a required next step.
|
|
83
|
-
- If `--example` is used, keep example tickets out of AI Ready.
|
|
84
|
-
|
|
85
|
-
Success copy should say the board path returned by init, the selected mode, and the next `orbit run` step. It should not imply AI is required.
|
|
86
|
-
|
|
87
|
-
### AI-assisted board
|
|
88
|
-
|
|
89
|
-
Triggered by `orbit init` and `orbit init --ai`.
|
|
90
|
-
|
|
91
|
-
Behavior:
|
|
92
|
-
|
|
93
|
-
- Create or repair the board database and registry row for the selected project root.
|
|
94
|
-
- Persist `ai_enabled = 1`.
|
|
95
|
-
- Ensure `AI Ready`, `In Progress`, and `Review` exist for agent flow.
|
|
96
|
-
- Create/update `AGENTS.md` as the repo-owned pointer and write the managed `SKILL-ORBIT.md` so agents know to read board context, respect blockers, use MCP/API tools, and update `ai_plan`, `implementation_summary`, and `implementation_updates`.
|
|
97
|
-
- Print MCP setup guidance after init, including project-root-specific `orbit mcp --cwd <repo>` / `PROJECT_ROOT=<repo>` guidance or the generated client snippet.
|
|
98
|
-
- If `--example` is used, stage the stable MCP exercise ticket in `AI Ready`.
|
|
99
|
-
|
|
100
|
-
Success copy should say AI collaboration lanes are present and the next step is connecting an agent through MCP.
|
|
101
|
-
|
|
102
|
-
## Generated guidance files
|
|
103
|
-
|
|
104
|
-
`orbit init` preserves generation of:
|
|
105
|
-
|
|
106
|
-
- `AGENTS.md`
|
|
107
|
-
- `SKILL-ORBIT.md`
|
|
108
|
-
|
|
109
|
-
`AGENTS.md` should stay terse and repo-owned: when work mentions Orbit/tickets/boards, read `SKILL-ORBIT.md` first. `SKILL-ORBIT.md` is Orbit-managed durable protocol and may be overwritten by `orbit init` or refreshed by `orbit run`; it tells agents to read board context, check blockers, use Orbit API/MCP instead of editing SQLite directly, update implementation fields, and hand off through Review.
|
|
110
|
-
|
|
111
|
-
For local/no-AI boards, these files are still useful if an agent later opens the repo, but init output should not frame MCP as mandatory.
|
|
112
|
-
|
|
113
|
-
## MCP setup guidance
|
|
114
|
-
|
|
115
|
-
For AI-assisted boards, keep the current guidance:
|
|
116
|
-
|
|
117
|
-
- MCP config tells the AI client how to spawn Orbit's helper.
|
|
118
|
-
- `AGENTS.md` and `SKILL-ORBIT.md` are normal repo files, not streamed through MCP.
|
|
119
|
-
- Persistent MCP configs should use explicit `--cwd <repo>` / `PROJECT_ROOT=<repo>` so the helper attaches to the right board.
|
|
120
|
-
|
|
121
|
-
For local/no-AI boards, omit MCP guidance or label it optional later setup.
|
|
122
|
-
|
|
123
|
-
## Board mode metadata
|
|
124
|
-
|
|
125
|
-
First pass can keep `boards.ai_enabled` as the source of truth:
|
|
126
|
-
|
|
127
|
-
```text
|
|
128
|
-
ai_enabled = 0 -> local board / no AI
|
|
129
|
-
ai_enabled = 1 -> AI-assisted board
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
If a mode field is added, keep it deliberately small:
|
|
133
|
-
|
|
134
|
-
```json
|
|
135
|
-
{
|
|
136
|
-
"setup_mode": "ai-assisted",
|
|
137
|
-
"setup_schema_version": 1
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
Allowed `setup_mode` values: `local`, `ai-assisted`.
|
|
142
|
-
|
|
143
|
-
Compatibility:
|
|
144
|
-
|
|
145
|
-
```text
|
|
146
|
-
missing setup_mode + ai_enabled = 0 -> local
|
|
147
|
-
missing setup_mode + ai_enabled = 1 -> ai-assisted
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
Do not persist Starlog output mode, Suite profile, Forge mode, Sync mode, hosted Auth state, or remote-sync configuration in Orbit setup metadata.
|
|
151
|
-
|
|
152
|
-
## Explicitly out of scope
|
|
153
|
-
|
|
154
|
-
| Deferred concern | Route |
|
|
155
|
-
| --- | --- |
|
|
156
|
-
| Starscape Suite dashboard, module/plugin setup, unified launcher, ecosystem settings | `ss-suite` #1 |
|
|
157
|
-
| Nebula / whiteboard setup | `ss-suite` #1 or the Nebula board |
|
|
158
|
-
| Starlog output/reporting mode, authored HTML outputs, templates | Suite/app integration work, not Orbit init |
|
|
159
|
-
| Forgejo/Gitea suite mode, local forge provisioning, themed forge navigation | `ss-suite` #1 |
|
|
160
|
-
| Starscape Auth, hosted service, cloud accounts, managed hosting | `ss-suite` #1 / hosted-service follow-up |
|
|
161
|
-
| Cross-app registry, object identity, links/backrefs, artifacts, activity/events, export/import, remote sync | `ss-sync` #1 |
|
|
162
|
-
| Mission Briefs, named agent ecology, wave execution, multi-agent orchestration | Later Orbit Mission Control work, not this wizard |
|
|
163
|
-
|
|
164
|
-
Mapping note: Orbit keeps local project boards, generated agent guidance, agent-ready lanes, MCP setup, and ticket implementation records. Suite composition maps to `ss-suite` #1. Registry/link/artifact/event/sync semantics map to `ss-sync` #1.
|
|
165
|
-
|
|
166
|
-
## Implementation checklist for the next build ticket
|
|
167
|
-
|
|
168
|
-
- `orbit init`, `orbit init --ai`, and `orbit init --no-ai` all work.
|
|
169
|
-
- `orbit init --ai` is an explicit alias for the default AI-assisted path.
|
|
170
|
-
- Local/no-AI mode creates no `AI Ready` lane and does not require MCP setup.
|
|
171
|
-
- AI-assisted mode keeps AI lanes, generated guidance files, MCP guidance, and example-ticket staging behavior.
|
|
172
|
-
- Generated `AGENTS.md` / `SKILL-ORBIT.md` keep agents on Orbit API/MCP rather than direct SQLite edits.
|
|
173
|
-
- Setup metadata is limited to `local` / `ai-assisted` plus schema version, or remains derived from `ai_enabled`.
|
|
174
|
-
- No Suite, Sync, Starlog, Nebula, Forgejo, Auth, hosted service, artifact, link, event, or remote-sync setup enters Orbit init.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/public/favicon-32x32.png
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
Copyright 2018 The Chakra Petch Project Authors (https://github.com/m4rc1e/Chakra-Petch.git)
|
|
2
|
-
|
|
3
|
-
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
4
|
-
This license is copied below, and is also available with a FAQ at:
|
|
5
|
-
https://openfontlicense.org
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
-----------------------------------------------------------
|
|
9
|
-
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
10
|
-
-----------------------------------------------------------
|
|
11
|
-
|
|
12
|
-
PREAMBLE
|
|
13
|
-
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
14
|
-
development of collaborative font projects, to support the font creation
|
|
15
|
-
efforts of academic and linguistic communities, and to provide a free and
|
|
16
|
-
open framework in which fonts may be shared and improved in partnership
|
|
17
|
-
with others.
|
|
18
|
-
|
|
19
|
-
The OFL allows the licensed fonts to be used, studied, modified and
|
|
20
|
-
redistributed freely as long as they are not sold by themselves. The
|
|
21
|
-
fonts, including any derivative works, can be bundled, embedded,
|
|
22
|
-
redistributed and/or sold with any software provided that any reserved
|
|
23
|
-
names are not used by derivative works. The fonts and derivatives,
|
|
24
|
-
however, cannot be released under any other type of license. The
|
|
25
|
-
requirement for fonts to remain under this license does not apply
|
|
26
|
-
to any document created using the fonts or their derivatives.
|
|
27
|
-
|
|
28
|
-
DEFINITIONS
|
|
29
|
-
"Font Software" refers to the set of files released by the Copyright
|
|
30
|
-
Holder(s) under this license and clearly marked as such. This may
|
|
31
|
-
include source files, build scripts and documentation.
|
|
32
|
-
|
|
33
|
-
"Reserved Font Name" refers to any names specified as such after the
|
|
34
|
-
copyright statement(s).
|
|
35
|
-
|
|
36
|
-
"Original Version" refers to the collection of Font Software components as
|
|
37
|
-
distributed by the Copyright Holder(s).
|
|
38
|
-
|
|
39
|
-
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
40
|
-
or substituting -- in part or in whole -- any of the components of the
|
|
41
|
-
Original Version, by changing formats or by porting the Font Software to a
|
|
42
|
-
new environment.
|
|
43
|
-
|
|
44
|
-
"Author" refers to any designer, engineer, programmer, technical
|
|
45
|
-
writer or other person who contributed to the Font Software.
|
|
46
|
-
|
|
47
|
-
PERMISSION & CONDITIONS
|
|
48
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
|
49
|
-
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
50
|
-
redistribute, and sell modified and unmodified copies of the Font
|
|
51
|
-
Software, subject to the following conditions:
|
|
52
|
-
|
|
53
|
-
1) Neither the Font Software nor any of its individual components,
|
|
54
|
-
in Original or Modified Versions, may be sold by itself.
|
|
55
|
-
|
|
56
|
-
2) Original or Modified Versions of the Font Software may be bundled,
|
|
57
|
-
redistributed and/or sold with any software, provided that each copy
|
|
58
|
-
contains the above copyright notice and this license. These can be
|
|
59
|
-
included either as stand-alone text files, human-readable headers or
|
|
60
|
-
in the appropriate machine-readable metadata fields within text or
|
|
61
|
-
binary files as long as those fields can be easily viewed by the user.
|
|
62
|
-
|
|
63
|
-
3) No Modified Version of the Font Software may use the Reserved Font
|
|
64
|
-
Name(s) unless explicit written permission is granted by the corresponding
|
|
65
|
-
Copyright Holder. This restriction only applies to the primary font name as
|
|
66
|
-
presented to the users.
|
|
67
|
-
|
|
68
|
-
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
69
|
-
Software shall not be used to promote, endorse or advertise any
|
|
70
|
-
Modified Version, except to acknowledge the contribution(s) of the
|
|
71
|
-
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
72
|
-
permission.
|
|
73
|
-
|
|
74
|
-
5) The Font Software, modified or unmodified, in part or in whole,
|
|
75
|
-
must be distributed entirely under this license, and must not be
|
|
76
|
-
distributed under any other license. The requirement for fonts to
|
|
77
|
-
remain under this license does not apply to any document created
|
|
78
|
-
using the Font Software.
|
|
79
|
-
|
|
80
|
-
TERMINATION
|
|
81
|
-
This license becomes null and void if any of the above conditions are
|
|
82
|
-
not met.
|
|
83
|
-
|
|
84
|
-
DISCLAIMER
|
|
85
|
-
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
86
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
87
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
88
|
-
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
89
|
-
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
90
|
-
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
91
|
-
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
92
|
-
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
93
|
-
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
Binary file
|
|
Binary file
|