@xxmachina/common 19.34.0 → 19.36.0
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/fesm2022/xxmachina-common-_shared-meta.mjs.map +1 -1
- package/fesm2022/xxmachina-common-auth-azure.mjs.map +1 -1
- package/fesm2022/xxmachina-common-domain-builder.mjs +1 -1
- package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -1
- package/fesm2022/xxmachina-common-domain-models.mjs +2 -1
- package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-converters-google.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs +2 -2
- package/fesm2022/xxmachina-common-infra-repository-dataconnect.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra-repository-notion.mjs.map +1 -1
- package/fesm2022/xxmachina-common-infra.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs +1 -1
- package/fesm2022/xxmachina-common-invoice-domain-builders.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-domain-models.mjs.map +1 -1
- package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-graphql.mjs +6 -5
- package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-query.mjs.map +1 -1
- package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-database.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-graphql.mjs +1 -1
- package/fesm2022/xxmachina-common-usecase-graphql.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase-spec.mjs.map +1 -1
- package/fesm2022/xxmachina-common-usecase.mjs +1 -1
- package/fesm2022/xxmachina-common-usecase.mjs.map +1 -1
- package/fesm2022/xxmachina-common-utils.mjs.map +1 -1
- package/package.json +11 -11
- package/types/xxmachina-common-_shared-auth.d.ts +1 -1
- package/types/xxmachina-common-auth-azure.d.ts +3 -3
- package/types/xxmachina-common-auth-azure.d.ts.map +1 -1
- package/types/xxmachina-common-domain-builder.d.ts +1 -1
- package/types/xxmachina-common-domain-builder.d.ts.map +1 -1
- package/types/xxmachina-common-domain-models.d.ts +26 -26
- package/types/xxmachina-common-domain-models.d.ts.map +1 -1
- package/types/xxmachina-common-infra-converters-google.d.ts +1 -1
- package/types/xxmachina-common-infra-converters-google.d.ts.map +1 -1
- package/types/xxmachina-common-infra-external-resend.d.ts +1 -1
- package/types/xxmachina-common-infra-repository-notion.d.ts.map +1 -1
- package/types/xxmachina-common-infra.d.ts.map +1 -1
- package/types/xxmachina-common-services-speech.d.ts +2 -2
- package/types/xxmachina-common-stores-firestore.d.ts +2 -2
- package/types/xxmachina-common-stores-hasura.d.ts +3 -3
- package/types/xxmachina-common-usecase-database.d.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-services-query.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/query/resolver/resolver.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/query.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/xxmachina-common-services-query.ts"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { Query, QueryHelper } from \"@xxmachina/common/domain\";\nimport { ExecutableGraphql } from \"@xxmachina/common/services/graphql\";\nimport { filter, map, Observable } from \"rxjs\";\nimport { QueryConfigService } from \"@xxmachina/common/services/query/config\";\n\nexport interface ExecutableQuery {\n graphql: ExecutableGraphql;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class QueryResolverService {\n readonly config = inject(QueryConfigService);\n\n resolve(query: Query): Observable<ExecutableQuery> {\n return this.config.resolve(query).pipe(\n filter((rq) => !!rq.graphql?.query?.trim()),\n map((resolvedQuery) => ({\n graphql: {\n endpoint: resolvedQuery.graphql
|
|
1
|
+
{"version":3,"file":"xxmachina-common-services-query.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/query/resolver/resolver.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/query.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/query/xxmachina-common-services-query.ts"],"sourcesContent":["import { inject, Injectable } from \"@angular/core\";\nimport { Query, QueryHelper } from \"@xxmachina/common/domain\";\nimport { ExecutableGraphql } from \"@xxmachina/common/services/graphql\";\nimport { filter, map, Observable } from \"rxjs\";\nimport { QueryConfigService } from \"@xxmachina/common/services/query/config\";\n\nexport interface ExecutableQuery {\n graphql: ExecutableGraphql;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class QueryResolverService {\n readonly config = inject(QueryConfigService);\n\n resolve(query: Query): Observable<ExecutableQuery> {\n return (this.config.resolve(query) as Observable<Query>).pipe(\n filter((rq: Query) => !!rq.graphql?.query?.trim()),\n map((resolvedQuery: Query) => ({\n graphql: {\n endpoint: resolvedQuery.graphql!.endpoint,\n query: resolvedQuery.graphql!.query,\n variables: QueryHelper.pruneUnusedVariables(resolvedQuery.graphql!.variables as object, resolvedQuery.graphql!.query),\n headers: () => this.config.resolve(query.graphql!.headers as object),\n }\n })),\n ) as unknown as Observable<ExecutableQuery>;\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { map, Observable, switchMap } from \"rxjs\";\nimport { Query } from \"@xxmachina/common/domain\";\nimport { QueryHelper } from \"@xxmachina/common/domain\";\nimport { ExecutableQuery, QueryResolverService } from \"./resolver\";\nimport { GraphqlService } from \"@xxmachina/common/services/graphql\";\nimport { TransformerService } from \"@xxmachina/common/services/transformer\";\n\n\n@Injectable({ providedIn: 'root' })\nexport class QueryService {\n protected readonly resolver = inject(QueryResolverService);\n protected readonly graphql = inject(GraphqlService);\n protected readonly transformer = inject(TransformerService);\n\n subscribe<R extends object = any>(query: Query): Observable<R> {\n return this.resolver.resolve(query).pipe(\n switchMap((executableQuery: ExecutableQuery) => {\n return this.graphql.subscribe(executableQuery.graphql).pipe(\n switchMap(async (result: any) => this.transformer.transform({\n transformerTs: query.graphql?.transformerTs,\n transformer: query.graphql?.transformer,\n }, QueryHelper.parseResult(result))),\n );\n }),\n );\n }\n\n query<R extends object = any>(query: Query): Observable<R> {\n return this.resolver.resolve(query).pipe(\n switchMap((executableQuery: ExecutableQuery) => {\n return this.graphql.query(executableQuery.graphql).pipe(\n switchMap(async (result: any) => this.transformer.transform({\n transformerTs: query.graphql?.transformerTs,\n transformer: query.graphql?.transformer,\n }, QueryHelper.parseResult(result))),\n );\n }),\n );\n }\n\n getSchema(query: Query): Observable<any> {\n return this.resolver.resolve(query).pipe(\n switchMap((executableQuery: ExecutableQuery) => this.graphql.getSchema(executableQuery.graphql)),\n map((result: any) => result?.['data']),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAWa,oBAAoB,CAAA;AACtB,IAAA,MAAM,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE5C,IAAA,OAAO,CAAC,KAAY,EAAA;AAClB,QAAA,OAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAuB,CAAC,IAAI,CAC3D,MAAM,CAAC,CAAC,EAAS,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAClD,GAAG,CAAC,CAAC,aAAoB,MAAM;AAC7B,YAAA,OAAO,EAAE;AACP,gBAAA,QAAQ,EAAE,aAAa,CAAC,OAAQ,CAAC,QAAQ;AACzC,gBAAA,KAAK,EAAE,aAAa,CAAC,OAAQ,CAAC,KAAK;AACnC,gBAAA,SAAS,EAAE,WAAW,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAQ,CAAC,SAAmB,EAAE,aAAa,CAAC,OAAQ,CAAC,KAAK,CAAC;AACrH,gBAAA,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAQ,CAAC,OAAiB,CAAC;AACrE;SACF,CAAC,CAAC,CACsC;IAC7C;uGAfW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAApB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cADP,MAAM,EAAA,CAAA;;2FACnB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCArB,YAAY,CAAA;AACJ,IAAA,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACvC,IAAA,OAAO,GAAG,MAAM,CAAC,cAAc,CAAC;AAChC,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAE3D,IAAA,SAAS,CAAyB,KAAY,EAAA;AAC5C,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,CAAC,eAAgC,KAAI;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CACzD,SAAS,CAAC,OAAO,MAAW,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC1D,gBAAA,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa;AAC3C,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW;aACxC,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CACrC;QACH,CAAC,CAAC,CACH;IACH;AAEA,IAAA,KAAK,CAAyB,KAAY,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,CAAC,eAAgC,KAAI;YAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CACrD,SAAS,CAAC,OAAO,MAAW,KAAK,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AAC1D,gBAAA,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa;AAC3C,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW;aACxC,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CACrC;QACH,CAAC,CAAC,CACH;IACH;AAEA,IAAA,SAAS,CAAC,KAAY,EAAA;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,CAAC,eAAgC,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAChG,GAAG,CAAC,CAAC,MAAW,KAAK,MAAM,GAAG,MAAM,CAAC,CAAC,CACvC;IACH;uGApCW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cADC,MAAM,EAAA,CAAA;;2FACnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBADxB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACTlC;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/speech/speech-recognition-utils.ts","../../../../../packages/@xxmachina/common/src/lib/services/speech/speech.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/speech/xxmachina-common-services-speech.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\n\n/**\n * SpeechRecognition APIの初期化\n */\nexport function initializeSpeechRecognitionAPI(): SpeechRecognition | null {\n if (typeof window === 'undefined') return null;\n if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {\n console.warn('[SpeechService] SpeechRecognition API is not supported in this browser');\n return null;\n }\n\n const SpeechRecognitionAPI = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition;\n const recognition = new SpeechRecognitionAPI();\n recognition.continuous = true;\n recognition.interimResults = true;\n recognition.lang = 'ja-JP';\n return recognition;\n}\n\n/**\n * SpeechRecognitionイベントをパースして中間結果と確定結果を返す\n * @param startIndex - 読み取り開始インデックス(指定時はevent.resultIndexより優先)\n */\nexport function parseSpeechRecognitionEvent(\n event: SpeechRecognitionEvent,\n startIndex?: number,\n): { interim: string; finalized: string } {\n const from = startIndex ?? event.resultIndex;\n const results: SpeechRecognitionAlternative[] = [];\n for (let i = from; i < event.results.length; i++) {\n results.push({\n transcript: event.results[i][0].transcript,\n confidence: event.results[i][0].confidence,\n isFinal: event.results[i].isFinal,\n } as any);\n }\n return {\n interim: results.filter((result: any) => !result.isFinal).map((result) => result.transcript).join(''),\n finalized: results.filter((result: any) => result.isFinal).map((result) => result.transcript).join(''),\n };\n}\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\nimport { Injectable, signal, effect, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { filter, interval } from 'rxjs';\nimport { initializeSpeechRecognitionAPI, parseSpeechRecognitionEvent } from './speech-recognition-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class SpeechService {\n private static instanceCounter = 0;\n private readonly PAUSE_THRESHOLD = 1000;\n private recognition: SpeechRecognition | null = null;\n private lastSpeechTime = signal(Date.now());\n private ignoreResults = false;\n private lastKnownResultsLength = 0;\n private resultIndexThreshold = 0;\n\n readonly transcript = signal<{ finalized: string; interim: string }>({ finalized: '', interim: '' });\n readonly transcript$ = toObservable(this.transcript);\n readonly isListening = signal(false);\n readonly activeComponentId = signal<string | null>(null);\n readonly isSupported = typeof window !== 'undefined' &&\n (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));\n\n readonly finalized = computed(() => this.transcript().finalized);\n readonly finalized$ = toObservable(this.finalized);\n\n // 自動モード: セッション選択時に自動的に音声入力を開始\n readonly autoModeEnabled = signal(false);\n // 選択中のセッションID(自動音声入力制御用)\n readonly selectedSessionId = signal<string | null>(null);\n\n constructor() {\n interval(this.PAUSE_THRESHOLD).pipe(\n filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD),\n ).subscribe(() => {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n });\n\n effect(() => {\n if (!this.isListening()) {\n this.stopRecognition();\n }\n });\n }\n\n generateComponentId(): string {\n return `speech-${++SpeechService.instanceCounter}`;\n }\n\n isActiveComponent(componentId: string): boolean {\n return this.activeComponentId() === componentId;\n }\n\n start(componentId: string): void {\n if (!this.isSupported) {\n console.warn('[SpeechService] Speech recognition is not supported');\n return;\n }\n this.stopRecognition();\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n this.isListening.set(true);\n this.startRecognition();\n }\n\n stop(): void {\n this.isListening.set(false);\n this.activeComponentId.set(null);\n }\n\n toggle(componentId: string): void {\n if (this.isActiveComponent(componentId) && this.isListening()) {\n this.stop();\n } else {\n this.start(componentId);\n }\n }\n\n clear(): void {\n this.transcript.set({ interim: '', finalized: '' });\n\n if (this.autoModeEnabled() && this.recognition && this.isListening()) {\n // Auto mode: Speech APIを止めない。result indexで古い結果をフィルタ\n this.resultIndexThreshold = this.lastKnownResultsLength;\n return;\n }\n\n // Non-auto mode: stop → onend → restart で確実にリセット\n this.ignoreResults = true;\n if (this.recognition && this.isListening()) {\n try {\n this.recognition.stop();\n } catch (error) {\n console.error('[SpeechService] Error restarting recognition:', error);\n }\n }\n }\n\n // 自動モードのトグル\n toggleAutoMode(enabled: boolean): void {\n this.autoModeEnabled.set(enabled);\n if (enabled) {\n // 自動モードON → セッション選択済みならSpeech API有効化\n if (this.selectedSessionId()) {\n this.isListening.set(true);\n this.startRecognition();\n }\n } else {\n this.stop();\n }\n }\n\n // セッション選択時の自動音声入力制御(Speech APIは止めない)\n selectSession(sessionId: string | null): void {\n const prevId = this.selectedSessionId();\n this.selectedSessionId.set(sessionId);\n if (!this.autoModeEnabled()) return;\n\n if (!sessionId) {\n this.stop();\n return;\n }\n\n // セッション切り替え時: 前のテキストを確定→書き込み先は各コンポーネントが切り替える\n if (prevId && prevId !== sessionId) {\n this.finalizeCurrentTranscript();\n }\n }\n\n // 書き込み先の切り替え専用(Speech APIは触らない)\n activateComponent(componentId: string): void {\n if (this.activeComponentId() === componentId) return;\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n }\n\n private finalizeCurrentTranscript(): void {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n }\n\n private setupRecognition(): void {\n if (!this.isSupported) return;\n\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition) return;\n\n this.recognition.onresult = (event: SpeechRecognitionEvent) => {\n if (this.ignoreResults) return;\n this.lastKnownResultsLength = event.results.length;\n\n // auto mode clear後: threshold未満のresultをスキップ\n const startIndex = Math.max(event.resultIndex, this.resultIndexThreshold);\n if (startIndex >= event.results.length) return;\n\n const { interim, finalized } = parseSpeechRecognitionEvent(event, startIndex);\n this.transcript.update((current) => ({\n interim,\n finalized: finalized.length ? `${current.finalized}${finalized}` : current.finalized\n }));\n this.lastSpeechTime.set(Date.now());\n };\n\n this.recognition.onerror = (event: SpeechRecognitionErrorEvent) => {\n console.error('[SpeechService] Recognition error:', event.error);\n if (event.error === 'not-allowed') {\n this.stop();\n }\n };\n\n this.recognition.onend = () => {\n if (this.isListening()) {\n this.startRecognition();\n }\n };\n }\n\n private startRecognition(): void {\n this.ignoreResults = false;\n this.resultIndexThreshold = 0;\n this.lastKnownResultsLength = 0;\n if (!this.recognition) {\n this.setupRecognition();\n }\n\n try {\n this.recognition?.start();\n } catch (error) {\n console.error('[SpeechService] Failed to start recognition:', error);\n this.recognition = null;\n this.setupRecognition();\n this.recognition?.start();\n }\n }\n\n private stopRecognition(): void {\n if (this.recognition) {\n this.recognition.onend = null;\n this.recognition.onresult = null;\n this.recognition.onerror = null;\n try {\n this.recognition.stop();\n } catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/services/speech/speech-recognition-utils.ts","../../../../../packages/@xxmachina/common/src/lib/services/speech/speech.service.ts","../../../../../packages/@xxmachina/common/src/lib/services/speech/xxmachina-common-services-speech.ts"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\n\n/**\n * SpeechRecognition APIの初期化\n */\nexport function initializeSpeechRecognitionAPI(): SpeechRecognition | null {\n if (typeof window === 'undefined') return null;\n if (!('SpeechRecognition' in window) && !('webkitSpeechRecognition' in window)) {\n console.warn('[SpeechService] SpeechRecognition API is not supported in this browser');\n return null;\n }\n\n const SpeechRecognitionAPI = (window as any).SpeechRecognition || (window as any).webkitSpeechRecognition;\n const recognition = new SpeechRecognitionAPI();\n recognition.continuous = true;\n recognition.interimResults = true;\n recognition.lang = 'ja-JP';\n return recognition;\n}\n\n/**\n * SpeechRecognitionイベントをパースして中間結果と確定結果を返す\n * @param startIndex - 読み取り開始インデックス(指定時はevent.resultIndexより優先)\n */\nexport function parseSpeechRecognitionEvent(\n event: SpeechRecognitionEvent,\n startIndex?: number,\n): { interim: string; finalized: string } {\n const from = startIndex ?? event.resultIndex;\n const results: SpeechRecognitionAlternative[] = [];\n for (let i = from; i < event.results.length; i++) {\n results.push({\n transcript: event.results[i][0].transcript,\n confidence: event.results[i][0].confidence,\n isFinal: event.results[i].isFinal,\n } as any);\n }\n return {\n interim: results.filter((result: any) => !result.isFinal).map((result) => result.transcript).join(''),\n finalized: results.filter((result: any) => result.isFinal).map((result) => result.transcript).join(''),\n };\n}\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\nimport { Injectable, signal, effect, computed } from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { filter, interval } from 'rxjs';\nimport { initializeSpeechRecognitionAPI, parseSpeechRecognitionEvent } from './speech-recognition-utils';\n\n@Injectable({ providedIn: 'root' })\nexport class SpeechService {\n private static instanceCounter = 0;\n private readonly PAUSE_THRESHOLD = 1000;\n private recognition: SpeechRecognition | null = null;\n private lastSpeechTime = signal(Date.now());\n private ignoreResults = false;\n private lastKnownResultsLength = 0;\n private resultIndexThreshold = 0;\n\n readonly transcript = signal<{ finalized: string; interim: string }>({ finalized: '', interim: '' });\n readonly transcript$ = toObservable(this.transcript);\n readonly isListening = signal(false);\n readonly activeComponentId = signal<string | null>(null);\n readonly isSupported = typeof window !== 'undefined' &&\n (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));\n\n readonly finalized = computed(() => this.transcript().finalized);\n readonly finalized$ = toObservable(this.finalized);\n\n // 自動モード: セッション選択時に自動的に音声入力を開始\n readonly autoModeEnabled = signal(false);\n // 選択中のセッションID(自動音声入力制御用)\n readonly selectedSessionId = signal<string | null>(null);\n\n constructor() {\n interval(this.PAUSE_THRESHOLD).pipe(\n filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD),\n ).subscribe(() => {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n });\n\n effect(() => {\n if (!this.isListening()) {\n this.stopRecognition();\n }\n });\n }\n\n generateComponentId(): string {\n return `speech-${++SpeechService.instanceCounter}`;\n }\n\n isActiveComponent(componentId: string): boolean {\n return this.activeComponentId() === componentId;\n }\n\n start(componentId: string): void {\n if (!this.isSupported) {\n console.warn('[SpeechService] Speech recognition is not supported');\n return;\n }\n this.stopRecognition();\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n this.isListening.set(true);\n this.startRecognition();\n }\n\n stop(): void {\n this.isListening.set(false);\n this.activeComponentId.set(null);\n }\n\n toggle(componentId: string): void {\n if (this.isActiveComponent(componentId) && this.isListening()) {\n this.stop();\n } else {\n this.start(componentId);\n }\n }\n\n clear(): void {\n this.transcript.set({ interim: '', finalized: '' });\n\n if (this.autoModeEnabled() && this.recognition && this.isListening()) {\n // Auto mode: Speech APIを止めない。result indexで古い結果をフィルタ\n this.resultIndexThreshold = this.lastKnownResultsLength;\n return;\n }\n\n // Non-auto mode: stop → onend → restart で確実にリセット\n this.ignoreResults = true;\n if (this.recognition && this.isListening()) {\n try {\n this.recognition.stop();\n } catch (error) {\n console.error('[SpeechService] Error restarting recognition:', error);\n }\n }\n }\n\n // 自動モードのトグル\n toggleAutoMode(enabled: boolean): void {\n this.autoModeEnabled.set(enabled);\n if (enabled) {\n // 自動モードON → セッション選択済みならSpeech API有効化\n if (this.selectedSessionId()) {\n this.isListening.set(true);\n this.startRecognition();\n }\n } else {\n this.stop();\n }\n }\n\n // セッション選択時の自動音声入力制御(Speech APIは止めない)\n selectSession(sessionId: string | null): void {\n const prevId = this.selectedSessionId();\n this.selectedSessionId.set(sessionId);\n if (!this.autoModeEnabled()) return;\n\n if (!sessionId) {\n this.stop();\n return;\n }\n\n // セッション切り替え時: 前のテキストを確定→書き込み先は各コンポーネントが切り替える\n if (prevId && prevId !== sessionId) {\n this.finalizeCurrentTranscript();\n }\n }\n\n // 書き込み先の切り替え専用(Speech APIは触らない)\n activateComponent(componentId: string): void {\n if (this.activeComponentId() === componentId) return;\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n }\n\n private finalizeCurrentTranscript(): void {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n }\n\n private setupRecognition(): void {\n if (!this.isSupported) return;\n\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition) return;\n\n this.recognition.onresult = (event: SpeechRecognitionEvent) => {\n if (this.ignoreResults) return;\n this.lastKnownResultsLength = event.results.length;\n\n // auto mode clear後: threshold未満のresultをスキップ\n const startIndex = Math.max(event.resultIndex, this.resultIndexThreshold);\n if (startIndex >= event.results.length) return;\n\n const { interim, finalized } = parseSpeechRecognitionEvent(event, startIndex);\n this.transcript.update((current) => ({\n interim,\n finalized: finalized.length ? `${current.finalized}${finalized}` : current.finalized\n }));\n this.lastSpeechTime.set(Date.now());\n };\n\n this.recognition.onerror = (event: SpeechRecognitionErrorEvent) => {\n console.error('[SpeechService] Recognition error:', event.error);\n if (event.error === 'not-allowed') {\n this.stop();\n }\n };\n\n this.recognition.onend = () => {\n if (this.isListening()) {\n this.startRecognition();\n }\n };\n }\n\n private startRecognition(): void {\n this.ignoreResults = false;\n this.resultIndexThreshold = 0;\n this.lastKnownResultsLength = 0;\n if (!this.recognition) {\n this.setupRecognition();\n }\n\n try {\n this.recognition?.start();\n } catch (error) {\n console.error('[SpeechService] Failed to start recognition:', error);\n this.recognition = null;\n this.setupRecognition();\n (this.recognition as SpeechRecognition | null)?.start();\n }\n }\n\n private stopRecognition(): void {\n if (this.recognition) {\n this.recognition.onend = null;\n this.recognition.onresult = null;\n this.recognition.onerror = null;\n try {\n this.recognition.stop();\n } catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-usecase-database.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/database/database.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/database/xxmachina-common-usecase-database.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { ErBuilder } from '@xxmachina/common/domain/builder';\nimport { ScreenItemBuilder } from '@xxmachina/common/domain/builder/screen-item';\nimport { Database, ScreenItem } from '@xxmachina/common/domain/models';\nimport { omit } from 'lodash-es';\nimport { injectNotion } from '@nx-ddd/notion';\n\nfunction listDatabaseProperties(database: Database, dbName: string): ScreenItem[] {\n return new ScreenItemBuilder().build(database).map(item => ({...item, dbName}));\n}\n\nexport interface DatabaseConfig {\n notionApiKey: string;\n databaseIdToName: { [key: string]: string };\n}\n\nconst DATABASE_CONFIG = new InjectionToken<DatabaseConfig>('DATABASE_CONFIG');\n\nexport function provideDatabaseConfig(useFactory: () => DatabaseConfig) {\n return { provide: DATABASE_CONFIG, useFactory };\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DatabaseService {\n private config = inject(DATABASE_CONFIG);\n private notion = injectNotion();\n\n async get(databaseId: string) {\n return this.notion
|
|
1
|
+
{"version":3,"file":"xxmachina-common-usecase-database.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/database/database.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/database/xxmachina-common-usecase-database.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\nimport { ErBuilder } from '@xxmachina/common/domain/builder';\nimport { ScreenItemBuilder } from '@xxmachina/common/domain/builder/screen-item';\nimport { Database, ScreenItem } from '@xxmachina/common/domain/models';\nimport { omit } from 'lodash-es';\nimport { injectNotion } from '@nx-ddd/notion';\n\nfunction listDatabaseProperties(database: Database, dbName: string): ScreenItem[] {\n return new ScreenItemBuilder().build(database).map(item => ({...item, dbName}));\n}\n\nexport interface DatabaseConfig {\n notionApiKey: string;\n databaseIdToName: { [key: string]: string };\n}\n\nconst DATABASE_CONFIG = new InjectionToken<DatabaseConfig>('DATABASE_CONFIG');\n\nexport function provideDatabaseConfig(useFactory: () => DatabaseConfig) {\n return { provide: DATABASE_CONFIG, useFactory };\n}\n\n@Injectable({ providedIn: 'root' })\nexport class DatabaseService {\n private config = inject(DATABASE_CONFIG);\n private notion = injectNotion();\n\n async get(databaseId: string) {\n return this.notion!.retrieveDatabase(databaseId);\n }\n\n async update(databaseId: string, body: any) {\n return this.notion!.updateDatabase(databaseId, omit({\n ...body.properties,\n }, []));\n }\n\n async listDatabases() {\n let start_cursor: string | undefined;\n const databases: any[] = [];\n\n while (true) {\n const _databases = await this.notion!.search({\n filter: {\n property: 'object',\n value: 'database',\n },\n start_cursor,\n });\n for (const db of _databases.results) {\n databases.push({\n ...db,\n _title: (db as any)['title']?.[0]?.plain_text,\n });\n }\n\n if (!_databases.has_more) break;\n start_cursor = _databases.next_cursor as string | undefined;\n }\n\n const resolve = async (item: any) => ({...item, path: await this.getPath(item)});\n\n return Promise.all(databases.map(db => resolve(db)));\n }\n\n async generateMermaidER(): Promise<string> {\n const databases = await this.listDatabases();\n return new ErBuilder().build(databases); \n }\n\n async getPageItems(dbId: string, name: string) {\n // const dbDetails = await this.notion.retrieveDatabase(dbId);\n // const items = listDatabaseProperties(dbDetails, name);\n // return items;\n return [];\n }\n\n async getParent(parent: {\n type: 'database_id',\n database_id: string\n } | {\n type: 'page_id',\n page_id: string\n } | {\n type: 'block_id',\n block_id: string\n }) {\n switch (parent.type) {\n case 'database_id': return this.notion!.retrieveDatabase(parent.database_id)\n case 'page_id': return this.notion!.retrievePage(parent.page_id);\n case 'block_id': return this.notion!.retrieveBlock(parent.block_id);\n }\n }\n\n async getPath(obj: any) {\n const objects = [obj];\n return objects.map(obj => getTitle(obj)).filter(Boolean).reverse().join('/');\n }\n}\n\nfunction getTitle(obj: any) {\n if (obj.object === 'page') {\n return obj.properties?.title?.title?.[0]?.plain_text;\n } else if (obj.object === 'database') {\n return obj._title;\n } else {\n return null;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ class GraphqlService {
|
|
|
33
33
|
`,
|
|
34
34
|
model: 'gpt-4o-mini',
|
|
35
35
|
validator: async (output) => this.graphql(output.query).then(() => []).catch(error => [error.message]),
|
|
36
|
-
}).then(result => result.query);
|
|
36
|
+
}).then((result) => result.query);
|
|
37
37
|
}
|
|
38
38
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
39
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, providedIn: 'root' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-usecase-graphql.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/graphql/graphql.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/graphql/xxmachina-common-usecase-graphql.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { injectAnyFunc } from '@nx-ddd/any-func';\nimport { injectDataConnectService } from '@xxmachina/common/infra/external/data-connect';\nimport { IsString } from 'class-validator';\n\nclass Result {\n @IsString()\n query
|
|
1
|
+
{"version":3,"file":"xxmachina-common-usecase-graphql.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/graphql/graphql.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/graphql/xxmachina-common-usecase-graphql.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { injectAnyFunc } from '@nx-ddd/any-func';\nimport { injectDataConnectService } from '@xxmachina/common/infra/external/data-connect';\nimport { IsString } from 'class-validator';\n\nclass Result {\n @IsString()\n query!: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GraphqlService {\n protected http = inject(HttpClient);\n protected anyFunc = injectAnyFunc();\n protected dc = injectDataConnectService();\n\n constructor() {}\n\n async graphql(query: string) {\n // return lastValueFrom(this.http.post('http://localhost:3330/api/dataConnect', {query}));\n return this.dc.executeGraphqlRead(query);\n }\n\n async makeQuery(instructions: string) {\n const schemaQuery = `{ __schema { types { name fields { name type { name } } } } }`;\n const schemaResult = await this.graphql(schemaQuery);\n return this.anyFunc.call(instructions, Result, {\n instructions: `\n アシスタントはユーザーの要求を満たすGraphQLクエリを下記のサーバーのスキーマを元に生成します。\n\n ${JSON.stringify(schemaResult, null, 2)}\n `,\n model: 'gpt-4o-mini',\n validator: async (output: any) => this.graphql(output.query).then(() => []).catch(error => [error.message]),\n }).then((result: any) => result.query);\n }\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAMA,MAAM,MAAM,CAAA;AAEV,IAAA,KAAK;AACN;AADC,UAAA,CAAA;AADC,IAAA,QAAQ,EAAE;;AACI,CAAA,EAAA,MAAA,CAAA,SAAA,EAAA,OAAA,EAAA,KAAA,CAAA,CAAA;MAIJ,cAAc,CAAA;AACf,IAAA,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;IACzB,OAAO,GAAG,aAAa,EAAE;IACzB,EAAE,GAAG,wBAAwB,EAAE;AAEzC,IAAA,WAAA,GAAA,EAAe;IAEf,MAAM,OAAO,CAAC,KAAa,EAAA;;QAEzB,OAAO,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC;IAC1C;IAEA,MAAM,SAAS,CAAC,YAAoB,EAAA;QAClC,MAAM,WAAW,GAAG,CAAA,6DAAA,CAA+D;QACnF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE;AAC7C,YAAA,YAAY,EAAE;;;UAGV,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,MAAA,CAAA;AACD,YAAA,KAAK,EAAE,aAAa;AACpB,YAAA,SAAS,EAAE,OAAO,MAAW,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5G,SAAA,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,KAAK,MAAM,CAAC,KAAK,CAAC;IACxC;uGAxBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADF,MAAM,EAAA,CAAA;;2FAClB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACXhC;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-usecase-spec.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/spec/spec.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/spec/xxmachina-common-usecase-spec.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { Spec } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n@Injectable({providedIn: 'root'})\nexport class SpecService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<Spec[]> {\n return this.infra.repo.redis.spec.list();\n }\n\n async get(id: string): Promise<Spec> {\n return this.infra.repo.redis.spec.get(id);\n }\n\n async create(spec: Spec): Promise<Spec> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n return this.infra.repo.redis.spec.create({...spec, embeddings, id: hash(spec.input)});\n }\n\n async update(spec: Partial<Spec>): Promise<void> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n if (spec.id !== hash(spec.input)) throw new Error('id is not match with input hash');\n return this.infra.repo.redis.spec.update({...spec, embeddings});\n }\n\n async delete(id: string): Promise<void> {\n return this.infra.repo.redis.spec.delete(id);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,WAAW,CAAA;AAEZ,IAAA,KAAA;AADV,IAAA,WAAA,CACU,KAA4B,EAAA;QAA5B,IAAA,CAAA,KAAK,GAAL,KAAK;IACX;AAEJ,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IAC1C;IAEA,MAAM,GAAG,CAAC,EAAU,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C;IAEA,MAAM,MAAM,CAAC,IAAU,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AACpG,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,GAAG,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;IACvF;IAEA,MAAM,MAAM,CAAC,IAAmB,EAAA;AAC9B,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACpG,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"xxmachina-common-usecase-spec.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/spec/spec.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/spec/xxmachina-common-usecase-spec.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { Spec } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n@Injectable({providedIn: 'root'})\nexport class SpecService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<Spec[]> {\n return this.infra.repo.redis.spec.list();\n }\n\n async get(id: string): Promise<Spec> {\n return this.infra.repo.redis.spec.get(id);\n }\n\n async create(spec: Spec): Promise<Spec> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n return this.infra.repo.redis.spec.create({...spec, embeddings, id: hash(spec.input)});\n }\n\n async update(spec: Partial<Spec>): Promise<void> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n if (spec.id !== hash(spec.input as string)) throw new Error('id is not match with input hash');\n return this.infra.repo.redis.spec.update({...spec, embeddings});\n }\n\n async delete(id: string): Promise<void> {\n return this.infra.repo.redis.spec.delete(id);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAMa,WAAW,CAAA;AAEZ,IAAA,KAAA;AADV,IAAA,WAAA,CACU,KAA4B,EAAA;QAA5B,IAAA,CAAA,KAAK,GAAL,KAAK;IACX;AAEJ,IAAA,MAAM,IAAI,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;IAC1C;IAEA,MAAM,GAAG,CAAC,EAAU,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3C;IAEA,MAAM,MAAM,CAAC,IAAU,EAAA;AACrB,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;AACpG,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,GAAG,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC,CAAC;IACvF;IAEA,MAAM,MAAM,CAAC,IAAmB,EAAA;AAC9B,QAAA,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;QAClE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QACpG,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,KAAe,CAAC;AAAE,YAAA,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC;AAC9F,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,GAAG,IAAI,EAAE,UAAU,EAAC,CAAC;IACjE;IAEA,MAAM,MAAM,CAAC,EAAU,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9C;uGA5BW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADC,MAAM,EAAA,CAAA;;2FAClB,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;ACLhC;;AAEG;;;;"}
|
|
@@ -166,7 +166,7 @@ class GraphqlService {
|
|
|
166
166
|
`,
|
|
167
167
|
model: 'gpt-4o-mini',
|
|
168
168
|
validator: async (output) => this.graphql(output.query).then(() => []).catch(error => [error.message]),
|
|
169
|
-
}).then(result => result.query);
|
|
169
|
+
}).then((result) => result.query);
|
|
170
170
|
}
|
|
171
171
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
172
172
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: GraphqlService, providedIn: 'root' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-usecase.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/assistant/assistant.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/spec/spec.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/project/project.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/link/link.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/graphql/graphql.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/usecase.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/xxmachina-common-usecase.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { AssistantOperator } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n\n@Injectable({providedIn: 'root'})\nexport class AssistantService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<AssistantOperator[]> {\n return await this.infra.repo.redis.operator.list() as AssistantOperator[];\n }\n\n async create(assistant: AssistantOperator): Promise<AssistantOperator> {\n return this.infra.repo.redis.operator.create(assistant) as any;\n }\n\n async update(assistant: AssistantOperator): Promise<void> {\n return this.infra.repo.redis.operator.update(assistant);\n }\n\n async delete(assistantid: string): Promise<void> {\n return this.infra.repo.redis.operator.delete(assistantid);\n }\n\n async operate(assistantId: string, input: string): Promise<string> {\n const project = await this.infra.repo.redis.project.get('default');\n const assistant = await this.infra.repo.redis.operator.get(assistantId);\n const adapter = this.infra.external.getAiAdapter(project.settings.ai)\n const embeddings = await adapter.embedding(input);\n const specs = await this.infra.repo.redis.spec.search(assistant.id, embeddings);\n\n const messages = [\n {role: 'system', content: assistant.description},\n ...specs.map(spec => [\n {role: 'system', content: spec.input},\n {role: 'assistant', content: spec.output},\n ]).flat(),\n {role: 'user', content: input},\n ];\n\n console.debug('messages', messages);\n const output_ = await adapter.chatComplete(messages);\n const output = this.scrape(assistant.outputInterfaceId, output_);\n await this.infra.repo.redis.spec.create({\n input, output, embeddings, id: hash(input), operatorId: assistant.id,\n }).catch(() => {});\n\n return output;\n }\n\n private scrape(interface_: string, output: string): string {\n if (interface_ === 'interface:codeblock') {\n const [_, ...lines] = (output.split('```')?.[1] ?? '').split('\\n');\n return `\\`\\`\\`\\n${lines.join('\\n')}\\n\\`\\`\\``;\n } else {\n return output;\n }\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { Spec } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n@Injectable({providedIn: 'root'})\nexport class SpecService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<Spec[]> {\n return this.infra.repo.redis.spec.list();\n }\n\n async get(id: string): Promise<Spec> {\n return this.infra.repo.redis.spec.get(id);\n }\n\n async create(spec: Spec): Promise<Spec> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n return this.infra.repo.redis.spec.create({...spec, embeddings, id: hash(spec.input)});\n }\n\n async update(spec: Partial<Spec>): Promise<void> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n if (spec.id !== hash(spec.input)) throw new Error('id is not match with input hash');\n return this.infra.repo.redis.spec.update({...spec, embeddings});\n }\n\n async delete(id: string): Promise<void> {\n return this.infra.repo.redis.spec.delete(id);\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { Project } from \"@xxmachina/common/domain/models\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\n\n\n@Injectable({providedIn: 'root'})\nexport class ProjectService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<Project[]> {\n return await this.infra.repo.redis.project.list() as Project[];\n }\n\n async get(projectId: string): Promise<Project> {\n return this.infra.repo.redis.project.get(projectId);\n }\n\n async create(project: Project): Promise<Project> {\n return this.infra.repo.redis.project.create(project);\n }\n\n async update(project: Project): Promise<void> {\n return this.infra.repo.redis.project.update(project);\n }\n}\n","import { Google } from \"@xxmachina/common/domain/models\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { Injectable } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class LinkService {\n constructor(\n public infra: InfrastructureService,\n ) { }\n\n saveGoogleLink(google: Google) {\n return this.infra.repo.firestore.link.google.save(google);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { injectAnyFunc } from '@nx-ddd/any-func';\nimport { injectDataConnectService } from '@xxmachina/common/infra/external/data-connect';\nimport { IsString } from 'class-validator';\n\nclass Result {\n @IsString()\n query: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GraphqlService {\n protected http = inject(HttpClient);\n protected anyFunc = injectAnyFunc();\n protected dc = injectDataConnectService();\n\n constructor() {}\n\n async graphql(query: string) {\n // return lastValueFrom(this.http.post('http://localhost:3330/api/dataConnect', {query}));\n return this.dc.executeGraphqlRead(query);\n }\n\n async makeQuery(instructions: string) {\n const schemaQuery = `{ __schema { types { name fields { name type { name } } } } }`;\n const schemaResult = await this.graphql(schemaQuery);\n return this.anyFunc.call(instructions, Result, {\n instructions: `\n アシスタントはユーザーの要求を満たすGraphQLクエリを下記のサーバーのスキーマを元に生成します。\n\n ${JSON.stringify(schemaResult, null, 2)}\n `,\n model: 'gpt-4o-mini',\n validator: async (output) => this.graphql(output.query).then(() => []).catch(error => [error.message]),\n }).then(result => result.query);\n }\n\n}","import { inject, Injectable } from \"@angular/core\";\nimport { AssistantService } from \"./assistant\";\nimport { SpecService } from \"./spec\";\nimport { ProjectService } from \"./project\";\nimport { LinkService } from \"./link\";\nimport { GraphqlService } from \"./graphql\";\n\n@Injectable({providedIn: 'root'})\nexport class UsecaseService {\n readonly assistant = inject(AssistantService)\n readonly link = inject(LinkService)\n readonly project = inject(ProjectService)\n readonly spec = inject(SpecService)\n readonly graphql = inject(GraphqlService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"xxmachina-common-usecase.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/usecase/assistant/assistant.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/spec/spec.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/project/project.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/link/link.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/graphql/graphql.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/usecase.service.ts","../../../../../packages/@xxmachina/common/src/lib/usecase/xxmachina-common-usecase.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { AssistantOperator } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n\n@Injectable({providedIn: 'root'})\nexport class AssistantService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<AssistantOperator[]> {\n return await this.infra.repo.redis.operator.list() as AssistantOperator[];\n }\n\n async create(assistant: AssistantOperator): Promise<AssistantOperator> {\n return this.infra.repo.redis.operator.create(assistant) as any;\n }\n\n async update(assistant: AssistantOperator): Promise<void> {\n return this.infra.repo.redis.operator.update(assistant);\n }\n\n async delete(assistantid: string): Promise<void> {\n return this.infra.repo.redis.operator.delete(assistantid);\n }\n\n async operate(assistantId: string, input: string): Promise<string> {\n const project = await this.infra.repo.redis.project.get('default');\n const assistant = await this.infra.repo.redis.operator.get(assistantId);\n const adapter = this.infra.external.getAiAdapter(project.settings.ai)\n const embeddings = await adapter.embedding(input);\n const specs = await this.infra.repo.redis.spec.search(assistant.id, embeddings);\n\n const messages = [\n {role: 'system', content: assistant.description},\n ...specs.map(spec => [\n {role: 'system', content: spec.input},\n {role: 'assistant', content: spec.output},\n ]).flat(),\n {role: 'user', content: input},\n ];\n\n console.debug('messages', messages);\n const output_ = await adapter.chatComplete(messages);\n const output = this.scrape(assistant.outputInterfaceId, output_);\n await this.infra.repo.redis.spec.create({\n input, output, embeddings, id: hash(input), operatorId: assistant.id,\n }).catch(() => {});\n\n return output;\n }\n\n private scrape(interface_: string, output: string): string {\n if (interface_ === 'interface:codeblock') {\n const [_, ...lines] = (output.split('```')?.[1] ?? '').split('\\n');\n return `\\`\\`\\`\\n${lines.join('\\n')}\\n\\`\\`\\``;\n } else {\n return output;\n }\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { Spec } from \"@xxmachina/common/domain/models\";\nimport { hash } from \"@xxmachina/common/utils/crypto\";\n\n@Injectable({providedIn: 'root'})\nexport class SpecService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<Spec[]> {\n return this.infra.repo.redis.spec.list();\n }\n\n async get(id: string): Promise<Spec> {\n return this.infra.repo.redis.spec.get(id);\n }\n\n async create(spec: Spec): Promise<Spec> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n return this.infra.repo.redis.spec.create({...spec, embeddings, id: hash(spec.input)});\n }\n\n async update(spec: Partial<Spec>): Promise<void> {\n const project = await this.infra.repo.redis.project.get('default');\n const embeddings = await this.infra.external.getAiAdapter(project.settings.ai).embedding(spec.input);\n if (spec.id !== hash(spec.input as string)) throw new Error('id is not match with input hash');\n return this.infra.repo.redis.spec.update({...spec, embeddings});\n }\n\n async delete(id: string): Promise<void> {\n return this.infra.repo.redis.spec.delete(id);\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { Project } from \"@xxmachina/common/domain/models\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\n\n\n@Injectable({providedIn: 'root'})\nexport class ProjectService {\n constructor(\n private infra: InfrastructureService,\n ) { }\n\n async list(): Promise<Project[]> {\n return await this.infra.repo.redis.project.list() as Project[];\n }\n\n async get(projectId: string): Promise<Project> {\n return this.infra.repo.redis.project.get(projectId);\n }\n\n async create(project: Project): Promise<Project> {\n return this.infra.repo.redis.project.create(project);\n }\n\n async update(project: Project): Promise<void> {\n return this.infra.repo.redis.project.update(project);\n }\n}\n","import { Google } from \"@xxmachina/common/domain/models\";\nimport { InfrastructureService } from \"@xxmachina/common/infra\";\nimport { Injectable } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class LinkService {\n constructor(\n public infra: InfrastructureService,\n ) { }\n\n saveGoogleLink(google: Google) {\n return this.infra.repo.firestore.link.google.save(google);\n }\n}","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable } from '@angular/core';\nimport { injectAnyFunc } from '@nx-ddd/any-func';\nimport { injectDataConnectService } from '@xxmachina/common/infra/external/data-connect';\nimport { IsString } from 'class-validator';\n\nclass Result {\n @IsString()\n query!: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class GraphqlService {\n protected http = inject(HttpClient);\n protected anyFunc = injectAnyFunc();\n protected dc = injectDataConnectService();\n\n constructor() {}\n\n async graphql(query: string) {\n // return lastValueFrom(this.http.post('http://localhost:3330/api/dataConnect', {query}));\n return this.dc.executeGraphqlRead(query);\n }\n\n async makeQuery(instructions: string) {\n const schemaQuery = `{ __schema { types { name fields { name type { name } } } } }`;\n const schemaResult = await this.graphql(schemaQuery);\n return this.anyFunc.call(instructions, Result, {\n instructions: `\n アシスタントはユーザーの要求を満たすGraphQLクエリを下記のサーバーのスキーマを元に生成します。\n\n ${JSON.stringify(schemaResult, null, 2)}\n `,\n model: 'gpt-4o-mini',\n validator: async (output: any) => this.graphql(output.query).then(() => []).catch(error => [error.message]),\n }).then((result: any) => result.query);\n }\n\n}","import { inject, Injectable } from \"@angular/core\";\nimport { AssistantService } from \"./assistant\";\nimport { SpecService } from \"./spec\";\nimport { ProjectService } from \"./project\";\nimport { LinkService } from \"./link\";\nimport { GraphqlService } from \"./graphql\";\n\n@Injectable({providedIn: 'root'})\nexport class UsecaseService {\n readonly assistant = inject(AssistantService)\n readonly link = inject(LinkService)\n readonly project = inject(ProjectService)\n readonly spec = inject(SpecService)\n readonly graphql = inject(GraphqlService);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-utils.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/utils/extract-display-fields.ts","../../../../../packages/@xxmachina/common/src/lib/utils/xxmachina-common-utils.ts"],"sourcesContent":["import { JsonSchema } from 'json-schema-library';\n\n// JSONスキーマを受け取り、表示項目のリストを生成する関数\nexport function extractDisplayFields(schema: JsonSchema, prefix = '', childrenKey = 'children'): string[] {\n const fields: string[] = [];\n\n if (schema.type === 'object' && schema.properties) {\n for (const key in schema.properties) {\n const propertySchema = schema.properties[key];\n const path = prefix ? `${prefix}.${key}` : key;\n\n // anyOfを処理\n if (propertySchema.anyOf) {\n propertySchema.anyOf.forEach((subSchema) => {\n if (subSchema.type === 'object' || subSchema.type === 'array') {\n const nestedFields = extractDisplayFields(subSchema, path, childrenKey);\n fields.push(...nestedFields);\n }\n });\n } else if (propertySchema.type === 'array' && propertySchema.items) {\n // 配列を処理\n if (key === childrenKey) {\n // childrenKeyに一致する場合、再帰的に処理\n const arrayFields = extractDisplayFields(propertySchema.items, '', childrenKey);\n fields.push(...arrayFields);\n }\n } else if (propertySchema.type !== 'object') {\n // 基本的なプロパティはそのまま追加\n fields.push(path);\n } else {\n // ネストされたオブジェクトに対して再帰的に呼び出す\n const nestedFields = extractDisplayFields(propertySchema, path, childrenKey);\n fields.push(...nestedFields);\n }\n\n // 特定のプロパティ(costAttribute)を処理\n if (key === 'costAttribute' && propertySchema.type === 'object') {\n fields.push(path);\n }\n }\n } else if (schema.type === 'array' && schema.items) {\n // ルートが配列の場合を処理\n const arrayFields = extractDisplayFields(schema.items, '', childrenKey);\n fields.push(...arrayFields);\n }\n\n return [...new Set(fields).keys()]\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEA;AACM,SAAU,oBAAoB,CAAC,MAAkB,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,GAAG,UAAU,EAAA;IAC5F,MAAM,MAAM,GAAa,EAAE;IAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AACjD,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE;YACnC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AAC7C,YAAA,MAAM,IAAI,GAAG,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,GAAG,GAAG;;AAG9C,YAAA,IAAI,cAAc,CAAC,KAAK,EAAE;gBACxB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"xxmachina-common-utils.mjs","sources":["../../../../../packages/@xxmachina/common/src/lib/utils/extract-display-fields.ts","../../../../../packages/@xxmachina/common/src/lib/utils/xxmachina-common-utils.ts"],"sourcesContent":["import { JsonSchema } from 'json-schema-library';\n\n// JSONスキーマを受け取り、表示項目のリストを生成する関数\nexport function extractDisplayFields(schema: JsonSchema, prefix = '', childrenKey = 'children'): string[] {\n const fields: string[] = [];\n\n if (schema.type === 'object' && schema.properties) {\n for (const key in schema.properties) {\n const propertySchema = schema.properties[key];\n const path = prefix ? `${prefix}.${key}` : key;\n\n // anyOfを処理\n if (propertySchema.anyOf) {\n propertySchema.anyOf.forEach((subSchema: any) => {\n if (subSchema.type === 'object' || subSchema.type === 'array') {\n const nestedFields = extractDisplayFields(subSchema, path, childrenKey);\n fields.push(...nestedFields);\n }\n });\n } else if (propertySchema.type === 'array' && propertySchema.items) {\n // 配列を処理\n if (key === childrenKey) {\n // childrenKeyに一致する場合、再帰的に処理\n const arrayFields = extractDisplayFields(propertySchema.items, '', childrenKey);\n fields.push(...arrayFields);\n }\n } else if (propertySchema.type !== 'object') {\n // 基本的なプロパティはそのまま追加\n fields.push(path);\n } else {\n // ネストされたオブジェクトに対して再帰的に呼び出す\n const nestedFields = extractDisplayFields(propertySchema, path, childrenKey);\n fields.push(...nestedFields);\n }\n\n // 特定のプロパティ(costAttribute)を処理\n if (key === 'costAttribute' && propertySchema.type === 'object') {\n fields.push(path);\n }\n }\n } else if (schema.type === 'array' && schema.items) {\n // ルートが配列の場合を処理\n const arrayFields = extractDisplayFields(schema.items, '', childrenKey);\n fields.push(...arrayFields);\n }\n\n return [...new Set(fields).keys()]\n}\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAEA;AACM,SAAU,oBAAoB,CAAC,MAAkB,EAAE,MAAM,GAAG,EAAE,EAAE,WAAW,GAAG,UAAU,EAAA;IAC5F,MAAM,MAAM,GAAa,EAAE;IAE3B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE;AACjD,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE;YACnC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;AAC7C,YAAA,MAAM,IAAI,GAAG,MAAM,GAAG,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,GAAG,CAAA,CAAE,GAAG,GAAG;;AAG9C,YAAA,IAAI,cAAc,CAAC,KAAK,EAAE;gBACxB,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAc,KAAI;AAC9C,oBAAA,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;wBAC7D,MAAM,YAAY,GAAG,oBAAoB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC;AACvE,wBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;oBAC9B;AACF,gBAAA,CAAC,CAAC;YACJ;iBAAO,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE;;AAElE,gBAAA,IAAI,GAAG,KAAK,WAAW,EAAE;;AAEvB,oBAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;AAC/E,oBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;gBAC7B;YACF;AAAO,iBAAA,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAE3C,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB;iBAAO;;gBAEL,MAAM,YAAY,GAAG,oBAAoB,CAAC,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC;AAC5E,gBAAA,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;YAC9B;;YAGA,IAAI,GAAG,KAAK,eAAe,IAAI,cAAc,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC/D,gBAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB;QACF;IACF;SAAO,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EAAE;;AAElD,QAAA,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;AACvE,QAAA,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;IAC7B;IAEA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC;;AC/CA;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xxmachina/common",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.36.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
"@nestjs/common": "10.2.8",
|
|
14
14
|
"@nestjs/graphql": "^11.0.0",
|
|
15
15
|
"@nestjs/passport": "^9.0.3",
|
|
16
|
-
"@ng-atomic/common": "19.
|
|
17
|
-
"@ng-atomic/components": "19.
|
|
18
|
-
"@ng-atomic/core": "19.
|
|
19
|
-
"@nx-ddd/common": "19.
|
|
20
|
-
"@nx-ddd/core": "19.
|
|
16
|
+
"@ng-atomic/common": "19.36.0",
|
|
17
|
+
"@ng-atomic/components": "19.36.0",
|
|
18
|
+
"@ng-atomic/core": "19.36.0",
|
|
19
|
+
"@nx-ddd/common": "19.36.0",
|
|
20
|
+
"@nx-ddd/core": "19.36.0",
|
|
21
21
|
"@tfarras/nestjs-firebase-auth": "^2.0.0",
|
|
22
22
|
"apollo-angular": "^7.0.2",
|
|
23
23
|
"class-transformer": "^0.5.1",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"validate-azure-ad-token": "^2.2.0"
|
|
44
44
|
},
|
|
45
45
|
"optionalDependencies": {
|
|
46
|
-
"@nx-ddd/any-func": "19.
|
|
47
|
-
"@nx-ddd/firestore": "19.
|
|
48
|
-
"@nx-ddd/google": "19.
|
|
49
|
-
"@nx-ddd/hasura": "19.
|
|
50
|
-
"@nx-ddd/notion": "19.
|
|
46
|
+
"@nx-ddd/any-func": "19.36.0",
|
|
47
|
+
"@nx-ddd/firestore": "19.36.0",
|
|
48
|
+
"@nx-ddd/google": "19.36.0",
|
|
49
|
+
"@nx-ddd/hasura": "19.36.0",
|
|
50
|
+
"@nx-ddd/notion": "19.36.0",
|
|
51
51
|
"@notionhq/client": "^2.2.15"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
@@ -20,9 +20,9 @@ declare class AzureAuthService extends AuthService {
|
|
|
20
20
|
msal: MsalService;
|
|
21
21
|
protected readonly config: AzureAuthConfig;
|
|
22
22
|
readonly auth$: ReplaySubject<AccountInfo>;
|
|
23
|
-
readonly auth: _angular_core.Signal<AccountInfo>;
|
|
24
|
-
readonly accessToken: _angular_core.WritableSignal<
|
|
25
|
-
readonly accessToken$: Observable<
|
|
23
|
+
readonly auth: _angular_core.Signal<AccountInfo | undefined>;
|
|
24
|
+
readonly accessToken: _angular_core.WritableSignal<string | null>;
|
|
25
|
+
readonly accessToken$: Observable<string>;
|
|
26
26
|
readonly http: HttpClient;
|
|
27
27
|
constructor(msal: MsalService);
|
|
28
28
|
initialize(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-auth-azure.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/auth/azure/auth.service.ts","../../../../../packages/@xxmachina/common/src/lib/auth/azure/auth.di.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;AAOA;;;AAIE;AACA;AACD;;;;AAKA;AAED;AAEA;AASqB;AAPnB
|
|
1
|
+
{"version":3,"file":"xxmachina-common-auth-azure.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/auth/azure/auth.service.ts","../../../../../packages/@xxmachina/common/src/lib/auth/azure/auth.di.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;AAOA;;;AAIE;AACA;AACD;;;;AAKA;AAED;AAEA;AASqB;AAPnB;;;;AAIA;;AAGmB;;AAoCb;AAgBA;AAWU;AAWV;;;AAaP;;AC7GD;AAWA;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-domain-builder.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/domain/builder/command/command.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/command-action/command-action.types.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/command-action/command-action.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/command-action/command-action.helpers.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/er/er.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/query/query.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/screen-item/screen-item.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/screen-item/notion-property-config.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;AAEA;AACE;AAoBD;;ACrBD;AACE;AACA;AACD;AAEK;;;AAGL;AAEK;;;AAGJ;;;;AAID;;ACXD;;;;;;AAOE;AAUA;;AAYA;AAMA;;;;AAOA;AAMA;AAMA;AAmBA;;AA2BD;;ACtGD;;AAEG;AACH;AAgBA;;AAEG;AACH;;AC5BA;;;;AAIC;AAED;;;;;AAKC;AAgCD;AACE;;AAgBS;AAA4B;AAkDrC;AAmBD;;
|
|
1
|
+
{"version":3,"file":"xxmachina-common-domain-builder.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/domain/builder/command/command.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/command-action/command-action.types.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/command-action/command-action.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/command-action/command-action.helpers.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/er/er.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/query/query.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/screen-item/screen-item.builder.ts","../../../../../packages/@xxmachina/common/src/lib/domain/builder/screen-item/notion-property-config.ts"],"sourcesContent":[null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;AAEA;AACE;AAoBD;;ACrBD;AACE;AACA;AACD;AAEK;;;AAGL;AAEK;;;AAGJ;;;;AAID;;ACXD;;;;;;AAOE;AAUA;;AAYA;AAMA;;;;AAOA;AAMA;AAMA;AAmBA;;AA2BD;;ACtGD;;AAEG;AACH;AAgBA;;AAEG;AACH;;AC5BA;;;;AAIC;AAED;;;;;AAKC;AAgCD;AACE;;AAgBS;AAA4B;AAkDrC;AAmBD;;AC7HD;AACE;;;AAGE;AACA;;AAED;AAmBF;;ACJD;;AAEG;AACH;AACE;AAcD;;AC1CD;;AAEG;;AAED;;AAEA;AACD;AAED;;AAEG;AACH;AAqBA;;AAEG;AACH;AAMA;;AAEG;AACH;;;"}
|
|
@@ -392,32 +392,6 @@ declare class Query<R extends object = any, D extends object = any> {
|
|
|
392
392
|
}): Query;
|
|
393
393
|
}
|
|
394
394
|
|
|
395
|
-
/**
|
|
396
|
-
* クエリ操作のメインヘルパー
|
|
397
|
-
* バリデーション・結果処理は専用ヘルパーに委譲
|
|
398
|
-
*/
|
|
399
|
-
declare class QueryHelper {
|
|
400
|
-
static validate: any;
|
|
401
|
-
static validateGraphqlQuery: any;
|
|
402
|
-
static tryParseJson: any;
|
|
403
|
-
static isParseableJson: any;
|
|
404
|
-
static isExecutableGetSchemaGraphql: any;
|
|
405
|
-
static getResult: any;
|
|
406
|
-
static getResultErrors: any;
|
|
407
|
-
static throwResultError: any;
|
|
408
|
-
static mapFieldsToColumns: any;
|
|
409
|
-
static snakeToCamelObject: any;
|
|
410
|
-
static parseResult: any;
|
|
411
|
-
static extractColumnNames: any;
|
|
412
|
-
static convertToV2: any;
|
|
413
|
-
static setup(query: Query, partialVariables?: object): Query;
|
|
414
|
-
static mergeVariables(variables: object, params: object): Record<string, any>;
|
|
415
|
-
static tryParse(query: Query): Query;
|
|
416
|
-
static overwrite(current: object, preVariables: object): {};
|
|
417
|
-
static buildTemp(query: Partial<Query>): Query;
|
|
418
|
-
static pruneUnusedVariables(variables: object, query: string): object;
|
|
419
|
-
}
|
|
420
|
-
|
|
421
395
|
/**
|
|
422
396
|
* クエリのバリデーション関連ヘルパー
|
|
423
397
|
*/
|
|
@@ -449,6 +423,32 @@ declare class QueryResultHelper {
|
|
|
449
423
|
static convertToV2(query: Query): Query;
|
|
450
424
|
}
|
|
451
425
|
|
|
426
|
+
/**
|
|
427
|
+
* クエリ操作のメインヘルパー
|
|
428
|
+
* バリデーション・結果処理は専用ヘルパーに委譲
|
|
429
|
+
*/
|
|
430
|
+
declare class QueryHelper {
|
|
431
|
+
static validate: typeof QueryValidationHelper.validate;
|
|
432
|
+
static validateGraphqlQuery: typeof QueryValidationHelper.validateGraphqlQuery;
|
|
433
|
+
static tryParseJson: typeof QueryValidationHelper.tryParseJson;
|
|
434
|
+
static isParseableJson: typeof QueryValidationHelper.isParseableJson;
|
|
435
|
+
static isExecutableGetSchemaGraphql: typeof QueryValidationHelper.isExecutableGetSchemaGraphql;
|
|
436
|
+
static getResult: typeof QueryResultHelper.getResult;
|
|
437
|
+
static getResultErrors: typeof QueryResultHelper.getResultErrors;
|
|
438
|
+
static throwResultError: typeof QueryResultHelper.throwResultError;
|
|
439
|
+
static mapFieldsToColumns: typeof QueryResultHelper.mapFieldsToColumns;
|
|
440
|
+
static snakeToCamelObject: typeof QueryResultHelper.snakeToCamelObject;
|
|
441
|
+
static parseResult: typeof QueryResultHelper.parseResult;
|
|
442
|
+
static extractColumnNames: typeof QueryResultHelper.extractColumnNames;
|
|
443
|
+
static convertToV2: typeof QueryResultHelper.convertToV2;
|
|
444
|
+
static setup(query: Query, partialVariables?: object): Query;
|
|
445
|
+
static mergeVariables(variables: object, params: object): Record<string, any>;
|
|
446
|
+
static tryParse(query: Query): Query;
|
|
447
|
+
static overwrite(current: object, preVariables: object): {};
|
|
448
|
+
static buildTemp(query: Partial<Query>): Query;
|
|
449
|
+
static pruneUnusedVariables(variables: object, query: string): object;
|
|
450
|
+
}
|
|
451
|
+
|
|
452
452
|
declare class Resource {
|
|
453
453
|
id: string;
|
|
454
454
|
projectId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-domain-models.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/domain/models/agent/assistant.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/bookmarklet/bookmarklet.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/command/command.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/command/command.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/database/database.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/endpoint/endpoint.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/links/google/google.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/openapi/openapi.schema.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/openapi/openapi.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/base.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/assistants/base.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/systems/base.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/systems/graphql.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/systems/rest.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/workflows/workflow.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/presenter/presenter.types.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/project.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query-
|
|
1
|
+
{"version":3,"file":"xxmachina-common-domain-models.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/domain/models/agent/assistant.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/bookmarklet/bookmarklet.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/command/command.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/command/command.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/database/database.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/endpoint/endpoint.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/links/google/google.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/openapi/openapi.schema.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/openapi/openapi.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/base.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/assistants/base.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/systems/base.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/systems/graphql.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/systems/rest.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/operators/workflows/workflow.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/presenter/presenter.types.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/project.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query-validation.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query-result.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/query/query.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/resource/resource.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/resource/resource.helper.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/scheduler/schedule.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/screen-item/screen-item.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/spec.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/transformer/transformer.ts","../../../../../packages/@xxmachina/common/src/lib/domain/models/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;AAGA;;;;AAIwC;;;;AAIvC;;ACRD;;;;;AAOyB;AACA;AACxB;;ACVD;AAC8B;AAC5B;;;;;;;AAOD;AAED;;;;;;AAMC;AAEK;;ACdN;AACE;AAID;;ACZD;;;;AAIE;AACD;;ACLD;;AAOE;AAQD;;ACbD;;;;;;AAMC;AAED;AACkB;;;AAGjB;;ACdK;;AAEJ;;;;;;;;AAQC;AACD;;;;;AAKC;;AAGH;AACG;;AAGH;AAEA;;;;AAIE;;AAEA;AACA;;AAGF;;;;;;;AAQA;;AAEE;;;AAIF;;;;;AAMA;;;;;AAMA;AACE;;;AAGA;;AAGF;;;;;;AAOA;;;;;AAMA;;;;;;AC7EA;AAEI;;;AAAuD;;;AAWzD;;AAQA;AAIA;AAIA;;AAQA;AAIA;;AAQA;AAIA;AAID;AAED;AACE;AAIA;AAIA;AAIA;AAIA;AASA;AAIA;;AAQA;AAGD;;ACxGD;AACE;AACA;AACA;AACD;;;;;;;;AAWA;;ACbK;AACJ;AACD;AAED;;ACJM;AACJ;AACA;AACD;;ACHK;;;AAGL;;ACHK;;;;AAIL;;ACJK;AACJ;AACA;;;;AAIC;AACF;;ACND;;AAEG;;AAED;AACA;;;AAGA;;AAED;AAED;;AAEG;AACG;AACJ;;;;;;;;;;AAUD;AAED;;AAEG;;;;;;AAMF;AAED;;AAEG;;;;;;;AAOF;AAED;;AAEG;;AAED;;;AAGD;AAED;;AAEG;;;AAGD;;AAED;AAED;;AAEG;;;AAGF;AAED;;AAEG;;;;;;;AAOF;AAED;;AAEG;;;;;;;;AAQF;AAED;;AAEG;AACG;;;AAGL;AAED;;;;;AAKG;AACG;;;AAEe;;AACpB;AAED;;;;;;AAMG;AACG;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;ACtID;AACE;AACA;AACD;;;AAIA;;;;AAKA;;;AAIC;AACD;;;AAIA;;;;AAKA;;AClBD;;;;;;;;;AAYC;AAED;;;;;AAQ6D;;AAImB;AACA;AAE9E;;AAGC;AAcF;;ACnDD;;AAEG;AACH;AACE;AAKA;;AAiBA;AASA;AAGD;;AClCD;;AAEG;AACH;;AAKE;AAIA;AAMA;AAsBA;;;AAcgE;AAAe;AAS/E;AAmBA;;AAEG;AACH;AAmBD;;ACzGD;;;AAGG;AACH;;;;;;;;;;;;;;;AA+BE;AAIA;;;;AAuED;;AC7GD;;;;AAKwD;AACgB;;;AAGA;;;AAI4B;AACA;AACnG;;ACpBD;AACE;AAQD;;ACND;;;;;;AAMiC;AACA;;AAWhC;AAED;AAQA;;;;;AAUC;AAED;;AAsBE;AACA;AACD;;;;;AClEC;;;;;AAKD;;;;;;;;ACFA;;ACHD;;;;;;;;AAUC;;;;;;ACQC;;AAED;;;;;;AAQA;;;;AAKA;;;AAIC;;;;;AAKD;AAEK;;;"}
|
|
@@ -5,7 +5,7 @@ import * as i0 from '@angular/core';
|
|
|
5
5
|
declare class GoogleConverter implements IFirestoreConverter<Google> {
|
|
6
6
|
private adapter;
|
|
7
7
|
constructor(adapter: FirestoreAdapter);
|
|
8
|
-
fromFirestore(doc: any): Google;
|
|
8
|
+
fromFirestore(doc: DocumentSnapshot<any>): Google;
|
|
9
9
|
fromFirestoreMany(docs: DocumentSnapshot<any>[]): Google[];
|
|
10
10
|
toFirestore(data: Google): Google;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<GoogleConverter, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-infra-converters-google.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/infra/converters/google/google.converter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAMA,cAAA,eAAA,YAAA,mBAAA,CAAA,MAAA;AAGI;AAAQ,yBAAA,gBAAA
|
|
1
|
+
{"version":3,"file":"xxmachina-common-infra-converters-google.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/infra/converters/google/google.converter.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAMA,cAAA,eAAA,YAAA,mBAAA,CAAA,MAAA;AAGI;AAAQ,yBAAA,gBAAA;;;AAcV,sBAAA,MAAA,GAAA,MAAA;;;AAMD;;;;"}
|
|
@@ -6,7 +6,7 @@ interface ResendConfig {
|
|
|
6
6
|
apiKey: string;
|
|
7
7
|
}
|
|
8
8
|
declare class ResendService extends Resend {
|
|
9
|
-
constructor(config?: ResendConfig);
|
|
9
|
+
constructor(config?: ResendConfig | null);
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<ResendService, never>;
|
|
11
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<ResendService>;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-infra-repository-notion.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/order/order.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.repository.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;AAIC;AAED;AAEA;;;AAEC;;ACND
|
|
1
|
+
{"version":3,"file":"xxmachina-common-infra-repository-notion.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/order/order.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.repository.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;AAIC;AAED;AAEA;;;AAEC;;ACND;;AAGE;;;AACD;;;;ACJA;AAED;AAEA;;;AAEC;;ACND;;AAGE;;;AACD;;ACJD;;AAGE;;;AACD;;;;ACJA;AAED;AAEA;;;AAEC;;ACND;;AAGE;;;AACD;;;;;;;;ACIA;AAED;;;;;;AAQC;;AChBD;AAGW;AACA;AACA;AACA;AAHA;;;AAKV;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xxmachina-common-infra.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/order/order.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/external/external.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/external/external.service.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/redis.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/operator/operator.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/project/project.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/spec/spec.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/system/system.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/redis.service.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/repository.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/infrastructure.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/firestore/link/google/google.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/firestore/link/link.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/firestore/firestore.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/repository.service.ts","../../../../../packages/@xxmachina/common/src/lib/infra/infrastructure.service.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIC;;ACAD
|
|
1
|
+
{"version":3,"file":"xxmachina-common-infra.d.ts","sources":["../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/contract/contract.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/invoice/invoice.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/order/order.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/partner/partner.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/external/external.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/external/external.service.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/redis.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/operator/operator.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/project/project.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/spec/spec.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/system/system.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/redis/redis.service.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/repository.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/infrastructure.config.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/firestore/link/google/google.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/firestore/link/link.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/firestore/firestore.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/repository.service.ts","../../../../../packages/@xxmachina/common/src/lib/infra/infrastructure.service.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIC;;ACAD;;AAGE;;;AACD;;;;ACJA;;ACAD;;AAGE;;;AACD;;ACJD;;AAGE;;;AACD;;;;ACJA;;ACAD;;AAGE;;;AACD;;;;;;;;ACIA;;ACND;AAGW;AACA;AACA;AACA;AAHA;;;AAKV;;;;;ACTA;;ACAD;;;AAKE;;;AAGD;;;;ACTA;;ACAD;;;;AAGC;;ACHD;;;;;;;AACqD;AAOnD;;;AAA2D;AAM5D;AAED;;;;;AAIC;;ACdD;;;;;;AAwBE;;AAoBM;AAeN;AAIA;;;AAID;;AC3ED;;;;AAGC;;ACCD;;;;;;;AAMC;;;;;ACLA;;;;;ACDA;AAED;;;;;;;;;;;;AAKC;;ACRD;;;;;AAIC;;ACND;AAGW;AAAA;;;AAEV;;ACJD;AAIW;AAAA;;;AAEV;;ACLD;;;;;;AAKC;;ACND;AAGW;AACA;AADA;;;AAGV;;;"}
|
|
@@ -18,12 +18,12 @@ declare class SpeechService {
|
|
|
18
18
|
interim: string;
|
|
19
19
|
}>;
|
|
20
20
|
readonly isListening: _angular_core.WritableSignal<boolean>;
|
|
21
|
-
readonly activeComponentId: _angular_core.WritableSignal<string>;
|
|
21
|
+
readonly activeComponentId: _angular_core.WritableSignal<string | null>;
|
|
22
22
|
readonly isSupported: boolean;
|
|
23
23
|
readonly finalized: _angular_core.Signal<string>;
|
|
24
24
|
readonly finalized$: rxjs.Observable<string>;
|
|
25
25
|
readonly autoModeEnabled: _angular_core.WritableSignal<boolean>;
|
|
26
|
-
readonly selectedSessionId: _angular_core.WritableSignal<string>;
|
|
26
|
+
readonly selectedSessionId: _angular_core.WritableSignal<string | null>;
|
|
27
27
|
constructor();
|
|
28
28
|
generateComponentId(): string;
|
|
29
29
|
isActiveComponent(componentId: string): boolean;
|