Skip to content

Commit 9dae237

Browse files
committed
feat: add shared Project files
Reuse entity-owned file operations across Project UI, session APIs, v2/CLI, and delegated Mothership callers. Add Project discovery, sharing, history, copy, collaborative editing, and current-access invalidation while preserving workspace execution boundaries and independent creator/payer attribution. Keep activation gated behind the file-ownership compatibility foundation. Run real HTTP suites through disposable fixture orchestration in CI.
1 parent 9a1af75 commit 9dae237

450 files changed

Lines changed: 45609 additions & 6551 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/workflows/test-build.yml‎

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,8 +128,17 @@ jobs:
128128
http-e2e:
129129
name: End-to-end over real HTTP
130130
runs-on: ${{ (vars.CI_PROVIDER == '' || vars.CI_PROVIDER == 'blacksmith') && 'blacksmith-8vcpu-ubuntu-2404' || 'ubuntu-latest' }}
131-
timeout-minutes: 20
131+
timeout-minutes: 40
132132
services:
133+
redis:
134+
image: redis:8.2-alpine
135+
ports:
136+
- 6379:6379
137+
options: >-
138+
--health-cmd "redis-cli ping"
139+
--health-interval 5s
140+
--health-timeout 5s
141+
--health-retries 10
133142
postgres:
134143
image: pgvector/pgvector:pg17
135144
env:
@@ -258,6 +267,22 @@ jobs:
258267
VERSION_COMPARE_E2E_REPORT_PATH="$report_dir/version-compare-http-report.json" \
259268
bun run test:workflow-version-compare:e2e
260269
270+
- name: Prepare the pinned local document engine
271+
run: |
272+
addon_dir="$(node -p 'require("node:path").dirname(require.resolve("isolated-vm/package.json", { paths: ["./apps/sim"] }))')"
273+
cd "$addon_dir"
274+
bun run install
275+
276+
- name: Verify Project files, public delivery and list subscriptions over real HTTP
277+
working-directory: apps/sim
278+
env:
279+
PROJECT_FILES_E2E_ADMIN_DATABASE_URL: postgresql://postgres:postgres@127.0.0.1:5432/postgres
280+
PROJECT_FILES_E2E_REDIS_URL: redis://127.0.0.1:6379
281+
PROJECT_FILES_E2E_BASE_URL: http://127.0.0.1:3050
282+
PROJECT_FILES_E2E_RELAY_URL: http://127.0.0.1:3052
283+
PROJECT_FILES_E2E_REPORT_PATH: ${{ runner.temp }}/e2e/project-files/orchestration.json
284+
run: bun --no-env-file scripts/test-project-files-e2e.ts
285+
261286
- name: Upload end-to-end reports and server logs
262287
if: failure()
263288
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4

‎apps/docs/content/docs/cli/commands.mdx‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ These apply to every command, and may be written before or after it.
4747
| [`sim meta`](/cli/meta) | Manage meta |
4848
| [`sim organizations`](/cli/organizations) | Manage organizations |
4949
| [`sim permission-groups`](/cli/permission-groups) | Manage permission groups |
50+
| [`sim projects`](/cli/projects) | Manage projects |
5051
| [`sim sandboxes`](/cli/sandboxes) | Manage sandboxes |
5152
| [`sim secrets`](/cli/secrets) | Manage secrets |
5253
| [`sim selectors`](/cli/selectors) | Manage selectors |

‎apps/docs/content/docs/cli/files.mdx‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,25 @@ sim files batch-delete [options]
2626

2727
</CommandTable>
2828

29+
## Copy file items
30+
31+
```bash
32+
sim files copy [options]
33+
```
34+
35+
Copy File Items (OAuth login or personal API key required)
36+
37+
**Options**
38+
39+
<CommandTable>
40+
41+
| Option | Required | Description |
42+
| --- | --- | --- |
43+
| `--source <json\|@file>` | Yes | Source owner and selected fileIds or folderIds (JSON, or @path / @- to read a file or stdin). |
44+
| `--destination <json\|@file>` | Yes | Destination owner and optional folderId (JSON, or @path / @- to read a file or stdin). |
45+
46+
</CommandTable>
47+
2948
## Create file
3049

3150
```bash

‎apps/docs/content/docs/cli/meta.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
"meta",
3131
"organizations",
3232
"permission-groups",
33+
"projects",
3334
"sandboxes",
3435
"secrets",
3536
"selectors",

0 commit comments

Comments
 (0)