neoctl 0.2.59 → 0.2.61

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.
@@ -15,25 +15,27 @@ export function createCompositionGateway(c, connections) {
15
15
  return { gateway: main, config, heldConnections: () => [resolved.main.api, ...fixed] };
16
16
  const routes = new Map(), same = (a, b) => a.trim().toLowerCase() === b.trim().toLowerCase();
17
17
  let current = resolved.main.api;
18
+ const select = (model = config.model) => {
19
+ if (same(model, config.model)) {
20
+ current = resolved.main.api;
21
+ return main;
22
+ }
23
+ const route = routeModel(model, resolved, connections);
24
+ if (!route)
25
+ throw new Error(`没有已启用的 API 提供模型 ${model},请在模型页为 API 添加该模型。`);
26
+ current = route.connection.id;
27
+ const key = route.connection.id + "\u0000" + route.protocol + "\u0000" + model.trim().toLowerCase();
28
+ let routed = routes.get(key);
29
+ if (!routed) {
30
+ routed = createModelGatewayFromConfig(connectionModelConfig(resolved, route.connection, route.protocol, model, false));
31
+ routes.set(key, routed);
32
+ }
33
+ return routed;
34
+ };
18
35
  const gateway = {
19
- stream(request) {
20
- const model = request.model ?? config.model;
21
- if (same(model, config.model)) {
22
- current = resolved.main.api;
23
- return main.stream(request);
24
- }
25
- const route = routeModel(model, resolved, connections);
26
- if (!route)
27
- throw new Error(`没有已启用的 API 提供模型 ${model},请在模型页为 API 添加该模型。`);
28
- current = route.connection.id;
29
- const key = route.connection.id + "\u0000" + route.protocol + "\u0000" + model.trim().toLowerCase();
30
- let routed = routes.get(key);
31
- if (!routed) {
32
- routed = createModelGatewayFromConfig(connectionModelConfig(resolved, route.connection, route.protocol, model, false));
33
- routes.set(key, routed);
34
- }
35
- return routed.stream(request);
36
- },
36
+ stream: request => select(request.model).stream(request),
37
+ estimateInputTokens: request => select(request.model).estimateInputTokens?.(request),
38
+ countInputTokens: async (request) => select(request.model).countInputTokens?.(request),
37
39
  };
38
40
  return { gateway, config, heldConnections: () => [current, ...fixed] };
39
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"composition-runtime.js","sourceRoot":"","sources":["../../src/model/composition-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composition-runtime.js","sourceRoot":"","sources":["../../src/model/composition-runtime.ts"],"names":[],"mappings":"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"}
@@ -113,6 +113,8 @@ export type ModelStreamEvent = {
113
113
  attempt: number;
114
114
  };
115
115
  export interface ModelGateway {
116
+ estimateInputTokens?(request: ModelRequest): number | undefined;
117
+ countInputTokens?(request: ModelRequest): Promise<number | undefined>;
116
118
  stream(request: ModelRequest): AsyncIterable<ModelStreamEvent>;
117
119
  }
118
120
  export declare class NotConfiguredModelGateway implements ModelGateway {
@@ -1 +1 @@
1
- {"version":3,"file":"model-gateway.js","sourceRoot":"","sources":["../../src/model/model-gateway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAazD,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7H,CAAC;AA8DD,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAqB;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ;aAClC,KAAK,EAAE;aACP,OAAO,EAAE;aACT,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aAC/D,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;QAEhD,MAAM;YACJ,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iBAAiB,CACxB,WAAW,EACX,uDAAuD,YAAY,IAAI,SAAS,EAAE,CACnF;SACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"model-gateway.js","sourceRoot":"","sources":["../../src/model/model-gateway.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAazD,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7H,CAAC;AAgED,MAAM,OAAO,yBAAyB;IACpC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAqB;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ;aAClC,KAAK,EAAE;aACP,OAAO,EAAE;aACT,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aAC/D,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;QAEhD,MAAM;YACJ,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,iBAAiB,CACxB,WAAW,EACX,uDAAuD,YAAY,IAAI,SAAS,EAAE,CACnF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -4378,7 +4378,7 @@ function contextColor(metrics) {
4378
4378
  return "gray";
4379
4379
  }
4380
4380
  function statusInputTokens(status) {
4381
- return status.usage?.inputTokens ?? status.metrics?.estimatedInputTokens;
4381
+ return status.metrics?.inputTokenSource ? status.metrics.estimatedInputTokens : status.usage?.inputTokens ?? status.metrics?.estimatedInputTokens;
4382
4382
  }
4383
4383
  function statusOutputTokens(status) {
4384
4384
  return status.usage?.outputTokens ?? status.streamedOutputTokens;