studiograph 1.3.48-next.279 → 1.3.48-next.280

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.
Files changed (76) hide show
  1. package/dist/agent/prompts/system.md +2 -0
  2. package/dist/server/routes/chat-turn-outcome.d.ts +46 -0
  3. package/dist/server/routes/chat-turn-outcome.js +51 -0
  4. package/dist/server/routes/chat-turn-outcome.js.map +1 -1
  5. package/dist/server/routes/chat.js +120 -12
  6. package/dist/server/routes/chat.js.map +1 -1
  7. package/dist/web/_app/immutable/chunks/{03YCa8No2.js → 0iYgHjxP2.js} +2 -2
  8. package/dist/web/_app/immutable/chunks/{CanuVrKZ.js → AdUGDNY9.js} +1 -1
  9. package/dist/web/_app/immutable/chunks/{CjL4EB_I2.js → B41i8cw52.js} +1 -1
  10. package/dist/web/_app/immutable/chunks/{TjUfqg5e2.js → B8gdzLRB2.js} +1 -1
  11. package/dist/web/_app/immutable/chunks/{BRPZdoke2.js → BCMCHGnl2.js} +1 -1
  12. package/dist/web/_app/immutable/chunks/{V6J5mysF2.js → BKZ9xpix2.js} +1 -1
  13. package/dist/web/_app/immutable/chunks/{BZWVk36y.js → BQQaOOf3.js} +1 -1
  14. package/dist/web/_app/immutable/chunks/{CRZ2iCNu.js → BTFf1mFm.js} +1 -1
  15. package/dist/web/_app/immutable/chunks/{OuKHsCY_.js → BUcmsNfi.js} +1 -1
  16. package/dist/web/_app/immutable/chunks/{DfU5Dg2Y2.js → BVKswxB62.js} +1 -1
  17. package/dist/web/_app/immutable/chunks/{C-5xnnAz.js → B_d4zq-4.js} +1 -1
  18. package/dist/web/_app/immutable/chunks/{Dy0vXhNQ.js → Ba53qoVO.js} +1 -1
  19. package/dist/web/_app/immutable/chunks/{B74xyA0_2.js → BeF_YrEc2.js} +1 -1
  20. package/dist/web/_app/immutable/chunks/{Bx3aNSM-.js → BlsIMcBq.js} +1 -1
  21. package/dist/web/_app/immutable/chunks/{DnFBOhZD.js → CA8NGDnJ.js} +1 -1
  22. package/dist/web/_app/immutable/chunks/{2LYjTYGv.js → CBDveU8k.js} +1 -1
  23. package/dist/web/_app/immutable/chunks/{DhaLWYNa2.js → CEQy5B8f2.js} +1 -1
  24. package/dist/web/_app/immutable/chunks/{CZAhFROE.js → CI12Gaeg.js} +1 -1
  25. package/dist/web/_app/immutable/chunks/{Ce3iNS7s.js → CIvNZDmy.js} +1 -1
  26. package/dist/web/_app/immutable/chunks/{TBlvSMtz2.js → CMttYaeT2.js} +2 -2
  27. package/dist/web/_app/immutable/chunks/{DgweY3Aq.js → C_A_y7x5.js} +1 -1
  28. package/dist/web/_app/immutable/chunks/Cakxkuk5.js +1 -0
  29. package/dist/web/_app/immutable/chunks/{DbaPCIOD.js → CbOk_o5_.js} +2 -2
  30. package/dist/web/_app/immutable/chunks/{DobWZer5.js → ChuPYjb5.js} +1 -1
  31. package/dist/web/_app/immutable/chunks/{AymRL-g9.js → ClIEtyi4.js} +1 -1
  32. package/dist/web/_app/immutable/chunks/{CobWgNgp.js → CoyEQ_5V.js} +1 -1
  33. package/dist/web/_app/immutable/chunks/{CnGNX5D_.js → CrM8HKY2.js} +1 -1
  34. package/dist/web/_app/immutable/chunks/{B5x0AGM2.js → DHepCXpt.js} +1 -1
  35. package/dist/web/_app/immutable/chunks/{D_cBk3me2.js → DWH6DgCd2.js} +1 -1
  36. package/dist/web/_app/immutable/chunks/{NgDkmZw1.js → DYi0TLhD.js} +1 -1
  37. package/dist/web/_app/immutable/chunks/{CAUXsrnR.js → DbOFiaoY.js} +1 -1
  38. package/dist/web/_app/immutable/chunks/{CRyNwtQ-2.js → DurEh4us2.js} +1 -1
  39. package/dist/web/_app/immutable/chunks/{DoDbcpKf.js → DvMpJfpG.js} +1 -1
  40. package/dist/web/_app/immutable/chunks/{D61vjDlv.js → DvylWUzx.js} +1 -1
  41. package/dist/web/_app/immutable/chunks/{BAOdayQZ.js → DzaWUnWv.js} +3 -3
  42. package/dist/web/_app/immutable/chunks/{OHcaE62f.js → G_Qn9TDJ.js} +1 -1
  43. package/dist/web/_app/immutable/chunks/{HvMX6QL_2.js → Gk29olsw2.js} +1 -1
  44. package/dist/web/_app/immutable/chunks/{BJeH2M0P.js → HDLg5UkK.js} +1 -1
  45. package/dist/web/_app/immutable/chunks/NhtQS20X.js +1 -0
  46. package/dist/web/_app/immutable/chunks/{B8xy5vZj.js → aSBc8N1l.js} +1 -1
  47. package/dist/web/_app/immutable/chunks/{BSz2o7pg.js → dCZb8Wbu.js} +1 -1
  48. package/dist/web/_app/immutable/chunks/{BidwYl_c.js → jB_mSyDz.js} +1 -1
  49. package/dist/web/_app/immutable/chunks/{CisHAjFD.js → rW9JG922.js} +1 -1
  50. package/dist/web/_app/immutable/chunks/{DbmUSotT2.js → sE-xIBIx2.js} +1 -1
  51. package/dist/web/_app/immutable/entry/{app.DlWn1hz9.js → app.B7VOZHNw.js} +2 -2
  52. package/dist/web/_app/immutable/entry/start.CJX1xbb4.js +1 -0
  53. package/dist/web/_app/immutable/nodes/{0.dcPosA84.js → 0.DPFQMkmA.js} +2 -2
  54. package/dist/web/_app/immutable/nodes/{1.CZB66dp3.js → 1.BUg3EbJ_.js} +1 -1
  55. package/dist/web/_app/immutable/nodes/{10.DW9XYA4H.js → 10.CZbTqhAj.js} +1 -1
  56. package/dist/web/_app/immutable/nodes/{11.BHe-wSd-.js → 11.Z-Ou8FlB.js} +1 -1
  57. package/dist/web/_app/immutable/nodes/{12.DO9GHOl_.js → 12.BUp8Zhqh.js} +1 -1
  58. package/dist/web/_app/immutable/nodes/{13.Fzp9KUMX.js → 13.Po2Xe1O2.js} +1 -1
  59. package/dist/web/_app/immutable/nodes/{15.DWaWokSm.js → 15.Cn6zcfI1.js} +1 -1
  60. package/dist/web/_app/immutable/nodes/{16.M4q6R3Qh.js → 16.Dal2-WQp.js} +1 -1
  61. package/dist/web/_app/immutable/nodes/{18.BMl6eqir.js → 18.BzDlENiF.js} +1 -1
  62. package/dist/web/_app/immutable/nodes/{19.BGZ4XWFI.js → 19.CQhngMoM.js} +1 -1
  63. package/dist/web/_app/immutable/nodes/{2.C9-XTsRj.js → 2.BxjWYHmV.js} +4 -4
  64. package/dist/web/_app/immutable/nodes/{3.Yjuif87f.js → 3.B4lvM3dS.js} +1 -1
  65. package/dist/web/_app/immutable/nodes/{4.Be21kvvd.js → 4.CC_fNxyS.js} +3 -3
  66. package/dist/web/_app/immutable/nodes/{5.CYGwTt3Z.js → 5.DlfbHz3H.js} +1 -1
  67. package/dist/web/_app/immutable/nodes/{6.CDkAQ5ct.js → 6.BuwXsPuz.js} +1 -1
  68. package/dist/web/_app/immutable/nodes/{7.lyyseO0Q.js → 7.CWkwNeVy.js} +1 -1
  69. package/dist/web/_app/immutable/nodes/{8.i9-XjsOI.js → 8.bQx8gIIK.js} +1 -1
  70. package/dist/web/_app/immutable/nodes/{9.CosI2_L-.js → 9.3Mk3Iduz.js} +1 -1
  71. package/dist/web/_app/version.json +1 -1
  72. package/dist/web/index.html +13 -13
  73. package/package.json +1 -1
  74. package/dist/web/_app/immutable/chunks/Cm1zmF4A.js +0 -1
  75. package/dist/web/_app/immutable/chunks/D8BXtK4o.js +0 -1
  76. package/dist/web/_app/immutable/entry/start.dvTK5I1O.js +0 -1
@@ -246,6 +246,8 @@ The platform owns arrangement, stepping, and pagination — so **match the artif
246
246
 
247
247
  After `create_artifact` / `patch_artifact`, the result reports the resolved frame structure (manifest) and any warnings — verify the frame count and per-frame layouts match what the user asked for (a deck is N `slides` frames, not one `app` frame); if they don't, or a warning fired, fix it before responding. Load the `artifact-canvas` skill before creating a canvas artifact, and additionally the `paged-documents` skill before creating or editing a multi-page document (a `pages` frame) — it is the reference for the native-columns letterhead model (`furniture`/`pageMargins`, `break-before:column`) and requires you to render-and-inspect the result. Canvas artifacts are graph entries that open in the center content well, with PDF, PNG, and HTML downloads available from the artifact toolbar. For 3D, data visualization, and animation, request curated local libraries in the bundle (`three`, `d3`, `motion`) rather than embedding CDN dependencies.
248
248
 
249
+ **Work within your response budget — reason economically and build large outputs in stages.** A single reply has a finite output-token limit, and it is shared by your thinking AND your visible output. If you spend it all reasoning, you hit the limit before producing anything and the turn fails with nothing to show. So: commit to an approach instead of re-deriving the same thing over and over (e.g. don't recompute a diagram's coordinates dozens of times — pick a method and go), and don't try to one-shot a large or pixel-exact artifact in a single turn. Build it **incrementally**: emit a structural first version with `create_artifact` (the overall layout, regions, and placeholders), then refine it with one or more `patch_artifact` calls (fill in a column, add the map, tune the type). Each tool call is a SEPARATE generation with its own fresh budget, so a big artifact never has to fit in one reply. For a genuinely large task, state a one-line plan, ship a first pass, then iterate — a rough-but-complete artifact you keep improving beats an exhaustive plan that never renders.
250
+
249
251
  ### Tool Selection
250
252
 
251
253
  **IMPORTANT — match user intent to the right tool category:**
@@ -25,9 +25,28 @@ export type ChatTurnOutcome = {
25
25
  } | {
26
26
  kind: 'error';
27
27
  message: string;
28
+ } | {
29
+ kind: 'truncated';
28
30
  } | {
29
31
  kind: 'resolve';
30
32
  };
33
+ /** Honest, actionable copy for an OUTPUT-ceiling stop that produced nothing usable.
34
+ * Distinct from the context-window OVERFLOW copy (that's the INPUT side). Surfaced
35
+ * instead of a misleading "the AI provider did not respond" or a generic
36
+ * "no response" — the model didn't fail to respond, it spent its whole generation
37
+ * budget (usually on reasoning) before producing an answer. */
38
+ export declare const OUTPUT_LIMIT_MESSAGE: string;
39
+ /** Steering message sent to the MODEL (never shown to the user) for the single
40
+ * bounded recovery continuation after an output-ceiling truncation. The prior
41
+ * assistant turn spent its whole generation budget on reasoning and emitted
42
+ * nothing usable; this re-prompt tells the model to stop deliberating and emit
43
+ * the result incrementally so the next generation — a FRESH budget — produces
44
+ * something. Model-agnostic: providers that retain reasoning across a turn
45
+ * (e.g. Gemini's encrypted thoughtSignature) resume WITH their analysis intact,
46
+ * so the model can answer without re-deriving; providers that don't still get a
47
+ * clear instruction to act now. Kept here next to OUTPUT_LIMIT_MESSAGE so the
48
+ * two halves of the ceiling-recovery contract live together and stay testable. */
49
+ export declare const OUTPUT_LIMIT_CORRECTIVE_NUDGE: string;
31
50
  export declare function decideChatTurnOutcome(input: {
32
51
  /** Reactive context-overflow detection result (computed by the route). */
33
52
  isOverflow: boolean;
@@ -37,6 +56,13 @@ export declare function decideChatTurnOutcome(input: {
37
56
  lastStopReason?: string;
38
57
  /** errorMessage of the last assistant message, if the run failed. */
39
58
  lastErrorMessage?: string;
59
+ /** Whether the FINAL (length-stopped) assistant message produced usable output of
60
+ * its OWN — a non-empty text block or a tool call. Must reflect that message's own
61
+ * blocks, NOT turn-wide accumulators: in a multi-step turn the budget can be
62
+ * exhausted on a continuation that emits only thinking, while earlier messages
63
+ * already ran a tool. A `length` stop whose final message DID produce a tool call
64
+ * is productive (the tool runs), so it is NOT truncated. */
65
+ finalMessageHasOutput?: boolean;
40
66
  }): ChatTurnOutcome;
41
67
  export declare function isRetryableTurnError(message: string | undefined): boolean;
42
68
  /**
@@ -66,6 +92,26 @@ export declare function isRetryableTurnError(message: string | undefined): boole
66
92
  * (re-streaming would duplicate the partial), nor is a streamed-but-toolless
67
93
  * initial turn.
68
94
  */
95
+ /**
96
+ * Whether to issue the single bounded CORRECTIVE continuation after an
97
+ * output-ceiling truncation (decideChatTurnOutcome → `truncated`). The model
98
+ * spent its whole generation budget on reasoning and emitted nothing usable; one
99
+ * re-prompt (OUTPUT_LIMIT_CORRECTIVE_NUDGE) tells it to stop deliberating and
100
+ * produce the result on a fresh budget. Strictly bounded to ONE attempt per turn:
101
+ * if the corrective continuation length-stops AGAIN, `correctiveAttempted` is set
102
+ * so this returns false and the route falls through to OUTPUT_LIMIT_MESSAGE — the
103
+ * backstop for a genuinely pathological prompt that just keeps re-spiralling.
104
+ * Skipped when the client has disconnected (no point re-prompting into a dead
105
+ * stream). Pure so the 1-attempt bound is unit-testable.
106
+ */
107
+ export declare function shouldIssueCorrectiveContinuation(input: {
108
+ /** The settled turn hit the output-ceiling truncation outcome. */
109
+ truncated: boolean;
110
+ /** A corrective continuation was ALREADY issued this turn (enforces the bound). */
111
+ correctiveAttempted: boolean;
112
+ /** The SSE client has gone away — don't re-prompt into a dead stream. */
113
+ clientDisconnected: boolean;
114
+ }): boolean;
69
115
  export declare function shouldRetryTransientFailure(input: {
70
116
  attempt: number;
71
117
  maxRetries: number;
@@ -1,4 +1,27 @@
1
1
  const DEFAULT_PROVIDER_ERROR = 'The AI provider returned an error.';
2
+ /** Honest, actionable copy for an OUTPUT-ceiling stop that produced nothing usable.
3
+ * Distinct from the context-window OVERFLOW copy (that's the INPUT side). Surfaced
4
+ * instead of a misleading "the AI provider did not respond" or a generic
5
+ * "no response" — the model didn't fail to respond, it spent its whole generation
6
+ * budget (usually on reasoning) before producing an answer. */
7
+ export const OUTPUT_LIMIT_MESSAGE = 'I reached my response-length limit while working through this and didn’t get to a result. ' +
8
+ 'This usually happens on a large or pixel-exact one-shot task — the reasoning fills the whole reply. ' +
9
+ 'Try again, or ask me to build it in stages (a structural first pass, then refinements) so no single step runs over.';
10
+ /** Steering message sent to the MODEL (never shown to the user) for the single
11
+ * bounded recovery continuation after an output-ceiling truncation. The prior
12
+ * assistant turn spent its whole generation budget on reasoning and emitted
13
+ * nothing usable; this re-prompt tells the model to stop deliberating and emit
14
+ * the result incrementally so the next generation — a FRESH budget — produces
15
+ * something. Model-agnostic: providers that retain reasoning across a turn
16
+ * (e.g. Gemini's encrypted thoughtSignature) resume WITH their analysis intact,
17
+ * so the model can answer without re-deriving; providers that don't still get a
18
+ * clear instruction to act now. Kept here next to OUTPUT_LIMIT_MESSAGE so the
19
+ * two halves of the ceiling-recovery contract live together and stay testable. */
20
+ export const OUTPUT_LIMIT_CORRECTIVE_NUDGE = 'You hit your response-length limit while reasoning and produced no answer — you already have your analysis. ' +
21
+ 'Stop planning and re-deriving, and produce the result NOW. Build it incrementally rather than in one shot: ' +
22
+ 'start with a structural `create_artifact` (overall layout, regions, placeholders), then refine it with one or ' +
23
+ 'more `patch_artifact` calls — each tool call is a SEPARATE generation with its own fresh budget. ' +
24
+ 'Do not restate your plan; act.';
2
25
  export function decideChatTurnOutcome(input) {
3
26
  // Overflow wins: distinct, actionable copy ("conversation grew too large").
4
27
  if (input.isOverflow)
@@ -18,6 +41,19 @@ export function decideChatTurnOutcome(input) {
18
41
  if (input.lastErrorMessage || input.lastStopReason === 'error') {
19
42
  return { kind: 'error', message: input.lastErrorMessage || DEFAULT_PROVIDER_ERROR };
20
43
  }
44
+ // OUTPUT-ceiling stop (stopReason 'length') with NO usable output to show — no
45
+ // answer text anywhere in the turn AND the final message produced no tool call of
46
+ // its own. The model exhausted its generation budget (typically on extended
47
+ // thinking) before producing anything usable. This is NOT a context-window overflow
48
+ // (that's the INPUT side, caught above) and NOT a provider failure — it surfaces
49
+ // honest, retryable copy instead of the misleading "did not respond". Keyed off the
50
+ // FINAL message's own output (not turn-wide accumulators), so a continuation that
51
+ // length-stops on only thinking is caught even if an earlier step ran a tool. A
52
+ // turn that produced a preamble (content non-empty) keeps that partial output
53
+ // (resolve), and a final tool call stays productive (the tool runs).
54
+ if (input.lastStopReason === 'length' && !input.content.trim() && !input.finalMessageHasOutput) {
55
+ return { kind: 'truncated' };
56
+ }
21
57
  return { kind: 'resolve' };
22
58
  }
23
59
  /**
@@ -100,6 +136,21 @@ export function isRetryableTurnError(message) {
100
136
  * (re-streaming would duplicate the partial), nor is a streamed-but-toolless
101
137
  * initial turn.
102
138
  */
139
+ /**
140
+ * Whether to issue the single bounded CORRECTIVE continuation after an
141
+ * output-ceiling truncation (decideChatTurnOutcome → `truncated`). The model
142
+ * spent its whole generation budget on reasoning and emitted nothing usable; one
143
+ * re-prompt (OUTPUT_LIMIT_CORRECTIVE_NUDGE) tells it to stop deliberating and
144
+ * produce the result on a fresh budget. Strictly bounded to ONE attempt per turn:
145
+ * if the corrective continuation length-stops AGAIN, `correctiveAttempted` is set
146
+ * so this returns false and the route falls through to OUTPUT_LIMIT_MESSAGE — the
147
+ * backstop for a genuinely pathological prompt that just keeps re-spiralling.
148
+ * Skipped when the client has disconnected (no point re-prompting into a dead
149
+ * stream). Pure so the 1-attempt bound is unit-testable.
150
+ */
151
+ export function shouldIssueCorrectiveContinuation(input) {
152
+ return input.truncated && !input.correctiveAttempted && !input.clientDisconnected;
153
+ }
103
154
  export function shouldRetryTransientFailure(input) {
104
155
  if (input.attempt >= input.maxRetries)
105
156
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-turn-outcome.js","sourceRoot":"","sources":["../../../src/server/routes/chat-turn-outcome.ts"],"names":[],"mappings":"AA2BA,MAAM,sBAAsB,GAAG,oCAAoC,CAAC;AAEpE,MAAM,UAAU,qBAAqB,CAAC,KASrC;IACC,4EAA4E;IAC5E,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAElD,6EAA6E;IAC7E,yEAAyE;IACzE,yEAAyE;IACzE,8EAA8E;IAC9E,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAEnE,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,gCAAgC;IAChC,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,gBAAgB,IAAI,sBAAsB,EAAE,CAAC;IACtF,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,0EAA0E;AAC1E,yEAAyE;AACzE,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,wBAAwB,GAAa;IACzC,mBAAmB,EAAE,2DAA2D;IAChF,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;IAChB,kBAAkB;IAClB,eAAe,EAAE,mCAAmC;IACpD,iBAAiB,EAAE,+BAA+B;IAClD,kBAAkB,EAAE,MAAM;IAC1B,0BAA0B,EAAE,MAAM;IAClC,wBAAwB,EAAE,MAAM;IAChC,oEAAoE,EAAE,6BAA6B;IACnG,gFAAgF;IAChF,mFAAmF;IACnF,4EAA4E;IAC5E,6EAA6E;IAC7E,uEAAuE;IACvE,8EAA8E;IAC9E,2BAA2B,EAAE,gEAAgE;IAC7F,+EAA+E;IAC/E,uFAAuF;IACvF,sFAAsF;IACtF,+EAA+E;IAC/E,uCAAuC;IACvC,0CAA0C;IAC1C,kBAAkB,EAAE,yEAAyE;IAC7F,4BAA4B,EAAE,2EAA2E;CAC1G,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAc3C;IACC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACvD,IAAI,KAAK,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAE3C,wEAAwE;IACxE,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC;IAE9D,+EAA+E;IAC/E,iFAAiF;IACjF,8BAA8B;IAC9B,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"chat-turn-outcome.js","sourceRoot":"","sources":["../../../src/server/routes/chat-turn-outcome.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ import { validateArtifactBundle } from '../../core/artifact-frame-model.js';
10
10
  import { parseFollowups } from '../../agent/followups.js';
11
11
  import * as access from '../../services/access-control.js';
12
12
  import { reqGitUser } from './graph-api-access.js';
13
- import { decideChatTurnOutcome, shouldRetryTransientFailure } from './chat-turn-outcome.js';
13
+ import { decideChatTurnOutcome, shouldRetryTransientFailure, shouldIssueCorrectiveContinuation, OUTPUT_LIMIT_MESSAGE, OUTPUT_LIMIT_CORRECTIVE_NUDGE } from './chat-turn-outcome.js';
14
14
  import { hashArtifactBody } from '../../agent/tools/artifact-tools.js';
15
15
  import { log } from '../../utils/log.js';
16
16
  import { addInferenceUsage, createCloudInferenceBillingClient, createInferenceUsageSummary, isStudiographCreditsMode, } from '../../services/cloud-inference-billing.js';
@@ -914,7 +914,13 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
914
914
  // One prompt()/continue() attempt. Subscribes for the result, triggers
915
915
  // the run, and RESOLVES with the outcome (never rejects — a provider
916
916
  // failure comes back as { kind: 'error' } so the loop can decide).
917
- const runTurnAttempt = (isRetry) => new Promise((resolve) => {
917
+ // `mode` picks the trigger: 'initial' issues the user prompt, 'retry'
918
+ // re-requests the next model step via continue() (transient-failure
919
+ // recovery), 'corrective' appends the steering nudge via prompt() to
920
+ // recover from an output-ceiling truncation (continue() would throw on
921
+ // the trailing length-stopped assistant message — it's a real message,
922
+ // not a popped failure).
923
+ const runTurnAttempt = (mode) => new Promise((resolve) => {
918
924
  let content = '';
919
925
  let assistantMessageCount = 0;
920
926
  let toolCallCount = 0;
@@ -996,11 +1002,20 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
996
1002
  // Both failure kinds are content-INDEPENDENT: see
997
1003
  // decideChatTurnOutcome — a stale preamble must not let a failed
998
1004
  // turn resolve as if it were a complete answer.
1005
+ // Does the FINAL (possibly length-stopped) assistant message
1006
+ // produce usable output of its OWN — non-empty text or a tool
1007
+ // call? Keyed off this message's blocks, NOT turn-wide
1008
+ // accumulators, so a continuation that length-stops on only
1009
+ // thinking is detected even when an earlier step already ran a
1010
+ // tool (codex P1).
1011
+ const finalBlocks = (lastAssistantMessage?.content ?? []);
1012
+ const finalMessageHasOutput = finalBlocks.some((b) => (b?.type === 'text' && typeof b.text === 'string' && b.text.trim().length > 0) || b?.type === 'toolCall');
999
1013
  const outcome = decideChatTurnOutcome({
1000
1014
  isOverflow,
1001
1015
  content,
1002
1016
  lastStopReason,
1003
1017
  lastErrorMessage,
1018
+ finalMessageHasOutput,
1004
1019
  });
1005
1020
  if (outcome.kind === 'overflow') {
1006
1021
  const u = lastAssistantMessage.usage ?? {};
@@ -1032,6 +1047,22 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
1032
1047
  resolve({ kind: 'error', message: outcome.message, toolCallCount });
1033
1048
  return;
1034
1049
  }
1050
+ if (outcome.kind === 'truncated') {
1051
+ // OUTPUT-ceiling stop with no usable output: the model spent its
1052
+ // whole generation budget (typically on extended thinking) and
1053
+ // produced nothing. Resolve as a normal (empty) turn but flag it
1054
+ // so the post-loop fallback surfaces honest, retryable copy
1055
+ // (OUTPUT_LIMIT_MESSAGE) instead of the generic "no response" or
1056
+ // the misleading "AI provider did not respond". Usage IS billed
1057
+ // (the tokens were spent), so carry it through like any turn.
1058
+ const u = lastAssistantMessage?.usage ?? {};
1059
+ log.warn(`[chat/stream] turn hit output-token ceiling with no usable output ` +
1060
+ `(stopReason=length, outputTokens=${u.output ?? 0}, assistantMessages=${assistantMessageCount}, ` +
1061
+ `toolCalls=${toolCallCount}, blockTypes=${JSON.stringify(blockTypeCounts)}, ` +
1062
+ `sessionId=${resolvedSessionId}) prompt="${messageText.slice(0, 80)}"`);
1063
+ resolve({ kind: 'ok', content: '', usage, truncated: true });
1064
+ return;
1065
+ }
1035
1066
  if (!content) {
1036
1067
  // Legitimately-empty assistant turn (no error, no overflow):
1037
1068
  // log for visibility; the downstream fallback renders a gentle
@@ -1047,9 +1078,11 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
1047
1078
  resolve({ kind: 'ok', content, usage });
1048
1079
  }
1049
1080
  });
1050
- (isRetry
1051
- ? rawAgent.continue()
1052
- : rawAgent.prompt(fullMessage, imageBlocks.length ? imageBlocks : undefined)).catch((err) => {
1081
+ (mode === 'corrective'
1082
+ ? rawAgent.prompt(OUTPUT_LIMIT_CORRECTIVE_NUDGE)
1083
+ : mode === 'retry'
1084
+ ? rawAgent.continue()
1085
+ : rawAgent.prompt(fullMessage, imageBlocks.length ? imageBlocks : undefined)).catch((err) => {
1053
1086
  endSub();
1054
1087
  resolve({ kind: 'error', message: err?.message ?? String(err), toolCallCount });
1055
1088
  });
@@ -1079,15 +1112,85 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
1079
1112
  // dead listener onto the warm pooled agent.)
1080
1113
  try {
1081
1114
  let attempt = 0;
1115
+ // ONE bounded corrective continuation after an output-ceiling
1116
+ // truncation (separate budget from the transient-retry `attempt`
1117
+ // counter). `carryUsage` accumulates the truncated attempt's billed
1118
+ // tokens so they're added to whatever the corrective attempt spends —
1119
+ // unlike a transient failure (not billed, discarded), a length-stop's
1120
+ // tokens WERE spent and recorded, so settlement must include both.
1121
+ let correctiveAttempted = false;
1122
+ let issueCorrective = false;
1123
+ const carryUsage = createInferenceUsageSummary();
1124
+ const mergeUsage = (into, from) => {
1125
+ into.inputTokens += from.inputTokens;
1126
+ into.outputTokens += from.outputTokens;
1127
+ into.totalTokens += from.totalTokens;
1128
+ into.totalCostUsd += from.totalCostUsd;
1129
+ };
1082
1130
  while (true) {
1083
- const r = await runTurnAttempt(attempt > 0);
1084
- if (r.kind === 'ok')
1085
- return { content: r.content, usage: r.usage };
1131
+ const mode = issueCorrective ? 'corrective' : attempt > 0 ? 'retry' : 'initial';
1132
+ issueCorrective = false; // consumed for this iteration
1133
+ const r = await runTurnAttempt(mode);
1134
+ if (r.kind === 'ok') {
1135
+ // Output-ceiling truncation (the model spent its whole generation
1136
+ // budget on reasoning, emitting nothing usable). Attempt exactly
1137
+ // ONE corrective continuation: re-prompt the model to stop
1138
+ // deliberating and emit the result incrementally — the next
1139
+ // generation is a FRESH budget, and providers that retain
1140
+ // reasoning across a turn resume with their analysis intact. The
1141
+ // truncated turn rendered nothing (it was all thinking), so the
1142
+ // corrective answer can't double-render. Bounded to one: if it
1143
+ // length-stops AGAIN, `correctiveAttempted` is set so we fall
1144
+ // through and surface OUTPUT_LIMIT_MESSAGE (the backstop for a
1145
+ // genuinely pathological prompt that just keeps re-spiralling).
1146
+ if (shouldIssueCorrectiveContinuation({ truncated: !!r.truncated, correctiveAttempted, clientDisconnected: streamDead })) {
1147
+ correctiveAttempted = true;
1148
+ issueCorrective = true;
1149
+ mergeUsage(carryUsage, r.usage);
1150
+ log.warn(`[chat/stream] output-ceiling truncation — issuing ONE corrective ` +
1151
+ `continuation (sessionId=${resolvedSessionId})`);
1152
+ // Let the truncated run fully settle before re-prompting —
1153
+ // prompt() throws "already processing" while activeRun is still
1154
+ // set (agent_end can resolve our outcome before the run promise
1155
+ // clears it). The length-stopped assistant message is REAL and
1156
+ // stays in history (no pop): the model needs to see its own
1157
+ // reasoning to resume. Re-check the client is still connected
1158
+ // after settling — it may have disconnected meanwhile.
1159
+ await rawAgent.waitForIdle().catch(() => { });
1160
+ // Client gone during settle — don't fire a doomed corrective
1161
+ // prompt; return the truncation with the carried (billed) usage.
1162
+ if (streamDead)
1163
+ return { content: r.content, usage: carryUsage, truncated: true };
1164
+ continue;
1165
+ }
1166
+ // Fold the carried truncated-attempt usage into the final usage so
1167
+ // billing settlement and the ledger reflect every token spent.
1168
+ mergeUsage(r.usage, carryUsage);
1169
+ return { content: r.content, usage: r.usage, truncated: r.truncated };
1170
+ }
1086
1171
  if (r.kind === 'overflow')
1087
1172
  throw new Error(OVERFLOW_MESSAGE);
1088
- // r.kind === 'error' — retry only the safe, transient initial-call
1089
- // failure: nothing streamed, no tools ran, retryable error, client
1090
- // still connected, attempts left.
1173
+ // r.kind === 'error'
1174
+ if (mode === 'corrective') {
1175
+ // The corrective continuation was a best-effort BONUS after an
1176
+ // output-ceiling truncation, and it failed on the provider call.
1177
+ // Don't surface that raw error and don't feed it into the
1178
+ // transient-retry path — a retryable corrective error would
1179
+ // otherwise be re-issued via continue() and fire a SECOND
1180
+ // corrective model call, breaking the exactly-one bound (the
1181
+ // initial truncation may not have streamed visible thinking, so
1182
+ // streamedToClient can't be relied on to block that retry). Fall
1183
+ // back to the truncation we ALREADY have: the honest, retryable
1184
+ // OUTPUT_LIMIT_MESSAGE, with the truncated attempt's billed usage
1185
+ // (carryUsage) preserved so settlement bills it instead of the
1186
+ // outer catch releasing the reservation and undercounting.
1187
+ log.warn(`[chat/stream] corrective continuation failed (${JSON.stringify(r.message)}) — ` +
1188
+ `falling back to OUTPUT_LIMIT_MESSAGE with carried usage (sessionId=${resolvedSessionId})`);
1189
+ return { content: '', usage: carryUsage, truncated: true };
1190
+ }
1191
+ // retry only the safe, transient initial-call failure: nothing
1192
+ // streamed, no tools ran, retryable error, client still connected,
1193
+ // attempts left.
1091
1194
  const canRetry = shouldRetryTransientFailure({
1092
1195
  attempt,
1093
1196
  maxRetries: MAX_TRANSIENT_RETRIES,
@@ -1145,7 +1248,12 @@ export async function registerChatRoutes(fastify, agent, wsHub, authService, mem
1145
1248
  // "Could you try rephrasing?" they didn't trigger.
1146
1249
  let fallback = false;
1147
1250
  if (!cleanContent.trim() && artifactCount === 0 && !streamDead) {
1148
- cleanContent = '_I didn\u2019t have a response for that. Could you try rephrasing?_';
1251
+ // An output-ceiling truncation (the model spent its whole generation budget
1252
+ // without producing output) gets honest, specific, retryable copy instead of
1253
+ // the generic "didn't have a response" \u2014 the model didn't fail to respond, it
1254
+ // ran out of room. Both render as a normal `fallback` message (no scary error
1255
+ // card); a typed prompt shows it, a silent auto-greet drops it.
1256
+ cleanContent = response.truncated ? OUTPUT_LIMIT_MESSAGE : '_I didn\u2019t have a response for that. Could you try rephrasing?_';
1149
1257
  fallback = true;
1150
1258
  }
1151
1259
  sendEvent({ type: 'done', message: cleanContent, suggestions, fallback });
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/routes/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/server/routes/chat.ts"],"names":[],"mappings":"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"}