@foundation0/git 1.0.0 → 1.2.1
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/{packages/git/README.md → README.md} +14 -5
- package/{packages/git/mcp → mcp}/README.md +3 -1
- package/{packages/git/mcp → mcp}/cli.mjs +0 -0
- package/package.json +43 -13
- package/{packages/git/src → src}/git-service-api.ts +3 -0
- package/{packages/git/src → src}/index.ts +8 -0
- package/src/label-management.ts +587 -0
- package/src/platform/config.ts +60 -0
- package/.codex.example/config.toml +0 -10
- package/.env.example +0 -10
- package/packages/fs/README.md +0 -47
- package/packages/fs/node_modules/.bin/f0-git-mcp +0 -21
- package/packages/fs/node_modules/.bin/f0-git-mcp-server +0 -21
- package/packages/fs/node_modules/.bin/f0-git-mcp-server.CMD +0 -12
- package/packages/fs/node_modules/.bin/f0-git-mcp-server.ps1 +0 -41
- package/packages/fs/node_modules/.bin/f0-git-mcp.CMD +0 -12
- package/packages/fs/node_modules/.bin/f0-git-mcp.ps1 +0 -41
- package/packages/fs/node_modules/.bin/tsc +0 -21
- package/packages/fs/node_modules/.bin/tsc.CMD +0 -12
- package/packages/fs/node_modules/.bin/tsc.ps1 +0 -41
- package/packages/fs/node_modules/.bin/tsserver +0 -21
- package/packages/fs/node_modules/.bin/tsserver.CMD +0 -12
- package/packages/fs/node_modules/.bin/tsserver.ps1 +0 -41
- package/packages/fs/node_modules/.bin/vite +0 -21
- package/packages/fs/node_modules/.bin/vite.CMD +0 -12
- package/packages/fs/node_modules/.bin/vite.ps1 +0 -41
- package/packages/fs/node_modules/.bin/vitest +0 -21
- package/packages/fs/node_modules/.bin/vitest.CMD +0 -12
- package/packages/fs/node_modules/.bin/vitest.ps1 +0 -41
- package/packages/fs/package.json +0 -28
- package/packages/fs/src/cli.ts +0 -74
- package/packages/fs/src/git-fs.ts +0 -705
- package/packages/fs/src/index.ts +0 -33
- package/packages/fs/src/mount.ts +0 -297
- package/packages/fs/tsconfig.json +0 -7
- package/packages/git/mcp/tests/e2e/git-mcp-e2e.spec.ts +0 -157
- package/packages/git/mcp/tests/e2e/server.fixture.ts +0 -109
- package/packages/git/node_modules/.bin/tsc +0 -21
- package/packages/git/node_modules/.bin/tsc.CMD +0 -12
- package/packages/git/node_modules/.bin/tsc.ps1 +0 -41
- package/packages/git/node_modules/.bin/tsserver +0 -21
- package/packages/git/node_modules/.bin/tsserver.CMD +0 -12
- package/packages/git/node_modules/.bin/tsserver.ps1 +0 -41
- package/packages/git/node_modules/.bin/vite +0 -21
- package/packages/git/node_modules/.bin/vite.CMD +0 -12
- package/packages/git/node_modules/.bin/vite.ps1 +0 -41
- package/packages/git/node_modules/.bin/vitest +0 -21
- package/packages/git/node_modules/.bin/vitest.CMD +0 -12
- package/packages/git/node_modules/.bin/vitest.ps1 +0 -41
- package/packages/git/node_modules/.vite/vitest/results.json +0 -1
- package/packages/git/package.json +0 -60
- package/packages/git/scripts/create-issue.mjs +0 -93
- package/packages/git/scripts/extract-git-spec.mjs +0 -234
- package/packages/git/scripts/fetch-gitea-swagger.mjs +0 -22
- package/packages/git/src/platform/config.ts +0 -140
- package/packages/git/tests/api.spec.ts +0 -55
- package/packages/git/tests/e2e/git-service-feature-e2e.spec.ts +0 -232
- package/packages/git/tests/git-service-api-object.spec.ts +0 -97
- package/packages/git/tests/git-service-feature-matrix.spec.ts +0 -182
- package/packages/git/tests/issue-dependencies.spec.ts +0 -81
- package/packages/git/tsconfig.json +0 -7
- package/packages/git/vitest.config.ts +0 -7
- package/packages/utils/package.json +0 -9
- package/packages/utils/src/awk.ts +0 -6
- package/packages/utils/src/cat.ts +0 -6
- package/packages/utils/src/cd.ts +0 -6
- package/packages/utils/src/chgrp.ts +0 -6
- package/packages/utils/src/chmod.ts +0 -6
- package/packages/utils/src/chown.ts +0 -6
- package/packages/utils/src/cp.ts +0 -6
- package/packages/utils/src/curl.ts +0 -6
- package/packages/utils/src/cut.ts +0 -6
- package/packages/utils/src/date.ts +0 -6
- package/packages/utils/src/echo.ts +0 -6
- package/packages/utils/src/find.ts +0 -6
- package/packages/utils/src/grep.ts +0 -6
- package/packages/utils/src/gunzip.ts +0 -6
- package/packages/utils/src/gzip.ts +0 -6
- package/packages/utils/src/head.ts +0 -6
- package/packages/utils/src/hostname.ts +0 -6
- package/packages/utils/src/index.ts +0 -37
- package/packages/utils/src/ls.ts +0 -6
- package/packages/utils/src/mkdir.ts +0 -6
- package/packages/utils/src/mv.ts +0 -6
- package/packages/utils/src/ping.ts +0 -6
- package/packages/utils/src/pwd.ts +0 -6
- package/packages/utils/src/rm.ts +0 -6
- package/packages/utils/src/rmdir.ts +0 -6
- package/packages/utils/src/sed.ts +0 -6
- package/packages/utils/src/sort.ts +0 -6
- package/packages/utils/src/tail.ts +0 -6
- package/packages/utils/src/tar.ts +0 -6
- package/packages/utils/src/touch.ts +0 -6
- package/packages/utils/src/tr.ts +0 -6
- package/packages/utils/src/uname.ts +0 -6
- package/packages/utils/src/uniq.ts +0 -6
- package/packages/utils/src/unzip.ts +0 -6
- package/packages/utils/src/util.ts +0 -4
- package/packages/utils/src/wc.ts +0 -6
- package/packages/utils/src/wget.ts +0 -6
- package/packages/utils/src/whoami.ts +0 -6
- package/packages/utils/src/zip.ts +0 -6
- package/pnpm-workspace.yaml +0 -2
- package/tsconfig.base.json +0 -12
- /package/{packages/git/gitea-swagger.json → gitea-swagger.json} +0 -0
- /package/{packages/git/mcp → mcp}/src/cli.ts +0 -0
- /package/{packages/git/mcp → mcp}/src/client.ts +0 -0
- /package/{packages/git/mcp → mcp}/src/index.ts +0 -0
- /package/{packages/git/mcp → mcp}/src/server.ts +0 -0
- /package/{packages/git/src → src}/api.ts +0 -0
- /package/{packages/git/src → src}/git-service-feature-spec.generated.ts +0 -0
- /package/{packages/git/src → src}/issue-dependencies.ts +0 -0
- /package/{packages/git/src → src}/platform/gitea-adapter.ts +0 -0
- /package/{packages/git/src → src}/platform/gitea-rules.ts +0 -0
- /package/{packages/git/src → src}/platform/index.ts +0 -0
- /package/{packages/git/src → src}/repository.ts +0 -0
- /package/{packages/git/src → src}/spec-mock.ts +0 -0
|
@@ -197,12 +197,21 @@ await api.repo.sync()
|
|
|
197
197
|
### 5) Team triage with labels
|
|
198
198
|
|
|
199
199
|
```ts
|
|
200
|
-
await api.label.
|
|
201
|
-
|
|
202
|
-
await api.label.
|
|
203
|
-
|
|
200
|
+
await api.repo.label.listManaged()
|
|
201
|
+
|
|
202
|
+
await api.repo.label.upsert('priority-high', {
|
|
203
|
+
color: '#d73a4a',
|
|
204
|
+
description: 'Initial escalation label',
|
|
204
205
|
})
|
|
205
|
-
|
|
206
|
+
|
|
207
|
+
await api.repo.label.getByName('priority-high')
|
|
208
|
+
|
|
209
|
+
await api.repo.label.upsert('priority-high', {
|
|
210
|
+
color: '#fbca04',
|
|
211
|
+
description: 'Escalated issue',
|
|
212
|
+
})
|
|
213
|
+
|
|
214
|
+
await api.repo.label.deleteByName('priority-high')
|
|
206
215
|
```
|
|
207
216
|
|
|
208
217
|
### 6) Search and discovery
|
|
@@ -199,7 +199,7 @@ Tips:
|
|
|
199
199
|
|
|
200
200
|
- Prefer `https://` for `GITEA_HOST` to avoid leaking `GITEA_TOKEN` over plaintext HTTP.
|
|
201
201
|
- The CLI entrypoint in `packages/git/mcp/src/cli.ts` rejects `http://` hosts unless `--allow-insecure-http` is passed for local testing.
|
|
202
|
-
-
|
|
202
|
+
- Set `GITEA_TOKEN` in the MCP process environment. The package does not auto-load `.env` files.
|
|
203
203
|
|
|
204
204
|
## API surface
|
|
205
205
|
|
|
@@ -207,3 +207,5 @@ Tips:
|
|
|
207
207
|
- `GitMcpClient`
|
|
208
208
|
- `createGitMcpClient(options)`
|
|
209
209
|
- `normalizeToolCallNameForServer(prefix, toolName)`
|
|
210
|
+
- Includes label-management tools exposed from the API object:
|
|
211
|
+
`repo.label.listManaged`, `repo.label.getByName`, `repo.label.upsert`, and `repo.label.deleteByName`
|
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,28 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@foundation0/git",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Foundation 0 Git",
|
|
3
|
+
"version": "1.2.1",
|
|
4
|
+
"description": "Foundation 0 Git API and MCP server",
|
|
5
5
|
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"f0-git-mcp": "./mcp/cli.mjs",
|
|
8
|
+
"f0-git-mcp-server": "./mcp/cli.mjs"
|
|
9
|
+
},
|
|
6
10
|
"private": false,
|
|
7
|
-
"
|
|
8
|
-
"packages/*",
|
|
9
|
-
"packages/git/*"
|
|
10
|
-
],
|
|
11
|
+
"main": "./src/index.ts",
|
|
11
12
|
"keywords": [
|
|
12
13
|
"foundation0",
|
|
13
|
-
"
|
|
14
|
+
"example",
|
|
15
|
+
"git",
|
|
16
|
+
"mcp"
|
|
14
17
|
],
|
|
15
|
-
"author": "
|
|
18
|
+
"author": "",
|
|
16
19
|
"license": "ISC",
|
|
20
|
+
"files": [
|
|
21
|
+
"src",
|
|
22
|
+
"mcp/src",
|
|
23
|
+
"mcp/cli.mjs",
|
|
24
|
+
"mcp/README.md",
|
|
25
|
+
"README.md",
|
|
26
|
+
"gitea-swagger.json"
|
|
27
|
+
],
|
|
17
28
|
"publishConfig": {
|
|
18
29
|
"access": "public",
|
|
19
30
|
"registry": "https://registry.npmjs.org/"
|
|
20
31
|
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@modelcontextprotocol/sdk": "^1.13.0",
|
|
34
|
+
"zod": "^3.24.1"
|
|
35
|
+
},
|
|
36
|
+
"exports": {
|
|
37
|
+
".": "./src/index.ts",
|
|
38
|
+
"./mcp": "./mcp/src/index.ts",
|
|
39
|
+
"./mcp/server": "./mcp/src/server.ts",
|
|
40
|
+
"./mcp/client": "./mcp/src/client.ts",
|
|
41
|
+
"./mcp/cli": "./mcp/cli.mjs"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@types/node": "^22.10.2",
|
|
45
|
+
"vitest": "^2.1.8",
|
|
46
|
+
"typescript": "^5.5.4"
|
|
47
|
+
},
|
|
21
48
|
"scripts": {
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
49
|
+
"fetch:gitea-swagger": "bun run ./scripts/fetch-gitea-swagger.mjs",
|
|
50
|
+
"generate:git-spec": "bun run ./scripts/extract-git-spec.mjs",
|
|
51
|
+
"mcp": "bun run ./mcp/src/cli.ts",
|
|
52
|
+
"test": "bunx vitest run",
|
|
53
|
+
"deploy": "pnpm prepublishOnly && pnpm publish --access public",
|
|
54
|
+
"version:patch": "pnpm version patch --no-workspaces",
|
|
55
|
+
"version:minor": "pnpm version minor --no-workspaces",
|
|
56
|
+
"version:major": "pnpm version major --no-workspaces"
|
|
27
57
|
}
|
|
28
58
|
}
|
|
@@ -2,6 +2,7 @@ import { createGitPlatformAdapter, type GitPlatformAdapterFactoryDeps } from './
|
|
|
2
2
|
import { getGitPlatformConfig, type GitPlatformConfig } from './platform/config'
|
|
3
3
|
import { type GitServiceFlag, type GitServiceFeature, gitServiceFeatureSpec } from './git-service-feature-spec.generated'
|
|
4
4
|
import { type GitApiFeatureMapping } from './platform/gitea-adapter'
|
|
5
|
+
import { attachGitLabelManagementApi } from './label-management'
|
|
5
6
|
import { spawn } from 'node:child_process'
|
|
6
7
|
import crypto from 'node:crypto'
|
|
7
8
|
|
|
@@ -556,6 +557,8 @@ export const createGitServiceApi = (options: GitServiceApiFactoryOptions = {}):
|
|
|
556
557
|
}
|
|
557
558
|
}
|
|
558
559
|
|
|
560
|
+
attachGitLabelManagementApi(root, defaults)
|
|
561
|
+
|
|
559
562
|
return root
|
|
560
563
|
}
|
|
561
564
|
|
|
@@ -36,6 +36,14 @@ export {
|
|
|
36
36
|
type GitIssueDependencyPayload,
|
|
37
37
|
type GitIssueDependencySyncResult,
|
|
38
38
|
} from './issue-dependencies'
|
|
39
|
+
export {
|
|
40
|
+
attachGitLabelManagementApi,
|
|
41
|
+
createGitLabelManagementApi,
|
|
42
|
+
extractRepositoryLabels,
|
|
43
|
+
type GitLabelManagementApi,
|
|
44
|
+
type GitLabelManagementDefaults,
|
|
45
|
+
type GitRepositoryLabel,
|
|
46
|
+
} from './label-management'
|
|
39
47
|
export { resolveProjectRepoIdentity, type GitRepositoryIdentity } from './repository'
|
|
40
48
|
export type {
|
|
41
49
|
GitServiceApi,
|