@adaptiqai/deepseek-harness 0.2.13 → 0.2.15

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.
@@ -1,4 +1,4 @@
1
- import type { AccountSnapshot, SessionView } from '@adaptiqai/core/types';
1
+ import type { AccountSnapshot, ProcessedSummary, SessionView, TokenPrices } from '@adaptiqai/core/types';
2
2
  import type { Kit } from './actions.ts';
3
3
  import { type UseProjection } from './model.ts';
4
4
  import { type T } from './ui.tsx';
@@ -13,6 +13,16 @@ export interface PillProps {
13
13
  }
14
14
  /** The pill in the composer toolbar. */
15
15
  export declare function MemoryPill({ t, kit, sessionId, useAqAccount, useAqSession, useProjection }: PillProps): import("react").JSX.Element | null;
16
+ /**
17
+ * What the conversation's requests processed: the latest turn (every agent
18
+ * step since the person's last message) and the whole conversation. Apart from
19
+ * the memory's size, since each step reads all of it again.
20
+ */
21
+ export declare function ProcessedSection({ t, processed, prices }: {
22
+ t: T;
23
+ processed: ProcessedSummary;
24
+ prices: TokenPrices | null;
25
+ }): import("react").JSX.Element;
16
26
  /**
17
27
  * One calm line above the composer when the chosen model is not the one this
18
28
  * conversation's memory lives on: switch back, or start fresh on the new model.
@@ -30,7 +30,7 @@ export declare function MemoryCallout({ store, t }: {
30
30
  * memory, thinking levels, region. A field is left out only when unknown.
31
31
  */
32
32
  export declare function modelFacts(model: ModelView, t: T): string;
33
- /** One model row: name, facts, lanes, status. */
33
+ /** One model row: name, facts, status. */
34
34
  export declare function ModelRow({ model, t }: {
35
35
  model: ModelView;
36
36
  t: T;
@@ -1,5 +1,5 @@
1
1
  /** The composer pill's words and timing, kept apart from React so they can be tested. */
2
- import type { WaitKind } from '@adaptiqai/core/types';
2
+ import type { ProcessedView, TokenPrices, WaitKind } from '@adaptiqai/core/types';
3
3
  type T = (key: string, params?: Record<string, unknown>) => string;
4
4
  /** How long "+24.6k from memory" stays after a reply. */
5
5
  export declare const AFTER_REPLY_MS = 4000;
@@ -9,7 +9,7 @@ export declare const COUNT_UP_MS = 900;
9
9
  * The pill's words while a request waits.
10
10
  * @param t - translate.
11
11
  * @param kind - what the request waits for.
12
- * @returns e.g. "Waiting for a free lane".
12
+ * @returns e.g. "Waiting in line".
13
13
  */
14
14
  export declare function waitText(t: T, kind: WaitKind): string;
15
15
  /**
@@ -56,4 +56,26 @@ export declare class AfterReply {
56
56
  } | null): void;
57
57
  dispose(): void;
58
58
  }
59
+ /**
60
+ * The popover's one line on why processed tokens outgrow the memory, from the
61
+ * conversation's own numbers and its model's price for reading from memory.
62
+ * @param t - translate.
63
+ * @param view - the conversation's processed tokens.
64
+ * @param prices - the model's per-token prices, when known.
65
+ * @returns e.g. "Each step reads the whole memory again. 96% came from memory, which is free.", or null before anything was read from memory.
66
+ */
67
+ export declare function processedExplain(t: T, view: ProcessedView, prices: TokenPrices | null): string | null;
68
+ /**
69
+ * How many requests (agent steps) a column counts.
70
+ * @param t - translate.
71
+ * @param count - requests.
72
+ * @returns e.g. "85 steps".
73
+ */
74
+ export declare function stepsText(t: T, count: number): string;
75
+ /**
76
+ * A processed cost, or a dash where a request had no price.
77
+ * @param usd - USD, or null.
78
+ * @returns e.g. "$0.24".
79
+ */
80
+ export declare function costText(usd: number | null): string;
59
81
  export {};
@@ -16,7 +16,8 @@ export interface TranslateHooks {
16
16
  onFirstOutput?(): void;
17
17
  /** An in-band error: map it to the thrown failure. */
18
18
  onError(payload: Record<string, unknown>): Error;
19
- onUsage?(usage: TokenUsage): void;
19
+ /** The request's usage, and what the gateway charged for it when the answer says (USD). */
20
+ onUsage?(usage: TokenUsage, costUsd: number | null): void;
20
21
  }
21
22
  /**
22
23
  * Translate decoded SSE events into harness stream chunks.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptiqai/deepseek-harness",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "description": "AdaptiqAI for DeepSeek Harness: models with 5M-token native memory and Knowledge. Sign up, get a model and work without leaving the harness",
5
5
  "keywords": [
6
6
  "dsh-plugin",
@@ -90,7 +90,7 @@
90
90
  "react-dom": "~18.3.1",
91
91
  "typescript": "~5.9.3",
92
92
  "vitest": "~3.2.7",
93
- "@adaptiqai/core": "0.2.9"
93
+ "@adaptiqai/core": "0.2.11"
94
94
  },
95
95
  "repository": {
96
96
  "type": "git",