@futdevpro/ccap 1.1.1
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/bin/ccap.js +8 -0
- package/cli/build/_collections/auto-start.util.d.ts +15 -0
- package/cli/build/_collections/auto-start.util.d.ts.map +1 -0
- package/cli/build/_collections/auto-start.util.js +75 -0
- package/cli/build/_collections/auto-start.util.js.map +1 -0
- package/cli/build/_collections/config.util.d.ts +13 -0
- package/cli/build/_collections/config.util.d.ts.map +1 -0
- package/cli/build/_collections/config.util.js +71 -0
- package/cli/build/_collections/config.util.js.map +1 -0
- package/cli/build/_collections/config.util.spec.d.ts +2 -0
- package/cli/build/_collections/config.util.spec.d.ts.map +1 -0
- package/cli/build/_collections/config.util.spec.js +45 -0
- package/cli/build/_collections/config.util.spec.js.map +1 -0
- package/cli/build/_collections/ensure-setup.util.d.ts +14 -0
- package/cli/build/_collections/ensure-setup.util.d.ts.map +1 -0
- package/cli/build/_collections/ensure-setup.util.js +36 -0
- package/cli/build/_collections/ensure-setup.util.js.map +1 -0
- package/cli/build/_collections/setup-wizard.util.d.ts +22 -0
- package/cli/build/_collections/setup-wizard.util.d.ts.map +1 -0
- package/cli/build/_collections/setup-wizard.util.js +275 -0
- package/cli/build/_collections/setup-wizard.util.js.map +1 -0
- package/cli/build/_collections/setup.util.d.ts +79 -0
- package/cli/build/_collections/setup.util.d.ts.map +1 -0
- package/cli/build/_collections/setup.util.js +191 -0
- package/cli/build/_collections/setup.util.js.map +1 -0
- package/cli/build/_commands/chat.d.ts +7 -0
- package/cli/build/_commands/chat.d.ts.map +1 -0
- package/cli/build/_commands/chat.js +173 -0
- package/cli/build/_commands/chat.js.map +1 -0
- package/cli/build/_commands/config.d.ts +6 -0
- package/cli/build/_commands/config.d.ts.map +1 -0
- package/cli/build/_commands/config.js +70 -0
- package/cli/build/_commands/config.js.map +1 -0
- package/cli/build/_commands/init.d.ts +8 -0
- package/cli/build/_commands/init.d.ts.map +1 -0
- package/cli/build/_commands/init.js +25 -0
- package/cli/build/_commands/init.js.map +1 -0
- package/cli/build/_commands/restart.d.ts +5 -0
- package/cli/build/_commands/restart.d.ts.map +1 -0
- package/cli/build/_commands/restart.js +21 -0
- package/cli/build/_commands/restart.js.map +1 -0
- package/cli/build/_commands/sessions.d.ts +5 -0
- package/cli/build/_commands/sessions.d.ts.map +1 -0
- package/cli/build/_commands/sessions.js +54 -0
- package/cli/build/_commands/sessions.js.map +1 -0
- package/cli/build/_commands/start.d.ts +12 -0
- package/cli/build/_commands/start.d.ts.map +1 -0
- package/cli/build/_commands/start.js +75 -0
- package/cli/build/_commands/start.js.map +1 -0
- package/cli/build/_commands/status.d.ts +6 -0
- package/cli/build/_commands/status.d.ts.map +1 -0
- package/cli/build/_commands/status.js +71 -0
- package/cli/build/_commands/status.js.map +1 -0
- package/cli/build/_commands/stop.d.ts +6 -0
- package/cli/build/_commands/stop.d.ts.map +1 -0
- package/cli/build/_commands/stop.js +41 -0
- package/cli/build/_commands/stop.js.map +1 -0
- package/cli/build/_commands/vault-key.d.ts +7 -0
- package/cli/build/_commands/vault-key.d.ts.map +1 -0
- package/cli/build/_commands/vault-key.js +36 -0
- package/cli/build/_commands/vault-key.js.map +1 -0
- package/cli/build/_commands/version.d.ts +5 -0
- package/cli/build/_commands/version.d.ts.map +1 -0
- package/cli/build/_commands/version.js +13 -0
- package/cli/build/_commands/version.js.map +1 -0
- package/cli/build/program.d.ts +3 -0
- package/cli/build/program.d.ts.map +1 -0
- package/cli/build/program.js +97 -0
- package/cli/build/program.js.map +1 -0
- package/client-dist/3rdpartylicenses.txt +569 -0
- package/client-dist/browser/chunk-KJ7FQNUG.js +1 -0
- package/client-dist/browser/chunk-UTNU5A7U.js +218 -0
- package/client-dist/browser/index.html +13 -0
- package/client-dist/browser/main-RHNH7LDD.js +2 -0
- package/client-dist/browser/polyfills-HGDOEU5L.js +2 -0
- package/client-dist/browser/styles-VWWGDWT7.css +1 -0
- package/package.json +54 -0
- package/server/build/package.json +60 -0
- package/server/build/src/_collections/consts/agent.const.js +26 -0
- package/server/build/src/_collections/consts/agent.const.js.map +1 -0
- package/server/build/src/_collections/consts/compacting.const.js +14 -0
- package/server/build/src/_collections/consts/compacting.const.js.map +1 -0
- package/server/build/src/_collections/consts/run-status-transitions.const.js +26 -0
- package/server/build/src/_collections/consts/run-status-transitions.const.js.map +1 -0
- package/server/build/src/_collections/consts/run-status-transitions.const.spec.js +41 -0
- package/server/build/src/_collections/consts/run-status-transitions.const.spec.js.map +1 -0
- package/server/build/src/_collections/contract-templates/context.contract-template.js +19 -0
- package/server/build/src/_collections/contract-templates/context.contract-template.js.map +1 -0
- package/server/build/src/_collections/contract-templates/execution-summary.contract-template.js +20 -0
- package/server/build/src/_collections/contract-templates/execution-summary.contract-template.js.map +1 -0
- package/server/build/src/_collections/contract-templates/history-summary.contract-template.js +19 -0
- package/server/build/src/_collections/contract-templates/history-summary.contract-template.js.map +1 -0
- package/server/build/src/_collections/contract-templates/run.contract-template.js +14 -0
- package/server/build/src/_collections/contract-templates/run.contract-template.js.map +1 -0
- package/server/build/src/_collections/contract-templates/session.contract-template.js +15 -0
- package/server/build/src/_collections/contract-templates/session.contract-template.js.map +1 -0
- package/server/build/src/_enums/ccap-context-key-source.type-enum.js +15 -0
- package/server/build/src/_enums/ccap-context-key-source.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-context-key-status.type-enum.js +14 -0
- package/server/build/src/_enums/ccap-context-key-status.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-contract.type-enum.js +16 -0
- package/server/build/src/_enums/ccap-contract.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-conversation-type.type-enum.js +15 -0
- package/server/build/src/_enums/ccap-conversation-type.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-llm-call-type.type-enum.js +21 -0
- package/server/build/src/_enums/ccap-llm-call-type.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-llm-provider-name.type-enum.js +18 -0
- package/server/build/src/_enums/ccap-llm-provider-name.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-message-role.type-enum.js +15 -0
- package/server/build/src/_enums/ccap-message-role.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-messaging-provider-name.type-enum.js +20 -0
- package/server/build/src/_enums/ccap-messaging-provider-name.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-monitoring-event.type-enum.js +18 -0
- package/server/build/src/_enums/ccap-monitoring-event.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-run-action.type-enum.js +15 -0
- package/server/build/src/_enums/ccap-run-action.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-run-status.type-enum.js +18 -0
- package/server/build/src/_enums/ccap-run-status.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-session-status.type-enum.js +14 -0
- package/server/build/src/_enums/ccap-session-status.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-system-prompt-part.type-enum.js +16 -0
- package/server/build/src/_enums/ccap-system-prompt-part.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-tool-category.type-enum.js +17 -0
- package/server/build/src/_enums/ccap-tool-category.type-enum.js.map +1 -0
- package/server/build/src/_enums/ccap-tool-entry-type.type-enum.js +13 -0
- package/server/build/src/_enums/ccap-tool-entry-type.type-enum.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-conversation-active.data-model.js +34 -0
- package/server/build/src/_models/data-models/ccap-conversation-active.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-conversation-full-active.data-model.js +40 -0
- package/server/build/src/_models/data-models/ccap-conversation-full-active.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-conversation-full.data-model.js +30 -0
- package/server/build/src/_models/data-models/ccap-conversation-full.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-conversation.data-model.js +30 -0
- package/server/build/src/_models/data-models/ccap-conversation.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-error.data-model.js +40 -0
- package/server/build/src/_models/data-models/ccap-error.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-run.data-model.js +56 -0
- package/server/build/src/_models/data-models/ccap-run.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-secret.data-model.js +39 -0
- package/server/build/src/_models/data-models/ccap-secret.data-model.js.map +1 -0
- package/server/build/src/_models/data-models/ccap-session.data-model.js +69 -0
- package/server/build/src/_models/data-models/ccap-session.data-model.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-agentic-decision.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-agentic-decision.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-assistant-message.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-assistant-message.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-channel-identifier.interface.js +23 -0
- package/server/build/src/_models/interfaces/ccap-channel-identifier.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-common-context.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-common-context.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-compacted-soul.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-compacted-soul.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-context-contract.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-context-contract.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-context-key.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-context-key.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-context-state.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-context-state.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-context.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-context.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-execution-summary-contract.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-execution-summary-contract.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-history-summary-contract.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-history-summary-contract.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-llm-call-options.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-llm-call-options.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-llm-provider.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-llm-provider.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-llm-response.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-llm-response.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-message.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-message.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-messaging-provider.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-messaging-provider.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-monitoring-event.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-monitoring-event.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-run-finalization-result.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-run-finalization-result.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-session-info.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-session-info.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-setup-config.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-setup-config.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-soul.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-soul.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-system-message.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-system-message.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-tool-call-message.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-tool-call-message.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-tool-call-result.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-tool-call-result.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-tool-group.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-tool-group.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-tool-in-context.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-tool-in-context.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-tool-result-message.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-tool-result-message.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-tool.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-tool.interface.js.map +1 -0
- package/server/build/src/_models/interfaces/ccap-user-message.interface.js +3 -0
- package/server/build/src/_models/interfaces/ccap-user-message.interface.js.map +1 -0
- package/server/build/src/_modules/agent/agentic-loop.control-service.js +231 -0
- package/server/build/src/_modules/agent/agentic-loop.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/analyze.control-service.js +189 -0
- package/server/build/src/_modules/agent/analyze.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/assemble-conversation.control-service.js +204 -0
- package/server/build/src/_modules/agent/assemble-conversation.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/_collections/compacting.const.js +26 -0
- package/server/build/src/_modules/agent/compacting/_collections/compacting.const.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/chat-history-compacting.control-service.js +67 -0
- package/server/build/src/_modules/agent/compacting/chat-history-compacting.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/context-compacting.control-service.js +41 -0
- package/server/build/src/_modules/agent/compacting/context-compacting.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/conversation-full-active-compacting.control-service.js +245 -0
- package/server/build/src/_modules/agent/compacting/conversation-full-active-compacting.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/execution-history-compacting.control-service.js +105 -0
- package/server/build/src/_modules/agent/compacting/execution-history-compacting.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/soul-compacting.control-service.js +84 -0
- package/server/build/src/_modules/agent/compacting/soul-compacting.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/compacting/tool-result-compacting.control-service.js +109 -0
- package/server/build/src/_modules/agent/compacting/tool-result-compacting.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/execution.control-service.js +84 -0
- package/server/build/src/_modules/agent/execution.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/history/chat-history.control-service.js +106 -0
- package/server/build/src/_modules/agent/history/chat-history.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/history/execution-history.control-service.js +128 -0
- package/server/build/src/_modules/agent/history/execution-history.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/history/execution-history.control-service.spec.js +154 -0
- package/server/build/src/_modules/agent/history/execution-history.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/agent/new-user-message-handling.control-service.js +125 -0
- package/server/build/src/_modules/agent/new-user-message-handling.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/new-user-message-handling.control-service.spec.js +105 -0
- package/server/build/src/_modules/agent/new-user-message-handling.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/agent/run-finalization.control-service.js +210 -0
- package/server/build/src/_modules/agent/run-finalization.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/run-flow-e2e.spec.js +226 -0
- package/server/build/src/_modules/agent/run-flow-e2e.spec.js.map +1 -0
- package/server/build/src/_modules/agent/run-flow.control-service.js +346 -0
- package/server/build/src/_modules/agent/run-flow.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/run-initialization.control-service.js +47 -0
- package/server/build/src/_modules/agent/run-initialization.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/run.data-service.js +149 -0
- package/server/build/src/_modules/agent/run.data-service.js.map +1 -0
- package/server/build/src/_modules/agent/session-mutex.control-service.js +96 -0
- package/server/build/src/_modules/agent/session-mutex.control-service.js.map +1 -0
- package/server/build/src/_modules/agent/session-mutex.control-service.spec.js +48 -0
- package/server/build/src/_modules/agent/session-mutex.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/agent/tool-calling.control-service.js +186 -0
- package/server/build/src/_modules/agent/tool-calling.control-service.js.map +1 -0
- package/server/build/src/_modules/context/_collections/context.const.js +34 -0
- package/server/build/src/_modules/context/_collections/context.const.js.map +1 -0
- package/server/build/src/_modules/context/_collections/context.const.spec.js +20 -0
- package/server/build/src/_modules/context/_collections/context.const.spec.js.map +1 -0
- package/server/build/src/_modules/context/common-context.data-service.js +78 -0
- package/server/build/src/_modules/context/common-context.data-service.js.map +1 -0
- package/server/build/src/_modules/context/context-builder.util-service.js +139 -0
- package/server/build/src/_modules/context/context-builder.util-service.js.map +1 -0
- package/server/build/src/_modules/context/context-builder.util-service.spec.js +157 -0
- package/server/build/src/_modules/context/context-builder.util-service.spec.js.map +1 -0
- package/server/build/src/_modules/context/context-management.control-service.js +365 -0
- package/server/build/src/_modules/context/context-management.control-service.js.map +1 -0
- package/server/build/src/_modules/context/context-management.control-service.spec.js +305 -0
- package/server/build/src/_modules/context/context-management.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/context/knowledge.data-service.js +70 -0
- package/server/build/src/_modules/context/knowledge.data-service.js.map +1 -0
- package/server/build/src/_modules/context/session-info-context.data-service.js +45 -0
- package/server/build/src/_modules/context/session-info-context.data-service.js.map +1 -0
- package/server/build/src/_modules/database/database.data-service.js +35 -0
- package/server/build/src/_modules/database/database.data-service.js.map +1 -0
- package/server/build/src/_modules/default-path/default-path.util-service.js +49 -0
- package/server/build/src/_modules/default-path/default-path.util-service.js.map +1 -0
- package/server/build/src/_modules/default-path/default-path.util-service.spec.js +61 -0
- package/server/build/src/_modules/default-path/default-path.util-service.spec.js.map +1 -0
- package/server/build/src/_modules/default-path/soul-file.util-service.js +111 -0
- package/server/build/src/_modules/default-path/soul-file.util-service.js.map +1 -0
- package/server/build/src/_modules/default-path/soul-file.util-service.spec.js +36 -0
- package/server/build/src/_modules/default-path/soul-file.util-service.spec.js.map +1 -0
- package/server/build/src/_modules/error-handling/ccap-analyze-cancelled.error.js +18 -0
- package/server/build/src/_modules/error-handling/ccap-analyze-cancelled.error.js.map +1 -0
- package/server/build/src/_modules/error-handling/error-collector.util-service.js +78 -0
- package/server/build/src/_modules/error-handling/error-collector.util-service.js.map +1 -0
- package/server/build/src/_modules/error-handling/error-collector.util-service.spec.js +38 -0
- package/server/build/src/_modules/error-handling/error-collector.util-service.spec.js.map +1 -0
- package/server/build/src/_modules/error-handling/error-table.data-service.js +59 -0
- package/server/build/src/_modules/error-handling/error-table.data-service.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/llm.const.js +28 -0
- package/server/build/src/_modules/llm/_collections/llm.const.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/llm.const.spec.js +24 -0
- package/server/build/src/_modules/llm/_collections/llm.const.spec.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/agentic-loop.prompt-template.js +48 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/agentic-loop.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/analyze.prompt-template.js +52 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/analyze.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/chat-history-compacting.prompt-template.js +28 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/chat-history-compacting.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/context-compacting.prompt-template.js +27 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/context-compacting.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/execution-history-compacting.prompt-template.js +45 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/execution-history-compacting.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/run-finalization.prompt-template.js +30 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/run-finalization.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/soul-compacting.prompt-template.js +26 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/soul-compacting.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/tool-description.prompt-template.js +25 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/tool-description.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/tool-result-chunking.prompt-template.js +54 -0
- package/server/build/src/_modules/llm/_collections/prompt-templates/tool-result-chunking.prompt-template.js.map +1 -0
- package/server/build/src/_modules/llm/llm.control-service.js +137 -0
- package/server/build/src/_modules/llm/llm.control-service.js.map +1 -0
- package/server/build/src/_modules/llm/providers/custom-local-ai-llm.control-service.js +128 -0
- package/server/build/src/_modules/llm/providers/custom-local-ai-llm.control-service.js.map +1 -0
- package/server/build/src/_modules/llm/providers/openai-llm.control-service.js +120 -0
- package/server/build/src/_modules/llm/providers/openai-llm.control-service.js.map +1 -0
- package/server/build/src/_modules/llm/system-prompt.data-service.js +124 -0
- package/server/build/src/_modules/llm/system-prompt.data-service.js.map +1 -0
- package/server/build/src/_modules/llm/system-prompt.data-service.spec.js +138 -0
- package/server/build/src/_modules/llm/system-prompt.data-service.spec.js.map +1 -0
- package/server/build/src/_modules/messaging/_collections/messaging.const.js +30 -0
- package/server/build/src/_modules/messaging/_collections/messaging.const.js.map +1 -0
- package/server/build/src/_modules/messaging/_collections/messaging.const.spec.js +18 -0
- package/server/build/src/_modules/messaging/_collections/messaging.const.spec.js.map +1 -0
- package/server/build/src/_modules/messaging/messaging-router.control-service.js +224 -0
- package/server/build/src/_modules/messaging/messaging-router.control-service.js.map +1 -0
- package/server/build/src/_modules/messaging/messaging-router.control-service.spec.js +141 -0
- package/server/build/src/_modules/messaging/messaging-router.control-service.spec.js.map +1 -0
- package/server/build/src/_modules/messaging/providers/ccap-client-messaging.control-service.js +256 -0
- package/server/build/src/_modules/messaging/providers/ccap-client-messaging.control-service.js.map +1 -0
- package/server/build/src/_modules/messaging/providers/ccap-client-socket-server.service.js +51 -0
- package/server/build/src/_modules/messaging/providers/ccap-client-socket-server.service.js.map +1 -0
- package/server/build/src/_modules/messaging/providers/cli-messaging.control-service.js +89 -0
- package/server/build/src/_modules/messaging/providers/cli-messaging.control-service.js.map +1 -0
- package/server/build/src/_modules/messaging/providers/discord-messaging.control-service.js +121 -0
- package/server/build/src/_modules/messaging/providers/discord-messaging.control-service.js.map +1 -0
- package/server/build/src/_modules/monitoring/monitoring.data-service.js +99 -0
- package/server/build/src/_modules/monitoring/monitoring.data-service.js.map +1 -0
- package/server/build/src/_modules/monitoring/monitoring.data-service.spec.js +50 -0
- package/server/build/src/_modules/monitoring/monitoring.data-service.spec.js.map +1 -0
- package/server/build/src/_modules/path-protection/path-protection.util-service.js +84 -0
- package/server/build/src/_modules/path-protection/path-protection.util-service.js.map +1 -0
- package/server/build/src/_modules/path-protection/path-protection.util-service.spec.js +55 -0
- package/server/build/src/_modules/path-protection/path-protection.util-service.spec.js.map +1 -0
- package/server/build/src/_modules/secrets-vault/secrets-vault.data-service.js +186 -0
- package/server/build/src/_modules/secrets-vault/secrets-vault.data-service.js.map +1 -0
- package/server/build/src/_modules/session/conversation.data-service.js +241 -0
- package/server/build/src/_modules/session/conversation.data-service.js.map +1 -0
- package/server/build/src/_modules/session/session.data-service.js +265 -0
- package/server/build/src/_modules/session/session.data-service.js.map +1 -0
- package/server/build/src/_modules/setup-config/setup-config.data-service.js +95 -0
- package/server/build/src/_modules/setup-config/setup-config.data-service.js.map +1 -0
- package/server/build/src/_modules/tools/_collections/tools.const.js +20 -0
- package/server/build/src/_modules/tools/_collections/tools.const.js.map +1 -0
- package/server/build/src/_modules/tools/fixed-tools/control/context-handling.tool.js +135 -0
- package/server/build/src/_modules/tools/fixed-tools/control/context-handling.tool.js.map +1 -0
- package/server/build/src/_modules/tools/fixed-tools/control/session-handling.tool.js +46 -0
- package/server/build/src/_modules/tools/fixed-tools/control/session-handling.tool.js.map +1 -0
- package/server/build/src/_modules/tools/fixed-tools/exec/exec.tool.js +119 -0
- package/server/build/src/_modules/tools/fixed-tools/exec/exec.tool.js.map +1 -0
- package/server/build/src/_modules/tools/fixed-tools/file-handling/file-handling.tool.js +179 -0
- package/server/build/src/_modules/tools/fixed-tools/file-handling/file-handling.tool.js.map +1 -0
- package/server/build/src/_modules/tools/fixed-tools/net/net.tool.js +97 -0
- package/server/build/src/_modules/tools/fixed-tools/net/net.tool.js.map +1 -0
- package/server/build/src/_modules/tools/fixed-tools/tool-handling/tool-handling.tool.js +100 -0
- package/server/build/src/_modules/tools/fixed-tools/tool-handling/tool-handling.tool.js.map +1 -0
- package/server/build/src/_modules/tools/tool-execution.control-service.js +110 -0
- package/server/build/src/_modules/tools/tool-execution.control-service.js.map +1 -0
- package/server/build/src/_modules/tools/tool-registry.control-service.js +124 -0
- package/server/build/src/_modules/tools/tool-registry.control-service.js.map +1 -0
- package/server/build/src/_modules/tools/tools-in-context.util-service.js +90 -0
- package/server/build/src/_modules/tools/tools-in-context.util-service.js.map +1 -0
- package/server/build/src/_modules/tools/tools-in-context.util-service.spec.js +66 -0
- package/server/build/src/_modules/tools/tools-in-context.util-service.spec.js.map +1 -0
- package/server/build/src/_routes/client-static/client-static.controller.js +54 -0
- package/server/build/src/_routes/client-static/client-static.controller.js.map +1 -0
- package/server/build/src/_routes/messaging/messaging-message-body.interface.js +3 -0
- package/server/build/src/_routes/messaging/messaging-message-body.interface.js.map +1 -0
- package/server/build/src/_routes/messaging/messaging.controller.js +77 -0
- package/server/build/src/_routes/messaging/messaging.controller.js.map +1 -0
- package/server/build/src/_routes/server/server-status/server-status.controller.js +40 -0
- package/server/build/src/_routes/server/server-status/server-status.controller.js.map +1 -0
- package/server/build/src/_routes/server/server-status/server-status.controller.spec.js +19 -0
- package/server/build/src/_routes/server/server-status/server-status.controller.spec.js.map +1 -0
- package/server/build/src/_routes/server/server-status/server-status.data-service.js +11 -0
- package/server/build/src/_routes/server/server-status/server-status.data-service.js.map +1 -0
- package/server/build/src/_routes/session/context-api.data-service.js +69 -0
- package/server/build/src/_routes/session/context-api.data-service.js.map +1 -0
- package/server/build/src/_routes/session/conversation-api.data-service.js +69 -0
- package/server/build/src/_routes/session/conversation-api.data-service.js.map +1 -0
- package/server/build/src/_routes/session/monitoring-api.data-service.js +45 -0
- package/server/build/src/_routes/session/monitoring-api.data-service.js.map +1 -0
- package/server/build/src/_routes/session/session-api.data-service.js +70 -0
- package/server/build/src/_routes/session/session-api.data-service.js.map +1 -0
- package/server/build/src/_routes/session/session.controller.js +251 -0
- package/server/build/src/_routes/session/session.controller.js.map +1 -0
- package/server/build/src/_routes/setup/setup.controller.js +255 -0
- package/server/build/src/_routes/setup/setup.controller.js.map +1 -0
- package/server/build/src/app.server.js +232 -0
- package/server/build/src/app.server.js.map +1 -0
- package/server/build/src/app.server.spec.js +24 -0
- package/server/build/src/app.server.spec.js.map +1 -0
- package/server/build/src/index.js +9 -0
- package/server/build/src/index.js.map +1 -0
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const ccap_messaging_provider_name_type_enum_1 = require("../../_enums/ccap-messaging-provider-name.type-enum");
|
|
4
|
+
const session_data_service_1 = require("../session/session.data-service");
|
|
5
|
+
const messaging_router_control_service_1 = require("./messaging-router.control-service");
|
|
6
|
+
const messaging_const_1 = require("./_collections/messaging.const");
|
|
7
|
+
/**
|
|
8
|
+
* Mock provider: sendMessage hívásokat rögzíti, onMessage callback tárolása.
|
|
9
|
+
*/
|
|
10
|
+
class MockMessagingProvider {
|
|
11
|
+
sentMessages = [];
|
|
12
|
+
getProviderName() {
|
|
13
|
+
return ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli;
|
|
14
|
+
}
|
|
15
|
+
onMessage(_callback) {
|
|
16
|
+
// Mock: callback tárolás nem szükséges, a spec handleNewUserMessage-t közvetlenül hívja
|
|
17
|
+
}
|
|
18
|
+
async sendMessage(params) {
|
|
19
|
+
this.sentMessages.push({
|
|
20
|
+
channelId: params.channelId,
|
|
21
|
+
content: params.content,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async initialize() {
|
|
25
|
+
// no-op
|
|
26
|
+
}
|
|
27
|
+
async shutdown() {
|
|
28
|
+
// no-op
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Mock Discord provider – mimic teszthez (más provider név).
|
|
33
|
+
*/
|
|
34
|
+
class MockMessagingProviderDiscord {
|
|
35
|
+
sentMessages = [];
|
|
36
|
+
getProviderName() {
|
|
37
|
+
return ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.discord;
|
|
38
|
+
}
|
|
39
|
+
onMessage(_callback) {
|
|
40
|
+
// no-op
|
|
41
|
+
}
|
|
42
|
+
async sendMessage(params) {
|
|
43
|
+
this.sentMessages.push({
|
|
44
|
+
channelId: params.channelId,
|
|
45
|
+
content: params.content,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async initialize() {
|
|
49
|
+
// no-op
|
|
50
|
+
}
|
|
51
|
+
async shutdown() {
|
|
52
|
+
// no-op
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
describe('CCAP_MessagingRouter_ControlService', () => {
|
|
56
|
+
const uniqueChannelId = `messaging-spec-${Date.now()}`;
|
|
57
|
+
it('handleNewUserMessage returns sessionId and isNewSession (new session)', async () => {
|
|
58
|
+
const mockProvider = new MockMessagingProvider();
|
|
59
|
+
const router = messaging_router_control_service_1.CCAP_MessagingRouter_ControlService.getInstance();
|
|
60
|
+
router.registerProvider(mockProvider);
|
|
61
|
+
const result = await router.handleNewUserMessage({
|
|
62
|
+
message: 'Test message',
|
|
63
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli,
|
|
64
|
+
channelId: uniqueChannelId,
|
|
65
|
+
});
|
|
66
|
+
expect(result).toBeDefined();
|
|
67
|
+
expect(result?.sessionId).toBeTruthy();
|
|
68
|
+
expect(result?.isNewSession).toBe(true);
|
|
69
|
+
});
|
|
70
|
+
it('handleNewUserMessage returns same sessionId and isNewSession false (existing session)', async () => {
|
|
71
|
+
const channelIdExisting = `messaging-spec-existing-${Date.now()}`;
|
|
72
|
+
const router = messaging_router_control_service_1.CCAP_MessagingRouter_ControlService.getInstance();
|
|
73
|
+
const first = await router.handleNewUserMessage({
|
|
74
|
+
message: 'First',
|
|
75
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli,
|
|
76
|
+
channelId: channelIdExisting,
|
|
77
|
+
});
|
|
78
|
+
const second = await router.handleNewUserMessage({
|
|
79
|
+
message: 'Second',
|
|
80
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli,
|
|
81
|
+
channelId: channelIdExisting,
|
|
82
|
+
});
|
|
83
|
+
expect(first?.sessionId).toBe(second?.sessionId);
|
|
84
|
+
expect(first?.isNewSession).toBe(true);
|
|
85
|
+
expect(second?.isNewSession).toBe(false);
|
|
86
|
+
});
|
|
87
|
+
it('mimic sends user message to other non-source non-CCAP channels (REQ-MSG-008)', async () => {
|
|
88
|
+
const cliCh = `mimic-cli-${Date.now()}`;
|
|
89
|
+
const discCh = `mimic-disc-${Date.now()}`;
|
|
90
|
+
const mockCli = new MockMessagingProvider();
|
|
91
|
+
const mockDiscord = new MockMessagingProviderDiscord();
|
|
92
|
+
const router = messaging_router_control_service_1.CCAP_MessagingRouter_ControlService.getInstance();
|
|
93
|
+
router.registerProvider(mockCli);
|
|
94
|
+
router.registerProvider(mockDiscord);
|
|
95
|
+
const first = await router.handleNewUserMessage({
|
|
96
|
+
message: 'First',
|
|
97
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli,
|
|
98
|
+
channelId: cliCh,
|
|
99
|
+
});
|
|
100
|
+
expect(first?.sessionId).toBeTruthy();
|
|
101
|
+
expect(first?.isNewSession).toBe(true);
|
|
102
|
+
const sessionDS = new session_data_service_1.CCAP_Session_DataService({ issuer: 'messaging-router.spec' });
|
|
103
|
+
await sessionDS.addChannelToSession({
|
|
104
|
+
sessionId: first.sessionId,
|
|
105
|
+
channel: {
|
|
106
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.discord,
|
|
107
|
+
channelId: discCh,
|
|
108
|
+
},
|
|
109
|
+
});
|
|
110
|
+
await router.handleNewUserMessage({
|
|
111
|
+
message: 'Second',
|
|
112
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli,
|
|
113
|
+
channelId: cliCh,
|
|
114
|
+
});
|
|
115
|
+
const mimicContent = `${messaging_const_1.MIMIC_MESSAGE_PREFIX}Second`;
|
|
116
|
+
const mimicSent = mockDiscord.sentMessages.find((m) => m.content === mimicContent);
|
|
117
|
+
expect(mimicSent).toBeDefined();
|
|
118
|
+
expect(mimicSent?.channelId).toBe(discCh);
|
|
119
|
+
});
|
|
120
|
+
it('routeOutput sends content to session channels via registered provider', async () => {
|
|
121
|
+
const mockProvider = new MockMessagingProvider();
|
|
122
|
+
const router = messaging_router_control_service_1.CCAP_MessagingRouter_ControlService.getInstance();
|
|
123
|
+
router.registerProvider(mockProvider);
|
|
124
|
+
const result = await router.handleNewUserMessage({
|
|
125
|
+
message: 'Route test',
|
|
126
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli,
|
|
127
|
+
channelId: uniqueChannelId,
|
|
128
|
+
});
|
|
129
|
+
const sessionId = result?.sessionId ?? '';
|
|
130
|
+
expect(sessionId).toBeTruthy();
|
|
131
|
+
await router.routeOutput({
|
|
132
|
+
sessionId: sessionId,
|
|
133
|
+
outputType: messaging_router_control_service_1.CCAP_MessagingOutputType.answer,
|
|
134
|
+
content: 'Test answer content',
|
|
135
|
+
});
|
|
136
|
+
const sent = mockProvider.sentMessages.find((m) => m.content === 'Test answer content');
|
|
137
|
+
expect(sent).toBeDefined();
|
|
138
|
+
expect(sent?.channelId).toBe(uniqueChannelId);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
//# sourceMappingURL=messaging-router.control-service.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messaging-router.control-service.spec.js","sourceRoot":"","sources":["../../../../src/_modules/messaging/messaging-router.control-service.spec.ts"],"names":[],"mappings":"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"}
|
package/server/build/src/_modules/messaging/providers/ccap-client-messaging.control-service.js
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCAP_CcapClientMessaging_ControlService = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const ccap_messaging_provider_name_type_enum_1 = require("../../../_enums/ccap-messaging-provider-name.type-enum");
|
|
6
|
+
const messaging_const_1 = require("../_collections/messaging.const");
|
|
7
|
+
const session_api_data_service_1 = require("../../../_routes/session/session-api.data-service");
|
|
8
|
+
const session_data_service_1 = require("../../session/session.data-service");
|
|
9
|
+
/**
|
|
10
|
+
* CCAP Client messaging provider control-service.
|
|
11
|
+
* Socket.io alapú messaging a CCAP Client (Angular frontend) és a server között.
|
|
12
|
+
* A DyNTS_AppExtended socket infrastructure-ját használja.
|
|
13
|
+
*/
|
|
14
|
+
class CCAP_CcapClientMessaging_ControlService {
|
|
15
|
+
static instance;
|
|
16
|
+
static getInstance() {
|
|
17
|
+
if (!CCAP_CcapClientMessaging_ControlService.instance) {
|
|
18
|
+
CCAP_CcapClientMessaging_ControlService.instance =
|
|
19
|
+
new CCAP_CcapClientMessaging_ControlService();
|
|
20
|
+
}
|
|
21
|
+
return CCAP_CcapClientMessaging_ControlService.instance;
|
|
22
|
+
}
|
|
23
|
+
/** Socket.io server instance (DyNTS_AppExtended-ből kapott). */
|
|
24
|
+
io;
|
|
25
|
+
/** Csatlakozott socket-ek mapping: socket.id → socket. */
|
|
26
|
+
connectedSockets = new Map();
|
|
27
|
+
/** SessionId → socket mapping (routeOutput channelId = sessionId). */
|
|
28
|
+
sessionIdToSocket = new Map();
|
|
29
|
+
/** Socket.id → sessionId (disconnect tisztításhoz). */
|
|
30
|
+
socketIdToSessionId = new Map();
|
|
31
|
+
/** Bejövő üzenet callback. */
|
|
32
|
+
messageCallback;
|
|
33
|
+
/**
|
|
34
|
+
* Provider neve.
|
|
35
|
+
*/
|
|
36
|
+
getProviderName() {
|
|
37
|
+
return ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapClient;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Socket.io server instance beállítása (a DyNTS_AppExtended hívja).
|
|
41
|
+
*/
|
|
42
|
+
setSocketServer(io) {
|
|
43
|
+
this.io = io;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Provider inicializálása: socket event listener-ek felállítása.
|
|
47
|
+
*/
|
|
48
|
+
async initialize() {
|
|
49
|
+
if (!this.io) {
|
|
50
|
+
fsm_dynamo_1.DyFM_Log.testInfo('CCAP_CcapClientMessaging | Socket.io server not set'
|
|
51
|
+
+ ' (will be set by app initialization)');
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const socketServer = this.io;
|
|
55
|
+
// Új client csatlakozás
|
|
56
|
+
socketServer.on('connection', (socket) => {
|
|
57
|
+
const socketId = socket.id;
|
|
58
|
+
fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_CcapClientMessaging | Client connected: ${socketId}`);
|
|
59
|
+
// Channel ID = socket ID (egyedi client session-hez)
|
|
60
|
+
this.connectedSockets.set(socketId, socket);
|
|
61
|
+
// Bejövő üzenet listener a client-ről
|
|
62
|
+
socket.on(messaging_const_1.MESSAGING_EVENT_NEW_USER_MSG, async (payload) => {
|
|
63
|
+
// Router sessionId-ként használja a channelId-t; sessionId regisztráció
|
|
64
|
+
const sessionId = payload.sessionId;
|
|
65
|
+
const channelId = sessionId ?? payload.channelId ?? socketId;
|
|
66
|
+
if (sessionId) {
|
|
67
|
+
this.sessionIdToSocket.set(sessionId, socket);
|
|
68
|
+
this.socketIdToSessionId.set(socketId, sessionId);
|
|
69
|
+
}
|
|
70
|
+
if (this.messageCallback) {
|
|
71
|
+
await this.messageCallback({
|
|
72
|
+
channelId: channelId,
|
|
73
|
+
content: payload.content,
|
|
74
|
+
rawMessage: payload,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
// session:create – kliens session létrehozás kérés (Phase 2.09 UI bekötés)
|
|
79
|
+
socket.on('session:create', async () => {
|
|
80
|
+
try {
|
|
81
|
+
const sessionDS = new session_data_service_1.CCAP_Session_DataService({
|
|
82
|
+
issuer: 'ccap-client',
|
|
83
|
+
});
|
|
84
|
+
const newSession = await sessionDS.createNewSession({
|
|
85
|
+
sourceChannel: {
|
|
86
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapClient,
|
|
87
|
+
channelId: socketId,
|
|
88
|
+
},
|
|
89
|
+
firstMessage: '',
|
|
90
|
+
});
|
|
91
|
+
const sid = newSession._id;
|
|
92
|
+
if (sid) {
|
|
93
|
+
this.sessionIdToSocket.set(sid, socket);
|
|
94
|
+
this.socketIdToSessionId.set(socketId, sid);
|
|
95
|
+
// Channel channelId = sessionId, hogy a routeOutput megtalálja
|
|
96
|
+
const sessionDS2 = new session_data_service_1.CCAP_Session_DataService({
|
|
97
|
+
issuer: 'ccap-client',
|
|
98
|
+
});
|
|
99
|
+
await sessionDS2.addChannelToSession({
|
|
100
|
+
sessionId: sid,
|
|
101
|
+
channel: {
|
|
102
|
+
providerName: ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapClient,
|
|
103
|
+
channelId: sid,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
socket.emit(messaging_const_1.SOCKET_EVENT_SESSION_CREATE_RESULT, {
|
|
108
|
+
session: newSession,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
fsm_dynamo_1.DyFM_Log.error('CCAP_CcapClientMessaging | session:create failed', error);
|
|
113
|
+
socket.emit(messaging_const_1.SOCKET_EVENT_SESSION_CREATE_RESULT, {
|
|
114
|
+
error: 'Failed to create session',
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
// session:list – kliens session lista kérés (Phase 2.09 UI bekötés)
|
|
119
|
+
socket.on('session:list', async () => {
|
|
120
|
+
try {
|
|
121
|
+
const sessionApi = new session_api_data_service_1.CCAP_SessionApi_DataService();
|
|
122
|
+
const sessions = await sessionApi.listSessions('ccap-client');
|
|
123
|
+
socket.emit(messaging_const_1.SOCKET_EVENT_SESSION_LIST_RESULT, {
|
|
124
|
+
sessions: sessions,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
fsm_dynamo_1.DyFM_Log.error('CCAP_CcapClientMessaging | session:list failed', error);
|
|
129
|
+
socket.emit(messaging_const_1.SOCKET_EVENT_SESSION_LIST_RESULT, {
|
|
130
|
+
sessions: [],
|
|
131
|
+
error: 'Failed to list sessions',
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
// Disconnect kezelés: mindkét map-ből törlés
|
|
136
|
+
socket.on('disconnect', () => {
|
|
137
|
+
const sessionId = this.socketIdToSessionId.get(socketId);
|
|
138
|
+
if (sessionId) {
|
|
139
|
+
this.sessionIdToSocket.delete(sessionId);
|
|
140
|
+
this.socketIdToSessionId.delete(socketId);
|
|
141
|
+
}
|
|
142
|
+
this.connectedSockets.delete(socketId);
|
|
143
|
+
fsm_dynamo_1.DyFM_Log.testInfo(`CCAP_CcapClientMessaging | Client disconnected: ${socketId}`);
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
fsm_dynamo_1.DyFM_Log.success('CCAP_CcapClientMessaging | Socket listeners initialized');
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Bejövő üzenet listener regisztráció.
|
|
150
|
+
*/
|
|
151
|
+
onMessage(callback) {
|
|
152
|
+
this.messageCallback = callback;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Üzenet küldés a CCAP Client-nek Socket.io-n keresztül.
|
|
156
|
+
* channelId = sessionId (routeOutput), vagy socket.id (régi session create).
|
|
157
|
+
* runId: a client a válasz üzenethez kapcsolja (lazy trace / flow).
|
|
158
|
+
*/
|
|
159
|
+
async sendMessage(params) {
|
|
160
|
+
const socket = this.sessionIdToSocket.get(params.channelId)
|
|
161
|
+
?? this.connectedSockets.get(params.channelId);
|
|
162
|
+
const payload = {
|
|
163
|
+
channelId: params.channelId,
|
|
164
|
+
content: params.content,
|
|
165
|
+
timestamp: new Date().toISOString(),
|
|
166
|
+
};
|
|
167
|
+
if (params.runId) {
|
|
168
|
+
payload.runId = params.runId;
|
|
169
|
+
}
|
|
170
|
+
if (socket) {
|
|
171
|
+
socket.emit(messaging_const_1.MESSAGING_EVENT_ANSWER, payload);
|
|
172
|
+
}
|
|
173
|
+
else if (this.io) {
|
|
174
|
+
this.io.emit(messaging_const_1.MESSAGING_EVENT_ANSWER, payload);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* NOTIFY_USER event küldés a client felé (célzott socket sessionId alapján).
|
|
179
|
+
*/
|
|
180
|
+
async sendNotification(params) {
|
|
181
|
+
const socket = this.sessionIdToSocket.get(params.channelId)
|
|
182
|
+
?? this.connectedSockets.get(params.channelId);
|
|
183
|
+
if (socket) {
|
|
184
|
+
socket.emit(messaging_const_1.MESSAGING_EVENT_NOTIFY_USER, {
|
|
185
|
+
channelId: params.channelId,
|
|
186
|
+
content: params.content,
|
|
187
|
+
timestamp: new Date().toISOString(),
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
else if (this.io) {
|
|
191
|
+
this.io.emit(messaging_const_1.MESSAGING_EVENT_NOTIFY_USER, {
|
|
192
|
+
channelId: params.channelId,
|
|
193
|
+
content: params.content,
|
|
194
|
+
timestamp: new Date().toISOString(),
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* AGENT_EVENTS event küldés a client felé (célzott socket sessionId alapján).
|
|
200
|
+
*/
|
|
201
|
+
async sendAgentEvent(params) {
|
|
202
|
+
const socket = this.sessionIdToSocket.get(params.channelId)
|
|
203
|
+
?? this.connectedSockets.get(params.channelId);
|
|
204
|
+
if (socket) {
|
|
205
|
+
socket.emit(messaging_const_1.MESSAGING_EVENT_AGENT_EVENTS, {
|
|
206
|
+
channelId: params.channelId,
|
|
207
|
+
eventData: params.eventData,
|
|
208
|
+
timestamp: new Date().toISOString(),
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
else if (this.io) {
|
|
212
|
+
this.io.emit(messaging_const_1.MESSAGING_EVENT_AGENT_EVENTS, {
|
|
213
|
+
channelId: params.channelId,
|
|
214
|
+
eventData: params.eventData,
|
|
215
|
+
timestamp: new Date().toISOString(),
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Monitoring event küldés a megadott session clientjének (real-time timeline).
|
|
221
|
+
*/
|
|
222
|
+
sendMonitoringEvent(params) {
|
|
223
|
+
const socket = this.sessionIdToSocket.get(params.sessionId);
|
|
224
|
+
if (socket) {
|
|
225
|
+
socket.emit(messaging_const_1.SOCKET_EVENT_MONITORING_EVENT, {
|
|
226
|
+
sessionId: params.sessionId,
|
|
227
|
+
event: params.event,
|
|
228
|
+
timestamp: new Date().toISOString(),
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Context frissítés küldés a megadott session clientjének (real-time context panel).
|
|
234
|
+
*/
|
|
235
|
+
sendContextUpdate(params) {
|
|
236
|
+
const socket = this.sessionIdToSocket.get(params.sessionId);
|
|
237
|
+
if (socket) {
|
|
238
|
+
socket.emit(messaging_const_1.SOCKET_EVENT_CONTEXT_UPDATED, {
|
|
239
|
+
sessionId: params.sessionId,
|
|
240
|
+
contextState: params.contextState,
|
|
241
|
+
timestamp: new Date().toISOString(),
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Provider leállítása.
|
|
247
|
+
*/
|
|
248
|
+
async shutdown() {
|
|
249
|
+
this.connectedSockets.clear();
|
|
250
|
+
this.sessionIdToSocket.clear();
|
|
251
|
+
this.socketIdToSessionId.clear();
|
|
252
|
+
fsm_dynamo_1.DyFM_Log.testInfo('CCAP_CcapClientMessaging | Shutdown');
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
exports.CCAP_CcapClientMessaging_ControlService = CCAP_CcapClientMessaging_ControlService;
|
|
256
|
+
//# sourceMappingURL=ccap-client-messaging.control-service.js.map
|
package/server/build/src/_modules/messaging/providers/ccap-client-messaging.control-service.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ccap-client-messaging.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/messaging/providers/ccap-client-messaging.control-service.ts"],"names":[],"mappings":";;;AAAA,sDAAiD;AAEjD,mHAAyG;AAEzG,qEASyC;AACzC,gGAAgG;AAChG,6EAA8E;AAW9E;;;;GAIG;AACH,MAAa,uCAAuC;IAG1C,MAAM,CAAC,QAAQ,CAAsD;IAE7E,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,uCAAuC,CAAC,QAAQ,EAAE,CAAC;YACtD,uCAAuC,CAAC,QAAQ;gBAC9C,IAAI,uCAAuC,EAAE,CAAC;QAClD,CAAC;QAED,OAAO,uCAAuC,CAAC,QAAQ,CAAC;IAC1D,CAAC;IAED,gEAAgE;IACxD,EAAE,CAAU;IAEpB,0DAA0D;IAClD,gBAAgB,GAAyB,IAAI,GAAG,EAAE,CAAC;IAE3D,sEAAsE;IAC9D,iBAAiB,GAAyB,IAAI,GAAG,EAAE,CAAC;IAE5D,uDAAuD;IAC/C,mBAAmB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE7D,8BAA8B;IACtB,eAAe,CAIH;IAEpB;;OAEG;IACH,eAAe;QACb,OAAO,wEAA+B,CAAC,UAAU,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,EAAW;QACzB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,qBAAQ,CAAC,QAAQ,CACf,qDAAqD;kBACnD,sCAAsC,CACzC,CAAC;YAEF,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAQ,IAAI,CAAC,EAAE,CAAC;QAElC,wBAAwB;QACxB,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAW,EAAQ,EAAE;YAClD,MAAM,QAAQ,GAAW,MAAM,CAAC,EAAE,CAAC;YAEnC,qBAAQ,CAAC,QAAQ,CACf,gDAAgD,QAAQ,EAAE,CAC3D,CAAC;YAEF,qDAAqD;YACrD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAE5C,sCAAsC;YACtC,MAAM,CAAC,EAAE,CACP,8CAA4B,EAC5B,KAAK,EAAE,OAAkC,EAAiB,EAAE;gBAC1D,wEAAwE;gBACxE,MAAM,SAAS,GAAuB,OAAO,CAAC,SAAS,CAAC;gBACxD,MAAM,SAAS,GACb,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;gBAE7C,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACpD,CAAC;gBAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC,eAAe,CAAC;wBACzB,SAAS,EAAE,SAAS;wBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,UAAU,EAAE,OAAO;qBACpB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CACF,CAAC;YAEF,2EAA2E;YAC3E,MAAM,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAmB,EAAE;gBACpD,IAAI,CAAC;oBACH,MAAM,SAAS,GACb,IAAI,+CAAwB,CAAC;wBAC3B,MAAM,EAAE,aAAa;qBACtB,CAAC,CAAC;oBAEL,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC;wBAClD,aAAa,EAAE;4BACb,YAAY,EAAE,wEAA+B,CAAC,UAAU;4BACxD,SAAS,EAAE,QAAQ;yBACpB;wBACD,YAAY,EAAE,EAAE;qBACjB,CAAC,CAAC;oBAEH,MAAM,GAAG,GAAuB,UAAU,CAAC,GAAG,CAAC;oBAE/C,IAAI,GAAG,EAAE,CAAC;wBACR,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;wBACxC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAE5C,+DAA+D;wBAC/D,MAAM,UAAU,GACd,IAAI,+CAAwB,CAAC;4BAC3B,MAAM,EAAE,aAAa;yBACtB,CAAC,CAAC;wBACL,MAAM,UAAU,CAAC,mBAAmB,CAAC;4BACnC,SAAS,EAAE,GAAG;4BACd,OAAO,EAAE;gCACP,YAAY,EAAE,wEAA+B,CAAC,UAAU;gCACxD,SAAS,EAAE,GAAG;6BACf;yBACF,CAAC,CAAC;oBACL,CAAC;oBAED,MAAM,CAAC,IAAI,CAAC,oDAAkC,EAAE;wBAC9C,OAAO,EAAE,UAAU;qBACpB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,qBAAQ,CAAC,KAAK,CACZ,kDAAkD,EAClD,KAAK,CACN,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,oDAAkC,EAAE;wBAC9C,KAAK,EAAE,0BAA0B;qBAClC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,oEAAoE;YACpE,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,IAAmB,EAAE;gBAClD,IAAI,CAAC;oBACH,MAAM,UAAU,GACd,IAAI,sDAA2B,EAAE,CAAC;oBACpC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBAE9D,MAAM,CAAC,IAAI,CAAC,kDAAgC,EAAE;wBAC5C,QAAQ,EAAE,QAAQ;qBACnB,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,qBAAQ,CAAC,KAAK,CACZ,gDAAgD,EAChD,KAAK,CACN,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,kDAAgC,EAAE;wBAC5C,QAAQ,EAAE,EAAE;wBACZ,KAAK,EAAE,yBAAyB;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAS,EAAE;gBACjC,MAAM,SAAS,GACb,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEzC,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAEvC,qBAAQ,CAAC,QAAQ,CACf,mDAAmD,QAAQ,EAAE,CAC9D,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,qBAAQ,CAAC,OAAO,CACd,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CACP,QAImB;QAEnB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,MAIjB;QACC,MAAM,MAAM,GACV,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;eACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,OAAO,GAKT;YACF,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACV,MAAc,CAAC,IAAI,CAAC,wCAAsB,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,EAAU,CAAC,IAAI,CAAC,wCAAsB,EAAE,OAAO,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAGtB;QACC,MAAM,MAAM,GACV,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;eACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE,CAAC;YACV,MAAc,CAAC,IAAI,CAAC,6CAA2B,EAAE;gBAChD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,EAAU,CAAC,IAAI,CAAC,6CAA2B,EAAE;gBACjD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAGpB;QACC,MAAM,MAAM,GACV,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;eACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,MAAM,EAAE,CAAC;YACV,MAAc,CAAC,IAAI,CAAC,8CAA4B,EAAE;gBACjD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAClB,IAAI,CAAC,EAAU,CAAC,IAAI,CAAC,8CAA4B,EAAE;gBAClD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAGnB;QACC,MAAM,MAAM,GAAY,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErE,IAAI,MAAM,EAAE,CAAC;YACV,MAAc,CAAC,IAAI,CAAC,+CAA6B,EAAE;gBAClD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,MAGjB;QACC,MAAM,MAAM,GAAY,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAErE,IAAI,MAAM,EAAE,CAAC;YACV,MAAc,CAAC,IAAI,CAAC,8CAA4B,EAAE;gBACjD,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAEjC,qBAAQ,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;CACF;AArVD,0FAqVC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCAP_CcapClientSocketServer_Service = void 0;
|
|
4
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
5
|
+
const socket_1 = require("@futdevpro/nts-dynamo/socket");
|
|
6
|
+
const ccap_client_messaging_control_service_1 = require("./ccap-client-messaging.control-service");
|
|
7
|
+
/** HTTP port (ugyanaz, mint az app server – socket ugyanarra az HTTP serverre köt). */
|
|
8
|
+
const CCAP_HTTP_PORT_DEFAULT = 39050;
|
|
9
|
+
/**
|
|
10
|
+
* CCAP Client Socket.io adapter.
|
|
11
|
+
* DyNTS_AppExtended getSocketServices()-ében visszaadva az io-t kapja;
|
|
12
|
+
* átadja a CCAP Client messaging provider-nek és inicializálja.
|
|
13
|
+
*/
|
|
14
|
+
class CCAP_CcapClientSocketServer_Service extends socket_1.DyNTS_SocketServerService {
|
|
15
|
+
static getInstance() {
|
|
16
|
+
return CCAP_CcapClientSocketServer_Service.getSingletonInstance();
|
|
17
|
+
}
|
|
18
|
+
getServiceParams() {
|
|
19
|
+
const port = +(process.env.CCAP_HTTP_PORT ?? CCAP_HTTP_PORT_DEFAULT);
|
|
20
|
+
return new socket_1.DyNTS_SocketServerService_Params({
|
|
21
|
+
name: 'ccap-client',
|
|
22
|
+
port: port,
|
|
23
|
+
security: socket_1.DyNTS_SocketSecurity.open,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
getIncomingEvents() {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
async getPresenceFromSubscriptionEventContent(_socketSubscription, socket) {
|
|
30
|
+
return new socket_1.DyNTS_SocketPresence({
|
|
31
|
+
issuerLocalId: socket.id,
|
|
32
|
+
issuer: 'ccap-client',
|
|
33
|
+
sockets: [socket],
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Socket.io server átadása a CCAP Client messaging provider-nek, majd initialize.
|
|
38
|
+
* A base subscribe/connection logikát nem hívjuk, csak a provider event-jeit használjuk.
|
|
39
|
+
*/
|
|
40
|
+
async setupSocketServer(newSocketServer, _security, successCallback) {
|
|
41
|
+
const provider = ccap_client_messaging_control_service_1.CCAP_CcapClientMessaging_ControlService.getInstance();
|
|
42
|
+
provider.setSocketServer(newSocketServer);
|
|
43
|
+
await provider.initialize();
|
|
44
|
+
fsm_dynamo_1.DyFM_Log.success('CCAP_CcapClientSocketServer | Socket server wired to CCAP Client messaging');
|
|
45
|
+
successCallback();
|
|
46
|
+
this.openSocketServer = newSocketServer;
|
|
47
|
+
return newSocketServer;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.CCAP_CcapClientSocketServer_Service = CCAP_CcapClientSocketServer_Service;
|
|
51
|
+
//# sourceMappingURL=ccap-client-socket-server.service.js.map
|
package/server/build/src/_modules/messaging/providers/ccap-client-socket-server.service.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ccap-client-socket-server.service.js","sourceRoot":"","sources":["../../../../../src/_modules/messaging/providers/ccap-client-socket-server.service.ts"],"names":[],"mappings":";;;AAEA,sDAAiD;AACjD,yDAKsC;AAEtC,mGAAkG;AAElG,uFAAuF;AACvF,MAAM,sBAAsB,GAAW,KAAK,CAAC;AAE7C;;;;GAIG;AACH,MAAa,mCAAoC,SAAQ,kCAA+C;IAEtG,MAAM,CAAC,WAAW;QAChB,OAAO,mCAAmC,CAAC,oBAAoB,EAAE,CAAC;IACpE,CAAC;IAES,gBAAgB;QACxB,MAAM,IAAI,GAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,sBAAsB,CAAC,CAAC;QAE7E,OAAO,IAAI,yCAAgC,CAAC;YAC1C,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,6BAAoB,CAAC,IAAI;SACpC,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,uCAAuC,CACrD,mBAA4B,EAC5B,MAAuB;QAEvB,OAAO,IAAI,6BAAoB,CAAC;YAC9B,aAAa,EAAE,MAAM,CAAC,EAAE;YACxB,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,CAAC,MAAM,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,iBAAiB,CAC9B,eAAgC,EAChC,SAAkE,EAClE,eAA2B;QAE3B,MAAM,QAAQ,GACZ,+EAAuC,CAAC,WAAW,EAAE,CAAC;QAExD,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC1C,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5B,qBAAQ,CAAC,OAAO,CACd,4EAA4E,CAC7E,CAAC;QAEF,eAAe,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAvDD,kFAuDC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CCAP_CliMessaging_ControlService = void 0;
|
|
4
|
+
const readline_1 = require("readline");
|
|
5
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
6
|
+
const ccap_messaging_provider_name_type_enum_1 = require("../../../_enums/ccap-messaging-provider-name.type-enum");
|
|
7
|
+
/** CLI channel azonosító (egyetlen CLI session). */
|
|
8
|
+
const CLI_CHANNEL_ID = 'cli-main';
|
|
9
|
+
/**
|
|
10
|
+
* CLI messaging provider control-service.
|
|
11
|
+
* stdin/stdout alapú messaging a `ccap chat` command-hoz.
|
|
12
|
+
*/
|
|
13
|
+
class CCAP_CliMessaging_ControlService {
|
|
14
|
+
/** Readline interface a stdin/stdout kezeléshez. */
|
|
15
|
+
readlineInterface;
|
|
16
|
+
/** Bejövő üzenet callback. */
|
|
17
|
+
messageCallback;
|
|
18
|
+
/** Aktív-e a CLI listener. */
|
|
19
|
+
isActive = false;
|
|
20
|
+
/**
|
|
21
|
+
* Provider neve.
|
|
22
|
+
*/
|
|
23
|
+
getProviderName() {
|
|
24
|
+
return ccap_messaging_provider_name_type_enum_1.CCAP_MessagingProviderName_Type.ccapCli;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Provider inicializálása: readline interface felállítása.
|
|
28
|
+
*/
|
|
29
|
+
async initialize() {
|
|
30
|
+
if (this.isActive) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
this.readlineInterface = (0, readline_1.createInterface)({
|
|
34
|
+
input: process.stdin,
|
|
35
|
+
output: process.stdout,
|
|
36
|
+
});
|
|
37
|
+
this.isActive = true;
|
|
38
|
+
// Bejövő sorok listener-je
|
|
39
|
+
this.readlineInterface.on('line', async (line) => {
|
|
40
|
+
const trimmedLine = line.trim();
|
|
41
|
+
// Üres sorokat kihagyjuk
|
|
42
|
+
if (!trimmedLine) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// Kilépés parancs
|
|
46
|
+
if (trimmedLine === '/exit' || trimmedLine === '/quit') {
|
|
47
|
+
fsm_dynamo_1.DyFM_Log.testInfo('CCAP_CliMessaging | Exit command received');
|
|
48
|
+
await this.shutdown();
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
if (this.messageCallback) {
|
|
52
|
+
await this.messageCallback({
|
|
53
|
+
channelId: CLI_CHANNEL_ID,
|
|
54
|
+
content: trimmedLine,
|
|
55
|
+
rawMessage: line,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
this.readlineInterface.on('close', () => {
|
|
60
|
+
this.isActive = false;
|
|
61
|
+
});
|
|
62
|
+
fsm_dynamo_1.DyFM_Log.success('CCAP_CliMessaging | CLI chat ready (type /exit to quit)');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Bejövő üzenet listener regisztráció.
|
|
66
|
+
*/
|
|
67
|
+
onMessage(callback) {
|
|
68
|
+
this.messageCallback = callback;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Üzenet küldés a CLI-re (stdout-ra kiírás).
|
|
72
|
+
*/
|
|
73
|
+
async sendMessage(params) {
|
|
74
|
+
console.log(`\n[CCAP] ${params.content}\n`);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Provider leállítása.
|
|
78
|
+
*/
|
|
79
|
+
async shutdown() {
|
|
80
|
+
if (this.readlineInterface) {
|
|
81
|
+
this.readlineInterface.close();
|
|
82
|
+
this.readlineInterface = undefined;
|
|
83
|
+
}
|
|
84
|
+
this.isActive = false;
|
|
85
|
+
fsm_dynamo_1.DyFM_Log.testInfo('CCAP_CliMessaging | CLI chat closed');
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.CCAP_CliMessaging_ControlService = CCAP_CliMessaging_ControlService;
|
|
89
|
+
//# sourceMappingURL=cli-messaging.control-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-messaging.control-service.js","sourceRoot":"","sources":["../../../../../src/_modules/messaging/providers/cli-messaging.control-service.ts"],"names":[],"mappings":";;;AAAA,uCAAsD;AAEtD,sDAAiD;AAEjD,mHAAyG;AAGzG,oDAAoD;AACpD,MAAM,cAAc,GAAW,UAAU,CAAC;AAE1C;;;GAGG;AACH,MAAa,gCAAgC;IAG3C,oDAAoD;IAC5C,iBAAiB,CAAwB;IAEjD,8BAA8B;IACtB,eAAe,CAIH;IAEpB,8BAA8B;IACtB,QAAQ,GAAY,KAAK,CAAC;IAElC;;OAEG;IACH,eAAe;QACb,OAAO,wEAA+B,CAAC,OAAO,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,IAAA,0BAAe,EAAC;YACvC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,2BAA2B;QAC3B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CACvB,MAAM,EACN,KAAK,EAAE,IAAY,EAAiB,EAAE;YACpC,MAAM,WAAW,GAAW,IAAI,CAAC,IAAI,EAAE,CAAC;YAExC,yBAAyB;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;YACT,CAAC;YAED,kBAAkB;YAClB,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;gBACvD,qBAAQ,CAAC,QAAQ,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEtB,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,eAAe,CAAC;oBACzB,SAAS,EAAE,cAAc;oBACzB,OAAO,EAAE,WAAW;oBACpB,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAS,EAAE;YAC5C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,qBAAQ,CAAC,OAAO,CAAC,yDAAyD,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,SAAS,CACP,QAImB;QAEnB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAIjB;QACC,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEtB,qBAAQ,CAAC,QAAQ,CAAC,qCAAqC,CAAC,CAAC;IAC3D,CAAC;CACF;AA/GD,4EA+GC"}
|