Skip to content

Commit dd8091f

Browse files
authored
Rebase onto upstream/master (2026-06-24) (#191)
Incorporated 19 upstream commits (cd38c15..ef37203): - External object references across issue surfaces (paperclipai#8512) - fix: upstream deployed document-comment, routine-annotation, workspace & board-polling fixes (paperclipai#8536) - feat(control-plane): add annotation and workspace controls (paperclipai#8229) - build(deps): bump hermes-paperclip-adapter from 0.2.0 to 0.3.0 (paperclipai#8463) - build(deps): bump lucide-react from 0.574.0 to 0.577.0 (paperclipai#8467) - build(deps): bump @agentclientprotocol/claude-agent-acp from 0.47.0 to 0.48.0 (paperclipai#8469) - build(deps): bump actions/checkout from 6 to 7 (paperclipai#8461) - build(deps): bump @codemirror/view from 6.39.15 to 6.43.1 (paperclipai#8468) - build(deps): bump @cursor/sdk from 1.0.18 to 1.0.19 (paperclipai#8462) - build(deps): bump tailwind-merge from 3.4.1 to 3.6.0 (paperclipai#8465) - build(deps-dev): bump esbuild from 0.28.0 to 0.28.1 (paperclipai#8470) - build(deps): bump better-auth from 1.4.18 to 1.6.20 (paperclipai#8464) - build(deps): align react-dom with react@19.2.7 (paperclipai#8557) - fix(deps): regenerate lockfile so react/react-dom resolve to 19.2.7 (paperclipai#8559) - build(deps-dev): bump @storybook/addon-docs from 10.3.5 to 10.4.6 (paperclipai#8466) - Fix Daytona resource overrides for image-backed sandboxes (paperclipai#8564) - fix: default Daytona sandboxes to auto-archive so they leave the disk quota (paperclipai#8561) - fix(openclaw-gateway): drop root paperclip params (paperclipai#4416) - perf(ci): build standalone public packages concurrently (paperclipai#8567) No merge conflicts.
1 parent 61aa513 commit dd8091f

193 files changed

Lines changed: 13458 additions & 888 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/agent-runtime-images.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
build-and-sign:
3030
runs-on: ubuntu-22.04
3131
steps:
32-
- uses: actions/checkout@v6
32+
- uses: actions/checkout@v7
3333

3434
- name: Set up QEMU (multi-arch builds)
3535
uses: docker/setup-qemu-action@v3

.github/workflows/commitperclip-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
timeout-minutes: 5
2020
steps:
2121
- name: Checkout base branch (never PR code)
22-
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
22+
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
2323
with:
2424
ref: main
2525

.github/workflows/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
cancel-in-progress: true
2525
steps:
2626
- name: Checkout
27-
uses: actions/checkout@v6
27+
uses: actions/checkout@v7
2828

2929
- name: Login to GitHub Container Registry
3030
uses: docker/login-action@v4

.github/workflows/e2e.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
PAPERCLIP_E2E_SKIP_LLM: ${{ inputs.skip_llm && 'true' || 'false' }}
1717
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
1818
steps:
19-
- uses: actions/checkout@v6
19+
- uses: actions/checkout@v7
2020

2121
- uses: pnpm/action-setup@v6
2222
with:

.github/workflows/pr.yml

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
steps:
2121
- name: Checkout repository
22-
uses: actions/checkout@v6
22+
uses: actions/checkout@v7
2323
with:
2424
fetch-depth: 0
2525

@@ -59,6 +59,9 @@ jobs:
5959
- name: Test general-server shard partition
6060
run: node --test ./scripts/__tests__/run-vitest-stable-shard.test.mjs
6161

62+
- name: Test standalone package build concurrency
63+
run: node --test ./scripts/__tests__/build-standalone-concurrency.test.mjs
64+
6265
- name: Validate release package manifest
6366
run: node ./scripts/release-package-map.mjs check
6467

@@ -101,7 +104,7 @@ jobs:
101104

102105
steps:
103106
- name: Checkout repository
104-
uses: actions/checkout@v6
107+
uses: actions/checkout@v7
105108

106109
- name: Setup pnpm
107110
uses: pnpm/action-setup@v6
@@ -161,7 +164,7 @@ jobs:
161164

162165
steps:
163166
- name: Checkout repository
164-
uses: actions/checkout@v6
167+
uses: actions/checkout@v7
165168

166169
- name: Setup pnpm
167170
uses: pnpm/action-setup@v6
@@ -220,7 +223,7 @@ jobs:
220223

221224
steps:
222225
- name: Checkout repository
223-
uses: actions/checkout@v6
226+
uses: actions/checkout@v7
224227

225228
- name: Setup pnpm
226229
uses: pnpm/action-setup@v6
@@ -270,7 +273,7 @@ jobs:
270273

271274
steps:
272275
- name: Checkout repository
273-
uses: actions/checkout@v6
276+
uses: actions/checkout@v7
274277

275278
- name: Setup pnpm
276279
uses: pnpm/action-setup@v6
@@ -304,7 +307,7 @@ jobs:
304307

305308
steps:
306309
- name: Checkout repository
307-
uses: actions/checkout@v6
310+
uses: actions/checkout@v7
308311

309312
- name: Setup pnpm
310313
uses: pnpm/action-setup@v6
@@ -358,7 +361,7 @@ jobs:
358361

359362
steps:
360363
- name: Checkout repository
361-
uses: actions/checkout@v6
364+
uses: actions/checkout@v7
362365

363366
- name: Setup pnpm
364367
uses: pnpm/action-setup@v6

.github/workflows/refresh-lockfile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020

2121
steps:
2222
- name: Checkout repository
23-
uses: actions/checkout@v6
23+
uses: actions/checkout@v7
2424

2525
- name: Setup pnpm
2626
uses: pnpm/action-setup@v6

.github/workflows/release-smoke.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242

4343
steps:
4444
- name: Checkout repository
45-
uses: actions/checkout@v6
45+
uses: actions/checkout@v7
4646

4747
- name: Setup pnpm
4848
uses: pnpm/action-setup@v6

.github/workflows/release.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535

3636
steps:
3737
- name: Checkout repository
38-
uses: actions/checkout@v6
38+
uses: actions/checkout@v7
3939
with:
4040
fetch-depth: 0
4141

@@ -77,7 +77,7 @@ jobs:
7777

7878
steps:
7979
- name: Checkout repository
80-
uses: actions/checkout@v6
80+
uses: actions/checkout@v7
8181
with:
8282
fetch-depth: 0
8383

@@ -129,7 +129,7 @@ jobs:
129129

130130
steps:
131131
- name: Checkout repository
132-
uses: actions/checkout@v6
132+
uses: actions/checkout@v7
133133
with:
134134
fetch-depth: 0
135135
ref: ${{ inputs.source_ref }}
@@ -170,7 +170,7 @@ jobs:
170170

171171
steps:
172172
- name: Checkout repository
173-
uses: actions/checkout@v6
173+
uses: actions/checkout@v7
174174
with:
175175
fetch-depth: 0
176176
ref: ${{ inputs.source_ref }}
@@ -214,7 +214,7 @@ jobs:
214214

215215
steps:
216216
- name: Checkout repository
217-
uses: actions/checkout@v6
217+
uses: actions/checkout@v7
218218
with:
219219
fetch-depth: 0
220220
ref: ${{ inputs.source_ref }}

cli/src/__tests__/worktree.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ describe("worktree helpers", () => {
874874
}
875875
});
876876

877-
it("reseed preserves the current worktree ports, instance id, and branding", async () => {
877+
itEmbeddedPostgres("reseed preserves the current worktree ports, instance id, and branding", async () => {
878878
const tempRoot = fs.mkdtempSync(path.join(os.tmpdir(), "paperclip-worktree-reseed-"));
879879
const repoRoot = path.join(tempRoot, "repo");
880880
const sourceRoot = path.join(tempRoot, "source");
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# External Object Reference Backfill
2+
3+
## Purpose
4+
5+
Backfill existing issue titles, descriptions, comments, and documents into `external_object_mentions` after the Phase 3 detector registry and mention sync service exist.
6+
7+
## Command Shape
8+
9+
Add a command parallel to the internal issue-reference backfill:
10+
11+
```sh
12+
pnpm external-objects:backfill
13+
pnpm external-objects:backfill -- --company <company-id>
14+
pnpm external-objects:backfill -- --dry-run
15+
```
16+
17+
## Required Behavior
18+
19+
- Scan issue title and description sources, issue comments, and issue documents through the same external-object mention sync service used by write hooks.
20+
- Preserve company boundaries: every scan query, mention upsert, object upsert, and dry-run summary must include `company_id`.
21+
- Use shared URL extraction and canonicalization helpers so raw URLs, URL userinfo, query strings, and fragments are never persisted.
22+
- Replace mentions per source instead of appending, using the same source key shape as live write sync.
23+
- Report counts by company, source kind, provider key, object type, skipped userinfo URLs, and unresolved URLs.
24+
- Default to a non-interactive safe run; `--dry-run` must avoid writes while still reporting what would change.
25+
26+
## Phase 3 Hook
27+
28+
The command should be implemented only after the detector registry can classify URLs and the service can upsert mentions/placeholders consistently. Until then, Phase 2 owns the schema and shared helpers that make the command safe.

0 commit comments

Comments
 (0)