@aggroot-team/aggroot 1.10.6 → 1.10.8
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/dist/index.cjs +841 -826
- package/dist/native/better_sqlite3.node +0 -0
- package/package.json +156 -157
- package/share/agents/agent-coder.json +4 -4
- package/share/agents/agent-devops.json +15 -1
- package/share/agents/agent-meeting-export.json +33 -38
- package/share/scripts/_utils.py +1 -1
- package/share/web/dist/assets/{arc-B6muhbY_.js → arc-fXO6JDqX.js} +1 -1
- package/share/web/dist/assets/{architectureDiagram-3BPJPVTR-DJ9cgQMo.js → architectureDiagram-3BPJPVTR-DxcpEXLn.js} +1 -1
- package/share/web/dist/assets/{blockDiagram-GPEHLZMM-3TSaM49r.js → blockDiagram-GPEHLZMM-BN2eZ-xm.js} +1 -1
- package/share/web/dist/assets/{c4Diagram-AAUBKEIU-D5W-EiaZ.js → c4Diagram-AAUBKEIU-JRmRJKkJ.js} +1 -1
- package/share/web/dist/assets/channel-DGK42hKg.js +1 -0
- package/share/web/dist/assets/{chunk-2J33WTMH-B5D6r5YR.js → chunk-2J33WTMH-DMkMc_hI.js} +1 -1
- package/share/web/dist/assets/{chunk-4BX2VUAB-DqUq_8zk.js → chunk-4BX2VUAB-D0c16Fhz.js} +1 -1
- package/share/web/dist/assets/{chunk-55IACEB6-CAWNr4-g.js → chunk-55IACEB6-Bp7DxFLI.js} +1 -1
- package/share/web/dist/assets/{chunk-727SXJPM-CP7XrNMz.js → chunk-727SXJPM-BCU3ZyVW.js} +1 -1
- package/share/web/dist/assets/{chunk-AQP2D5EJ-BeGUiFeO.js → chunk-AQP2D5EJ-oez5bIeI.js} +1 -1
- package/share/web/dist/assets/{chunk-FMBD7UC4-BArzyAmU.js → chunk-FMBD7UC4-CIBaidtH.js} +1 -1
- package/share/web/dist/assets/{chunk-ND2GUHAM-D1hRuBfF.js → chunk-ND2GUHAM-PkA6pN2P.js} +1 -1
- package/share/web/dist/assets/{chunk-QZHKN3VN-Bsne3J2q.js → chunk-QZHKN3VN-C37DcwmC.js} +1 -1
- package/share/web/dist/assets/classDiagram-4FO5ZUOK--vHwBNPw.js +1 -0
- package/share/web/dist/assets/classDiagram-v2-Q7XG4LA2--vHwBNPw.js +1 -0
- package/share/web/dist/assets/{cose-bilkent-S5V4N54A-DKqnlQHP.js → cose-bilkent-S5V4N54A-CQgwlca2.js} +1 -1
- package/share/web/dist/assets/{dagre-BM42HDAG-T0muUpSx.js → dagre-BM42HDAG-sUMyJAls.js} +1 -1
- package/share/web/dist/assets/{diagram-2AECGRRQ-DF97RON9.js → diagram-2AECGRRQ-CP7tYbxz.js} +1 -1
- package/share/web/dist/assets/{diagram-5GNKFQAL-CO0LSEnt.js → diagram-5GNKFQAL-606wazRy.js} +1 -1
- package/share/web/dist/assets/{diagram-KO2AKTUF-BeUvdtva.js → diagram-KO2AKTUF-DpiAKbQ5.js} +1 -1
- package/share/web/dist/assets/{diagram-LMA3HP47-gtSx4MhZ.js → diagram-LMA3HP47-jiVuRqH3.js} +1 -1
- package/share/web/dist/assets/{diagram-OG6HWLK6-CGvTzwl5.js → diagram-OG6HWLK6-D3L4JEr9.js} +1 -1
- package/share/web/dist/assets/{erDiagram-TEJ5UH35-DAS50JTz.js → erDiagram-TEJ5UH35-BUUeM_17.js} +1 -1
- package/share/web/dist/assets/{flowDiagram-I6XJVG4X-DeE-378s.js → flowDiagram-I6XJVG4X-DXxxC6-Y.js} +1 -1
- package/share/web/dist/assets/{ganttDiagram-6RSMTGT7-Dewf3yPU.js → ganttDiagram-6RSMTGT7-vFOdB4g6.js} +1 -1
- package/share/web/dist/assets/{gitGraphDiagram-PVQCEYII-DsSOgbbA.js → gitGraphDiagram-PVQCEYII-Cbv14T1p.js} +1 -1
- package/share/web/dist/assets/index-BtDxhUsK.js +470 -0
- package/share/web/dist/assets/{infoDiagram-5YYISTIA-DAt_731A.js → infoDiagram-5YYISTIA-DKfXN1Q4.js} +1 -1
- package/share/web/dist/assets/{ishikawaDiagram-YF4QCWOH-C1m5tBb_.js → ishikawaDiagram-YF4QCWOH-BUAJVJ0L.js} +1 -1
- package/share/web/dist/assets/{journeyDiagram-JHISSGLW-BJfVYlQ1.js → journeyDiagram-JHISSGLW-CD69hEtn.js} +1 -1
- package/share/web/dist/assets/{kanban-definition-UN3LZRKU-BjTvHNu5.js → kanban-definition-UN3LZRKU-RwQ4LJ5Y.js} +1 -1
- package/share/web/dist/assets/{linear-C3h9k4xJ.js → linear-D56dd0EU.js} +1 -1
- package/share/web/dist/assets/{mindmap-definition-RKZ34NQL-p8Q0AQcY.js → mindmap-definition-RKZ34NQL-D_hyFkAT.js} +1 -1
- package/share/web/dist/assets/{pieDiagram-4H26LBE5-GT_zaKLe.js → pieDiagram-4H26LBE5-dBwJf4Dk.js} +1 -1
- package/share/web/dist/assets/{quadrantDiagram-W4KKPZXB-C6hG_nqx.js → quadrantDiagram-W4KKPZXB-DcAx6yGv.js} +1 -1
- package/share/web/dist/assets/{requirementDiagram-4Y6WPE33-CHrdt67q.js → requirementDiagram-4Y6WPE33-CZQSL1Vf.js} +1 -1
- package/share/web/dist/assets/{sankeyDiagram-5OEKKPKP-Dz_VzhnN.js → sankeyDiagram-5OEKKPKP-CF7UNS_0.js} +1 -1
- package/share/web/dist/assets/{sequenceDiagram-3UESZ5HK-CpUTpqpu.js → sequenceDiagram-3UESZ5HK-BJSZSgBk.js} +1 -1
- package/share/web/dist/assets/{stateDiagram-AJRCARHV-CrsERnzj.js → stateDiagram-AJRCARHV-CcBxRhZT.js} +1 -1
- package/share/web/dist/assets/stateDiagram-v2-BHNVJYJU-CQHde_6r.js +1 -0
- package/share/web/dist/assets/{timeline-definition-PNZ67QCA-Dj9KPhNj.js → timeline-definition-PNZ67QCA-DyU6yuwC.js} +1 -1
- package/share/web/dist/assets/{vennDiagram-CIIHVFJN-BF-ujuZh.js → vennDiagram-CIIHVFJN-CEXHS9af.js} +1 -1
- package/share/web/dist/assets/{wardley-L42UT6IY-CpAmwqP3.js → wardley-L42UT6IY-C_q2cv86.js} +1 -1
- package/share/web/dist/assets/{wardleyDiagram-YWT4CUSO-BVUZJ1m9.js → wardleyDiagram-YWT4CUSO-CH3SP6Qc.js} +1 -1
- package/share/web/dist/assets/{xychartDiagram-2RQKCTM6-Dv8I6EB4.js → xychartDiagram-2RQKCTM6-BgAa35a3.js} +1 -1
- package/share/web/dist/index.html +1 -1
- package/share/web/dist/assets/channel-DEd6pDos.js +0 -1
- package/share/web/dist/assets/classDiagram-4FO5ZUOK-BXOtSyo7.js +0 -1
- package/share/web/dist/assets/classDiagram-v2-Q7XG4LA2-BXOtSyo7.js +0 -1
- package/share/web/dist/assets/index-Dp3Aw-fx.js +0 -470
- package/share/web/dist/assets/stateDiagram-v2-BHNVJYJU-D73MkSbN.js +0 -1
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,157 +1,156 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@aggroot-team/aggroot",
|
|
3
|
-
"version": "1.10.
|
|
4
|
-
"description": "AggRoot - AI Assistant (Node.js/TypeScript Version)",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"ai",
|
|
7
|
-
"assistant",
|
|
8
|
-
"llm",
|
|
9
|
-
"agent"
|
|
10
|
-
],
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "https://gitcode.com/Mario_z/aita.git"
|
|
14
|
-
},
|
|
15
|
-
"license": "MIT",
|
|
16
|
-
"author": "zhangzhuo",
|
|
17
|
-
"type": "module",
|
|
18
|
-
"imports": {
|
|
19
|
-
"#core/*": "./dist/core/*.js",
|
|
20
|
-
"#tools/*": "./dist/tools/*.js",
|
|
21
|
-
"#models/*": "./dist/models/*.js",
|
|
22
|
-
"#memory/*": "./dist/memory/*.js",
|
|
23
|
-
"#types": "./dist/types/index.js",
|
|
24
|
-
"#config": "./dist/config.js"
|
|
25
|
-
},
|
|
26
|
-
"main": "./dist/index.cjs",
|
|
27
|
-
"bin": {
|
|
28
|
-
"aggroot": "dist/cli.cjs"
|
|
29
|
-
},
|
|
30
|
-
"directories": {
|
|
31
|
-
"doc": "docs",
|
|
32
|
-
"test": "tests"
|
|
33
|
-
},
|
|
34
|
-
"files": [
|
|
35
|
-
"dist/",
|
|
36
|
-
"share/",
|
|
37
|
-
"scripts/",
|
|
38
|
-
".env.example",
|
|
39
|
-
"install-windows.bat",
|
|
40
|
-
"install-linux.sh",
|
|
41
|
-
"README.md"
|
|
42
|
-
],
|
|
43
|
-
"scripts": {
|
|
44
|
-
"dev": "node --no-warnings --import=tsx --watch src/index.ts",
|
|
45
|
-
"dev:no-watch": "node --no-warnings --import=tsx src/index.ts",
|
|
46
|
-
"dev:silent": "node --no-warnings --import=tsx --watch src/index.ts",
|
|
47
|
-
"build": "pnpm --filter @aggroot-team/protocol build && pnpm --filter @aggroot-team/server build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json && node scripts/obfuscate.mjs && node scripts/verify-no-source.mjs && cd packages/web && npx vite build && cd ../..",
|
|
48
|
-
"build:all": "node scripts/build-all.mjs",
|
|
49
|
-
"build:dev": "tsc",
|
|
50
|
-
"publish:pkg": "node scripts/publish.mjs",
|
|
51
|
-
"publish:pkg:dry": "node scripts/publish.mjs --dry-run",
|
|
52
|
-
"start": "node --no-warnings --max-old-space-size=4096 dist/index.cjs",
|
|
53
|
-
"type-check": "tsc --noEmit",
|
|
54
|
-
"lint": "eslint .",
|
|
55
|
-
"lint:fix": "eslint . --fix",
|
|
56
|
-
"format": "prettier --write .",
|
|
57
|
-
"format:check": "prettier --check .",
|
|
58
|
-
"test": "vitest",
|
|
59
|
-
"test:run": "vitest run",
|
|
60
|
-
"test:coverage": "vitest run --coverage",
|
|
61
|
-
"test:cross-platform": "node test-cross-platform.js",
|
|
62
|
-
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true});require('fs').rmSync('logs',{recursive:true,force:true})\"",
|
|
63
|
-
"rebuild-native": "npm rebuild better-sqlite3 sharp",
|
|
64
|
-
"rebuild:windows": "npm rebuild --build-from-source better-sqlite3 sharp",
|
|
65
|
-
"rebuild:linux": "npm rebuild --build-from-source better-sqlite3 sharp",
|
|
66
|
-
"install:all": "npm install && npm run rebuild-native"
|
|
67
|
-
},
|
|
68
|
-
"dependencies": {
|
|
69
|
-
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
70
|
-
"@sqlite.org/sqlite-wasm": "3.53.0-build1",
|
|
71
|
-
"@vscode/ripgrep": "^1.17.1",
|
|
72
|
-
"@xenova/transformers": "^2.17.0",
|
|
73
|
-
"ajv": "^8.18.0",
|
|
74
|
-
"ajv-formats": "^3.0.1",
|
|
75
|
-
"chalk": "^5.6.2",
|
|
76
|
-
"chokidar": "^5.0.0",
|
|
77
|
-
"cli-table3": "^0.6.5",
|
|
78
|
-
"diff": "^9.0.0",
|
|
79
|
-
"docx": "^9.6.1",
|
|
80
|
-
"dotenv": "^17.3.1",
|
|
81
|
-
"exceljs": "^4.4.0",
|
|
82
|
-
"glob": "^13.0.6",
|
|
83
|
-
"iconv-lite": "^0.7.2",
|
|
84
|
-
"ink": "^6.8.0",
|
|
85
|
-
"inquirer": "^12.0.0",
|
|
86
|
-
"jszip": "^3.10.1",
|
|
87
|
-
"lru-cache": "^11.2.7",
|
|
88
|
-
"mammoth": "^1.12.0",
|
|
89
|
-
"marked": "^18.0.3",
|
|
90
|
-
"openai": "^4.67.0",
|
|
91
|
-
"ora": "^8.1.0",
|
|
92
|
-
"pino": "^9.5.0",
|
|
93
|
-
"pino-pretty": "^11.2.0",
|
|
94
|
-
"playwright": "^1.60.0",
|
|
95
|
-
"pptxgenjs": "^4.0.1",
|
|
96
|
-
"react": "^19.2.4",
|
|
97
|
-
"react-reconciler": "^0.31.0",
|
|
98
|
-
"scheduler": "^0.27.0",
|
|
99
|
-
"simple-git": "^3.26.0",
|
|
100
|
-
"string-width": "^8.2.1",
|
|
101
|
-
"tiktoken": "^1.0.22",
|
|
102
|
-
"ts-morph": "^27.0.2",
|
|
103
|
-
"uuid": "^13.0.0",
|
|
104
|
-
"web-tree-sitter": "^0.26.8",
|
|
105
|
-
"zod": "^3.25.76"
|
|
106
|
-
},
|
|
107
|
-
"optionalDependencies": {
|
|
108
|
-
"@honcho-ai/sdk": "^2.1.1",
|
|
109
|
-
"better-sqlite3": "^11.10.0",
|
|
110
|
-
"sharp": "^0.34.5",
|
|
111
|
-
"tree-sitter-c": "^0.24.1",
|
|
112
|
-
"tree-sitter-cpp": "^0.23.4"
|
|
113
|
-
},
|
|
114
|
-
"devDependencies": {
|
|
115
|
-
"@
|
|
116
|
-
"@
|
|
117
|
-
"@types/
|
|
118
|
-
"@types/
|
|
119
|
-
"@types/
|
|
120
|
-
"@types/
|
|
121
|
-
"@types/react": "^
|
|
122
|
-
"@
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"eslint": "^9.
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"typescript": "^
|
|
133
|
-
"
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
"
|
|
146
|
-
"
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@aggroot-team/aggroot",
|
|
3
|
+
"version": "1.10.8",
|
|
4
|
+
"description": "AggRoot - AI Assistant (Node.js/TypeScript Version)",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ai",
|
|
7
|
+
"assistant",
|
|
8
|
+
"llm",
|
|
9
|
+
"agent"
|
|
10
|
+
],
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://gitcode.com/Mario_z/aita.git"
|
|
14
|
+
},
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"author": "zhangzhuo",
|
|
17
|
+
"type": "module",
|
|
18
|
+
"imports": {
|
|
19
|
+
"#core/*": "./dist/core/*.js",
|
|
20
|
+
"#tools/*": "./dist/tools/*.js",
|
|
21
|
+
"#models/*": "./dist/models/*.js",
|
|
22
|
+
"#memory/*": "./dist/memory/*.js",
|
|
23
|
+
"#types": "./dist/types/index.js",
|
|
24
|
+
"#config": "./dist/config.js"
|
|
25
|
+
},
|
|
26
|
+
"main": "./dist/index.cjs",
|
|
27
|
+
"bin": {
|
|
28
|
+
"aggroot": "dist/cli.cjs"
|
|
29
|
+
},
|
|
30
|
+
"directories": {
|
|
31
|
+
"doc": "docs",
|
|
32
|
+
"test": "tests"
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/",
|
|
36
|
+
"share/",
|
|
37
|
+
"scripts/",
|
|
38
|
+
".env.example",
|
|
39
|
+
"install-windows.bat",
|
|
40
|
+
"install-linux.sh",
|
|
41
|
+
"README.md"
|
|
42
|
+
],
|
|
43
|
+
"scripts": {
|
|
44
|
+
"dev": "node --no-warnings --import=tsx --watch src/index.ts",
|
|
45
|
+
"dev:no-watch": "node --no-warnings --import=tsx src/index.ts",
|
|
46
|
+
"dev:silent": "node --no-warnings --import=tsx --watch src/index.ts",
|
|
47
|
+
"build": "pnpm --filter @aggroot-team/protocol build && pnpm --filter @aggroot-team/server build && node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.build.json && node scripts/obfuscate.mjs && node scripts/verify-no-source.mjs && cd packages/web && npx vite build && cd ../.. && node -e \"const{rmSync,mkdirSync,readdirSync,copyFileSync,statSync,existsSync}=require('fs');const{join}=require('path');function cpR(s,d){mkdirSync(d,{recursive:true});for(const f of readdirSync(s)){const sp=join(s,f),dp=join(d,f);statSync(sp).isDirectory()?cpR(sp,dp):copyFileSync(sp,dp)}}rmSync('share/web/dist',{recursive:true,force:true});if(existsSync('packages/web/dist'))cpR('packages/web/dist','share/web/dist')\"",
|
|
48
|
+
"build:all": "node scripts/build-all.mjs",
|
|
49
|
+
"build:dev": "tsc",
|
|
50
|
+
"publish:pkg": "node scripts/publish.mjs",
|
|
51
|
+
"publish:pkg:dry": "node scripts/publish.mjs --dry-run",
|
|
52
|
+
"start": "node --no-warnings --max-old-space-size=4096 dist/index.cjs",
|
|
53
|
+
"type-check": "tsc --noEmit",
|
|
54
|
+
"lint": "eslint .",
|
|
55
|
+
"lint:fix": "eslint . --fix",
|
|
56
|
+
"format": "prettier --write .",
|
|
57
|
+
"format:check": "prettier --check .",
|
|
58
|
+
"test": "vitest",
|
|
59
|
+
"test:run": "vitest run",
|
|
60
|
+
"test:coverage": "vitest run --coverage",
|
|
61
|
+
"test:cross-platform": "node test-cross-platform.js",
|
|
62
|
+
"clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true});require('fs').rmSync('logs',{recursive:true,force:true})\"",
|
|
63
|
+
"rebuild-native": "npm rebuild better-sqlite3 sharp",
|
|
64
|
+
"rebuild:windows": "npm rebuild --build-from-source better-sqlite3 sharp",
|
|
65
|
+
"rebuild:linux": "npm rebuild --build-from-source better-sqlite3 sharp",
|
|
66
|
+
"install:all": "npm install && npm run rebuild-native"
|
|
67
|
+
},
|
|
68
|
+
"dependencies": {
|
|
69
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
70
|
+
"@sqlite.org/sqlite-wasm": "3.53.0-build1",
|
|
71
|
+
"@vscode/ripgrep": "^1.17.1",
|
|
72
|
+
"@xenova/transformers": "^2.17.0",
|
|
73
|
+
"ajv": "^8.18.0",
|
|
74
|
+
"ajv-formats": "^3.0.1",
|
|
75
|
+
"chalk": "^5.6.2",
|
|
76
|
+
"chokidar": "^5.0.0",
|
|
77
|
+
"cli-table3": "^0.6.5",
|
|
78
|
+
"diff": "^9.0.0",
|
|
79
|
+
"docx": "^9.6.1",
|
|
80
|
+
"dotenv": "^17.3.1",
|
|
81
|
+
"exceljs": "^4.4.0",
|
|
82
|
+
"glob": "^13.0.6",
|
|
83
|
+
"iconv-lite": "^0.7.2",
|
|
84
|
+
"ink": "^6.8.0",
|
|
85
|
+
"inquirer": "^12.0.0",
|
|
86
|
+
"jszip": "^3.10.1",
|
|
87
|
+
"lru-cache": "^11.2.7",
|
|
88
|
+
"mammoth": "^1.12.0",
|
|
89
|
+
"marked": "^18.0.3",
|
|
90
|
+
"openai": "^4.67.0",
|
|
91
|
+
"ora": "^8.1.0",
|
|
92
|
+
"pino": "^9.5.0",
|
|
93
|
+
"pino-pretty": "^11.2.0",
|
|
94
|
+
"playwright": "^1.60.0",
|
|
95
|
+
"pptxgenjs": "^4.0.1",
|
|
96
|
+
"react": "^19.2.4",
|
|
97
|
+
"react-reconciler": "^0.31.0",
|
|
98
|
+
"scheduler": "^0.27.0",
|
|
99
|
+
"simple-git": "^3.26.0",
|
|
100
|
+
"string-width": "^8.2.1",
|
|
101
|
+
"tiktoken": "^1.0.22",
|
|
102
|
+
"ts-morph": "^27.0.2",
|
|
103
|
+
"uuid": "^13.0.0",
|
|
104
|
+
"web-tree-sitter": "^0.26.8",
|
|
105
|
+
"zod": "^3.25.76"
|
|
106
|
+
},
|
|
107
|
+
"optionalDependencies": {
|
|
108
|
+
"@honcho-ai/sdk": "^2.1.1",
|
|
109
|
+
"better-sqlite3": "^11.10.0",
|
|
110
|
+
"sharp": "^0.34.5",
|
|
111
|
+
"tree-sitter-c": "^0.24.1",
|
|
112
|
+
"tree-sitter-cpp": "^0.23.4"
|
|
113
|
+
},
|
|
114
|
+
"devDependencies": {
|
|
115
|
+
"@eslint/js": "^9.13.0",
|
|
116
|
+
"@types/ajv": "^0.0.5",
|
|
117
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
118
|
+
"@types/diff": "^7.0.2",
|
|
119
|
+
"@types/node": "^20.14.0",
|
|
120
|
+
"@types/react": "^19.2.14",
|
|
121
|
+
"@types/react-reconciler": "^0.31.0",
|
|
122
|
+
"@vitest/coverage-v8": "^2.1.0",
|
|
123
|
+
"esbuild": "^0.28.0",
|
|
124
|
+
"eslint": "^9.13.0",
|
|
125
|
+
"eslint-config-prettier": "^9.1.0",
|
|
126
|
+
"husky": "^9.1.0",
|
|
127
|
+
"javascript-obfuscator": "^4.2.2",
|
|
128
|
+
"lint-staged": "^15.5.0",
|
|
129
|
+
"prettier": "^3.3.3",
|
|
130
|
+
"tsx": "^4.19.0",
|
|
131
|
+
"typescript": "^5.6.0",
|
|
132
|
+
"typescript-eslint": "^8.10.0",
|
|
133
|
+
"vitest": "^2.1.0"
|
|
134
|
+
},
|
|
135
|
+
"engines": {
|
|
136
|
+
"node": ">=20.0.0"
|
|
137
|
+
},
|
|
138
|
+
"os": [
|
|
139
|
+
"win32",
|
|
140
|
+
"linux",
|
|
141
|
+
"darwin"
|
|
142
|
+
],
|
|
143
|
+
"cpu": [
|
|
144
|
+
"x64",
|
|
145
|
+
"arm64",
|
|
146
|
+
"ia32"
|
|
147
|
+
],
|
|
148
|
+
"publishConfig": {
|
|
149
|
+
"access": "public"
|
|
150
|
+
},
|
|
151
|
+
"lint-staged": {
|
|
152
|
+
"*.{ts,tsx,json,md,css}": [
|
|
153
|
+
"prettier --write"
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
}
|
|
@@ -37,14 +37,14 @@
|
|
|
37
37
|
"Skill",
|
|
38
38
|
"ListSkills",
|
|
39
39
|
"EnterPlanMode",
|
|
40
|
-
"ExitPlanMode"
|
|
40
|
+
"ExitPlanMode",
|
|
41
|
+
"TodoWrite",
|
|
42
|
+
"TodoRead"
|
|
41
43
|
],
|
|
42
44
|
"loop": {
|
|
43
45
|
"max_iterations": 100,
|
|
44
46
|
"on_error": "retry",
|
|
45
|
-
"hooks": [
|
|
46
|
-
"experience"
|
|
47
|
-
]
|
|
47
|
+
"hooks": ["experience"]
|
|
48
48
|
},
|
|
49
49
|
"identity": "你是code之神,一位专业编程助手。你具备三大核心能力:\n\n1. **代码修改** - 精确重构、修复bug、优化代码\n2. **代码生成** - 从描述生成高质量代码\n3. **多文件协作** - 理解项目结构,协调修改多个文件\n\n【探索代码规则】\n- 探索代码库时禁止自己调用 glob/grep/read,必须使用 SubagentExecutor(explore)\n- 例外:当你已经明确知道要读取哪个文件的哪些行时,才直接使用 read\n- SubagentExecutor 返回结果后,直接使用,不要重复相同的探索\n\n【核心工具使用原则】\n- 文件读取:使用 read 工具(仅用于已知路径的精确读取)\n- 文件创建/覆盖:使用 write 工具\n- 文件编辑:使用 edit 工具(精确编辑,减少token消耗)\n- 搜索代码内容(字符串、注释、配置):使用 grep 工具(支持正则、动态分页、上下文行、40+种文件类型)\n- 文件搜索(按路径/名称):使用 glob 工具\n- 禁止使用 shell 执行文件操作,必须使用核心工具\n\n【SubAgent 使用原则】\n- 快速探索代码库:使用 SubagentExecutor 调用 'explore' agent(只读、快速、并行工具调用)\n- 复杂任务分解:使用 SubagentExecutor 调用 'general-purpose' agent 处理多步骤任务\n- 代码审查:使用 SubagentExecutor 调用 'code-reviewer' agent\n- 架构规划:使用 SubagentExecutor 调用 'plan' agent\n\n【并行工具调用原则】\n- 多个独立操作必须并行执行:如同时读取多个已知文件、同时执行多个 SubagentExecutor\n- 依赖操作必须串行执行:如先读取文件再编辑\n\n【Skill 技能使用原则】\n- 可用 skill 工具调用预定义技能,每个技能是专业化的 prompt 模板\n- 内置技能:explain(解释代码)、refactor(重构代码)、test(编写测试)、document(生成文档)、debug(调试问题)、analyze(分析代码库)、security-check(安全检查)、commit(创建提交)\n- Skillhub 技能:skillhub-search(搜索技能市场)、skillhub-install(安装技能)等\n- 使用 skill({name: \"技能名\", args: {参数}}) 调用技能\n- 使用 list_skills() 查看所有可用技能\n- 当用户请求与技能匹配的任务时,优先使用 skill 工具",
|
|
50
50
|
"personality": [
|
|
@@ -5,7 +5,21 @@
|
|
|
5
5
|
"description": "专业的系统运维和环境管理专家",
|
|
6
6
|
"agent_type": "task_oriented",
|
|
7
7
|
"approval_mode": "safe_only",
|
|
8
|
-
"tools": [
|
|
8
|
+
"tools": [
|
|
9
|
+
"AskUser",
|
|
10
|
+
"Shell",
|
|
11
|
+
"Read",
|
|
12
|
+
"Write",
|
|
13
|
+
"Edit",
|
|
14
|
+
"Glob",
|
|
15
|
+
"Grep",
|
|
16
|
+
"WebSearch",
|
|
17
|
+
"WebFetch",
|
|
18
|
+
"Skill",
|
|
19
|
+
"ListSkills",
|
|
20
|
+
"TodoWrite",
|
|
21
|
+
"TodoRead"
|
|
22
|
+
],
|
|
9
23
|
"loop": {
|
|
10
24
|
"max_iterations": 100,
|
|
11
25
|
"on_error": "retry",
|
|
@@ -1,38 +1,33 @@
|
|
|
1
|
-
{
|
|
2
|
-
"agent": {
|
|
3
|
-
"name": "会议纪要导出助手",
|
|
4
|
-
"version": "2.0",
|
|
5
|
-
"description": "专门将会议纪要总结导出为精美的PPT演示文稿或Word文档,包含结构化的概述、要点、决议和待办事项",
|
|
6
|
-
"agent_type": "task_oriented",
|
|
7
|
-
"tools": [
|
|
8
|
-
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"assistant": "好的,我来用WordCreate创建一份会议纪要Word文档。\n<TOOL_CALL>\n{\"name\": \"WordCreate\", \"arguments\": {\"filePath\": \"C:\\\\Users\\\\test\\\\meeting.docx\", \"content\": [{\"type\": \"heading\", \"text\": \"项目周会纪要\", \"level\": 1}, {\"type\": \"paragraph\", \"runs\": [{\"text\": \"时间:2025年6月13日\", \"color\": \"888888\", \"size\": 22}]}, {\"type\": \"heading\", \"text\": \"一、会议概述\", \"level\": 2}, {\"type\": \"paragraph\", \"text\": \"本次会议讨论了项目进展和下一步计划。\", \"spacing\": {\"after\": 200}}, {\"type\": \"heading\", \"text\": \"二、关键要点\", \"level\": 2}, {\"type\": \"numberedList\", \"items\": [\"首要要点内容\", \"次要要点内容\", \"第三个要点\"]}, {\"type\": \"heading\", \"text\": \"三、会议决议\", \"level\": 2}, {\"type\": \"numberedList\", \"items\": [\"决议一\", \"决议二\"]}, {\"type\": \"heading\", \"text\": \"四、待办事项\", \"level\": 2}, {\"type\": \"numberedList\", \"items\": [\"任务一 - 负责人:张三\", \"任务二 - 负责人:李四\"]}]}}\n</TOOL_CALL>"
|
|
35
|
-
}
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"agent": {
|
|
3
|
+
"name": "会议纪要导出助手",
|
|
4
|
+
"version": "2.0",
|
|
5
|
+
"description": "专门将会议纪要总结导出为精美的PPT演示文稿或Word文档,包含结构化的概述、要点、决议和待办事项",
|
|
6
|
+
"agent_type": "task_oriented",
|
|
7
|
+
"tools": ["Read", "PPTCreate", "PPTRead", "WordCreate"],
|
|
8
|
+
"loop": {
|
|
9
|
+
"max_iterations": 10,
|
|
10
|
+
"on_error": "retry"
|
|
11
|
+
},
|
|
12
|
+
"identity": "你是一位专业的会议纪要整理与导出助手。你的唯一任务是将会议内容整理成结构化的精美文档(PPT或Word)。\n\n你不需要与用户交互,直接根据输入的会议内容完成文档生成即可。\n\n═══════════════════════════════════════\n【核心工作流程-必须遵守】\n═══════════════════════════════════════\n1. 阅读并理解会议内容\n2. 提取核心要素:概述、关键要点、决议、待办事项\n3. 直接调用PPTCreate或WordCreate工具生成文档\n4. 确认文件已保存到指定路径\n\n═══════════════════════════════════════\n【文档结构标准-必须遵守】\n═══════════════════════════════════════\nPPT文档必须包含以下页面(按顺序):\n- 封面页:会议标题 + 日期时长 + 装饰元素\n- 概述页:2-3句话概括会议核心内容\n- 关键要点页:每页一个要点,3-8个要点\n- 决议页:会议达成的决定和共识\n- 待办事项页:具体任务 + 负责人(如有)\n- 结尾页:谢谢\n\nWord文档必须包含以下章节(按顺序):\n- 标题:会议名称\n- 会议信息:时间、时长\n- 一、会议概述:2-3段概括\n- 二、关键要点:编号列表\n- 三、会议决议:编号列表\n- 四、待办事项:编号列表,每条标注负责人\n- 五、完整转录:原文\n\n═══════════════════════════════════════\n【工具使用规则-必须遵守】\n═══════════════════════════════════════\n生成PPT → 直接调用PPTCreate工具\n生成Word → 直接调用WordCreate工具\n禁止使用Skill工具间接调用\n禁止使用AskUser工具(你是独立执行的,没有用户可以交互)\n禁止使用Shell工具\n禁止使用Write工具生成文档(必须用PPTCreate/WordCreate)\n禁止使用Python脚本生成文档\n\n═══════════════════════════════════════\n【PPT安全区域-必须遵守】\n═══════════════════════════════════════\n16:9 幻灯片:宽10英寸 × 高5.63英寸\n所有元素定位:x≥0.3, y≥0.3, x+w≤9.7, y+h≤5.3\ncolor格式:6位hex不带#号(如\"4472C4\"、\"FFFFFF\")\n\n═══════════════════════════════════════\n【PPT页面模板参考】\n═══════════════════════════════════════\n【封面页】backgroundGradient渐变 + 大标题text(居中,36-40pt) + 副标题text(日期,居中,16pt) + 装饰线shape\n【概述页】标题text + 概述内容text(16pt,行距1.5)\n【要点页-每页一要点】标题text + 圆角矩形shape卡片 + 要点内容text\n【决议页】标题text + 编号列表text\n【待办页】标题text + 表格table(任务/负责人/截止)\n【结尾页】渐变背景 + 谢谢text\n\n═══════════════════════════════════════\n【配色方案推荐】\n═══════════════════════════════════════\n商务风格:主色1A1A2E 深蓝,强调色6366F1 靛蓝,文字333333\n清新风格:主色0F766E 墨绿,强调色10B981 翠绿,文字1F2937\n科技风格:主色1E3A5F 深蓝,强调色3B82F6 蓝色,文字F8FAFC\n\n═══════════════════════════════════════\n【Word关键提示】\n═══════════════════════════════════════\n段落内混合样式用runs数组(每个run独立设置bold/italic/color/font等)\n多节文档用sections参数,每节可独立设置页面方向/边距/页眉页脚",
|
|
13
|
+
"prohibited_actions": [
|
|
14
|
+
"禁止使用Skill工具间接调用PPTCreate或WordCreate",
|
|
15
|
+
"禁止使用AskUser工具",
|
|
16
|
+
"禁止使用Shell工具",
|
|
17
|
+
"禁止使用Write工具生成文档文件,必须使用PPTCreate/WordCreate工具",
|
|
18
|
+
"禁止使用Python脚本生成文档",
|
|
19
|
+
"禁止任何PPT元素超出安全区域(x+w>9.7 或 y+h>5.3)",
|
|
20
|
+
"禁止在PPT同一位置叠加多个形状做背景层(用text的bgColor代替)"
|
|
21
|
+
],
|
|
22
|
+
"examples": [
|
|
23
|
+
{
|
|
24
|
+
"user": "请根据以下会议内容生成PPT,保存到 C:\\Users\\test\\meeting.pptx",
|
|
25
|
+
"assistant": "好的,我来用PPTCreate创建一份会议纪要PPT。\n<TOOL_CALL>\n{\"name\": \"PPTCreate\", \"arguments\": {\"filePath\": \"C:\\\\Users\\\\test\\\\meeting.pptx\", \"slides\": [{\"backgroundGradient\": {\"colors\": [\"1A1A2E\", \"16213E\"]}, \"elements\": [{\"type\": \"text\", \"text\": \"项目周会纪要\", \"x\": 1.0, \"y\": 1.5, \"w\": 8.0, \"h\": 1.5, \"fontSize\": 40, \"bold\": true, \"color\": \"FFFFFF\", \"alignment\": \"center\"}, {\"type\": \"text\", \"text\": \"2025年6月13日\", \"x\": 1.0, \"y\": 3.2, \"w\": 8.0, \"h\": 0.8, \"fontSize\": 16, \"color\": \"AAAAAA\", \"alignment\": \"center\"}, {\"type\": \"shape\", \"shape\": \"rectangle\", \"x\": 0, \"y\": 0, \"w\": 10, \"h\": 0.08, \"fill\": {\"gradient\": {\"colors\": [\"6366F1\", \"3B82F6\"]}}}]}, {\"backgroundGradient\": {\"colors\": [\"FFFFFF\", \"F5F5FA\"]}, \"elements\": [{\"type\": \"text\", \"text\": \"会议概述\", \"x\": 0.5, \"y\": 0.3, \"w\": 9, \"h\": 0.7, \"fontSize\": 24, \"bold\": true, \"color\": \"6366F1\"}, {\"type\": \"text\", \"text\": \"本次会议讨论了项目进展和下一步计划。\", \"x\": 0.7, \"y\": 1.2, \"w\": 8.6, \"h\": 3.5, \"fontSize\": 16, \"color\": \"333333\", \"lineSpacingMultiple\": 1.5}]}, {\"backgroundGradient\": {\"colors\": [\"FFFFFF\", \"F5F5FA\"]}, \"elements\": [{\"type\": \"text\", \"text\": \"关键要点\", \"x\": 0.5, \"y\": 0.3, \"w\": 9, \"h\": 0.7, \"fontSize\": 24, \"bold\": true, \"color\": \"6366F1\"}, {\"type\": \"text\", \"text\": \"1. 首要要点内容\\n2. 次要要点内容\\n3. 第三个要点\", \"x\": 0.7, \"y\": 1.2, \"w\": 8.6, \"h\": 3.5, \"fontSize\": 16, \"color\": \"333333\", \"lineSpacingMultiple\": 1.5}]}, {\"backgroundGradient\": {\"colors\": [\"FFFFFF\", \"F5F5FA\"]}, \"elements\": [{\"type\": \"text\", \"text\": \"会议决议\", \"x\": 0.5, \"y\": 0.3, \"w\": 9, \"h\": 0.7, \"fontSize\": 24, \"bold\": true, \"color\": \"6366F1\"}, {\"type\": \"text\", \"text\": \"1. 决议一\\n2. 决议二\", \"x\": 0.7, \"y\": 1.2, \"w\": 8.6, \"h\": 3.5, \"fontSize\": 16, \"color\": \"333333\", \"lineSpacingMultiple\": 1.5}]}, {\"backgroundGradient\": {\"colors\": [\"1A1A2E\", \"16213E\"]}, \"elements\": [{\"type\": \"text\", \"text\": \"谢谢\", \"x\": 1.0, \"y\": 1.8, \"w\": 8.0, \"h\": 1.5, \"fontSize\": 40, \"bold\": true, \"color\": \"FFFFFF\", \"alignment\": \"center\"}]}]}}\n</TOOL_CALL>"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"user": "请根据以下会议内容生成Word文档,保存到 C:\\Users\\test\\meeting.docx",
|
|
29
|
+
"assistant": "好的,我来用WordCreate创建一份会议纪要Word文档。\n<TOOL_CALL>\n{\"name\": \"WordCreate\", \"arguments\": {\"filePath\": \"C:\\\\Users\\\\test\\\\meeting.docx\", \"content\": [{\"type\": \"heading\", \"text\": \"项目周会纪要\", \"level\": 1}, {\"type\": \"paragraph\", \"runs\": [{\"text\": \"时间:2025年6月13日\", \"color\": \"888888\", \"size\": 22}]}, {\"type\": \"heading\", \"text\": \"一、会议概述\", \"level\": 2}, {\"type\": \"paragraph\", \"text\": \"本次会议讨论了项目进展和下一步计划。\", \"spacing\": {\"after\": 200}}, {\"type\": \"heading\", \"text\": \"二、关键要点\", \"level\": 2}, {\"type\": \"numberedList\", \"items\": [\"首要要点内容\", \"次要要点内容\", \"第三个要点\"]}, {\"type\": \"heading\", \"text\": \"三、会议决议\", \"level\": 2}, {\"type\": \"numberedList\", \"items\": [\"决议一\", \"决议二\"]}, {\"type\": \"heading\", \"text\": \"四、待办事项\", \"level\": 2}, {\"type\": \"numberedList\", \"items\": [\"任务一 - 负责人:张三\", \"任务二 - 负责人:李四\"]}]}}\n</TOOL_CALL>"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}
|
package/share/scripts/_utils.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{bm as ln,aj as an,X as y,be as tn,I as z,b9 as b,aJ as _,d as un,aP as rn,ba as F,n as o,G as O,k as sn,e as on,aI as fn}from"./index-
|
|
1
|
+
import{bm as ln,aj as an,X as y,be as tn,I as z,b9 as b,aJ as _,d as un,aP as rn,ba as F,n as o,G as O,k as sn,e as on,aI as fn}from"./index-BtDxhUsK.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function dn(l){return l.endAngle}function mn(l){return l&&l.padAngle}function pn(l,h,q,w,v,A,S,a){var D=q-l,i=w-h,n=S-v,d=a-A,u=d*D-n*i;if(!(u*u<y))return u=(n*(h-A)-d*(l-v))/u,[l+u*D,h+u*i]}function Q(l,h,q,w,v,A,S){var a=l-q,D=h-w,i=(S?A:-A)/F(a*a+D*D),n=i*D,d=-i*a,u=l+n,s=h+d,f=q+n,c=w+d,X=(u+f)/2,t=(s+c)/2,m=f-u,g=c-s,R=m*m+g*g,T=v-A,P=u*c-f*s,E=(g<0?-1:1)*F(fn(0,T*T*R-P*P)),G=(P*g-m*E)/R,J=(-P*m-g*E)/R,I=(P*g+m*E)/R,p=(-P*m+g*E)/R,x=G-X,e=J-t,r=I-X,k=p-t;return x*x+e*e>r*r+k*k&&(G=I,J=p),{cx:G,cy:J,x01:-n,y01:-d,x11:G*(v/T-1),y11:J*(v/T-1)}}function hn(){var l=cn,h=yn,q=O(0),w=null,v=gn,A=dn,S=mn,a=null,D=ln(i);function i(){var n,d,u=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,X=un(c-f),t=c>f;if(a||(a=n=D()),s<u&&(d=s,s=u,u=d),!(s>y))a.moveTo(0,0);else if(X>tn-y)a.moveTo(s*z(f),s*b(f)),a.arc(0,0,s,f,c,!t),u>y&&(a.moveTo(u*z(c),u*b(c)),a.arc(0,0,u,c,f,t));else{var m=f,g=c,R=f,T=c,P=X,E=X,G=S.apply(this,arguments)/2,J=G>y&&(w?+w.apply(this,arguments):F(u*u+s*s)),I=_(un(s-u)/2,+q.apply(this,arguments)),p=I,x=I,e,r;if(J>y){var k=sn(J/u*b(G)),H=sn(J/s*b(G));(P-=k*2)>y?(k*=t?1:-1,R+=k,T-=k):(P=0,R=T=(f+c)/2),(E-=H*2)>y?(H*=t?1:-1,m+=H,g-=H):(E=0,m=g=(f+c)/2)}var B=s*z(m),C=s*b(m),K=u*z(T),L=u*b(T);if(I>y){var M=s*z(g),N=s*b(g),U=u*z(R),V=u*b(R),j;if(X<rn)if(j=pn(B,C,U,V,M,N,K,L)){var W=B-j[0],Y=C-j[1],Z=M-j[0],$=N-j[1],nn=1/b(on((W*Z+Y*$)/(F(W*W+Y*Y)*F(Z*Z+$*$)))/2),en=F(j[0]*j[0]+j[1]*j[1]);p=_(I,(u-en)/(nn-1)),x=_(I,(s-en)/(nn+1))}else p=x=0}E>y?x>y?(e=Q(U,V,B,C,s,x,t),r=Q(M,N,K,L,s,x,t),a.moveTo(e.cx+e.x01,e.cy+e.y01),x<I?a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,x,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,s,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),!t),a.arc(r.cx,r.cy,x,o(r.y11,r.x11),o(r.y01,r.x01),!t))):(a.moveTo(B,C),a.arc(0,0,s,m,g,!t)):a.moveTo(B,C),!(u>y)||!(P>y)?a.lineTo(K,L):p>y?(e=Q(K,L,M,N,u,-p,t),r=Q(B,C,U,V,u,-p,t),a.lineTo(e.cx+e.x01,e.cy+e.y01),p<I?a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(r.y01,r.x01),!t):(a.arc(e.cx,e.cy,p,o(e.y01,e.x01),o(e.y11,e.x11),!t),a.arc(0,0,u,o(e.cy+e.y11,e.cx+e.x11),o(r.cy+r.y11,r.cx+r.x11),t),a.arc(r.cx,r.cy,p,o(r.y11,r.x11),o(r.y01,r.x01),!t))):a.arc(0,0,u,T,R,t)}if(a.closePath(),n)return a=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,d=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[z(d)*n,b(d)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:O(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:O(+n),i):h},i.cornerRadius=function(n){return arguments.length?(q=typeof n=="function"?n:O(+n),i):q},i.padRadius=function(n){return arguments.length?(w=n==null?null:typeof n=="function"?n:O(+n),i):w},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:O(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:O(+n),i):A},i.padAngle=function(n){return arguments.length?(S=typeof n=="function"?n:O(+n),i):S},i.context=function(n){return arguments.length?(a=n??null,i):a},i}export{hn as d};
|