@things-factory/board-ai 10.1.7 → 10.1.8
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-client/server/service/assistant.js +17 -1
- package/dist-client/server/service/assistant.js.map +1 -1
- package/dist-client/server/service/types.d.ts +7 -0
- package/dist-client/server/service/types.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/assistant.js +17 -1
- package/dist-server/service/assistant.js.map +1 -1
- package/dist-server/service/board-ai-resolver.d.ts +1 -0
- package/dist-server/service/board-ai-resolver.js +9 -1
- package/dist-server/service/board-ai-resolver.js.map +1 -1
- package/dist-server/service/types.d.ts +7 -0
- package/dist-server/service/types.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/logs/.5e5d741d8b7784a2fbad65eedc0fd46946aaf6f2-audit.json +15 -0
- package/logs/connections-2026-09-12-15.log +0 -0
- package/package.json +5 -5
- package/server/service/assistant.test.ts +5 -0
- package/server/service/assistant.ts +18 -1
- package/server/service/board-ai-resolver.ts +9 -1
- package/server/service/types.ts +8 -0
|
@@ -206,6 +206,21 @@ export class DefaultBoardAIAssistant {
|
|
|
206
206
|
messages: messages.map(m => (typeof m.content === 'string' ? m.content : '')),
|
|
207
207
|
toolResults: loopResult.groundedTexts
|
|
208
208
|
});
|
|
209
|
+
const analysis = (toolUsages.length || patch || accumulatedActions.length || loopResult.proposals.length)
|
|
210
|
+
? {
|
|
211
|
+
kind: 'board.analysis.v1',
|
|
212
|
+
scope: { boardId: currentBoard?.id },
|
|
213
|
+
window: { turn: messages.length },
|
|
214
|
+
confidence: { level: warnings.length ? 'low' : 'medium', reasons: warnings.length ? ['grounding-warning'] : ['tool-or-board-context'] },
|
|
215
|
+
limitations: warnings.map(code => ({ code })),
|
|
216
|
+
claims: [{ code: patch ? 'board.patch-proposed' : 'board.context-reviewed', severity: 'info', evidence: { toolCalls: toolUsages.length, componentCount: components.length }, method: 'board-agentic-loop', assumptions: ['Board context is current for this turn.'] }],
|
|
217
|
+
facts: { board: boardContext, toolUsages },
|
|
218
|
+
...(patch ? { proposal: patch } : accumulatedActions.length ? { proposal: accumulatedActions } : {}),
|
|
219
|
+
approvalRequired: true,
|
|
220
|
+
approval: { required: true, mode: 'confirm', reason: patch || accumulatedActions.length ? 'Board or scene change requires user confirmation.' : 'Analysis is advisory.' },
|
|
221
|
+
trace: { source: 'board-ai', generatedAt: new Date().toISOString(), version: '1' }
|
|
222
|
+
}
|
|
223
|
+
: undefined;
|
|
209
224
|
return {
|
|
210
225
|
reply,
|
|
211
226
|
patch,
|
|
@@ -214,7 +229,8 @@ export class DefaultBoardAIAssistant {
|
|
|
214
229
|
actions: accumulatedActions.length > 0 ? accumulatedActions : undefined,
|
|
215
230
|
/* 제안은 실행 전 상태다 — 대화면이 확인 버튼을 그린다. 서버는 실행하지 않는다. */
|
|
216
231
|
proposals: loopResult.proposals.length > 0 ? loopResult.proposals : undefined,
|
|
217
|
-
groundingWarnings: warnings.length > 0 ? warnings : undefined
|
|
232
|
+
groundingWarnings: warnings.length > 0 ? warnings : undefined,
|
|
233
|
+
analysis
|
|
218
234
|
};
|
|
219
235
|
}
|
|
220
236
|
resolveTypesAndCategories(options) {
|