@copilotkitnext/angular 1.54.1 → 1.54.2
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/.attw.json +3 -9
- package/README.md +6 -6
- package/dist/README.md +6 -6
- package/dist/fesm2022/copilotkitnext-angular.mjs +64 -68
- package/dist/fesm2022/copilotkitnext-angular.mjs.map +1 -1
- package/dist/lib/agent.d.ts +49 -1
- package/dist/lib/components/chat/copilot-chat-assistant-message.d.ts +98 -2
- package/dist/lib/components/chat/copilot-chat-input-defaults.d.ts +1 -1
- package/dist/lib/components/chat/copilot-chat-message-view.d.ts +343 -7
- package/dist/lib/components/chat/copilot-chat-tool-calls-view.d.ts +49 -1
- package/dist/lib/components/chat/copilot-chat-user-message-branch-navigation.d.ts +49 -1
- package/dist/lib/components/chat/copilot-chat-user-message.d.ts +49 -1
- package/dist/lib/components/chat/copilot-chat-view-scroll-view.d.ts +49 -1
- package/dist/lib/components/chat/copilot-chat-view.d.ts +147 -3
- package/dist/lib/components/chat/copilot-chat.d.ts +49 -1
- package/dist/lib/copilotkit.d.ts +1 -1
- package/dist/lib/render-tool-calls.d.ts +49 -1
- package/dist/lib/tools.d.ts +2 -2
- package/package.json +21 -26
- package/scripts/scope-preflight.mjs +1 -2
- package/tsconfig.json +3 -3
- package/vitest.config.mts +25 -25
- package/eslint.config.mjs +0 -20
package/.attw.json
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
{
|
|
2
|
-
"ignoreRules": [
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
"untyped-resolution"
|
|
6
|
-
],
|
|
7
|
-
"excludeEntrypoints": [
|
|
8
|
-
"./styles.css"
|
|
9
|
-
]
|
|
10
|
-
}
|
|
2
|
+
"ignoreRules": ["cjs-resolves-to-esm", "no-resolution", "untyped-resolution"],
|
|
3
|
+
"excludeEntrypoints": ["./styles.css"]
|
|
4
|
+
}
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Angular bindings for CopilotKit core and AG-UI agents. This package provides ser
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# npm
|
|
9
|
-
npm install @
|
|
9
|
+
npm install @copilotkit/{core,angular}
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
- `@angular/core` and `@angular/common` (19+)
|
|
@@ -21,7 +21,7 @@ Configure runtime and tools in your app config:
|
|
|
21
21
|
|
|
22
22
|
```ts
|
|
23
23
|
import { ApplicationConfig } from "@angular/core";
|
|
24
|
-
import { provideCopilotKit } from "@
|
|
24
|
+
import { provideCopilotKit } from "@copilotkit/angular";
|
|
25
25
|
|
|
26
26
|
export const appConfig: ApplicationConfig = {
|
|
27
27
|
providers: [
|
|
@@ -40,8 +40,8 @@ export const appConfig: ApplicationConfig = {
|
|
|
40
40
|
```ts
|
|
41
41
|
import { Component, inject, signal } from "@angular/core";
|
|
42
42
|
import { Message } from "@ag-ui/client";
|
|
43
|
-
import { CopilotKit, injectAgentStore } from "@
|
|
44
|
-
import { randomUUID } from "@
|
|
43
|
+
import { CopilotKit, injectAgentStore } from "@copilotkit/angular";
|
|
44
|
+
import { randomUUID } from "@copilotkit/shared";
|
|
45
45
|
|
|
46
46
|
@Component({
|
|
47
47
|
template: `
|
|
@@ -178,7 +178,7 @@ Advanced factory for creating `AgentStore` signals. Most apps should use `inject
|
|
|
178
178
|
Connect AG-UI context to the runtime (auto-cleanup when the effect is destroyed):
|
|
179
179
|
|
|
180
180
|
```ts
|
|
181
|
-
import { connectAgentContext } from "@
|
|
181
|
+
import { connectAgentContext } from "@copilotkit/angular";
|
|
182
182
|
|
|
183
183
|
connectAgentContext({
|
|
184
184
|
description: "User preferences",
|
|
@@ -250,7 +250,7 @@ import {
|
|
|
250
250
|
registerFrontendTool,
|
|
251
251
|
registerRenderToolCall,
|
|
252
252
|
registerHumanInTheLoop,
|
|
253
|
-
} from "@
|
|
253
|
+
} from "@copilotkit/angular";
|
|
254
254
|
import { z } from "zod";
|
|
255
255
|
|
|
256
256
|
registerFrontendTool({
|
package/dist/README.md
CHANGED
|
@@ -6,7 +6,7 @@ Angular bindings for CopilotKit core and AG-UI agents. This package provides ser
|
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
# npm
|
|
9
|
-
npm install @
|
|
9
|
+
npm install @copilotkit/{core,angular}
|
|
10
10
|
```
|
|
11
11
|
|
|
12
12
|
- `@angular/core` and `@angular/common` (19+)
|
|
@@ -21,7 +21,7 @@ Configure runtime and tools in your app config:
|
|
|
21
21
|
|
|
22
22
|
```ts
|
|
23
23
|
import { ApplicationConfig } from "@angular/core";
|
|
24
|
-
import { provideCopilotKit } from "@
|
|
24
|
+
import { provideCopilotKit } from "@copilotkit/angular";
|
|
25
25
|
|
|
26
26
|
export const appConfig: ApplicationConfig = {
|
|
27
27
|
providers: [
|
|
@@ -40,8 +40,8 @@ export const appConfig: ApplicationConfig = {
|
|
|
40
40
|
```ts
|
|
41
41
|
import { Component, inject, signal } from "@angular/core";
|
|
42
42
|
import { Message } from "@ag-ui/client";
|
|
43
|
-
import { CopilotKit, injectAgentStore } from "@
|
|
44
|
-
import { randomUUID } from "@
|
|
43
|
+
import { CopilotKit, injectAgentStore } from "@copilotkit/angular";
|
|
44
|
+
import { randomUUID } from "@copilotkit/shared";
|
|
45
45
|
|
|
46
46
|
@Component({
|
|
47
47
|
template: `
|
|
@@ -178,7 +178,7 @@ Advanced factory for creating `AgentStore` signals. Most apps should use `inject
|
|
|
178
178
|
Connect AG-UI context to the runtime (auto-cleanup when the effect is destroyed):
|
|
179
179
|
|
|
180
180
|
```ts
|
|
181
|
-
import { connectAgentContext } from "@
|
|
181
|
+
import { connectAgentContext } from "@copilotkit/angular";
|
|
182
182
|
|
|
183
183
|
connectAgentContext({
|
|
184
184
|
description: "User preferences",
|
|
@@ -250,7 +250,7 @@ import {
|
|
|
250
250
|
registerFrontendTool,
|
|
251
251
|
registerRenderToolCall,
|
|
252
252
|
registerHumanInTheLoop,
|
|
253
|
-
} from "@
|
|
253
|
+
} from "@copilotkit/angular";
|
|
254
254
|
import { z } from "zod";
|
|
255
255
|
|
|
256
256
|
registerFrontendTool({
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, Injectable, Injector, signal, runInInjectionContext, DestroyRef, input, Component, computed, ElementRef, effect, TemplateRef, ViewContainerRef, ViewChild, Inject, ChangeDetectionStrategy, Input, Directive, output, HostListener, ViewEncapsulation, ContentChild, Optional, ChangeDetectorRef, PLATFORM_ID, forwardRef } from '@angular/core';
|
|
3
|
-
import { CopilotKitCoreRuntimeConnectionStatus, CopilotKitCore, ProxiedCopilotRuntimeAgent, completePartialMarkdown } from '@
|
|
3
|
+
import { CopilotKitCoreRuntimeConnectionStatus, CopilotKitCore, ProxiedCopilotRuntimeAgent, completePartialMarkdown } from '@copilotkit/core';
|
|
4
4
|
import { Subject, lastValueFrom, filter, take, BehaviorSubject, merge, fromEvent, animationFrameScheduler } from 'rxjs';
|
|
5
5
|
import * as i1$1 from '@angular/common';
|
|
6
6
|
import { NgComponentOutlet, CommonModule, isPlatformBrowser } from '@angular/common';
|
|
7
|
-
import { partialJSONParse, DEFAULT_AGENT_ID, randomUUID } from '@
|
|
7
|
+
import { partialJSONParse, DEFAULT_AGENT_ID, randomUUID } from '@copilotkit/shared';
|
|
8
8
|
import { startWith, throttleTime, map, distinctUntilChanged, takeUntil, debounceTime, filter as filter$1 } from 'rxjs/operators';
|
|
9
9
|
import * as i1 from '@angular/cdk/scrolling';
|
|
10
10
|
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
@@ -149,7 +149,7 @@ class CopilotKit {
|
|
|
149
149
|
runtimeConnectionStatus = this.#runtimeConnectionStatus.asReadonly();
|
|
150
150
|
#runtimeUrl = signal(undefined);
|
|
151
151
|
runtimeUrl = this.#runtimeUrl.asReadonly();
|
|
152
|
-
#runtimeTransport = signal("
|
|
152
|
+
#runtimeTransport = signal("auto");
|
|
153
153
|
runtimeTransport = this.#runtimeTransport.asReadonly();
|
|
154
154
|
#headers = signal({});
|
|
155
155
|
headers = this.#headers.asReadonly();
|
|
@@ -2133,7 +2133,9 @@ class CopilotChatAssistantMessageToolbarButton {
|
|
|
2133
2133
|
"shrink-0", this.inputClass());
|
|
2134
2134
|
});
|
|
2135
2135
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatAssistantMessageToolbarButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2136
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatAssistantMessageToolbarButton, isStandalone: true, selector: "button[copilotChatAssistantMessageToolbarButton]", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, properties: { "class": "computedClass()", "attr.disabled": "disabled() ? true : null", "attr.aria-label": "title()" } }, hostDirectives: [{ directive: CopilotTooltip, inputs: ["copilotTooltip", "title", "tooltipPosition", "tooltipPosition", "tooltipDelay", "tooltipDelay"] }], ngImport: i0, template: `
|
|
2136
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatAssistantMessageToolbarButton, isStandalone: true, selector: "button[copilotChatAssistantMessageToolbarButton]", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, properties: { "class": "computedClass()", "attr.disabled": "disabled() ? true : null", "attr.aria-label": "title()" } }, hostDirectives: [{ directive: CopilotTooltip, inputs: ["copilotTooltip", "title", "tooltipPosition", "tooltipPosition", "tooltipDelay", "tooltipDelay"] }], ngImport: i0, template: `
|
|
2137
|
+
<ng-content></ng-content>
|
|
2138
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2137
2139
|
}
|
|
2138
2140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatAssistantMessageToolbarButton, decorators: [{
|
|
2139
2141
|
type: Component,
|
|
@@ -2143,7 +2145,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2143
2145
|
imports: [CommonModule],
|
|
2144
2146
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2145
2147
|
encapsulation: ViewEncapsulation.None,
|
|
2146
|
-
template: `
|
|
2148
|
+
template: `
|
|
2149
|
+
<ng-content></ng-content>
|
|
2150
|
+
`,
|
|
2147
2151
|
host: {
|
|
2148
2152
|
"[class]": "computedClass()",
|
|
2149
2153
|
"[attr.disabled]": "disabled() ? true : null",
|
|
@@ -2660,9 +2664,7 @@ class CopilotChatAssistantMessage {
|
|
|
2660
2664
|
handlers.hasAssistantThumbsDownHandler()
|
|
2661
2665
|
) {
|
|
2662
2666
|
<copilot-slot
|
|
2663
|
-
[slot]="
|
|
2664
|
-
thumbsDownButtonTemplate || thumbsDownButtonComponent()
|
|
2665
|
-
"
|
|
2667
|
+
[slot]="thumbsDownButtonTemplate || thumbsDownButtonComponent()"
|
|
2666
2668
|
[context]="{}"
|
|
2667
2669
|
[defaultComponent]="defaultThumbsDownButtonComponent"
|
|
2668
2670
|
[outputs]="thumbsDownButtonOutputs"
|
|
@@ -2683,9 +2685,7 @@ class CopilotChatAssistantMessage {
|
|
|
2683
2685
|
<!-- Regenerate button - only show if custom slot provided -->
|
|
2684
2686
|
@if (regenerateButtonComponent() || regenerateButtonTemplate) {
|
|
2685
2687
|
<copilot-slot
|
|
2686
|
-
[slot]="
|
|
2687
|
-
regenerateButtonTemplate || regenerateButtonComponent()
|
|
2688
|
-
"
|
|
2688
|
+
[slot]="regenerateButtonTemplate || regenerateButtonComponent()"
|
|
2689
2689
|
[context]="{}"
|
|
2690
2690
|
[outputs]="regenerateButtonOutputs"
|
|
2691
2691
|
>
|
|
@@ -2801,9 +2801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2801
2801
|
handlers.hasAssistantThumbsDownHandler()
|
|
2802
2802
|
) {
|
|
2803
2803
|
<copilot-slot
|
|
2804
|
-
[slot]="
|
|
2805
|
-
thumbsDownButtonTemplate || thumbsDownButtonComponent()
|
|
2806
|
-
"
|
|
2804
|
+
[slot]="thumbsDownButtonTemplate || thumbsDownButtonComponent()"
|
|
2807
2805
|
[context]="{}"
|
|
2808
2806
|
[defaultComponent]="defaultThumbsDownButtonComponent"
|
|
2809
2807
|
[outputs]="thumbsDownButtonOutputs"
|
|
@@ -2824,9 +2822,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2824
2822
|
<!-- Regenerate button - only show if custom slot provided -->
|
|
2825
2823
|
@if (regenerateButtonComponent() || regenerateButtonTemplate) {
|
|
2826
2824
|
<copilot-slot
|
|
2827
|
-
[slot]="
|
|
2828
|
-
regenerateButtonTemplate || regenerateButtonComponent()
|
|
2829
|
-
"
|
|
2825
|
+
[slot]="regenerateButtonTemplate || regenerateButtonComponent()"
|
|
2830
2826
|
[context]="{}"
|
|
2831
2827
|
[outputs]="regenerateButtonOutputs"
|
|
2832
2828
|
>
|
|
@@ -2883,7 +2879,9 @@ class CopilotChatUserMessageRenderer {
|
|
|
2883
2879
|
return cn("prose dark:prose-invert bg-muted relative max-w-[80%] rounded-[18px] px-4 py-1.5 data-[multiline]:py-3 inline-block whitespace-pre-wrap", this.inputClass());
|
|
2884
2880
|
});
|
|
2885
2881
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatUserMessageRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2886
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatUserMessageRenderer, isStandalone: true, selector: "copilot-chat-user-message-renderer", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "computedClass()" } }, ngImport: i0, template: `
|
|
2882
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatUserMessageRenderer, isStandalone: true, selector: "copilot-chat-user-message-renderer", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "computedClass()" } }, ngImport: i0, template: `
|
|
2883
|
+
{{ content() }}
|
|
2884
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2887
2885
|
}
|
|
2888
2886
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatUserMessageRenderer, decorators: [{
|
|
2889
2887
|
type: Component,
|
|
@@ -2896,7 +2894,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2896
2894
|
host: {
|
|
2897
2895
|
"[class]": "computedClass()",
|
|
2898
2896
|
},
|
|
2899
|
-
template: `
|
|
2897
|
+
template: `
|
|
2898
|
+
{{ content() }}
|
|
2899
|
+
`,
|
|
2900
2900
|
}]
|
|
2901
2901
|
}] });
|
|
2902
2902
|
|
|
@@ -2927,7 +2927,9 @@ class CopilotChatUserMessageToolbarButton {
|
|
|
2927
2927
|
"disabled:opacity-50 disabled:cursor-not-allowed", this.inputClass());
|
|
2928
2928
|
});
|
|
2929
2929
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatUserMessageToolbarButton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2930
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatUserMessageToolbarButton, isStandalone: true, selector: "button[copilotChatUserMessageToolbarButton]", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, properties: { "class": "computedClass()", "attr.disabled": "disabled() ? true : null", "attr.aria-label": "title()" } }, hostDirectives: [{ directive: CopilotTooltip, inputs: ["copilotTooltip", "title", "tooltipPosition", "tooltipPosition", "tooltipDelay", "tooltipDelay"] }], ngImport: i0, template: `
|
|
2930
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatUserMessageToolbarButton, isStandalone: true, selector: "button[copilotChatUserMessageToolbarButton]", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button" }, properties: { "class": "computedClass()", "attr.disabled": "disabled() ? true : null", "attr.aria-label": "title()" } }, hostDirectives: [{ directive: CopilotTooltip, inputs: ["copilotTooltip", "title", "tooltipPosition", "tooltipPosition", "tooltipDelay", "tooltipDelay"] }], ngImport: i0, template: `
|
|
2931
|
+
<ng-content></ng-content>
|
|
2932
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
2931
2933
|
}
|
|
2932
2934
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatUserMessageToolbarButton, decorators: [{
|
|
2933
2935
|
type: Component,
|
|
@@ -2937,7 +2939,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
2937
2939
|
imports: [CommonModule],
|
|
2938
2940
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2939
2941
|
encapsulation: ViewEncapsulation.None,
|
|
2940
|
-
template: `
|
|
2942
|
+
template: `
|
|
2943
|
+
<ng-content></ng-content>
|
|
2944
|
+
`,
|
|
2941
2945
|
host: {
|
|
2942
2946
|
"[class]": "computedClass()",
|
|
2943
2947
|
"[attr.disabled]": "disabled() ? true : null",
|
|
@@ -3077,7 +3081,9 @@ class CopilotChatUserMessageToolbar {
|
|
|
3077
3081
|
inputClass = input();
|
|
3078
3082
|
computedClass = computed(() => cn("w-full bg-transparent flex items-center justify-end mt-[4px] invisible group-hover:visible", this.inputClass()));
|
|
3079
3083
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatUserMessageToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3080
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatUserMessageToolbar, isStandalone: true, selector: "div[copilotChatUserMessageToolbar]", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "computedClass()" } }, ngImport: i0, template: `
|
|
3084
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatUserMessageToolbar, isStandalone: true, selector: "div[copilotChatUserMessageToolbar]", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "computedClass()" } }, ngImport: i0, template: `
|
|
3085
|
+
<ng-content></ng-content>
|
|
3086
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3081
3087
|
}
|
|
3082
3088
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatUserMessageToolbar, decorators: [{
|
|
3083
3089
|
type: Component,
|
|
@@ -3087,7 +3093,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3087
3093
|
imports: [CommonModule],
|
|
3088
3094
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3089
3095
|
encapsulation: ViewEncapsulation.None,
|
|
3090
|
-
template: `
|
|
3096
|
+
template: `
|
|
3097
|
+
<ng-content></ng-content>
|
|
3098
|
+
`,
|
|
3091
3099
|
host: {
|
|
3092
3100
|
"[class]": "computedClass()",
|
|
3093
3101
|
},
|
|
@@ -3373,9 +3381,7 @@ class CopilotChatUserMessage {
|
|
|
3373
3381
|
@if (showBranchNavigation()) {
|
|
3374
3382
|
@if (branchNavigationTemplate || branchNavigationComponent()) {
|
|
3375
3383
|
<copilot-slot
|
|
3376
|
-
[slot]="
|
|
3377
|
-
branchNavigationTemplate || branchNavigationComponent()
|
|
3378
|
-
"
|
|
3384
|
+
[slot]="branchNavigationTemplate || branchNavigationComponent()"
|
|
3379
3385
|
[context]="branchNavigationContext()"
|
|
3380
3386
|
[defaultComponent]="CopilotChatUserMessageBranchNavigation"
|
|
3381
3387
|
>
|
|
@@ -3484,9 +3490,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3484
3490
|
@if (showBranchNavigation()) {
|
|
3485
3491
|
@if (branchNavigationTemplate || branchNavigationComponent()) {
|
|
3486
3492
|
<copilot-slot
|
|
3487
|
-
[slot]="
|
|
3488
|
-
branchNavigationTemplate || branchNavigationComponent()
|
|
3489
|
-
"
|
|
3493
|
+
[slot]="branchNavigationTemplate || branchNavigationComponent()"
|
|
3490
3494
|
[context]="branchNavigationContext()"
|
|
3491
3495
|
[defaultComponent]="CopilotChatUserMessageBranchNavigation"
|
|
3492
3496
|
>
|
|
@@ -3533,7 +3537,9 @@ class CopilotChatMessageViewCursor {
|
|
|
3533
3537
|
// Computed class that matches React exactly: w-[11px] h-[11px] rounded-full bg-foreground animate-pulse-cursor ml-1
|
|
3534
3538
|
computedClass = computed(() => cn("w-[11px] h-[11px] rounded-full bg-foreground animate-pulse-cursor ml-1", this.inputClass()));
|
|
3535
3539
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatMessageViewCursor, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3536
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatMessageViewCursor, isStandalone: true, selector: "copilot-chat-message-view-cursor", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
3540
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatMessageViewCursor, isStandalone: true, selector: "copilot-chat-message-view-cursor", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
3541
|
+
<div [class]="computedClass()"></div>
|
|
3542
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
3537
3543
|
}
|
|
3538
3544
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatMessageViewCursor, decorators: [{
|
|
3539
3545
|
type: Component,
|
|
@@ -3543,7 +3549,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3543
3549
|
imports: [CommonModule],
|
|
3544
3550
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3545
3551
|
encapsulation: ViewEncapsulation.None,
|
|
3546
|
-
template: `
|
|
3552
|
+
template: `
|
|
3553
|
+
<div [class]="computedClass()"></div>
|
|
3554
|
+
`,
|
|
3547
3555
|
}]
|
|
3548
3556
|
}] });
|
|
3549
3557
|
|
|
@@ -3646,17 +3654,12 @@ class CopilotChatMessageView {
|
|
|
3646
3654
|
<!-- Default layout - exact React DOM structure: div with "flex flex-col" classes -->
|
|
3647
3655
|
<div [class]="computedClass()">
|
|
3648
3656
|
<!-- Message iteration - simplified without tool calls -->
|
|
3649
|
-
@for (
|
|
3650
|
-
message of messagesValue();
|
|
3651
|
-
track trackByMessageId($index, message)
|
|
3652
|
-
) {
|
|
3657
|
+
@for (message of messagesValue(); track trackByMessageId($index, message)) {
|
|
3653
3658
|
@if (message && message.role === "assistant") {
|
|
3654
3659
|
<!-- Assistant message with slot support -->
|
|
3655
3660
|
@if (assistantMessageComponent() || assistantMessageTemplate()) {
|
|
3656
3661
|
<copilot-slot
|
|
3657
|
-
[slot]="
|
|
3658
|
-
assistantMessageTemplate() || assistantMessageComponent()
|
|
3659
|
-
"
|
|
3662
|
+
[slot]="assistantMessageTemplate() || assistantMessageComponent()"
|
|
3660
3663
|
[context]="mergeAssistantProps(message)"
|
|
3661
3664
|
[defaultComponent]="defaultAssistantComponent"
|
|
3662
3665
|
>
|
|
@@ -3737,17 +3740,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
3737
3740
|
<!-- Default layout - exact React DOM structure: div with "flex flex-col" classes -->
|
|
3738
3741
|
<div [class]="computedClass()">
|
|
3739
3742
|
<!-- Message iteration - simplified without tool calls -->
|
|
3740
|
-
@for (
|
|
3741
|
-
message of messagesValue();
|
|
3742
|
-
track trackByMessageId($index, message)
|
|
3743
|
-
) {
|
|
3743
|
+
@for (message of messagesValue(); track trackByMessageId($index, message)) {
|
|
3744
3744
|
@if (message && message.role === "assistant") {
|
|
3745
3745
|
<!-- Assistant message with slot support -->
|
|
3746
3746
|
@if (assistantMessageComponent() || assistantMessageTemplate()) {
|
|
3747
3747
|
<copilot-slot
|
|
3748
|
-
[slot]="
|
|
3749
|
-
assistantMessageTemplate() || assistantMessageComponent()
|
|
3750
|
-
"
|
|
3748
|
+
[slot]="assistantMessageTemplate() || assistantMessageComponent()"
|
|
3751
3749
|
[context]="mergeAssistantProps(message)"
|
|
3752
3750
|
[defaultComponent]="defaultAssistantComponent"
|
|
3753
3751
|
>
|
|
@@ -4356,7 +4354,9 @@ class CopilotChatViewFeather {
|
|
|
4356
4354
|
this.inputClass());
|
|
4357
4355
|
}
|
|
4358
4356
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatViewFeather, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4359
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatViewFeather, isStandalone: true, selector: "copilot-chat-view-feather", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
4357
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatViewFeather, isStandalone: true, selector: "copilot-chat-view-feather", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
4358
|
+
<div [class]="computedClass" [style]="style()"></div>
|
|
4359
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
4360
4360
|
}
|
|
4361
4361
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatViewFeather, decorators: [{
|
|
4362
4362
|
type: Component,
|
|
@@ -4366,7 +4366,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
4366
4366
|
imports: [CommonModule],
|
|
4367
4367
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4368
4368
|
encapsulation: ViewEncapsulation.None,
|
|
4369
|
-
template: `
|
|
4369
|
+
template: `
|
|
4370
|
+
<div [class]="computedClass" [style]="style()"></div>
|
|
4371
|
+
`,
|
|
4370
4372
|
}]
|
|
4371
4373
|
}] });
|
|
4372
4374
|
|
|
@@ -5005,13 +5007,17 @@ class CopilotChatToolbar {
|
|
|
5005
5007
|
return cn(baseClasses, this.inputClass());
|
|
5006
5008
|
});
|
|
5007
5009
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatToolbar, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5008
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatToolbar, isStandalone: true, selector: "div[copilotChatToolbar]", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "computedClass()" } }, ngImport: i0, template:
|
|
5010
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.18", type: CopilotChatToolbar, isStandalone: true, selector: "div[copilotChatToolbar]", inputs: { inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "computedClass()" } }, ngImport: i0, template: `
|
|
5011
|
+
<ng-content></ng-content>
|
|
5012
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
5009
5013
|
}
|
|
5010
5014
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopilotChatToolbar, decorators: [{
|
|
5011
5015
|
type: Component,
|
|
5012
5016
|
args: [{ selector: "div[copilotChatToolbar]", standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
5013
5017
|
"[class]": "computedClass()",
|
|
5014
|
-
}, template:
|
|
5018
|
+
}, template: `
|
|
5019
|
+
<ng-content></ng-content>
|
|
5020
|
+
` }]
|
|
5015
5021
|
}] });
|
|
5016
5022
|
|
|
5017
5023
|
class CopilotChatToolsMenu {
|
|
@@ -5091,9 +5097,7 @@ class CopilotChatToolsMenu {
|
|
|
5091
5097
|
>
|
|
5092
5098
|
@for (subItem of item.items; track $index) {
|
|
5093
5099
|
@if (subItem === "-") {
|
|
5094
|
-
<div
|
|
5095
|
-
class="h-px bg-gray-200 dark:bg-gray-700 my-1"
|
|
5096
|
-
></div>
|
|
5100
|
+
<div class="h-px bg-gray-200 dark:bg-gray-700 my-1"></div>
|
|
5097
5101
|
} @else if (isMenuItem(subItem)) {
|
|
5098
5102
|
<button
|
|
5099
5103
|
type="button"
|
|
@@ -5172,9 +5176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5172
5176
|
>
|
|
5173
5177
|
@for (subItem of item.items; track $index) {
|
|
5174
5178
|
@if (subItem === "-") {
|
|
5175
|
-
<div
|
|
5176
|
-
class="h-px bg-gray-200 dark:bg-gray-700 my-1"
|
|
5177
|
-
></div>
|
|
5179
|
+
<div class="h-px bg-gray-200 dark:bg-gray-700 my-1"></div>
|
|
5178
5180
|
} @else if (isMenuItem(subItem)) {
|
|
5179
5181
|
<button
|
|
5180
5182
|
type="button"
|
|
@@ -5506,8 +5508,7 @@ class CopilotChatInput {
|
|
|
5506
5508
|
<div class="flex items-center">
|
|
5507
5509
|
@if (computedMode() === "transcribe") {
|
|
5508
5510
|
@if (
|
|
5509
|
-
cancelTranscribeButtonTemplate ||
|
|
5510
|
-
cancelTranscribeButtonComponent()
|
|
5511
|
+
cancelTranscribeButtonTemplate || cancelTranscribeButtonComponent()
|
|
5511
5512
|
) {
|
|
5512
5513
|
<copilot-slot
|
|
5513
5514
|
[slot]="
|
|
@@ -5526,8 +5527,7 @@ class CopilotChatInput {
|
|
|
5526
5527
|
</copilot-chat-cancel-transcribe-button>
|
|
5527
5528
|
}
|
|
5528
5529
|
@if (
|
|
5529
|
-
finishTranscribeButtonTemplate ||
|
|
5530
|
-
finishTranscribeButtonComponent()
|
|
5530
|
+
finishTranscribeButtonTemplate || finishTranscribeButtonComponent()
|
|
5531
5531
|
) {
|
|
5532
5532
|
<copilot-slot
|
|
5533
5533
|
[slot]="
|
|
@@ -5547,8 +5547,7 @@ class CopilotChatInput {
|
|
|
5547
5547
|
}
|
|
5548
5548
|
} @else {
|
|
5549
5549
|
@if (
|
|
5550
|
-
startTranscribeButtonTemplate ||
|
|
5551
|
-
startTranscribeButtonComponent()
|
|
5550
|
+
startTranscribeButtonTemplate || startTranscribeButtonComponent()
|
|
5552
5551
|
) {
|
|
5553
5552
|
<copilot-slot
|
|
5554
5553
|
[slot]="
|
|
@@ -5700,8 +5699,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5700
5699
|
<div class="flex items-center">
|
|
5701
5700
|
@if (computedMode() === "transcribe") {
|
|
5702
5701
|
@if (
|
|
5703
|
-
cancelTranscribeButtonTemplate ||
|
|
5704
|
-
cancelTranscribeButtonComponent()
|
|
5702
|
+
cancelTranscribeButtonTemplate || cancelTranscribeButtonComponent()
|
|
5705
5703
|
) {
|
|
5706
5704
|
<copilot-slot
|
|
5707
5705
|
[slot]="
|
|
@@ -5720,8 +5718,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5720
5718
|
</copilot-chat-cancel-transcribe-button>
|
|
5721
5719
|
}
|
|
5722
5720
|
@if (
|
|
5723
|
-
finishTranscribeButtonTemplate ||
|
|
5724
|
-
finishTranscribeButtonComponent()
|
|
5721
|
+
finishTranscribeButtonTemplate || finishTranscribeButtonComponent()
|
|
5725
5722
|
) {
|
|
5726
5723
|
<copilot-slot
|
|
5727
5724
|
[slot]="
|
|
@@ -5741,8 +5738,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
5741
5738
|
}
|
|
5742
5739
|
} @else {
|
|
5743
5740
|
@if (
|
|
5744
|
-
startTranscribeButtonTemplate ||
|
|
5745
|
-
startTranscribeButtonComponent()
|
|
5741
|
+
startTranscribeButtonTemplate || startTranscribeButtonComponent()
|
|
5746
5742
|
) {
|
|
5747
5743
|
<copilot-slot
|
|
5748
5744
|
[slot]="
|
|
@@ -6507,7 +6503,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
6507
6503
|
*
|
|
6508
6504
|
* @example
|
|
6509
6505
|
* ```typescript
|
|
6510
|
-
* import { CopilotChatInputDefaults } from '@
|
|
6506
|
+
* import { CopilotChatInputDefaults } from '@copilotkit/angular';
|
|
6511
6507
|
*
|
|
6512
6508
|
* @Component({
|
|
6513
6509
|
standalone: true,
|