@morphllm/morphsdk 0.2.180 → 0.2.182
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/{chunk-EJZFQAKT.js → chunk-27EP7ZJK.js} +2 -2
- package/dist/{chunk-HXDITEO6.js → chunk-4WQGJMOW.js} +2 -2
- package/dist/{chunk-BN4IHFWR.js → chunk-66X4NBG7.js} +2 -2
- package/dist/{chunk-DFTKUEF5.js → chunk-7ICJYWTT.js} +2 -2
- package/dist/{chunk-D4XCP2ZE.js → chunk-7JLPTKPQ.js} +39 -4
- package/dist/chunk-7JLPTKPQ.js.map +1 -0
- package/dist/{chunk-AERVDGON.js → chunk-BTIJDM7J.js} +2 -2
- package/dist/{chunk-XEQZQTZR.js → chunk-C7HLMZXK.js} +2 -2
- package/dist/{chunk-JG5MJI34.js → chunk-D4K2OZTC.js} +2 -2
- package/dist/{chunk-GVN6B4YX.js → chunk-DFZY4NAL.js} +3 -3
- package/dist/{chunk-2DLMZDDB.js → chunk-DOGRQEOM.js} +52 -9
- package/dist/chunk-DOGRQEOM.js.map +1 -0
- package/dist/{chunk-QW33U4EI.js → chunk-F477JTM2.js} +4 -4
- package/dist/{chunk-LDXKXBYN.js → chunk-G7FT3MCW.js} +2 -2
- package/dist/{chunk-2WQTCETP.js → chunk-GX2KTPXV.js} +2 -2
- package/dist/{chunk-IOZMMARY.js → chunk-H2K7JQOW.js} +2 -2
- package/dist/{chunk-U4KCWD3I.js → chunk-H2SWEPM3.js} +2 -2
- package/dist/{chunk-4RARO46V.js → chunk-HTKN3WER.js} +4 -4
- package/dist/{chunk-QAZM5ELA.js → chunk-JX4HNDGL.js} +2 -2
- package/dist/{chunk-TBVIOQ5O.js → chunk-KEFVC7WL.js} +2 -2
- package/dist/{chunk-IS5TDLAJ.js → chunk-KEYFDMOM.js} +2 -2
- package/dist/{chunk-WQC3YOER.js → chunk-LAQPE5RA.js} +3 -3
- package/dist/{chunk-LBOFTF6A.js → chunk-LXCTENG5.js} +25 -23
- package/dist/{chunk-LBOFTF6A.js.map → chunk-LXCTENG5.js.map} +1 -1
- package/dist/{chunk-EAGSRHRT.js → chunk-MVMSALBH.js} +2 -2
- package/dist/{chunk-4TMCQZNB.js → chunk-NBO7EVSO.js} +2 -2
- package/dist/{chunk-4TMCQZNB.js.map → chunk-NBO7EVSO.js.map} +1 -1
- package/dist/{chunk-SX2P5ZUP.js → chunk-NP5R3I25.js} +2 -2
- package/dist/{chunk-LN7GNFET.js → chunk-OPNTDMHH.js} +4 -4
- package/dist/{chunk-X4VPV3A7.js → chunk-P2ZUVNZ2.js} +2 -2
- package/dist/{chunk-GZDRJBI2.js → chunk-QFPPKZ5G.js} +2 -2
- package/dist/{chunk-MWUFDBWQ.js → chunk-QGR4P3P3.js} +2 -2
- package/dist/{chunk-XYHP2TFY.js → chunk-TH3AVISW.js} +2 -2
- package/dist/{chunk-35ZAMQ3A.js → chunk-WVGAOPMD.js} +7 -7
- package/dist/{chunk-OE2LFOYB.js → chunk-XQ5YMAAE.js} +2 -2
- package/dist/{chunk-TDT6J2X4.js → chunk-ZXL7SYO2.js} +2 -2
- package/dist/{client-Dh6yzCm4.d.ts → client-DUvmVWQJ.d.ts} +2 -1
- package/dist/client.cjs +86 -8
- package/dist/client.cjs.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +29 -29
- package/dist/core/client.cjs +1 -1
- package/dist/core/client.cjs.map +1 -1
- package/dist/core/client.js +4 -4
- package/dist/core/error.cjs +1 -1
- package/dist/core/error.cjs.map +1 -1
- package/dist/core/error.js +3 -3
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.js +4 -4
- package/dist/edge.cjs +37 -1
- package/dist/edge.cjs.map +1 -1
- package/dist/edge.d.ts +2 -2
- package/dist/edge.js +10 -8
- package/dist/git/client.cjs +1 -1
- package/dist/git/client.cjs.map +1 -1
- package/dist/git/client.js +5 -5
- package/dist/git/index.cjs +1 -1
- package/dist/git/index.cjs.map +1 -1
- package/dist/git/index.js +5 -5
- package/dist/index.cjs +86 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +31 -31
- package/dist/modelrouter/core.cjs +39 -3
- package/dist/modelrouter/core.cjs.map +1 -1
- package/dist/modelrouter/core.d.ts +15 -2
- package/dist/modelrouter/core.js +9 -7
- package/dist/modelrouter/index.cjs +39 -3
- package/dist/modelrouter/index.cjs.map +1 -1
- package/dist/modelrouter/index.d.ts +2 -2
- package/dist/modelrouter/index.js +9 -7
- package/dist/modelrouter/types.cjs.map +1 -1
- package/dist/modelrouter/types.d.ts +24 -1
- package/dist/subagents/anthropic.cjs +1 -1
- package/dist/subagents/anthropic.cjs.map +1 -1
- package/dist/subagents/anthropic.js +10 -10
- package/dist/subagents/vercel.cjs +1 -1
- package/dist/subagents/vercel.cjs.map +1 -1
- package/dist/subagents/vercel.js +10 -10
- package/dist/tools/browser/anthropic.cjs +1 -1
- package/dist/tools/browser/anthropic.cjs.map +1 -1
- package/dist/tools/browser/anthropic.js +7 -7
- package/dist/tools/browser/core.cjs +1 -1
- package/dist/tools/browser/core.cjs.map +1 -1
- package/dist/tools/browser/core.js +6 -6
- package/dist/tools/browser/index.cjs +1 -1
- package/dist/tools/browser/index.cjs.map +1 -1
- package/dist/tools/browser/index.js +9 -9
- package/dist/tools/browser/openai.cjs +1 -1
- package/dist/tools/browser/openai.cjs.map +1 -1
- package/dist/tools/browser/openai.js +7 -7
- package/dist/tools/browser/profiles/core.cjs +1 -1
- package/dist/tools/browser/profiles/core.cjs.map +1 -1
- package/dist/tools/browser/profiles/core.js +3 -3
- package/dist/tools/browser/profiles/index.cjs +1 -1
- package/dist/tools/browser/profiles/index.cjs.map +1 -1
- package/dist/tools/browser/profiles/index.js +3 -3
- package/dist/tools/browser/vercel.cjs +1 -1
- package/dist/tools/browser/vercel.cjs.map +1 -1
- package/dist/tools/browser/vercel.js +7 -7
- package/dist/tools/codebase_search/anthropic.cjs +1 -1
- package/dist/tools/codebase_search/anthropic.cjs.map +1 -1
- package/dist/tools/codebase_search/anthropic.js +6 -6
- package/dist/tools/codebase_search/core.cjs +1 -1
- package/dist/tools/codebase_search/core.cjs.map +1 -1
- package/dist/tools/codebase_search/core.js +5 -5
- package/dist/tools/codebase_search/index.cjs +1 -1
- package/dist/tools/codebase_search/index.cjs.map +1 -1
- package/dist/tools/codebase_search/index.js +8 -8
- package/dist/tools/codebase_search/openai.cjs +1 -1
- package/dist/tools/codebase_search/openai.cjs.map +1 -1
- package/dist/tools/codebase_search/openai.js +6 -6
- package/dist/tools/codebase_search/vercel.cjs +1 -1
- package/dist/tools/codebase_search/vercel.cjs.map +1 -1
- package/dist/tools/codebase_search/vercel.js +6 -6
- package/dist/tools/compact/core.cjs +1 -1
- package/dist/tools/compact/core.cjs.map +1 -1
- package/dist/tools/compact/core.js +5 -5
- package/dist/tools/compact/index.cjs +1 -1
- package/dist/tools/compact/index.cjs.map +1 -1
- package/dist/tools/compact/index.js +6 -6
- package/dist/tools/fastapply/anthropic.cjs +1 -1
- package/dist/tools/fastapply/anthropic.cjs.map +1 -1
- package/dist/tools/fastapply/anthropic.js +7 -7
- package/dist/tools/fastapply/apply.cjs +1 -1
- package/dist/tools/fastapply/apply.cjs.map +1 -1
- package/dist/tools/fastapply/apply.js +2 -2
- package/dist/tools/fastapply/core.cjs +1 -1
- package/dist/tools/fastapply/core.cjs.map +1 -1
- package/dist/tools/fastapply/core.js +6 -6
- package/dist/tools/fastapply/index.cjs +1 -1
- package/dist/tools/fastapply/index.cjs.map +1 -1
- package/dist/tools/fastapply/index.js +9 -9
- package/dist/tools/fastapply/openai.cjs +1 -1
- package/dist/tools/fastapply/openai.cjs.map +1 -1
- package/dist/tools/fastapply/openai.js +7 -7
- package/dist/tools/fastapply/vercel.cjs +1 -1
- package/dist/tools/fastapply/vercel.cjs.map +1 -1
- package/dist/tools/fastapply/vercel.js +7 -7
- package/dist/tools/index.cjs +1 -1
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.js +9 -9
- package/dist/tools/reflex/core.cjs +50 -7
- package/dist/tools/reflex/core.cjs.map +1 -1
- package/dist/tools/reflex/core.d.ts +6 -1
- package/dist/tools/reflex/core.js +5 -5
- package/dist/tools/reflex/index.cjs +50 -7
- package/dist/tools/reflex/index.cjs.map +1 -1
- package/dist/tools/reflex/index.js +5 -5
- package/dist/tools/reflex/types.cjs.map +1 -1
- package/dist/tools/reflex/types.d.ts +60 -4
- package/dist/tools/utils/resilience.cjs +1 -1
- package/dist/tools/utils/resilience.cjs.map +1 -1
- package/dist/tools/utils/resilience.js +2 -2
- package/dist/tools/warp_grep/agent/runner.cjs +1 -1
- package/dist/tools/warp_grep/agent/runner.cjs.map +1 -1
- package/dist/tools/warp_grep/agent/runner.js +2 -2
- package/dist/tools/warp_grep/anthropic.cjs +1 -1
- package/dist/tools/warp_grep/anthropic.cjs.map +1 -1
- package/dist/tools/warp_grep/anthropic.js +10 -10
- package/dist/tools/warp_grep/client.cjs +1 -1
- package/dist/tools/warp_grep/client.cjs.map +1 -1
- package/dist/tools/warp_grep/client.js +9 -9
- package/dist/tools/warp_grep/gemini.cjs +1 -1
- package/dist/tools/warp_grep/gemini.cjs.map +1 -1
- package/dist/tools/warp_grep/gemini.js +9 -9
- package/dist/tools/warp_grep/harness.js +2 -2
- package/dist/tools/warp_grep/index.cjs +1 -1
- package/dist/tools/warp_grep/index.cjs.map +1 -1
- package/dist/tools/warp_grep/index.js +11 -11
- package/dist/tools/warp_grep/openai.cjs +1 -1
- package/dist/tools/warp_grep/openai.cjs.map +1 -1
- package/dist/tools/warp_grep/openai.js +10 -10
- package/dist/tools/warp_grep/providers/local.js +2 -2
- package/dist/tools/warp_grep/vercel.cjs +1 -1
- package/dist/tools/warp_grep/vercel.cjs.map +1 -1
- package/dist/tools/warp_grep/vercel.js +10 -10
- package/dist/tracing/index.cjs.map +1 -1
- package/dist/tracing/types.cjs.map +1 -1
- package/dist/tracing/types.d.ts +9 -8
- package/dist/version.cjs +1 -1
- package/dist/version.cjs.map +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-2DLMZDDB.js.map +0 -1
- package/dist/chunk-D4XCP2ZE.js.map +0 -1
- /package/dist/{chunk-EJZFQAKT.js.map → chunk-27EP7ZJK.js.map} +0 -0
- /package/dist/{chunk-HXDITEO6.js.map → chunk-4WQGJMOW.js.map} +0 -0
- /package/dist/{chunk-BN4IHFWR.js.map → chunk-66X4NBG7.js.map} +0 -0
- /package/dist/{chunk-DFTKUEF5.js.map → chunk-7ICJYWTT.js.map} +0 -0
- /package/dist/{chunk-AERVDGON.js.map → chunk-BTIJDM7J.js.map} +0 -0
- /package/dist/{chunk-XEQZQTZR.js.map → chunk-C7HLMZXK.js.map} +0 -0
- /package/dist/{chunk-JG5MJI34.js.map → chunk-D4K2OZTC.js.map} +0 -0
- /package/dist/{chunk-GVN6B4YX.js.map → chunk-DFZY4NAL.js.map} +0 -0
- /package/dist/{chunk-QW33U4EI.js.map → chunk-F477JTM2.js.map} +0 -0
- /package/dist/{chunk-LDXKXBYN.js.map → chunk-G7FT3MCW.js.map} +0 -0
- /package/dist/{chunk-2WQTCETP.js.map → chunk-GX2KTPXV.js.map} +0 -0
- /package/dist/{chunk-IOZMMARY.js.map → chunk-H2K7JQOW.js.map} +0 -0
- /package/dist/{chunk-U4KCWD3I.js.map → chunk-H2SWEPM3.js.map} +0 -0
- /package/dist/{chunk-4RARO46V.js.map → chunk-HTKN3WER.js.map} +0 -0
- /package/dist/{chunk-QAZM5ELA.js.map → chunk-JX4HNDGL.js.map} +0 -0
- /package/dist/{chunk-TBVIOQ5O.js.map → chunk-KEFVC7WL.js.map} +0 -0
- /package/dist/{chunk-IS5TDLAJ.js.map → chunk-KEYFDMOM.js.map} +0 -0
- /package/dist/{chunk-WQC3YOER.js.map → chunk-LAQPE5RA.js.map} +0 -0
- /package/dist/{chunk-EAGSRHRT.js.map → chunk-MVMSALBH.js.map} +0 -0
- /package/dist/{chunk-SX2P5ZUP.js.map → chunk-NP5R3I25.js.map} +0 -0
- /package/dist/{chunk-LN7GNFET.js.map → chunk-OPNTDMHH.js.map} +0 -0
- /package/dist/{chunk-X4VPV3A7.js.map → chunk-P2ZUVNZ2.js.map} +0 -0
- /package/dist/{chunk-GZDRJBI2.js.map → chunk-QFPPKZ5G.js.map} +0 -0
- /package/dist/{chunk-MWUFDBWQ.js.map → chunk-QGR4P3P3.js.map} +0 -0
- /package/dist/{chunk-XYHP2TFY.js.map → chunk-TH3AVISW.js.map} +0 -0
- /package/dist/{chunk-35ZAMQ3A.js.map → chunk-WVGAOPMD.js.map} +0 -0
- /package/dist/{chunk-OE2LFOYB.js.map → chunk-XQ5YMAAE.js.map} +0 -0
- /package/dist/{chunk-TDT6J2X4.js.map → chunk-ZXL7SYO2.js.map} +0 -0
|
@@ -8,7 +8,7 @@ import { APIResource } from './core/resource.js';
|
|
|
8
8
|
import { MorphGit } from './git/client.js';
|
|
9
9
|
import { CompactClient } from './tools/compact/core.js';
|
|
10
10
|
import { ReflexClient } from './tools/reflex/core.js';
|
|
11
|
-
import { OpenAIRouter, AnthropicRouter, GeminiRouter, RawRouter } from './modelrouter/core.js';
|
|
11
|
+
import { OpenAIRouter, AnthropicRouter, GeminiRouter, RawRouter, RouterClassifier } from './modelrouter/core.js';
|
|
12
12
|
import { EditFileConfig, EditFileInput, EditFileResult, EditChanges } from './tools/fastapply/types.js';
|
|
13
13
|
import { CodebaseSearchConfig, CodebaseSearchInput, CodebaseSearchResult } from './tools/codebase_search/types.js';
|
|
14
14
|
import { d as WarpGrepToolConfig, b as WarpGrepResult, g as GitHubSearchToolConfig, c as WarpGrepContext } from './types-CtkD4o1_.js';
|
|
@@ -989,6 +989,7 @@ declare class MorphClient extends MorphAPIClient {
|
|
|
989
989
|
anthropic: AnthropicRouter;
|
|
990
990
|
gemini: GeminiRouter;
|
|
991
991
|
raw: RawRouter;
|
|
992
|
+
classify: RouterClassifier;
|
|
992
993
|
};
|
|
993
994
|
/** OpenAI-compatible tool factories */
|
|
994
995
|
openai: OpenAIToolFactory;
|
package/dist/client.cjs
CHANGED
|
@@ -36,7 +36,7 @@ var init_package = __esm({
|
|
|
36
36
|
"package.json"() {
|
|
37
37
|
package_default = {
|
|
38
38
|
name: "@morphllm/morphsdk",
|
|
39
|
-
version: "0.2.
|
|
39
|
+
version: "0.2.182",
|
|
40
40
|
description: "TypeScript SDK and CLI for Morph Fast Apply integration",
|
|
41
41
|
type: "module",
|
|
42
42
|
main: "./dist/index.cjs",
|
|
@@ -5044,15 +5044,34 @@ var ReflexClient = class extends APIResource {
|
|
|
5044
5044
|
}
|
|
5045
5045
|
/** Classify text against a trained model. The model must be `succeeded`. */
|
|
5046
5046
|
async predict(input) {
|
|
5047
|
+
const completionId = input.completionId ?? crypto.randomUUID();
|
|
5047
5048
|
const raw = await this._client.post("/v1/reflex/predict", {
|
|
5048
|
-
body: { model: input.model, text: input.text }
|
|
5049
|
+
body: { model: input.model, text: input.text },
|
|
5050
|
+
headers: { "X-Completion-Id": completionId }
|
|
5049
5051
|
});
|
|
5052
|
+
return toPredictResult(raw, completionId);
|
|
5053
|
+
}
|
|
5054
|
+
/**
|
|
5055
|
+
* Record thumbs-up / thumbs-down feedback on a prediction. Reference the
|
|
5056
|
+
* prediction by the `completionId` from `predict()` or by a stored `resultId`.
|
|
5057
|
+
*/
|
|
5058
|
+
async flag(input) {
|
|
5059
|
+
if (!input.completionId && !input.resultId) {
|
|
5060
|
+
throw new MorphError("flag() requires completionId or resultId", "reflex_flag_missing_ref");
|
|
5061
|
+
}
|
|
5062
|
+
const body = { good_or_bad: input.verdict };
|
|
5063
|
+
if (input.completionId) body.completion_id = input.completionId;
|
|
5064
|
+
if (input.resultId) body.result_id = input.resultId;
|
|
5065
|
+
if (input.correctedLabel != null) body.corrected_label = input.correctedLabel;
|
|
5066
|
+
if (input.reason != null) body.reason = input.reason;
|
|
5067
|
+
if (input.score != null) body.score = input.score;
|
|
5068
|
+
const raw = await this._client.post("/v1/reflex/predictions/flag", { body });
|
|
5050
5069
|
return {
|
|
5051
|
-
|
|
5052
|
-
|
|
5053
|
-
|
|
5054
|
-
|
|
5055
|
-
|
|
5070
|
+
resultId: raw.result_id ?? null,
|
|
5071
|
+
completionId: raw.completion_id ?? null,
|
|
5072
|
+
verdict: raw.flagged_good_or_bad ?? null,
|
|
5073
|
+
correctedLabel: raw.flagged_corrected_label ?? null,
|
|
5074
|
+
flagged: Boolean(raw.flagged)
|
|
5056
5075
|
};
|
|
5057
5076
|
}
|
|
5058
5077
|
};
|
|
@@ -5152,6 +5171,30 @@ function toReflexJob(raw) {
|
|
|
5152
5171
|
suffix: raw.suffix ?? null
|
|
5153
5172
|
};
|
|
5154
5173
|
}
|
|
5174
|
+
function toPredictResult(raw, completionId) {
|
|
5175
|
+
const classes = (raw.classes ?? []).map((c) => ({
|
|
5176
|
+
classId: c.class_id,
|
|
5177
|
+
label: c.label,
|
|
5178
|
+
score: c.score,
|
|
5179
|
+
selected: c.selected
|
|
5180
|
+
}));
|
|
5181
|
+
const selectedClasses = classes.filter((c) => c.selected);
|
|
5182
|
+
const top = selectedClasses.reduce(
|
|
5183
|
+
(best, c) => best === null || c.score > best.score ? c : best,
|
|
5184
|
+
null
|
|
5185
|
+
);
|
|
5186
|
+
return {
|
|
5187
|
+
model: raw.model,
|
|
5188
|
+
mode: raw.mode === "multi_label" ? "multi_label" : "single_label",
|
|
5189
|
+
classes,
|
|
5190
|
+
selected: selectedClasses.map((c) => c.label),
|
|
5191
|
+
label: top ? top.label : null,
|
|
5192
|
+
confidence: top ? top.score : null,
|
|
5193
|
+
allScores: classes.map((c) => c.score),
|
|
5194
|
+
inferenceTimeMs: raw.inference_time_ms,
|
|
5195
|
+
completionId
|
|
5196
|
+
};
|
|
5197
|
+
}
|
|
5155
5198
|
function toReflexEvent(raw) {
|
|
5156
5199
|
return {
|
|
5157
5200
|
id: raw.id,
|
|
@@ -5288,6 +5331,40 @@ var RawRouter = class extends BaseRouter {
|
|
|
5288
5331
|
return { difficulty };
|
|
5289
5332
|
}
|
|
5290
5333
|
};
|
|
5334
|
+
var RouterClassifier = class extends APIResource {
|
|
5335
|
+
timeout;
|
|
5336
|
+
constructor(clientOrConfig = {}) {
|
|
5337
|
+
super(resolveClient3(clientOrConfig));
|
|
5338
|
+
const cfg = clientOrConfig instanceof MorphAPIClient ? {} : clientOrConfig;
|
|
5339
|
+
this.timeout = cfg.timeout ?? DEFAULT_TIMEOUT6;
|
|
5340
|
+
}
|
|
5341
|
+
/** Classify an input across the requested axes (all three by default). */
|
|
5342
|
+
async classify(input) {
|
|
5343
|
+
if (!this._client.resolveApiKey()) {
|
|
5344
|
+
throw new Error(
|
|
5345
|
+
"Morph API key is required. Set MORPH_API_KEY environment variable or pass apiKey in config."
|
|
5346
|
+
);
|
|
5347
|
+
}
|
|
5348
|
+
logger.debug("RouterClassifier", "request", { classes: input.classes ?? "all" });
|
|
5349
|
+
try {
|
|
5350
|
+
const res = await this._client.post("/v1/router/classify", {
|
|
5351
|
+
body: { input: input.input, ...input.classes ? { classes: input.classes } : {} },
|
|
5352
|
+
timeout: this.timeout
|
|
5353
|
+
});
|
|
5354
|
+
logger.debug("RouterClassifier", "classified", {
|
|
5355
|
+
difficulty: res.classifications.difficulty?.label,
|
|
5356
|
+
ambiguity: res.classifications.ambiguity?.label,
|
|
5357
|
+
domain: res.classifications.domain?.label
|
|
5358
|
+
});
|
|
5359
|
+
return res.classifications;
|
|
5360
|
+
} catch (error) {
|
|
5361
|
+
if (error instanceof MorphError) {
|
|
5362
|
+
throw new Error(`Router API error (${error.statusCode}): ${error.message}`);
|
|
5363
|
+
}
|
|
5364
|
+
throw error;
|
|
5365
|
+
}
|
|
5366
|
+
}
|
|
5367
|
+
};
|
|
5291
5368
|
|
|
5292
5369
|
// tools/warp_grep/prompts.ts
|
|
5293
5370
|
var WARP_GREP_TOOL_NAME = "codebase_search";
|
|
@@ -6731,7 +6808,8 @@ var MorphClient = class extends MorphAPIClient {
|
|
|
6731
6808
|
openai: new OpenAIRouter(this),
|
|
6732
6809
|
anthropic: new AnthropicRouter(this),
|
|
6733
6810
|
gemini: new GeminiRouter(this),
|
|
6734
|
-
raw: new RawRouter(this)
|
|
6811
|
+
raw: new RawRouter(this),
|
|
6812
|
+
classify: new RouterClassifier(this)
|
|
6735
6813
|
};
|
|
6736
6814
|
const compactClient = new CompactClient(this);
|
|
6737
6815
|
this.compact = compactClient.compact.bind(compactClient);
|