forked from farhoodlabs/paperclip
eb38b226c2
## Thinking Path > - Paperclip orchestrates AI agents for zero-human companies. > - Plugins extend the control plane with optional capabilities such as LLM Wiki. > - LLM Wiki needs its package assets and plugin-owned database migrations to work when installed from the packaged plugin. > - The bundled spaces migration used validation-hostile dynamic SQL, and the packaged plugin could omit non-dist runtime assets. > - This pull request makes the LLM Wiki package include its required assets and cuts the spaces migration over to explicit, idempotent SQL that passes the production plugin database validator. > - The benefit is a simpler plugin install path that validates and applies the bundled LLM Wiki migrations without adding plugin-specific legacy handling to Paperclip core. ## What Changed - Added the LLM Wiki package asset allowlist so agents, migrations, skills, templates, dist output, and README are included when packaged. - Renamed the bootstrap `.gitignore` template to `gitignore.template` and updated the runtime lookup so package tooling does not drop the hidden template file. - Relaxed plugin migration validation to allow namespace-scoped `INSERT`/`UPDATE` backfills and `CREATE INDEX` statements while continuing to reject destructive or cross-namespace SQL. - Replaced the LLM Wiki spaces migration's dynamic constraint-drop DO block with explicit `DROP CONSTRAINT IF EXISTS` statements. - Replaced fragile regex-source dispatch in SQL reference extraction with explicit capture-group descriptors. - Added regression coverage that applies the bundled LLM Wiki migrations through the production validator and checks the expected constraints. ## Verification - `pnpm exec vitest run --project @paperclipai/server server/src/__tests__/plugin-database.test.ts --pool=forks --poolOptions.forks.isolate=true` - `pnpm --filter @paperclipai/plugin-llm-wiki build` - `git diff --check` - Confirmed `pnpm-lock.yaml` is not included in the branch diff. ## Risks - Low migration risk for current users: LLM Wiki spaces are new, so this intentionally cuts over the plugin migration instead of adding legacy handling in core. - Validator behavior is broader than before, but still requires fully qualified plugin namespace targets, blocks deletes/destructive DDL, and keeps public table access read-only and allowlisted. > Checked [`ROADMAP.md`](ROADMAP.md); this is a targeted plugin packaging/migration fix and does not duplicate planned core feature work. See `CONTRIBUTING.md`. ## Model Used - OpenAI Codex, GPT-5 based coding agent, tool-enabled local repo access, reasoning mode managed by the Paperclip/Codex runtime. Exact context window was not surfaced in this session. ## Checklist - [x] I have included a thinking path that traces from project context to this change - [x] I have specified the model used (with version and capability details) - [x] I have checked ROADMAP.md and confirmed this PR does not duplicate planned core work - [x] I have run tests locally and they pass - [x] I have added or updated tests where applicable - [x] If this change affects the UI, I have included before/after screenshots - [x] I have updated relevant documentation to reflect my changes - [x] I have considered and documented any risks above - [x] I will address all Greptile and reviewer comments before requesting merge --------- Co-authored-by: Paperclip <noreply@paperclip.ing>
56 lines
1.5 KiB
JSON
56 lines
1.5 KiB
JSON
{
|
|
"name": "@paperclipai/plugin-llm-wiki",
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"private": true,
|
|
"description": "Local-file LLM Wiki plugin for source ingestion, wiki browsing, query, lint, and maintenance workflows.",
|
|
"files": [
|
|
"agents",
|
|
"dist",
|
|
"migrations",
|
|
"skills",
|
|
"templates",
|
|
"README.md"
|
|
],
|
|
"scripts": {
|
|
"prebuild": "pnpm --filter @paperclipai/plugin-sdk ensure-build-deps",
|
|
"build": "node ./esbuild.config.mjs",
|
|
"build:rollup": "rollup -c",
|
|
"dev": "node ./esbuild.config.mjs --watch",
|
|
"dev:ui": "paperclip-plugin-dev-server --root . --ui-dir dist/ui --port 4177",
|
|
"test": "vitest run --config ./vitest.config.ts",
|
|
"typecheck": "pnpm --filter @paperclipai/plugin-sdk ensure-build-deps && tsc --noEmit"
|
|
},
|
|
"paperclipPlugin": {
|
|
"manifest": "./dist/manifest.js",
|
|
"worker": "./dist/worker.js",
|
|
"ui": "./dist/ui/"
|
|
},
|
|
"keywords": [
|
|
"paperclip",
|
|
"plugin",
|
|
"automation",
|
|
"wiki",
|
|
"knowledge"
|
|
],
|
|
"author": "Paperclip",
|
|
"license": "MIT",
|
|
"devDependencies": {
|
|
"@paperclipai/plugin-sdk": "workspace:*",
|
|
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
"@rollup/plugin-typescript": "^12.1.2",
|
|
"@types/node": "^24.6.0",
|
|
"@types/react": "^19.0.8",
|
|
"@types/react-dom": "^19.0.3",
|
|
"esbuild": "^0.27.3",
|
|
"react-dom": "^19.0.0",
|
|
"rollup": "^4.38.0",
|
|
"tslib": "^2.8.1",
|
|
"typescript": "^5.7.3",
|
|
"vitest": "^3.0.5"
|
|
},
|
|
"peerDependencies": {
|
|
"react": ">=18"
|
|
}
|
|
}
|