Commit Graph

113 Commits

Author SHA1 Message Date
Dotta
e835c5cee9 Fix cursor model defaults and add dynamic model discovery 2026-03-05 07:52:23 -06:00
Dotta
67eb5e5734 Limit session reset to assignment wakes only 2026-03-05 07:39:30 -06:00
Dotta
758a5538c5 Improve 500 error logging with actual error details and correct log levels
pino-http was logging 500s at INFO level with a generic "failed with status
code 500" message. Now 500s log at ERROR level and include the actual error
(message, stack, name) via res.locals handoff from the error handler.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 07:39:05 -06:00
Dotta
3ae112acff Improve OpenCode auth diagnostics for model lookup failures 2026-03-05 07:29:31 -06:00
Dotta
9454f76c0c Fix issue active-run fallback to match issue context 2026-03-05 07:27:48 -06:00
Dotta
944263f44b Reset sessions for comment-triggered wakeups 2026-03-05 07:10:24 -06:00
Dotta
306cd65353 Reset task session on issue assignment wakes 2026-03-05 06:54:36 -06:00
Dotta
8a85173150 feat: add cursor local adapter across server ui and cli 2026-03-05 06:31:22 -06:00
Dotta
b4a02ebc3f Improve workspace fallback logging and session resume migration 2026-03-05 06:14:32 -06:00
Dotta
c145074daf Add configurable automatic database backup scheduling 2026-03-04 18:03:23 -06:00
Dotta
f6a09bcbea feat: add opencode local adapter support 2026-03-04 16:48:54 -06:00
Dotta
be50daba42 Add OpenClaw onboarding text endpoint and join smoke harness 2026-03-04 16:29:14 -06:00
Dotta
358467a506 chore: release v0.2.7 2026-03-04 14:51:33 -06:00
Dotta
b198b4a02c fix(server): require embedded-postgres for embedded DB mode 2026-03-04 14:46:03 -06:00
Dotta
5dffdbb382 chore: release v0.2.6 2026-03-04 10:24:03 -06:00
Dotta
ea637110ac Add Ubuntu onboard smoke flow and lazy-load auth startup 2026-03-04 10:15:11 -06:00
Dotta
3ae9d95354 fix: stabilize paperclipai run server import errors 2026-03-04 10:02:23 -06:00
Dotta
6141d5c3f2 chore: release v0.2.5
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:14:33 -06:00
Dotta
ab3b9ab19f chore: bump all packages to 0.2.4
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:10:52 -06:00
Dotta
f4a5b00116 fix: bundle skills directory into npm packages for runtime discovery
The claude-local, codex-local adapters and the server all resolve a
skills/ directory using __dirname-relative paths that only work inside
the monorepo.  When installed from npm the paths point outside the
package and cause ENOENT on readdir/readFile.

- Update both adapter execute.ts files to try a published-path
  candidate (../../skills from dist/) before falling back to the
  monorepo dev path (../../../../../skills from src/).
- Update server readSkillMarkdown() to try the published path first.
- Add "skills" to the files array in server, claude-local, and
  codex-local package.json so npm includes them.
- Update release.sh to copy the repo-root skills/ into each package
  before publish, and clean up after.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:06:12 -06:00
Dotta
d18312d6de fix: bundle UI dist into server package for npm publishing
The server's static-ui mode resolves the UI dist path relative to its
own directory. In the monorepo it finds ../../ui/dist, but when published
to npm the UI package isn't available.

- server/src/app.ts: try ../ui-dist (published) then ../../ui/dist (dev),
  gracefully degrade to API-only if neither exists
- server/package.json: include ui-dist/ in published files
- scripts/release.sh: build UI and copy dist to server/ui-dist before
  publishing, clean up in restore step

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 15:45:45 -06:00
Dotta
28bf5e9e9b chore: release v0.2.3 2026-03-03 15:39:13 -06:00
Dotta
b2737b9571 chore: release v0.2.2 2026-03-03 15:10:25 -06:00
Dotta
52e936a770 chore: bump all packages to 0.2.1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 15:08:09 -06:00
Dotta
24b393b08f fix: release script grep -P macOS compat and CLI typecheck actor errors
- Replace grep -P (Perl regex, unavailable on macOS) with sed for
  extracting the CLI version string in release.sh
- Add triple-slash reference to server/src/types/express.d.ts in
  server/src/index.ts so CLI's tsc picks up the Express Request
  augmentation when following workspace links

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:58:55 -06:00
Dotta
defccdd4d9 feat: integrate Changesets for multi-package npm publishing
Migrate from single-bundle CLI publishing to publishing all @paperclipai/*
packages individually via Changesets. This fixes the "Cannot find package
@paperclipai/server" error when installing from npm.

Changes:
- Add @changesets/cli with fixed versioning (all packages share version)
- Make 7 packages publishable (shared, adapter-utils, db, 3 adapters, server)
- Add build scripts, publishConfig, and files fields to all packages
- Mark @paperclipai/server as external in CLI esbuild config
- Simplify CLI importServerEntry() to use string-literal dynamic import
- Add generate-npm-package-json support for external workspace packages
- Create scripts/release.sh for one-command releases
- Remove old bump-and-publish.sh and version-bump.sh
- All packages start at version 0.2.0

Usage: ./scripts/release.sh patch|minor|major [--dry-run]

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 14:46:16 -06:00
Dotta
e3f0f9981b Delay first timer heartbeat until interval elapses 2026-03-03 13:39:03 -06:00
Dotta
778fc3416f Fix agent API URL injection for auto-selected server ports 2026-03-03 13:13:47 -06:00
Dotta
0810101fda Set codex-local creation defaults for model and sandbox bypass 2026-03-03 12:41:50 -06:00
Dotta
8351f7f1bd Auto-create missing cwd for claude_local and codex_local 2026-03-03 12:29:32 -06:00
Dotta
82c3080525 Fix issue live-run routes bypassing agent id normalizer 2026-03-03 12:00:03 -06:00
Dotta
5f37b70be5 ui/server: start no-company flow in onboarding and remove auto-seed 2026-03-03 11:25:56 -06:00
Dotta
4292c28654 feat: auto-open browser after onboard completes
Set PAPERCLIP_OPEN_ON_LISTEN env flag when onboard triggers a run, and
open the browser to the UI URL once the server starts listening. Uses
the `open` package for cross-platform browser launching.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 11:22:18 -06:00
Dotta
996a6fcd57 server: seed first company and inline startup log fields 2026-03-03 11:11:04 -06:00
Dotta
11d42256a8 server: buffer embedded postgres logs and simplify startup message 2026-03-03 10:56:07 -06:00
Dotta
c77e2b3c19 server: auto-apply embedded postgres migrations on first run 2026-03-03 10:49:18 -06:00
Dotta
20737e2a11 cli/server: harden run startup for port conflicts and entrypoint loading 2026-03-03 10:41:31 -06:00
Dotta
f60c1001ec refactor: rename packages to @paperclipai and CLI binary to paperclipai
Rename all workspace packages from @paperclip/* to @paperclipai/* and
the CLI binary from `paperclip` to `paperclipai` in preparation for
npm publishing. Bump CLI version to 0.1.0 and add package metadata
(description, keywords, license, repository, files). Update all
imports, documentation, user-facing messages, and tests accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 08:45:26 -06:00
Dotta
dab5737b41 feat(agents): resolve agent shortnames to UUIDs in route params
Add router.param middleware that normalizes agent references, allowing
shortnames to be used in place of UUIDs in agent API routes. Includes
company-scoped lookup with ambiguity detection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:02:08 -06:00
Dotta
90dfa2e9cd feat(auth): add get-session endpoint and harden session resolution
Add /api/auth/get-session for board actors to retrieve their session
info. Wrap resolveSession in try/catch to prevent unhandled errors from
crashing requests when auth headers are missing or malformed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:02:01 -06:00
Dotta
ae5c85adb9 feat(agents): sort recent issues by most recent activity including comments
Update addComment to touch issue updatedAt so comment activity is
reflected in recency sorting. Sort assigned issues on agent detail
page by updatedAt desc so the most recently active issues appear first.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 16:55:37 -06:00
Dotta
83be94361c feat(core): merge backup core changes with post-split functionality 2026-03-02 16:43:59 -06:00
Dotta
bcc64f6533 feat: agent instructions path API with chain-of-command authz
Add PATCH /agents/:id/instructions-path endpoint for setting or clearing
an agent's instructions file path. Supports relative path resolution
against adapterConfig.cwd. Enforce chain-of-command authorization —
only the agent itself, board members, or ancestor managers can update.
Guard instructions path keys in the general agent update endpoint too.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:21:24 -06:00
Dotta
633885b57a fix: remove stale port 5173 references from board mutation guard
Update dev origin allowlist and tests to use port 3100 only, matching
the unified dev server setup. Fix AGENTS.md and README accordingly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:21:09 -06:00
Dotta
ff472af343 feat: project workspace clear/update UX and creation docs
Add granular workspace management — clear local folder or repo URL
independently instead of deleting the whole workspace. Fix project
create route typing. Document inline workspace creation in API docs
and skill references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:21:03 -06:00
Dotta
ba388dc382 feat: create project workspace alongside project in single request
Allow passing an optional workspace object when creating a project,
creating both the project and its workspace in one API call.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:32:31 -06:00
Dotta
2488dc703c feat: @project mentions with colored chips in markdown and editors
Add project mention system using project:// URI scheme with optional
color parameter. Mentions render as colored pill chips in markdown
bodies and the WYSIWYG editor. Autocomplete in editors shows both
agents and projects. Server extracts mentioned project IDs from issue
content and returns them in the issue detail response.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 13:31:58 -06:00
Forgotten
ce3b31d2c3 feat: prune default values from company portability exports
Add default-value pruning for runtime config and adapter config during
export, producing cleaner bundles. Includes per-adapter defaults for
claude_local, codex_local, and openclaw.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 10:31:48 -06:00
Forgotten
cc2c724ad2 feat: company portability — export/import companies and agents
Add company export, import preview, and import endpoints with manifest-
based bundle format. Includes URL key utilities for agents and projects,
collision detection/rename strategies, and secret requirement tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 09:06:58 -06:00
Forgotten
e7de580aba fix: remove personal path from codex adapter test fixture
Replace personal home directory path with generic /home/user/project/... path
in test data to avoid leaking usernames into the repository.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 08:58:02 -06:00