diff --git a/.cnb.yml b/.cnb.yml index 621e020..e32c601 100644 --- a/.cnb.yml +++ b/.cnb.yml @@ -17,7 +17,7 @@ $: - vscode - docker imports: !reference [.common_env, imports] - stages: !reference [.dev_tempalte, stages] + stages: !reference [.dev_template, stages] .common_sync_to_gitea: &common_sync_to_gitea - <<: *common_env diff --git a/package.json b/package.json index ba99467..0aaa8a5 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@kevisual/local-proxy": "^0.0.8", "@kevisual/query": "^0.0.38", "@kevisual/use-config": "^1.0.28", - "@opencode-ai/plugin": "^1.1.44", + "@opencode-ai/plugin": "^1.1.47", "@rollup/plugin-alias": "^6.0.0", "@rollup/plugin-commonjs": "29.0.0", "@rollup/plugin-node-resolve": "^16.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8bfb00..055bf5c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: specifier: ^1.0.28 version: 1.0.28(dotenv@17.2.3) '@opencode-ai/plugin': - specifier: ^1.1.44 - version: 1.1.44 + specifier: ^1.1.47 + version: 1.1.47 '@rollup/plugin-alias': specifier: ^6.0.0 version: 6.0.0(rollup@4.57.1) @@ -351,11 +351,11 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@opencode-ai/plugin@1.1.44': - resolution: {integrity: sha512-5w66Dq2Fugwgr2yrd8obvnlIEjBOuya82UgfR/3z3EzlyNDi2sitQSYbz7CcOtwd89eZ0n/tH/JX2KDGVuzxTQ==} + '@opencode-ai/plugin@1.1.47': + resolution: {integrity: sha512-gNMPz72altieDfLhUw3VAT1xbduKi3w3wZ57GLeS7qU9W474HdvdIiLBnt2Xq3U7Ko0/0tvK3nzCker6IIDqmQ==} - '@opencode-ai/sdk@1.1.44': - resolution: {integrity: sha512-coQgtSSCbY46/GY+M5zG0rChiLSJWSjPERRt5L1hbjvDWvErelVV0ILPbd1+3CwJLFTedBYgotby2TcO8U0IfQ==} + '@opencode-ai/sdk@1.1.47': + resolution: {integrity: sha512-s3PBHwk1sP6Zt/lJxIWSBWZ1TnrI1nFxSP97LCODUytouAQgbygZ1oDH7O2sGMBEuGdA8B1nNSPla0aRSN3IpA==} '@rollup/plugin-alias@6.0.0': resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} @@ -1365,12 +1365,12 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@opencode-ai/plugin@1.1.44': + '@opencode-ai/plugin@1.1.47': dependencies: - '@opencode-ai/sdk': 1.1.44 + '@opencode-ai/sdk': 1.1.47 zod: 4.1.8 - '@opencode-ai/sdk@1.1.44': {} + '@opencode-ai/sdk@1.1.47': {} '@rollup/plugin-alias@6.0.0(rollup@4.57.1)': optionalDependencies: diff --git a/src/app.ts b/src/app.ts index 7163b22..1aca447 100644 --- a/src/app.ts +++ b/src/app.ts @@ -1,4 +1,4 @@ -import { QueryRouter, Route, RouteContext, RouteOpts } from './route.ts'; +import { AddOpts, QueryRouter, Route, RouteContext, RouteOpts } from './route.ts'; import { ServerNode, ServerNodeOpts } from './server/server.ts'; import { HandleCtx } from './server/server-base.ts'; import { ServerType } from './server/server-type.ts'; @@ -64,8 +64,8 @@ export class App extends QueryRouter { // @ts-ignore this.server.listen(...args); } - addRoute(route: Route) { - super.add(route); + addRoute(route: Route, opts?: AddOpts) { + super.add(route, opts); } Route = Route; diff --git a/src/route.ts b/src/route.ts index 8844748..555a2e8 100644 --- a/src/route.ts +++ b/src/route.ts @@ -231,8 +231,8 @@ export class Route void;[key: string]: any }) { - router.add(this); + addTo(router: QueryRouter | { add: (route: Route) => void;[key: string]: any }, opts?: AddOpts) { + router.add(this, opts); } setData(data: any) { this.data = data; @@ -244,6 +244,10 @@ export class Route r.path === route.path && r.key === route.key); + if (has !== -1) { - // remove the old route + if (!override) { + return; + } + // 如果存在,且override为true,则覆盖 this.routes.splice(has, 1); } this.routes.push(route); @@ -664,8 +677,8 @@ export class QueryRouterServer extends QueryRouter { setHandle(wrapperFn?: HandleFn, ctx?: RouteContext) { this.handle = this.getHandle(this, wrapperFn, ctx); } - addRoute(route: Route) { - this.add(route); + addRoute(route: Route, opts?: AddOpts) { + this.add(route, opts); } Route = Route; route(opts: RouteOpts): Route>;