@things-factory/board-ai 10.1.176 → 10.1.178

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.
@@ -4,7 +4,7 @@
4
4
  import type { AIClient, AITool, AIToolCall, AIToolChatResult } from '@things-factory/ai-client-base';
5
5
  import { type BoardModel, type ComponentCategory } from '@things-factory/board-import';
6
6
  import type { BoardAIAssistant, ChatOptions, ChatResponse, LLMMessage } from './types.js';
7
- import { formatAbortNotice, summarizeToolResult, type ToolGate as NeutralToolGate } from '@things-factory/ai-client-base';
7
+ import { formatAbortNotice, resultShapeOf, type ToolGate as NeutralToolGate } from '@things-factory/ai-client-base';
8
8
  import type { SceneEditOp } from '@operato/scene-ops';
9
9
  import { type ToolCategoryFilter } from '@things-factory/ai-client-base';
10
10
  export interface BoardAIAssistantOptions {
@@ -58,7 +58,7 @@ export declare function listColorPaletteNames(): string[];
58
58
  * 등록된 레이아웃 템플릿 이름 목록 — 위와 동일.
59
59
  */
60
60
  export declare function listLayoutTemplateNames(): string[];
61
- export { formatAbortNotice, summarizeToolResult };
61
+ export { formatAbortNotice, resultShapeOf };
62
62
  export declare function isWriteTool(name: string): boolean;
63
63
  export declare function isActionTool(name: string): boolean;
64
64
  /**
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.summarizeToolResult = exports.formatAbortNotice = exports.DefaultBoardAIAssistant = exports.BOARD_EDIT_WITHHELD = void 0;
3
+ exports.resultShapeOf = exports.formatAbortNotice = exports.DefaultBoardAIAssistant = exports.BOARD_EDIT_WITHHELD = void 0;
4
4
  exports.buildBoardEditTools = buildBoardEditTools;
5
5
  exports.executeReadTool = executeReadTool;
6
6
  exports.isReadTool = isReadTool;
@@ -29,7 +29,7 @@ const read_tools_1 = require("./styling/read-tools");
29
29
  */
30
30
  const ai_client_base_1 = require("@things-factory/ai-client-base");
31
31
  Object.defineProperty(exports, "formatAbortNotice", { enumerable: true, get: function () { return ai_client_base_1.formatAbortNotice; } });
32
- Object.defineProperty(exports, "summarizeToolResult", { enumerable: true, get: function () { return ai_client_base_1.summarizeToolResult; } });
32
+ Object.defineProperty(exports, "resultShapeOf", { enumerable: true, get: function () { return ai_client_base_1.resultShapeOf; } });
33
33
  const grounding_1 = require("./grounding");
34
34
  const component_tree_1 = require("./component-tree");
35
35
  const registry_js_1 = require("./styling/registry.js");
@@ -189,7 +189,8 @@ class DefaultBoardAIAssistant {
189
189
  /* 문서에서 부품을 꺼내는 일은 **여기서** 한다 — 루프는 board 의 모양을 모른다. */
190
190
  validateWriteToolCall: (tc, ctx) => (0, tool_validation_1.validateWriteToolCall)(tc, (ctx.board?.components ?? [])),
191
191
  toolCallToOp: toolCallToSceneActionOp,
192
- summarizeToolResult: ai_client_base_1.summarizeToolResult
192
+ /* The conversation row keeps each answer's shape, never its values (ADR-0061 decision 8). */
193
+ summarizeToolResult: ai_client_base_1.resultShapeOf
193
194
  },
194
195
  context: { board: currentBoard, selectedRefids }
195
196
  });