@duetso/agent 0.1.192 → 0.1.194

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.192",
3
+ "version": "0.1.194",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",
@@ -56,9 +56,9 @@
56
56
  "build:compile": "bun build src/cli-entry.ts --compile --outfile dist/duet"
57
57
  },
58
58
  "dependencies": {
59
- "@earendil-works/pi-agent-core": "^0.77.0",
60
- "@earendil-works/pi-ai": "^0.77.0",
61
- "@earendil-works/pi-coding-agent": "^0.77.0",
59
+ "@earendil-works/pi-agent-core": "^0.79.9",
60
+ "@earendil-works/pi-ai": "^0.79.9",
61
+ "@earendil-works/pi-coding-agent": "^0.79.9",
62
62
  "@electric-sql/pglite": "^0.4.5",
63
63
  "@modelcontextprotocol/sdk": "^1.29.0",
64
64
  "@opentui/core": "^0.2.5",
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,EAAE,YAAY,CAAC;IACvB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB;AAeD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EASvD,CAAC;AA2JF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQ/F;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAErE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,sBAAsB,EAAE,CAQvF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI3F;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAqB/E;AAED,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAMhD,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEjE;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,mBAAmB,GACnB,YAAY,GACZ,WAAW,GACX,QAAQ,CAAC;AAEb,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,EAAE,YAAY,CAAC;IACvB,yFAAyF;IACzF,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,kDAAkD;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB;AAeD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAC5C,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,kBAAkB,EASvD,CAAC;AAuKF,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAQ/F;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEtE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAErE;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,sBAAsB,EAAE,CAQvF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAI3F;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAqB/E;AAED,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAMhD,CAAC;AAEF,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEjE;AAED,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAEhE"}
@@ -165,6 +165,18 @@ const MODEL_DEFINITIONS = [
165
165
  openrouter: "z-ai/glm-4.7",
166
166
  },
167
167
  },
168
+ {
169
+ // Zhipu's GLM 5.2 is routed through the duet/vercel gateways under the
170
+ // `zai/glm-5.2` model id and through OpenRouter as `z-ai/glm-5.2`. We do not
171
+ // configure a direct Zhipu provider, so these are the only routes.
172
+ shorthand: "glm-5.2",
173
+ aliases: ["zai/glm-5.2", "z-ai/glm-5.2", "glm-5-2"],
174
+ modelsByProvider: {
175
+ "duet-gateway": "zai/glm-5.2",
176
+ "vercel-ai-gateway": "zai/glm-5.2",
177
+ openrouter: "z-ai/glm-5.2",
178
+ },
179
+ },
168
180
  ];
169
181
  export function isProviderPinnedModelName(modelName) {
170
182
  return modelName.includes(":");
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/model-resolution/catalog.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export declare function getDuetGatewayBaseUrl(): string;
30
30
  * credential, even when the user also has a real `AI_GATEWAY_API_KEY=vck_...`
31
31
  * set for explicit `vercel-ai-gateway:*` pins.
32
32
  */
33
- export declare function resolveDuetGatewayModel(modelId: string): Model<any> | undefined;
33
+ export declare function resolveDuetGatewayModel(modelId: string): Model<any>;
34
34
  /**
35
35
  * Clone a known sibling on the same provider to build a Model pi-ai has not
36
36
  * shipped yet; returns undefined when the provider/modelId pair is not a
@@ -1 +1 @@
1
- {"version":3,"file":"duet-gateway.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAM3E;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAU/E;AA4BD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAK7F;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK1E"}
1
+ {"version":3,"file":"duet-gateway.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAQ3E;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AAEvD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CASnE;AAqED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAK7F;AASD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAK1E"}
@@ -2,6 +2,8 @@ import { getEnvApiKey, getModel } from "@earendil-works/pi-ai";
2
2
  import { resolveDuetAppBaseUrl } from "../lib/duet-app-url.js";
3
3
  const GATEWAY_PATH = "/api/v1/ai-gateway";
4
4
  const OPENAI_MODEL_PREFIX = "openai/";
5
+ const VERCEL_GATEWAY_BASE_URL = "https://ai-gateway.vercel.sh";
6
+ const OPENAI_BASE_URL = "https://api.openai.com/v1";
5
7
  /**
6
8
  * The Duet gateway proxies Vercel's AI Gateway path layout and authenticates
7
9
  * with a `DUET_API_KEY` token scoped to a single org. Rather than ship a
@@ -37,8 +39,6 @@ export function getDuetGatewayBaseUrl() {
37
39
  */
38
40
  export function resolveDuetGatewayModel(modelId) {
39
41
  const upstream = resolveDuetGatewayUpstream(modelId);
40
- if (!upstream)
41
- return undefined;
42
42
  return {
43
43
  ...upstream,
44
44
  provider: "duet-gateway",
@@ -46,12 +46,49 @@ export function resolveDuetGatewayModel(modelId) {
46
46
  baseUrl: getDuetGatewayBaseUrlForModel(upstream),
47
47
  };
48
48
  }
49
+ /**
50
+ * Resolve a gateway model id to its upstream spec, preferring pi-ai's catalog
51
+ * and synthesizing a pass-through model when the catalog has not shipped the id
52
+ * yet. The Duet gateway proxies Vercel's AI Gateway, which serves every
53
+ * `provider/model` id over the anthropic-messages transport (OpenAI models keep
54
+ * their native openai-responses transport for reasoning stream semantics), so a
55
+ * newly listed model works the moment Vercel serves it — without a catalog or
56
+ * code change here. When pi-ai later ships the model its real spec takes
57
+ * precedence over the synthesized placeholder automatically.
58
+ */
49
59
  function resolveDuetGatewayUpstream(modelId) {
50
60
  if (modelId.startsWith(OPENAI_MODEL_PREFIX)) {
51
- return getModel("openai", modelId.slice(OPENAI_MODEL_PREFIX.length));
61
+ const slug = modelId.slice(OPENAI_MODEL_PREFIX.length);
62
+ return (getModel("openai", slug) ??
63
+ synthesizePassthroughModel(modelId, "openai-responses"));
52
64
  }
53
65
  return (getModel("vercel-ai-gateway", modelId) ??
54
- resolveMissingModel("vercel-ai-gateway", modelId));
66
+ resolveMissingModel("vercel-ai-gateway", modelId) ??
67
+ synthesizePassthroughModel(modelId, "anthropic-messages"));
68
+ }
69
+ /**
70
+ * Build a minimal spec for a gateway model pi-ai's catalog has not shipped yet.
71
+ * The context/output ceilings are intentionally conservative so an unknown
72
+ * model never 400s on an over-advertised window; a model that needs a tighter
73
+ * cap can still set `maxOutputTokens` in the catalog, and once pi-ai ships the
74
+ * real spec this placeholder is bypassed entirely. `provider`/`baseUrl` are
75
+ * placeholders that `resolveDuetGatewayModel` overwrites with the Duet proxy
76
+ * route, so only `api` (which picks that route) and the limits matter here.
77
+ */
78
+ function synthesizePassthroughModel(modelId, api) {
79
+ const isOpenAI = api === "openai-responses";
80
+ return {
81
+ id: modelId,
82
+ name: modelId,
83
+ api,
84
+ provider: isOpenAI ? "openai" : "vercel-ai-gateway",
85
+ baseUrl: isOpenAI ? OPENAI_BASE_URL : VERCEL_GATEWAY_BASE_URL,
86
+ reasoning: true,
87
+ input: isOpenAI ? ["text", "image"] : ["text"],
88
+ cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
89
+ contextWindow: 256_000,
90
+ maxTokens: 64_000,
91
+ };
55
92
  }
56
93
  /**
57
94
  * Opus 4.8 siblings cloned to synthesize Claude Fable 5, which the Duet/Vercel
@@ -1 +1 @@
1
- {"version":3,"file":"duet-gateway.js","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAEtC;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEvD,MAAM,UAAU,qBAAqB;IACnC,OAAO,GAAG,qBAAqB,EAAE,GAAG,YAAY,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEhC,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ,EAAE,cAAc;QACxB,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,6BAA6B,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAe;IACjD,IAAI,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC,QAAe,EAAE,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAQ,CAEpE,CAAC;IAChB,CAAC;IACD,OAAO,CACJ,QAAQ,CAAC,mBAA0B,EAAE,OAAc,CAA4B;QAChF,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAiD;IAC1E,mBAAmB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,EAAE,EAAE,0BAA0B,EAAE;IAC1F,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE;CAC7D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACnE,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAe,EAAE,KAAK,CAAC,IAAW,CAA2B,CAAC;IACvF,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAiB;IACtD,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,EAAE,CAAC;QAC3E,OAAO,GAAG,qBAAqB,EAAE,KAAK,CAAC;IACzC,CAAC;IACD,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,YAAY,CAAC,QAA8C,CAAC,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"duet-gateway.js","sourceRoot":"","sources":["../../../src/model-resolution/duet-gateway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAc,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,SAAS,CAAC;AACtC,MAAM,uBAAuB,GAAG,8BAA8B,CAAC;AAC/D,MAAM,eAAe,GAAG,2BAA2B,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEvD,MAAM,UAAU,qBAAqB;IACnC,OAAO,GAAG,qBAAqB,EAAE,GAAG,YAAY,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,QAAQ;QACX,QAAQ,EAAE,cAAc;QACxB,EAAE,EAAE,OAAO;QACX,OAAO,EAAE,6BAA6B,CAAC,QAAQ,CAAC;KACjD,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,0BAA0B,CAAC,OAAe;IACjD,IAAI,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,CACJ,QAAQ,CAAC,QAAe,EAAE,IAAW,CAA4B;YAClE,0BAA0B,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,CACJ,QAAQ,CAAC,mBAA0B,EAAE,OAAc,CAA4B;QAChF,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC;QACjD,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,0BAA0B,CACjC,OAAe,EACf,GAA8C;IAE9C,MAAM,QAAQ,GAAG,GAAG,KAAK,kBAAkB,CAAC;IAC5C,OAAO;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,GAAG;QACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB;QACnD,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB;QAC7D,SAAS,EAAE,IAAI;QACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;QAC1D,aAAa,EAAE,OAAO;QACtB,SAAS,EAAE,MAAM;KAClB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,qBAAqB,GAAiD;IAC1E,mBAAmB,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,EAAE,EAAE,0BAA0B,EAAE;IAC1F,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,gBAAgB,EAAE;CAC7D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB,EAAE,OAAe;IACnE,MAAM,KAAK,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAe,EAAE,KAAK,CAAC,IAAW,CAA2B,CAAC;IACvF,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1E,CAAC;AAED,SAAS,6BAA6B,CAAC,KAAiB;IACtD,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,EAAE,CAAC;QAC3E,OAAO,GAAG,qBAAqB,EAAE,KAAK,CAAC;IACzC,CAAC;IACD,OAAO,qBAAqB,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,YAAY,CAAC,QAA8C,CAAC,CAAC;AACtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAoB1E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CA4B1D;AAiBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,eAAe,CAOjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,eAAe,CAEjB;AAoED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAO3E"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAoB1E,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;IAC5C,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CA2B1D;AAiBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,GAAG,SAAS,EACnC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,eAAe,CAOjB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GACtB,eAAe,CAEjB;AAoED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,eAAe,GAAG,MAAM,CAO3E"}
@@ -15,11 +15,10 @@ export function resolveModelName(model) {
15
15
  ? canonicalizeProviderModelId(provider, rawModelId)
16
16
  : rawModelId;
17
17
  if (provider === "duet-gateway") {
18
- const resolved = resolveDuetGatewayModel(modelId);
19
- if (!resolved) {
20
- throw new Error(`Unknown duet-gateway model: ${modelId}`);
21
- }
22
- return clampModelOutputTokens(resolved);
18
+ // resolveDuetGatewayModel always returns a model: it falls back to a
19
+ // synthesized pass-through spec for gateway ids pi-ai's catalog has not
20
+ // shipped yet, so new gateway models work without a code change here.
21
+ return clampModelOutputTokens(resolveDuetGatewayModel(modelId));
23
22
  }
24
23
  // getModel returns undefined for models the upstream catalog has not shipped
25
24
  // yet; fall back to a synthesized clone (e.g. Fable 5) before forwarding.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/model-resolution/resolver.ts"],"names":[],"mappings":"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"}
@@ -50,8 +50,21 @@ export declare function calculateWireBytes(messages: AgentMessage[]): number;
50
50
  export declare function calculateWireTokens(messages: AgentMessage[]): number;
51
51
  /**
52
52
  * Drop messages whose timestamp is at or before the eviction horizon, then
53
- * skip any orphan tool results or assistant messages at the new head so
54
- * the provider API receives a list that starts with a `user` turn.
53
+ * pick a provider-valid head for the surviving tail.
54
+ *
55
+ * Preferred anchor is the next real `user` turn: the cleanest head and the
56
+ * strongest context anchor. But a long autonomous run (a tool loop with no
57
+ * intervening user input) can leave a post-horizon tail with NO user turn
58
+ * at all. Skipping to a user message then would walk off the end and return
59
+ * an empty list — which starves the wire and lets the model loop forever,
60
+ * re-planning identically from durable memory every turn because it never
61
+ * sees its own recent work (see session_rUjMi_pUNzhB). When no user turn
62
+ * survives, fall back to keeping the recent tail anchored on the first
63
+ * non-orphan message: drop only leading `toolResult` messages, since a tool
64
+ * result whose matching tool call was evicted is the one head shape the
65
+ * provider rejects. The budget walk in {@link findEvictionHorizon} still
66
+ * bounds how much of that tail rides the wire, so this never reintroduces
67
+ * unbounded context growth — it only guarantees a non-empty, valid payload.
55
68
  */
56
69
  export declare function applyEvictionHorizon(messages: AgentMessage[], horizon: number): AgentMessage[];
57
70
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wire-shaping.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/wire-shaping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,QAAsC,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAU/C;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAEvD;AA+DD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAInE;AA+BD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAIpE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAW9F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,OAAO,GACtD,MAAM,CASR"}
1
+ {"version":3,"file":"wire-shaping.d.ts","sourceRoot":"","sources":["../../../src/turn-runner/wire-shaping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,QAAmB,CAAC;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,QAAsC,CAAC;AAEpE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAU/C;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAEvD;AA+DD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAInE;AA+BD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,MAAM,CAIpE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE,CAwB9F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,KAAK,OAAO,GACtD,MAAM,CASR"}
@@ -149,8 +149,21 @@ export function calculateWireTokens(messages) {
149
149
  }
150
150
  /**
151
151
  * Drop messages whose timestamp is at or before the eviction horizon, then
152
- * skip any orphan tool results or assistant messages at the new head so
153
- * the provider API receives a list that starts with a `user` turn.
152
+ * pick a provider-valid head for the surviving tail.
153
+ *
154
+ * Preferred anchor is the next real `user` turn: the cleanest head and the
155
+ * strongest context anchor. But a long autonomous run (a tool loop with no
156
+ * intervening user input) can leave a post-horizon tail with NO user turn
157
+ * at all. Skipping to a user message then would walk off the end and return
158
+ * an empty list — which starves the wire and lets the model loop forever,
159
+ * re-planning identically from durable memory every turn because it never
160
+ * sees its own recent work (see session_rUjMi_pUNzhB). When no user turn
161
+ * survives, fall back to keeping the recent tail anchored on the first
162
+ * non-orphan message: drop only leading `toolResult` messages, since a tool
163
+ * result whose matching tool call was evicted is the one head shape the
164
+ * provider rejects. The budget walk in {@link findEvictionHorizon} still
165
+ * bounds how much of that tail rides the wire, so this never reintroduces
166
+ * unbounded context growth — it only guarantees a non-empty, valid payload.
154
167
  */
155
168
  export function applyEvictionHorizon(messages, horizon) {
156
169
  if (horizon <= 0)
@@ -159,12 +172,25 @@ export function applyEvictionHorizon(messages, horizon) {
159
172
  while (firstKept < messages.length && messageTimestamp(messages[firstKept]) <= horizon) {
160
173
  firstKept += 1;
161
174
  }
162
- while (firstKept < messages.length && messages[firstKept].role !== "user") {
163
- firstKept += 1;
164
- }
165
175
  if (firstKept === 0)
166
176
  return messages;
167
- return messages.slice(firstKept);
177
+ let userAnchor = firstKept;
178
+ while (userAnchor < messages.length && messages[userAnchor].role !== "user") {
179
+ userAnchor += 1;
180
+ }
181
+ if (userAnchor < messages.length)
182
+ return messages.slice(userAnchor);
183
+ let nonOrphan = firstKept;
184
+ while (nonOrphan < messages.length && messages[nonOrphan].role === "toolResult") {
185
+ nonOrphan += 1;
186
+ }
187
+ // Degenerate tail of nothing but orphan tool results: empty-after-skip and
188
+ // provider-invalid both lose, so keep the raw post-horizon slice — a
189
+ // non-empty payload is the lesser evil and effectively never happens in
190
+ // practice (tool results sit adjacent to the call that produced them).
191
+ if (nonOrphan >= messages.length)
192
+ return messages.slice(firstKept);
193
+ return messages.slice(nonOrphan);
168
194
  }
169
195
  /**
170
196
  * Walk oldest-first, advance the horizon past each message in turn, and
@@ -1 +1 @@
1
- {"version":3,"file":"wire-shaping.js","sourceRoot":"","sources":["../../../src/turn-runner/wire-shaping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wire-shaping.js","sourceRoot":"","sources":["../../../src/turn-runner/wire-shaping.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duetso/agent",
3
- "version": "0.1.192",
3
+ "version": "0.1.194",
4
4
  "description": "An opinionated full-stack agent turn runner with native memories, interrupts, and multi-agent orchestration",
5
5
  "keywords": [
6
6
  "agent",
@@ -56,9 +56,9 @@
56
56
  "build:compile": "bun build src/cli-entry.ts --compile --outfile dist/duet"
57
57
  },
58
58
  "dependencies": {
59
- "@earendil-works/pi-agent-core": "^0.77.0",
60
- "@earendil-works/pi-ai": "^0.77.0",
61
- "@earendil-works/pi-coding-agent": "^0.77.0",
59
+ "@earendil-works/pi-agent-core": "^0.79.9",
60
+ "@earendil-works/pi-ai": "^0.79.9",
61
+ "@earendil-works/pi-coding-agent": "^0.79.9",
62
62
  "@electric-sql/pglite": "^0.4.5",
63
63
  "@modelcontextprotocol/sdk": "^1.29.0",
64
64
  "@opentui/core": "^0.2.5",