@openchambery/web 2.0.0-beta.21 → 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.
- package/dist/assets/{AssistantView-naRl3N6N.js → AssistantView-xcvH8rjG.js} +3 -3
- package/dist/assets/{DiagramView-CJVRnLLD.js → DiagramView-DNG8vo4Y.js} +1 -1
- package/dist/assets/{MarkdownRenderer-_SuOGgNO.js → MarkdownRenderer-CEJAAr1D.js} +2 -2
- package/dist/assets/{MarkdownRendererImpl-D3c0ZZOe.js → MarkdownRendererImpl-Cr2TAqhw.js} +1 -1
- package/dist/assets/{MarkstreamRendererImpl-BnZaplmG.js → MarkstreamRendererImpl-nZuUzTxY.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-HLvtYuCk.js → MobileDetailNavigation-DtKMM3yi.js} +1 -1
- package/dist/assets/{MobileShareBridge-Biw4q67K.js → MobileShareBridge-B7WXWIu6.js} +1 -1
- package/dist/assets/{MobileSurface-BgE6_oyX.js → MobileSurface-DpWdHT3N.js} +1 -1
- package/dist/assets/{MultiRunWindow-BF516oDD.js → MultiRunWindow-BUKkRUqu.js} +1 -1
- package/dist/assets/{SettingsView-DbHjBwRm.js → SettingsView-8E-wbaVn.js} +1 -1
- package/dist/assets/{SettingsWindow-C8Xn95yZ.js → SettingsWindow-Bqmgbx0M.js} +1 -1
- package/dist/assets/{TerminalView-B7yuQ1AV.js → TerminalView-68VbSeR-.js} +1 -1
- package/dist/assets/{ToolOutputDialog-C5pL0tuu.js → ToolOutputDialog-CVK4WsvG.js} +1 -1
- package/dist/assets/{appThemeRegistry-BZX_tQiK.js → appThemeRegistry-9e16JGaU.js} +1 -1
- package/dist/assets/{fileMentionTouchSelection-DrYA6Sr9.js → fileMentionTouchSelection-Dn-wohRQ.js} +1 -1
- package/dist/assets/{gitApi-DYTjwOds.js → gitApi-BA9aM1SG.js} +1 -1
- package/dist/assets/{insertionBoundaries-CDqeL75o.js → insertionBoundaries-CI9ok09h.js} +1 -1
- package/dist/assets/{main-D0wxmCfZ.js → main-CcAGHLHU.js} +4 -4
- package/dist/assets/{main-eaupUQ5r.js → main-DgAK4oel.js} +2 -2
- package/dist/assets/{mcpQueries-BLAC84Tx.js → mcpQueries-2M1PZ3lm.js} +1 -1
- package/dist/assets/{miniChat-CQVvM9wj.js → miniChat-Cc9LRMjb.js} +2 -2
- package/dist/assets/{mobile-D2ek5Kqj.js → mobile-D85ParE1.js} +2 -2
- package/dist/assets/{multirun-BlwYY4Zc.js → multirun-DvtrTdrM.js} +1 -1
- package/dist/assets/{projectMeta-BKyd9XVy.js → projectMeta-D_YBAmPw.js} +1 -1
- package/dist/assets/{renderElectronMiniChatApp-D8r6WLic.js → renderElectronMiniChatApp-29E_I_Wu.js} +2 -2
- package/dist/assets/{renderMobileApp-CWnwd-6g.js → renderMobileApp-VE8moPSo.js} +4 -4
- package/dist/assets/{runtimeConfig-CrstkVKq.js → runtimeConfig-CZrkgYcD.js} +1 -1
- package/dist/assets/{runtimeEndpointReset-Dtq4kqAQ.js → runtimeEndpointReset-B71dh9nk.js} +1 -1
- package/dist/assets/{sessionChangeSummary-Cy03Ps9t.js → sessionChangeSummary-Dk4PbQaU.js} +1 -1
- package/dist/assets/{sessionLookup-DHVNgBpp.js → sessionLookup-BcQ28pj8.js} +1 -1
- package/dist/assets/{useAppFontEffects-CUB9GXLu.js → useAppFontEffects-BIH0h1v7.js} +5 -5
- package/dist/assets/{useDesktopWindowControlsLayout-DT2ZGali.js → useDesktopWindowControlsLayout-DvKPPF8d.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-HWOd1UY6.js → useEffectiveDirectory-BXEpJMOS.js} +1 -1
- package/dist/assets/{useMobileNavigationStore-BvjkdMg_.js → useMobileNavigationStore-Cu3jliDp.js} +5 -5
- package/dist/assets/{useSessionAutoCleanup-DZ_iSJsk.js → useSessionAutoCleanup-CH8TehHH.js} +1 -1
- package/dist/assets/{useWorkerHighlightedLines-DdnhcOWA.js → useWorkerHighlightedLines-PqKAaqkW.js} +1 -1
- package/dist/index.html +2 -2
- package/dist/mini-chat.html +2 -2
- package/dist/mobile.html +2 -2
- package/package.json +1 -1
- package/server/lib/question-auto-delegate/DOCUMENTATION.md +21 -6
- package/server/lib/question-auto-delegate/core.d.ts +5 -1
- package/server/lib/question-auto-delegate/core.js +21 -13
- package/server/lib/question-auto-delegate/form-io.d.ts +6 -0
- package/server/lib/question-auto-delegate/form-io.js +39 -0
- package/server/lib/question-auto-delegate/runtime.js +4 -24
- package/server/lib/question-auto-delegate/runtime.test.js +138 -0
- package/server/lib/session-goal/DOCUMENTATION.md +11 -0
- package/server/lib/session-goal/runtime.js +4 -4
- 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(
|
|
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') {
|