@kansei-link/bantou 0.2.0 → 0.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.
@@ -22,8 +22,11 @@ function defaultDataDir() {
22
22
  const envDir = process.env.COCKPIT_DATA_DIR;
23
23
  if (envDir)
24
24
  return envDir;
25
- // In dev: src/classifier/ → ../../../data
26
- // In prod (dist/): dist/classifier/ → ../../../data
25
+ // Published package: dist/classifier/ → ../../data
26
+ const publishedPath = path.resolve(__dirname, '../../data');
27
+ if (fs.existsSync(publishedPath))
28
+ return publishedPath;
29
+ // Dev monorepo: packages/cockpit-mcp/src/classifier/ → ../../../../data
27
30
  return path.resolve(__dirname, '../../../../data');
28
31
  }
29
32
  export class KeywordClassifier {
@@ -20,6 +20,11 @@ function defaultDataDir() {
20
20
  const envDir = process.env.COCKPIT_DATA_DIR;
21
21
  if (envDir)
22
22
  return envDir;
23
+ // Published package: dist/exclusion/ → ../../data
24
+ const publishedPath = path.resolve(__dirname, '../../data');
25
+ if (fs.existsSync(publishedPath))
26
+ return publishedPath;
27
+ // Dev monorepo: packages/cockpit-mcp/src/exclusion/ → ../../../../data
23
28
  return path.resolve(__dirname, '../../../../data');
24
29
  }
25
30
  export class ExclusionChecker {
@@ -18,6 +18,11 @@ function defaultDataDir() {
18
18
  const envDir = process.env.COCKPIT_DATA_DIR;
19
19
  if (envDir)
20
20
  return envDir;
21
+ // Published package: dist/tax-rules/ → ../../data
22
+ const publishedPath = path.resolve(__dirname, '../../data');
23
+ if (fs.existsSync(publishedPath))
24
+ return publishedPath;
25
+ // Dev monorepo: packages/cockpit-mcp/src/tax-rules/ → ../../../../data
21
26
  return path.resolve(__dirname, '../../../../data');
22
27
  }
23
28
  function containsAny(haystack, needles) {
package/package.json CHANGED
@@ -1,74 +1,74 @@
1
- {
2
- "name": "@kansei-link/bantou",
3
- "version": "0.2.0",
4
- "description": "番頭 — AI仕訳アシスタント。日本の税理士事務所向け会計自動化MCPサーバー。freee・弥生・MF・TKC対応。修正を永久記憶し、使うほど賢くなる。",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "bin": {
8
- "bantou": "dist/index.js"
9
- },
10
- "files": [
11
- "dist/**/*.js",
12
- "dist/**/*.d.ts",
13
- "!dist/**/__tests__/**",
14
- "data/keyword-dict/jp-tax-baseline-v1.json",
15
- "data/keyword-dict-schema.json",
16
- "data/exclusion-rules/jp-tax-baseline-v1.json",
17
- "data/exclusion-rules-schema.json",
18
- "data/tax-rules/jp-tax-rules-v1.json",
19
- "README.md",
20
- "LICENSE"
21
- ],
22
- "scripts": {
23
- "build": "tsc",
24
- "start": "node dist/index.js",
25
- "dev": "tsx src/index.ts",
26
- "doctor:freee": "tsx src/bin/freee-doctor.ts",
27
- "test": "vitest run",
28
- "smoke": "node tests/smoke.mjs",
29
- "copy-data": "node -e \"require('fs').cpSync('../../data','./data',{recursive:true})\"",
30
- "clean-data": "node -e \"require('fs').rmSync('./data',{recursive:true,force:true})\"",
31
- "prepublishOnly": "npm run copy-data && npm run build && npm test"
32
- },
33
- "keywords": [
34
- "mcp",
35
- "model-context-protocol",
36
- "accounting",
37
- "freee",
38
- "money-forward",
39
- "tax-accountant",
40
- "japan",
41
- "automation",
42
- "claude",
43
- "claude-code"
44
- ],
45
- "author": "Synapse Arrows PTE. LTD.",
46
- "license": "MIT",
47
- "homepage": "https://github.com/michielinksee/kansei-link-cockpit",
48
- "repository": {
49
- "type": "git",
50
- "url": "git+https://github.com/michielinksee/kansei-link-cockpit.git",
51
- "directory": "packages/cockpit-mcp"
52
- },
53
- "bugs": {
54
- "url": "https://github.com/michielinksee/kansei-link-cockpit/issues"
55
- },
56
- "dependencies": {
57
- "@anthropic-ai/sdk": "^0.40.1",
58
- "@modelcontextprotocol/sdk": "^1.29.0",
59
- "better-sqlite3": "^12.9.0",
60
- "zod": "^3.23.0"
61
- },
62
- "devDependencies": {
63
- "@types/node": "^22.7.0",
64
- "tsx": "^4.19.0",
65
- "typescript": "^5.6.0",
66
- "vitest": "^2.0.0"
67
- },
68
- "engines": {
69
- "node": ">=20"
70
- },
71
- "publishConfig": {
72
- "access": "public"
73
- }
74
- }
1
+ {
2
+ "name": "@kansei-link/bantou",
3
+ "version": "0.2.1",
4
+ "description": "番頭 — AI仕訳アシスタント。日本の税理士事務所向け会計自動化MCPサーバー。freee・弥生・MF・TKC対応。修正を永久記憶し、使うほど賢くなる。",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "bin": {
8
+ "bantou": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist/**/*.js",
12
+ "dist/**/*.d.ts",
13
+ "!dist/**/__tests__/**",
14
+ "data/keyword-dict/jp-tax-baseline-v1.json",
15
+ "data/keyword-dict-schema.json",
16
+ "data/exclusion-rules/jp-tax-baseline-v1.json",
17
+ "data/exclusion-rules-schema.json",
18
+ "data/tax-rules/jp-tax-rules-v1.json",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc",
24
+ "start": "node dist/index.js",
25
+ "dev": "tsx src/index.ts",
26
+ "doctor:freee": "tsx src/bin/freee-doctor.ts",
27
+ "test": "vitest run",
28
+ "smoke": "node tests/smoke.mjs",
29
+ "copy-data": "node -e \"require('fs').cpSync('../../data','./data',{recursive:true})\"",
30
+ "clean-data": "node -e \"require('fs').rmSync('./data',{recursive:true,force:true})\"",
31
+ "prepublishOnly": "npm run copy-data && npm run build && npm test"
32
+ },
33
+ "keywords": [
34
+ "mcp",
35
+ "model-context-protocol",
36
+ "accounting",
37
+ "freee",
38
+ "money-forward",
39
+ "tax-accountant",
40
+ "japan",
41
+ "automation",
42
+ "claude",
43
+ "claude-code"
44
+ ],
45
+ "author": "Synapse Arrows PTE. LTD.",
46
+ "license": "MIT",
47
+ "homepage": "https://github.com/michielinksee/kansei-link-cockpit",
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "git+https://github.com/michielinksee/kansei-link-cockpit.git",
51
+ "directory": "packages/cockpit-mcp"
52
+ },
53
+ "bugs": {
54
+ "url": "https://github.com/michielinksee/kansei-link-cockpit/issues"
55
+ },
56
+ "dependencies": {
57
+ "@anthropic-ai/sdk": "^0.40.1",
58
+ "@modelcontextprotocol/sdk": "^1.29.0",
59
+ "better-sqlite3": "^12.9.0",
60
+ "zod": "^3.23.0"
61
+ },
62
+ "devDependencies": {
63
+ "@types/node": "^22.7.0",
64
+ "tsx": "^4.19.0",
65
+ "typescript": "^5.6.0",
66
+ "vitest": "^2.0.0"
67
+ },
68
+ "engines": {
69
+ "node": ">=20"
70
+ },
71
+ "publishConfig": {
72
+ "access": "public"
73
+ }
74
+ }