@genkaku/dsh-runtime 0.1.8 → 0.1.10

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/runtime.d.ts CHANGED
@@ -12,6 +12,12 @@ export type CatalogEntry = {
12
12
  model: string;
13
13
  /** 6-decimal USDC per hour, as a decimal string */
14
14
  pricePerHour: string;
15
+ /** Ollama capability list; absent for rows written before probing existed. */
16
+ capabilities?: string[];
17
+ /** raw details.parameter_size from Ollama. */
18
+ parameterSize?: string;
19
+ /** Marketplace tier derived from the two fields above. */
20
+ tier?: 'agent' | 'light' | 'chat';
15
21
  /** coarse, self-reported city (privacy: never street-level) */
16
22
  city?: string;
17
23
  /** 0–100 self-reported credit heuristic */
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAqBxC,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGjE,OAAO,EAAE,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE9D,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AASxE;6DAC6D;AAC7D,eAAO,MAAM,mBAAmB,YAAY,CAAA;AAE5C,sEAAsE;AACtE,MAAM,MAAM,YAAY,GAAG;IACzB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAA;IACpB,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,MAAM,WAAW,MAAM;IACrB,gFAAgF;IAChF,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACxB,4CAA4C;IAC5C,GAAG,EAAE,cAAc,CAAA;IACnB,+DAA+D;IAC/D,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtB,uEAAuE;IACvE,OAAO,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAC3B;;2DAEuD;IACvD,MAAM,EAAE,OAAO,CAAA;IACf;;gEAE4D;IAC5D,OAAO,EAAE,OAAO,CAAA;IAChB,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAA;IACd,6BAA6B;IAC7B,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB;iFAC6E;IAC7E,cAAc,EAAE,OAAO,CAAA;IACvB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAA;IACpB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,WAAW,EAAE,OAAO,CAAA;IACpB,sDAAsD;IACtD,mBAAmB,EAAE,MAAM,CAAA;CAC5B;AAWD,sCAAsC;AACtC,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;IASjB;;;;OAIG;;IAEH,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAN3E;;;;OAIG;;IAEH,2EAA2E;;;;;;;aAU3E,CAAA;AAEF;;;;GAIG;AACH;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf,iEAAiE;IACjE,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC/B,gFAAgF;IAChF,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACnD;;YAmD2C,SAAS,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;QA9F3D;;;;WAIG;;QAEH,2EAA2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAN3E;;;;WAIG;;QAEH,2EAA2E;;;;;;;;iBAwCjD,OAAO,UAAU,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;EAoDlE;AASD,gFAAgF;AAChF,qBAAa,cAAc;IA0BvB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAtC7B,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,OAAO,CAA8B;IAC7C,gFAAgF;IAChF,OAAO,CAAC,cAAc,CAWP;IACf,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,WAAW,CAAmD;IACtE,OAAO,CAAC,YAAY,CAAQ;gBAGT,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM;IAC/B;;;;OAIG;IACc,UAAU,CAAC,EAAE,QAAQ,YAAA;IACtC,qEAAqE;IACpD,UAAU,GAAE,MAA4B;IAG3D,2EAA2E;IACrE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAShC,sEAAsE;IACtE,OAAO,CAAC,YAAY;IAKpB,gEAAgE;IAChE,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;IAQtB,wEAAwE;IACxE,OAAO,CAAC,SAAS;IAsBjB,gFAAgF;IAChF,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAW5B,yEAAyE;YAC3D,cAAc;IA6B5B,OAAO,CAAC,YAAY;IAQpB,4EAA4E;IACtE,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAiGhC,yEAAyE;IACnE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAiKlC;;;kEAG8D;IAC9D,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;YAMZ,cAAc;IA8D5B,yEAAyE;YAC3D,YAAY;IAS1B,iEAAiE;IAC3D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAK9B,uCAAuC;IACjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAmND,wFAAwF"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -368,12 +368,21 @@ export class GenkakuRuntime {
368
368
  // First run: an empty board looks broken to the person who just installed
369
369
  // the plugin. Advertise what Ollama already has, at a stated default price,
370
370
  // and let the panel adjust it afterwards.
371
- if (workerCatalog.length === 0 && this.config.autoCatalog) {
371
+ // Also re-probe rows written before capability probing existed: an entry
372
+ // without a tier cannot be labelled in the marketplace, and silently
373
+ // keeping it that way would leave every model looking agent-capable.
374
+ const needsProbe = workerCatalog.length === 0 || workerCatalog.some(entry => entry.tier === undefined);
375
+ if (needsProbe && this.config.autoCatalog) {
372
376
  try {
373
377
  const profiles = await probeModels(this.config.ollamaHost);
378
+ const priced = new Map(workerCatalog.map(entry => [entry.model, entry.pricePerHour]));
374
379
  workerCatalog = profiles.map(profile => ({
375
380
  model: profile.model,
376
- pricePerHour: this.config.defaultPricePerHour,
381
+ // Keep a price the worker already set; only new rows take the default.
382
+ pricePerHour: priced.get(profile.model) ?? this.config.defaultPricePerHour,
383
+ capabilities: profile.capabilities,
384
+ ...(profile.parameterSize === undefined ? {} : { parameterSize: profile.parameterSize }),
385
+ tier: profile.tier,
377
386
  }));
378
387
  if (workerCatalog.length > 0) {
379
388
  persistCatalog(this.keyDir, workerCatalog, this.log);
@@ -757,16 +766,25 @@ function persistCatalog(keyDir, entries, log) {
757
766
  }
758
767
  /** Catalog rows → the Offer shape createSidecar publishes (wallet added there). */
759
768
  function catalogOf(workerName, entries) {
760
- return entries.map(entry => ({
761
- proto: 'offers/0',
762
- workerName,
763
- model: entry.model,
764
- pricePerHour: BigInt(entry.pricePerHour),
765
- city: entry.city,
766
- creditScore: entry.creditScore ?? 50,
767
- sessionsServed: entry.sessionsServed ?? 0,
768
- maxConcurrent: entry.maxConcurrent,
769
- }));
769
+ return entries.map(entry => {
770
+ // A row that knows its capabilities publishes offers/1, so a client can
771
+ // label it. Rows written before probing existed stay offers/0 rather than
772
+ // claiming a tier they never measured.
773
+ const probed = entry.capabilities !== undefined || entry.tier !== undefined;
774
+ return {
775
+ proto: probed ? 'offers/1' : 'offers/0',
776
+ workerName,
777
+ model: entry.model,
778
+ pricePerHour: BigInt(entry.pricePerHour),
779
+ city: entry.city,
780
+ creditScore: entry.creditScore ?? 50,
781
+ sessionsServed: entry.sessionsServed ?? 0,
782
+ maxConcurrent: entry.maxConcurrent,
783
+ ...(entry.capabilities === undefined ? {} : { capabilities: entry.capabilities }),
784
+ ...(entry.parameterSize === undefined ? {} : { parameterSize: entry.parameterSize }),
785
+ ...(entry.tier === undefined ? {} : { tier: entry.tier }),
786
+ };
787
+ });
770
788
  }
771
789
  /** Best-effort local Ollama service; a failed spawn leaves an existing daemon alone. */
772
790
  //# sourceMappingURL=runtime.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genkaku/dsh-runtime",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "DeepSeek Harness adapter layer for the GenKaKu protocol runtime",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "dependencies": {
24
24
  "@deepseek-ai/cosmokit": "1.9.0",
25
25
  "@deepseek-ai/schemastery": "^3.19.0",
26
- "@genkaku/protocol": "0.1.8"
26
+ "@genkaku/protocol": "0.1.10"
27
27
  },
28
28
  "peerDependencies": {
29
29
  "@deepseek-ai/cordis": "^4.1.0",