Commit 40d218d4 authored by nanahira's avatar nanahira

bump to Koishi 4.10.4

parent 94128fe7
...@@ -9,12 +9,12 @@ ...@@ -9,12 +9,12 @@
"version": "4.3.0", "version": "4.3.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"koishi-thirdeye": "^11.1.13" "koishi-thirdeye": "^11.1.14"
}, },
"devDependencies": { "devDependencies": {
"@koishijs/plugin-console": "^4.5.4", "@koishijs/plugin-console": "^4.7.1",
"@koishijs/plugin-database-memory": "^2.0.0", "@koishijs/plugin-database-memory": "^2.0.1",
"@koishijs/plugin-sandbox": "^2.3.5", "@koishijs/plugin-sandbox": "^2.4.0",
"@types/jest": "^29.2.0", "@types/jest": "^29.2.0",
"@types/node": "^17.0.22", "@types/node": "^17.0.22",
"@types/supertest": "^2.0.12", "@types/supertest": "^2.0.12",
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
"ws": "^8.5.0" "ws": "^8.5.0"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.3" "koishi": "^4.10.4"
} }
}, },
"node_modules/@ampproject/remapping": { "node_modules/@ampproject/remapping": {
...@@ -1340,84 +1340,85 @@ ...@@ -1340,84 +1340,85 @@
} }
}, },
"node_modules/@koishijs/core": { "node_modules/@koishijs/core": {
"version": "4.10.3", "version": "4.10.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.3.tgz", "resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.4.tgz",
"integrity": "sha512-h/YI1nM1gVeh/fvxIJdQpkG8l/oMdNk3ibUi0Ae6PumnMa+IsjzwbCUFAbn7jSTic/uGULBQ8ALYchba1Q+siw==", "integrity": "sha512-uhR2RoslHs3ynhElWP+jIwzqn8PprlPGF10qWQvTpW1l5XmPr+PiWgf5HmAGt1XucWcuij9n1Z179yqZs6xLNg==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koishijs/utils": "^6.2.5", "@koishijs/utils": "^6.2.6",
"@minatojs/core": "^2.0.1", "@minatojs/core": "^2.0.1",
"@satorijs/core": "^1.4.2", "@satorijs/core": "^1.4.3",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cosmokit": "^1.3.3" "cosmokit": "^1.3.3",
"fastest-levenshtein": "^1.0.16"
} }
}, },
"node_modules/@koishijs/plugin-console": { "node_modules/@koishijs/plugin-console": {
"version": "4.6.11", "version": "4.7.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-4.6.11.tgz", "resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-4.7.1.tgz",
"integrity": "sha512-ch1xMRMWLRrVJ3eiZYpkmoDY8pKYLa4OjL+DFC39es1cJBh/jfb38vY8SDkwybtm4CMqRpjU9m4rrzww204e/Q==", "integrity": "sha512-pkoWnR1j/XQkZ3veUypmtaeyH21Fo3BIPRGN5Ct1TVFzMrj/d553hc4EmHXO2Qi2HEQnYYMaVSY3ApWWHLUVzA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"open": "^8.4.0", "open": "^8.4.0",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"ws": "^8.8.1" "ws": "^8.11.0"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.0" "koishi": "^4.10.4"
} }
}, },
"node_modules/@koishijs/plugin-database-memory": { "node_modules/@koishijs/plugin-database-memory": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-2.0.1.tgz",
"integrity": "sha512-KBuSdBHQQ4KgeiC3B0twAW/RX1n5g4ZuUDB7eV9XsON9ojd+zcfOw5v6h+sw9Ff0HvMNoPc+lRquPNx+kuPc/w==", "integrity": "sha512-QIkycpWksRipUXjfRMHvGN1I4qNnLDiO9kyAYAGHVLdCRmNg9mkiXANAmtnpPGgpZB9wxnyBR0bbBEfwVxAZsw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@minatojs/driver-memory": "^2.0.0" "@minatojs/driver-memory": "^2.0.1"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.2" "koishi": "^4.10.4"
} }
}, },
"node_modules/@koishijs/plugin-sandbox": { "node_modules/@koishijs/plugin-sandbox": {
"version": "2.3.5", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.3.5.tgz", "resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.4.0.tgz",
"integrity": "sha512-Rp8TOVvJ236Oncp00AkTZsr5Z7fTUlQXWBNCLGBURvlKJLeqOcMu7UqbbIWdNw3pebMJ8zuyRVGoFz+SoFZIKA==", "integrity": "sha512-HUsxONww1CUwA18b1cGsGRFA0p1e9B1nYMek5iUQc7eCxkTjRmnmwjcskOmvOPlLqlziE59NV82jD7M/aUd9Rg==",
"dev": true, "dev": true,
"peerDependencies": { "peerDependencies": {
"@koishijs/plugin-console": "^4.6.11", "@koishijs/plugin-console": "^4.6.12",
"koishi": "^4.10.0" "koishi": "^4.10.2"
} }
}, },
"node_modules/@koishijs/utils": { "node_modules/@koishijs/utils": {
"version": "6.2.5", "version": "6.2.6",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.2.5.tgz", "resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.2.6.tgz",
"integrity": "sha512-ZpiHO6LBRIUm/bWJlGHC2N/f6hl0jgVU2QmUwiL3PfAH4i2xu17TZpU8hoQkrP751Lw37W9GcXoxw22mGaqdXw==", "integrity": "sha512-JAqzAmTLwLwd4LHRoLjMvCojHeyDiGaKqgpd7p3/PMeXL7aHtN+owPv0xtn9jB375llGHYQT51PMkiLMbAIpYw==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"cosmokit": "^1.3.3", "cosmokit": "^1.3.3",
"inaba": "^1.1.1", "inaba": "^1.1.1",
"reggol": "^1.3.1", "reggol": "^1.3.2",
"schemastery": "^3.5.4" "schemastery": "^3.5.4"
} }
}, },
"node_modules/@minatojs/core": { "node_modules/@minatojs/core": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.0.2.tgz",
"integrity": "sha512-li7js0EZGw3PV28VM9B/aBX2QeKwvk32U4Haf4uvq0iBTH7L4JRq4YbOqlO5ZjrExoZS4RHBZtz4wzfW3Ay3jw==", "integrity": "sha512-pkjdHhcTuQ1QQdBCTXQLKudm2l4JBtxwLdAtmYqCK+dUxJlAod2t7eDkCFpzcUXbQzsXWJplvs7uYSIPQUYSyA==",
"dependencies": { "dependencies": {
"cosmokit": "^1.3.3" "cosmokit": "^1.3.4"
} }
}, },
"node_modules/@minatojs/driver-memory": { "node_modules/@minatojs/driver-memory": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-2.0.1.tgz",
"integrity": "sha512-fxM8nYKDwWqhTWncKAxGJ2HG+GH136kYV6DnI83lRUFetcUIJRlzcT4q8dH6ym8IuD3GIKCVXF67RlvyODpygg==", "integrity": "sha512-kby08dhomI8tYWUXTzZwiUDWGfsVhCxzHLIN3riEciaJFGmCxHwvRXiVthAsUfwcWthfRZRKJ0jxVv54NQ3uRw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"cosmokit": "^1.3.3" "cosmokit": "^1.3.4"
}, },
"peerDependencies": { "peerDependencies": {
"@minatojs/core": "^2.0.0" "@minatojs/core": "^2.0.2"
} }
}, },
"node_modules/@nodelib/fs.scandir": { "node_modules/@nodelib/fs.scandir": {
...@@ -1456,37 +1457,37 @@ ...@@ -1456,37 +1457,37 @@
} }
}, },
"node_modules/@satorijs/core": { "node_modules/@satorijs/core": {
"version": "1.4.2", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.2.tgz", "resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.3.tgz",
"integrity": "sha512-ae51u7DJuw/E+R+93UvtBIX8AKiXy6gOzKNcyxMCuxlydVr1RWiIffeOXNwYR0Yl6PJVVNguN5zPIGI+lKvLnw==", "integrity": "sha512-L0VJVq3jlb8r4IaYlNBMfh4A3vskDMeQwl9Y5lgXBlShxsMzn2XcgtDKfa4WgNH4HzRFjS8iLkVBSo9jDW+3TA==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@satorijs/element": "^2.1.4", "@satorijs/element": "^2.1.7",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cordis-axios": "^2.1.5", "cordis-axios": "^2.1.5",
"cosmokit": "^1.3.3", "cosmokit": "^1.3.3",
"reggol": "^1.3.2", "reggol": "^1.3.2",
"schemastery": "^3.5.4", "schemastery": "^3.5.4",
"ws": "^8.8.1" "ws": "^8.11.0"
} }
}, },
"node_modules/@satorijs/element": { "node_modules/@satorijs/element": {
"version": "2.1.6", "version": "2.1.8",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.1.6.tgz", "resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.1.8.tgz",
"integrity": "sha512-ROnWE2uLJKG7hTmukqAji3UfNzzMWCAHMKM9UvBi24uKR93rlk9lqcaRIuuPhlQwmbbwrGx3Qf+F0jkiv6LdKw==", "integrity": "sha512-a1/ClyPKJQdv07RgUANdOahULTiJE7H7TRaP6w6d+DB46rh9KAvZyhp3tDgMBKBm/3bOvfpieXWExgDdQVgsBA==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"cosmokit": "^1.3.3" "cosmokit": "^1.3.3"
} }
}, },
"node_modules/@satorijs/satori": { "node_modules/@satorijs/satori": {
"version": "1.4.2", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.2.tgz", "resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.3.tgz",
"integrity": "sha512-6Sb/swPSJz64l8dz4WC+tlSfX07qK7iBDpzMvLf8h0FRYoWmYNJEFn3pXUentG3wqwVMpt/G1ERcftAmolkDWw==", "integrity": "sha512-XgMolxa9/9gWf4+VKqLioBkzuZA0QXQIMWZHFET1dVvQjbxNhaETF0NBmwFSjbVBOWvTN8vecTGTSLc3pQn+Rw==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koa/router": "^10.1.1", "@koa/router": "^10.1.1",
"@satorijs/core": "1.4.2", "@satorijs/core": "1.4.3",
"@types/koa": "*", "@types/koa": "*",
"@types/koa__router": "*", "@types/koa__router": "*",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
...@@ -1499,7 +1500,7 @@ ...@@ -1499,7 +1500,7 @@
"path-to-regexp": "^6.2.1", "path-to-regexp": "^6.2.1",
"schemastery": "^3.5.4", "schemastery": "^3.5.4",
"socks-proxy-agent": "^5.0.1", "socks-proxy-agent": "^5.0.1",
"ws": "^8.8.1" "ws": "^8.11.0"
}, },
"engines": { "engines": {
"node": ">=12.0.0" "node": ">=12.0.0"
...@@ -2932,9 +2933,9 @@ ...@@ -2932,9 +2933,9 @@
} }
}, },
"node_modules/cosmokit": { "node_modules/cosmokit": {
"version": "1.3.3", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.3.3.tgz", "resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.3.4.tgz",
"integrity": "sha512-jpEp5zDrGbycu8AdaCjmNNr2J617NAFvAU6GM8o/dJP2/pe80qTbPoflqyJzAuMhiaC6QCXlBP0KCusTsDemPQ==" "integrity": "sha512-E4G29C9xwvi1mcihAYz1R0NGbu8lYkxi/MRtnfG8qJ10OGJNhgdvgE3X7XgpMHEFkhEGT+YTnjUvQA53gI7Vog=="
}, },
"node_modules/create-require": { "node_modules/create-require": {
"version": "1.1.1", "version": "1.1.1",
...@@ -4085,7 +4086,6 @@ ...@@ -4085,7 +4086,6 @@
"version": "1.0.16", "version": "1.0.16",
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
"dev": true,
"engines": { "engines": {
"node": ">= 4.9.1" "node": ">= 4.9.1"
} }
...@@ -6247,14 +6247,14 @@ ...@@ -6247,14 +6247,14 @@
} }
}, },
"node_modules/koishi": { "node_modules/koishi": {
"version": "4.10.3", "version": "4.10.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.3.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.4.tgz",
"integrity": "sha512-eLv4A39atVmO8E9HlUyoVtc3kGawSRxyYyuN3ROE6Sz5hvX0jq73O6CsyZaWarksRYjPHvQKqndgrBNDFOs8aQ==", "integrity": "sha512-06ylHCmyyj8buQxPcnuSap7Yco6HtzC0o61AwBuBOikdILQj2WicexztohuLhQ/9ElA3pEOsJaHzDa/9Lh71Ng==",
"peer": true, "peer": true,
"dependencies": { "dependencies": {
"@koishijs/core": "^4.10.3", "@koishijs/core": "^4.10.4",
"@koishijs/utils": "^6.2.5", "@koishijs/utils": "^6.2.6",
"@satorijs/satori": "^1.4.2", "@satorijs/satori": "^1.4.3",
"file-type": "^16.5.4", "file-type": "^16.5.4",
"ns-require": "^1.1.4" "ns-require": "^1.1.4"
}, },
...@@ -6263,16 +6263,16 @@ ...@@ -6263,16 +6263,16 @@
} }
}, },
"node_modules/koishi-thirdeye": { "node_modules/koishi-thirdeye": {
"version": "11.1.13", "version": "11.1.14",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.1.13.tgz", "resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.1.14.tgz",
"integrity": "sha512-8gT8XyXjT/VqiB9U7hMdWdUVBc3mbKRFTyenwYgZDSTl7VDxgCeF42vq3AGLdTbK9d0rS9lDLbluDhyKv77o9Q==", "integrity": "sha512-poQZwMfkiurvDMdEhfa0TnhRhe/7VNismNDo6xcZAZVUfDl4Q8USCYEVwlmUvi6GSWl4X+4a51YL3VUZQX+GrA==",
"dependencies": { "dependencies": {
"minato-decorators": "^2.2.1", "minato-decorators": "^2.2.1",
"rxjs": "^7.5.6", "rxjs": "^7.5.6",
"satori-decorators": "^1.1.1" "satori-decorators": "^1.1.1"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.3" "koishi": "^4.10.4"
} }
}, },
"node_modules/leven": { "node_modules/leven": {
...@@ -8331,9 +8331,9 @@ ...@@ -8331,9 +8331,9 @@
"dev": true "dev": true
}, },
"node_modules/ws": { "node_modules/ws": {
"version": "8.8.1", "version": "8.11.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
"integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
"engines": { "engines": {
"node": ">=10.0.0" "node": ">=10.0.0"
}, },
...@@ -9448,72 +9448,73 @@ ...@@ -9448,72 +9448,73 @@
} }
}, },
"@koishijs/core": { "@koishijs/core": {
"version": "4.10.3", "version": "4.10.4",
"resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.3.tgz", "resolved": "https://registry.npmjs.org/@koishijs/core/-/core-4.10.4.tgz",
"integrity": "sha512-h/YI1nM1gVeh/fvxIJdQpkG8l/oMdNk3ibUi0Ae6PumnMa+IsjzwbCUFAbn7jSTic/uGULBQ8ALYchba1Q+siw==", "integrity": "sha512-uhR2RoslHs3ynhElWP+jIwzqn8PprlPGF10qWQvTpW1l5XmPr+PiWgf5HmAGt1XucWcuij9n1Z179yqZs6xLNg==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koishijs/utils": "^6.2.5", "@koishijs/utils": "^6.2.6",
"@minatojs/core": "^2.0.1", "@minatojs/core": "^2.0.1",
"@satorijs/core": "^1.4.2", "@satorijs/core": "^1.4.3",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cosmokit": "^1.3.3" "cosmokit": "^1.3.3",
"fastest-levenshtein": "^1.0.16"
} }
}, },
"@koishijs/plugin-console": { "@koishijs/plugin-console": {
"version": "4.6.11", "version": "4.7.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-4.6.11.tgz", "resolved": "https://registry.npmjs.org/@koishijs/plugin-console/-/plugin-console-4.7.1.tgz",
"integrity": "sha512-ch1xMRMWLRrVJ3eiZYpkmoDY8pKYLa4OjL+DFC39es1cJBh/jfb38vY8SDkwybtm4CMqRpjU9m4rrzww204e/Q==", "integrity": "sha512-pkoWnR1j/XQkZ3veUypmtaeyH21Fo3BIPRGN5Ct1TVFzMrj/d553hc4EmHXO2Qi2HEQnYYMaVSY3ApWWHLUVzA==",
"dev": true, "dev": true,
"requires": { "requires": {
"open": "^8.4.0", "open": "^8.4.0",
"uuid": "^8.3.2", "uuid": "^8.3.2",
"ws": "^8.8.1" "ws": "^8.11.0"
} }
}, },
"@koishijs/plugin-database-memory": { "@koishijs/plugin-database-memory": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@koishijs/plugin-database-memory/-/plugin-database-memory-2.0.1.tgz",
"integrity": "sha512-KBuSdBHQQ4KgeiC3B0twAW/RX1n5g4ZuUDB7eV9XsON9ojd+zcfOw5v6h+sw9Ff0HvMNoPc+lRquPNx+kuPc/w==", "integrity": "sha512-QIkycpWksRipUXjfRMHvGN1I4qNnLDiO9kyAYAGHVLdCRmNg9mkiXANAmtnpPGgpZB9wxnyBR0bbBEfwVxAZsw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@minatojs/driver-memory": "^2.0.0" "@minatojs/driver-memory": "^2.0.1"
} }
}, },
"@koishijs/plugin-sandbox": { "@koishijs/plugin-sandbox": {
"version": "2.3.5", "version": "2.4.0",
"resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.3.5.tgz", "resolved": "https://registry.npmjs.org/@koishijs/plugin-sandbox/-/plugin-sandbox-2.4.0.tgz",
"integrity": "sha512-Rp8TOVvJ236Oncp00AkTZsr5Z7fTUlQXWBNCLGBURvlKJLeqOcMu7UqbbIWdNw3pebMJ8zuyRVGoFz+SoFZIKA==", "integrity": "sha512-HUsxONww1CUwA18b1cGsGRFA0p1e9B1nYMek5iUQc7eCxkTjRmnmwjcskOmvOPlLqlziE59NV82jD7M/aUd9Rg==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
"@koishijs/utils": { "@koishijs/utils": {
"version": "6.2.5", "version": "6.2.6",
"resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.2.5.tgz", "resolved": "https://registry.npmjs.org/@koishijs/utils/-/utils-6.2.6.tgz",
"integrity": "sha512-ZpiHO6LBRIUm/bWJlGHC2N/f6hl0jgVU2QmUwiL3PfAH4i2xu17TZpU8hoQkrP751Lw37W9GcXoxw22mGaqdXw==", "integrity": "sha512-JAqzAmTLwLwd4LHRoLjMvCojHeyDiGaKqgpd7p3/PMeXL7aHtN+owPv0xtn9jB375llGHYQT51PMkiLMbAIpYw==",
"peer": true, "peer": true,
"requires": { "requires": {
"cosmokit": "^1.3.3", "cosmokit": "^1.3.3",
"inaba": "^1.1.1", "inaba": "^1.1.1",
"reggol": "^1.3.1", "reggol": "^1.3.2",
"schemastery": "^3.5.4" "schemastery": "^3.5.4"
} }
}, },
"@minatojs/core": { "@minatojs/core": {
"version": "2.0.1", "version": "2.0.2",
"resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.0.1.tgz", "resolved": "https://registry.npmjs.org/@minatojs/core/-/core-2.0.2.tgz",
"integrity": "sha512-li7js0EZGw3PV28VM9B/aBX2QeKwvk32U4Haf4uvq0iBTH7L4JRq4YbOqlO5ZjrExoZS4RHBZtz4wzfW3Ay3jw==", "integrity": "sha512-pkjdHhcTuQ1QQdBCTXQLKudm2l4JBtxwLdAtmYqCK+dUxJlAod2t7eDkCFpzcUXbQzsXWJplvs7uYSIPQUYSyA==",
"requires": { "requires": {
"cosmokit": "^1.3.3" "cosmokit": "^1.3.4"
} }
}, },
"@minatojs/driver-memory": { "@minatojs/driver-memory": {
"version": "2.0.0", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-2.0.0.tgz", "resolved": "https://registry.npmjs.org/@minatojs/driver-memory/-/driver-memory-2.0.1.tgz",
"integrity": "sha512-fxM8nYKDwWqhTWncKAxGJ2HG+GH136kYV6DnI83lRUFetcUIJRlzcT4q8dH6ym8IuD3GIKCVXF67RlvyODpygg==", "integrity": "sha512-kby08dhomI8tYWUXTzZwiUDWGfsVhCxzHLIN3riEciaJFGmCxHwvRXiVthAsUfwcWthfRZRKJ0jxVv54NQ3uRw==",
"dev": true, "dev": true,
"requires": { "requires": {
"cosmokit": "^1.3.3" "cosmokit": "^1.3.4"
} }
}, },
"@nodelib/fs.scandir": { "@nodelib/fs.scandir": {
...@@ -9543,37 +9544,37 @@ ...@@ -9543,37 +9544,37 @@
} }
}, },
"@satorijs/core": { "@satorijs/core": {
"version": "1.4.2", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.2.tgz", "resolved": "https://registry.npmjs.org/@satorijs/core/-/core-1.4.3.tgz",
"integrity": "sha512-ae51u7DJuw/E+R+93UvtBIX8AKiXy6gOzKNcyxMCuxlydVr1RWiIffeOXNwYR0Yl6PJVVNguN5zPIGI+lKvLnw==", "integrity": "sha512-L0VJVq3jlb8r4IaYlNBMfh4A3vskDMeQwl9Y5lgXBlShxsMzn2XcgtDKfa4WgNH4HzRFjS8iLkVBSo9jDW+3TA==",
"peer": true, "peer": true,
"requires": { "requires": {
"@satorijs/element": "^2.1.4", "@satorijs/element": "^2.1.7",
"cordis": "^2.6.0", "cordis": "^2.6.0",
"cordis-axios": "^2.1.5", "cordis-axios": "^2.1.5",
"cosmokit": "^1.3.3", "cosmokit": "^1.3.3",
"reggol": "^1.3.2", "reggol": "^1.3.2",
"schemastery": "^3.5.4", "schemastery": "^3.5.4",
"ws": "^8.8.1" "ws": "^8.11.0"
} }
}, },
"@satorijs/element": { "@satorijs/element": {
"version": "2.1.6", "version": "2.1.8",
"resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.1.6.tgz", "resolved": "https://registry.npmjs.org/@satorijs/element/-/element-2.1.8.tgz",
"integrity": "sha512-ROnWE2uLJKG7hTmukqAji3UfNzzMWCAHMKM9UvBi24uKR93rlk9lqcaRIuuPhlQwmbbwrGx3Qf+F0jkiv6LdKw==", "integrity": "sha512-a1/ClyPKJQdv07RgUANdOahULTiJE7H7TRaP6w6d+DB46rh9KAvZyhp3tDgMBKBm/3bOvfpieXWExgDdQVgsBA==",
"peer": true, "peer": true,
"requires": { "requires": {
"cosmokit": "^1.3.3" "cosmokit": "^1.3.3"
} }
}, },
"@satorijs/satori": { "@satorijs/satori": {
"version": "1.4.2", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.2.tgz", "resolved": "https://registry.npmjs.org/@satorijs/satori/-/satori-1.4.3.tgz",
"integrity": "sha512-6Sb/swPSJz64l8dz4WC+tlSfX07qK7iBDpzMvLf8h0FRYoWmYNJEFn3pXUentG3wqwVMpt/G1ERcftAmolkDWw==", "integrity": "sha512-XgMolxa9/9gWf4+VKqLioBkzuZA0QXQIMWZHFET1dVvQjbxNhaETF0NBmwFSjbVBOWvTN8vecTGTSLc3pQn+Rw==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koa/router": "^10.1.1", "@koa/router": "^10.1.1",
"@satorijs/core": "1.4.2", "@satorijs/core": "1.4.3",
"@types/koa": "*", "@types/koa": "*",
"@types/koa__router": "*", "@types/koa__router": "*",
"@types/ws": "^8.5.3", "@types/ws": "^8.5.3",
...@@ -9586,7 +9587,7 @@ ...@@ -9586,7 +9587,7 @@
"path-to-regexp": "^6.2.1", "path-to-regexp": "^6.2.1",
"schemastery": "^3.5.4", "schemastery": "^3.5.4",
"socks-proxy-agent": "^5.0.1", "socks-proxy-agent": "^5.0.1",
"ws": "^8.8.1" "ws": "^8.11.0"
} }
}, },
"@sinclair/typebox": { "@sinclair/typebox": {
...@@ -10767,9 +10768,9 @@ ...@@ -10767,9 +10768,9 @@
} }
}, },
"cosmokit": { "cosmokit": {
"version": "1.3.3", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.3.3.tgz", "resolved": "https://registry.npmjs.org/cosmokit/-/cosmokit-1.3.4.tgz",
"integrity": "sha512-jpEp5zDrGbycu8AdaCjmNNr2J617NAFvAU6GM8o/dJP2/pe80qTbPoflqyJzAuMhiaC6QCXlBP0KCusTsDemPQ==" "integrity": "sha512-E4G29C9xwvi1mcihAYz1R0NGbu8lYkxi/MRtnfG8qJ10OGJNhgdvgE3X7XgpMHEFkhEGT+YTnjUvQA53gI7Vog=="
}, },
"create-require": { "create-require": {
"version": "1.1.1", "version": "1.1.1",
...@@ -11533,8 +11534,7 @@ ...@@ -11533,8 +11534,7 @@
"fastest-levenshtein": { "fastest-levenshtein": {
"version": "1.0.16", "version": "1.0.16",
"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg=="
"dev": true
}, },
"fastq": { "fastq": {
"version": "1.13.0", "version": "1.13.0",
...@@ -13180,22 +13180,22 @@ ...@@ -13180,22 +13180,22 @@
} }
}, },
"koishi": { "koishi": {
"version": "4.10.3", "version": "4.10.4",
"resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.3.tgz", "resolved": "https://registry.npmjs.org/koishi/-/koishi-4.10.4.tgz",
"integrity": "sha512-eLv4A39atVmO8E9HlUyoVtc3kGawSRxyYyuN3ROE6Sz5hvX0jq73O6CsyZaWarksRYjPHvQKqndgrBNDFOs8aQ==", "integrity": "sha512-06ylHCmyyj8buQxPcnuSap7Yco6HtzC0o61AwBuBOikdILQj2WicexztohuLhQ/9ElA3pEOsJaHzDa/9Lh71Ng==",
"peer": true, "peer": true,
"requires": { "requires": {
"@koishijs/core": "^4.10.3", "@koishijs/core": "^4.10.4",
"@koishijs/utils": "^6.2.5", "@koishijs/utils": "^6.2.6",
"@satorijs/satori": "^1.4.2", "@satorijs/satori": "^1.4.3",
"file-type": "^16.5.4", "file-type": "^16.5.4",
"ns-require": "^1.1.4" "ns-require": "^1.1.4"
} }
}, },
"koishi-thirdeye": { "koishi-thirdeye": {
"version": "11.1.13", "version": "11.1.14",
"resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.1.13.tgz", "resolved": "https://registry.npmjs.org/koishi-thirdeye/-/koishi-thirdeye-11.1.14.tgz",
"integrity": "sha512-8gT8XyXjT/VqiB9U7hMdWdUVBc3mbKRFTyenwYgZDSTl7VDxgCeF42vq3AGLdTbK9d0rS9lDLbluDhyKv77o9Q==", "integrity": "sha512-poQZwMfkiurvDMdEhfa0TnhRhe/7VNismNDo6xcZAZVUfDl4Q8USCYEVwlmUvi6GSWl4X+4a51YL3VUZQX+GrA==",
"requires": { "requires": {
"minato-decorators": "^2.2.1", "minato-decorators": "^2.2.1",
"rxjs": "^7.5.6", "rxjs": "^7.5.6",
...@@ -14659,9 +14659,9 @@ ...@@ -14659,9 +14659,9 @@
"dev": true "dev": true
}, },
"ws": { "ws": {
"version": "8.8.1", "version": "8.11.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
"integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
"requires": {} "requires": {}
}, },
"y18n": { "y18n": {
......
...@@ -44,15 +44,15 @@ ...@@ -44,15 +44,15 @@
"testEnvironment": "node" "testEnvironment": "node"
}, },
"dependencies": { "dependencies": {
"koishi-thirdeye": "^11.1.13" "koishi-thirdeye": "^11.1.14"
}, },
"peerDependencies": { "peerDependencies": {
"koishi": "^4.10.3" "koishi": "^4.10.4"
}, },
"devDependencies": { "devDependencies": {
"@koishijs/plugin-console": "^4.5.4", "@koishijs/plugin-console": "^4.7.1",
"@koishijs/plugin-database-memory": "^2.0.0", "@koishijs/plugin-database-memory": "^2.0.1",
"@koishijs/plugin-sandbox": "^2.3.5", "@koishijs/plugin-sandbox": "^2.4.0",
"@types/jest": "^29.2.0", "@types/jest": "^29.2.0",
"@types/node": "^17.0.22", "@types/node": "^17.0.22",
"@types/supertest": "^2.0.12", "@types/supertest": "^2.0.12",
......
import { getSessionId, Random, Session } from 'koishi'; import { PromptOptions, Random, Session } from 'koishi';
import ApiBot from './index'; import ApiBot from './index';
import { Prompt } from './def/prompt'; import { Prompt } from './def/prompt';
export class ApiSession extends Session { export class ApiSession extends Session {
storedMessages: string[] = []; storedMessages: string[] = [];
private midResolver: () => void; private midResolver: () => void;
...@@ -20,6 +21,10 @@ export class ApiSession extends Session { ...@@ -20,6 +21,10 @@ export class ApiSession extends Session {
return this.gatherResponseMessages(); return this.gatherResponseMessages();
} }
getIdentifier() {
return '' + this.userId + this.channelId;
}
midResolve(finish = false) { midResolve(finish = false) {
if (!this.midResolver) { if (!this.midResolver) {
return; return;
...@@ -45,8 +50,15 @@ export class ApiSession extends Session { ...@@ -45,8 +50,15 @@ export class ApiSession extends Session {
return result; return result;
} }
prompt(timeout = this.app.options.delay.prompt) { prompt(...args: any[]) {
const identifier = getSessionId(this); const callback: (session: Session) => any =
typeof args[0] === 'function'
? args.shift()
: (session) => session.content;
const options: PromptOptions =
typeof args[0] === 'number' ? { timeout: args[0] } : args[0] ?? {};
const timeout = options.timeout ?? this.app.config.delay.prompt;
const identifier = this.getIdentifier();
const prom = new Promise<string>((resolve) => { const prom = new Promise<string>((resolve) => {
const prompt: Prompt = { const prompt: Prompt = {
resolver: resolve, resolver: resolve,
...@@ -54,6 +66,7 @@ export class ApiSession extends Session { ...@@ -54,6 +66,7 @@ export class ApiSession extends Session {
this.bot.resolvePrompt(identifier, undefined); this.bot.resolvePrompt(identifier, undefined);
}, timeout), }, timeout),
session: this, session: this,
contentCallback: callback,
}; };
this.bot.prompts.set(identifier, prompt); this.bot.prompts.set(identifier, prompt);
}); });
......
...@@ -10,6 +10,9 @@ export class ApiPluginConfig { ...@@ -10,6 +10,9 @@ export class ApiPluginConfig {
@SchemaProperty({ description: '验证 Bearer 令牌。' }) @SchemaProperty({ description: '验证 Bearer 令牌。' })
token?: string; token?: string;
@SchemaProperty({ description: '机器人 ID。', default: 'koishi' })
selfId?: string;
} }
export type ApiPluginConfigLike = Partial<ApiPluginConfig>; export type ApiPluginConfigLike = Partial<ApiPluginConfig>;
...@@ -4,4 +4,5 @@ export interface Prompt { ...@@ -4,4 +4,5 @@ export interface Prompt {
resolver: (value: string) => void; resolver: (value: string) => void;
timeout: NodeJS.Timeout; timeout: NodeJS.Timeout;
session: ApiSession; session: ApiSession;
contentCallback: (session: ApiSession) => any;
} }
...@@ -8,12 +8,15 @@ import { ...@@ -8,12 +8,15 @@ import {
Post, Post,
KoaContext, KoaContext,
PluginSchema, PluginSchema,
OnSelf,
Reusable,
} from 'koishi-thirdeye'; } from 'koishi-thirdeye';
import { Bot, Context, getSessionId, Next, Random } from 'koishi'; import { Bot, Context, Fragment, Next, Random } from 'koishi';
import { ApiSession } from './api-session'; import { ApiSession } from './api-session';
import { Prompt } from './def/prompt'; import { Prompt } from './def/prompt';
export * from './config'; export * from './config';
@Reusable()
@PluginSchema(ApiPluginConfig) @PluginSchema(ApiPluginConfig)
@DefinePlugin() @DefinePlugin()
export default class ApiBot extends Bot { export default class ApiBot extends Bot {
...@@ -23,13 +26,13 @@ export default class ApiBot extends Bot { ...@@ -23,13 +26,13 @@ export default class ApiBot extends Bot {
prompts = new Map<string, Prompt>(); prompts = new Map<string, Prompt>();
constructor(public ctx: Context, config: ApiPluginConfigLike) { constructor(public ctx: Context, config: ApiPluginConfigLike) {
super(ctx, { platform: 'api', selfId: 'koishi' }); super(ctx, { platform: 'api', selfId: config.selfId });
} }
resolvePrompt(key: string, value: string) { resolvePrompt(key: string, session: ApiSession) {
const prompt = this.prompts.get(key); const prompt = this.prompts.get(key);
if (prompt) { if (prompt) {
prompt.resolver(value); prompt.resolver(prompt.contentCallback(session));
clearTimeout(prompt.timeout); clearTimeout(prompt.timeout);
this.prompts.delete(key); this.prompts.delete(key);
return prompt; return prompt;
...@@ -37,11 +40,12 @@ export default class ApiBot extends Bot { ...@@ -37,11 +40,12 @@ export default class ApiBot extends Bot {
return; return;
} }
@OnSelf('{{selfId}}')
@OnPlatform('api') @OnPlatform('api')
@UseMiddleware() @UseMiddleware()
async handlePrompt(session: ApiSession, next: Next) { private async handlePrompt(session: ApiSession, next: Next) {
const identifier = getSessionId(session); const identifier = session.getIdentifier();
const prompt = this.resolvePrompt(identifier, session.content); const prompt = this.resolvePrompt(identifier, session);
if (!prompt) { if (!prompt) {
return next(); return next();
} }
...@@ -55,7 +59,7 @@ export default class ApiBot extends Bot { ...@@ -55,7 +59,7 @@ export default class ApiBot extends Bot {
private pluginConfig: ApiPluginConfig; private pluginConfig: ApiPluginConfig;
@Post('{{path}}') @Post('{{path}}')
async onHttpPost(ctx: KoaContext) { private async onHttpPost(ctx: KoaContext) {
if (this.pluginConfig.token) { if (this.pluginConfig.token) {
const header = ctx.request.headers['authorization']; const header = ctx.request.headers['authorization'];
const tokenFromRequest = header?.startsWith('Bearer ') const tokenFromRequest = header?.startsWith('Bearer ')
...@@ -106,11 +110,11 @@ export default class ApiBot extends Bot { ...@@ -106,11 +110,11 @@ export default class ApiBot extends Bot {
ctx.body = { messages: await session.waitForPattern() }; ctx.body = { messages: await session.waitForPattern() };
} }
async sendMessage(channelId: string, content: string) { async sendMessage(channelId: string, content: Fragment) {
return []; return [];
} }
async sendPrivateMessage(userId: string, content: string) { async sendPrivateMessage(userId: string, content: Fragment) {
return []; return [];
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment