deepspace 0.25.0 → 0.26.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 (53) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +7 -6
  3. package/dist/{chunk-2GUGZLAX.js → chunk-YBXIUDZJ.js} +2 -2
  4. package/dist/{chunk-2GUGZLAX.js.map → chunk-YBXIUDZJ.js.map} +1 -1
  5. package/dist/cli.js +1036 -966
  6. package/dist/cli.js.map +1 -1
  7. package/dist/documentation-client-core.js +1 -1
  8. package/dist/documentation-default-renderer.cjs +1 -1
  9. package/dist/documentation-react.js +1 -1
  10. package/dist/documentation-runtime.js +1 -1
  11. package/dist/documentation-server-core.js +1 -1
  12. package/dist/documentation.js +1 -1
  13. package/dist/documentation.js.map +1 -1
  14. package/dist/index.d.ts +26 -434
  15. package/dist/index.js +99 -864
  16. package/dist/index.js.map +1 -1
  17. package/dist/schema.d.ts +4 -41
  18. package/dist/schema.js +2 -242
  19. package/dist/schema.js.map +1 -1
  20. package/dist/server.d.ts +6 -162
  21. package/dist/server.js +13 -281
  22. package/dist/server.js.map +1 -1
  23. package/dist/worker.d.ts +4 -160
  24. package/dist/worker.js +15 -281
  25. package/dist/worker.js.map +1 -1
  26. package/features/messaging/feature.json +3 -43
  27. package/features/messaging/src/ChatPage.tsx +12 -16
  28. package/features/messaging/src/components/chat/ChatHeader.tsx +5 -13
  29. package/features/messaging/src/components/chat/MessageItem.tsx +7 -9
  30. package/features/messaging/src/components/chat/MessageList.tsx +57 -40
  31. package/features/messaging/src/components/chat/ThreadPanel.tsx +25 -11
  32. package/features/messaging/src/components/chat/UserProfilePopover.tsx +10 -29
  33. package/features/messaging/src/hooks/useChatChannel.ts +18 -23
  34. package/features/messaging/src/messaging-schema.ts +0 -2
  35. package/features/search-bar/feature.json +9 -20
  36. package/features/search-bar/src/InlineSearch.tsx +101 -0
  37. package/features/search-bar/src/__tests__/search-model.test.tsx +38 -0
  38. package/features/search-bar/src/search-model.ts +2 -149
  39. package/package.json +1 -1
  40. package/features/messaging/src/ChatMultiPage.tsx +0 -298
  41. package/features/messaging/src/components/chat-multi/AddMemberModal.tsx +0 -188
  42. package/features/messaging/src/components/chat-multi/BrowseGroupsModal.tsx +0 -163
  43. package/features/messaging/src/components/chat-multi/ChannelListItem.tsx +0 -147
  44. package/features/messaging/src/components/chat-multi/ChannelSettingsPanel.tsx +0 -344
  45. package/features/messaging/src/components/chat-multi/ChannelSidebar.tsx +0 -460
  46. package/features/messaging/src/components/chat-multi/CreateGroupModal.tsx +0 -190
  47. package/features/messaging/src/components/chat-multi/InvitationList.tsx +0 -149
  48. package/features/messaging/src/components/chat-multi/NewMessageModal.tsx +0 -159
  49. package/features/messaging/src/hooks/useMultiChannel.ts +0 -142
  50. package/features/search-bar/src/SearchOverlay.tsx +0 -566
  51. package/features/search-bar/src/__tests__/search-model.test.ts +0 -40
  52. package/features/sidebar/feature.json +0 -19
  53. package/features/sidebar/src/AppSidebar.tsx +0 -558
package/CHANGELOG.md CHANGED
@@ -1,5 +1,46 @@
1
1
  # deepspace
2
2
 
3
+ ## 0.26.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Remove the unused platform-owned conversation, directory, and inbox stack,
8
+ including its hooks, schemas, routes, bindings, Durable Object class, and
9
+ dead client platform context/WebSocket helpers.
10
+
11
+ Make the bundled messaging feature honest and smaller by supporting public
12
+ channels only, confirming membership writes, and removing duplicate multi-chat,
13
+ DM, private-group, invitation, and unread-state implementations. Remove the
14
+ overbuilt sidebar feature and reduce search to a controlled inline component
15
+ plus local ranking.
16
+
17
+ Make generated Playwright runs own their test server and refuse busy ports
18
+ (`port_in_use`, after a bounded grace for a server still shutting down), gate
19
+ suite readiness on the auth plane, settle screenshots before capture (with
20
+ opt-in `--wait-for-selector`), add the router hydration fallback, bound deploy
21
+ JSON progress, and label `app usage` as account-wide.
22
+
23
+ Migration for existing apps: removed `deepspace` exports include
24
+ `useConversation`, the `client/directory` hooks (`useConversations`,
25
+ `useCommunities`, `usePosts`), the client platform context
26
+ (`PlatformProvider`, `usePlatformWS`), `ChannelInvitation`,
27
+ `CHANNEL_INVITATIONS_SCHEMA`, `CONVERSATION_SCHEMAS`, `VOTING_SCHEMAS`,
28
+ `DIRECTORY_SCHEMAS`, and the messaging display utils
29
+ (`formatMessageTime`, `groupReactionsForMessage`, `parseMessageMetadata`, …).
30
+ Apps that installed the pre-0.27 messaging feature should delete the copied
31
+ `chat-multi/` components, `ChatMultiPage`, and `useMultiChannel` (they import
32
+ the removed exports), and drop `channel-invitations` from their schemas. The
33
+ bundled `channels` schema now admits only `type: 'public'`: existing
34
+ `private`/`dm` rows keep reading but fail validation on writes that echo the
35
+ old value — delete those rows or keep an app-local schema that still declares
36
+ them.
37
+
38
+ ## 0.26.0
39
+
40
+ ### Minor Changes
41
+
42
+ - Source authority is inferred from use, never registered, and the 0.25.0 AX-pass defects are fixed. Nothing is declared "at the beginning": the `source_unclaimed` deploy refusal is gone — an unclaimed app whose checkout has a GitHub remote deploys as GitHub automatically (no git gates, no credential probe; `github_credentials_required` no longer exists), and each release records the observed repository. The first `deepspace push` (or an unclaimed app's deploy sync) claims DeepSpace source at the git receive path, once, permanently — and now says so on stderr at the moment it happens. The claim fires on the pack POST rather than the ref advert, so a `git push --dry-run` or an abandoned push never pins the app — and an admin-tier push to an unclaimed app refuses (`admin_cannot_claim`): support must neither claim an app nor create history on an unclaimed one. `deepspace app source` is now read-only (`source_inferred` refuses the old setter, and reporting an unregistered checkout never mints); the server's `POST /source` route and the transfer protocol (ref/release proofs, `github_push_required`, the transfer-preparation `source_changed` checks — deploy's own `source_changed` race check remains — the owner-only import receive path and its `X-DeepSpace-Source-Revision` header) are removed. A claimed GitHub app's stale `space` git remote is now removed by `deploy` (the old claim command did this). Releases also record the dirty flag on commit-bearing `--no-push` deploys (`commit abc123 (dirty worktree)`), and a rollback carries its TARGET release's source evidence and dirty flag instead of losing them. App registration is also no longer an upfront step: apps register on FIRST USE. Any verb that USES the app — `secrets set`/`upload`/`pull` before the first deploy, `dev start`, `test run`, `deploy`, and `push` once the repo has commits — mints and stamps its id through the one resolver chokepoint when wrangler.toml has none (same registration `app init` performs, announced on stderr with the plane and account; the initial scaffold commit is made by `app init` and `deploy` only). A wrangler.toml whose COMMITTED content still carries the `__APP_ID__` placeholder refuses (a shared repo must not mint one app per clone), a typo'd `--env` name still refuses (`no_app_id_for_env`) — minting only fills a declared env block or the top level — and a malformed existing id still refuses (`invalid_app_id`), never minted over. Healing is scoped twice: only a wrangler.toml that DECLARES `DEEPSPACE_APP_ID` (the scaffold's placeholder) can mint — an unrelated Cloudflare Workers repo refuses as before — and only the verbs whose purpose is building or using the app register (`deploy`, `dev`, `test`, `push`, and the `secrets` WRITE verbs); read and ownership verbs (`secrets list/get/download`, `logs`, `releases`, `collaborators`, `transfer`, …) keep the `app_not_initialized` refusal rather than consuming a quota slot as a side effect. Only `app init`/`deploy` create the initial scaffold commit (the resolver never authors git commits). Dependencies also install on first use: a fresh clone's `dev`/`test`/`deploy`/`add` runs the detected package manager itself (streamed to `.deepspace/install.log`, bounded at 5 minutes, retried on the next command after a failure, `DEEPSPACE_NO_INSTALL=1` restores the old `deps_missing` refusal — note this includes workspace worktrees, which get their own install). Collaborator pushes now claim DeepSpace source like the owner's (the old owner-only claim would have left collaborator-built apps unclaimed — with claiming and pushing at the same receive path, an app with cloud history is always claimed), and inferred-GitHub evidence travels as its own field so a 0.25.0 worker's stale-base guard is never skipped by it; the retired `POST /source` answers 410 `source_inferred` instead of a misleading 404. `npm create` → any command works with no intermediate step; a logged-out scaffold exits 0; `app init` remains the explicit spelling and the only path that can replace an id (`--new-id`). `app undeploy` automation must pass `--yes` (the repo's own reaper and harness scripts updated). Consent: `app undeploy` under `--json` or a non-TTY stdin now refuses `confirmation_required` without `--yes` instead of treating the command as consent. Releases: a deploy records `sourceDirty` — whether the shipped working tree carried uncommitted changes — and `releases`/`status` label a dirty GitHub-source release (`GitHub · owner/repo, dirty worktree`), so a rollback no longer picks between clean and dirty releases blind. `push` over a dirty worktree now warns and carries `uncommitted` in `--json` (push publishes committed history only). `test accounts create` accepts `--password-stdin` (argv passwords discouraged). `test run` refuses a zombie dev server (`port_in_use`, bounded wait) instead of letting Playwright adopt a dying one mid-run. `not_app_owner` refusals name the recoveries (ask the owner, `app transfer offer`, `app init --new-id`). An unknown subcommand that exactly names a command elsewhere in the tree is suggested there (`auth status` → `status`, not `auth logout`).
43
+
3
44
  ## 0.25.0
4
45
 
5
46
  ### Minor Changes
package/README.md CHANGED
@@ -129,15 +129,16 @@ GitHub source is explicit and manual because the developer owns that repository:
129
129
  ```bash
130
130
  git remote add origin git@github.com:owner/repository.git
131
131
  git push -u origin main
132
- npx deepspace app source github
133
132
  npx deepspace deploy
134
133
  ```
135
134
 
136
- DeepSpace verifies GitHub but never writes it. Inspect or transfer authority with
137
- `deepspace app source`, `deepspace app source github`, or
138
- `deepspace app source deepspace`. Transfers mirror branches and tags before one
139
- atomic authority change; switching back uses the same commands. Commands support
140
- `--json` for agents. Use `deepspace --help`, command-specific `--help`, and the
135
+ Nothing to declare: a checkout with a GitHub remote deploys as GitHub
136
+ automatically — DeepSpace never reads or writes the GitHub repository, and
137
+ each release records which repository the checkout pointed at (and whether
138
+ the tree was dirty). The first `deepspace push` instead claims DeepSpace
139
+ source, permanently — using it is choosing it; there are no transfers.
140
+ Inspect with `deepspace app source` (read-only). Commands support `--json`
141
+ for agents. Use `deepspace --help`, command-specific `--help`, and the
141
142
  [public manual](https://docs.deep.space) for workspaces, releases, and
142
143
  rollback.
143
144
 
@@ -1274,7 +1274,7 @@ function renderInlineMarkdown(value) {
1274
1274
  import { useEffect as useEffect6, useRef as useRef5, useState as useState5 } from "react";
1275
1275
 
1276
1276
  // package.json
1277
- var version = "0.25.0";
1277
+ var version = "0.26.1";
1278
1278
 
1279
1279
  // src/documentation/runtime/navigation.tsx
1280
1280
  import { Fragment as Fragment4, jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
@@ -1954,4 +1954,4 @@ export {
1954
1954
  DefaultDocumentation,
1955
1955
  DocumentationContent
1956
1956
  };
1957
- //# sourceMappingURL=chunk-2GUGZLAX.js.map
1957
+ //# sourceMappingURL=chunk-YBXIUDZJ.js.map