@xxmachina/components 19.12.3 → 19.12.4

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.
@@ -120,7 +120,7 @@ class ThreadPage extends NgAtomicComponent {
120
120
  (action)="dispatch($event)"
121
121
  />
122
122
  </frames-router-outlet>
123
- `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-sl2L: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-sl2L: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-sl2L: var(--primary-color);--on-primary-color-SCOPED-IN-thread-sl2L: var(--on-primary-color);--surface-color-SCOPED-IN-thread-sl2L: var(--surface-color);--on-surface-color-SCOPED-IN-thread-sl2L: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-sl2L: var(--on-background-color);--background-color-SCOPED-IN-thread-sl2L: var(--background-color);--navigator-background-color-SCOPED-IN-thread-sl2L: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-sl2L: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-sl2L: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-sl2L: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-sl2L)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: ThreadTemplate, selector: "templates-messages" }] });
123
+ `, isInline: true, styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-SW6d: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-SW6d: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-SW6d: var(--primary-color);--on-primary-color-SCOPED-IN-thread-SW6d: var(--on-primary-color);--surface-color-SCOPED-IN-thread-SW6d: var(--surface-color);--on-surface-color-SCOPED-IN-thread-SW6d: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-SW6d: var(--on-background-color);--background-color-SCOPED-IN-thread-SW6d: var(--background-color);--navigator-background-color-SCOPED-IN-thread-SW6d: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-SW6d: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-SW6d: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-SW6d: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-SW6d)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"], dependencies: [{ kind: "component", type: RouterOutletFrame, selector: "frames-router-outlet", outputs: ["events"] }, { kind: "component", type: ThreadTemplate, selector: "templates-messages" }] });
124
124
  }
125
125
  __decorate([
126
126
  Effect(ActionId.SEND_MESSAGE),
@@ -153,7 +153,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImpor
153
153
  'messages',
154
154
  ]
155
155
  },
156
- ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-sl2L: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-sl2L: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-sl2L: var(--primary-color);--on-primary-color-SCOPED-IN-thread-sl2L: var(--on-primary-color);--surface-color-SCOPED-IN-thread-sl2L: var(--surface-color);--on-surface-color-SCOPED-IN-thread-sl2L: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-sl2L: var(--on-background-color);--background-color-SCOPED-IN-thread-sl2L: var(--background-color);--navigator-background-color-SCOPED-IN-thread-sl2L: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-sl2L: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-sl2L: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-sl2L: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-sl2L)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"] }]
156
+ ], styles: [":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-SW6d: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-SW6d: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-SW6d: var(--primary-color);--on-primary-color-SCOPED-IN-thread-SW6d: var(--on-primary-color);--surface-color-SCOPED-IN-thread-SW6d: var(--surface-color);--on-surface-color-SCOPED-IN-thread-SW6d: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-SW6d: var(--on-background-color);--background-color-SCOPED-IN-thread-SW6d: var(--background-color);--navigator-background-color-SCOPED-IN-thread-SW6d: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-SW6d: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-SW6d: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-SW6d: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-SW6d)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\n"] }]
157
157
  }], propDecorators: { onCompositionStart: [{
158
158
  type: HostListener,
159
159
  args: ['compositionstart', ['$event']]
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-components-pages-thread.mjs","sources":["../tmp-esm2022/pages/thread/thread.page.js","../tmp-esm2022/pages/thread/xxmachina-components-pages-thread.js"],"sourcesContent":["import { __decorate, __metadata } from \"tslib\";\nimport { Component, Directive, effect, HostListener, inject, input, signal } from \"@angular/core\";\nimport { RouterOutletFrame } from \"@ng-atomic/components/frames/router-outlet\";\nimport { ThreadTemplate } from \"@ng-atomic/components/templates/thread\";\nimport { injectIsRootPage, injectNavStartActionsV2, makeDI, NavActionId } from \"@ng-atomic/common/services/ui\";\nimport { _computed, applyToInput, Effect, InjectableComponent, NgAtomicComponent, provideEffect } from \"@ng-atomic/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { QueryActionReducer } from \"@xxmachina/components/pages/query\";\nimport { MessageService } from \"@xxmachina/components/services/message\";\nimport { ContextService } from \"@xxmachina/components/services/context\";\nimport * as i0 from \"@angular/core\";\nvar ActionId;\n(function (ActionId) {\n ActionId[\"SEND_MESSAGE\"] = \"send-message\";\n})(ActionId || (ActionId = {}));\nexport class ThreadPageStore extends InjectableComponent {\n static DI = makeDI(ThreadPageStore, () => () => ({\n title: 'title',\n navStartActions: [],\n }), ['components', 'pages', 'thread']);\n static provideEffects() {\n return [\n provideEffect(ActionId.SEND_MESSAGE, () => {\n const messageService = inject(MessageService);\n return (message) => {\n messageService.pushMessage(message);\n };\n }),\n ThreadPageStore.provideNavigationEffects(),\n ];\n }\n static provideNavigationEffects() {\n return [\n provideEffect(NavActionId.BACK, () => {\n return () => { history.back(); };\n }),\n ];\n }\n static provideNavStartActions() {\n return [\n ThreadPageStore.DI.provideInitializer((store) => {\n const navStartActions = injectNavStartActionsV2();\n effect(() => applyToInput(store, 'navStartActions', navStartActions()));\n }),\n ];\n }\n isRootPage = injectIsRootPage('side');\n // readonly navStartActions = injectSideAppNavStartActions(this.isRootPage);\n config = ThreadPageStore.DI.injectConfig();\n title = input(_computed(() => this.config().title));\n navStartActions = input(_computed(() => this.config().navStartActions));\n actions = signal([\n { id: ActionId.SEND_MESSAGE, name: '送信', icon: 'send' },\n ]);\n fb = inject(FormBuilder);\n form = this.fb.group({\n message: this.fb.control(''),\n name: this.fb.control(''),\n description: this.fb.control(''),\n });\n messages = input([]);\n constructor() {\n super();\n ThreadPageStore.DI.initialize(this);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: ThreadPageStore, isStandalone: true, inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: \"messages\", publicName: \"messages\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\nexport class ThreadPage extends NgAtomicComponent {\n store = inject(ThreadPageStore);\n reducer = inject(QueryActionReducer);\n // protected readonly message = inject(MessageService);\n context = inject(ContextService);\n isComposing = signal(false);\n // 日本語入力中の状態を管理\n onCompositionStart(event) {\n this.isComposing.set(true);\n }\n onCompositionEnd(event) {\n this.isComposing.set(false);\n }\n onKeydown(event) {\n if (this.isComposing())\n return;\n console.log(event);\n if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {\n this._sendMessage();\n }\n }\n _sendMessage() {\n const content = this.store.form.get(['message'])?.value;\n // this.message.pushMessage({ content, time: new Date(), role: 'user' });\n // this.store.form.get(['message'])?.reset();\n // this.message.completeMessage([\n // {\n // role: 'system',\n // content: message`\n // アシスタントはユーザーの命令に対して、GraphQLとパースするtypescriptを返します。\n // 以下は現在のページの背景情報です。\n // ${this.context.context()}\n // `,\n // time: new Date(),\n // }\n // ]);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPage, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: ThreadPage, isStandalone: true, selector: \"app-chat\", host: { listeners: { \"compositionstart\": \"onCompositionStart($event)\", \"compositionend\": \"onCompositionEnd($event)\", \"keydown\": \"onKeydown($event)\" } }, usesInheritance: true, hostDirectives: [{ directive: ThreadPageStore, inputs: [\"title\", \"title\", \"navStartActions\", \"navStartActions\", \"messages\", \"messages\"] }], ngImport: i0, template: `\n <frames-router-outlet>\n <templates-messages\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [form]=\"store.form\"\n [messages]=\"store.messages()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `, isInline: true, styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-sl2L: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-sl2L: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-sl2L: var(--primary-color);--on-primary-color-SCOPED-IN-thread-sl2L: var(--on-primary-color);--surface-color-SCOPED-IN-thread-sl2L: var(--surface-color);--on-surface-color-SCOPED-IN-thread-sl2L: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-sl2L: var(--on-background-color);--background-color-SCOPED-IN-thread-sl2L: var(--background-color);--navigator-background-color-SCOPED-IN-thread-sl2L: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-sl2L: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-sl2L: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-sl2L: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-sl2L)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\\n\"], dependencies: [{ kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: ThreadTemplate, selector: \"templates-messages\" }] });\n}\n__decorate([\n Effect(ActionId.SEND_MESSAGE),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], ThreadPage.prototype, \"_sendMessage\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPage, decorators: [{\n type: Component,\n args: [{ selector: 'app-chat', template: `\n <frames-router-outlet>\n <templates-messages\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [form]=\"store.form\"\n [messages]=\"store.messages()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `, imports: [\n RouterOutletFrame,\n ThreadTemplate,\n ], hostDirectives: [\n {\n directive: ThreadPageStore,\n inputs: [\n 'title',\n 'navStartActions',\n 'messages',\n ]\n },\n ], styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-sl2L: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-sl2L: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-sl2L: var(--primary-color);--on-primary-color-SCOPED-IN-thread-sl2L: var(--on-primary-color);--surface-color-SCOPED-IN-thread-sl2L: var(--surface-color);--on-surface-color-SCOPED-IN-thread-sl2L: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-sl2L: var(--on-background-color);--background-color-SCOPED-IN-thread-sl2L: var(--background-color);--navigator-background-color-SCOPED-IN-thread-sl2L: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-sl2L: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-sl2L: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-sl2L: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-sl2L)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\\n\"] }]\n }], propDecorators: { onCompositionStart: [{\n type: HostListener,\n args: ['compositionstart', ['$event']]\n }], onCompositionEnd: [{\n type: HostListener,\n args: ['compositionend', ['$event']]\n }], onKeydown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], _sendMessage: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy90aHJlYWQvdGhyZWFkLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0csT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFjLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUV4RSxJQUFLLFFBRUo7QUFGRCxXQUFLLFFBQVE7SUFDWCx5Q0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBRkksUUFBUSxLQUFSLFFBQVEsUUFFWjtBQUdELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUN0RCxNQUFNLENBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxF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R0FXVCw2b0NBR0MsaUJBQWlCLHNGQUNqQixjQUFjOztBQTJDTjtJQURULE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDOzs7OzhDQWtCN0I7MkZBL0NVLFVBQVU7a0JBOUJ0QixTQUFTOytCQUNFLFVBQVUsWUFDVjs7Ozs7Ozs7Ozs7R0FXVCxXQUVRO3dCQUNQLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDZixrQkFDZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsZUFBZTs0QkFDMUIsTUFBTSxFQUFFO2dDQUNOLE9BQU87Z0NBQ1AsaUJBQWlCO2dDQUNqQixVQUFVOzZCQUNYO3lCQUNGO3FCQUNGOzhCQVlELGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNNUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTFDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBV3pCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgZWZmZWN0LCBIb3N0TGlzdGVuZXIsIGluamVjdCwgaW5wdXQsIFByb3ZpZGVyLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0RnJhbWUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0XCI7XG5pbXBvcnQgeyBUaHJlYWRUZW1wbGF0ZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL3RocmVhZFwiO1xuaW1wb3J0IHsgaW5qZWN0SXNSb290UGFnZSwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zVjIsIG1ha2VESSwgTmF2QWN0aW9uSWQgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWlcIjtcbmltcG9ydCB7IF9jb21wdXRlZCwgYXBwbHlUb0lucHV0LCBFZmZlY3QsIEluamVjdGFibGVDb21wb25lbnQsIE5hdkFjdGlvbnMsIE5nQXRvbWljQ29tcG9uZW50LCBwcm92aWRlRWZmZWN0IH0gZnJvbSBcIkBuZy1hdG9taWMvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFF1ZXJ5QWN0aW9uUmVkdWNlciB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbXBvbmVudHMvcGFnZXMvcXVlcnlcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkB4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9tZXNzYWdlXCI7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2NvbnRleHRcIjtcblxuZW51bSBBY3Rpb25JZCB7XG4gIFNFTkRfTUVTU0FHRSA9ICdzZW5kLW1lc3NhZ2UnLFxufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRocmVhZFBhZ2VTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgREkgPSBtYWtlREkoVGhyZWFkUGFnZVN0b3JlLCAoKSA9PiAoKSA9PiAoe1xuICAgIHRpdGxlOiAndGl0bGUnLFxuICAgIG5hdlN0YXJ0QWN0aW9uczogW10gYXMgTmF2QWN0aW9ucyxcbiAgfSksIFsnY29tcG9uZW50cycsICdwYWdlcycsICd0aHJlYWQnXSlcblxuICBzdGF0aWMgcHJvdmlkZUVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHByb3ZpZGVFZmZlY3QoQWN0aW9uSWQuU0VORF9NRVNTQUdFLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcbiAgICAgICAgcmV0dXJuIChtZXNzYWdlOiBNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgbWVzc2FnZVNlcnZpY2UucHVzaE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgVGhyZWFkUGFnZVN0b3JlLnByb3ZpZGVOYXZpZ2F0aW9uRWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlTmF2aWdhdGlvbkVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHByb3ZpZGVFZmZlY3QoTmF2QWN0aW9uSWQuQkFDSywgKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4geyBoaXN0b3J5LmJhY2soKSB9O1xuICAgICAgfSksXG4gICAgXVxuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZTdGFydEFjdGlvbnMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFRocmVhZFBhZ2VTdG9yZS5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9uc1YyKCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICduYXZTdGFydEFjdGlvbnMnLCBuYXZTdGFydEFjdGlvbnMoKSkpO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHJlYWRvbmx5IGlzUm9vdFBhZ2UgPSBpbmplY3RJc1Jvb3RQYWdlKCdzaWRlJyk7XG4gIC8vIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdFNpZGVBcHBOYXZTdGFydEFjdGlvbnModGhpcy5pc1Jvb3RQYWdlKTtcbiAgcmVhZG9ubHkgY29uZmlnID0gVGhyZWFkUGFnZVN0b3JlLkRJLmluamVjdENvbmZpZygpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdlN0YXJ0QWN0aW9ucykpO1xuICByZWFkb25seSBhY3Rpb25zID0gc2lnbmFsKFtcbiAgICB7IGlkOiBBY3Rpb25JZC5TRU5EX01FU1NBR0UswqBuYW1lOiAn6YCB5L+hJywgaWNvbjogJ3NlbmQnIH0sXG4gIF0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgbWVzc2FnZTogdGhpcy5mYi5jb250cm9sKCcnKSxcbiAgICBuYW1lOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICB9KTtcbiAgcmVhZG9ubHkgbWVzc2FnZXMgPSBpbnB1dDx7IHJvbGU6IHN0cmluZywgY29udGVudDogc3RyaW5nIH1bXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgVGhyZWFkUGFnZVN0b3JlLkRJLmluaXRpYWxpemUodGhpcyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoYXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmcmFtZXMtcm91dGVyLW91dGxldD5cbiAgICAgIDx0ZW1wbGF0ZXMtbWVzc2FnZXNcbiAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybVwiXG4gICAgICAgIFttZXNzYWdlc109XCJzdG9yZS5tZXNzYWdlcygpXCJcbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuYWN0aW9ucygpXCJcbiAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGhyZWFkLnBhZ2Uuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyT3V0bGV0RnJhbWUsXG4gICAgVGhyZWFkVGVtcGxhdGUsXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBUaHJlYWRQYWdlU3RvcmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgJ25hdlN0YXJ0QWN0aW9ucycsXG4gICAgICAgICdtZXNzYWdlcycsXG4gICAgICBdXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaHJlYWRQYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoVGhyZWFkUGFnZVN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlZHVjZXIgPSBpbmplY3QoUXVlcnlBY3Rpb25SZWR1Y2VyKTtcbiAgLy8gcHJvdGVjdGVkIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbmplY3QoTWVzc2FnZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChDb250ZXh0U2VydmljZSlcblxuICByZWFkb25seSBpc0NvbXBvc2luZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLy8g5pel5pys6Kqe5YWl5Yqb5Lit44Gu54q25oWL44KS566h55CGXG4gIEBIb3N0TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnLCBbJyRldmVudCddKVxuICBvbkNvbXBvc2l0aW9uU3RhcnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5pc0NvbXBvc2luZy5zZXQodHJ1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjb21wb3NpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gIG9uQ29tcG9zaXRpb25FbmQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5pc0NvbXBvc2luZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlzQ29tcG9zaW5nKCkpIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInICYmIChldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkpKSB7XG4gICAgICB0aGlzLl9zZW5kTWVzc2FnZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBFZmZlY3QoQWN0aW9uSWQuU0VORF9NRVNTQUdFKVxuICBwcm90ZWN0ZWQgX3NlbmRNZXNzYWdlKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnN0b3JlLmZvcm0uZ2V0KFsnbWVzc2FnZSddKT8udmFsdWU7XG4gICAgLy8gdGhpcy5tZXNzYWdlLnB1c2hNZXNzYWdlKHsgY29udGVudCwgdGltZTogbmV3IERhdGUoKSwgcm9sZTogJ3VzZXInIH0pO1xuICAgIC8vIHRoaXMuc3RvcmUuZm9ybS5nZXQoWydtZXNzYWdlJ10pPy5yZXNldCgpO1xuICAgIC8vIHRoaXMubWVzc2FnZS5jb21wbGV0ZU1lc3NhZ2UoW1xuICAgIC8vICAge1xuICAgIC8vICAgICByb2xlOiAnc3lzdGVtJyxcbiAgICAvLyAgICAgY29udGVudDogbWVzc2FnZWBcbiAgICAvLyAgICAg44Ki44K344K544K/44Oz44OI44Gv44Om44O844K244O844Gu5ZG95Luk44Gr5a++44GX44Gm44CBR3JhcGhRTOOBqOODkeODvOOCueOBmeOCi3R5cGVzY3JpcHTjgpLov5TjgZfjgb7jgZnjgIJcblxuICAgIC8vICAgICDku6XkuIvjga/nj77lnKjjga7jg5rjg7zjgrjjga7og4zmma/mg4XloLHjgafjgZnjgIJcbiAgICAvLyAgICAgJHt0aGlzLmNvbnRleHQuY29udGV4dCgpfVxuXG4gICAgLy8gICAgIGAsXG4gICAgLy8gICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgLy8gICB9XG4gICAgLy8gXSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtdGhyZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvdGhyZWFkL3h4bWFjaGluYS1jb21wb25lbnRzLXBhZ2VzLXRocmVhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xxmachina-components-pages-thread.mjs","sources":["../tmp-esm2022/pages/thread/thread.page.js","../tmp-esm2022/pages/thread/xxmachina-components-pages-thread.js"],"sourcesContent":["import { __decorate, __metadata } from \"tslib\";\nimport { Component, Directive, effect, HostListener, inject, input, signal } from \"@angular/core\";\nimport { RouterOutletFrame } from \"@ng-atomic/components/frames/router-outlet\";\nimport { ThreadTemplate } from \"@ng-atomic/components/templates/thread\";\nimport { injectIsRootPage, injectNavStartActionsV2, makeDI, NavActionId } from \"@ng-atomic/common/services/ui\";\nimport { _computed, applyToInput, Effect, InjectableComponent, NgAtomicComponent, provideEffect } from \"@ng-atomic/core\";\nimport { FormBuilder } from \"@angular/forms\";\nimport { QueryActionReducer } from \"@xxmachina/components/pages/query\";\nimport { MessageService } from \"@xxmachina/components/services/message\";\nimport { ContextService } from \"@xxmachina/components/services/context\";\nimport * as i0 from \"@angular/core\";\nvar ActionId;\n(function (ActionId) {\n ActionId[\"SEND_MESSAGE\"] = \"send-message\";\n})(ActionId || (ActionId = {}));\nexport class ThreadPageStore extends InjectableComponent {\n static DI = makeDI(ThreadPageStore, () => () => ({\n title: 'title',\n navStartActions: [],\n }), ['components', 'pages', 'thread']);\n static provideEffects() {\n return [\n provideEffect(ActionId.SEND_MESSAGE, () => {\n const messageService = inject(MessageService);\n return (message) => {\n messageService.pushMessage(message);\n };\n }),\n ThreadPageStore.provideNavigationEffects(),\n ];\n }\n static provideNavigationEffects() {\n return [\n provideEffect(NavActionId.BACK, () => {\n return () => { history.back(); };\n }),\n ];\n }\n static provideNavStartActions() {\n return [\n ThreadPageStore.DI.provideInitializer((store) => {\n const navStartActions = injectNavStartActionsV2();\n effect(() => applyToInput(store, 'navStartActions', navStartActions()));\n }),\n ];\n }\n isRootPage = injectIsRootPage('side');\n // readonly navStartActions = injectSideAppNavStartActions(this.isRootPage);\n config = ThreadPageStore.DI.injectConfig();\n title = input(_computed(() => this.config().title));\n navStartActions = input(_computed(() => this.config().navStartActions));\n actions = signal([\n { id: ActionId.SEND_MESSAGE, name: '送信', icon: 'send' },\n ]);\n fb = inject(FormBuilder);\n form = this.fb.group({\n message: this.fb.control(''),\n name: this.fb.control(''),\n description: this.fb.control(''),\n });\n messages = input([]);\n constructor() {\n super();\n ThreadPageStore.DI.initialize(this);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPageStore, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.5\", type: ThreadPageStore, isStandalone: true, inputs: { title: { classPropertyName: \"title\", publicName: \"title\", isSignal: true, isRequired: false, transformFunction: null }, navStartActions: { classPropertyName: \"navStartActions\", publicName: \"navStartActions\", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: \"messages\", publicName: \"messages\", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPageStore, decorators: [{\n type: Directive,\n args: [{ standalone: true }]\n }], ctorParameters: () => [] });\nexport class ThreadPage extends NgAtomicComponent {\n store = inject(ThreadPageStore);\n reducer = inject(QueryActionReducer);\n // protected readonly message = inject(MessageService);\n context = inject(ContextService);\n isComposing = signal(false);\n // 日本語入力中の状態を管理\n onCompositionStart(event) {\n this.isComposing.set(true);\n }\n onCompositionEnd(event) {\n this.isComposing.set(false);\n }\n onKeydown(event) {\n if (this.isComposing())\n return;\n console.log(event);\n if (event.key === 'Enter' && (event.metaKey || event.ctrlKey)) {\n this._sendMessage();\n }\n }\n _sendMessage() {\n const content = this.store.form.get(['message'])?.value;\n // this.message.pushMessage({ content, time: new Date(), role: 'user' });\n // this.store.form.get(['message'])?.reset();\n // this.message.completeMessage([\n // {\n // role: 'system',\n // content: message`\n // アシスタントはユーザーの命令に対して、GraphQLとパースするtypescriptを返します。\n // 以下は現在のページの背景情報です。\n // ${this.context.context()}\n // `,\n // time: new Date(),\n // }\n // ]);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPage, deps: null, target: i0.ɵɵFactoryTarget.Component });\n static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.5\", type: ThreadPage, isStandalone: true, selector: \"app-chat\", host: { listeners: { \"compositionstart\": \"onCompositionStart($event)\", \"compositionend\": \"onCompositionEnd($event)\", \"keydown\": \"onKeydown($event)\" } }, usesInheritance: true, hostDirectives: [{ directive: ThreadPageStore, inputs: [\"title\", \"title\", \"navStartActions\", \"navStartActions\", \"messages\", \"messages\"] }], ngImport: i0, template: `\n <frames-router-outlet>\n <templates-messages\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [form]=\"store.form\"\n [messages]=\"store.messages()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `, isInline: true, styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-SW6d: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-SW6d: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-SW6d: var(--primary-color);--on-primary-color-SCOPED-IN-thread-SW6d: var(--on-primary-color);--surface-color-SCOPED-IN-thread-SW6d: var(--surface-color);--on-surface-color-SCOPED-IN-thread-SW6d: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-SW6d: var(--on-background-color);--background-color-SCOPED-IN-thread-SW6d: var(--background-color);--navigator-background-color-SCOPED-IN-thread-SW6d: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-SW6d: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-SW6d: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-SW6d: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-SW6d)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\\n\"], dependencies: [{ kind: \"component\", type: RouterOutletFrame, selector: \"frames-router-outlet\", outputs: [\"events\"] }, { kind: \"component\", type: ThreadTemplate, selector: \"templates-messages\" }] });\n}\n__decorate([\n Effect(ActionId.SEND_MESSAGE),\n __metadata(\"design:type\", Function),\n __metadata(\"design:paramtypes\", []),\n __metadata(\"design:returntype\", void 0)\n], ThreadPage.prototype, \"_sendMessage\", null);\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: ThreadPage, decorators: [{\n type: Component,\n args: [{ selector: 'app-chat', template: `\n <frames-router-outlet>\n <templates-messages\n [title]=\"store.title()\"\n [navStartActions]=\"store.navStartActions()\"\n [form]=\"store.form\"\n [messages]=\"store.messages()\"\n [actions]=\"store.actions()\"\n (action)=\"dispatch($event)\"\n />\n </frames-router-outlet>\n `, imports: [\n RouterOutletFrame,\n ThreadTemplate,\n ], hostDirectives: [\n {\n directive: ThreadPageStore,\n inputs: [\n 'title',\n 'navStartActions',\n 'messages',\n ]\n },\n ], styles: [\":host{width:100%;height:100%;display:block;--page-width-lv1-SCOPED-IN-thread-SW6d: var(--page-width-lv1);--page-width-lv3-SCOPED-IN-thread-SW6d: var(--page-width-lv3);--primary-color-SCOPED-IN-thread-SW6d: var(--primary-color);--on-primary-color-SCOPED-IN-thread-SW6d: var(--on-primary-color);--surface-color-SCOPED-IN-thread-SW6d: var(--surface-color);--on-surface-color-SCOPED-IN-thread-SW6d: var(--on-surface-color);--on-background-color-SCOPED-IN-thread-SW6d: var(--on-background-color);--background-color-SCOPED-IN-thread-SW6d: var(--background-color);--navigator-background-color-SCOPED-IN-thread-SW6d: var(--navigator-background-color);--navigator-on-background-color-SCOPED-IN-thread-SW6d: var(--navigator-on-background-color);--table-background-color-SCOPED-IN-thread-SW6d: var(--table-background-color);--table-on-background-color-SCOPED-IN-thread-SW6d: var(--table-on-background-color)}:host .template{width:var(--page-width-lv1-SCOPED-IN-thread-SW6d)}:host .chat-container{display:flex;flex-direction:column;height:100%}:host .message{padding:10px;border-bottom:1px solid #ccc}\\n\"] }]\n }], propDecorators: { onCompositionStart: [{\n type: HostListener,\n args: ['compositionstart', ['$event']]\n }], onCompositionEnd: [{\n type: HostListener,\n args: ['compositionend', ['$event']]\n }], onKeydown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], _sendMessage: [] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWFkLnBhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbXBvbmVudHMvc3JjL2xpYi9wYWdlcy90aHJlYWQvdGhyZWFkLnBhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0csT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFjLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQUV4RSxJQUFLLFFBRUo7QUFGRCxXQUFLLFFBQVE7SUFDWCx5Q0FBNkIsQ0FBQTtBQUMvQixDQUFDLEVBRkksUUFBUSxLQUFSLFFBQVEsUUFFWjtBQUdELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUN0RCxNQUFNLENBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxF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R0FXVCw2b0NBR0MsaUJBQWlCLHNGQUNqQixjQUFjOztBQTJDTjtJQURULE1BQU0sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDOzs7OzhDQWtCN0I7MkZBL0NVLFVBQVU7a0JBOUJ0QixTQUFTOytCQUNFLFVBQVUsWUFDVjs7Ozs7Ozs7Ozs7R0FXVCxXQUVRO3dCQUNQLGlCQUFpQjt3QkFDakIsY0FBYztxQkFDZixrQkFDZTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsZUFBZTs0QkFDMUIsTUFBTSxFQUFFO2dDQUNOLE9BQU87Z0NBQ1AsaUJBQWlCO2dDQUNqQixVQUFVOzZCQUNYO3lCQUNGO3FCQUNGOzhCQVlELGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNNUMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTTFDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBV3pCLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgZWZmZWN0LCBIb3N0TGlzdGVuZXIsIGluamVjdCwgaW5wdXQsIFByb3ZpZGVyLCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgUm91dGVyT3V0bGV0RnJhbWUgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21wb25lbnRzL2ZyYW1lcy9yb3V0ZXItb3V0bGV0XCI7XG5pbXBvcnQgeyBUaHJlYWRUZW1wbGF0ZSB9IGZyb20gXCJAbmctYXRvbWljL2NvbXBvbmVudHMvdGVtcGxhdGVzL3RocmVhZFwiO1xuaW1wb3J0IHsgaW5qZWN0SXNSb290UGFnZSwgaW5qZWN0TmF2U3RhcnRBY3Rpb25zVjIsIG1ha2VESSwgTmF2QWN0aW9uSWQgfSBmcm9tIFwiQG5nLWF0b21pYy9jb21tb24vc2VydmljZXMvdWlcIjtcbmltcG9ydCB7IF9jb21wdXRlZCwgYXBwbHlUb0lucHV0LCBFZmZlY3QsIEluamVjdGFibGVDb21wb25lbnQsIE5hdkFjdGlvbnMsIE5nQXRvbWljQ29tcG9uZW50LCBwcm92aWRlRWZmZWN0IH0gZnJvbSBcIkBuZy1hdG9taWMvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IFF1ZXJ5QWN0aW9uUmVkdWNlciB9IGZyb20gXCJAeHhtYWNoaW5hL2NvbXBvbmVudHMvcGFnZXMvcXVlcnlcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcIkB4eG1hY2hpbmEvY29tcG9uZW50cy9zZXJ2aWNlcy9tZXNzYWdlXCI7XG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSBcIkBuZy1hdG9taWMvY29tbW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgQ29udGV4dFNlcnZpY2UgfSBmcm9tIFwiQHh4bWFjaGluYS9jb21wb25lbnRzL3NlcnZpY2VzL2NvbnRleHRcIjtcblxuZW51bSBBY3Rpb25JZCB7XG4gIFNFTkRfTUVTU0FHRSA9ICdzZW5kLW1lc3NhZ2UnLFxufVxuXG5ARGlyZWN0aXZlKHsgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRocmVhZFBhZ2VTdG9yZSBleHRlbmRzIEluamVjdGFibGVDb21wb25lbnQge1xuICBzdGF0aWMgcmVhZG9ubHkgREkgPSBtYWtlREkoVGhyZWFkUGFnZVN0b3JlLCAoKSA9PiAoKSA9PiAoe1xuICAgIHRpdGxlOiAndGl0bGUnLFxuICAgIG5hdlN0YXJ0QWN0aW9uczogW10gYXMgTmF2QWN0aW9ucyxcbiAgfSksIFsnY29tcG9uZW50cycsICdwYWdlcycsICd0aHJlYWQnXSlcblxuICBzdGF0aWMgcHJvdmlkZUVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHByb3ZpZGVFZmZlY3QoQWN0aW9uSWQuU0VORF9NRVNTQUdFLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2VTZXJ2aWNlID0gaW5qZWN0KE1lc3NhZ2VTZXJ2aWNlKTtcbiAgICAgICAgcmV0dXJuIChtZXNzYWdlOiBNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgbWVzc2FnZVNlcnZpY2UucHVzaE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgVGhyZWFkUGFnZVN0b3JlLnByb3ZpZGVOYXZpZ2F0aW9uRWZmZWN0cygpLFxuICAgIF1cbiAgfVxuXG4gIHN0YXRpYyBwcm92aWRlTmF2aWdhdGlvbkVmZmVjdHMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHByb3ZpZGVFZmZlY3QoTmF2QWN0aW9uSWQuQkFDSywgKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4geyBoaXN0b3J5LmJhY2soKSB9O1xuICAgICAgfSksXG4gICAgXVxuICB9XG5cbiAgc3RhdGljIHByb3ZpZGVOYXZTdGFydEFjdGlvbnMoKTogUHJvdmlkZXJbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIFRocmVhZFBhZ2VTdG9yZS5ESS5wcm92aWRlSW5pdGlhbGl6ZXIoKHN0b3JlKSA9PiB7XG4gICAgICAgIGNvbnN0IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdE5hdlN0YXJ0QWN0aW9uc1YyKCk7XG4gICAgICAgIGVmZmVjdCgoKSA9PiBhcHBseVRvSW5wdXQoc3RvcmUsICduYXZTdGFydEFjdGlvbnMnLCBuYXZTdGFydEFjdGlvbnMoKSkpO1xuICAgICAgfSksXG4gICAgXTtcbiAgfVxuXG4gIHJlYWRvbmx5IGlzUm9vdFBhZ2UgPSBpbmplY3RJc1Jvb3RQYWdlKCdzaWRlJyk7XG4gIC8vIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGluamVjdFNpZGVBcHBOYXZTdGFydEFjdGlvbnModGhpcy5pc1Jvb3RQYWdlKTtcbiAgcmVhZG9ubHkgY29uZmlnID0gVGhyZWFkUGFnZVN0b3JlLkRJLmluamVjdENvbmZpZygpO1xuICByZWFkb25seSB0aXRsZSA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLnRpdGxlKSk7XG4gIHJlYWRvbmx5IG5hdlN0YXJ0QWN0aW9ucyA9IGlucHV0KF9jb21wdXRlZCgoKSA9PiB0aGlzLmNvbmZpZygpLm5hdlN0YXJ0QWN0aW9ucykpO1xuICByZWFkb25seSBhY3Rpb25zID0gc2lnbmFsKFtcbiAgICB7IGlkOiBBY3Rpb25JZC5TRU5EX01FU1NBR0UswqBuYW1lOiAn6YCB5L+hJywgaWNvbjogJ3NlbmQnIH0sXG4gIF0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICByZWFkb25seSBmb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgbWVzc2FnZTogdGhpcy5mYi5jb250cm9sKCcnKSxcbiAgICBuYW1lOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICAgIGRlc2NyaXB0aW9uOiB0aGlzLmZiLmNvbnRyb2woJycpLFxuICB9KTtcbiAgcmVhZG9ubHkgbWVzc2FnZXMgPSBpbnB1dDx7IHJvbGU6IHN0cmluZywgY29udGVudDogc3RyaW5nIH1bXT4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgVGhyZWFkUGFnZVN0b3JlLkRJLmluaXRpYWxpemUodGhpcyk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNoYXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmcmFtZXMtcm91dGVyLW91dGxldD5cbiAgICAgIDx0ZW1wbGF0ZXMtbWVzc2FnZXNcbiAgICAgICAgW3RpdGxlXT1cInN0b3JlLnRpdGxlKClcIlxuICAgICAgICBbbmF2U3RhcnRBY3Rpb25zXT1cInN0b3JlLm5hdlN0YXJ0QWN0aW9ucygpXCJcbiAgICAgICAgW2Zvcm1dPVwic3RvcmUuZm9ybVwiXG4gICAgICAgIFttZXNzYWdlc109XCJzdG9yZS5tZXNzYWdlcygpXCJcbiAgICAgICAgW2FjdGlvbnNdPVwic3RvcmUuYWN0aW9ucygpXCJcbiAgICAgICAgKGFjdGlvbik9XCJkaXNwYXRjaCgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgPC9mcmFtZXMtcm91dGVyLW91dGxldD5cbiAgYCxcbiAgc3R5bGVVcmxzOiBbJy4vdGhyZWFkLnBhZ2Uuc2NzcyddLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyT3V0bGV0RnJhbWUsXG4gICAgVGhyZWFkVGVtcGxhdGUsXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAge1xuICAgICAgZGlyZWN0aXZlOiBUaHJlYWRQYWdlU3RvcmUsXG4gICAgICBpbnB1dHM6IFtcbiAgICAgICAgJ3RpdGxlJyxcbiAgICAgICAgJ25hdlN0YXJ0QWN0aW9ucycsXG4gICAgICAgICdtZXNzYWdlcycsXG4gICAgICBdXG4gICAgfSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBUaHJlYWRQYWdlIGV4dGVuZHMgTmdBdG9taWNDb21wb25lbnQge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3RvcmUgPSBpbmplY3QoVGhyZWFkUGFnZVN0b3JlKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlZHVjZXIgPSBpbmplY3QoUXVlcnlBY3Rpb25SZWR1Y2VyKTtcbiAgLy8gcHJvdGVjdGVkIHJlYWRvbmx5IG1lc3NhZ2UgPSBpbmplY3QoTWVzc2FnZVNlcnZpY2UpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGV4dCA9IGluamVjdChDb250ZXh0U2VydmljZSlcblxuICByZWFkb25seSBpc0NvbXBvc2luZyA9IHNpZ25hbChmYWxzZSk7XG5cbiAgLy8g5pel5pys6Kqe5YWl5Yqb5Lit44Gu54q25oWL44KS566h55CGXG4gIEBIb3N0TGlzdGVuZXIoJ2NvbXBvc2l0aW9uc3RhcnQnLCBbJyRldmVudCddKVxuICBvbkNvbXBvc2l0aW9uU3RhcnQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5pc0NvbXBvc2luZy5zZXQodHJ1ZSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjb21wb3NpdGlvbmVuZCcsIFsnJGV2ZW50J10pXG4gIG9uQ29tcG9zaXRpb25FbmQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5pc0NvbXBvc2luZy5zZXQoZmFsc2UpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGlmICh0aGlzLmlzQ29tcG9zaW5nKCkpIHJldHVybjtcblxuICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInICYmIChldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkpKSB7XG4gICAgICB0aGlzLl9zZW5kTWVzc2FnZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBFZmZlY3QoQWN0aW9uSWQuU0VORF9NRVNTQUdFKVxuICBwcm90ZWN0ZWQgX3NlbmRNZXNzYWdlKCkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLnN0b3JlLmZvcm0uZ2V0KFsnbWVzc2FnZSddKT8udmFsdWU7XG4gICAgLy8gdGhpcy5tZXNzYWdlLnB1c2hNZXNzYWdlKHsgY29udGVudCwgdGltZTogbmV3IERhdGUoKSwgcm9sZTogJ3VzZXInIH0pO1xuICAgIC8vIHRoaXMuc3RvcmUuZm9ybS5nZXQoWydtZXNzYWdlJ10pPy5yZXNldCgpO1xuICAgIC8vIHRoaXMubWVzc2FnZS5jb21wbGV0ZU1lc3NhZ2UoW1xuICAgIC8vICAge1xuICAgIC8vICAgICByb2xlOiAnc3lzdGVtJyxcbiAgICAvLyAgICAgY29udGVudDogbWVzc2FnZWBcbiAgICAvLyAgICAg44Ki44K344K544K/44Oz44OI44Gv44Om44O844K244O844Gu5ZG95Luk44Gr5a++44GX44Gm44CBR3JhcGhRTOOBqOODkeODvOOCueOBmeOCi3R5cGVzY3JpcHTjgpLov5TjgZfjgb7jgZnjgIJcblxuICAgIC8vICAgICDku6XkuIvjga/nj77lnKjjga7jg5rjg7zjgrjjga7og4zmma/mg4XloLHjgafjgZnjgIJcbiAgICAvLyAgICAgJHt0aGlzLmNvbnRleHQuY29udGV4dCgpfVxuXG4gICAgLy8gICAgIGAsXG4gICAgLy8gICAgIHRpbWU6IG5ldyBEYXRlKCksXG4gICAgLy8gICB9XG4gICAgLy8gXSk7XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbXBvbmVudHMtcGFnZXMtdGhyZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21wb25lbnRzL3NyYy9saWIvcGFnZXMvdGhyZWFkL3h4bWFjaGluYS1jb21wb25lbnRzLXBhZ2VzLXRocmVhZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -455,7 +455,7 @@ class AgentTemplate extends NgAtomicComponent {
455
455
  </div>
456
456
  </div>
457
457
  </div>
458
- `, isInline: true, styles: [":host{--h-pad: 20px;--h-pad-SCOPED-IN-entrance-UAKO: var(--h-pad);--text: #e0e0e0;--text-SCOPED-IN-entrance-UAKO: var(--text);--user: #00ff00;--user-SCOPED-IN-entrance-UAKO: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-UAKO: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-UAKO: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-UAKO: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-UAKO);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 20px;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-UAKO);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-UAKO);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-UAKO);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-UAKO);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-UAKO);opacity:.7}.terminal-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s ease}.terminal-body .terminal-display{flex:1;position:relative;background:#0a0a0a;overflow:hidden}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-UAKO);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;caret-shape:block}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0}.terminal-window{height:100%;max-height:100vh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0 16px}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0 12px}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-UAKO);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-UAKO)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-UAKO),0 0 20px var(--accent-SCOPED-IN-entrance-UAKO);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}@media (prefers-color-scheme: light){:host{--text: #333;--text-SCOPED-IN-entrance-UAKO: var(--text);--user: #0066cc;--user-SCOPED-IN-entrance-UAKO: var(--user);--sys: #666;--sys-SCOPED-IN-entrance-UAKO: var(--sys);--border: #ddd;--border-SCOPED-IN-entrance-UAKO: var(--border)}.terminal-window{background:#ffffffd9;box-shadow:0 10px 30px #00000014}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: XtermOrganism, selector: "organisms-xterm", outputs: ["terminalReady", "githubLinkClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
458
+ `, isInline: true, styles: [":host{--h-pad: 20px;--h-pad-SCOPED-IN-entrance-kS7H: var(--h-pad);--text: #e0e0e0;--text-SCOPED-IN-entrance-kS7H: var(--text);--user: #00ff00;--user-SCOPED-IN-entrance-kS7H: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-kS7H: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-kS7H: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-kS7H: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-kS7H);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 20px;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-kS7H);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-kS7H);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-kS7H);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-kS7H);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-kS7H);opacity:.7}.terminal-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s ease}.terminal-body .terminal-display{flex:1;position:relative;background:#0a0a0a;overflow:hidden}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-kS7H);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;caret-shape:block}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0}.terminal-window{height:100%;max-height:100vh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0 16px}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0 12px}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-kS7H);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-kS7H)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-kS7H),0 0 20px var(--accent-SCOPED-IN-entrance-kS7H);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}@media (prefers-color-scheme: light){:host{--text: #333;--text-SCOPED-IN-entrance-kS7H: var(--text);--user: #0066cc;--user-SCOPED-IN-entrance-kS7H: var(--user);--sys: #666;--sys-SCOPED-IN-entrance-kS7H: var(--sys);--border: #ddd;--border-SCOPED-IN-entrance-kS7H: var(--border)}.terminal-window{background:#ffffffd9;box-shadow:0 10px 30px #00000014}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: XtermOrganism, selector: "organisms-xterm", outputs: ["terminalReady", "githubLinkClick"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
459
459
  }
460
460
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImport: i0, type: AgentTemplate, decorators: [{
461
461
  type: Component,
@@ -538,7 +538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.5", ngImpor
538
538
  'fieldMap',
539
539
  ],
540
540
  },
541
- ], styles: [":host{--h-pad: 20px;--h-pad-SCOPED-IN-entrance-UAKO: var(--h-pad);--text: #e0e0e0;--text-SCOPED-IN-entrance-UAKO: var(--text);--user: #00ff00;--user-SCOPED-IN-entrance-UAKO: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-UAKO: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-UAKO: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-UAKO: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-UAKO);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 20px;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-UAKO);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-UAKO);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-UAKO);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-UAKO);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-UAKO);opacity:.7}.terminal-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s ease}.terminal-body .terminal-display{flex:1;position:relative;background:#0a0a0a;overflow:hidden}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-UAKO);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;caret-shape:block}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0}.terminal-window{height:100%;max-height:100vh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0 16px}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0 12px}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-UAKO);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-UAKO)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-UAKO),0 0 20px var(--accent-SCOPED-IN-entrance-UAKO);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}@media (prefers-color-scheme: light){:host{--text: #333;--text-SCOPED-IN-entrance-UAKO: var(--text);--user: #0066cc;--user-SCOPED-IN-entrance-UAKO: var(--user);--sys: #666;--sys-SCOPED-IN-entrance-UAKO: var(--sys);--border: #ddd;--border-SCOPED-IN-entrance-UAKO: var(--border)}.terminal-window{background:#ffffffd9;box-shadow:0 10px 30px #00000014}}\n"] }]
541
+ ], styles: [":host{--h-pad: 20px;--h-pad-SCOPED-IN-entrance-kS7H: var(--h-pad);--text: #e0e0e0;--text-SCOPED-IN-entrance-kS7H: var(--text);--user: #00ff00;--user-SCOPED-IN-entrance-kS7H: var(--user);--sys: #888;--sys-SCOPED-IN-entrance-kS7H: var(--sys);--accent: #ff79c6;--accent-SCOPED-IN-entrance-kS7H: var(--accent);--border: rgba(51, 51, 51, .5);--border-SCOPED-IN-entrance-kS7H: var(--border)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}:host{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:transparent;font-family:SF Mono,Monaco,monospace;container-type:inline-size;container-name:agent-container;transition:all .3s ease}.terminal-window{width:100%;max-width:900px;height:600px;background:#0a0a0a;border:1px solid var(--border-SCOPED-IN-entrance-kS7H);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 40px #0000004d;animation:fadeIn .3s;transition:all .3s ease}.terminal-header{display:flex;justify-content:space-between;align-items:center;height:56px;padding:0 20px;background:#1a1a1a99;border-bottom:1px solid var(--border-SCOPED-IN-entrance-kS7H);transition:all .3s ease;position:relative}.terminal-header .close-button{color:var(--sys-SCOPED-IN-entrance-kS7H);margin-right:.5rem;opacity:.7}.terminal-header .close-button:hover{color:var(--text-SCOPED-IN-entrance-kS7H);opacity:1}.terminal-header .terminal-title{font-size:13px;color:var(--text-SCOPED-IN-entrance-kS7H);font-weight:500;flex:1}.terminal-header .terminal-status{font-size:12px;color:var(--sys-SCOPED-IN-entrance-kS7H);opacity:.7}.terminal-body{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s ease}.terminal-body .terminal-display{flex:1;position:relative;background:#0a0a0a;overflow:hidden}.input-area{background:#000000e6;border-top:1px solid var(--border-SCOPED-IN-entrance-kS7H);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s ease;padding:16px 20px}.input-line{display:block;position:relative}.input-line .input-prefix{display:none}.input-line .textarea-wrapper{display:flex;align-items:flex-start;position:relative;border:1px solid rgba(255,255,255,.2);border-radius:4px;transition:border-color .2s ease}.input-line .textarea-wrapper:focus-within{border-color:#fff6}.input-line .textarea-wrapper .arrow-prefix{color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;padding:12px 0 12px 16px;flex-shrink:0;pointer-events:none}.input-line .textarea-wrapper .input-container{flex:1;position:relative;overflow:hidden}.input-line .textarea-wrapper .terminal-input{width:100%;background:transparent;border:none;outline:none;color:#e0e0e0;font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:400;caret-color:transparent;padding:12px 16px 12px 8px;transition:none;resize:none;height:44px;min-height:44px;max-height:200px;overflow-y:auto;overflow-x:hidden;line-height:20px;box-sizing:border-box;white-space:pre-wrap;word-wrap:break-word;caret-shape:block}.input-line .textarea-wrapper .terminal-input::selection{background:#ffffff4d}.input-line .textarea-wrapper .terminal-input:disabled{opacity:.5;cursor:not-allowed}.input-line .textarea-wrapper .terminal-input:-webkit-autofill{-webkit-text-fill-color:#e0e0e0;-webkit-box-shadow:0 0 0 1000px rgba(0,0,0,.9) inset}.input-line .textarea-wrapper .terminal-input::placeholder{color:#ffffff4d;opacity:1}.input-line .textarea-wrapper .block-cursor{position:absolute;width:10px;height:20px;background:#e0e0e0;opacity:0;pointer-events:none}.input-line .textarea-wrapper .block-cursor.visible{animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:.8}51%,to{opacity:0}}:host:has(.terminal-window){height:100vh;overflow-y:auto}@container agent-container (max-width: 600px){:host{padding:0}.terminal-window{height:100%;max-height:100vh;max-width:100%;border-radius:0;border:none;box-shadow:none}.terminal-header{height:56px;padding:0 16px}.terminal-header .terminal-title{font-size:12px}.terminal-header .terminal-status{font-size:11px}.terminal-header .close-button{margin-right:.25rem}}@container agent-container (min-width: 601px) and (max-width: 900px){.terminal-window{max-width:100%;height:100%;border-radius:0}}@container agent-container (max-width: 400px){.terminal-header{height:56px;padding:0 12px}.terminal-header .close-button{margin-right:.2rem}.input-area{padding:12px 16px}.textarea-wrapper .arrow-prefix{font-size:13px;padding:10px 0 10px 12px}.textarea-wrapper .terminal-input{font-size:12px;padding:10px 12px 10px 6px;height:40px;min-height:40px;line-height:20px}}.ascii-art{font-family:Consolas,Monaco,Liberation Mono,Menlo,Courier New,monospace!important;font-size:10px!important;line-height:1.1!important;letter-spacing:0!important;font-weight:400!important;margin:1em 0!important;padding:1em!important;white-space:pre!important;overflow-x:auto!important;overflow-y:hidden!important;display:block!important;width:fit-content!important;background:#ffffff08;border:1px solid var(--border-SCOPED-IN-entrance-kS7H);border-radius:4px;color:var(--accent-SCOPED-IN-entrance-kS7H)!important;opacity:.9;text-shadow:0 0 10px var(--accent-SCOPED-IN-entrance-kS7H),0 0 20px var(--accent-SCOPED-IN-entrance-kS7H);-webkit-font-smoothing:none!important;-moz-osx-font-smoothing:unset!important;font-variant-ligatures:none!important;text-rendering:optimizeLegibility!important}@media (prefers-color-scheme: light){:host{--text: #333;--text-SCOPED-IN-entrance-kS7H: var(--text);--user: #0066cc;--user-SCOPED-IN-entrance-kS7H: var(--user);--sys: #666;--sys-SCOPED-IN-entrance-kS7H: var(--sys);--border: #ddd;--border-SCOPED-IN-entrance-kS7H: var(--border)}.terminal-window{background:#ffffffd9;box-shadow:0 10px 30px #00000014}}\n"] }]
542
542
  }] });
543
543
  function provideAgentTemplate() {
544
544
  return [