@things-factory/ai-assistant 10.1.161 → 10.1.167

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/ai-assistant",
3
- "version": "10.1.161",
3
+ "version": "10.1.167",
4
4
  "main": "dist-server/index.js",
5
5
  "things-factory": true,
6
6
  "author": "heartyoh",
@@ -34,13 +34,13 @@
34
34
  "@operato/popup": "^10.16.0",
35
35
  "@operato/shell": "^10.0.0",
36
36
  "@operato/styles": "^10.0.0",
37
- "@things-factory/ai-client-base": "^10.1.159",
38
- "@things-factory/apptool-base": "^10.1.157",
39
- "@things-factory/attachment-base": "^10.1.159",
40
- "@things-factory/auth-base": "^10.1.159",
37
+ "@things-factory/ai-client-base": "^10.1.167",
38
+ "@things-factory/apptool-base": "^10.1.165",
39
+ "@things-factory/attachment-base": "^10.1.167",
40
+ "@things-factory/auth-base": "^10.1.167",
41
41
  "@things-factory/env": "^10.1.149",
42
- "@things-factory/setting-base": "^10.1.159",
43
- "@things-factory/shell": "^10.1.157",
42
+ "@things-factory/setting-base": "^10.1.167",
43
+ "@things-factory/shell": "^10.1.165",
44
44
  "dompurify": "^3.0.0",
45
45
  "exceljs": "4.2.0",
46
46
  "graphql-scalars": "^1.22.0",
@@ -54,5 +54,5 @@
54
54
  "copyfiles": "^2.4.1",
55
55
  "rimraf": "^5.0.0"
56
56
  },
57
- "gitHead": "d32fe0614ea40572787acd94e307cc18a681ab38"
57
+ "gitHead": "86283c5d35042880be6827f777067fc5e6417eed"
58
58
  }
@@ -63,7 +63,7 @@ export function getAssistantModeWarnings(): ReadonlyArray<AssistantModeWarning>
63
63
 
64
64
  /*
65
65
  * 한 화면에 대화 하나 — design/ai/screen-pattern.md §3. 같은 subject 를 두 대화가 적으면 화면은 어느 쪽을
66
- * 열지 모르고, 고르개로 사람에게 넘기면 원칙 3 을 어긴다. 성격이 다른 물음은 그 대화가 도구를 더 연다.
66
+ * 열지 모르고, 선택기로 사람에게 넘기면 원칙 3 을 어긴다. 성격이 다른 물음은 그 대화가 도구를 더 연다.
67
67
  */
68
68
  const owners = new Map<string, string[]>()
69
69
  for (const mode of modes.values()) {
@@ -82,7 +82,7 @@
82
82
  "ai-assistant.notice.provider-busy": "AI 서비스가 지금 응답하지 않습니다. 잠시 뒤에 다시 해 보세요.",
83
83
  "ai-assistant.notice.provider-error": "처리 중에 문제가 생겼습니다. 같은 문제가 계속되면 관리자에게 알려 주세요.",
84
84
  "ai-assistant.notice.too-long": "조회 {iter}번 안에 답을 만들지 못하고 멈췄습니다.",
85
- "ai-assistant.notice.tool-kept-failing": "{tool} 호출이 {count}번 잇따라 실패해서 멈췄습니다. 다르게 말해 보세요.",
85
+ "ai-assistant.notice.tool-kept-failing": "{tool} 호출이 연속 {count}회 실패하여 중단했습니다. 요청 내용을 구체적으로 입력하여 다시 시도해 주세요.",
86
86
  "ai-assistant.text.no-match": "맞는 것이 없습니다",
87
87
  "ai-assistant.text.messages-unreadable": "이 대화를 읽지 못했습니다.",
88
88
  "ai-assistant.text.sessions-unreadable": "대화 목록을 불러오지 못했습니다.",
@@ -93,7 +93,7 @@
93
93
  "ai-assistant.text.other-figure-history": "이 대화는 다른 Figure 의 것입니다. 지금 열어 둔 모델의 대화를 여세요.",
94
94
  "ai-assistant.text.application-vs-model-history": "이 대화는 모델이 아니라 애플리케이션에 대한 것입니다. 원하는 쪽 대화를 여세요.",
95
95
  "ai-assistant.text.other-station-history": "이 대화는 다른 현장 화면의 것입니다. 지금 보고 있는 화면의 대화를 여세요.",
96
- "ai-assistant.text.unknown-mode": "이 화면이 찾는 대화가 서버에 없습니다({kind}). 페이지를 새로 고치세요.",
96
+ "ai-assistant.text.unknown-mode": "이 화면이 찾는 대화가 서버에 없습니다({kind}). 페이지를 새로고침해 주세요.",
97
97
  "ai-assistant.session.default-name": "대화 {n}",
98
98
  "ai-assistant.match.id": "ID",
99
99
  "ai-assistant.match.name": "이름",
@@ -118,9 +118,9 @@
118
118
  "ai-assistant.dock.proposal-result-uncheckable": "이 화면에서는 결과를 확인할 수 없습니다. 적용한 화면에서 확인하세요.",
119
119
  "ai-assistant.dock.proposal-result-unknown": "결과를 아직 알 수 없습니다. 다시 적용하지 않았습니다.",
120
120
  "ai-assistant.text.proposal-applied-count": " {total} 중 {applied}",
121
- "ai-assistant.text.say-to-room-tooltip": "여기 있는 사람들에게 말합니다. AI 는 답하지 않습니다",
121
+ "ai-assistant.text.say-to-room-tooltip": "대화 참여자에게 메시지를 보냅니다. AI는 응답하지 않습니다.",
122
122
  "ai-assistant.text.no-room-yet": "아직 저장되지 않은 대화라 같이 있는 사람이 없습니다",
123
- "ai-assistant.text.will-be-invited": "보내면 {names} 이 이 대화에 들어옵니다",
123
+ "ai-assistant.text.will-be-invited": "전송하면 {names} 님이 이 대화에 초대됩니다.",
124
124
  "ai-assistant.text.cannot-invite": "{names} 은 들어오지 않습니다. 이 대화에 있는 사람만 다른 사람을 부를 수 있습니다",
125
125
  "ai-assistant.text.answer-needs-permission": "이 답을 볼 권한이 없습니다. 관리자에게 요청하십시오.",
126
126
  "ai-assistant.label.conversation": "대화",
@@ -153,7 +153,7 @@
153
153
  "ai-assistant.session.visibility-refused": "이 대화의 공개 범위는 대화의 주인만 바꿀 수 있습니다.",
154
154
  "ai-assistant.session.remove-refused": "이 대화를 삭제하지 못했습니다.",
155
155
  "ai-assistant.text.attachments-not-accepted": "이 대화는 첨부를 받지 않습니다.",
156
- "ai-assistant.text.attachment-kind-not-accepted": "{name} 은 여기에 첨부할 수 없습니다. 이 대화는 {kinds} 를 받습니다.",
156
+ "ai-assistant.text.attachment-kind-not-accepted": "{name} 파일은 첨부할 수 없습니다. 지원하는 첨부 유형: {kinds}.",
157
157
  "ai-assistant.text.attachment-too-large": "{name} 은 {max} MB 보다 큽니다.",
158
158
  "ai-assistant.text.too-many-attachments": "한 번에 {max} 개까지 보낼 수 있습니다.",
159
159
  "ai-assistant.text.attachments-need-session": "첨부는 저장된 대화에서만 보낼 수 있습니다.",
@@ -187,7 +187,7 @@
187
187
  "ai-assistant.session.filter-private": "비공개",
188
188
  "ai-assistant.session.filter-unread": "안 읽음",
189
189
  "ai-assistant.dock.ask-needs-conversation": "질문을 보내지 않았습니다.",
190
- "ai-assistant.dock.audience-open-band": "공개 대화 — 이 사업장의 누구나 읽고 쓸 수 있습니다.",
190
+ "ai-assistant.dock.audience-open-band": "공개 대화 — 이 사업장의 누구나 읽고 사용할 수 있습니다.",
191
191
  "ai-assistant.entry.rows": "{count}행",
192
192
  "ai-assistant.entry.ready": "입력 가능 {count}",
193
193
  "ai-assistant.entry.blocked": "{count}행은 입력하지 않습니다",
@@ -209,7 +209,7 @@
209
209
  "ai-assistant.entry.issue.not-a-date": "날짜가 아닙니다",
210
210
  "ai-assistant.entry.issue.not-a-boolean": "예/아니오가 아닙니다",
211
211
  "ai-assistant.entry.issue.not-in-list": "허용된 값이 아닙니다 ({values})",
212
- "ai-assistant.entry.issue.unknown-field": "이 기록에 없는 칸이라 뺐습니다",
212
+ "ai-assistant.entry.issue.unknown-field": "이 기록에 정의되지 않은 항목이므로 제외했습니다.",
213
213
  "ai-assistant.entry.issue.no-source": "출처가 없습니다",
214
214
  "ai-assistant.entry.verified": "{count}행 자료와 대조됨",
215
215
  "ai-assistant.entry.unmatched": "{count}행에 자료에 없는 값",
@@ -257,23 +257,23 @@
257
257
  "ai-assistant.workspace.contains-chart": "차트 {count}",
258
258
  "ai-assistant.workspace.contains-metrics": "수치 {count}",
259
259
  "ai-assistant.workspace.contains-steps": "경과 {count}",
260
- "ai-assistant.entry.change": "{count}건 고치기",
260
+ "ai-assistant.entry.change": "{count}건 수정",
261
261
  "ai-assistant.entry.title-create": "{name} 입력안",
262
262
  "ai-assistant.entry.title-update": "{name} 수정안",
263
263
  "ai-assistant.entry.changed": "{count}건을 고쳤습니다.",
264
- "ai-assistant.entry.changed-none": "고친 기록이 없습니다.",
264
+ "ai-assistant.entry.changed-none": "수정된 기록이 없습니다.",
265
265
  "ai-assistant.entry.changes": "{count}건",
266
- "ai-assistant.entry.not-changed": "{count}건은 고치지 않습니다",
266
+ "ai-assistant.entry.not-changed": "{count}건은 변경하지 않습니다.",
267
267
  "ai-assistant.entry.record": "기록",
268
- "ai-assistant.entry.picked": "고른 길",
268
+ "ai-assistant.entry.picked": "선택한 길",
269
269
  "ai-assistant.entry.via-current": "보고 있는 기록",
270
270
  "ai-assistant.entry.via-selected": "선택한 행",
271
271
  "ai-assistant.entry.via-id": "대화에서 찾은 기록",
272
272
  "ai-assistant.entry.issue.record-not-found": "볼 수 있는 기록이 아닙니다",
273
273
  "ai-assistant.entry.issue.changed-since": "그사이 바뀌었습니다",
274
274
  "ai-assistant.entry.issue.no-change": "이미 그 값입니다",
275
- "ai-assistant.entry.issue.nothing-to-change": "고칠 칸이 없습니다",
276
- "ai-assistant.entry.issue.not-changeable": "고칠 수 없는 칸이라 뺐습니다",
275
+ "ai-assistant.entry.issue.nothing-to-change": "수정할 항목이 없습니다.",
276
+ "ai-assistant.entry.issue.not-changeable": "수정할 수 없는 항목이므로 제외했습니다.",
277
277
  "ai-assistant.entry.source-person": "대화에서 말한 값",
278
278
  "ai-assistant.entry.total-declared-file": "자료의 합계 줄 {sum}",
279
279
  "ai-assistant.entry.issue.reference-not-found": "\"{text}\" — 찾지 못했습니다",
@@ -282,7 +282,7 @@
282
282
  "ai-assistant.entry.issue.not-a-reference": "가리키는 기록을 알 수 없습니다",
283
283
  "ai-assistant.entry.groups": "{count}건",
284
284
  "ai-assistant.entry.groups-kept-out": "{count}건은 줄이 막혀 통째로 입력하지 않습니다",
285
- "ai-assistant.entry.issue.check-failed": "검사를 하지 못해 고치지 않습니다",
285
+ "ai-assistant.entry.issue.check-failed": "검증을 완료하지 못하여 변경하지 않습니다.",
286
286
  "ai-assistant.text.attachment-xls-not-read": "{name} 은 옛 엑셀 형식(.xls)이라 읽지 않습니다. 엑셀에서 .xlsx 로 저장해 다시 첨부해 주십시오.",
287
287
  "ai-assistant.text.attachment-sheet-too-long": "{name} 시트는 글자로 바꾸면 {maxChars} 자를 넘어 보내지 않았습니다. 시트를 나눠 첨부해 주십시오.",
288
288
  "ai-assistant.text.attachment-paste-too-long": "붙여넣은 표가 글자로 {maxChars} 자를 넘어 보내지 않았습니다. 나눠서 붙여넣어 주십시오.",
@@ -317,11 +317,11 @@
317
317
  "ai-assistant.agent.inherited-from": "{path}에서 물려받음",
318
318
  "ai-assistant.agent.this-domain": "이 사업장",
319
319
  "ai-assistant.agent.status-on": "이 사업장의 AI: 사용 가능 · 쓸 수 있는 에이전트 {count} · 기본 {name}",
320
- "ai-assistant.agent.status-no-key": "API 키가 있는 에이전트가 없어 이 사업장에서 AI 를 쓸 수 없습니다.",
321
- "ai-assistant.agent.status-all-off": "모든 에이전트가 꺼져 있어 이 사업장에서 AI 를 쓸 수 없습니다.",
322
- "ai-assistant.agent.status-no-agent": "AI 에이전트가 없어 이 사업장에서 AI 를 쓸 수 없습니다.",
320
+ "ai-assistant.agent.status-no-key": "API 키가 있는 에이전트가 없어 이 사업장에서 AI 를 사용할 수 없습니다.",
321
+ "ai-assistant.agent.status-all-off": "모든 에이전트가 비활성화되어 이 사업장에서 AI를 사용할 수 없습니다.",
322
+ "ai-assistant.agent.status-no-agent": "AI 에이전트가 없어 이 사업장에서 AI 를 사용할 수 없습니다.",
323
323
  "ai-assistant.agent.default": "기본",
324
- "ai-assistant.agent.default-hint": "고르기 전에 쓰이는 에이전트",
324
+ "ai-assistant.agent.default-hint": "선택 전에 쓰이는 에이전트",
325
325
  "ai-assistant.agent.use": "사용",
326
326
  "ai-assistant.agent.use-here": "이 사업장에서 씀",
327
327
  "ai-assistant.agent.used-below": "하위 {count}곳",
@@ -329,8 +329,8 @@
329
329
  "ai-assistant.agent.key-of": "{domain} 키",
330
330
  "ai-assistant.agent.key-missing": "키 없음",
331
331
  "ai-assistant.agent.more": "더 보기",
332
- "ai-assistant.agent.edit": "고치기",
333
- "ai-assistant.agent.delete": "지우기",
332
+ "ai-assistant.agent.edit": "수정",
333
+ "ai-assistant.agent.delete": "삭제",
334
334
  "ai-assistant.agent.replace-own-key": "이 사업장 키 바꾸기",
335
335
  "ai-assistant.agent.use-own-key": "이 사업장 키로 쓰기",
336
336
  "ai-assistant.agent.back-to-key": "{domain} 키로 되돌리기",
@@ -342,11 +342,11 @@
342
342
  "ai-assistant.agent.api-key": "API 키",
343
343
  "ai-assistant.agent.key-stored": "저장된 키 {hint} — 바꿀 때만 입력",
344
344
  "ai-assistant.agent.model": "모델",
345
- "ai-assistant.agent.pick-model": "모델 고르기",
345
+ "ai-assistant.agent.pick-model": "모델 선택",
346
346
  "ai-assistant.agent.reload-models": "모델 목록 다시 읽기",
347
- "ai-assistant.agent.enter-key-first": "API 키를 넣으면 모델을 고를 수 있습니다.",
347
+ "ai-assistant.agent.enter-key-first": "API 키를 입력하면 모델을 선택할 수 있습니다.",
348
348
  "ai-assistant.agent.reading-models": "제공처의 모델 목록을 읽는 중…",
349
- "ai-assistant.agent.model-gone": "제공처 목록에 없는 모델입니다. 다른 모델을 고르세요.",
349
+ "ai-assistant.agent.model-gone": "제공처 목록에 없는 모델입니다. 다른 모델을 선택해 주세요.",
350
350
  "ai-assistant.agent.advanced": "고급",
351
351
  "ai-assistant.agent.base-url": "Base URL",
352
352
  "ai-assistant.agent.organization": "Organization",