@copilotkitnext/angular 0.0.9-alpha.2 → 0.0.10
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/dist/esm2022/index.mjs +2 -70
- package/dist/esm2022/lib/agent.mjs +73 -0
- package/dist/esm2022/lib/chat-config.mjs +35 -0
- package/dist/esm2022/lib/chat-state.mjs +18 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-buttons.mjs +344 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-renderer.mjs +260 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message-toolbar.mjs +22 -0
- package/dist/esm2022/{components/chat/copilot-chat-assistant-message.component.mjs → lib/components/chat/copilot-chat-assistant-message.mjs} +216 -240
- package/dist/esm2022/lib/components/chat/copilot-chat-assistant-message.types.mjs +2 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-audio-recorder.mjs +196 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-buttons.mjs +299 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-input-defaults.mjs +39 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-input.mjs +634 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-input.types.mjs +10 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-message-view-cursor.mjs +27 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-message-view.mjs +268 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-message-view.types.mjs +2 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-textarea.mjs +139 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-tool-calls-view.mjs +36 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-toolbar.mjs +20 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-tools-menu.mjs +203 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message-branch-navigation.mjs +118 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message-buttons.mjs +182 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message-renderer.mjs +28 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message-toolbar.mjs +25 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message.mjs +306 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-user-message.types.mjs +2 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view-disclaimer.mjs +48 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view-feather.mjs +41 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view-handlers.mjs +19 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view-input-container.mjs +96 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-to-bottom-button.mjs +89 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view-scroll-view.mjs +456 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view.mjs +404 -0
- package/dist/esm2022/lib/components/chat/copilot-chat-view.types.mjs +2 -0
- package/dist/esm2022/lib/components/chat/copilot-chat.mjs +167 -0
- package/dist/esm2022/lib/config.mjs +9 -0
- package/dist/esm2022/lib/copilotkit.mjs +124 -0
- package/dist/esm2022/lib/directives/copilotkit-agent-context.mjs +130 -0
- package/dist/esm2022/lib/directives/stick-to-bottom.mjs +170 -0
- package/dist/esm2022/lib/directives/tooltip.mjs +217 -0
- package/dist/esm2022/lib/human-in-the-loop.mjs +19 -0
- package/dist/esm2022/lib/render-tool-calls.mjs +131 -0
- package/dist/esm2022/lib/resize-observer.mjs +152 -0
- package/dist/esm2022/lib/scroll-position.mjs +124 -0
- package/dist/esm2022/lib/slots/copilot-slot.mjs +156 -0
- package/dist/esm2022/lib/slots/index.mjs +4 -0
- package/dist/esm2022/lib/slots/slot.types.mjs +3 -3
- package/dist/esm2022/lib/slots/slot.utils.mjs +19 -15
- package/dist/esm2022/lib/tools.mjs +31 -0
- package/dist/esm2022/lib/utils.mjs +3 -3
- package/dist/esm2022/public-api.mjs +47 -0
- package/dist/fesm2022/copilotkitnext-angular.mjs +5249 -8271
- package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -1
- package/dist/index.d.ts +1 -55
- package/dist/lib/agent.d.ts +53 -0
- package/dist/{core/chat-configuration/chat-configuration.types.d.ts → lib/chat-config.d.ts} +4 -8
- package/dist/lib/chat-state.d.ts +10 -0
- package/dist/lib/components/chat/copilot-chat-assistant-message-buttons.d.ts +68 -0
- package/dist/lib/components/chat/copilot-chat-assistant-message-renderer.d.ts +26 -0
- package/dist/lib/components/chat/copilot-chat-assistant-message-toolbar.d.ts +7 -0
- package/dist/lib/components/chat/copilot-chat-assistant-message.d.ts +178 -0
- package/dist/{components → lib/components}/chat/copilot-chat-assistant-message.types.d.ts +1 -1
- package/dist/{components/chat/copilot-chat-audio-recorder.component.d.ts → lib/components/chat/copilot-chat-audio-recorder.d.ts} +10 -10
- package/dist/lib/components/chat/copilot-chat-buttons.d.ts +65 -0
- package/dist/lib/components/chat/copilot-chat-input-defaults.d.ts +38 -0
- package/dist/lib/components/chat/copilot-chat-input.d.ts +133 -0
- package/dist/{components → lib/components}/chat/copilot-chat-input.types.d.ts +11 -11
- package/dist/lib/components/chat/copilot-chat-message-view-cursor.d.ts +11 -0
- package/dist/{components/chat/copilot-chat-message-view.component.d.ts → lib/components/chat/copilot-chat-message-view.d.ts} +68 -36
- package/dist/{components → lib/components}/chat/copilot-chat-message-view.types.d.ts +2 -2
- package/dist/lib/components/chat/copilot-chat-textarea.d.ts +41 -0
- package/dist/lib/components/chat/copilot-chat-tool-calls-view.d.ts +55 -0
- package/dist/lib/components/chat/copilot-chat-toolbar.d.ts +7 -0
- package/dist/lib/components/chat/copilot-chat-tools-menu.d.ts +20 -0
- package/dist/lib/components/chat/copilot-chat-user-message-branch-navigation.d.ts +20 -0
- package/dist/lib/components/chat/copilot-chat-user-message-buttons.d.ts +35 -0
- package/dist/lib/components/chat/copilot-chat-user-message-renderer.d.ts +8 -0
- package/dist/lib/components/chat/copilot-chat-user-message-toolbar.d.ts +7 -0
- package/dist/lib/components/chat/copilot-chat-user-message.d.ts +55 -0
- package/dist/{components → lib/components}/chat/copilot-chat-user-message.types.d.ts +2 -2
- package/dist/lib/components/chat/copilot-chat-view-disclaimer.d.ts +15 -0
- package/dist/{components/chat/copilot-chat-view-feather.component.d.ts → lib/components/chat/copilot-chat-view-feather.d.ts} +6 -6
- package/dist/{components/chat/copilot-chat-view-handlers.service.d.ts → lib/components/chat/copilot-chat-view-handlers.d.ts} +3 -3
- package/dist/lib/components/chat/copilot-chat-view-input-container.d.ts +23 -0
- package/dist/lib/components/chat/copilot-chat-view-scroll-to-bottom-button.d.ts +16 -0
- package/dist/lib/components/chat/copilot-chat-view-scroll-view.d.ts +114 -0
- package/dist/lib/components/chat/copilot-chat-view.d.ts +239 -0
- package/dist/{components → lib/components}/chat/copilot-chat-view.types.d.ts +2 -2
- package/dist/lib/components/chat/copilot-chat.d.ts +67 -0
- package/dist/lib/config.d.ts +16 -0
- package/dist/lib/copilotkit.d.ts +29 -0
- package/dist/{directives/copilotkit-agent-context.directive.d.ts → lib/directives/copilotkit-agent-context.d.ts} +5 -5
- package/dist/lib/directives/stick-to-bottom.d.ts +62 -0
- package/dist/lib/directives/tooltip.d.ts +33 -0
- package/dist/lib/human-in-the-loop.d.ts +13 -0
- package/dist/lib/render-tool-calls.d.ts +75 -0
- package/dist/{services/resize-observer.service.d.ts → lib/resize-observer.d.ts} +2 -2
- package/dist/{services/scroll-position.service.d.ts → lib/scroll-position.d.ts} +6 -6
- package/dist/lib/slots/copilot-slot.d.ts +34 -0
- package/dist/lib/slots/index.d.ts +3 -0
- package/dist/lib/slots/slot.types.d.ts +1 -1
- package/dist/lib/slots/slot.utils.d.ts +6 -4
- package/dist/lib/tools.d.ts +63 -0
- package/dist/lib/utils.d.ts +1 -1
- package/dist/public-api.d.ts +46 -0
- package/dist/styles.css +0 -69
- package/package.json +3 -3
- package/dist/components/chat/copilot-chat-assistant-message-buttons.component.d.ts +0 -75
- package/dist/components/chat/copilot-chat-assistant-message-renderer.component.d.ts +0 -31
- package/dist/components/chat/copilot-chat-assistant-message-toolbar.component.d.ts +0 -8
- package/dist/components/chat/copilot-chat-assistant-message.component.d.ts +0 -132
- package/dist/components/chat/copilot-chat-buttons.component.d.ts +0 -66
- package/dist/components/chat/copilot-chat-input-defaults.d.ts +0 -37
- package/dist/components/chat/copilot-chat-input.component.d.ts +0 -133
- package/dist/components/chat/copilot-chat-message-view-cursor.component.d.ts +0 -15
- package/dist/components/chat/copilot-chat-textarea.component.d.ts +0 -45
- package/dist/components/chat/copilot-chat-tool-calls-view.component.d.ts +0 -35
- package/dist/components/chat/copilot-chat-toolbar.component.d.ts +0 -8
- package/dist/components/chat/copilot-chat-tools-menu.component.d.ts +0 -20
- package/dist/components/chat/copilot-chat-user-message-branch-navigation.component.d.ts +0 -23
- package/dist/components/chat/copilot-chat-user-message-buttons.component.d.ts +0 -39
- package/dist/components/chat/copilot-chat-user-message-renderer.component.d.ts +0 -9
- package/dist/components/chat/copilot-chat-user-message-toolbar.component.d.ts +0 -8
- package/dist/components/chat/copilot-chat-user-message.component.d.ts +0 -55
- package/dist/components/chat/copilot-chat-view-disclaimer.component.d.ts +0 -15
- package/dist/components/chat/copilot-chat-view-input-container.component.d.ts +0 -23
- package/dist/components/chat/copilot-chat-view-scroll-to-bottom-button.component.d.ts +0 -17
- package/dist/components/chat/copilot-chat-view-scroll-view.component.d.ts +0 -84
- package/dist/components/chat/copilot-chat-view.component.d.ts +0 -205
- package/dist/components/chat/copilot-chat.component.d.ts +0 -36
- package/dist/components/copilotkit-tool-render.component.d.ts +0 -25
- package/dist/core/chat-configuration/chat-configuration.providers.d.ts +0 -54
- package/dist/core/chat-configuration/chat-configuration.service.d.ts +0 -75
- package/dist/core/copilotkit.providers.d.ts +0 -13
- package/dist/core/copilotkit.service.d.ts +0 -119
- package/dist/core/copilotkit.types.d.ts +0 -81
- package/dist/directives/copilotkit-agent.directive.d.ts +0 -106
- package/dist/directives/copilotkit-chat-config.directive.d.ts +0 -84
- package/dist/directives/copilotkit-config.directive.d.ts +0 -44
- package/dist/directives/copilotkit-frontend-tool.directive.d.ts +0 -25
- package/dist/directives/copilotkit-human-in-the-loop.directive.d.ts +0 -124
- package/dist/directives/stick-to-bottom.directive.d.ts +0 -62
- package/dist/esm2022/components/chat/copilot-chat-assistant-message-buttons.component.mjs +0 -384
- package/dist/esm2022/components/chat/copilot-chat-assistant-message-renderer.component.mjs +0 -286
- package/dist/esm2022/components/chat/copilot-chat-assistant-message-toolbar.component.mjs +0 -27
- package/dist/esm2022/components/chat/copilot-chat-assistant-message.types.mjs +0 -2
- package/dist/esm2022/components/chat/copilot-chat-audio-recorder.component.mjs +0 -202
- package/dist/esm2022/components/chat/copilot-chat-buttons.component.mjs +0 -321
- package/dist/esm2022/components/chat/copilot-chat-input-defaults.mjs +0 -38
- package/dist/esm2022/components/chat/copilot-chat-input.component.mjs +0 -666
- package/dist/esm2022/components/chat/copilot-chat-input.types.mjs +0 -10
- package/dist/esm2022/components/chat/copilot-chat-message-view-cursor.component.mjs +0 -45
- package/dist/esm2022/components/chat/copilot-chat-message-view.component.mjs +0 -296
- package/dist/esm2022/components/chat/copilot-chat-message-view.types.mjs +0 -2
- package/dist/esm2022/components/chat/copilot-chat-textarea.component.mjs +0 -188
- package/dist/esm2022/components/chat/copilot-chat-tool-calls-view.component.mjs +0 -222
- package/dist/esm2022/components/chat/copilot-chat-toolbar.component.mjs +0 -25
- package/dist/esm2022/components/chat/copilot-chat-tools-menu.component.mjs +0 -199
- package/dist/esm2022/components/chat/copilot-chat-user-message-branch-navigation.component.mjs +0 -137
- package/dist/esm2022/components/chat/copilot-chat-user-message-buttons.component.mjs +0 -207
- package/dist/esm2022/components/chat/copilot-chat-user-message-renderer.component.mjs +0 -35
- package/dist/esm2022/components/chat/copilot-chat-user-message-toolbar.component.mjs +0 -34
- package/dist/esm2022/components/chat/copilot-chat-user-message.component.mjs +0 -341
- package/dist/esm2022/components/chat/copilot-chat-user-message.types.mjs +0 -2
- package/dist/esm2022/components/chat/copilot-chat-view-disclaimer.component.mjs +0 -52
- package/dist/esm2022/components/chat/copilot-chat-view-feather.component.mjs +0 -55
- package/dist/esm2022/components/chat/copilot-chat-view-handlers.service.mjs +0 -19
- package/dist/esm2022/components/chat/copilot-chat-view-input-container.component.mjs +0 -110
- package/dist/esm2022/components/chat/copilot-chat-view-scroll-to-bottom-button.component.mjs +0 -93
- package/dist/esm2022/components/chat/copilot-chat-view-scroll-view.component.mjs +0 -443
- package/dist/esm2022/components/chat/copilot-chat-view.component.mjs +0 -479
- package/dist/esm2022/components/chat/copilot-chat-view.types.mjs +0 -2
- package/dist/esm2022/components/chat/copilot-chat.component.mjs +0 -220
- package/dist/esm2022/components/copilotkit-tool-render.component.mjs +0 -150
- package/dist/esm2022/core/chat-configuration/chat-configuration.providers.mjs +0 -65
- package/dist/esm2022/core/chat-configuration/chat-configuration.service.mjs +0 -145
- package/dist/esm2022/core/chat-configuration/chat-configuration.types.mjs +0 -26
- package/dist/esm2022/core/copilotkit.providers.mjs +0 -34
- package/dist/esm2022/core/copilotkit.service.mjs +0 -411
- package/dist/esm2022/core/copilotkit.types.mjs +0 -13
- package/dist/esm2022/directives/copilotkit-agent-context.directive.mjs +0 -130
- package/dist/esm2022/directives/copilotkit-agent.directive.mjs +0 -221
- package/dist/esm2022/directives/copilotkit-chat-config.directive.mjs +0 -218
- package/dist/esm2022/directives/copilotkit-config.directive.mjs +0 -94
- package/dist/esm2022/directives/copilotkit-frontend-tool.directive.mjs +0 -128
- package/dist/esm2022/directives/copilotkit-human-in-the-loop.directive.mjs +0 -265
- package/dist/esm2022/directives/stick-to-bottom.directive.mjs +0 -181
- package/dist/esm2022/lib/directives/tooltip.directive.mjs +0 -211
- package/dist/esm2022/lib/slots/copilot-slot.component.mjs +0 -154
- package/dist/esm2022/services/resize-observer.service.mjs +0 -152
- package/dist/esm2022/services/scroll-position.service.mjs +0 -124
- package/dist/esm2022/types/frontend-tool.mjs +0 -2
- package/dist/esm2022/types/human-in-the-loop.mjs +0 -2
- package/dist/esm2022/utils/agent-context.utils.mjs +0 -114
- package/dist/esm2022/utils/agent.utils.mjs +0 -212
- package/dist/esm2022/utils/chat-config.utils.mjs +0 -186
- package/dist/esm2022/utils/copilotkit.utils.mjs +0 -20
- package/dist/esm2022/utils/frontend-tool.utils.mjs +0 -224
- package/dist/esm2022/utils/human-in-the-loop.utils.mjs +0 -293
- package/dist/lib/directives/tooltip.directive.d.ts +0 -33
- package/dist/lib/slots/copilot-slot.component.d.ts +0 -34
- package/dist/types/frontend-tool.d.ts +0 -37
- package/dist/types/human-in-the-loop.d.ts +0 -44
- package/dist/utils/agent-context.utils.d.ts +0 -75
- package/dist/utils/agent.utils.d.ts +0 -108
- package/dist/utils/chat-config.utils.d.ts +0 -166
- package/dist/utils/copilotkit.utils.d.ts +0 -16
- package/dist/utils/frontend-tool.utils.d.ts +0 -119
- package/dist/utils/human-in-the-loop.utils.d.ts +0 -92
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, inject, signal, computed, runInInjectionContext, } from "@angular/core";
|
|
2
|
-
import { toObservable } from "@angular/core/rxjs-interop";
|
|
3
|
-
import { CopilotKitService } from "../core/copilotkit.service";
|
|
4
|
-
import { DEFAULT_AGENT_ID } from "@copilotkitnext/shared";
|
|
5
|
-
import { CopilotKitCoreRuntimeConnectionStatus } from "@copilotkitnext/core";
|
|
6
|
-
/**
|
|
7
|
-
* Watches an agent and provides reactive signals for its state.
|
|
8
|
-
* Must be called within an injection context.
|
|
9
|
-
* Automatically cleans up when the component/service is destroyed.
|
|
10
|
-
*
|
|
11
|
-
* @param config - Optional configuration with agentId
|
|
12
|
-
* @returns Object with agent, messages, and isRunning signals plus observables
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```typescript
|
|
16
|
-
* export class MyComponent {
|
|
17
|
-
* // Automatically tracks agent state
|
|
18
|
-
* agentState = watchAgent({ agentId: 'my-agent' });
|
|
19
|
-
*
|
|
20
|
-
* constructor() {
|
|
21
|
-
* effect(() => {
|
|
22
|
-
* const messages = this.agentState.messages();
|
|
23
|
-
* const isRunning = this.agentState.isRunning();
|
|
24
|
-
* console.log('Messages:', messages.length, 'Running:', isRunning);
|
|
25
|
-
* });
|
|
26
|
-
* }
|
|
27
|
-
* }
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export function watchAgent(config) {
|
|
31
|
-
// Use inject() internally to get required services
|
|
32
|
-
const service = inject(CopilotKitService);
|
|
33
|
-
const destroyRef = inject(DestroyRef);
|
|
34
|
-
const effectiveAgentId = config?.agentId ?? DEFAULT_AGENT_ID;
|
|
35
|
-
// Create reactive signals with tick mechanism for reliable updates
|
|
36
|
-
const agentSignal = signal(undefined);
|
|
37
|
-
const tick = signal(0);
|
|
38
|
-
const isRunningSignal = signal(false);
|
|
39
|
-
// Create computed messages signal that reacts to tick changes
|
|
40
|
-
const messages = computed(() => {
|
|
41
|
-
// Access tick to ensure recomputation
|
|
42
|
-
tick();
|
|
43
|
-
const a = agentSignal();
|
|
44
|
-
if (!a)
|
|
45
|
-
return [];
|
|
46
|
-
// Return a shallow clone to ensure change detection
|
|
47
|
-
return a.messages.map((m) => ({ ...m }));
|
|
48
|
-
});
|
|
49
|
-
// Get initial agent
|
|
50
|
-
const updateAgent = () => {
|
|
51
|
-
const agent = service.copilotkit.getAgent(effectiveAgentId);
|
|
52
|
-
agentSignal.set(agent);
|
|
53
|
-
return agent;
|
|
54
|
-
};
|
|
55
|
-
// Initial update
|
|
56
|
-
let currentAgent = updateAgent();
|
|
57
|
-
// Subscribe to agent changes
|
|
58
|
-
let agentSubscription;
|
|
59
|
-
const subscribeToAgent = () => {
|
|
60
|
-
// Unsubscribe from previous agent if any
|
|
61
|
-
agentSubscription?.unsubscribe();
|
|
62
|
-
if (currentAgent) {
|
|
63
|
-
agentSubscription = currentAgent.subscribe({
|
|
64
|
-
onMessagesChanged() {
|
|
65
|
-
// Increment tick to force recomputation of messages computed
|
|
66
|
-
tick.update((v) => v + 1);
|
|
67
|
-
},
|
|
68
|
-
onStateChanged() {
|
|
69
|
-
// Increment tick to force recomputation
|
|
70
|
-
tick.update((v) => v + 1);
|
|
71
|
-
},
|
|
72
|
-
onRunInitialized() {
|
|
73
|
-
isRunningSignal.set(true);
|
|
74
|
-
},
|
|
75
|
-
onRunFinalized() {
|
|
76
|
-
isRunningSignal.set(false);
|
|
77
|
-
},
|
|
78
|
-
onRunFailed() {
|
|
79
|
-
isRunningSignal.set(false);
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
// Initial subscription
|
|
85
|
-
subscribeToAgent();
|
|
86
|
-
// Subscribe to CopilotKit changes to detect agent updates
|
|
87
|
-
const coreUnsubscribe = service.copilotkit.subscribe({
|
|
88
|
-
onRuntimeConnectionStatusChanged({ status }) {
|
|
89
|
-
if (status === CopilotKitCoreRuntimeConnectionStatus.Connected ||
|
|
90
|
-
status === CopilotKitCoreRuntimeConnectionStatus.Disconnected ||
|
|
91
|
-
status === CopilotKitCoreRuntimeConnectionStatus.Error) {
|
|
92
|
-
// Re-check agent when runtime connection state changes
|
|
93
|
-
currentAgent = updateAgent();
|
|
94
|
-
subscribeToAgent();
|
|
95
|
-
}
|
|
96
|
-
},
|
|
97
|
-
});
|
|
98
|
-
// Register cleanup
|
|
99
|
-
const unsubscribe = () => {
|
|
100
|
-
agentSubscription?.unsubscribe();
|
|
101
|
-
coreUnsubscribe(); // subscribe returns a function directly
|
|
102
|
-
};
|
|
103
|
-
destroyRef.onDestroy(unsubscribe);
|
|
104
|
-
// Create observables from signals using toObservable
|
|
105
|
-
const agent$ = toObservable(agentSignal);
|
|
106
|
-
const isRunning$ = toObservable(isRunningSignal);
|
|
107
|
-
const messages$ = toObservable(messages);
|
|
108
|
-
return {
|
|
109
|
-
agent: agentSignal.asReadonly(),
|
|
110
|
-
messages: messages,
|
|
111
|
-
isRunning: isRunningSignal.asReadonly(),
|
|
112
|
-
agent$,
|
|
113
|
-
messages$,
|
|
114
|
-
isRunning$,
|
|
115
|
-
unsubscribe,
|
|
116
|
-
};
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Gets an agent by ID without subscribing to changes.
|
|
120
|
-
*
|
|
121
|
-
* @param service - The CopilotKitService instance
|
|
122
|
-
* @param agentId - Optional agent ID (defaults to DEFAULT_AGENT_ID)
|
|
123
|
-
* @returns The agent or undefined if not found
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```typescript
|
|
127
|
-
* export class MyComponent {
|
|
128
|
-
* constructor(private copilotkit: CopilotKitService) {}
|
|
129
|
-
*
|
|
130
|
-
* getCurrentAgent() {
|
|
131
|
-
* return getAgent(this.copilotkit, 'my-agent');
|
|
132
|
-
* }
|
|
133
|
-
* }
|
|
134
|
-
* ```
|
|
135
|
-
*/
|
|
136
|
-
export function getAgent(service, agentId) {
|
|
137
|
-
const effectiveAgentId = agentId ?? DEFAULT_AGENT_ID;
|
|
138
|
-
return service.copilotkit.getAgent(effectiveAgentId);
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Convenience wrapper for watchAgent that handles injection context.
|
|
142
|
-
* Useful when you need to call watchAgent outside of a constructor or field initializer.
|
|
143
|
-
*
|
|
144
|
-
* @param injector - The Angular Injector to use for injection context
|
|
145
|
-
* @param config - Optional configuration with agentId
|
|
146
|
-
* @returns Object with agent, messages, and isRunning signals plus observables
|
|
147
|
-
*
|
|
148
|
-
* @example
|
|
149
|
-
* ```typescript
|
|
150
|
-
* export class MyComponent {
|
|
151
|
-
* constructor(private injector: Injector) {}
|
|
152
|
-
*
|
|
153
|
-
* switchAgent(newAgentId: string) {
|
|
154
|
-
* // Can call outside of constructor using watchAgentWith
|
|
155
|
-
* const watcher = watchAgentWith(this.injector, { agentId: newAgentId });
|
|
156
|
-
* this.agent = watcher.agent;
|
|
157
|
-
* this.messages = watcher.messages;
|
|
158
|
-
* this.isRunning = watcher.isRunning;
|
|
159
|
-
* }
|
|
160
|
-
* }
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
163
|
-
export function watchAgentWith(injector, config) {
|
|
164
|
-
return runInInjectionContext(injector, () => watchAgent(config));
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Subscribes to an agent's events with custom callbacks.
|
|
168
|
-
* Returns a cleanup function that should be called to unsubscribe.
|
|
169
|
-
*
|
|
170
|
-
* @param service - The CopilotKitService instance
|
|
171
|
-
* @param agentId - Optional agent ID (defaults to DEFAULT_AGENT_ID)
|
|
172
|
-
* @param callbacks - Event callbacks
|
|
173
|
-
* @returns Cleanup function to unsubscribe
|
|
174
|
-
*
|
|
175
|
-
* @example
|
|
176
|
-
* ```typescript
|
|
177
|
-
* export class MyComponent implements OnInit, OnDestroy {
|
|
178
|
-
* private unsubscribe?: () => void;
|
|
179
|
-
*
|
|
180
|
-
* constructor(private copilotkit: CopilotKitService) {}
|
|
181
|
-
*
|
|
182
|
-
* ngOnInit() {
|
|
183
|
-
* this.unsubscribe = subscribeToAgent(this.copilotkit, 'my-agent', {
|
|
184
|
-
* onRunInitialized: () => console.log('Run started'),
|
|
185
|
-
* onRunFinalized: () => console.log('Run completed'),
|
|
186
|
-
* onRunFailed: (error) => console.error('Run failed', error),
|
|
187
|
-
* });
|
|
188
|
-
* }
|
|
189
|
-
*
|
|
190
|
-
* ngOnDestroy() {
|
|
191
|
-
* this.unsubscribe?.();
|
|
192
|
-
* }
|
|
193
|
-
* }
|
|
194
|
-
* ```
|
|
195
|
-
*/
|
|
196
|
-
export function subscribeToAgent(service, agentId, callbacks) {
|
|
197
|
-
const effectiveAgentId = agentId ?? DEFAULT_AGENT_ID;
|
|
198
|
-
const agent = service.copilotkit.getAgent(effectiveAgentId);
|
|
199
|
-
if (!agent) {
|
|
200
|
-
// Return no-op cleanup if agent doesn't exist
|
|
201
|
-
return () => { };
|
|
202
|
-
}
|
|
203
|
-
const subscription = agent.subscribe({
|
|
204
|
-
onMessagesChanged: callbacks?.onMessagesChanged,
|
|
205
|
-
onStateChanged: callbacks?.onStateChanged,
|
|
206
|
-
onRunInitialized: callbacks?.onRunInitialized,
|
|
207
|
-
onRunFinalized: callbacks?.onRunFinalized,
|
|
208
|
-
onRunFailed: callbacks?.onRunFailed,
|
|
209
|
-
});
|
|
210
|
-
return () => subscription.unsubscribe();
|
|
211
|
-
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvYWdlbnQudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEVBQ04sTUFBTSxFQUNOLFFBQVEsRUFFUixxQkFBcUIsR0FDdEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTS9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxxQ0FBcUMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBNkI7SUFDdEQsbURBQW1EO0lBQ25ELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sRUFBRSxPQUFPLElBQUksZ0JBQWdCLENBQUM7SUFFN0QsbUVBQW1FO0lBQ25FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBNEIsU0FBUyxDQUFDLENBQUM7SUFDakUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUUvQyw4REFBOEQ7SUFDOUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM3QixzQ0FBc0M7UUFDdEMsSUFBSSxFQUFFLENBQUM7UUFDUCxNQUFNLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN4QixJQUFJLENB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YztRQUN6QyxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVc7S0FDcEMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDMUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlc3Ryb3lSZWYsXG4gIGluamVjdCxcbiAgc2lnbmFsLFxuICBjb21wdXRlZCxcbiAgSW5qZWN0b3IsXG4gIHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgQ29waWxvdEtpdFNlcnZpY2UgfSBmcm9tIFwiLi4vY29yZS9jb3BpbG90a2l0LnNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIEFnZW50U3Vic2NyaXB0aW9uQ2FsbGJhY2tzLFxuICBBZ2VudFdhdGNoUmVzdWx0LFxufSBmcm9tIFwiLi4vY29yZS9jb3BpbG90a2l0LnR5cGVzXCI7XG5pbXBvcnQgeyBBYnN0cmFjdEFnZW50IH0gZnJvbSBcIkBhZy11aS9jbGllbnRcIjtcbmltcG9ydCB7IERFRkFVTFRfQUdFTlRfSUQgfSBmcm9tIFwiQGNvcGlsb3RraXRuZXh0L3NoYXJlZFwiO1xuaW1wb3J0IHsgQ29waWxvdEtpdENvcmVSdW50aW1lQ29ubmVjdGlvblN0YXR1cyB9IGZyb20gXCJAY29waWxvdGtpdG5leHQvY29yZVwiO1xuXG4vKipcbiAqIFdhdGNoZXMgYW4gYWdlbnQgYW5kIHByb3ZpZGVzIHJlYWN0aXZlIHNpZ25hbHMgZm9yIGl0cyBzdGF0ZS5cbiAqIE11c3QgYmUgY2FsbGVkIHdpdGhpbiBhbiBpbmplY3Rpb24gY29udGV4dC5cbiAqIEF1dG9tYXRpY2FsbHkgY2xlYW5zIHVwIHdoZW4gdGhlIGNvbXBvbmVudC9zZXJ2aWNlIGlzIGRlc3Ryb3llZC5cbiAqXG4gKiBAcGFyYW0gY29uZmlnIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiB3aXRoIGFnZW50SWRcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIGFnZW50LCBtZXNzYWdlcywgYW5kIGlzUnVubmluZyBzaWduYWxzIHBsdXMgb2JzZXJ2YWJsZXNcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgLy8gQXV0b21hdGljYWxseSB0cmFja3MgYWdlbnQgc3RhdGVcbiAqICAgYWdlbnRTdGF0ZSA9IHdhdGNoQWdlbnQoeyBhZ2VudElkOiAnbXktYWdlbnQnIH0pO1xuICpcbiAqICAgY29uc3RydWN0b3IoKSB7XG4gKiAgICAgZWZmZWN0KCgpID0+IHtcbiAqICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gdGhpcy5hZ2VudFN0YXRlLm1lc3NhZ2VzKCk7XG4gKiAgICAgICBjb25zdCBpc1J1bm5pbmcgPSB0aGlzLmFnZW50U3RhdGUuaXNSdW5uaW5nKCk7XG4gKiAgICAgICBjb25zb2xlLmxvZygnTWVzc2FnZXM6JywgbWVzc2FnZXMubGVuZ3RoLCAnUnVubmluZzonLCBpc1J1bm5pbmcpO1xuICogICAgIH0pO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQWdlbnQoY29uZmlnPzogeyBhZ2VudElkPzogc3RyaW5nIH0pOiBBZ2VudFdhdGNoUmVzdWx0IHtcbiAgLy8gVXNlIGluamVjdCgpIGludGVybmFsbHkgdG8gZ2V0IHJlcXVpcmVkIHNlcnZpY2VzXG4gIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29waWxvdEtpdFNlcnZpY2UpO1xuICBjb25zdCBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICBjb25zdCBlZmZlY3RpdmVBZ2VudElkID0gY29uZmlnPy5hZ2VudElkID8/IERFRkFVTFRfQUdFTlRfSUQ7XG5cbiAgLy8gQ3JlYXRlIHJlYWN0aXZlIHNpZ25hbHMgd2l0aCB0aWNrIG1lY2hhbmlzbSBmb3IgcmVsaWFibGUgdXBkYXRlc1xuICBjb25zdCBhZ2VudFNpZ25hbCA9IHNpZ25hbDxBYnN0cmFjdEFnZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBjb25zdCB0aWNrID0gc2lnbmFsPG51bWJlcj4oMCk7XG4gIGNvbnN0IGlzUnVubmluZ1NpZ25hbCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgLy8gQ3JlYXRlIGNvbXB1dGVkIG1lc3NhZ2VzIHNpZ25hbCB0aGF0IHJlYWN0cyB0byB0aWNrIGNoYW5nZXNcbiAgY29uc3QgbWVzc2FnZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgLy8gQWNjZXNzIHRpY2sgdG8gZW5zdXJlIHJlY29tcHV0YXRpb25cbiAgICB0aWNrKCk7XG4gICAgY29uc3QgYSA9IGFnZW50U2lnbmFsKCk7XG4gICAgaWYgKCFhKSByZXR1cm4gW107XG4gICAgLy8gUmV0dXJuIGEgc2hhbGxvdyBjbG9uZSB0byBlbnN1cmUgY2hhbmdlIGRldGVjdGlvblxuICAgIHJldHVybiBhLm1lc3NhZ2VzLm1hcCgobSkgPT4gKHsgLi4ubSB9KSk7XG4gIH0pO1xuXG4gIC8vIEdldCBpbml0aWFsIGFnZW50XG4gIGNvbnN0IHVwZGF0ZUFnZW50ID0gKCkgPT4ge1xuICAgIGNvbnN0IGFnZW50ID0gc2VydmljZS5jb3BpbG90a2l0LmdldEFnZW50KGVmZmVjdGl2ZUFnZW50SWQpO1xuICAgIGFnZW50U2lnbmFsLnNldChhZ2VudCk7XG4gICAgcmV0dXJuIGFnZW50O1xuICB9O1xuXG4gIC8vIEluaXRpYWwgdXBkYXRlXG4gIGxldCBjdXJyZW50QWdlbnQgPSB1cGRhdGVBZ2VudCgpO1xuXG4gIC8vIFN1YnNjcmliZSB0byBhZ2VudCBjaGFuZ2VzXG4gIGxldCBhZ2VudFN1YnNjcmlwdGlvbjogeyB1bnN1YnNjcmliZTogKCkgPT4gdm9pZCB9IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHN1YnNjcmliZVRvQWdlbnQgPSAoKSA9PiB7XG4gICAgLy8gVW5zdWJzY3JpYmUgZnJvbSBwcmV2aW91cyBhZ2VudCBpZiBhbnlcbiAgICBhZ2VudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcblxuICAgIGlmIChjdXJyZW50QWdlbnQpIHtcbiAgICAgIGFnZW50U3Vic2NyaXB0aW9uID0gY3VycmVudEFnZW50LnN1YnNjcmliZSh7XG4gICAgICAgIG9uTWVzc2FnZXNDaGFuZ2VkKCkge1xuICAgICAgICAgIC8vIEluY3JlbWVudCB0aWNrIHRvIGZvcmNlIHJlY29tcHV0YXRpb24gb2YgbWVzc2FnZXMgY29tcHV0ZWRcbiAgICAgICAgICB0aWNrLnVwZGF0ZSgodikgPT4gdiArIDEpO1xuICAgICAgICB9LFxuICAgICAgICBvblN0YXRlQ2hhbmdlZCgpIHtcbiAgICAgICAgICAvLyBJbmNyZW1lbnQgdGljayB0byBmb3JjZSByZWNvbXB1dGF0aW9uXG4gICAgICAgICAgdGljay51cGRhdGUoKHYpID0+IHYgKyAxKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25SdW5Jbml0aWFsaXplZCgpIHtcbiAgICAgICAgICBpc1J1bm5pbmdTaWduYWwuc2V0KHRydWUpO1xuICAgICAgICB9LFxuICAgICAgICBvblJ1bkZpbmFsaXplZCgpIHtcbiAgICAgICAgICBpc1J1bm5pbmdTaWduYWwuc2V0KGZhbHNlKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25SdW5GYWlsZWQoKSB7XG4gICAgICAgICAgaXNSdW5uaW5nU2lnbmFsLnNldChmYWxzZSk7XG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gSW5pdGlhbCBzdWJzY3JpcHRpb25cbiAgc3Vic2NyaWJlVG9BZ2VudCgpO1xuXG4gIC8vIFN1YnNjcmliZSB0byBDb3BpbG90S2l0IGNoYW5nZXMgdG8gZGV0ZWN0IGFnZW50IHVwZGF0ZXNcbiAgY29uc3QgY29yZVVuc3Vic2NyaWJlID0gc2VydmljZS5jb3BpbG90a2l0LnN1YnNjcmliZSh7XG4gICAgb25SdW50aW1lQ29ubmVjdGlvblN0YXR1c0NoYW5nZWQoeyBzdGF0dXMgfSkge1xuICAgICAgaWYgKFxuICAgICAgICBzdGF0dXMgPT09IENvcGlsb3RLaXRDb3JlUnVudGltZUNvbm5lY3Rpb25TdGF0dXMuQ29ubmVjdGVkIHx8XG4gICAgICAgIHN0YXR1cyA9PT0gQ29waWxvdEtpdENvcmVSdW50aW1lQ29ubmVjdGlvblN0YXR1cy5EaXNjb25uZWN0ZWQgfHxcbiAgICAgICAgc3RhdHVzID09PSBDb3BpbG90S2l0Q29yZVJ1bnRpbWVDb25uZWN0aW9uU3RhdHVzLkVycm9yXG4gICAgICApIHtcbiAgICAgICAgLy8gUmUtY2hlY2sgYWdlbnQgd2hlbiBydW50aW1lIGNvbm5lY3Rpb24gc3RhdGUgY2hhbmdlc1xuICAgICAgICBjdXJyZW50QWdlbnQgPSB1cGRhdGVBZ2VudCgpO1xuICAgICAgICBzdWJzY3JpYmVUb0FnZW50KCk7XG4gICAgICB9XG4gICAgfSxcbiAgfSk7XG5cbiAgLy8gUmVnaXN0ZXIgY2xlYW51cFxuICBjb25zdCB1bnN1YnNjcmliZSA9ICgpID0+IHtcbiAgICBhZ2VudFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICBjb3JlVW5zdWJzY3JpYmUoKTsgLy8gc3Vic2NyaWJlIHJldHVybnMgYSBmdW5jdGlvbiBkaXJlY3RseVxuICB9O1xuXG4gIGRlc3Ryb3lSZWYub25EZXN0cm95KHVuc3Vic2NyaWJlKTtcblxuICAvLyBDcmVhdGUgb2JzZXJ2YWJsZXMgZnJvbSBzaWduYWxzIHVzaW5nIHRvT2JzZXJ2YWJsZVxuICBjb25zdCBhZ2VudCQgPSB0b09ic2VydmFibGUoYWdlbnRTaWduYWwpO1xuICBjb25zdCBpc1J1bm5pbmckID0gdG9PYnNlcnZhYmxlKGlzUnVubmluZ1NpZ25hbCk7XG4gIGNvbnN0IG1lc3NhZ2VzJCA9IHRvT2JzZXJ2YWJsZShtZXNzYWdlcyk7XG5cbiAgcmV0dXJuIHtcbiAgICBhZ2VudDogYWdlbnRTaWduYWwuYXNSZWFkb25seSgpLFxuICAgIG1lc3NhZ2VzOiBtZXNzYWdlcyxcbiAgICBpc1J1bm5pbmc6IGlzUnVubmluZ1NpZ25hbC5hc1JlYWRvbmx5KCksXG4gICAgYWdlbnQkLFxuICAgIG1lc3NhZ2VzJCxcbiAgICBpc1J1bm5pbmckLFxuICAgIHVuc3Vic2NyaWJlLFxuICB9O1xufVxuXG4vKipcbiAqIEdldHMgYW4gYWdlbnQgYnkgSUQgd2l0aG91dCBzdWJzY3JpYmluZyB0byBjaGFuZ2VzLlxuICpcbiAqIEBwYXJhbSBzZXJ2aWNlIC0gVGhlIENvcGlsb3RLaXRTZXJ2aWNlIGluc3RhbmNlXG4gKiBAcGFyYW0gYWdlbnRJZCAtIE9wdGlvbmFsIGFnZW50IElEIChkZWZhdWx0cyB0byBERUZBVUxUX0FHRU5UX0lEKVxuICogQHJldHVybnMgVGhlIGFnZW50IG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHtcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBjb3BpbG90a2l0OiBDb3BpbG90S2l0U2VydmljZSkge31cbiAqXG4gKiAgIGdldEN1cnJlbnRBZ2VudCgpIHtcbiAqICAgICByZXR1cm4gZ2V0QWdlbnQodGhpcy5jb3BpbG90a2l0LCAnbXktYWdlbnQnKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZ2VudChcbiAgc2VydmljZTogQ29waWxvdEtpdFNlcnZpY2UsXG4gIGFnZW50SWQ/OiBzdHJpbmdcbik6IEFic3RyYWN0QWdlbnQgfCB1bmRlZmluZWQge1xuICBjb25zdCBlZmZlY3RpdmVBZ2VudElkID0gYWdlbnRJZCA/PyBERUZBVUxUX0FHRU5UX0lEO1xuICByZXR1cm4gc2VydmljZS5jb3BpbG90a2l0LmdldEFnZW50KGVmZmVjdGl2ZUFnZW50SWQpO1xufVxuXG4vLyBSZS1leHBvcnQgdGhlIHR5cGUgZm9yIGNvbnZlbmllbmNlICh0aGUgYWN0dWFsIHR5cGUgaXMgaW4gY29waWxvdGtpdC50eXBlcylcbmV4cG9ydCB0eXBlIHsgQWdlbnRXYXRjaFJlc3VsdCB9IGZyb20gXCIuLi9jb3JlL2NvcGlsb3RraXQudHlwZXNcIjtcblxuLyoqXG4gKiBDb252ZW5pZW5jZSB3cmFwcGVyIGZvciB3YXRjaEFnZW50IHRoYXQgaGFuZGxlcyBpbmplY3Rpb24gY29udGV4dC5cbiAqIFVzZWZ1bCB3aGVuIHlvdSBuZWVkIHRvIGNhbGwgd2F0Y2hBZ2VudCBvdXRzaWRlIG9mIGEgY29uc3RydWN0b3Igb3IgZmllbGQgaW5pdGlhbGl6ZXIuXG4gKlxuICogQHBhcmFtIGluamVjdG9yIC0gVGhlIEFuZ3VsYXIgSW5qZWN0b3IgdG8gdXNlIGZvciBpbmplY3Rpb24gY29udGV4dFxuICogQHBhcmFtIGNvbmZpZyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gd2l0aCBhZ2VudElkXG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCBhZ2VudCwgbWVzc2FnZXMsIGFuZCBpc1J1bm5pbmcgc2lnbmFscyBwbHVzIG9ic2VydmFibGVzXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuICpcbiAqICAgc3dpdGNoQWdlbnQobmV3QWdlbnRJZDogc3RyaW5nKSB7XG4gKiAgICAgLy8gQ2FuIGNhbGwgb3V0c2lkZSBvZiBjb25zdHJ1Y3RvciB1c2luZyB3YXRjaEFnZW50V2l0aFxuICogICAgIGNvbnN0IHdhdGNoZXIgPSB3YXRjaEFnZW50V2l0aCh0aGlzLmluamVjdG9yLCB7IGFnZW50SWQ6IG5ld0FnZW50SWQgfSk7XG4gKiAgICAgdGhpcy5hZ2VudCA9IHdhdGNoZXIuYWdlbnQ7XG4gKiAgICAgdGhpcy5tZXNzYWdlcyA9IHdhdGNoZXIubWVzc2FnZXM7XG4gKiAgICAgdGhpcy5pc1J1bm5pbmcgPSB3YXRjaGVyLmlzUnVubmluZztcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YXRjaEFnZW50V2l0aChcbiAgaW5qZWN0b3I6IEluamVjdG9yLFxuICBjb25maWc/OiB7IGFnZW50SWQ/OiBzdHJpbmcgfVxuKTogQWdlbnRXYXRjaFJlc3VsdCB7XG4gIHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHdhdGNoQWdlbnQoY29uZmlnKSk7XG59XG5cbi8qKlxuICogU3Vic2NyaWJlcyB0byBhbiBhZ2VudCdzIGV2ZW50cyB3aXRoIGN1c3RvbSBjYWxsYmFja3MuXG4gKiBSZXR1cm5zIGEgY2xlYW51cCBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQgdG8gdW5zdWJzY3JpYmUuXG4gKlxuICogQHBhcmFtIHNlcnZpY2UgLSBUaGUgQ29waWxvdEtpdFNlcnZpY2UgaW5zdGFuY2VcbiAqIEBwYXJhbSBhZ2VudElkIC0gT3B0aW9uYWwgYWdlbnQgSUQgKGRlZmF1bHRzIHRvIERFRkFVTFRfQUdFTlRfSUQpXG4gKiBAcGFyYW0gY2FsbGJhY2tzIC0gRXZlbnQgY2FsbGJhY2tzXG4gKiBAcmV0dXJucyBDbGVhbnVwIGZ1bmN0aW9uIHRvIHVuc3Vic2NyaWJlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAqICAgcHJpdmF0ZSB1bnN1YnNjcmliZT86ICgpID0+IHZvaWQ7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvcGlsb3RraXQ6IENvcGlsb3RLaXRTZXJ2aWNlKSB7fVxuICpcbiAqICAgbmdPbkluaXQoKSB7XG4gKiAgICAgdGhpcy51bnN1YnNjcmliZSA9IHN1YnNjcmliZVRvQWdlbnQodGhpcy5jb3BpbG90a2l0LCAnbXktYWdlbnQnLCB7XG4gKiAgICAgICBvblJ1bkluaXRpYWxpemVkOiAoKSA9PiBjb25zb2xlLmxvZygnUnVuIHN0YXJ0ZWQnKSxcbiAqICAgICAgIG9uUnVuRmluYWxpemVkOiAoKSA9PiBjb25zb2xlLmxvZygnUnVuIGNvbXBsZXRlZCcpLFxuICogICAgICAgb25SdW5GYWlsZWQ6IChlcnJvcikgPT4gY29uc29sZS5lcnJvcignUnVuIGZhaWxlZCcsIGVycm9yKSxcbiAqICAgICB9KTtcbiAqICAgfVxuICpcbiAqICAgbmdPbkRlc3Ryb3koKSB7XG4gKiAgICAgdGhpcy51bnN1YnNjcmliZT8uKCk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlVG9BZ2VudChcbiAgc2VydmljZTogQ29waWxvdEtpdFNlcnZpY2UsXG4gIGFnZW50SWQ/OiBzdHJpbmcsXG4gIGNhbGxiYWNrcz86IEFnZW50U3Vic2NyaXB0aW9uQ2FsbGJhY2tzXG4pOiAoKSA9PiB2b2lkIHtcbiAgY29uc3QgZWZmZWN0aXZlQWdlbnRJZCA9IGFnZW50SWQgPz8gREVGQVVMVF9BR0VOVF9JRDtcbiAgY29uc3QgYWdlbnQgPSBzZXJ2aWNlLmNvcGlsb3RraXQuZ2V0QWdlbnQoZWZmZWN0aXZlQWdlbnRJZCk7XG5cbiAgaWYgKCFhZ2VudCkge1xuICAgIC8vIFJldHVybiBuby1vcCBjbGVhbnVwIGlmIGFnZW50IGRvZXNuJ3QgZXhpc3RcbiAgICByZXR1cm4gKCkgPT4ge307XG4gIH1cblxuICBjb25zdCBzdWJzY3JpcHRpb24gPSBhZ2VudC5zdWJzY3JpYmUoe1xuICAgIG9uTWVzc2FnZXNDaGFuZ2VkOiBjYWxsYmFja3M/Lm9uTWVzc2FnZXNDaGFuZ2VkLFxuICAgIG9uU3RhdGVDaGFuZ2VkOiBjYWxsYmFja3M/Lm9uU3RhdGVDaGFuZ2VkLFxuICAgIG9uUnVuSW5pdGlhbGl6ZWQ6IGNhbGxiYWNrcz8ub25SdW5Jbml0aWFsaXplZCxcbiAgICBvblJ1bkZpbmFsaXplZDogY2FsbGJhY2tzPy5vblJ1bkZpbmFsaXplZCxcbiAgICBvblJ1bkZhaWxlZDogY2FsbGJhY2tzPy5vblJ1bkZhaWxlZCxcbiAgfSk7XG5cbiAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xufVxuIl19
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import { CopilotChatConfigurationService } from '../core/chat-configuration/chat-configuration.service';
|
|
3
|
-
/**
|
|
4
|
-
* Watches chat configuration and provides reactive access to all configuration values.
|
|
5
|
-
* Must be called within an injection context.
|
|
6
|
-
*
|
|
7
|
-
* @returns Object with reactive signals and handler functions
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* export class ChatInputComponent {
|
|
12
|
-
* config = watchChatConfig();
|
|
13
|
-
*
|
|
14
|
-
* constructor() {
|
|
15
|
-
* effect(() => {
|
|
16
|
-
* const placeholder = this.config.labels().chatInputPlaceholder;
|
|
17
|
-
* console.log('Placeholder:', placeholder);
|
|
18
|
-
* });
|
|
19
|
-
* }
|
|
20
|
-
*
|
|
21
|
-
* handleSubmit(value: string) {
|
|
22
|
-
* this.config.submitInput(value);
|
|
23
|
-
* }
|
|
24
|
-
* }
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
export function watchChatConfig() {
|
|
28
|
-
const service = inject(CopilotChatConfigurationService);
|
|
29
|
-
return {
|
|
30
|
-
labels: service.labels,
|
|
31
|
-
inputValue: service.inputValue,
|
|
32
|
-
submitInput: (value) => service.submitInput(value),
|
|
33
|
-
changeInput: (value) => service.changeInput(value)
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Registers chat configuration within an injection context.
|
|
38
|
-
* Automatically updates the configuration when called.
|
|
39
|
-
*
|
|
40
|
-
* @param config - The configuration to register
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* ```typescript
|
|
44
|
-
* export class ChatComponent {
|
|
45
|
-
* constructor() {
|
|
46
|
-
* registerChatConfig({
|
|
47
|
-
* labels: {
|
|
48
|
-
* chatInputPlaceholder: "How can I help?"
|
|
49
|
-
* },
|
|
50
|
-
* onSubmitInput: (value) => this.handleSubmit(value)
|
|
51
|
-
* });
|
|
52
|
-
* }
|
|
53
|
-
* }
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
export function registerChatConfig(config) {
|
|
57
|
-
const service = inject(CopilotChatConfigurationService);
|
|
58
|
-
service.updateConfiguration(config);
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Gets the current chat labels signal.
|
|
62
|
-
*
|
|
63
|
-
* @param service - The CopilotChatConfigurationService instance
|
|
64
|
-
* @returns Signal containing the current labels
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```typescript
|
|
68
|
-
* export class ChatComponent {
|
|
69
|
-
* constructor(private chatConfig: CopilotChatConfigurationService) {
|
|
70
|
-
* const labels = getChatLabels(this.chatConfig);
|
|
71
|
-
* effect(() => {
|
|
72
|
-
* console.log('Current labels:', labels());
|
|
73
|
-
* });
|
|
74
|
-
* }
|
|
75
|
-
* }
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
export function getChatLabels(service) {
|
|
79
|
-
return service.labels;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Updates chat labels.
|
|
83
|
-
*
|
|
84
|
-
* @param service - The CopilotChatConfigurationService instance
|
|
85
|
-
* @param labels - Partial labels to merge with defaults
|
|
86
|
-
*
|
|
87
|
-
* @example
|
|
88
|
-
* ```typescript
|
|
89
|
-
* export class ChatComponent {
|
|
90
|
-
* updatePlaceholder(text: string) {
|
|
91
|
-
* setChatLabels(this.chatConfig, {
|
|
92
|
-
* chatInputPlaceholder: text
|
|
93
|
-
* });
|
|
94
|
-
* }
|
|
95
|
-
* }
|
|
96
|
-
* ```
|
|
97
|
-
*/
|
|
98
|
-
export function setChatLabels(service, labels) {
|
|
99
|
-
service.setLabels(labels);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Gets the current input value signal.
|
|
103
|
-
*
|
|
104
|
-
* @param service - The CopilotChatConfigurationService instance
|
|
105
|
-
* @returns Signal containing the current input value
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* ```typescript
|
|
109
|
-
* export class ChatInputComponent {
|
|
110
|
-
* inputValue = getChatInputValue(this.chatConfig);
|
|
111
|
-
*
|
|
112
|
-
* constructor(private chatConfig: CopilotChatConfigurationService) {
|
|
113
|
-
* effect(() => {
|
|
114
|
-
* const value = this.inputValue();
|
|
115
|
-
* if (value) {
|
|
116
|
-
* this.updateTextarea(value);
|
|
117
|
-
* }
|
|
118
|
-
* });
|
|
119
|
-
* }
|
|
120
|
-
* }
|
|
121
|
-
* ```
|
|
122
|
-
*/
|
|
123
|
-
export function getChatInputValue(service) {
|
|
124
|
-
return service.inputValue;
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Sets the current input value.
|
|
128
|
-
*
|
|
129
|
-
* @param service - The CopilotChatConfigurationService instance
|
|
130
|
-
* @param value - The new input value
|
|
131
|
-
*
|
|
132
|
-
* @example
|
|
133
|
-
* ```typescript
|
|
134
|
-
* export class ChatInputComponent {
|
|
135
|
-
* onInputChange(event: Event) {
|
|
136
|
-
* const value = (event.target as HTMLInputElement).value;
|
|
137
|
-
* setChatInputValue(this.chatConfig, value);
|
|
138
|
-
* }
|
|
139
|
-
* }
|
|
140
|
-
* ```
|
|
141
|
-
*/
|
|
142
|
-
export function setChatInputValue(service, value) {
|
|
143
|
-
service.setInputValue(value);
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Creates a chat configuration controller with dynamic update capabilities.
|
|
147
|
-
* This is useful when you need to programmatically manage configuration.
|
|
148
|
-
*
|
|
149
|
-
* @param service - The CopilotChatConfigurationService instance
|
|
150
|
-
* @param initialConfig - Optional initial configuration
|
|
151
|
-
* @returns Controller object with update and reset methods
|
|
152
|
-
*
|
|
153
|
-
* @example
|
|
154
|
-
* ```typescript
|
|
155
|
-
* export class ChatManagerComponent {
|
|
156
|
-
* chatController = createChatConfigController(this.chatConfig, {
|
|
157
|
-
* labels: { chatInputPlaceholder: "Ask me..." }
|
|
158
|
-
* });
|
|
159
|
-
*
|
|
160
|
-
* constructor(private chatConfig: CopilotChatConfigurationService) {}
|
|
161
|
-
*
|
|
162
|
-
* updateForSupportMode() {
|
|
163
|
-
* this.chatController.update({
|
|
164
|
-
* labels: { chatInputPlaceholder: "Describe your issue..." }
|
|
165
|
-
* });
|
|
166
|
-
* }
|
|
167
|
-
*
|
|
168
|
-
* resetToDefaults() {
|
|
169
|
-
* this.chatController.reset();
|
|
170
|
-
* }
|
|
171
|
-
* }
|
|
172
|
-
* ```
|
|
173
|
-
*/
|
|
174
|
-
export function createChatConfigController(service, initialConfig) {
|
|
175
|
-
// Apply initial configuration if provided
|
|
176
|
-
if (initialConfig) {
|
|
177
|
-
service.updateConfiguration(initialConfig);
|
|
178
|
-
}
|
|
179
|
-
return {
|
|
180
|
-
update: (config) => service.updateConfiguration(config),
|
|
181
|
-
reset: () => service.reset(),
|
|
182
|
-
getLabels: () => service.labels(),
|
|
183
|
-
getInputValue: () => service.inputValue()
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jb25maWcudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvY2hhdC1jb25maWcudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQU14Rzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFNLFVBQVUsZUFBZTtJQU03QixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUV4RCxPQUFPO1FBQ0wsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1FBQ3RCLFVBQVUsRUFBRSxPQUFPLENBQUMsVUFBVTtRQUM5QixXQUFXLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1FBQzFELFdBQVcsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7S0FDM0QsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxNQUFnQztJQUNqRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUN4RCxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLE9BQXdDO0lBRXhDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQztBQUN4QixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUMzQixPQUF3QyxFQUN4QyxNQUFrQztJQUVsQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixPQUF3QztJQUV4QyxPQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FDL0IsT0FBd0MsRUFDeEMsS0FBeUI7SUFFekIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Qkc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQ3hDLE9BQXdDLEVBQ3hDLGFBQXdDO0lBT3hDLDBDQUEwQztJQUMxQyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sRUFBRSxDQUFDLE1BQWdDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7UUFDakYsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7UUFDNUIsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDakMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUU7S0FDMUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvY2hhdC1jb25maWd1cmF0aW9uL2NoYXQtY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFxuICBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb24sXG4gIENvcGlsb3RDaGF0TGFiZWxzXG59IGZyb20gJy4uL2NvcmUvY2hhdC1jb25maWd1cmF0aW9uL2NoYXQtY29uZmlndXJhdGlvbi50eXBlcyc7XG5cbi8qKlxuICogV2F0Y2hlcyBjaGF0IGNvbmZpZ3VyYXRpb24gYW5kIHByb3ZpZGVzIHJlYWN0aXZlIGFjY2VzcyB0byBhbGwgY29uZmlndXJhdGlvbiB2YWx1ZXMuXG4gKiBNdXN0IGJlIGNhbGxlZCB3aXRoaW4gYW4gaW5qZWN0aW9uIGNvbnRleHQuXG4gKiBcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHJlYWN0aXZlIHNpZ25hbHMgYW5kIGhhbmRsZXIgZnVuY3Rpb25zXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY2xhc3MgQ2hhdElucHV0Q29tcG9uZW50IHtcbiAqICAgY29uZmlnID0gd2F0Y2hDaGF0Q29uZmlnKCk7XG4gKiAgIFxuICogICBjb25zdHJ1Y3RvcigpIHtcbiAqICAgICBlZmZlY3QoKCkgPT4ge1xuICogICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLmNvbmZpZy5sYWJlbHMoKS5jaGF0SW5wdXRQbGFjZWhvbGRlcjtcbiAqICAgICAgIGNvbnNvbGUubG9nKCdQbGFjZWhvbGRlcjonLCBwbGFjZWhvbGRlcik7XG4gKiAgICAgfSk7XG4gKiAgIH1cbiAqICAgXG4gKiAgIGhhbmRsZVN1Ym1pdCh2YWx1ZTogc3RyaW5nKSB7XG4gKiAgICAgdGhpcy5jb25maWcuc3VibWl0SW5wdXQodmFsdWUpO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhdGNoQ2hhdENvbmZpZygpOiB7XG4gIGxhYmVsczogU2lnbmFsPENvcGlsb3RDaGF0TGFiZWxzPjtcbiAgaW5wdXRWYWx1ZTogU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIHN1Ym1pdElucHV0OiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgY2hhbmdlSW5wdXQ6ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkO1xufSB7XG4gIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSk7XG4gIFxuICByZXR1cm4ge1xuICAgIGxhYmVsczogc2VydmljZS5sYWJlbHMsXG4gICAgaW5wdXRWYWx1ZTogc2VydmljZS5pbnB1dFZhbHVlLFxuICAgIHN1Ym1pdElucHV0OiAodmFsdWU6IHN0cmluZykgPT4gc2VydmljZS5zdWJtaXRJbnB1dCh2YWx1ZSksXG4gICAgY2hhbmdlSW5wdXQ6ICh2YWx1ZTogc3RyaW5nKSA9PiBzZXJ2aWNlLmNoYW5nZUlucHV0KHZhbHVlKVxuICB9O1xufVxuXG4vKipcbiAqIFJlZ2lzdGVycyBjaGF0IGNvbmZpZ3VyYXRpb24gd2l0aGluIGFuIGluamVjdGlvbiBjb250ZXh0LlxuICogQXV0b21hdGljYWxseSB1cGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIHdoZW4gY2FsbGVkLlxuICogXG4gKiBAcGFyYW0gY29uZmlnIC0gVGhlIGNvbmZpZ3VyYXRpb24gdG8gcmVnaXN0ZXJcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBDaGF0Q29tcG9uZW50IHtcbiAqICAgY29uc3RydWN0b3IoKSB7XG4gKiAgICAgcmVnaXN0ZXJDaGF0Q29uZmlnKHtcbiAqICAgICAgIGxhYmVsczoge1xuICogICAgICAgICBjaGF0SW5wdXRQbGFjZWhvbGRlcjogXCJIb3cgY2FuIEkgaGVscD9cIlxuICogICAgICAgfSxcbiAqICAgICAgIG9uU3VibWl0SW5wdXQ6ICh2YWx1ZSkgPT4gdGhpcy5oYW5kbGVTdWJtaXQodmFsdWUpXG4gKiAgICAgfSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJDaGF0Q29uZmlnKGNvbmZpZzogQ29waWxvdENoYXRDb25maWd1cmF0aW9uKTogdm9pZCB7XG4gIGNvbnN0IHNlcnZpY2UgPSBpbmplY3QoQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSk7XG4gIHNlcnZpY2UudXBkYXRlQ29uZmlndXJhdGlvbihjb25maWcpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGN1cnJlbnQgY2hhdCBsYWJlbHMgc2lnbmFsLlxuICogXG4gKiBAcGFyYW0gc2VydmljZSAtIFRoZSBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb25TZXJ2aWNlIGluc3RhbmNlXG4gKiBAcmV0dXJucyBTaWduYWwgY29udGFpbmluZyB0aGUgY3VycmVudCBsYWJlbHNcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBDaGF0Q29tcG9uZW50IHtcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGF0Q29uZmlnOiBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gKiAgICAgY29uc3QgbGFiZWxzID0gZ2V0Q2hhdExhYmVscyh0aGlzLmNoYXRDb25maWcpO1xuICogICAgIGVmZmVjdCgoKSA9PiB7XG4gKiAgICAgICBjb25zb2xlLmxvZygnQ3VycmVudCBsYWJlbHM6JywgbGFiZWxzKCkpO1xuICogICAgIH0pO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENoYXRMYWJlbHMoXG4gIHNlcnZpY2U6IENvcGlsb3RDaGF0Q29uZmlndXJhdGlvblNlcnZpY2Vcbik6IFNpZ25hbDxDb3BpbG90Q2hhdExhYmVscz4ge1xuICByZXR1cm4gc2VydmljZS5sYWJlbHM7XG59XG5cbi8qKlxuICogVXBkYXRlcyBjaGF0IGxhYmVscy5cbiAqIFxuICogQHBhcmFtIHNlcnZpY2UgLSBUaGUgQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSBpbnN0YW5jZVxuICogQHBhcmFtIGxhYmVscyAtIFBhcnRpYWwgbGFiZWxzIHRvIG1lcmdlIHdpdGggZGVmYXVsdHNcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBDaGF0Q29tcG9uZW50IHtcbiAqICAgdXBkYXRlUGxhY2Vob2xkZXIodGV4dDogc3RyaW5nKSB7XG4gKiAgICAgc2V0Q2hhdExhYmVscyh0aGlzLmNoYXRDb25maWcsIHtcbiAqICAgICAgIGNoYXRJbnB1dFBsYWNlaG9sZGVyOiB0ZXh0XG4gKiAgICAgfSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0Q2hhdExhYmVscyhcbiAgc2VydmljZTogQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSxcbiAgbGFiZWxzOiBQYXJ0aWFsPENvcGlsb3RDaGF0TGFiZWxzPlxuKTogdm9pZCB7XG4gIHNlcnZpY2Uuc2V0TGFiZWxzKGxhYmVscyk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgY3VycmVudCBpbnB1dCB2YWx1ZSBzaWduYWwuXG4gKiBcbiAqIEBwYXJhbSBzZXJ2aWNlIC0gVGhlIENvcGlsb3RDaGF0Q29uZmlndXJhdGlvblNlcnZpY2UgaW5zdGFuY2VcbiAqIEByZXR1cm5zIFNpZ25hbCBjb250YWluaW5nIHRoZSBjdXJyZW50IGlucHV0IHZhbHVlXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY2xhc3MgQ2hhdElucHV0Q29tcG9uZW50IHtcbiAqICAgaW5wdXRWYWx1ZSA9IGdldENoYXRJbnB1dFZhbHVlKHRoaXMuY2hhdENvbmZpZyk7XG4gKiAgIFxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYXRDb25maWc6IENvcGlsb3RDaGF0Q29uZmlndXJhdGlvblNlcnZpY2UpIHtcbiAqICAgICBlZmZlY3QoKCkgPT4ge1xuICogICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0VmFsdWUoKTtcbiAqICAgICAgIGlmICh2YWx1ZSkge1xuICogICAgICAgICB0aGlzLnVwZGF0ZVRleHRhcmVhKHZhbHVlKTtcbiAqICAgICAgIH1cbiAqICAgICB9KTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGF0SW5wdXRWYWx1ZShcbiAgc2VydmljZTogQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZVxuKTogU2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICByZXR1cm4gc2VydmljZS5pbnB1dFZhbHVlO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIGN1cnJlbnQgaW5wdXQgdmFsdWUuXG4gKiBcbiAqIEBwYXJhbSBzZXJ2aWNlIC0gVGhlIENvcGlsb3RDaGF0Q29uZmlndXJhdGlvblNlcnZpY2UgaW5zdGFuY2VcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBuZXcgaW5wdXQgdmFsdWVcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBDaGF0SW5wdXRDb21wb25lbnQge1xuICogICBvbklucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCkge1xuICogICAgIGNvbnN0IHZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAqICAgICBzZXRDaGF0SW5wdXRWYWx1ZSh0aGlzLmNoYXRDb25maWcsIHZhbHVlKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRDaGF0SW5wdXRWYWx1ZShcbiAgc2VydmljZTogQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSxcbiAgdmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZFxuKTogdm9pZCB7XG4gIHNlcnZpY2Uuc2V0SW5wdXRWYWx1ZSh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIGNoYXQgY29uZmlndXJhdGlvbiBjb250cm9sbGVyIHdpdGggZHluYW1pYyB1cGRhdGUgY2FwYWJpbGl0aWVzLlxuICogVGhpcyBpcyB1c2VmdWwgd2hlbiB5b3UgbmVlZCB0byBwcm9ncmFtbWF0aWNhbGx5IG1hbmFnZSBjb25maWd1cmF0aW9uLlxuICogXG4gKiBAcGFyYW0gc2VydmljZSAtIFRoZSBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb25TZXJ2aWNlIGluc3RhbmNlXG4gKiBAcGFyYW0gaW5pdGlhbENvbmZpZyAtIE9wdGlvbmFsIGluaXRpYWwgY29uZmlndXJhdGlvblxuICogQHJldHVybnMgQ29udHJvbGxlciBvYmplY3Qgd2l0aCB1cGRhdGUgYW5kIHJlc2V0IG1ldGhvZHNcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBDaGF0TWFuYWdlckNvbXBvbmVudCB7XG4gKiAgIGNoYXRDb250cm9sbGVyID0gY3JlYXRlQ2hhdENvbmZpZ0NvbnRyb2xsZXIodGhpcy5jaGF0Q29uZmlnLCB7XG4gKiAgICAgbGFiZWxzOiB7IGNoYXRJbnB1dFBsYWNlaG9sZGVyOiBcIkFzayBtZS4uLlwiIH1cbiAqICAgfSk7XG4gKiAgIFxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYXRDb25maWc6IENvcGlsb3RDaGF0Q29uZmlndXJhdGlvblNlcnZpY2UpIHt9XG4gKiAgIFxuICogICB1cGRhdGVGb3JTdXBwb3J0TW9kZSgpIHtcbiAqICAgICB0aGlzLmNoYXRDb250cm9sbGVyLnVwZGF0ZSh7XG4gKiAgICAgICBsYWJlbHM6IHsgY2hhdElucHV0UGxhY2Vob2xkZXI6IFwiRGVzY3JpYmUgeW91ciBpc3N1ZS4uLlwiIH1cbiAqICAgICB9KTtcbiAqICAgfVxuICogICBcbiAqICAgcmVzZXRUb0RlZmF1bHRzKCkge1xuICogICAgIHRoaXMuY2hhdENvbnRyb2xsZXIucmVzZXQoKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDaGF0Q29uZmlnQ29udHJvbGxlcihcbiAgc2VydmljZTogQ29waWxvdENoYXRDb25maWd1cmF0aW9uU2VydmljZSxcbiAgaW5pdGlhbENvbmZpZz86IENvcGlsb3RDaGF0Q29uZmlndXJhdGlvblxuKToge1xuICB1cGRhdGU6IChjb25maWc6IENvcGlsb3RDaGF0Q29uZmlndXJhdGlvbikgPT4gdm9pZDtcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gIGdldExhYmVsczogKCkgPT4gQ29waWxvdENoYXRMYWJlbHM7XG4gIGdldElucHV0VmFsdWU6ICgpID0+IHN0cmluZyB8IHVuZGVmaW5lZDtcbn0ge1xuICAvLyBBcHBseSBpbml0aWFsIGNvbmZpZ3VyYXRpb24gaWYgcHJvdmlkZWRcbiAgaWYgKGluaXRpYWxDb25maWcpIHtcbiAgICBzZXJ2aWNlLnVwZGF0ZUNvbmZpZ3VyYXRpb24oaW5pdGlhbENvbmZpZyk7XG4gIH1cbiAgXG4gIHJldHVybiB7XG4gICAgdXBkYXRlOiAoY29uZmlnOiBDb3BpbG90Q2hhdENvbmZpZ3VyYXRpb24pID0+IHNlcnZpY2UudXBkYXRlQ29uZmlndXJhdGlvbihjb25maWcpLFxuICAgIHJlc2V0OiAoKSA9PiBzZXJ2aWNlLnJlc2V0KCksXG4gICAgZ2V0TGFiZWxzOiAoKSA9PiBzZXJ2aWNlLmxhYmVscygpLFxuICAgIGdldElucHV0VmFsdWU6ICgpID0+IHNlcnZpY2UuaW5wdXRWYWx1ZSgpXG4gIH07XG59Il19
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { inject } from "@angular/core";
|
|
2
|
-
import { CopilotKitService } from "../core/copilotkit.service";
|
|
3
|
-
/**
|
|
4
|
-
* Utility function to inject the CopilotKit service in a component or directive.
|
|
5
|
-
*
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* export class MyComponent {
|
|
9
|
-
* private copilotkit = injectCopilotKit();
|
|
10
|
-
*
|
|
11
|
-
* sendMessage() {
|
|
12
|
-
* this.copilotkit.copilotkit.sendMessage(...);
|
|
13
|
-
* }
|
|
14
|
-
* }
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export function injectCopilotKit() {
|
|
18
|
-
return inject(CopilotKitService);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29waWxvdGtpdC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9jb3BpbG90a2l0LnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFL0Q7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsT0FBTyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvcGlsb3RLaXRTZXJ2aWNlIH0gZnJvbSBcIi4uL2NvcmUvY29waWxvdGtpdC5zZXJ2aWNlXCI7XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbiB0byBpbmplY3QgdGhlIENvcGlsb3RLaXQgc2VydmljZSBpbiBhIGNvbXBvbmVudCBvciBkaXJlY3RpdmUuXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY2xhc3MgTXlDb21wb25lbnQge1xuICogICBwcml2YXRlIGNvcGlsb3RraXQgPSBpbmplY3RDb3BpbG90S2l0KCk7XG4gKiAgIFxuICogICBzZW5kTWVzc2FnZSgpIHtcbiAqICAgICB0aGlzLmNvcGlsb3RraXQuY29waWxvdGtpdC5zZW5kTWVzc2FnZSguLi4pO1xuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdENvcGlsb3RLaXQoKSB7XG4gIHJldHVybiBpbmplY3QoQ29waWxvdEtpdFNlcnZpY2UpO1xufSJdfQ==
|