@nemesis-oss/ollama-sdk 1.17.0 → 1.18.0
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/CHANGELOG.md +33 -0
- package/README.md +79 -0
- package/dist/{anthropic-AKbXnWJU.d.cts → anthropic-BvHOsidk.d.cts} +3 -3
- package/dist/{anthropic-CTv2acbj.d.ts → anthropic-CvGVSoVP.d.ts} +3 -3
- package/dist/generated-api.d.cts +2 -2
- package/dist/generated-api.d.ts +2 -2
- package/dist/generated-models-schemas.cjs +2 -2
- package/dist/generated-models-schemas.cjs.map +1 -1
- package/dist/generated-models-schemas.js +2 -2
- package/dist/generated-models-schemas.js.map +1 -1
- package/dist/generated-runtime.cjs +2 -2
- package/dist/generated-runtime.cjs.map +1 -1
- package/dist/generated-runtime.js +2 -2
- package/dist/generated-runtime.js.map +1 -1
- package/dist/index.cjs +84 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +220 -6
- package/dist/index.d.ts +220 -6
- package/dist/index.js +81 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/tools.json +6 -8
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -4179,7 +4179,7 @@ var SystemOneNoulQuestionSchema = zod.z.object({
|
|
|
4179
4179
|
var SystemOneScoreQuestionSchema = zod.z.object({
|
|
4180
4180
|
type: zod.z.enum(["score"]),
|
|
4181
4181
|
instructions: SystemOneContentSchema,
|
|
4182
|
-
criteria: zod.z.array(zod.z.string()).min(2).max(
|
|
4182
|
+
criteria: zod.z.array(zod.z.string()).min(2).max(10)
|
|
4183
4183
|
});
|
|
4184
4184
|
|
|
4185
4185
|
// src/generated/models/SystemOneRequest.schema.ts
|
|
@@ -4214,7 +4214,7 @@ var SystemOneNoulAnswerSchema = zod.z.object({
|
|
|
4214
4214
|
});
|
|
4215
4215
|
var SystemOneScoreAnswerSchema = zod.z.object({
|
|
4216
4216
|
type: zod.z.enum(["score"]),
|
|
4217
|
-
score: zod.z.number().min(0).max(
|
|
4217
|
+
score: zod.z.number().min(0).max(9),
|
|
4218
4218
|
legend: zod.z.object({}).catchall(zod.z.string()),
|
|
4219
4219
|
probabilities: SystemOneProbabilitiesSchema,
|
|
4220
4220
|
confidence: SystemOneConfidenceSchema
|
|
@@ -5525,9 +5525,16 @@ var FailoverHttpClient = class {
|
|
|
5525
5525
|
};
|
|
5526
5526
|
|
|
5527
5527
|
// src/decision.ts
|
|
5528
|
+
function validateThreshold(value, name) {
|
|
5529
|
+
if (value === void 0) return;
|
|
5530
|
+
if (typeof value !== "number" || !Number.isFinite(value) || value <= 0 || value > 1) {
|
|
5531
|
+
throw new RangeError(`${name} must be a number in (0, 1] \u2014 got ${String(value)}`);
|
|
5532
|
+
}
|
|
5533
|
+
}
|
|
5528
5534
|
function createDecision(client) {
|
|
5529
5535
|
return {
|
|
5530
5536
|
async choice(params) {
|
|
5537
|
+
validateThreshold(params.minConfidence, "minConfidence");
|
|
5531
5538
|
const response = await client.systemOne({
|
|
5532
5539
|
model: params.model,
|
|
5533
5540
|
state: params.state,
|
|
@@ -5546,10 +5553,12 @@ function createDecision(client) {
|
|
|
5546
5553
|
choice: answer.choice,
|
|
5547
5554
|
probabilities: answer.probabilities,
|
|
5548
5555
|
confidence: answer.confidence,
|
|
5556
|
+
...params.minConfidence !== void 0 ? { isConfident: answer.confidence >= params.minConfidence } : {},
|
|
5549
5557
|
usage: response.usage
|
|
5550
5558
|
};
|
|
5551
5559
|
},
|
|
5552
5560
|
async noul(params) {
|
|
5561
|
+
validateThreshold(params.minProbability, "minProbability");
|
|
5553
5562
|
const response = await client.systemOne({
|
|
5554
5563
|
model: params.model,
|
|
5555
5564
|
state: params.state,
|
|
@@ -5565,11 +5574,12 @@ function createDecision(client) {
|
|
|
5565
5574
|
const answer = response.answers.decision;
|
|
5566
5575
|
return {
|
|
5567
5576
|
noul: answer.noul,
|
|
5568
|
-
bool: answer.noul >= 0.5,
|
|
5577
|
+
bool: answer.noul >= (params.minProbability ?? 0.5),
|
|
5569
5578
|
usage: response.usage
|
|
5570
5579
|
};
|
|
5571
5580
|
},
|
|
5572
5581
|
async score(params) {
|
|
5582
|
+
validateThreshold(params.minConfidence, "minConfidence");
|
|
5573
5583
|
const response = await client.systemOne({
|
|
5574
5584
|
model: params.model,
|
|
5575
5585
|
state: params.state,
|
|
@@ -5589,10 +5599,12 @@ function createDecision(client) {
|
|
|
5589
5599
|
legend: answer.legend,
|
|
5590
5600
|
probabilities: answer.probabilities,
|
|
5591
5601
|
confidence: answer.confidence,
|
|
5602
|
+
...params.minConfidence !== void 0 ? { isConfident: answer.confidence >= params.minConfidence } : {},
|
|
5592
5603
|
usage: response.usage
|
|
5593
5604
|
};
|
|
5594
5605
|
},
|
|
5595
5606
|
async route(params) {
|
|
5607
|
+
validateThreshold(params.minConfidence, "minConfidence");
|
|
5596
5608
|
const response = await client.systemOne({
|
|
5597
5609
|
model: params.model,
|
|
5598
5610
|
state: params.state,
|
|
@@ -5609,10 +5621,12 @@ function createDecision(client) {
|
|
|
5609
5621
|
const answer = response.answers.decision;
|
|
5610
5622
|
return {
|
|
5611
5623
|
route: answer.choice,
|
|
5612
|
-
confidence: answer.confidence
|
|
5624
|
+
confidence: answer.confidence,
|
|
5625
|
+
...params.minConfidence !== void 0 ? { isConfident: answer.confidence >= params.minConfidence } : {}
|
|
5613
5626
|
};
|
|
5614
5627
|
},
|
|
5615
5628
|
async verify(params) {
|
|
5629
|
+
validateThreshold(params.minProbability, "minProbability");
|
|
5616
5630
|
const state = {
|
|
5617
5631
|
claim: params.claim,
|
|
5618
5632
|
evidence: params.evidence
|
|
@@ -5631,11 +5645,12 @@ function createDecision(client) {
|
|
|
5631
5645
|
});
|
|
5632
5646
|
const answer = response.answers.decision;
|
|
5633
5647
|
return {
|
|
5634
|
-
verified: answer.noul >= 0.5,
|
|
5648
|
+
verified: answer.noul >= (params.minProbability ?? 0.5),
|
|
5635
5649
|
probability: answer.noul
|
|
5636
5650
|
};
|
|
5637
5651
|
},
|
|
5638
5652
|
async rank(params) {
|
|
5653
|
+
validateThreshold(params.minConfidence, "minConfidence");
|
|
5639
5654
|
const promises = params.candidates.map(async (candidate) => {
|
|
5640
5655
|
const response = await client.systemOne({
|
|
5641
5656
|
model: params.model,
|
|
@@ -5654,7 +5669,8 @@ function createDecision(client) {
|
|
|
5654
5669
|
return {
|
|
5655
5670
|
candidate: candidate.id,
|
|
5656
5671
|
score: answer.score,
|
|
5657
|
-
confidence: answer.confidence
|
|
5672
|
+
confidence: answer.confidence,
|
|
5673
|
+
...params.minConfidence !== void 0 ? { isConfident: answer.confidence >= params.minConfidence } : {}
|
|
5658
5674
|
};
|
|
5659
5675
|
});
|
|
5660
5676
|
const results = await Promise.all(promises);
|
|
@@ -6786,6 +6802,64 @@ function toResponse(stream, init = {}) {
|
|
|
6786
6802
|
return new Response(body, { ...init, headers });
|
|
6787
6803
|
}
|
|
6788
6804
|
|
|
6805
|
+
// src/streaming/progress.ts
|
|
6806
|
+
function computeProgressPercent(chunk) {
|
|
6807
|
+
if (typeof chunk.total !== "number" || typeof chunk.completed !== "number") return void 0;
|
|
6808
|
+
if (chunk.total <= 0) return void 0;
|
|
6809
|
+
const ratio = chunk.completed / chunk.total;
|
|
6810
|
+
const clamped = Math.max(0, Math.min(1, ratio));
|
|
6811
|
+
return Math.round(clamped * 1e4) / 100;
|
|
6812
|
+
}
|
|
6813
|
+
function toPullProgressEvent(chunk) {
|
|
6814
|
+
return {
|
|
6815
|
+
status: chunk.status,
|
|
6816
|
+
...chunk.digest !== void 0 ? { digest: chunk.digest } : {},
|
|
6817
|
+
...chunk.total !== void 0 ? { total: chunk.total } : {},
|
|
6818
|
+
...chunk.completed !== void 0 ? { completed: chunk.completed } : {},
|
|
6819
|
+
percent: computeProgressPercent(chunk),
|
|
6820
|
+
raw: chunk
|
|
6821
|
+
};
|
|
6822
|
+
}
|
|
6823
|
+
function createProgressSpeedTracker() {
|
|
6824
|
+
let epochDigest;
|
|
6825
|
+
let epochStartMs = 0;
|
|
6826
|
+
let epochStartCompleted = 0;
|
|
6827
|
+
return (chunk) => {
|
|
6828
|
+
if (typeof chunk.completed !== "number") return {};
|
|
6829
|
+
const digestChanged = chunk.digest !== void 0 && chunk.digest !== epochDigest;
|
|
6830
|
+
const regressed = chunk.completed < epochStartCompleted;
|
|
6831
|
+
if (digestChanged || regressed) {
|
|
6832
|
+
epochDigest = chunk.digest;
|
|
6833
|
+
epochStartMs = performance.now();
|
|
6834
|
+
epochStartCompleted = chunk.completed;
|
|
6835
|
+
return {};
|
|
6836
|
+
}
|
|
6837
|
+
const elapsedSeconds = (performance.now() - epochStartMs) / 1e3;
|
|
6838
|
+
if (elapsedSeconds <= 0) return {};
|
|
6839
|
+
const transferred = chunk.completed - epochStartCompleted;
|
|
6840
|
+
if (transferred <= 0) return {};
|
|
6841
|
+
const bytesPerSecond = transferred / elapsedSeconds;
|
|
6842
|
+
const etaSeconds = typeof chunk.total === "number" ? Math.max(0, (chunk.total - chunk.completed) / bytesPerSecond) : void 0;
|
|
6843
|
+
return { bytesPerSecond, etaSeconds };
|
|
6844
|
+
};
|
|
6845
|
+
}
|
|
6846
|
+
async function onProgress(stream, callback) {
|
|
6847
|
+
void stream.finalResult.catch(() => void 0);
|
|
6848
|
+
const speed = createProgressSpeedTracker();
|
|
6849
|
+
for await (const event of stream) {
|
|
6850
|
+
if (event.type === "message") {
|
|
6851
|
+
callback({ ...toPullProgressEvent(event.data.chunk), ...speed(event.data.chunk) });
|
|
6852
|
+
}
|
|
6853
|
+
if (event.type === "done") {
|
|
6854
|
+
return event.data.result;
|
|
6855
|
+
}
|
|
6856
|
+
if (event.type === "error") {
|
|
6857
|
+
throw event.data.error;
|
|
6858
|
+
}
|
|
6859
|
+
}
|
|
6860
|
+
throw new OllamaStreamError("Pull/push stream ended before reporting success");
|
|
6861
|
+
}
|
|
6862
|
+
|
|
6789
6863
|
// src/streaming/observe.ts
|
|
6790
6864
|
async function* observeStream(source, callbacks = {}) {
|
|
6791
6865
|
const { onChunk, onError, onDone, onAbandon, onListenerError } = callbacks;
|
|
@@ -8289,11 +8363,13 @@ exports.checkGenerateContext = checkGenerateContext;
|
|
|
8289
8363
|
exports.compactConversationHistory = compactConversationHistory;
|
|
8290
8364
|
exports.compareDraftPerformance = compareDraftPerformance;
|
|
8291
8365
|
exports.composeMiddleware = composeMiddleware;
|
|
8366
|
+
exports.computeProgressPercent = computeProgressPercent;
|
|
8292
8367
|
exports.contextWarningMessage = contextWarningMessage;
|
|
8293
8368
|
exports.createConsoleLogger = createConsoleLogger;
|
|
8294
8369
|
exports.createDecision = createDecision;
|
|
8295
8370
|
exports.createModelAffinityScheduler = createModelAffinityScheduler;
|
|
8296
8371
|
exports.createOllamaCloudFreeTierQuota = createOllamaCloudFreeTierQuota;
|
|
8372
|
+
exports.createProgressSpeedTracker = createProgressSpeedTracker;
|
|
8297
8373
|
exports.createTimeoutSignal = createTimeoutSignal;
|
|
8298
8374
|
exports.createWebFetchTool = createWebFetchTool;
|
|
8299
8375
|
exports.createWebSearchTool = createWebSearchTool;
|
|
@@ -8335,6 +8411,7 @@ exports.normalizeGenerateStream = normalizeGenerateStream;
|
|
|
8335
8411
|
exports.normalizeKeepAlive = normalizeKeepAlive;
|
|
8336
8412
|
exports.normalizeProgressStream = normalizeProgressStream;
|
|
8337
8413
|
exports.observeStream = observeStream;
|
|
8414
|
+
exports.onProgress = onProgress;
|
|
8338
8415
|
exports.parseFrontmatter = parseFrontmatter;
|
|
8339
8416
|
exports.parseNdjsonStream = parseNdjsonStream;
|
|
8340
8417
|
exports.parseSseStream = parseSseStream;
|
|
@@ -8347,6 +8424,7 @@ exports.resolveImageInput = resolveImageInput;
|
|
|
8347
8424
|
exports.sanitizeHistoryForNextTurn = sanitizeHistoryForNextTurn;
|
|
8348
8425
|
exports.setSpanError = setSpanError;
|
|
8349
8426
|
exports.toDataStream = toDataStream;
|
|
8427
|
+
exports.toPullProgressEvent = toPullProgressEvent;
|
|
8350
8428
|
exports.toResponse = toResponse;
|
|
8351
8429
|
exports.toTextStream = toTextStream;
|
|
8352
8430
|
exports.withRetry = withRetry;
|