@things-factory/board-import 10.1.5 → 10.1.6

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/board-import",
3
- "version": "10.1.5",
3
+ "version": "10.1.6",
4
4
  "main": "dist-server/index.js",
5
5
  "things-factory": true,
6
6
  "author": "heartyoh",
@@ -23,13 +23,13 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@operato/graphql": "^10.0.0",
26
- "@things-factory/ai-client-base": "^10.1.3",
27
- "@things-factory/attachment-base": "^10.1.4",
28
- "@things-factory/auth-base": "^10.1.4",
29
- "@things-factory/board-service": "^10.1.5",
26
+ "@things-factory/ai-client-base": "^10.1.6",
27
+ "@things-factory/attachment-base": "^10.1.6",
28
+ "@things-factory/auth-base": "^10.1.6",
29
+ "@things-factory/board-service": "^10.1.6",
30
30
  "@things-factory/env": "^10.1.3",
31
31
  "@things-factory/shell": "^10.1.4",
32
32
  "dxf-parser": "^1.1.2"
33
33
  },
34
- "gitHead": "d7e60939822ef18e5311311746b2abd28f169173"
34
+ "gitHead": "963aeb9ac470be5aea05bb5842a0a92afcab6036"
35
35
  }
@@ -75,6 +75,24 @@ function requireDomainContext(state: any): { domain: any; user: any } {
75
75
  const importToolsCategory: ToolCategory = {
76
76
  name: 'board-import',
77
77
  description: 'Drawing/CAD/IFC/image → Board 변환 파이프라인 (zero-to-twin).',
78
+ /*
79
+ * ⚠ 이 지침은 **아키텍트가 이 파일의 도구 설명만 보고 쓴 최소본**이다(2026-09-09).
80
+ *
81
+ * `registerToolCategory` 가 지침 없는 카테고리를 거절하게 되면서, 이 카테고리가 걸리는 유일한
82
+ * 자리였다. 도구를 등록한 쪽이 규율을 소유하므로(§`ToolCategory.guidance`), **이 도구를 아는
83
+ * 사람이 도메인 규율로 바꿔 주십시오.** 아래는 위 `description` 들에서 직접 읽어낸 것만 적었고
84
+ * 도메인 지식을 지어내지 않았다.
85
+ *
86
+ * 두 줄이 특히 중요하다 — 이 카테고리에는 **즉시 돌아오지만 끝나지 않은** 도구와 **확인을 받아야
87
+ * 하는** 도구가 있다. 그 둘이 지침이 필요한 전형이다.
88
+ */
89
+ guidance: [
90
+ '- 어떤 형식을 변환할 수 있는지 물으면 추측하지 말고 `listImportAdapters` 를 호출한다. 등록된 어댑터만이 답이다.',
91
+ '- `importBoardAsync` 는 **즉시 돌아오지만 변환은 끝나지 않았다.** 세션을 돌려줄 뿐이다 — `getImportSession` 으로 `completed` 를 확인하기 전에 "변환했습니다"라고 답하면 사용자는 없는 결과를 찾는다.',
92
+ '- `getImportSession` 이 `failed` 면 그 `message` 를 그대로 옮긴다. 원인을 지어내지 않는다.',
93
+ '- `materializeImportSession` 은 **사용자가 명시적으로 확인한 뒤에만** 호출한다. 미리보기를 보여 주고 저장 여부를 물은 다음이다. 만들어지는 Board 는 `draft` 이므로 발행은 사용자가 한다.',
94
+ '- attachment id 를 지어내지 않는다. 미리 업로드된 것만 있고, 없으면 업로드가 먼저라고 말한다.'
95
+ ].join('\n'),
78
96
  specs: [
79
97
  {
80
98
  kind: 'read',