@things-factory/ai-assistant 10.1.28 → 10.1.29
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/client/components/assistant-chat.ts +51 -7
- package/client/components/assistant-mode.test.ts +20 -1
- package/client/components/assistant-mode.ts +20 -0
- package/client/components/panel-aria.test.ts +20 -0
- package/client/utils/assistant-session-controller.ts +14 -1
- package/client/utils/assistant-session-transport.ts +2 -2
- package/dist-client/components/assistant-chat.d.ts +12 -0
- package/dist-client/components/assistant-chat.js +48 -6
- package/dist-client/components/assistant-chat.js.map +1 -1
- package/dist-client/components/assistant-mode.d.ts +22 -0
- package/dist-client/components/assistant-mode.js +16 -0
- package/dist-client/components/assistant-mode.js.map +1 -1
- package/dist-client/components/assistant-mode.test.js +17 -1
- package/dist-client/components/assistant-mode.test.js.map +1 -1
- package/dist-client/components/panel-aria.test.js +18 -0
- package/dist-client/components/panel-aria.test.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/utils/assistant-session-controller.d.ts +10 -0
- package/dist-client/utils/assistant-session-controller.js.map +1 -1
- package/dist-client/utils/assistant-session-transport.js +2 -2
- package/dist-client/utils/assistant-session-transport.js.map +1 -1
- package/dist-server/door-declaration-report.d.ts +14 -0
- package/dist-server/door-declaration-report.js +54 -0
- package/dist-server/door-declaration-report.js.map +1 -0
- package/dist-server/service/assistant-chat-resolver.js +19 -0
- package/dist-server/service/assistant-chat-resolver.js.map +1 -1
- package/dist-server/service/assistant-mode/assistant-mode-resolver.d.ts +8 -0
- package/dist-server/service/assistant-mode/assistant-mode-resolver.js +8 -0
- package/dist-server/service/assistant-mode/assistant-mode-resolver.js.map +1 -1
- package/dist-server/service/assistant-mode/resolve.d.ts +10 -0
- package/dist-server/service/assistant-mode/resolve.js +5 -0
- package/dist-server/service/assistant-mode/resolve.js.map +1 -1
- package/dist-server/service/assistant-mode/types.d.ts +21 -0
- package/dist-server/service/assistant-mode/types.js.map +1 -1
- package/dist-server/service/chat-message/carried-turns.js +14 -2
- package/dist-server/service/chat-message/carried-turns.js.map +1 -1
- package/dist-server/service/chat-message/door-access.d.ts +19 -7
- package/dist-server/service/chat-message/door-access.js +19 -11
- package/dist-server/service/chat-message/door-access.js.map +1 -1
- package/dist-server/service/chat-message/reader-gate.js +6 -4
- package/dist-server/service/chat-message/reader-gate.js.map +1 -1
- package/dist-server/service/chat-session/chat-session.d.ts +12 -0
- package/dist-server/service/chat-session/chat-session.js +12 -11
- package/dist-server/service/chat-session/chat-session.js.map +1 -1
- package/dist-server/service/chat-session/session-anchor.d.ts +10 -1
- package/dist-server/service/chat-session/session-anchor.js +12 -4
- package/dist-server/service/chat-session/session-anchor.js.map +1 -1
- package/dist-server/service/chat-session/session-inbox.d.ts +2 -0
- package/dist-server/service/chat-session/session-inbox.js.map +1 -1
- package/dist-server/service/chat-session/session-kind.d.ts +14 -0
- package/dist-server/service/chat-session/session-kind.js +30 -0
- package/dist-server/service/chat-session/session-kind.js.map +1 -0
- package/dist-server/service/chat-session/session-visibility.js +8 -1
- package/dist-server/service/chat-session/session-visibility.js.map +1 -1
- package/dist-server/service/chat-session-resolver.d.ts +2 -0
- package/dist-server/service/chat-session-resolver.js +4 -0
- package/dist-server/service/chat-session-resolver.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -0
- package/dist-server/service/index.js +2 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/testing/mode-conformance.d.ts +10 -0
- package/dist-server/service/testing/mode-conformance.js +13 -0
- package/dist-server/service/testing/mode-conformance.js.map +1 -1
- package/dist-server/tool-registry-boot-report.js +7 -0
- package/dist-server/tool-registry-boot-report.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/server/door-declaration-report.test.ts +53 -0
- package/server/door-declaration-report.ts +61 -0
- package/server/service/assistant-chat-resolver.ts +21 -0
- package/server/service/assistant-mode/assistant-mode-resolver.ts +6 -0
- package/server/service/assistant-mode/resolve.test.ts +42 -0
- package/server/service/assistant-mode/resolve.ts +9 -0
- package/server/service/assistant-mode/types.ts +18 -0
- package/server/service/chat-message/carried-turns.test.ts +13 -2
- package/server/service/chat-message/carried-turns.ts +16 -3
- package/server/service/chat-message/door-access.test.ts +72 -0
- package/server/service/chat-message/door-access.ts +43 -23
- package/server/service/chat-message/fold-history-window.test.ts +184 -0
- package/server/service/chat-message/reader-gate.ts +6 -4
- package/server/service/chat-session/chat-session.ts +15 -0
- package/server/service/chat-session/session-anchor.ts +12 -3
- package/server/service/chat-session/session-inbox.ts +2 -0
- package/server/service/chat-session/session-kind.test.ts +24 -0
- package/server/service/chat-session/session-kind.ts +32 -0
- package/server/service/chat-session/session-visibility.test.ts +16 -0
- package/server/service/chat-session/session-visibility.ts +9 -1
- package/server/service/chat-session-resolver.ts +4 -0
- package/server/service/index.ts +2 -0
- package/server/service/testing/mode-conformance.ts +15 -0
- package/server/tool-registry-boot-report.ts +6 -0
- package/translations/en.json +3 -2
- package/translations/ja.json +3 -2
- package/translations/ko.json +3 -2
- package/translations/ms.json +3 -2
- package/translations/zh.json +3 -2
|
@@ -17,6 +17,7 @@ exports.formatAssistantModeWarnings = formatAssistantModeWarnings;
|
|
|
17
17
|
const env_1 = require("@things-factory/env");
|
|
18
18
|
const ai_client_base_1 = require("@things-factory/ai-client-base");
|
|
19
19
|
const index_js_1 = require("./service/assistant-mode/index.js");
|
|
20
|
+
const door_declaration_report_js_1 = require("./door-declaration-report.js");
|
|
20
21
|
/** One line per code: the code, how many, and which tools. Empty when there is nothing to report. */
|
|
21
22
|
function formatToolRegistryWarnings(warnings) {
|
|
22
23
|
const byCode = new Map();
|
|
@@ -48,5 +49,11 @@ process.on('bootstrap-module-start', () => {
|
|
|
48
49
|
env_1.logger.warn(line);
|
|
49
50
|
for (const line of formatAssistantModeWarnings((0, index_js_1.getAssistantModeWarnings)()))
|
|
50
51
|
env_1.logger.warn(line);
|
|
52
|
+
/*
|
|
53
|
+
* 이 자리에서만 물을 수 있는 것 — 적어 둔 문이 스키마에 있나. AUTH 의 필드 표는 스키마를 지은 뒤에
|
|
54
|
+
* 차고, 이 훅은 그 뒤에 돈다(`builtSchema` 를 함께 받는다).
|
|
55
|
+
*/
|
|
56
|
+
for (const line of (0, door_declaration_report_js_1.formatDoorDeclarationWarnings)((0, door_declaration_report_js_1.doorDeclarationWarnings)()))
|
|
57
|
+
env_1.logger.warn(line);
|
|
51
58
|
});
|
|
52
59
|
//# sourceMappingURL=tool-registry-boot-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry-boot-report.js","sourceRoot":"","sources":["../server/tool-registry-boot-report.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tool-registry-boot-report.js","sourceRoot":"","sources":["../server/tool-registry-boot-report.ts"],"names":[],"mappings":";;AAmBA,gEAUC;AAGD,kEAQC;AAxCD;;;;;;;;;;;GAWG;AACH,6CAA4C;AAC5C,mEAAkG;AAElG,gEAAuG;AACvG,6EAAqG;AAErG,qGAAqG;AACrG,SAAgB,0BAA0B,CAAC,QAA4C;IACrF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC5C,sDAAsD;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QAC1F,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC,CAAA;QAC/F,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACjC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,KAAK,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC3G,CAAC;AAED,4EAA4E;AAC5E,SAAgB,2BAA2B,CAAC,QAA6C;IACvF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC1C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACrF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,kBAAkB,IAAI,KAAK,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC9G,CAAC;AAED;;;GAGG;AACH,OAAO,CAAC,EAAE,CAAC,wBAA+B,EAAE,GAAG,EAAE;IAC/C,KAAK,MAAM,IAAI,IAAI,0BAA0B,CAAC,IAAA,wCAAuB,GAAE,CAAC;QAAE,YAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3F,KAAK,MAAM,IAAI,IAAI,2BAA2B,CAAC,IAAA,mCAAwB,GAAE,CAAC;QAAE,YAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7F;;;OAGG;IACH,KAAK,MAAM,IAAI,IAAI,IAAA,0DAA6B,EAAC,IAAA,oDAAuB,GAAE,CAAC;QAAE,YAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChG,CAAC,CAAC,CAAA","sourcesContent":["/*\n * At boot, say what registered but is not yet what the contracts require — tools with no privilege\n * (A1 stage one) and modes offering `/` sentences their tools cannot answer (ADR-0058 decision 3).\n *\n * One window, because it is one question: what state is this deployment's AI in (standard A7-a).\n *\n * Registration no longer refuses a tool that changes something without declaring its privilege —\n * refusing would stop apps whose tools predate the field. The registry records each omission as a\n * code instead. This prints that list once, after every module has registered, grouped by code,\n * so the person starting the server sees which tools still need a declaration. When the list is\n * empty across the apps, registration becomes a refusal and this report goes away.\n */\nimport { logger } from '@things-factory/env'\nimport { getToolRegistryWarnings, type ToolRegistryWarning } from '@things-factory/ai-client-base'\n\nimport { getAssistantModeWarnings, type AssistantModeWarning } from './service/assistant-mode/index.js'\nimport { doorDeclarationWarnings, formatDoorDeclarationWarnings } from './door-declaration-report.js'\n\n/** One line per code: the code, how many, and which tools. Empty when there is nothing to report. */\nexport function formatToolRegistryWarnings(warnings: ReadonlyArray<ToolRegistryWarning>): string[] {\n const byCode = new Map<string, string[]>()\n for (const warning of warnings) {\n const tools = byCode.get(warning.code) ?? []\n /* 문 이름이 있으면 함께 적는다 — 「어느 문이 아직 선언이 없나」가 다음에 할 일이다. */\n const doors = warning.params.doors?.length ? ` → ${warning.params.doors.join(' + ')}` : ''\n tools.push(`${warning.params.category}/${warning.params.tool}(${warning.params.kind})${doors}`)\n byCode.set(warning.code, tools)\n }\n return [...byCode].map(([code, tools]) => `[ai-assistant] ${code} ×${tools.length}: ${tools.join(', ')}`)\n}\n\n/** One line per code: the code, how many, and which modes promised what. */\nexport function formatAssistantModeWarnings(warnings: ReadonlyArray<AssistantModeWarning>): string[] {\n const byCode = new Map<string, string[]>()\n for (const warning of warnings) {\n const offers = byCode.get(warning.code) ?? []\n offers.push(`${warning.params.kind}:/${warning.params.slash}→${warning.params.tool}`)\n byCode.set(warning.code, offers)\n }\n return [...byCode].map(([code, offers]) => `[ai-assistant] ${code} ×${offers.length}: ${offers.join(', ')}`)\n}\n\n/*\n * After every module has registered: a mode may declare its slash sentences before the package\n * that registers the tools they need, so this cannot be checked when the mode registers.\n */\nprocess.on('bootstrap-module-start' as any, () => {\n for (const line of formatToolRegistryWarnings(getToolRegistryWarnings())) logger.warn(line)\n for (const line of formatAssistantModeWarnings(getAssistantModeWarnings())) logger.warn(line)\n /*\n * 이 자리에서만 물을 수 있는 것 — 적어 둔 문이 스키마에 있나. AUTH 의 필드 표는 스키마를 지은 뒤에\n * 차고, 이 훅은 그 뒤에 돈다(`builtSchema` 를 함께 받는다).\n */\n for (const line of formatDoorDeclarationWarnings(doorDeclarationWarnings())) logger.warn(line)\n})\n"]}
|