@hiai-gg/hiai-docs 0.0.1 → 0.0.6
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.
- package/.github/workflows/ci.yml +114 -11
- package/Dockerfile.backend +9 -7
- package/backend/package.json +2 -2
- package/backend/src/index.ts +1 -1
- package/frontend/Dockerfile +1 -3
- package/frontend/package.json +5 -5
- package/frontend/project.inlang/settings.json +1 -1
- package/package.json +3 -3
- package/package.public.json +2 -2
- package/packages/db/package.json +1 -1
- package/packages/db/src/migrations/0000_nice_bedlam.sql +3 -0
- package/run_ci.sh +17 -0
- package/.claude/settings.local.json +0 -61
package/.github/workflows/ci.yml
CHANGED
|
@@ -29,6 +29,22 @@ jobs:
|
|
|
29
29
|
- uses: oven-sh/setup-bun@v2
|
|
30
30
|
with:
|
|
31
31
|
bun-version: latest
|
|
32
|
+
- name: Configure workspaces for CI
|
|
33
|
+
run: |
|
|
34
|
+
bun -e "
|
|
35
|
+
const fs = require('fs');
|
|
36
|
+
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
37
|
+
pkg.workspaces = pkg.workspaces.filter(w => !w.includes('hiai-ui'));
|
|
38
|
+
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
39
|
+
"
|
|
40
|
+
bun -e "
|
|
41
|
+
const fs = require('fs');
|
|
42
|
+
const pkg = JSON.parse(fs.readFileSync('frontend/package.json', 'utf8'));
|
|
43
|
+
if (pkg.dependencies && pkg.dependencies['@hiai-gg/hiai-ui']) {
|
|
44
|
+
pkg.dependencies['@hiai-gg/hiai-ui'] = '^0.0.1';
|
|
45
|
+
}
|
|
46
|
+
fs.writeFileSync('frontend/package.json', JSON.stringify(pkg, null, 2));
|
|
47
|
+
"
|
|
32
48
|
- run: bun install
|
|
33
49
|
- run: bun run lint
|
|
34
50
|
|
|
@@ -43,6 +59,22 @@ jobs:
|
|
|
43
59
|
- uses: oven-sh/setup-bun@v2
|
|
44
60
|
with:
|
|
45
61
|
bun-version: latest
|
|
62
|
+
- name: Configure workspaces for CI
|
|
63
|
+
run: |
|
|
64
|
+
bun -e "
|
|
65
|
+
const fs = require('fs');
|
|
66
|
+
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
67
|
+
pkg.workspaces = pkg.workspaces.filter(w => !w.includes('hiai-ui'));
|
|
68
|
+
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
69
|
+
"
|
|
70
|
+
bun -e "
|
|
71
|
+
const fs = require('fs');
|
|
72
|
+
const pkg = JSON.parse(fs.readFileSync('frontend/package.json', 'utf8'));
|
|
73
|
+
if (pkg.dependencies && pkg.dependencies['@hiai-gg/hiai-ui']) {
|
|
74
|
+
pkg.dependencies['@hiai-gg/hiai-ui'] = '^0.0.1';
|
|
75
|
+
}
|
|
76
|
+
fs.writeFileSync('frontend/package.json', JSON.stringify(pkg, null, 2));
|
|
77
|
+
"
|
|
46
78
|
- run: bun install
|
|
47
79
|
- run: bun run typecheck
|
|
48
80
|
|
|
@@ -86,6 +118,22 @@ jobs:
|
|
|
86
118
|
- uses: oven-sh/setup-bun@v2
|
|
87
119
|
with:
|
|
88
120
|
bun-version: latest
|
|
121
|
+
- name: Configure workspaces for CI
|
|
122
|
+
run: |
|
|
123
|
+
bun -e "
|
|
124
|
+
const fs = require('fs');
|
|
125
|
+
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
126
|
+
pkg.workspaces = pkg.workspaces.filter(w => !w.includes('hiai-ui'));
|
|
127
|
+
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
128
|
+
"
|
|
129
|
+
bun -e "
|
|
130
|
+
const fs = require('fs');
|
|
131
|
+
const pkg = JSON.parse(fs.readFileSync('frontend/package.json', 'utf8'));
|
|
132
|
+
if (pkg.dependencies && pkg.dependencies['@hiai-gg/hiai-ui']) {
|
|
133
|
+
pkg.dependencies['@hiai-gg/hiai-ui'] = '^0.0.1';
|
|
134
|
+
}
|
|
135
|
+
fs.writeFileSync('frontend/package.json', JSON.stringify(pkg, null, 2));
|
|
136
|
+
"
|
|
89
137
|
- run: bun install
|
|
90
138
|
- run: cd packages/db && bun run db:migrate
|
|
91
139
|
- run: bun run test
|
|
@@ -96,9 +144,32 @@ jobs:
|
|
|
96
144
|
docker-build:
|
|
97
145
|
name: Docker Build & Scan
|
|
98
146
|
runs-on: ubuntu-latest
|
|
147
|
+
permissions:
|
|
148
|
+
contents: read
|
|
149
|
+
security-events: write
|
|
99
150
|
steps:
|
|
100
151
|
- name: Checkout
|
|
101
152
|
uses: actions/checkout@v4
|
|
153
|
+
- name: Setup Bun
|
|
154
|
+
uses: oven-sh/setup-bun@v2
|
|
155
|
+
with:
|
|
156
|
+
bun-version: latest
|
|
157
|
+
- name: Configure workspaces for CI
|
|
158
|
+
run: |
|
|
159
|
+
bun -e "
|
|
160
|
+
const fs = require('fs');
|
|
161
|
+
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
162
|
+
pkg.workspaces = pkg.workspaces.filter(w => !w.includes('hiai-ui'));
|
|
163
|
+
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
164
|
+
"
|
|
165
|
+
bun -e "
|
|
166
|
+
const fs = require('fs');
|
|
167
|
+
const pkg = JSON.parse(fs.readFileSync('frontend/package.json', 'utf8'));
|
|
168
|
+
if (pkg.dependencies && pkg.dependencies['@hiai-gg/hiai-ui']) {
|
|
169
|
+
pkg.dependencies['@hiai-gg/hiai-ui'] = '^0.0.1';
|
|
170
|
+
}
|
|
171
|
+
fs.writeFileSync('frontend/package.json', JSON.stringify(pkg, null, 2));
|
|
172
|
+
"
|
|
102
173
|
|
|
103
174
|
# Materialise a synthetic .env so `docker compose config` resolves vars
|
|
104
175
|
- name: Prepare .env for compose validation
|
|
@@ -185,34 +256,32 @@ jobs:
|
|
|
185
256
|
|
|
186
257
|
# F) Security scan — Trivy (preferred; Docker Scout as fallback)
|
|
187
258
|
- name: Security scan with Trivy
|
|
188
|
-
uses: aquasecurity/trivy-action@
|
|
259
|
+
uses: aquasecurity/trivy-action@v0.24.0
|
|
189
260
|
with:
|
|
190
261
|
image-ref: hiai-docs/api:ci-${{ github.sha }}
|
|
191
|
-
format: "
|
|
262
|
+
format: "sarif"
|
|
192
263
|
exit-code: "0" # warn-only on PRs; tighten to "1" on protected branches
|
|
193
264
|
ignore-unfixed: true
|
|
194
265
|
vuln-type: "os,library"
|
|
195
266
|
severity: "CRITICAL,HIGH"
|
|
196
267
|
output: "trivy-api.sarif"
|
|
197
268
|
- name: Upload Trivy SARIF (backend)
|
|
198
|
-
if: always()
|
|
199
269
|
uses: github/codeql-action/upload-sarif@v3
|
|
200
270
|
with:
|
|
201
271
|
sarif_file: trivy-api.sarif
|
|
202
272
|
category: trivy-api
|
|
203
273
|
|
|
204
274
|
- name: Security scan frontend with Trivy
|
|
205
|
-
uses: aquasecurity/trivy-action@
|
|
275
|
+
uses: aquasecurity/trivy-action@v0.24.0
|
|
206
276
|
with:
|
|
207
277
|
image-ref: hiai-docs/web:ci-${{ github.sha }}
|
|
208
|
-
format: "
|
|
278
|
+
format: "sarif"
|
|
209
279
|
exit-code: "0"
|
|
210
280
|
ignore-unfixed: true
|
|
211
281
|
vuln-type: "os,library"
|
|
212
282
|
severity: "CRITICAL,HIGH"
|
|
213
283
|
output: "trivy-web.sarif"
|
|
214
284
|
- name: Upload Trivy SARIF (frontend)
|
|
215
|
-
if: always()
|
|
216
285
|
uses: github/codeql-action/upload-sarif@v3
|
|
217
286
|
with:
|
|
218
287
|
sarif_file: trivy-web.sarif
|
|
@@ -245,19 +314,49 @@ jobs:
|
|
|
245
314
|
docker push vgalibov/hiai-docs:web-${{ github.ref_name }}
|
|
246
315
|
|
|
247
316
|
# ---------------------------------------------------------------------------
|
|
248
|
-
# 5. Publish NPM — publish package `@hiai-gg/hiai-docs` to NPM
|
|
317
|
+
# 5. Publish NPM — publish package `@hiai-gg/hiai-docs` to NPM (Tokenless OIDC)
|
|
249
318
|
# ---------------------------------------------------------------------------
|
|
250
319
|
publish-npm:
|
|
251
320
|
name: Publish NPM Package
|
|
252
321
|
needs: [lint, typecheck, test, docker-build]
|
|
253
322
|
if: startsWith(github.ref, 'refs/tags/v')
|
|
254
323
|
runs-on: ubuntu-latest
|
|
324
|
+
permissions:
|
|
325
|
+
contents: write
|
|
326
|
+
id-token: write
|
|
255
327
|
steps:
|
|
256
328
|
- uses: actions/checkout@v4
|
|
329
|
+
|
|
257
330
|
- uses: oven-sh/setup-bun@v2
|
|
258
331
|
with:
|
|
259
332
|
bun-version: latest
|
|
260
333
|
|
|
334
|
+
- uses: actions/setup-node@v4
|
|
335
|
+
with:
|
|
336
|
+
node-version: "22"
|
|
337
|
+
registry-url: "https://registry.npmjs.org"
|
|
338
|
+
|
|
339
|
+
# npm OIDC trusted publishing (tokenless) requires npm >= 11.5.1.
|
|
340
|
+
- name: Upgrade npm for OIDC trusted publishing
|
|
341
|
+
run: npm install -g npm@latest
|
|
342
|
+
|
|
343
|
+
- name: Configure workspaces for CI
|
|
344
|
+
run: |
|
|
345
|
+
bun -e "
|
|
346
|
+
const fs = require('fs');
|
|
347
|
+
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
348
|
+
pkg.workspaces = pkg.workspaces.filter(w => !w.includes('hiai-ui'));
|
|
349
|
+
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
350
|
+
"
|
|
351
|
+
bun -e "
|
|
352
|
+
const fs = require('fs');
|
|
353
|
+
const pkg = JSON.parse(fs.readFileSync('frontend/package.json', 'utf8'));
|
|
354
|
+
if (pkg.dependencies && pkg.dependencies['@hiai-gg/hiai-ui']) {
|
|
355
|
+
pkg.dependencies['@hiai-gg/hiai-ui'] = '^0.0.1';
|
|
356
|
+
}
|
|
357
|
+
fs.writeFileSync('frontend/package.json', JSON.stringify(pkg, null, 2));
|
|
358
|
+
"
|
|
359
|
+
|
|
261
360
|
- name: Install dependencies
|
|
262
361
|
run: bun install
|
|
263
362
|
|
|
@@ -277,7 +376,11 @@ jobs:
|
|
|
277
376
|
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
278
377
|
"
|
|
279
378
|
|
|
280
|
-
- name: Publish to
|
|
281
|
-
run:
|
|
282
|
-
|
|
283
|
-
|
|
379
|
+
- name: Publish to npm
|
|
380
|
+
run: |
|
|
381
|
+
version=$(node -p "require('./package.json').version")
|
|
382
|
+
if npm view "@hiai-gg/hiai-docs@${version}" version >/dev/null 2>&1; then
|
|
383
|
+
echo "::notice::@hiai-gg/hiai-docs@${version} already on npm — skipping."
|
|
384
|
+
else
|
|
385
|
+
npm publish --access public --provenance --ignore-scripts
|
|
386
|
+
fi
|
package/Dockerfile.backend
CHANGED
|
@@ -2,17 +2,19 @@ FROM oven/bun:1.3.14-alpine AS base
|
|
|
2
2
|
WORKDIR /app
|
|
3
3
|
|
|
4
4
|
# --- Install dependencies ---
|
|
5
|
-
# A root install creates /app/node_modules with hoisted deps
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
# package
|
|
9
|
-
#
|
|
5
|
+
# A single root install creates /app/node_modules with hoisted deps and
|
|
6
|
+
# populates the workspace symlinks for backend/, frontend/, and packages/db/.
|
|
7
|
+
# We then run per-workspace `bun install` for backend and packages/db so each
|
|
8
|
+
# package gets its own local node_modules. Bun's bundler looks in the
|
|
9
|
+
# workspace's own node_modules first when running from that directory, so the
|
|
10
|
+
# per-workspace installs are what the build/runtime actually resolve against
|
|
11
|
+
# (with the root node_modules providing hoisted fallback for shared deps and
|
|
12
|
+
# workspace:* links like @hiai-docs/db).
|
|
10
13
|
FROM base AS deps
|
|
11
14
|
COPY package.json bun.lock* ./
|
|
12
15
|
COPY backend/package.json ./backend/
|
|
13
16
|
COPY frontend/package.json ./frontend/
|
|
14
17
|
COPY packages/db/package.json ./packages/db/
|
|
15
|
-
COPY .packages/hiai-ui /packages/hiai-ui
|
|
16
18
|
ENV BUN_INSTALL_CONCURRENCY=1
|
|
17
19
|
RUN bun install --no-verify
|
|
18
20
|
RUN bun install --cwd backend --no-verify
|
|
@@ -24,10 +26,10 @@ RUN bun install --cwd packages/db --no-verify
|
|
|
24
26
|
# pull packages/db from the build context because the deps stage only has
|
|
25
27
|
# its package.json (just enough for `bun install` to discover it).
|
|
26
28
|
FROM base AS build
|
|
29
|
+
COPY package.json tsconfig.json ./
|
|
27
30
|
COPY --from=deps /app/node_modules ./node_modules
|
|
28
31
|
COPY --from=deps /app/backend/node_modules ./backend/node_modules
|
|
29
32
|
COPY --from=deps /app/packages/db/node_modules ./packages/db/node_modules
|
|
30
|
-
COPY --from=deps /packages/hiai-ui /packages/hiai-ui
|
|
31
33
|
COPY packages/db/ ./packages/db/
|
|
32
34
|
COPY backend/src ./backend/src
|
|
33
35
|
COPY backend/tsconfig.json ./backend/
|
package/backend/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hiai-docs/backend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"dev": "bun run --watch src/index.ts",
|
|
9
|
-
"build": "bun build src/index.ts --outdir dist --target bun",
|
|
9
|
+
"build": "bun build src/index.ts --outdir dist --target bun --external drizzle-orm --external drizzle-orm/* --external postgres",
|
|
10
10
|
"start": "bun run dist/index.js",
|
|
11
11
|
"lint": "biome check src/",
|
|
12
12
|
"lint:fix": "biome check --fix src/",
|
package/backend/src/index.ts
CHANGED
|
@@ -69,7 +69,7 @@ const swaggerConfig = {
|
|
|
69
69
|
documentation: {
|
|
70
70
|
info: {
|
|
71
71
|
title: "hiai-docs API",
|
|
72
|
-
version: "0.
|
|
72
|
+
version: "0.0.6",
|
|
73
73
|
description:
|
|
74
74
|
"Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
|
|
75
75
|
contact: { name: "hiai-gg", url: "https://github.com/hiai-gg/hiai-docs" },
|
package/frontend/Dockerfile
CHANGED
|
@@ -6,18 +6,16 @@ COPY package.json bun.lock* ./
|
|
|
6
6
|
COPY frontend/package.json ./frontend/
|
|
7
7
|
COPY backend/package.json ./backend/
|
|
8
8
|
COPY packages/db/package.json ./packages/db/
|
|
9
|
-
COPY .packages/hiai-ui /packages/hiai-ui
|
|
10
9
|
ENV BUN_INSTALL_CONCURRENCY=1
|
|
11
10
|
RUN bun install --no-verify
|
|
12
|
-
RUN cd /packages/hiai-ui && bunx svelte-kit sync
|
|
13
11
|
|
|
14
12
|
# Build
|
|
15
13
|
FROM base AS build
|
|
14
|
+
COPY package.json tsconfig.json ./
|
|
16
15
|
COPY --from=deps /app/node_modules ./node_modules
|
|
17
16
|
COPY --from=deps /app/frontend/node_modules ./frontend/node_modules
|
|
18
17
|
COPY --from=deps /app/backend/node_modules ./backend/node_modules
|
|
19
18
|
COPY --from=deps /app/packages/db/node_modules ./packages/db/node_modules
|
|
20
|
-
COPY --from=deps /packages/hiai-ui /packages/hiai-ui
|
|
21
19
|
COPY frontend/ ./frontend/
|
|
22
20
|
COPY packages/db/ ./packages/db/
|
|
23
21
|
|
package/frontend/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hiai-docs/frontend",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
"preview": "vite preview",
|
|
11
11
|
"lint": "biome check src/",
|
|
12
12
|
"lint:fix": "biome check --fix src/",
|
|
13
|
-
"typecheck": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
14
|
-
"test": "bun test --path-ignore-patterns='*node_modules*' src/"
|
|
13
|
+
"typecheck": "paraglide-js compile --project ./project.inlang --outdir ./src/lib/paraglide && svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
14
|
+
"test": "paraglide-js compile --project ./project.inlang --outdir ./src/lib/paraglide && svelte-kit sync && bun test --path-ignore-patterns='*node_modules*' src/"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@hiai-gg/hiai-ui": "
|
|
17
|
+
"@hiai-gg/hiai-ui": "^0.0.1",
|
|
18
18
|
"@inlang/paraglide-js": "^2.19.0",
|
|
19
19
|
"@tiptap/core": "^3.26.1",
|
|
20
20
|
"@tiptap/extension-code-block-lowlight": "^3.26.1",
|
|
@@ -67,4 +67,4 @@
|
|
|
67
67
|
"typescript": "^5.8.0",
|
|
68
68
|
"vite": "^8.0.16"
|
|
69
69
|
}
|
|
70
|
-
}
|
|
70
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"./node_modules/@inlang/plugin-m-function-matcher/dist/index.js"
|
|
6
6
|
],
|
|
7
7
|
"plugin.inlang.messageFormat": {
|
|
8
|
-
"pathPattern": "
|
|
8
|
+
"pathPattern": "./messages/{languageTag}.json"
|
|
9
9
|
},
|
|
10
10
|
"sourceLanguageTag": "en",
|
|
11
11
|
"languageTags": ["en"]
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hiai-gg/hiai-docs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The lightweight, AI-native self-hosted knowledge base — built-in RAG, hybrid semantic search, and a clean REST API for AI agents.",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/
|
|
9
|
+
"url": "https://github.com/HiAi-gg/hiai-docs"
|
|
10
10
|
},
|
|
11
11
|
"homepage": "https://github.com/hiai-gg/hiai-docs#readme",
|
|
12
12
|
"bugs": {
|
|
@@ -36,4 +36,4 @@
|
|
|
36
36
|
"start": "docker compose up -d",
|
|
37
37
|
"stop": "docker compose down"
|
|
38
38
|
}
|
|
39
|
-
}
|
|
39
|
+
}
|
package/package.public.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hiai-gg/hiai-docs",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The lightweight, AI-native self-hosted knowledge base — built-in RAG, hybrid semantic search, and a clean REST API for AI agents.",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
9
|
-
"url": "https://github.com/
|
|
9
|
+
"url": "https://github.com/HiAi-gg/hiai-docs"
|
|
10
10
|
},
|
|
11
11
|
"homepage": "https://github.com/hiai-gg/hiai-docs#readme",
|
|
12
12
|
"bugs": {
|
package/packages/db/package.json
CHANGED
package/run_ci.sh
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
cd /mnt/ai_data/projects/hiai-docs
|
|
2
|
+
bun -e "
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const pkg = JSON.parse(fs.readFileSync('package.json', 'utf8'));
|
|
5
|
+
pkg.workspaces = pkg.workspaces.filter(w => !w.includes('hiai-ui'));
|
|
6
|
+
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
|
7
|
+
"
|
|
8
|
+
bun -e "
|
|
9
|
+
const fs = require('fs');
|
|
10
|
+
const pkg = JSON.parse(fs.readFileSync('frontend/package.json', 'utf8'));
|
|
11
|
+
if (pkg.dependencies && pkg.dependencies['@hiai-gg/hiai-ui']) {
|
|
12
|
+
pkg.dependencies['@hiai-gg/hiai-ui'] = '^0.0.1';
|
|
13
|
+
}
|
|
14
|
+
fs.writeFileSync('frontend/package.json', JSON.stringify(pkg, null, 2));
|
|
15
|
+
"
|
|
16
|
+
bun install
|
|
17
|
+
bun run test
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(git mv *)",
|
|
5
|
-
"Bash(echo \"rm exit: $?\")",
|
|
6
|
-
"Bash(sudo rm -rf .svelte-kit/types)",
|
|
7
|
-
"Bash(echo \"exit $?\")",
|
|
8
|
-
"Bash(docker exec *)",
|
|
9
|
-
"Bash(curl -fsS -o /dev/null -w \"frontend:%{http_code}\\\\n\" http://localhost:50701/)",
|
|
10
|
-
"Bash(curl -fsS -o /dev/null -w \"api-health:%{http_code}\\\\n\" http://localhost:50700/api/health)",
|
|
11
|
-
"Bash(bunx @biomejs/biome check --max-diagnostics=none 'frontend/src/routes/\\(app\\)/+page.svelte' 'frontend/src/routes/\\(app\\)/docs/[id]/+page.svelte' frontend/src/lib/components/sidebar/TagList.svelte frontend/src/lib/components/sidebar/RecentDocs.svelte frontend/src/lib/stores/tag-store.svelte.ts frontend/src/lib/components/editor/EditorToolbar.svelte frontend/src/lib/components/editor/LinkDialog.svelte frontend/src/lib/api/settings.ts backend/src/api/routes/attachments.ts backend/src/api/routes/documents.ts)",
|
|
12
|
-
"mcp__plugin_playwright_playwright__browser_navigate",
|
|
13
|
-
"Bash(timeout 300 bunx playwright install chromium)",
|
|
14
|
-
"Bash(timeout 300 bunx playwright install chrome)",
|
|
15
|
-
"Bash(curl -s -o /dev/null -w \"GET /api/health -> %{http_code}\\\\n\" http://localhost:50700/api/health)",
|
|
16
|
-
"Bash(curl -s -o /dev/null -w \"GET /api/auth/get-session -> %{http_code}\\\\n\" http://localhost:50700/api/auth/get-session)",
|
|
17
|
-
"Bash(curl -s -o /dev/null -w \"GET /api/attachments/00000000-0000-0000-0000-000000000000/raw -> %{http_code} \\(404=route exists, no such id\\)\\\\n\" http://localhost:50700/api/attachments/00000000-0000-0000-0000-000000000000/raw)",
|
|
18
|
-
"Bash(curl -s -o /dev/null -w \"GET /api/documents \\(no auth\\) -> %{http_code} \\(401 expected\\)\\\\n\" http://localhost:50700/api/documents)",
|
|
19
|
-
"Bash(timeout 180 bun add --cwd frontend @tiptap/extension-table@^3.26.1)",
|
|
20
|
-
"Bash(timeout 180 bun add --cwd frontend @tiptap/extension-table@3.26.1)",
|
|
21
|
-
"Bash(curl -s -o /dev/null -w \"/register -> %{http_code}\\\\n\" http://localhost:50701/register)",
|
|
22
|
-
"Bash(curl -s -o /dev/null -w \"/docs/probe -> %{http_code}\\\\n\" http://localhost:50701/docs/00000000-0000-0000-0000-000000000000)",
|
|
23
|
-
"Bash(rm -f cj.txt img.png got_proxy.bin got_direct.bin)",
|
|
24
|
-
"Bash(curl -s -c cj.txt -b cj.txt -X POST http://localhost:50701/api/auth/sign-up/email -H 'Content-Type: application/json' -d '{\"name\":\"Img Test\",\"email\":\"__TRACKED_VAR__\",\"password\":\"password12345\"}' -w '\\\\nHTTP %{http_code}\\\\n')",
|
|
25
|
-
"Bash(curl -s -o /dev/null -w \"/search -> %{http_code}\\\\n\" \"http://localhost:50701/search?q=test\")",
|
|
26
|
-
"Bash(curl -s -o /dev/null -w \"/ \\(dash\\) -> %{http_code}\\\\n\" http://localhost:50701/)",
|
|
27
|
-
"Bash(curl -s -o /dev/null -w \"/ -> %{http_code}\\\\n\" http://localhost:50701/)",
|
|
28
|
-
"Bash(curl -s -o /dev/null -w \"/login -> %{http_code}\\\\n\" http://localhost:50701/login)",
|
|
29
|
-
"Bash(curl -s \"http://localhost:50701/api/share/PnWzf7hNeAZA_Aqdntkl3\")",
|
|
30
|
-
"Bash(python3 -c ' *)",
|
|
31
|
-
"Bash(git checkout *)",
|
|
32
|
-
"Bash(grep -n '>Import<\\\\|Import$\\\\|>All<\\\\|All$\\\\|<Upload' \"frontend/src/routes/\\(app\\)/+page.svelte\")",
|
|
33
|
-
"Bash(git --no-pager diff stash@{0} -- \"frontend/src/routes/\\(app\\)/docs/[id]/+page.svelte\")",
|
|
34
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- \":\\(literal\\)frontend/src/routes/\\(app\\)/docs/[id]/+page.svelte\")",
|
|
35
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- backend/src/api/routes/documents.ts)",
|
|
36
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- frontend/package.json)",
|
|
37
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- backend/src/lib/auth.ts)",
|
|
38
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- backend/src/lib/config.ts)",
|
|
39
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- frontend/src/routes/+layout.svelte)",
|
|
40
|
-
"Bash(git --no-pager diff \"stash@{0}\" -- frontend/src/routes/settings/+page.svelte)",
|
|
41
|
-
"Bash(grep -iE \"\\\\.env|secret|credential|\\\\.pem|\\\\.key$|id_rsa\")",
|
|
42
|
-
"Bash(git rm *)",
|
|
43
|
-
"Bash(awk '{print $NF}')",
|
|
44
|
-
"Bash(grep -ivE \"change-me|process\\\\.env|envSchema|z\\\\.string|placeholder|example|//|\\\\*|_SECRET=|_KEY=|_PASSWORD=|aipassword|minioadmin|description:|api-key-user|API_KEY=$|SECRET=change\")",
|
|
45
|
-
"Bash(grep -iE \"\\\\.env$|secret|\\\\.pem|\\\\.key$|credential\")",
|
|
46
|
-
"Bash(curl -s -o /dev/null -w \"/docs test -> %{http_code}\\\\n\" \"http://localhost:50701/docs/test\")",
|
|
47
|
-
"Bash(grep -n \"^## \\\\|^---$\" README.md)"
|
|
48
|
-
]
|
|
49
|
-
},
|
|
50
|
-
"enabledMcpjsonServers": [
|
|
51
|
-
"playwright",
|
|
52
|
-
"stitch",
|
|
53
|
-
"sequential-thinking",
|
|
54
|
-
"firecrawl",
|
|
55
|
-
"rag",
|
|
56
|
-
"context7",
|
|
57
|
-
"mempalace",
|
|
58
|
-
"websearch",
|
|
59
|
-
"grep_app"
|
|
60
|
-
]
|
|
61
|
-
}
|