@xxmachina/common 19.21.8 → 19.25.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.
Files changed (97) hide show
  1. package/_shared/meta/redis/index.d.ts.map +1 -1
  2. package/auth/azure/index.d.ts.map +1 -0
  3. package/auth/core/index.d.ts +17 -0
  4. package/auth/core/index.d.ts.map +1 -0
  5. package/auth/firebase/index.d.ts.map +1 -0
  6. package/auth/index.d.ts.map +1 -1
  7. package/auth/passports/anonymous/index.d.ts.map +1 -0
  8. package/auth/passports/firebase/index.d.ts.map +1 -0
  9. package/auth/passports/index.d.ts +61 -0
  10. package/auth/passports/index.d.ts.map +1 -0
  11. package/auth/passports/internal/index.d.ts.map +1 -0
  12. package/{_shared/auth → auth}/passports/msal/index.d.ts +2 -2
  13. package/auth/passports/msal/index.d.ts.map +1 -0
  14. package/domain/builder/index.d.ts +35 -2
  15. package/domain/builder/index.d.ts.map +1 -1
  16. package/domain/builder/screen-item/index.d.ts +26 -1
  17. package/domain/builder/screen-item/index.d.ts.map +1 -1
  18. package/domain/models/index.d.ts +41 -8
  19. package/domain/models/index.d.ts.map +1 -1
  20. package/domain/models/presenter/index.d.ts +128 -0
  21. package/domain/models/presenter/index.d.ts.map +1 -0
  22. package/fesm2022/{xxmachina-common-azure-auth.mjs → xxmachina-common-auth-azure.mjs} +1 -1
  23. package/fesm2022/xxmachina-common-auth-azure.mjs.map +1 -0
  24. package/fesm2022/xxmachina-common-auth-core.mjs +17 -0
  25. package/fesm2022/xxmachina-common-auth-core.mjs.map +1 -0
  26. package/fesm2022/{xxmachina-common-firebase-auth.mjs → xxmachina-common-auth-firebase.mjs} +1 -1
  27. package/fesm2022/xxmachina-common-auth-firebase.mjs.map +1 -0
  28. package/fesm2022/{xxmachina-common-_shared-auth-passports-anonymous.mjs → xxmachina-common-auth-passports-anonymous.mjs} +1 -1
  29. package/fesm2022/xxmachina-common-auth-passports-anonymous.mjs.map +1 -0
  30. package/fesm2022/{xxmachina-common-_shared-auth-passports-firebase.mjs → xxmachina-common-auth-passports-firebase.mjs} +1 -1
  31. package/fesm2022/xxmachina-common-auth-passports-firebase.mjs.map +1 -0
  32. package/fesm2022/{xxmachina-common-_shared-auth-passports-internal.mjs → xxmachina-common-auth-passports-internal.mjs} +1 -1
  33. package/fesm2022/xxmachina-common-auth-passports-internal.mjs.map +1 -0
  34. package/fesm2022/{xxmachina-common-_shared-auth-passports-msal.mjs → xxmachina-common-auth-passports-msal.mjs} +1 -1
  35. package/fesm2022/xxmachina-common-auth-passports-msal.mjs.map +1 -0
  36. package/fesm2022/xxmachina-common-auth-passports.mjs +113 -0
  37. package/fesm2022/xxmachina-common-auth-passports.mjs.map +1 -0
  38. package/fesm2022/xxmachina-common-auth.mjs.map +1 -1
  39. package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs +58 -179
  40. package/fesm2022/xxmachina-common-domain-builder-screen-item.mjs.map +1 -1
  41. package/fesm2022/xxmachina-common-domain-builder.mjs +83 -219
  42. package/fesm2022/xxmachina-common-domain-builder.mjs.map +1 -1
  43. package/fesm2022/xxmachina-common-domain-models-presenter.mjs +4 -0
  44. package/fesm2022/xxmachina-common-domain-models-presenter.mjs.map +1 -0
  45. package/fesm2022/xxmachina-common-domain-models.mjs +70 -44
  46. package/fesm2022/xxmachina-common-domain-models.mjs.map +1 -1
  47. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs +12 -5
  48. package/fesm2022/xxmachina-common-infra-external-quick-js.mjs.map +1 -1
  49. package/fesm2022/xxmachina-common-infra-external.mjs +2 -5
  50. package/fesm2022/xxmachina-common-infra-external.mjs.map +1 -1
  51. package/fesm2022/xxmachina-common-infra.mjs +105 -109
  52. package/fesm2022/xxmachina-common-infra.mjs.map +1 -1
  53. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs +101 -102
  54. package/fesm2022/xxmachina-common-invoice-usecase-invoice.mjs.map +1 -1
  55. package/fesm2022/xxmachina-common-services-graphql.mjs +57 -64
  56. package/fesm2022/xxmachina-common-services-graphql.mjs.map +1 -1
  57. package/fesm2022/xxmachina-common-services-query.mjs +2 -2
  58. package/fesm2022/xxmachina-common-services-query.mjs.map +1 -1
  59. package/fesm2022/xxmachina-common-services-speech.mjs +91 -23
  60. package/fesm2022/xxmachina-common-services-speech.mjs.map +1 -1
  61. package/infra/external/index.d.ts +5 -7
  62. package/infra/external/index.d.ts.map +1 -1
  63. package/infra/external/quick-js/index.d.ts +2 -7
  64. package/infra/external/quick-js/index.d.ts.map +1 -1
  65. package/infra/external/resend/index.d.ts.map +1 -1
  66. package/infra/index.d.ts +49 -77
  67. package/infra/index.d.ts.map +1 -1
  68. package/infra/repository/notion/index.d.ts.map +1 -1
  69. package/invoice/usecase/invoice/index.d.ts +0 -1
  70. package/invoice/usecase/invoice/index.d.ts.map +1 -1
  71. package/package.json +51 -39
  72. package/services/graphql/index.d.ts +0 -16
  73. package/services/graphql/index.d.ts.map +1 -1
  74. package/services/query/config/index.d.ts.map +1 -1
  75. package/services/query/index.d.ts.map +1 -1
  76. package/services/speech/index.d.ts +8 -0
  77. package/services/speech/index.d.ts.map +1 -1
  78. package/stores/firestore/index.d.ts +2 -2
  79. package/stores/inmemory/index.d.ts.map +1 -1
  80. package/usecase/database/index.d.ts.map +1 -1
  81. package/_shared/auth/passports/anonymous/index.d.ts.map +0 -1
  82. package/_shared/auth/passports/firebase/index.d.ts.map +0 -1
  83. package/_shared/auth/passports/internal/index.d.ts.map +0 -1
  84. package/_shared/auth/passports/msal/index.d.ts.map +0 -1
  85. package/azure-auth/index.d.ts.map +0 -1
  86. package/fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs.map +0 -1
  87. package/fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs.map +0 -1
  88. package/fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs.map +0 -1
  89. package/fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs.map +0 -1
  90. package/fesm2022/xxmachina-common-azure-auth.mjs.map +0 -1
  91. package/fesm2022/xxmachina-common-firebase-auth.mjs.map +0 -1
  92. package/firebase-auth/index.d.ts.map +0 -1
  93. /package/{azure-auth → auth/azure}/index.d.ts +0 -0
  94. /package/{firebase-auth → auth/firebase}/index.d.ts +0 -0
  95. /package/{_shared/auth → auth}/passports/anonymous/index.d.ts +0 -0
  96. /package/{_shared/auth → auth}/passports/firebase/index.d.ts +0 -0
  97. /package/{_shared/auth → auth}/passports/internal/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../tmp-esm2022/services/speech/speech.service.js","../tmp-esm2022/services/speech/xxmachina-common-services-speech.js"],"sourcesContent":["// 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 * as i0 from \"@angular/core\";\nfunction initializeSpeechRecognitionAPI() {\n if (typeof window === 'undefined')\n 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 const SpeechRecognitionAPI = window.SpeechRecognition || window.webkitSpeechRecognition;\n const recognition = new SpeechRecognitionAPI();\n recognition.continuous = true;\n recognition.interimResults = true;\n recognition.lang = 'ja-JP';\n return recognition;\n}\nfunction parseSpeechRecognitionEvent(event) {\n const results = [];\n for (let i = event.resultIndex; 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 });\n }\n return {\n interim: results.filter((result) => !result.isFinal).map((result) => result.transcript).join(''),\n finalized: results.filter((result) => result.isFinal).map((result) => result.transcript).join(''),\n };\n}\nexport class SpeechService {\n static instanceCounter = 0;\n PAUSE_THRESHOLD = 1000;\n recognition = null;\n lastSpeechTime = signal(Date.now());\n ignoreResults = false;\n transcript = signal({ finalized: '', interim: '' });\n transcript$ = toObservable(this.transcript);\n isListening = signal(false);\n activeComponentId = signal(null);\n isSupported = typeof window !== 'undefined' &&\n (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));\n finalized = computed(() => this.transcript().finalized);\n finalized$ = toObservable(this.finalized);\n constructor() {\n // Handle pause detection\n interval(this.PAUSE_THRESHOLD).pipe(filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD)).subscribe(() => {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n });\n // Handle listening state changes\n effect(() => {\n if (this.isListening()) {\n this.startRecognition();\n }\n else {\n this.stopRecognition();\n }\n });\n }\n generateComponentId() {\n return `speech-${++SpeechService.instanceCounter}`;\n }\n isActiveComponent(componentId) {\n return this.activeComponentId() === componentId;\n }\n start(componentId) {\n if (!this.isSupported) {\n console.warn('[SpeechService] Speech recognition is not supported');\n return;\n }\n this.activeComponentId.set(componentId);\n this.clear();\n this.isListening.set(true);\n }\n stop() {\n this.isListening.set(false);\n this.activeComponentId.set(null);\n }\n toggle(componentId) {\n if (this.isActiveComponent(componentId) && this.isListening()) {\n this.stop();\n }\n else {\n this.start(componentId);\n }\n }\n clear() {\n this.transcript.set({ interim: '', finalized: '' });\n // clear後の古い認識結果を無視するフラグを立てる\n this.ignoreResults = true;\n // 認識をリスタートして古い認識結果を破棄\n // (onendで自動的にrestartされる)\n if (this.recognition && this.isListening()) {\n try {\n this.recognition.stop();\n }\n catch (error) {\n console.error('[SpeechService] Error restarting recognition:', error);\n }\n }\n }\n setupRecognition() {\n if (!this.isSupported)\n return;\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition)\n return;\n this.recognition.onresult = (event) => {\n // clear後の古い認識結果は無視\n if (this.ignoreResults) {\n return;\n }\n const { interim, finalized } = parseSpeechRecognitionEvent(event);\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 this.recognition.onerror = (event) => {\n console.error('[SpeechService] Recognition error:', event.error);\n if (event.error === 'not-allowed') {\n this.stop();\n }\n };\n this.recognition.onend = () => {\n if (this.isListening()) {\n this.startRecognition();\n }\n };\n }\n startRecognition() {\n // 新しい認識開始時にignoreResultsをリセット\n this.ignoreResults = false;\n if (!this.recognition) {\n this.setupRecognition();\n }\n try {\n this.recognition?.start();\n }\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 stopRecognition() {\n try {\n this.recognition?.stop();\n }\n catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC9zcGVlY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUV4QyxTQUFTLDhCQUE4QjtJQUNyQyxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVc7UUFBRSxPQUFPLElBQUksQ0FBQztJQUMvQyxJQUFJLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMseUJBQXlCLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUMvRSxPQUFPLENBQUMsSUFBSSxDQUFDLHdFQUF3RSxDQUFDLENBQUM7UUFDdkYsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsTUFBTSxvQkFBb0IsR0FBSSxNQUFjLENBQUMsaUJBQWlCLElBQUssTUFBYyxDQUFDLHVCQUF1QixDQUFDO0lBQzFHLE1BQU0sV0FBVyxHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztJQUMvQyxXQUFXLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUM5QixXQUFXLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUNsQyxXQUFXLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQztJQUMzQixPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDO0FBRUQsU0FBUywyQkFBMkIsQ0FBQyxLQUE2QjtJQUNoRSxNQUFNLE9BQU8s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LFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMzQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7dUdBL0lVLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdHJpcGxlLXNsYXNoLXJlZmVyZW5jZVxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vc3BlZWNoLXJlY29nbml0aW9uLmQudHNcIiAvPlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBlZmZlY3QsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVTcGVlY2hSZWNvZ25pdGlvbkFQSSgpOiBTcGVlY2hSZWNvZ25pdGlvbiB8IG51bGwge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xuICBpZiAoISgnU3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdykgJiYgISgnd2Via2l0U3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdykpIHtcbiAgICBjb25zb2xlLndhcm4oJ1tTcGVlY2hTZXJ2aWNlXSBTcGVlY2hSZWNvZ25pdGlvbiBBUEkgaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGJyb3dzZXInKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IFNwZWVjaFJlY29nbml0aW9uQVBJID0gKHdpbmRvdyBhcyBhbnkpLlNwZWVjaFJlY29nbml0aW9uIHx8ICh3aW5kb3cgYXMgYW55KS53ZWJraXRTcGVlY2hSZWNvZ25pdGlvbjtcbiAgY29uc3QgcmVjb2duaXRpb24gPSBuZXcgU3BlZWNoUmVjb2duaXRpb25BUEkoKTtcbiAgcmVjb2duaXRpb24uY29udGludW91cyA9IHRydWU7XG4gIHJlY29nbml0aW9uLmludGVyaW1SZXN1bHRzID0gdHJ1ZTtcbiAgcmVjb2duaXRpb24ubGFuZyA9ICdqYS1KUCc7XG4gIHJldHVybiByZWNvZ25pdGlvbjtcbn1cblxuZnVuY3Rpb24gcGFyc2VTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KTogeyBpbnRlcmltOiBzdHJpbmc7IGZpbmFsaXplZDogc3RyaW5nIH0ge1xuICBjb25zdCByZXN1bHRzOiBTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IGV2ZW50LnJlc3VsdEluZGV4OyBpIDwgZXZlbnQucmVzdWx0cy5sZW5ndGg7IGkrKykge1xuICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICB0cmFuc2NyaXB0OiBldmVudC5yZXN1bHRzW2ldWzBdLnRyYW5zY3JpcHQsXG4gICAgICBjb25maWRlbmNlOiBldmVudC5yZXN1bHRzW2ldWzBdLmNvbmZpZGVuY2UsXG4gICAgICBpc0ZpbmFsOiBldmVudC5yZXN1bHRzW2ldLmlzRmluYWwsXG4gICAgfSBhcyBhbnkpO1xuICB9XG4gIHJldHVybiB7XG4gICAgaW50ZXJpbTogcmVzdWx0cy5maWx0ZXIoKHJlc3VsdDogYW55KSA9PiAhcmVzdWx0LmlzRmluYWwpLm1hcCgocmVzdWx0KSA9PiByZXN1bHQudHJhbnNjcmlwdCkuam9pbignJyksXG4gICAgZmluYWxpemVkOiByZXN1bHRzLmZpbHRlcigocmVzdWx0OiBhbnkpID0+IHJlc3VsdC5pc0ZpbmFsKS5tYXAoKHJlc3VsdCkgPT4gcmVzdWx0LnRyYW5zY3JpcHQpLmpvaW4oJycpLFxuICB9O1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNwZWVjaFNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZUNvdW50ZXIgPSAwO1xuICBwcml2YXRlIHJlYWRvbmx5IFBBVVNFX1RIUkVTSE9MRCA9IDEwMDA7XG4gIHByaXZhdGUgcmVjb2duaXRpb246IFNwZWVjaFJlY29nbml0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbGFzdFNwZWVjaFRpbWUgPSBzaWduYWwoRGF0ZS5ub3coKSk7XG4gIHByaXZhdGUgaWdub3JlUmVzdWx0cyA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IHRyYW5zY3JpcHQgPSBzaWduYWw8eyBmaW5hbGl6ZWQ6IHN0cmluZzsgaW50ZXJpbTogc3RyaW5nIH0+KHsgZmluYWxpemVkOiAnJywgaW50ZXJpbTogJycgfSk7XG4gIHJlYWRvbmx5IHRyYW5zY3JpcHQkID0gdG9PYnNlcnZhYmxlKHRoaXMudHJhbnNjcmlwdCk7XG4gIHJlYWRvbmx5IGlzTGlzdGVuaW5nID0gc2lnbmFsKGZhbHNlKTtcbiAgcmVhZG9ubHkgYWN0aXZlQ29tcG9uZW50SWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGlzU3VwcG9ydGVkID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAoKCdTcGVlY2hSZWNvZ25pdGlvbicgaW4gd2luZG93KSB8fCAoJ3dlYmtpdFNwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpKTtcblxuICByZWFkb25seSBmaW5hbGl6ZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnRyYW5zY3JpcHQoKS5maW5hbGl6ZWQpO1xuICByZWFkb25seSBmaW5hbGl6ZWQkID0gdG9PYnNlcnZhYmxlKHRoaXMuZmluYWxpemVkKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBIYW5kbGUgcGF1c2UgZGV0ZWN0aW9uXG4gICAgaW50ZXJ2YWwodGhpcy5QQVVTRV9USFJFU0hPTEQpLnBpcGUoXG4gICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc0xpc3RlbmluZygpICYmIChEYXRlLm5vdygpIC0gdGhpcy5sYXN0U3BlZWNoVGltZSgpKSA+PSB0aGlzLlBBVVNFX1RIUkVTSE9MRCksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy50cmFuc2NyaXB0LnVwZGF0ZShjdXJyZW50ID0+ICh7XG4gICAgICAgIGludGVyaW06ICcnLFxuICAgICAgICBmaW5hbGl6ZWQ6IGN1cnJlbnQuZmluYWxpemVkICsgKGN1cnJlbnQuaW50ZXJpbSB8fCAnJylcbiAgICAgIH0pKTtcbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBsaXN0ZW5pbmcgc3RhdGUgY2hhbmdlc1xuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSZWNvZ25pdGlvbigpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zdG9wUmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlQ29tcG9uZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNwZWVjaC0keysrU3BlZWNoU2VydmljZS5pbnN0YW5jZUNvdW50ZXJ9YDtcbiAgfVxuXG4gIGlzQWN0aXZlQ29tcG9uZW50KGNvbXBvbmVudElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDb21wb25lbnRJZCgpID09PSBjb21wb25lbnRJZDtcbiAgfVxuXG4gIHN0YXJ0KGNvbXBvbmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTdXBwb3J0ZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1NwZWVjaFNlcnZpY2VdIFNwZWVjaCByZWNvZ25pdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuYWN0aXZlQ29tcG9uZW50SWQuc2V0KGNvbXBvbmVudElkKTtcbiAgICB0aGlzLmNsZWFyKCk7XG4gICAgdGhpcy5pc0xpc3RlbmluZy5zZXQodHJ1ZSk7XG4gIH1cblxuICBzdG9wKCk6IHZvaWQge1xuICAgIHRoaXMuaXNMaXN0ZW5pbmcuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmFjdGl2ZUNvbXBvbmVudElkLnNldChudWxsKTtcbiAgfVxuXG4gIHRvZ2dsZShjb21wb25lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNBY3RpdmVDb21wb25lbnQoY29tcG9uZW50SWQpICYmIHRoaXMuaXNMaXN0ZW5pbmcoKSkge1xuICAgICAgdGhpcy5zdG9wKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhcnQoY29tcG9uZW50SWQpO1xuICAgIH1cbiAgfVxuXG4gIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNjcmlwdC5zZXQoeyBpbnRlcmltOiAnJywgZmluYWxpemVkOiAnJyB9KTtcbiAgICAvLyBjbGVhcuW+jOOBruWPpOOBhOiqjeitmOe1kOaenOOCkueEoeimluOBmeOCi+ODleODqeOCsOOCkueri+OBpuOCi1xuICAgIHRoaXMuaWdub3JlUmVzdWx0cyA9IHRydWU7XG4gICAgLy8g6KqN6K2Y44KS44Oq44K544K/44O844OI44GX44Gm5Y+k44GE6KqN6K2Y57WQ5p6c44KS56C05qOEXG4gICAgLy8g77yIb25lbmTjgafoh6rli5XnmoTjgatyZXN0YXJ044GV44KM44KL77yJXG4gICAgaWYgKHRoaXMucmVjb2duaXRpb24gJiYgdGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTcGVlY2hTZXJ2aWNlXSBFcnJvciByZXN0YXJ0aW5nIHJlY29nbml0aW9uOicsIGVycm9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVjb2duaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uID0gaW5pdGlhbGl6ZVNwZWVjaFJlY29nbml0aW9uQVBJKCk7XG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KSA9PiB7XG4gICAgICAvLyBjbGVhcuW+jOOBruWPpOOBhOiqjeitmOe1kOaenOOBr+eEoeimllxuICAgICAgaWYgKHRoaXMuaWdub3JlUmVzdWx0cykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaW50ZXJpbSwgZmluYWxpemVkIH0gPSBwYXJzZVNwZWVjaFJlY29nbml0aW9uRXZlbnQoZXZlbnQpO1xuICAgICAgdGhpcy50cmFuc2NyaXB0LnVwZGF0ZSgoY3VycmVudCkgPT4gKHtcbiAgICAgICAgaW50ZXJpbSxcbiAgICAgICAgZmluYWxpemVkOiBmaW5hbGl6ZWQubGVuZ3RoID8gYCR7Y3VycmVudC5maW5hbGl6ZWR9JHtmaW5hbGl6ZWR9YCA6IGN1cnJlbnQuZmluYWxpemVkXG4gICAgICB9KSk7XG4gICAgICB0aGlzLmxhc3RTcGVlY2hUaW1lLnNldChEYXRlLm5vdygpKTtcbiAgICB9O1xuXG4gICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVycm9yID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkVycm9yRXZlbnQpID0+IHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTcGVlY2hTZXJ2aWNlXSBSZWNvZ25pdGlvbiBlcnJvcjonLCBldmVudC5lcnJvcik7XG4gICAgICBpZiAoZXZlbnQuZXJyb3IgPT09ICdub3QtYWxsb3dlZCcpIHtcbiAgICAgICAgdGhpcy5zdG9wKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMucmVjb2duaXRpb24ub25lbmQgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSZWNvZ25pdGlvbigpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0UmVjb2duaXRpb24oKTogdm9pZCB7XG4gICAgLy8g5paw44GX44GE6KqN6K2Y6ZaL5aeL5pmC44GraWdub3JlUmVzdWx0c+OCkuODquOCu+ODg+ODiFxuICAgIHRoaXMuaWdub3JlUmVzdWx0cyA9IGZhbHNlO1xuXG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSB7XG4gICAgICB0aGlzLnNldHVwUmVjb2duaXRpb24oKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW1NwZWVjaFNlcnZpY2VdIEZhaWxlZCB0byBzdGFydCByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMuc2V0dXBSZWNvZ25pdGlvbigpO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0b3BSZWNvZ25pdGlvbigpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RvcCgpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbU3BlZWNoU2VydmljZV0gRXJyb3Igc3RvcHBpbmcgcmVjb2duaXRpb246JywgZXJyb3IpO1xuICAgIH1cbiAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1zcGVlY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC94eG1hY2hpbmEtY29tbW9uLXNlcnZpY2VzLXNwZWVjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;;;AAAA;AACA;AAKA,SAAS,8BAA8B,GAAG;AAC1C,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW;AACrC,QAAQ,OAAO,IAAI;AACnB,IAAI,IAAI,EAAE,mBAAmB,IAAI,MAAM,CAAC,IAAI,EAAE,yBAAyB,IAAI,MAAM,CAAC,EAAE;AACpF,QAAQ,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC;AAC9F,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,MAAM,oBAAoB,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,uBAAuB;AAC3F,IAAI,MAAM,WAAW,GAAG,IAAI,oBAAoB,EAAE;AAClD,IAAI,WAAW,CAAC,UAAU,GAAG,IAAI;AACjC,IAAI,WAAW,CAAC,cAAc,GAAG,IAAI;AACrC,IAAI,WAAW,CAAC,IAAI,GAAG,OAAO;AAC9B,IAAI,OAAO,WAAW;AACtB;AACA,SAAS,2BAA2B,CAAC,KAAK,EAAE;AAC5C,IAAI,MAAM,OAAO,GAAG,EAAE;AACtB,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnE,QAAQ,OAAO,CAAC,IAAI,CAAC;AACrB,YAAY,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;AACtD,YAAY,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;AACtD,YAAY,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;AAC7C,SAAS,CAAC;AACV,IAAI;AACJ,IAAI,OAAO;AACX,QAAQ,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACxG,QAAQ,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACzG,KAAK;AACL;AACO,MAAM,aAAa,CAAC;AAC3B,IAAI,OAAO,eAAe,GAAG,CAAC;AAC9B,IAAI,eAAe,GAAG,IAAI;AAC1B,IAAI,WAAW,GAAG,IAAI;AACtB,IAAI,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACvC,IAAI,aAAa,GAAG,KAAK;AACzB,IAAI,UAAU,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACvD,IAAI,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;AAC/C,IAAI,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AAC/B,IAAI,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC;AACpC,IAAI,WAAW,GAAG,OAAO,MAAM,KAAK,WAAW;AAC/C,SAAS,CAAC,mBAAmB,IAAI,MAAM,MAAM,yBAAyB,IAAI,MAAM,CAAC,CAAC;AAClF,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC;AAC3D,IAAI,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAC7C,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;AAC9J,YAAY,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,KAAK;AAC/C,gBAAgB,OAAO,EAAE,EAAE;AAC3B,gBAAgB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE;AACrE,aAAa,CAAC,CAAC;AACf,QAAQ,CAAC,CAAC;AACV;AACA,QAAQ,MAAM,CAAC,MAAM;AACrB,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACpC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;AACvC,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,eAAe,EAAE;AACtC,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;AAC1D,IAAI;AACJ,IAAI,iBAAiB,CAAC,WAAW,EAAE;AACnC,QAAQ,OAAO,IAAI,CAAC,iBAAiB,EAAE,KAAK,WAAW;AACvD,IAAI;AACJ,IAAI,KAAK,CAAC,WAAW,EAAE;AACvB,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAY,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC;AAC/E,YAAY;AACZ,QAAQ;AACR,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC;AAC/C,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,IAAI;AACJ,IAAI,IAAI,GAAG;AACX,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;AACnC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;AACxC,IAAI;AACJ,IAAI,MAAM,CAAC,WAAW,EAAE;AACxB,QAAQ,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACvE,YAAY,IAAI,CAAC,IAAI,EAAE;AACvB,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AACnC,QAAQ;AACR,IAAI;AACJ,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAC3D;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACpD,YAAY,IAAI;AAChB,gBAAgB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;AACvC,YAAY;AACZ,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC;AACrF,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ,IAAI,gBAAgB,GAAG;AACvB,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW;AAC7B,YAAY;AACZ,QAAQ,IAAI,CAAC,WAAW,GAAG,8BAA8B,EAAE;AAC3D,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW;AAC7B,YAAY;AACZ,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC/C;AACA,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;AACpC,gBAAgB;AAChB,YAAY;AACZ,YAAY,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC;AAC7E,YAAY,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,MAAM;AACjD,gBAAgB,OAAO;AACvB,gBAAgB,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC;AAC3F,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/C,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK;AAC9C,YAAY,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,KAAK,CAAC;AAC5E,YAAY,IAAI,KAAK,CAAC,KAAK,KAAK,aAAa,EAAE;AAC/C,gBAAgB,IAAI,CAAC,IAAI,EAAE;AAC3B,YAAY;AACZ,QAAQ,CAAC;AACT,QAAQ,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,MAAM;AACvC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACpC,gBAAgB,IAAI,CAAC,gBAAgB,EAAE;AACvC,YAAY;AACZ,QAAQ,CAAC;AACT,IAAI;AACJ,IAAI,gBAAgB,GAAG;AACvB;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,KAAK;AAClC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAY,IAAI,CAAC,gBAAgB,EAAE;AACnC,QAAQ;AACR,QAAQ,IAAI;AACZ,YAAY,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE;AACrC,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,KAAK,CAAC;AAChF,YAAY,IAAI,CAAC,WAAW,GAAG,IAAI;AACnC,YAAY,IAAI,CAAC,gBAAgB,EAAE;AACnC,YAAY,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE;AACrC,QAAQ;AACR,IAAI;AACJ,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI;AACZ,YAAY,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE;AACpC,QAAQ;AACR,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC;AAC/E,QAAQ;AACR,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI;AAC/B,IAAI;AACJ,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AACxK,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAC/I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;ACzKvC;AACA;AACA;;;;"}
1
+ {"version":3,"file":"xxmachina-common-services-speech.mjs","sources":["../tmp-esm2022/services/speech/speech-recognition-utils.js","../tmp-esm2022/services/speech/speech.service.js","../tmp-esm2022/services/speech/xxmachina-common-services-speech.js"],"sourcesContent":["// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path=\"./speech-recognition.d.ts\" />\n/**\n * SpeechRecognition APIの初期化\n */\nexport function initializeSpeechRecognitionAPI() {\n if (typeof window === 'undefined')\n 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 const SpeechRecognitionAPI = window.SpeechRecognition || window.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 * SpeechRecognitionイベントをパースして中間結果と確定結果を返す\n * @param startIndex - 読み取り開始インデックス(指定時はevent.resultIndexより優先)\n */\nexport function parseSpeechRecognitionEvent(event, startIndex) {\n const from = startIndex ?? event.resultIndex;\n const results = [];\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 });\n }\n return {\n interim: results.filter((result) => !result.isFinal).map((result) => result.transcript).join(''),\n finalized: results.filter((result) => result.isFinal).map((result) => result.transcript).join(''),\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLXJlY29nbml0aW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQHh4bWFjaGluYS9jb21tb24vc3JjL2xpYi9zZXJ2aWNlcy9zcGVlY2gvc3BlZWNoLXJlY29nbml0aW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFFQUFxRTtBQUNyRSxrREFBa0Q7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsOEJBQThCO0lBQzVDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVztRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQy9DLElBQUksQ0FBQyxDQUFDLG1CQUFtQixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyx5QkFBeUIsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0VBQXdFLENBQUMsQ0FBQztRQUN2RixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLG9CQUFvQixHQUFJLE1BQWMsQ0FBQyxpQkFBaUIsSUFBSyxNQUFjLENBQUMsdUJBQXVCLENBQUM7SUFDMUcsTUFBTSxXQUFXLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO0lBQy9DLFdBQVcsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzlCLFdBQVcsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQzNCLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLEtBQTZCLEVBQzdCLFVBQW1CO0lBRW5CLE1BQU0sSUFBSSxHQUFHLFVBQVUsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzdDLE1BQU0sT0FBTyxHQUFtQyxFQUFFLENBQUM7SUFDbkQsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDakQsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNYLFVBQVUsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7WUFDMUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUMxQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO1NBQzNCLENBQUMsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDckcsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0tBQ3ZHLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC90cmlwbGUtc2xhc2gtcmVmZXJlbmNlXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9zcGVlY2gtcmVjb2duaXRpb24uZC50c1wiIC8+XG5cbi8qKlxuICogU3BlZWNoUmVjb2duaXRpb24gQVBJ44Gu5Yid5pyf5YyWXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplU3BlZWNoUmVjb2duaXRpb25BUEkoKTogU3BlZWNoUmVjb2duaXRpb24gfCBudWxsIHtcbiAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSByZXR1cm4gbnVsbDtcbiAgaWYgKCEoJ1NwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpICYmICEoJ3dlYmtpdFNwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpKSB7XG4gICAgY29uc29sZS53YXJuKCdbU3BlZWNoU2VydmljZV0gU3BlZWNoUmVjb2duaXRpb24gQVBJIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBicm93c2VyJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBTcGVlY2hSZWNvZ25pdGlvbkFQSSA9ICh3aW5kb3cgYXMgYW55KS5TcGVlY2hSZWNvZ25pdGlvbiB8fCAod2luZG93IGFzIGFueSkud2Via2l0U3BlZWNoUmVjb2duaXRpb247XG4gIGNvbnN0IHJlY29nbml0aW9uID0gbmV3IFNwZWVjaFJlY29nbml0aW9uQVBJKCk7XG4gIHJlY29nbml0aW9uLmNvbnRpbnVvdXMgPSB0cnVlO1xuICByZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IHRydWU7XG4gIHJlY29nbml0aW9uLmxhbmcgPSAnamEtSlAnO1xuICByZXR1cm4gcmVjb2duaXRpb247XG59XG5cbi8qKlxuICogU3BlZWNoUmVjb2duaXRpb27jgqTjg5njg7Pjg4jjgpLjg5Hjg7zjgrnjgZfjgabkuK3plpPntZDmnpzjgajnorrlrprntZDmnpzjgpLov5TjgZlcbiAqIEBwYXJhbSBzdGFydEluZGV4IC0g6Kqt44G/5Y+W44KK6ZaL5aeL44Kk44Oz44OH44OD44Kv44K577yI5oyH5a6a5pmC44GvZXZlbnQucmVzdWx0SW5kZXjjgojjgorlhKrlhYjvvIlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3BlZWNoUmVjb2duaXRpb25FdmVudChcbiAgZXZlbnQ6IFNwZWVjaFJlY29nbml0aW9uRXZlbnQsXG4gIHN0YXJ0SW5kZXg/OiBudW1iZXIsXG4pOiB7IGludGVyaW06IHN0cmluZzsgZmluYWxpemVkOiBzdHJpbmcgfSB7XG4gIGNvbnN0IGZyb20gPSBzdGFydEluZGV4ID8/IGV2ZW50LnJlc3VsdEluZGV4O1xuICBjb25zdCByZXN1bHRzOiBTcGVlY2hSZWNvZ25pdGlvbkFsdGVybmF0aXZlW10gPSBbXTtcbiAgZm9yIChsZXQgaSA9IGZyb207IGkgPCBldmVudC5yZXN1bHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgcmVzdWx0cy5wdXNoKHtcbiAgICAgIHRyYW5zY3JpcHQ6IGV2ZW50LnJlc3VsdHNbaV1bMF0udHJhbnNjcmlwdCxcbiAgICAgIGNvbmZpZGVuY2U6IGV2ZW50LnJlc3VsdHNbaV1bMF0uY29uZmlkZW5jZSxcbiAgICAgIGlzRmluYWw6IGV2ZW50LnJlc3VsdHNbaV0uaXNGaW5hbCxcbiAgICB9IGFzIGFueSk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBpbnRlcmltOiByZXN1bHRzLmZpbHRlcigocmVzdWx0OiBhbnkpID0+ICFyZXN1bHQuaXNGaW5hbCkubWFwKChyZXN1bHQpID0+IHJlc3VsdC50cmFuc2NyaXB0KS5qb2luKCcnKSxcbiAgICBmaW5hbGl6ZWQ6IHJlc3VsdHMuZmlsdGVyKChyZXN1bHQ6IGFueSkgPT4gcmVzdWx0LmlzRmluYWwpLm1hcCgocmVzdWx0KSA9PiByZXN1bHQudHJhbnNjcmlwdCkuam9pbignJyksXG4gIH07XG59XG4iXX0=","// 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';\nimport * as i0 from \"@angular/core\";\nexport class SpeechService {\n static instanceCounter = 0;\n PAUSE_THRESHOLD = 1000;\n recognition = null;\n lastSpeechTime = signal(Date.now());\n ignoreResults = false;\n lastKnownResultsLength = 0;\n resultIndexThreshold = 0;\n transcript = signal({ finalized: '', interim: '' });\n transcript$ = toObservable(this.transcript);\n isListening = signal(false);\n activeComponentId = signal(null);\n isSupported = typeof window !== 'undefined' &&\n (('SpeechRecognition' in window) || ('webkitSpeechRecognition' in window));\n finalized = computed(() => this.transcript().finalized);\n finalized$ = toObservable(this.finalized);\n // 自動モード: セッション選択時に自動的に音声入力を開始\n autoModeEnabled = signal(false);\n // 選択中のセッションID(自動音声入力制御用)\n selectedSessionId = signal(null);\n constructor() {\n interval(this.PAUSE_THRESHOLD).pipe(filter(() => this.isListening() && (Date.now() - this.lastSpeechTime()) >= this.PAUSE_THRESHOLD)).subscribe(() => {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n });\n effect(() => {\n if (!this.isListening()) {\n this.stopRecognition();\n }\n });\n }\n generateComponentId() {\n return `speech-${++SpeechService.instanceCounter}`;\n }\n isActiveComponent(componentId) {\n return this.activeComponentId() === componentId;\n }\n start(componentId) {\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 stop() {\n this.isListening.set(false);\n this.activeComponentId.set(null);\n }\n toggle(componentId) {\n if (this.isActiveComponent(componentId) && this.isListening()) {\n this.stop();\n }\n else {\n this.start(componentId);\n }\n }\n clear() {\n this.transcript.set({ interim: '', finalized: '' });\n if (this.autoModeEnabled() && this.recognition && this.isListening()) {\n // Auto mode: Speech APIを止めない。result indexで古い結果をフィルタ\n this.resultIndexThreshold = this.lastKnownResultsLength;\n return;\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 }\n catch (error) {\n console.error('[SpeechService] Error restarting recognition:', error);\n }\n }\n }\n // 自動モードのトグル\n toggleAutoMode(enabled) {\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 }\n else {\n this.stop();\n }\n }\n // セッション選択時の自動音声入力制御(Speech APIは止めない)\n selectSession(sessionId) {\n const prevId = this.selectedSessionId();\n this.selectedSessionId.set(sessionId);\n if (!this.autoModeEnabled())\n return;\n if (!sessionId) {\n this.stop();\n return;\n }\n // セッション切り替え時: 前のテキストを確定→書き込み先は各コンポーネントが切り替える\n if (prevId && prevId !== sessionId) {\n this.finalizeCurrentTranscript();\n }\n }\n // 書き込み先の切り替え専用(Speech APIは触らない)\n activateComponent(componentId) {\n if (this.activeComponentId() === componentId)\n return;\n this.activeComponentId.set(componentId);\n this.transcript.set({ interim: '', finalized: '' });\n }\n finalizeCurrentTranscript() {\n this.transcript.update(current => ({\n interim: '',\n finalized: current.finalized + (current.interim || '')\n }));\n }\n setupRecognition() {\n if (!this.isSupported)\n return;\n this.recognition = initializeSpeechRecognitionAPI();\n if (!this.recognition)\n return;\n this.recognition.onresult = (event) => {\n if (this.ignoreResults)\n return;\n this.lastKnownResultsLength = event.results.length;\n // auto mode clear後: threshold未満のresultをスキップ\n const startIndex = Math.max(event.resultIndex, this.resultIndexThreshold);\n if (startIndex >= event.results.length)\n return;\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 this.recognition.onerror = (event) => {\n console.error('[SpeechService] Recognition error:', event.error);\n if (event.error === 'not-allowed') {\n this.stop();\n }\n };\n this.recognition.onend = () => {\n if (this.isListening()) {\n this.startRecognition();\n }\n };\n }\n startRecognition() {\n this.ignoreResults = false;\n this.resultIndexThreshold = 0;\n this.lastKnownResultsLength = 0;\n if (!this.recognition) {\n this.setupRecognition();\n }\n try {\n this.recognition?.start();\n }\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 stopRecognition() {\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 }\n catch (error) {\n console.error('[SpeechService] Error stopping recognition:', error);\n }\n this.recognition = null;\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: SpeechService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BlZWNoLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC9zcGVlY2guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxRUFBcUU7QUFDckUsa0RBQWtEO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUd6RyxNQUFNLE9BQU8sYUFBYTtJQUNoQixNQUFNLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztJQUNsQixlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLFdBQVcsR0FBNkIsSUFBSSxDQUFDO0lBQzdDLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDcEMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUN0QixzQkFBc0IsR0FBRyxDQUFDLENBQUM7SUFDM0Isb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0lBRXhCLFVBQVUsR0FBRyxNQUFNLENBQXlDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RixXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QyxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLGlCQUFpQixHQUFHLE1BQU0sQ0FBZ0IsSUFBSSxDQUFDLENBQUM7SUFD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QUFFLENBQUM7WUFDMUIsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN0RSxDQUFDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNILENBQUM7dUdBN01VLGFBQWE7MkdBQWIsYUFBYSxjQURBLE1BQU07OzJGQUNuQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdHJpcGxlLXNsYXNoLXJlZmVyZW5jZVxuLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vc3BlZWNoLXJlY29nbml0aW9uLmQudHNcIiAvPlxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBlZmZlY3QsIGNvbXB1dGVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpbml0aWFsaXplU3BlZWNoUmVjb2duaXRpb25BUEksIHBhcnNlU3BlZWNoUmVjb2duaXRpb25FdmVudCB9IGZyb20gJy4vc3BlZWNoLXJlY29nbml0aW9uLXV0aWxzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTcGVlY2hTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VDb3VudGVyID0gMDtcbiAgcHJpdmF0ZSByZWFkb25seSBQQVVTRV9USFJFU0hPTEQgPSAxMDAwO1xuICBwcml2YXRlIHJlY29nbml0aW9uOiBTcGVlY2hSZWNvZ25pdGlvbiB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGxhc3RTcGVlY2hUaW1lID0gc2lnbmFsKERhdGUubm93KCkpO1xuICBwcml2YXRlIGlnbm9yZVJlc3VsdHMgPSBmYWxzZTtcbiAgcHJpdmF0ZSBsYXN0S25vd25SZXN1bHRzTGVuZ3RoID0gMDtcbiAgcHJpdmF0ZSByZXN1bHRJbmRleFRocmVzaG9sZCA9IDA7XG5cbiAgcmVhZG9ubHkgdHJhbnNjcmlwdCA9IHNpZ25hbDx7IGZpbmFsaXplZDogc3RyaW5nOyBpbnRlcmltOiBzdHJpbmcgfT4oeyBmaW5hbGl6ZWQ6ICcnLCBpbnRlcmltOiAnJyB9KTtcbiAgcmVhZG9ubHkgdHJhbnNjcmlwdCQgPSB0b09ic2VydmFibGUodGhpcy50cmFuc2NyaXB0KTtcbiAgcmVhZG9ubHkgaXNMaXN0ZW5pbmcgPSBzaWduYWwoZmFsc2UpO1xuICByZWFkb25seSBhY3RpdmVDb21wb25lbnRJZCA9IHNpZ25hbDxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgaXNTdXBwb3J0ZWQgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICgoJ1NwZWVjaFJlY29nbml0aW9uJyBpbiB3aW5kb3cpIHx8ICgnd2Via2l0U3BlZWNoUmVjb2duaXRpb24nIGluIHdpbmRvdykpO1xuXG4gIHJlYWRvbmx5IGZpbmFsaXplZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMudHJhbnNjcmlwdCgpLmZpbmFsaXplZCk7XG4gIHJlYWRvbmx5IGZpbmFsaXplZCQgPSB0b09ic2VydmFibGUodGhpcy5maW5hbGl6ZWQpO1xuXG4gIC8vIOiHquWLleODouODvOODiTog44K744OD44K344On44Oz6YG45oqe5pmC44Gr6Ieq5YuV55qE44Gr6Z+z5aOw5YWl5Yqb44KS6ZaL5aeLXG4gIHJlYWRvbmx5IGF1dG9Nb2RlRW5hYmxlZCA9IHNpZ25hbChmYWxzZSk7XG4gIC8vIOmBuOaKnuS4reOBruOCu+ODg+OCt+ODp+ODs0lE77yI6Ieq5YuV6Z+z5aOw5YWl5Yqb5Yi25b6h55So77yJXG4gIHJlYWRvbmx5IHNlbGVjdGVkU2Vzc2lvbklkID0gc2lnbmFsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGludGVydmFsKHRoaXMuUEFVU0VfVEhSRVNIT0xEKS5waXBlKFxuICAgICAgZmlsdGVyKCgpID0+IHRoaXMuaXNMaXN0ZW5pbmcoKSAmJiAoRGF0ZS5ub3coKSAtIHRoaXMubGFzdFNwZWVjaFRpbWUoKSkgPj0gdGhpcy5QQVVTRV9USFJFU0hPTEQpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMudHJhbnNjcmlwdC51cGRhdGUoY3VycmVudCA9PiAoe1xuICAgICAgICBpbnRlcmltOiAnJyxcbiAgICAgICAgZmluYWxpemVkOiBjdXJyZW50LmZpbmFsaXplZCArIChjdXJyZW50LmludGVyaW0gfHwgJycpXG4gICAgICB9KSk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzTGlzdGVuaW5nKCkpIHtcbiAgICAgICAgdGhpcy5zdG9wUmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdlbmVyYXRlQ29tcG9uZW50SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNwZWVjaC0keysrU3BlZWNoU2VydmljZS5pbnN0YW5jZUNvdW50ZXJ9YDtcbiAgfVxuXG4gIGlzQWN0aXZlQ29tcG9uZW50KGNvbXBvbmVudElkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVDb21wb25lbnRJZCgpID09PSBjb21wb25lbnRJZDtcbiAgfVxuXG4gIHN0YXJ0KGNvbXBvbmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTdXBwb3J0ZWQpIHtcbiAgICAgIGNvbnNvbGUud2FybignW1NwZWVjaFNlcnZpY2VdIFNwZWVjaCByZWNvZ25pdGlvbiBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3RvcFJlY29nbml0aW9uKCk7XG4gICAgdGhpcy5hY3RpdmVDb21wb25lbnRJZC5zZXQoY29tcG9uZW50SWQpO1xuICAgIHRoaXMudHJhbnNjcmlwdC5zZXQoeyBpbnRlcmltOiAnJywgZmluYWxpemVkOiAnJyB9KTtcbiAgICB0aGlzLmlzTGlzdGVuaW5nLnNldCh0cnVlKTtcbiAgICB0aGlzLnN0YXJ0UmVjb2duaXRpb24oKTtcbiAgfVxuXG4gIHN0b3AoKTogdm9pZCB7XG4gICAgdGhpcy5pc0xpc3RlbmluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuYWN0aXZlQ29tcG9uZW50SWQuc2V0KG51bGwpO1xuICB9XG5cbiAgdG9nZ2xlKGNvbXBvbmVudElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FjdGl2ZUNvbXBvbmVudChjb21wb25lbnRJZCkgJiYgdGhpcy5pc0xpc3RlbmluZygpKSB7XG4gICAgICB0aGlzLnN0b3AoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydChjb21wb25lbnRJZCk7XG4gICAgfVxuICB9XG5cbiAgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy50cmFuc2NyaXB0LnNldCh7IGludGVyaW06ICcnLCBmaW5hbGl6ZWQ6ICcnIH0pO1xuXG4gICAgaWYgKHRoaXMuYXV0b01vZGVFbmFibGVkKCkgJiYgdGhpcy5yZWNvZ25pdGlvbiAmJiB0aGlzLmlzTGlzdGVuaW5nKCkpIHtcbiAgICAgIC8vIEF1dG8gbW9kZTogU3BlZWNoIEFQSeOCkuatouOCgeOBquOBhOOAgnJlc3VsdCBpbmRleOOBp+WPpOOBhOe1kOaenOOCkuODleOCo+ODq+OCv1xuICAgICAgdGhpcy5yZXN1bHRJbmRleFRocmVzaG9sZCA9IHRoaXMubGFzdEtub3duUmVzdWx0c0xlbmd0aDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBOb24tYXV0byBtb2RlOiBzdG9wIOKGkiBvbmVuZCDihpIgcmVzdGFydCDjgafnorrlrp/jgavjg6rjgrvjg4Pjg4hcbiAgICB0aGlzLmlnbm9yZVJlc3VsdHMgPSB0cnVlO1xuICAgIGlmICh0aGlzLnJlY29nbml0aW9uICYmIHRoaXMuaXNMaXN0ZW5pbmcoKSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5yZWNvZ25pdGlvbi5zdG9wKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdbU3BlZWNoU2VydmljZV0gRXJyb3IgcmVzdGFydGluZyByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8g6Ieq5YuV44Oi44O844OJ44Gu44OI44Kw44OrXG4gIHRvZ2dsZUF1dG9Nb2RlKGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmF1dG9Nb2RlRW5hYmxlZC5zZXQoZW5hYmxlZCk7XG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIC8vIOiHquWLleODouODvOODiU9OIOKGkiDjgrvjg4Pjgrfjg6fjg7Ppgbjmip7muIjjgb/jgarjgolTcGVlY2ggQVBJ5pyJ5Yq55YyWXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFNlc3Npb25JZCgpKSB7XG4gICAgICAgIHRoaXMuaXNMaXN0ZW5pbmcuc2V0KHRydWUpO1xuICAgICAgICB0aGlzLnN0YXJ0UmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdG9wKCk7XG4gICAgfVxuICB9XG5cbiAgLy8g44K744OD44K344On44Oz6YG45oqe5pmC44Gu6Ieq5YuV6Z+z5aOw5YWl5Yqb5Yi25b6h77yIU3BlZWNoIEFQSeOBr+atouOCgeOBquOBhO+8iVxuICBzZWxlY3RTZXNzaW9uKHNlc3Npb25JZDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZJZCA9IHRoaXMuc2VsZWN0ZWRTZXNzaW9uSWQoKTtcbiAgICB0aGlzLnNlbGVjdGVkU2Vzc2lvbklkLnNldChzZXNzaW9uSWQpO1xuICAgIGlmICghdGhpcy5hdXRvTW9kZUVuYWJsZWQoKSkgcmV0dXJuO1xuXG4gICAgaWYgKCFzZXNzaW9uSWQpIHtcbiAgICAgIHRoaXMuc3RvcCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIOOCu+ODg+OCt+ODp+ODs+WIh+OCiuabv+OBiOaZgjog5YmN44Gu44OG44Kt44K544OI44KS56K65a6a4oaS5pu444GN6L6844G/5YWI44Gv5ZCE44Kz44Oz44Od44O844ON44Oz44OI44GM5YiH44KK5pu/44GI44KLXG4gICAgaWYgKHByZXZJZCAmJiBwcmV2SWQgIT09IHNlc3Npb25JZCkge1xuICAgICAgdGhpcy5maW5hbGl6ZUN1cnJlbnRUcmFuc2NyaXB0KCk7XG4gICAgfVxuICB9XG5cbiAgLy8g5pu444GN6L6844G/5YWI44Gu5YiH44KK5pu/44GI5bCC55So77yIU3BlZWNoIEFQSeOBr+inpuOCieOBquOBhO+8iVxuICBhY3RpdmF0ZUNvbXBvbmVudChjb21wb25lbnRJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlQ29tcG9uZW50SWQoKSA9PT0gY29tcG9uZW50SWQpIHJldHVybjtcbiAgICB0aGlzLmFjdGl2ZUNvbXBvbmVudElkLnNldChjb21wb25lbnRJZCk7XG4gICAgdGhpcy50cmFuc2NyaXB0LnNldCh7IGludGVyaW06ICcnLCBmaW5hbGl6ZWQ6ICcnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5hbGl6ZUN1cnJlbnRUcmFuc2NyaXB0KCk6IHZvaWQge1xuICAgIHRoaXMudHJhbnNjcmlwdC51cGRhdGUoY3VycmVudCA9PiAoe1xuICAgICAgaW50ZXJpbTogJycsXG4gICAgICBmaW5hbGl6ZWQ6IGN1cnJlbnQuZmluYWxpemVkICsgKGN1cnJlbnQuaW50ZXJpbSB8fCAnJylcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVjb2duaXRpb24oKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzU3VwcG9ydGVkKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uID0gaW5pdGlhbGl6ZVNwZWVjaFJlY29nbml0aW9uQVBJKCk7XG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSByZXR1cm47XG5cbiAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gKGV2ZW50OiBTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5pZ25vcmVSZXN1bHRzKSByZXR1cm47XG4gICAgICB0aGlzLmxhc3RLbm93blJlc3VsdHNMZW5ndGggPSBldmVudC5yZXN1bHRzLmxlbmd0aDtcblxuICAgICAgLy8gYXV0byBtb2RlIGNsZWFy5b6MOiB0aHJlc2hvbGTmnKrmuoDjga5yZXN1bHTjgpLjgrnjgq3jg4Pjg5dcbiAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBNYXRoLm1heChldmVudC5yZXN1bHRJbmRleCwgdGhpcy5yZXN1bHRJbmRleFRocmVzaG9sZCk7XG4gICAgICBpZiAoc3RhcnRJbmRleCA+PSBldmVudC5yZXN1bHRzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICBjb25zdCB7IGludGVyaW0sIGZpbmFsaXplZCB9ID0gcGFyc2VTcGVlY2hSZWNvZ25pdGlvbkV2ZW50KGV2ZW50LCBzdGFydEluZGV4KTtcbiAgICAgIHRoaXMudHJhbnNjcmlwdC51cGRhdGUoKGN1cnJlbnQpID0+ICh7XG4gICAgICAgIGludGVyaW0sXG4gICAgICAgIGZpbmFsaXplZDogZmluYWxpemVkLmxlbmd0aCA/IGAke2N1cnJlbnQuZmluYWxpemVkfSR7ZmluYWxpemVkfWAgOiBjdXJyZW50LmZpbmFsaXplZFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5sYXN0U3BlZWNoVGltZS5zZXQoRGF0ZS5ub3coKSk7XG4gICAgfTtcblxuICAgIHRoaXMucmVjb2duaXRpb24ub25lcnJvciA9IChldmVudDogU3BlZWNoUmVjb2duaXRpb25FcnJvckV2ZW50KSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbU3BlZWNoU2VydmljZV0gUmVjb2duaXRpb24gZXJyb3I6JywgZXZlbnQuZXJyb3IpO1xuICAgICAgaWYgKGV2ZW50LmVycm9yID09PSAnbm90LWFsbG93ZWQnKSB7XG4gICAgICAgIHRoaXMuc3RvcCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLnJlY29nbml0aW9uLm9uZW5kID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNMaXN0ZW5pbmcoKSkge1xuICAgICAgICB0aGlzLnN0YXJ0UmVjb2duaXRpb24oKTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJlY29nbml0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuaWdub3JlUmVzdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMucmVzdWx0SW5kZXhUaHJlc2hvbGQgPSAwO1xuICAgIHRoaXMubGFzdEtub3duUmVzdWx0c0xlbmd0aCA9IDA7XG4gICAgaWYgKCF0aGlzLnJlY29nbml0aW9uKSB7XG4gICAgICB0aGlzLnNldHVwUmVjb2duaXRpb24oKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignW1NwZWVjaFNlcnZpY2VdIEZhaWxlZCB0byBzdGFydCByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgICAgIHRoaXMuc2V0dXBSZWNvZ25pdGlvbigpO1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbj8uc3RhcnQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0b3BSZWNvZ25pdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWNvZ25pdGlvbikge1xuICAgICAgdGhpcy5yZWNvZ25pdGlvbi5vbmVuZCA9IG51bGw7XG4gICAgICB0aGlzLnJlY29nbml0aW9uLm9ucmVzdWx0ID0gbnVsbDtcbiAgICAgIHRoaXMucmVjb2duaXRpb24ub25lcnJvciA9IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlY29nbml0aW9uLnN0b3AoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTcGVlY2hTZXJ2aWNlXSBFcnJvciBzdG9wcGluZyByZWNvZ25pdGlvbjonLCBlcnJvcik7XG4gICAgICB9XG4gICAgICB0aGlzLnJlY29nbml0aW9uID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieHhtYWNoaW5hLWNvbW1vbi1zZXJ2aWNlcy1zcGVlY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AeHhtYWNoaW5hL2NvbW1vbi9zcmMvbGliL3NlcnZpY2VzL3NwZWVjaC94eG1hY2hpbmEtY29tbW9uLXNlcnZpY2VzLXNwZWVjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import * as _angular_core from '@angular/core';
2
- import { GoogleConfig, GoogleService } from '@nx-ddd/google';
1
+ import * as i0 from '@angular/core';
3
2
  import * as _nx_ddd_common_infrastructure_externals_openai_impl from '@nx-ddd/common/infrastructure/externals/openai/impl';
4
3
  import { OpenAiConfig } from '@nx-ddd/common/infrastructure/externals/openai/impl';
5
4
  import * as firebase_admin_data_connect from 'firebase-admin/data-connect';
@@ -7,17 +6,16 @@ import { AiConfig } from '@xxmachina/common/domain/models';
7
6
 
8
7
  interface ExternalConfig {
9
8
  openAi: OpenAiConfig;
10
- google: GoogleConfig;
9
+ google?: unknown;
11
10
  }
12
- declare function provideExternalConfig(config: ExternalConfig): (_angular_core.Provider[] | _angular_core.EnvironmentProviders)[];
11
+ declare function provideExternalConfig(config: ExternalConfig): i0.Provider[][];
13
12
 
14
13
  declare class ExternalService {
15
14
  readonly openai: _nx_ddd_common_infrastructure_externals_openai_impl.OpenAiServiceImpl;
16
- readonly google: GoogleService;
17
15
  readonly dataConnect: firebase_admin_data_connect.DataConnect;
18
16
  getAiAdapter(aiConfig: AiConfig): any;
19
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ExternalService, never>;
20
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ExternalService>;
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<ExternalService, never>;
18
+ static ɵprov: i0.ɵɵInjectableDeclaration<ExternalService>;
21
19
  }
22
20
 
23
21
  export { ExternalService, provideExternalConfig };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../../packages/@xxmachina/common/src/lib/infra/external/external.config.ts","../../../../../../packages/@xxmachina/common/src/lib/infra/external/external.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;;;;AAOC;AAED,iBAAA,qBAAA,SAAA,cAAA,IAA4D,aAAA,cAAA,aAAA,CAAA,oBAAA;;ACH5D,cAAA,eAAA;qBAEiB,mDAAA,CAAA,iBAAA;;0BAEK,2BAAA,CAAA,WAAA;AAEpB,2BAAA,QAAA;;;AAGD;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../../../../packages/@xxmachina/common/src/lib/infra/external/external.config.ts","../../../../../../packages/@xxmachina/common/src/lib/infra/external/external.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;;;;AAKC;AAED;;ACFA;;;AAKE;;;AAGD;;;"}
@@ -1,17 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import * as rxjs from 'rxjs';
3
- import * as quickjs_emscripten_core from 'quickjs-emscripten-core';
4
- import * as _sebastianwessel_quickjs from '@sebastianwessel/quickjs';
5
2
  import { loadQuickJs } from '@sebastianwessel/quickjs';
3
+ import { Observable } from 'rxjs';
6
4
 
7
5
  type PromiseType<T> = T extends Promise<infer U> ? U : T;
8
6
  type QuickJs = PromiseType<ReturnType<typeof loadQuickJs>>;
9
7
  declare class QuickJsService {
10
8
  private readonly quickJs;
11
- protected readonly quickJs$: rxjs.Observable<{
12
- runSandboxed: <T>(sandboxedFunction: _sebastianwessel_quickjs.SandboxFunction<T>, sandboxOptions?: _sebastianwessel_quickjs.SandboxOptions) => Promise<T>;
13
- module: quickjs_emscripten_core.QuickJSWASMModule;
14
- }>;
9
+ protected readonly quickJs$: Observable<QuickJs>;
15
10
  readonly initialized: i0.Signal<boolean>;
16
11
  constructor();
17
12
  protected loadQuickJs(): Promise<QuickJs>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../../../packages/@xxmachina/common/src/lib/infra/external/quick-js/quick-js.service.ts"],"sourcesContent":[null],"names":["loadQuickJsType","_angular_core"],"mappings":";;;;;;AAIA,KAAA,WAAA,gBAAA,OAAA;AACA,KAAA,OAAA,GAAA,WAAA,CAAA,UAAA,QAAAA,WAAA;AAEA,cAAA,cAAA;AAEE;iCAC2B,IAAA,CAAA,UAAA;2GAOJ,wBAAA,CAAA,cAAA,KAAA,OAAA;;AAPkC;0BACrCC,EAAA,CAAA,MAAA;;AAMJ,6BAAA,OAAA,CAAA,OAAA;;AAyBV,4DAAA,OAAA;;;AAWP;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../../../../../packages/@xxmachina/common/src/lib/infra/external/quick-js/quick-js.service.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAKA;AACA;AAEA;AAEE;;;;AAQgB;;AA+BV;;;AAYP;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../../../packages/@xxmachina/common/src/lib/infra/external/resend/resend.service.impl.ts","../../../../../../../packages/@xxmachina/common/src/lib/infra/external/resend/resend.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;AAOC;AAID,cAAA,aAAA,SAAA,MAAA;AAGI,yBAAA,YAAA;;;AAIH;;ACfD,cAAA,cAAA,EAA2B,YAAA,CAAA,OAAA,CAAA,aAAA;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../../../../../packages/@xxmachina/common/src/lib/infra/external/resend/resend.service.impl.ts","../../../../../../../packages/@xxmachina/common/src/lib/infra/external/resend/resend.service.ts"],"sourcesContent":[null,null],"names":[],"mappings":";;;;;;AAOC;AAID;AAGI;;;AAIH;;ACfD;;"}
package/infra/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import * as _xxmachina_common__shared_meta_redis from '@xxmachina/common/_shared/meta/redis';
2
2
  import { RedisConfig as RedisConfig$1, RedisRepository, Converter } from '@xxmachina/common/_shared/meta/redis';
3
3
  import * as i0 from '@angular/core';
4
- import { GoogleConfig, GoogleService } from '@nx-ddd/google';
5
4
  import * as _nx_ddd_common_infrastructure_externals_openai_impl from '@nx-ddd/common/infrastructure/externals/openai/impl';
6
5
  import { OpenAiConfig } from '@nx-ddd/common/infrastructure/externals/openai/impl';
7
6
  import { AiConfig, Operator, Project, Spec, Google } from '@xxmachina/common/domain/models';
@@ -13,72 +12,13 @@ import { Contract, Invoice, Order } from '@xxmachina/common/invoice/domain';
13
12
  import { Partner } from '@xxmachina/common/invoice/domain/models';
14
13
  import * as firebase_admin_data_connect from 'firebase-admin/data-connect';
15
14
 
16
- interface ContractConfig {
17
- databaseId: string;
18
- }
19
-
20
- declare class ContractNotionRepository extends NotionRepository$1<Contract> {
21
- protected converter: _nx_ddd_notion.NotionConverter<any>;
22
- protected databaseId: string;
23
- static ɵfac: i0.ɵɵFactoryDeclaration<ContractNotionRepository, never>;
24
- static ɵprov: i0.ɵɵInjectableDeclaration<ContractNotionRepository>;
25
- }
26
-
27
- interface InvoiceConfig {
28
- databaseId: string;
29
- }
30
-
31
- declare class InvoiceNotionRepository extends NotionRepository$1<Invoice> {
32
- protected converter: _nx_ddd_notion.NotionConverter<any>;
33
- protected databaseId: string;
34
- static ɵfac: i0.ɵɵFactoryDeclaration<InvoiceNotionRepository, never>;
35
- static ɵprov: i0.ɵɵInjectableDeclaration<InvoiceNotionRepository>;
36
- }
37
-
38
- declare class OrderNotionRepository extends NotionRepository$1<Order> {
39
- protected converter: _nx_ddd_notion.NotionConverter<any>;
40
- protected databaseId: string;
41
- static ɵfac: i0.ɵɵFactoryDeclaration<OrderNotionRepository, never>;
42
- static ɵprov: i0.ɵɵInjectableDeclaration<OrderNotionRepository>;
43
- }
44
-
45
- interface PartnerConfig {
46
- databaseId: string;
47
- }
48
-
49
- declare class PartnerNotionRepository extends NotionRepository$1<Partner> {
50
- protected converter: _nx_ddd_notion.NotionConverter<any>;
51
- protected databaseId: string;
52
- static ɵfac: i0.ɵɵFactoryDeclaration<PartnerNotionRepository, never>;
53
- static ɵprov: i0.ɵɵInjectableDeclaration<PartnerNotionRepository>;
54
- }
55
-
56
- interface NotionConfig {
57
- accessToken: string;
58
- contract: ContractConfig;
59
- invoice: InvoiceConfig;
60
- order: any;
61
- partner: PartnerConfig;
62
- }
63
-
64
- declare class NotionRepository {
65
- contract: ContractNotionRepository;
66
- invoice: InvoiceNotionRepository;
67
- order: OrderNotionRepository;
68
- partner: PartnerNotionRepository;
69
- constructor(contract: ContractNotionRepository, invoice: InvoiceNotionRepository, order: OrderNotionRepository, partner: PartnerNotionRepository);
70
- static ɵfac: i0.ɵɵFactoryDeclaration<NotionRepository, never>;
71
- static ɵprov: i0.ɵɵInjectableDeclaration<NotionRepository>;
72
- }
73
-
74
15
  interface ExternalConfig {
75
16
  openAi: OpenAiConfig;
76
- google: GoogleConfig;
17
+ google?: unknown;
77
18
  }
78
19
 
79
20
  declare class ExternalService {
80
21
  readonly openai: _nx_ddd_common_infrastructure_externals_openai_impl.OpenAiServiceImpl;
81
- readonly google: GoogleService;
82
22
  readonly dataConnect: firebase_admin_data_connect.DataConnect;
83
23
  getAiAdapter(aiConfig: AiConfig): any;
84
24
  static ɵfac: i0.ɵɵFactoryDeclaration<ExternalService, never>;
@@ -146,10 +86,19 @@ declare class RedisService {
146
86
  }
147
87
 
148
88
  interface RepositoryConfig {
149
- notion: NotionConfig;
89
+ notion?: unknown;
150
90
  redis: RedisConfig;
151
91
  }
152
92
 
93
+ interface InfrastructureConfig {
94
+ external: ExternalConfig;
95
+ repository: RepositoryConfig;
96
+ }
97
+ declare function provideInfrastructureConfig(config: InfrastructureConfig): (i0.Provider[][] | {
98
+ provide: i0.InjectionToken<_xxmachina_common__shared_meta_redis.RedisConfig>;
99
+ useValue: _xxmachina_common__shared_meta_redis.RedisConfig;
100
+ }[][])[];
101
+
153
102
  declare class GoogleRepository extends FirestoreRepository$1<Google> {
154
103
  readonly collectionPath = "users/:userId/links/:id";
155
104
  protected converter: GoogleConverter;
@@ -171,6 +120,44 @@ declare class FirestoreRepository {
171
120
  static ɵprov: i0.ɵɵInjectableDeclaration<FirestoreRepository>;
172
121
  }
173
122
 
123
+ declare class ContractNotionRepository extends NotionRepository$1<Contract> {
124
+ protected converter: _nx_ddd_notion.NotionConverter<any>;
125
+ protected databaseId: string;
126
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContractNotionRepository, never>;
127
+ static ɵprov: i0.ɵɵInjectableDeclaration<ContractNotionRepository>;
128
+ }
129
+
130
+ declare class InvoiceNotionRepository extends NotionRepository$1<Invoice> {
131
+ protected converter: _nx_ddd_notion.NotionConverter<any>;
132
+ protected databaseId: string;
133
+ static ɵfac: i0.ɵɵFactoryDeclaration<InvoiceNotionRepository, never>;
134
+ static ɵprov: i0.ɵɵInjectableDeclaration<InvoiceNotionRepository>;
135
+ }
136
+
137
+ declare class OrderNotionRepository extends NotionRepository$1<Order> {
138
+ protected converter: _nx_ddd_notion.NotionConverter<any>;
139
+ protected databaseId: string;
140
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrderNotionRepository, never>;
141
+ static ɵprov: i0.ɵɵInjectableDeclaration<OrderNotionRepository>;
142
+ }
143
+
144
+ declare class PartnerNotionRepository extends NotionRepository$1<Partner> {
145
+ protected converter: _nx_ddd_notion.NotionConverter<any>;
146
+ protected databaseId: string;
147
+ static ɵfac: i0.ɵɵFactoryDeclaration<PartnerNotionRepository, never>;
148
+ static ɵprov: i0.ɵɵInjectableDeclaration<PartnerNotionRepository>;
149
+ }
150
+
151
+ declare class NotionRepository {
152
+ contract: ContractNotionRepository;
153
+ invoice: InvoiceNotionRepository;
154
+ order: OrderNotionRepository;
155
+ partner: PartnerNotionRepository;
156
+ constructor(contract: ContractNotionRepository, invoice: InvoiceNotionRepository, order: OrderNotionRepository, partner: PartnerNotionRepository);
157
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotionRepository, never>;
158
+ static ɵprov: i0.ɵɵInjectableDeclaration<NotionRepository>;
159
+ }
160
+
174
161
  declare class RepositoriesService {
175
162
  readonly firestore: FirestoreRepository;
176
163
  readonly notion: NotionRepository;
@@ -179,21 +166,6 @@ declare class RepositoriesService {
179
166
  static ɵprov: i0.ɵɵInjectableDeclaration<RepositoriesService>;
180
167
  }
181
168
 
182
- interface InfrastructureConfig {
183
- external: ExternalConfig;
184
- repository: RepositoryConfig;
185
- }
186
- declare function provideInfrastructureConfig(config: InfrastructureConfig): ((i0.Provider[] | i0.EnvironmentProviders)[] | (({
187
- provide: i0.InjectionToken<ContractConfig>;
188
- useValue: ContractConfig;
189
- } | {
190
- provide: i0.InjectionToken<string>;
191
- useValue: string;
192
- })[] | {
193
- provide: i0.InjectionToken<_xxmachina_common__shared_meta_redis.RedisConfig>;
194
- useValue: _xxmachina_common__shared_meta_redis.RedisConfig;
195
- }[])[])[];
196
-
197
169
  declare class InfrastructureService {
198
170
  external: ExternalService;
199
171
  repo: RepositoriesService;
@@ -1 +1 @@
1
- {"version":3,"file":"index.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/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.config.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":["NotionRepository","FirestoreRepository","_angular_core"],"mappings":";;;;;;;;;;;;;;;;;AAIC;;ACAD,cAAA,wBAAA,SAAAA,kBAAA,CAAA,QAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;;;ACJA;;ACAD,cAAA,uBAAA,SAAAA,kBAAA,CAAA,OAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;ACJD,cAAA,qBAAA,SAAAA,kBAAA,CAAA,KAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;;;ACJA;;ACAD,cAAA,uBAAA,SAAAA,kBAAA,CAAA,OAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;;;;;;;ACIA;;ACND,cAAA,gBAAA;AAGW,cAAA,wBAAA;AACA,aAAA,uBAAA;AACA,WAAA,qBAAA;AACA,aAAA,uBAAA;AAHA,0BAAA,wBAAA,WAAA,uBAAA,SAAA,qBAAA,WAAA,uBAAA;;;AAKV;;;;;ACPA;;ACDD,cAAA,eAAA;qBAEiB,mDAAA,CAAA,iBAAA;;0BAEK,2BAAA,CAAA,WAAA;AAEpB,2BAAA,QAAA;;;AAGD;;;;ACXA;;ACAD,cAAA,kBAAA,SAAA,eAAA,CAAA,QAAA;;;;AAGC;;ACHD,cAAA,gBAAA,SAAA,SAAA,CAAA,OAAA;;;;;;;AACqD,QAAA,OAAA;AAOnD,oBAAA,OAAA;;;AAA2D;AAM5D;AAED,cAAA,iBAAA,SAAA,eAAA,CAAA,OAAA;;;;;AAIC;;ACdD,cAAA,cAAA,SAAA,eAAA,CAAA,IAAA;sBAGkB,oCAAA,CAAA,WAAA;;;;;AAqBhB;;AAoBM,kEAAA,OAAA,CAAA,IAAA;AAeN;AAIA;;;AAID;;AC3ED,cAAA,gBAAA;;;;AAGC;;ACCD,cAAA,YAAA;;;;;;;AAMC;;;;;ACNA;;ACDD,cAAA,gBAAA,SAAAC,qBAAA,CAAA,MAAA;;;;;AAIC;;ACND,cAAA,cAAA;AAGW,YAAA,gBAAA;AAAA,wBAAA,gBAAA;;;AAEV;;ACJD,cAAA,mBAAA;AAIW,UAAA,cAAA;AAAA,sBAAA,cAAA;;;AAEV;;ACLD,cAAA,mBAAA;;;;;;AAKC;;;;;ACJA;AAED,iBAAA,2BAAA,SAAA,oBAAA,KAAwEC,EAAA,cAAAA,EAAA,CAAA,oBAAA;;;;;;;;;AAKvE;;ACTD,cAAA,qBAAA;AAGW,cAAA,eAAA;AACA,UAAA,mBAAA;AADA,0BAAA,eAAA,QAAA,mBAAA;;;AAGV;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../../../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/notion/contract/contract.repository.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.repository.ts","../../../../../packages/@xxmachina/common/src/lib/infra/repository/notion/notion.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],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAKC;;ACAD;;;AAKE;;;AAGD;;;;ACTA;;ACAD;;;;AAGC;;ACHD;;;;;;;AACqD;AAOnD;;;AAA2D;AAM5D;AAED;;;;;AAIC;;ACdD;;;;;;AAwBE;;AAoBM;AAeN;AAIA;;;AAID;;AC3ED;;;;AAGC;;ACCD;;;;;;;AAMC;;;;;ACPA;;;;;ACCA;AAED;;;AAKC;;ACRD;;;;;AAIC;;ACND;AAGW;AAAA;;;AAEV;;ACJD;AAIW;AAAA;;;AAEV;;ACND;;;;;AAIC;;ACJD;;;;;AAIC;;ACJD;;;;;AAIC;;ACJD;;;;;AAIC;;ACFD;AAGW;AACA;AACA;AACA;AAHA;;;AAKV;;ACTD;;;;;;AAKC;;ACND;AAGW;AACA;AADA;;;AAGV;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.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":["NotionRepository"],"mappings":";;;;;;;;;AAIC;AAED,cAAA,eAAA,EAAA,cAAA,CAAA,cAAA;AAEA,iBAAA,qBAAA,SAAA,cAAA;;;AAEC;;ACND,cAAA,wBAAA,SAAAA,kBAAA,CAAA,QAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;;;ACJA;AAED,cAAA,cAAA,EAAA,cAAA,CAAA,aAAA;AAEA,iBAAA,oBAAA,SAAA,aAAA;;;AAEC;;ACND,cAAA,uBAAA,SAAAA,kBAAA,CAAA,OAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;ACJD,cAAA,qBAAA,SAAAA,kBAAA,CAAA,KAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;;;ACJA;AAED,cAAA,cAAA,EAAA,cAAA,CAAA,aAAA;AAEA,iBAAA,oBAAA,SAAA,aAAA;;;AAEC;;ACND,cAAA,uBAAA,SAAAA,kBAAA,CAAA,OAAA;yBAEqB,cAAA,CAAA,eAAA;;;;AAEpB;;;;;;;;ACIA;AAED,iBAAA,mBAAA,SAAA,YAAA;;;;;;AAQC;;AChBD,cAAA,gBAAA;AAGW,cAAA,wBAAA;AACA,aAAA,uBAAA;AACA,WAAA,qBAAA;AACA,aAAA,uBAAA;AAHA,0BAAA,wBAAA,WAAA,uBAAA,SAAA,qBAAA,WAAA,uBAAA;;;AAKV;;;;"}
1
+ {"version":3,"file":"index.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;;;;;AAIC;;;;ACJA;AAED;AAEA;;;AAEC;;ACND;;;;;AAIC;;ACJD;;;;;AAIC;;;;ACJA;AAED;AAEA;;;AAEC;;ACND;;;;;AAIC;;;;;;;;ACIA;AAED;;;;;;AAQC;;AChBD;AAGW;AACA;AACA;AACA;AAHA;;;AAKV;;;"}
@@ -25,7 +25,6 @@ declare class InvoiceUsecase {
25
25
  }>;
26
26
  sendMail(mail: InvoiceMail): Promise<void>;
27
27
  getLink(invoiceId: string): Promise<string>;
28
- private transformInvoiceData;
29
28
  static ɵfac: i0.ɵɵFactoryDeclaration<InvoiceUsecase, never>;
30
29
  static ɵprov: i0.ɵɵInjectableDeclaration<InvoiceUsecase>;
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sources":["../../../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/invoice/invoice.service.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAWC;AAED,cAAA,cAAA,EAA2B,YAAA,CAAA,OAAA,CAAA,aAAA;AAE3B,cAAA,cAAA;AAEE;AACA;AACA;AACA;AACA;AACA;;;;;;AA2BM,2BAAA,OAAA;;;;;;;AA+HN;;;AAuBD;;;;"}
1
+ {"version":3,"file":"index.d.ts","sources":["../../../../../../../packages/@xxmachina/common/src/lib/invoice/usecase/invoice/invoice.service.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAaC;AAED;AAEA;AAEE;AACA;AACA;AACA;AACA;AACA;;;;;;AA2BM;;;;;;;;;AA+CP;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xxmachina/common",
3
- "version": "19.21.8",
3
+ "version": "19.25.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.21.8",
17
- "@ng-atomic/components": "19.21.8",
18
- "@ng-atomic/core": "19.21.8",
19
- "@nx-ddd/common": "19.21.8",
20
- "@nx-ddd/core": "19.21.8",
16
+ "@ng-atomic/common": "19.25.0",
17
+ "@ng-atomic/components": "19.25.0",
18
+ "@ng-atomic/core": "19.25.0",
19
+ "@nx-ddd/common": "19.25.0",
20
+ "@nx-ddd/core": "19.25.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.21.8",
47
- "@nx-ddd/firestore": "19.21.8",
48
- "@nx-ddd/google": "19.21.8",
49
- "@nx-ddd/hasura": "19.21.8",
50
- "@nx-ddd/notion": "19.21.8",
46
+ "@nx-ddd/any-func": "19.25.0",
47
+ "@nx-ddd/firestore": "19.25.0",
48
+ "@nx-ddd/google": "19.25.0",
49
+ "@nx-ddd/hasura": "19.25.0",
50
+ "@nx-ddd/notion": "19.25.0",
51
51
  "@notionhq/client": "^2.2.15"
52
52
  },
53
53
  "dependencies": {
@@ -67,18 +67,10 @@
67
67
  "types": "./auth/index.d.ts",
68
68
  "default": "./fesm2022/xxmachina-common-auth.mjs"
69
69
  },
70
- "./azure-auth": {
71
- "types": "./azure-auth/index.d.ts",
72
- "default": "./fesm2022/xxmachina-common-azure-auth.mjs"
73
- },
74
70
  "./domain": {
75
71
  "types": "./domain/index.d.ts",
76
72
  "default": "./fesm2022/xxmachina-common-domain.mjs"
77
73
  },
78
- "./firebase-auth": {
79
- "types": "./firebase-auth/index.d.ts",
80
- "default": "./fesm2022/xxmachina-common-firebase-auth.mjs"
81
- },
82
74
  "./infra": {
83
75
  "types": "./infra/index.d.ts",
84
76
  "default": "./fesm2022/xxmachina-common-infra.mjs"
@@ -103,6 +95,22 @@
103
95
  "types": "./_shared/meta/index.d.ts",
104
96
  "default": "./fesm2022/xxmachina-common-_shared-meta.mjs"
105
97
  },
98
+ "./auth/azure": {
99
+ "types": "./auth/azure/index.d.ts",
100
+ "default": "./fesm2022/xxmachina-common-auth-azure.mjs"
101
+ },
102
+ "./auth/firebase": {
103
+ "types": "./auth/firebase/index.d.ts",
104
+ "default": "./fesm2022/xxmachina-common-auth-firebase.mjs"
105
+ },
106
+ "./auth/core": {
107
+ "types": "./auth/core/index.d.ts",
108
+ "default": "./fesm2022/xxmachina-common-auth-core.mjs"
109
+ },
110
+ "./auth/passports": {
111
+ "types": "./auth/passports/index.d.ts",
112
+ "default": "./fesm2022/xxmachina-common-auth-passports.mjs"
113
+ },
106
114
  "./domain/builder": {
107
115
  "types": "./domain/builder/index.d.ts",
108
116
  "default": "./fesm2022/xxmachina-common-domain-builder.mjs"
@@ -179,10 +187,30 @@
179
187
  "types": "./_shared/meta/redis/index.d.ts",
180
188
  "default": "./fesm2022/xxmachina-common-_shared-meta-redis.mjs"
181
189
  },
190
+ "./auth/passports/anonymous": {
191
+ "types": "./auth/passports/anonymous/index.d.ts",
192
+ "default": "./fesm2022/xxmachina-common-auth-passports-anonymous.mjs"
193
+ },
194
+ "./auth/passports/firebase": {
195
+ "types": "./auth/passports/firebase/index.d.ts",
196
+ "default": "./fesm2022/xxmachina-common-auth-passports-firebase.mjs"
197
+ },
198
+ "./auth/passports/internal": {
199
+ "types": "./auth/passports/internal/index.d.ts",
200
+ "default": "./fesm2022/xxmachina-common-auth-passports-internal.mjs"
201
+ },
202
+ "./auth/passports/msal": {
203
+ "types": "./auth/passports/msal/index.d.ts",
204
+ "default": "./fesm2022/xxmachina-common-auth-passports-msal.mjs"
205
+ },
182
206
  "./domain/builder/screen-item": {
183
207
  "types": "./domain/builder/screen-item/index.d.ts",
184
208
  "default": "./fesm2022/xxmachina-common-domain-builder-screen-item.mjs"
185
209
  },
210
+ "./domain/models/presenter": {
211
+ "types": "./domain/models/presenter/index.d.ts",
212
+ "default": "./fesm2022/xxmachina-common-domain-models-presenter.mjs"
213
+ },
186
214
  "./infra/converters/google": {
187
215
  "types": "./infra/converters/google/index.d.ts",
188
216
  "default": "./fesm2022/xxmachina-common-infra-converters-google.mjs"
@@ -207,14 +235,14 @@
207
235
  "types": "./infra/query/hasura/index.d.ts",
208
236
  "default": "./fesm2022/xxmachina-common-infra-query-hasura.mjs"
209
237
  },
210
- "./infra/repository/firestore": {
211
- "types": "./infra/repository/firestore/index.d.ts",
212
- "default": "./fesm2022/xxmachina-common-infra-repository-firestore.mjs"
213
- },
214
238
  "./infra/repository/dataconnect": {
215
239
  "types": "./infra/repository/dataconnect/index.d.ts",
216
240
  "default": "./fesm2022/xxmachina-common-infra-repository-dataconnect.mjs"
217
241
  },
242
+ "./infra/repository/firestore": {
243
+ "types": "./infra/repository/firestore/index.d.ts",
244
+ "default": "./fesm2022/xxmachina-common-infra-repository-firestore.mjs"
245
+ },
218
246
  "./infra/repository/hasura": {
219
247
  "types": "./infra/repository/hasura/index.d.ts",
220
248
  "default": "./fesm2022/xxmachina-common-infra-repository-hasura.mjs"
@@ -254,22 +282,6 @@
254
282
  "./services/query/config": {
255
283
  "types": "./services/query/config/index.d.ts",
256
284
  "default": "./fesm2022/xxmachina-common-services-query-config.mjs"
257
- },
258
- "./_shared/auth/passports/anonymous": {
259
- "types": "./_shared/auth/passports/anonymous/index.d.ts",
260
- "default": "./fesm2022/xxmachina-common-_shared-auth-passports-anonymous.mjs"
261
- },
262
- "./_shared/auth/passports/firebase": {
263
- "types": "./_shared/auth/passports/firebase/index.d.ts",
264
- "default": "./fesm2022/xxmachina-common-_shared-auth-passports-firebase.mjs"
265
- },
266
- "./_shared/auth/passports/internal": {
267
- "types": "./_shared/auth/passports/internal/index.d.ts",
268
- "default": "./fesm2022/xxmachina-common-_shared-auth-passports-internal.mjs"
269
- },
270
- "./_shared/auth/passports/msal": {
271
- "types": "./_shared/auth/passports/msal/index.d.ts",
272
- "default": "./fesm2022/xxmachina-common-_shared-auth-passports-msal.mjs"
273
285
  }
274
286
  },
275
287
  "sideEffects": false