@openchambery/web 2.0.0-beta.22 → 2.0.0-beta.23

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 (50) hide show
  1. package/dist/assets/{AssistantView-BkjDwtaQ.js → AssistantView-xcvH8rjG.js} +3 -3
  2. package/dist/assets/{DiagramView-DRuf0R6u.js → DiagramView-DNG8vo4Y.js} +1 -1
  3. package/dist/assets/{MarkdownRenderer-DalDLpzv.js → MarkdownRenderer-CEJAAr1D.js} +2 -2
  4. package/dist/assets/{MarkdownRendererImpl-DBwCHT5d.js → MarkdownRendererImpl-Cr2TAqhw.js} +1 -1
  5. package/dist/assets/{MarkstreamRendererImpl-B9BVC6Vb.js → MarkstreamRendererImpl-nZuUzTxY.js} +1 -1
  6. package/dist/assets/{MobileDetailNavigation-y40xCSR7.js → MobileDetailNavigation-DtKMM3yi.js} +1 -1
  7. package/dist/assets/{MobileShareBridge-Cbq4bKs6.js → MobileShareBridge-B7WXWIu6.js} +1 -1
  8. package/dist/assets/{MobileSurface-D-F3eHiN.js → MobileSurface-DpWdHT3N.js} +1 -1
  9. package/dist/assets/{MultiRunWindow-EJuLTLUQ.js → MultiRunWindow-BUKkRUqu.js} +1 -1
  10. package/dist/assets/{SettingsView-CVqmT8RN.js → SettingsView-8E-wbaVn.js} +1 -1
  11. package/dist/assets/{SettingsWindow-BNDmIW89.js → SettingsWindow-Bqmgbx0M.js} +1 -1
  12. package/dist/assets/{TerminalView-gZgQfbuO.js → TerminalView-68VbSeR-.js} +1 -1
  13. package/dist/assets/{ToolOutputDialog-QoCh-2gJ.js → ToolOutputDialog-CVK4WsvG.js} +1 -1
  14. package/dist/assets/{appThemeRegistry-kguN_Kk3.js → appThemeRegistry-9e16JGaU.js} +1 -1
  15. package/dist/assets/{fileMentionTouchSelection-ygAGnsZQ.js → fileMentionTouchSelection-Dn-wohRQ.js} +1 -1
  16. package/dist/assets/{gitApi-CHNElSO9.js → gitApi-BA9aM1SG.js} +1 -1
  17. package/dist/assets/{insertionBoundaries-CAGUdmJD.js → insertionBoundaries-CI9ok09h.js} +1 -1
  18. package/dist/assets/{main-CMC55kzu.js → main-CcAGHLHU.js} +4 -4
  19. package/dist/assets/{main-BbcLOyi3.js → main-DgAK4oel.js} +2 -2
  20. package/dist/assets/{mcpQueries-B9Je_SGv.js → mcpQueries-2M1PZ3lm.js} +1 -1
  21. package/dist/assets/{miniChat-CcSfMnJH.js → miniChat-Cc9LRMjb.js} +2 -2
  22. package/dist/assets/{mobile-B9WA1Y98.js → mobile-D85ParE1.js} +2 -2
  23. package/dist/assets/{multirun-CsyU-7QN.js → multirun-DvtrTdrM.js} +1 -1
  24. package/dist/assets/{projectMeta-BDEHdXJ9.js → projectMeta-D_YBAmPw.js} +1 -1
  25. package/dist/assets/{renderElectronMiniChatApp-Dx8MwWwO.js → renderElectronMiniChatApp-29E_I_Wu.js} +2 -2
  26. package/dist/assets/{renderMobileApp-BFXRsHXI.js → renderMobileApp-VE8moPSo.js} +4 -4
  27. package/dist/assets/{runtimeConfig-DoIlK5gp.js → runtimeConfig-CZrkgYcD.js} +1 -1
  28. package/dist/assets/{runtimeEndpointReset-CAYxvd4H.js → runtimeEndpointReset-B71dh9nk.js} +1 -1
  29. package/dist/assets/{sessionChangeSummary-D9uXfzZ_.js → sessionChangeSummary-Dk4PbQaU.js} +1 -1
  30. package/dist/assets/{sessionLookup-DSuGYE36.js → sessionLookup-BcQ28pj8.js} +1 -1
  31. package/dist/assets/{useAppFontEffects-Cakdb23p.js → useAppFontEffects-BIH0h1v7.js} +5 -5
  32. package/dist/assets/{useDesktopWindowControlsLayout-DaReS2qH.js → useDesktopWindowControlsLayout-DvKPPF8d.js} +1 -1
  33. package/dist/assets/{useEffectiveDirectory-CbfHKmnU.js → useEffectiveDirectory-BXEpJMOS.js} +1 -1
  34. package/dist/assets/{useMobileNavigationStore-BLy93WtU.js → useMobileNavigationStore-Cu3jliDp.js} +5 -5
  35. package/dist/assets/{useSessionAutoCleanup-BiTaPK87.js → useSessionAutoCleanup-CH8TehHH.js} +1 -1
  36. package/dist/assets/{useWorkerHighlightedLines-DXEA8HEy.js → useWorkerHighlightedLines-PqKAaqkW.js} +1 -1
  37. package/dist/index.html +2 -2
  38. package/dist/mini-chat.html +2 -2
  39. package/dist/mobile.html +2 -2
  40. package/package.json +1 -1
  41. package/server/lib/question-auto-delegate/DOCUMENTATION.md +21 -6
  42. package/server/lib/question-auto-delegate/core.d.ts +5 -1
  43. package/server/lib/question-auto-delegate/core.js +21 -13
  44. package/server/lib/question-auto-delegate/form-io.d.ts +6 -0
  45. package/server/lib/question-auto-delegate/form-io.js +39 -0
  46. package/server/lib/question-auto-delegate/runtime.js +4 -24
  47. package/server/lib/question-auto-delegate/runtime.test.js +138 -0
  48. package/server/lib/session-goal/DOCUMENTATION.md +11 -0
  49. package/server/lib/session-goal/runtime.js +4 -4
  50. package/server/lib/session-goal/runtime.test.js +32 -3
@@ -136,7 +136,7 @@ const makeFetch = ({ messages, liveStatus }) => {
136
136
  }
137
137
  if (pathEndsWith(reqPath, '/session/ses-goal/message')) {
138
138
  // Official v2 SessionMessagesResponse shape.
139
- return jsonResponse({ data: messages, cursor: {} });
139
+ return jsonResponse({ data: new URL(url).searchParams.get('order') === 'desc' ? [...messages].reverse() : messages, cursor: {} });
140
140
  }
141
141
  if (pathEndsWith(reqPath, '/session/ses-goal') && !reqPath.includes('/message')) {
142
142
  if (init.method === 'PATCH') {
@@ -263,6 +263,33 @@ describe('session-goal v2 message projection helpers', () => {
263
263
  });
264
264
 
265
265
  describe('session-goal continuation delivery', () => {
266
+ it.each([false, true])('continues after a completed compaction beyond the first message page (HTTP fallback: %s)', async (fallback) => {
267
+ const messages = Array.from({ length: 42 }, (_, index) => ({
268
+ id: `msg_${String(index).padStart(3, '0')}`,
269
+ type: index === 41 ? 'compaction' : index % 2 ? 'user' : 'assistant',
270
+ time: index === 41 ? { created: index + 1 } : { created: index + 1, completed: index + 2 },
271
+ model: { providerID: 'p', id: 'm' },
272
+ agent: 'build',
273
+ ...(index === 41 ? { status: 'completed', summary: 'Work remains' } : { text: 'Working' }),
274
+ }));
275
+ const fixture = makeFetch({ messages, liveStatus: 'idle' });
276
+ const runtime = makeRuntime();
277
+ try {
278
+ await withFetch(async (input, init) => {
279
+ const url = new URL(String(input));
280
+ if (pathEndsWith(url.pathname, '/session/ses-goal/message')) {
281
+ if (fallback && url.pathname.startsWith('/api/')) return jsonResponse({ error: 'unavailable' }, 503);
282
+ const ordered = url.searchParams.get('order') === 'desc' ? [...messages].reverse() : messages;
283
+ return jsonResponse({ data: ordered.slice(0, Number(url.searchParams.get('limit') || 40)), cursor: {} });
284
+ }
285
+ return fixture.fetch(input, init);
286
+ }, async () => runtime.runTick('ses-goal', '/repo'));
287
+ expect(fixture.calls.prompt).toBe(1);
288
+ } finally {
289
+ runtime.stop();
290
+ }
291
+ });
292
+
266
293
  it('dispatches v2 session.prompt with stable continuation id and metadata', async () => {
267
294
  const promptBodies = [];
268
295
  const messages = [
@@ -291,7 +318,7 @@ describe('session-goal continuation delivery', () => {
291
318
  return jsonResponse({ data: {} });
292
319
  }
293
320
  if (pathEndsWith(reqPath, '/session/ses-goal/message')) {
294
- return jsonResponse({ data: messages, cursor: {} });
321
+ return jsonResponse({ data: new URL(url).searchParams.get('order') === 'desc' ? [...messages].reverse() : messages, cursor: {} });
295
322
  }
296
323
  if (pathEndsWith(reqPath, '/session/ses-goal') && !reqPath.includes('/message')) {
297
324
  if (init.method === 'PATCH' && init.body) {
@@ -984,7 +1011,9 @@ describe('session-goal runtime — pause / audit / dispatch boundary', () => {
984
1011
  const body = Array.isArray(messages)
985
1012
  ? { data: messages, cursor: {} }
986
1013
  : messages;
987
- return jsonResponse(body);
1014
+ return jsonResponse(new URL(String(input)).searchParams.get('order') === 'desc'
1015
+ ? { ...body, data: [...body.data].reverse() }
1016
+ : body);
988
1017
  }
989
1018
  if (pathEndsWith(reqPath, '/session/ses-goal')) {
990
1019
  if (init.method === 'PATCH') {