@nx-ddd/any-func 19.25.0 → 19.26.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/nx-ddd-any-func-adapters-local-storage-browser.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-adapters-local-storage-node.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-adapters-local-storage.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-adapters-validator-commonjs.mjs +3 -3
- package/fesm2022/nx-ddd-any-func-adapters-validator-commonjs.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-adapters-validator-esmodule.mjs +3 -3
- package/fesm2022/nx-ddd-any-func-adapters-validator-esmodule.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-adapters-validator.mjs +3 -3
- package/fesm2022/nx-ddd-any-func-adapters-validator.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-browser.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func-server.mjs.map +1 -1
- package/fesm2022/nx-ddd-any-func.mjs +6 -6
- package/fesm2022/nx-ddd-any-func.mjs.map +1 -1
- package/package.json +18 -18
- package/{index.d.ts → types/nx-ddd-any-func.d.ts} +2 -2
- /package/{adapters/local-storage-browser/index.d.ts → types/nx-ddd-any-func-adapters-local-storage-browser.d.ts} +0 -0
- /package/{adapters/local-storage-node/index.d.ts → types/nx-ddd-any-func-adapters-local-storage-node.d.ts} +0 -0
- /package/{adapters/local-storage/index.d.ts → types/nx-ddd-any-func-adapters-local-storage.d.ts} +0 -0
- /package/{adapters/validator-commonjs/index.d.ts → types/nx-ddd-any-func-adapters-validator-commonjs.d.ts} +0 -0
- /package/{adapters/validator-esmodule/index.d.ts → types/nx-ddd-any-func-adapters-validator-esmodule.d.ts} +0 -0
- /package/{adapters/validator/index.d.ts → types/nx-ddd-any-func-adapters-validator.d.ts} +0 -0
- /package/{browser/index.d.ts → types/nx-ddd-any-func-browser.d.ts} +0 -0
- /package/{server/index.d.ts → types/nx-ddd-any-func-server.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-adapters-local-storage-browser.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-adapters-local-storage-browser.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/adapters/local-storage-browser/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/adapters/local-storage-browser/nx-ddd-any-func-adapters-local-storage-browser.ts"],"sourcesContent":["import { LOCAL_STORAGE } from \"@nx-ddd/any-func/adapters/local-storage\";\n\nexport function provideLocalStorage() {\n return LOCAL_STORAGE.provide(() => localStorage);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;SAEgB,mBAAmB,GAAA;IACjC,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,YAAY,CAAC;AAClD;;ACJA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-adapters-local-storage-node.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-adapters-local-storage-node.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/adapters/local-storage-node/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/adapters/local-storage-node/nx-ddd-any-func-adapters-local-storage-node.ts"],"sourcesContent":["import { LocalStorage } from \"node-localstorage\";\nimport { LOCAL_STORAGE } from \"@nx-ddd/any-func/adapters/local-storage\";\nimport { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\n\nexport function provideLocalStorage(): EnvironmentProviders {\n return makeEnvironmentProviders([\n LOCAL_STORAGE.provide(() => new LocalStorage('node_modules/.cache/any-func', 5 * 1024 * 1024 * 1024))\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;SAIgB,mBAAmB,GAAA;AACjC,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA,aAAa,CAAC,OAAO,CAAC,MAAM,IAAI,YAAY,CAAC,8BAA8B,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACrG,KAAA,CAAC;AACJ;;ACRA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-adapters-local-storage.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-adapters-local-storage.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/adapters/local-storage/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/adapters/local-storage/nx-ddd-any-func-adapters-local-storage.ts"],"sourcesContent":["import { makeDI } from \"@nx-ddd/core\";\nimport { LocalStorage } from \"node-localstorage\";\n\nexport const LOCAL_STORAGE = makeDI<LocalStorage>('LOCAL_STORAGE');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;MAGa,aAAa,GAAG,MAAM,CAAe,eAAe;;ACHjE;;AAEG;;;;"}
|
|
@@ -12,10 +12,10 @@ class ValidatorAdapterCommonjs extends ValidatorAdapter {
|
|
|
12
12
|
}
|
|
13
13
|
return result.errors || [];
|
|
14
14
|
}
|
|
15
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapterCommonjs, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapterCommonjs, providedIn: 'root' });
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapterCommonjs, decorators: [{
|
|
19
19
|
type: Injectable,
|
|
20
20
|
args: [{ providedIn: 'root' }]
|
|
21
21
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-adapters-validator-commonjs.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-adapters-validator-commonjs.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/adapters/validator-commonjs/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/adapters/validator-commonjs/nx-ddd-any-func-adapters-validator-commonjs.ts"],"sourcesContent":["import { JsonError, JsonSchema, compileSchema, draft07 } from \"json-schema-library\";\nimport { ValidatorAdapter } from \"@nx-ddd/any-func/adapters/validator\";\nimport { Injectable } from \"@angular/core\";\nimport { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\n\n@Injectable({providedIn: 'root'})\nexport class ValidatorAdapterCommonjs extends ValidatorAdapter {\n async validate(schema: JsonSchema, data: any): Promise<JsonError[]> {\n const compiledSchema = compileSchema(schema, { drafts: [draft07] });\n const result = compiledSchema.validate(data);\n\n if (Array.isArray(result)) {\n return result;\n }\n return result.errors || [];\n }\n}\n\nexport function provideValidatorAdapter(): EnvironmentProviders {\n return makeEnvironmentProviders([\n { provide: ValidatorAdapter, useClass: ValidatorAdapterCommonjs },\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMM,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AAC5D,IAAA,MAAM,QAAQ,CAAC,MAAkB,EAAE,IAAS,EAAA;AAC1C,QAAA,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE5C,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;AACzB,YAAA,OAAO,MAAM;QACf;AACA,QAAA,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE;IAC5B;uGATW,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADZ,MAAM,EAAA,CAAA;;2FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;SAahB,uBAAuB,GAAA;AACrC,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wBAAwB,EAAE;AAClE,KAAA,CAAC;AACJ;;ACtBA;;AAEG;;;;"}
|
|
@@ -7,10 +7,10 @@ class ValidatorAdapterEsmodule extends ValidatorAdapter {
|
|
|
7
7
|
async validate(schema, data) {
|
|
8
8
|
return compileSchema(schema).validate(data).errors;
|
|
9
9
|
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
10
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapterEsmodule, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
11
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapterEsmodule, providedIn: 'root' });
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapterEsmodule, decorators: [{
|
|
14
14
|
type: Injectable,
|
|
15
15
|
args: [{ providedIn: 'root' }]
|
|
16
16
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-adapters-validator-esmodule.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-adapters-validator-esmodule.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/adapters/validator-esmodule/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/adapters/validator-esmodule/nx-ddd-any-func-adapters-validator-esmodule.ts"],"sourcesContent":["import { JsonError, JsonSchema } from \"json-schema-library\";\nimport { ValidatorAdapter } from \"@nx-ddd/any-func/adapters/validator\";\nimport { Injectable } from \"@angular/core\";\nimport { compileSchema } from 'json-schema-library';\n\n@Injectable({providedIn: 'root'})\nexport class ValidatorAdapterEsmodule extends ValidatorAdapter {\n async validate(schema: JsonSchema, data: any): Promise<JsonError[]> {\n return compileSchema(schema).validate(data).errors;\n }\n}\n\nexport function provideValidatorAdapter() {\n return [\n { provide: ValidatorAdapter, useClass: ValidatorAdapterEsmodule },\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMM,MAAO,wBAAyB,SAAQ,gBAAgB,CAAA;AAC5D,IAAA,MAAM,QAAQ,CAAC,MAAkB,EAAE,IAAS,EAAA;QAC1C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM;IACpD;uGAHW,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,cADZ,MAAM,EAAA,CAAA;;2FAClB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;SAOhB,uBAAuB,GAAA;IACrC,OAAO;AACL,QAAA,EAAE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,wBAAwB,EAAE;KAClE;AACH;;AChBA;;AAEG;;;;"}
|
|
@@ -2,10 +2,10 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
3
|
|
|
4
4
|
class ValidatorAdapter {
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
5
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
6
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapter });
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: ValidatorAdapter, decorators: [{
|
|
9
9
|
type: Injectable
|
|
10
10
|
}] });
|
|
11
11
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-adapters-validator.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-adapters-validator.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/adapters/validator/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/adapters/validator/nx-ddd-any-func-adapters-validator.ts"],"sourcesContent":["import { Injectable } from \"@angular/core\";\nimport type { JsonError, JsonSchema } from \"json-schema-library\";\n\n@Injectable()\nexport abstract class ValidatorAdapter {\n abstract validate(schema: JsonSchema, data: any): Promise<JsonError[]>;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIsB,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAhB,gBAAgB,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBADrC;;;ACHD;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-browser.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-browser.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/browser/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/browser/nx-ddd-any-func-browser.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\nimport { AnyFuncConfig, provideAnyFunc } from \"@nx-ddd/any-func\";\nimport { provideLocalStorage } from \"@nx-ddd/any-func/adapters/local-storage-browser\";\nimport { provideValidatorAdapter } from \"@nx-ddd/any-func/adapters/validator-esmodule\";\n\nexport function provideAnyFuncForBrowser(configFactory?: () => AnyFuncConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideAnyFunc(configFactory),\n provideValidatorAdapter(),\n provideLocalStorage(),\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKM,SAAU,wBAAwB,CAAC,aAAmC,EAAA;AAC1E,IAAA,OAAO,wBAAwB,CAAC;QAC9B,cAAc,CAAC,aAAa,CAAC;AAC7B,QAAA,uBAAuB,EAAE;AACzB,QAAA,mBAAmB,EAAE;AACtB,KAAA,CAAC;AACJ;;ACXA;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func-server.mjs","sources":["
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func-server.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/server/index.ts","../../../../../packages/@nx-ddd/any-func/src/lib/server/nx-ddd-any-func-server.ts"],"sourcesContent":["import { EnvironmentProviders, makeEnvironmentProviders } from \"@angular/core\";\nimport { AnyFuncConfig, provideAnyFunc } from \"@nx-ddd/any-func\";\nimport { provideLocalStorage } from \"@nx-ddd/any-func/adapters/local-storage-node\";\nimport { provideValidatorAdapter } from \"@nx-ddd/any-func/adapters/validator-commonjs\";\n\nexport function provideAnyFuncForServer(configFactory?: () => AnyFuncConfig): EnvironmentProviders {\n return makeEnvironmentProviders([\n provideAnyFunc(configFactory),\n provideValidatorAdapter(),\n provideLocalStorage(),\n ]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAKM,SAAU,uBAAuB,CAAC,aAAmC,EAAA;AACzE,IAAA,OAAO,wBAAwB,CAAC;QAC9B,cAAc,CAAC,aAAa,CAAC;AAC7B,QAAA,uBAAuB,EAAE;AACzB,QAAA,mBAAmB,EAAE;AACtB,KAAA,CAAC;AACJ;;ACXA;;AAEG;;;;"}
|
|
@@ -185,10 +185,10 @@ class CacheAdapter {
|
|
|
185
185
|
parseJson(value) {
|
|
186
186
|
return JSON.parse(value);
|
|
187
187
|
}
|
|
188
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
189
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
188
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CacheAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
189
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CacheAdapter });
|
|
190
190
|
}
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: CacheAdapter, decorators: [{
|
|
192
192
|
type: Injectable
|
|
193
193
|
}] });
|
|
194
194
|
|
|
@@ -385,10 +385,10 @@ class AnyFuncService {
|
|
|
385
385
|
else
|
|
386
386
|
return JSON.stringify(input);
|
|
387
387
|
}
|
|
388
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
389
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
388
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AnyFuncService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
389
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AnyFuncService });
|
|
390
390
|
}
|
|
391
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
391
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: AnyFuncService, decorators: [{
|
|
392
392
|
type: Injectable
|
|
393
393
|
}], ctorParameters: () => [] });
|
|
394
394
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nx-ddd-any-func.mjs","sources":["../tmp-esm2022/impl/json-schema/default-metadata-storage.js","../tmp-esm2022/impl/json-schema/json-schema.js","../tmp-esm2022/agent/agent.js","../tmp-esm2022/impl/adapters/cache/cache.adapter.js","../tmp-esm2022/any-func/tokens.js","../tmp-esm2022/any-func/message-helper.js","../tmp-esm2022/any-func/embeddings.js","../tmp-esm2022/any-func/providers.js","../tmp-esm2022/any-func/any-func.service.impl.js","../tmp-esm2022/any-func/any-func.service.js","../tmp-esm2022/nx-ddd-any-func.js"],"sourcesContent":["// 環境差異を吸収するため、try-catchでdynamic importしてdefaultMetadataStorageを取得します。\nlet defaultMetadataStorage;\ntry {\n ({ defaultMetadataStorage } = require('class-transformer/cjs/storage'));\n}\ncatch {\n // Ignore error if class-transformer is not available\n}\nexport function getMetadataStorage() {\n return defaultMetadataStorage;\n}\nexport function setMetadataStorage(metadataStorage) {\n defaultMetadataStorage = metadataStorage;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1tZXRhZGF0YS1zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9hbnktZnVuYy9zcmMvbGliL2ltcGwvanNvbi1zY2hlbWEvZGVmYXVsdC1tZXRhZGF0YS1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNFQUFzRTtBQUN0RSxJQUFJLHNCQUFnRixDQUFDO0FBRXJGLElBQUksQ0FBQztJQUNILENBQUMsRUFBRSxzQkFBc0IsRUFBRSxHQUFHLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUM7QUFDMUUsQ0FBQztBQUFDLE1BQU0sQ0FBQztJQUNQLHFEQUFxRDtBQUN2RCxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxPQUFPLHNCQUFzQixDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsZUFBeUU7SUFDMUcsc0JBQXNCLEdBQUcsZUFBZSxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnkrDlooPlt67nlbDjgpLlkLjlj47jgZnjgovjgZ/jgoHjgIF0cnktY2F0Y2jjgadkeW5hbWljIGltcG9ydOOBl+OBpmRlZmF1bHRNZXRhZGF0YVN0b3JhZ2XjgpLlj5blvpfjgZfjgb7jgZnjgIJcbmxldCBkZWZhdWx0TWV0YWRhdGFTdG9yYWdlOiBpbXBvcnQoJ2NsYXNzLXRyYW5zZm9ybWVyL2VzbTUvc3RvcmFnZScpLk1ldGFkYXRhU3RvcmFnZTtcblxudHJ5IHtcbiAgKHsgZGVmYXVsdE1ldGFkYXRhU3RvcmFnZSB9ID0gcmVxdWlyZSgnY2xhc3MtdHJhbnNmb3JtZXIvY2pzL3N0b3JhZ2UnKSk7XG59IGNhdGNoIHtcbiAgLy8gSWdub3JlIGVycm9yIGlmIGNsYXNzLXRyYW5zZm9ybWVyIGlzIG5vdCBhdmFpbGFibGVcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1ldGFkYXRhU3RvcmFnZSgpIHtcbiAgcmV0dXJuIGRlZmF1bHRNZXRhZGF0YVN0b3JhZ2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRNZXRhZGF0YVN0b3JhZ2UobWV0YWRhdGFTdG9yYWdlOiBpbXBvcnQoJ2NsYXNzLXRyYW5zZm9ybWVyL2VzbTUvc3RvcmFnZScpLk1ldGFkYXRhU3RvcmFnZSkge1xuICBkZWZhdWx0TWV0YWRhdGFTdG9yYWdlID0gbWV0YWRhdGFTdG9yYWdlO1xufVxuIl19","import { ValidationTypes } from \"class-validator\";\nimport { targetConstructorToSchema as _targetConstructorToSchema } from \"class-validator-jsonschema\";\nimport { getMetadataStorage } from \"./default-metadata-storage\";\n// import { defaultMetadataStorage } from 'c/lass-transformer/esm5/storage';\n// setMetadataStorage(defaultMetadataStorage);\nfunction getPropType(target, property) {\n return Reflect.getMetadata('design:type', target, property);\n}\nfunction targetToSchema(type, options) {\n if (typeof type === 'function') {\n if (type.prototype === String.prototype ||\n type.prototype === Symbol.prototype) {\n return { type: 'string' };\n }\n else if (type.prototype === Number.prototype) {\n return { type: 'number' };\n }\n else if (type.prototype === Boolean.prototype) {\n return { type: 'boolean' };\n }\n return targetConstructorToSchema(type, options);\n }\n}\nconst additionalConverters = {\n [ValidationTypes.NESTED_VALIDATION]: (meta, options) => {\n if (typeof meta.target === 'function') {\n const typeMeta = options.classTransformerMetadataStorage\n ? options.classTransformerMetadataStorage.findTypeMetadata(meta.target, meta.propertyName)\n : null;\n const childType = typeMeta\n ? typeMeta.typeFunction()\n : getPropType(meta.target.prototype, meta.propertyName);\n return targetToSchema(childType, options);\n }\n },\n isDayjs: (meta) => {\n return {\n type: 'string',\n format: 'date-time', // JSON Schemaで日付型を指定\n };\n },\n};\nexport function targetConstructorToSchema(target, options = {}) {\n return _targetConstructorToSchema(target, {\n ...options,\n additionalConverters,\n classTransformerMetadataStorage: getMetadataStorage(),\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2FueS1mdW5jL3NyYy9saWIvaW1wbC9qc29uLXNjaGVtYS9qc29uLXNjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDakQsT0FBTyxFQUFFLHlCQUF5QixJQUFJLDBCQUEwQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFHcEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsNEVBQTRFO0FBRTVFLDhDQUE4QztBQUU5QyxTQUFTLFdBQVcsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7SUFDbkQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDN0QsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixJQUFTLEVBQ1QsT0FBWTtJQUVaLElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDL0IsSUFDRSxJQUFJLENBQUMsU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25DLElBQUksQ0FBQyxTQUFTLEtBQUssTUFBTSxDQUFDLFNBQVMsRUFDbkMsQ0FBQztZQUNELE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUE7UUFDM0IsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQTtRQUMzQixDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNoRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFBO1FBQzVCLENBQUM7UUFFRCxPQUFPLHlCQUF5QixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sb0JBQW9CLEdBQUU7SUFDMUIsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRTtRQUMvRCxJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUN0QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsK0JBQStCO2dCQUN0RCxDQUFDLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLGdCQUFnQixDQUN0RCxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxZQUFZLENBQ2xCO2dCQUNILENBQUMsQ0FBQyxJQUFJLENBQUE7WUFDUixNQUFNLFNBQVMsR0FBRyxRQUFRO2dCQUN4QixDQUFDLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRTtnQkFDekIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDekQsT0FBTyxjQUFjLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQzNDLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsSUFBUyxFQUFlLEVBQUU7UUFDbEMsT0FBTztZQUNMLElBQUksRUFBRSxRQUFRO1lBQ2QsTUFBTSxFQUFFLFdBQVcsRUFBRSxxQkFBcUI7U0FDM0MsQ0FBQztJQUNKLENBQUM7Q0FDRixDQUFDO0FBRUYsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE1BQWdCLEVBQUUsVUFBNkIsRUFBRTtJQUN6RixPQUFPLDBCQUEwQixDQUFDLE1BQU0sRUFBRTtRQUN4QyxHQUFHLE9BQU87UUFDVixvQkFBb0I7UUFDcEIsK0JBQStCLEVBQUUsa0JBQWtCLEVBQUU7S0FDdEQsQ0FBZ0IsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvblR5cGVzIH0gZnJvbSBcImNsYXNzLXZhbGlkYXRvclwiXG5pbXBvcnQgeyB0YXJnZXRDb25zdHJ1Y3RvclRvU2NoZW1hIGFzIF90YXJnZXRDb25zdHJ1Y3RvclRvU2NoZW1hIH0gZnJvbSBcImNsYXNzLXZhbGlkYXRvci1qc29uc2NoZW1hXCJcbmltcG9ydCB7IElPcHRpb25zIH0gZnJvbSBcImNsYXNzLXZhbGlkYXRvci1qc29uc2NoZW1hL2J1aWxkL29wdGlvbnNcIjtcbmltcG9ydCB7IEpTT05TY2hlbWE3IH0gZnJvbSAnanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgZ2V0TWV0YWRhdGFTdG9yYWdlIH0gZnJvbSBcIi4vZGVmYXVsdC1tZXRhZGF0YS1zdG9yYWdlXCI7XG4vLyBpbXBvcnQgeyBkZWZhdWx0TWV0YWRhdGFTdG9yYWdlIH0gZnJvbSAnYy9sYXNzLXRyYW5zZm9ybWVyL2VzbTUvc3RvcmFnZSc7XG5cbi8vIHNldE1ldGFkYXRhU3RvcmFnZShkZWZhdWx0TWV0YWRhdGFTdG9yYWdlKTtcblxuZnVuY3Rpb24gZ2V0UHJvcFR5cGUodGFyZ2V0OiBvYmplY3QsIHByb3BlcnR5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ2Rlc2lnbjp0eXBlJywgdGFyZ2V0LCBwcm9wZXJ0eSlcbn1cblxuZnVuY3Rpb24gdGFyZ2V0VG9TY2hlbWEoXG4gIHR5cGU6IGFueSxcbiAgb3B0aW9uczogYW55XG4pOiBhbnkge1xuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpZiAoXG4gICAgICB0eXBlLnByb3RvdHlwZSA9PT0gU3RyaW5nLnByb3RvdHlwZSB8fFxuICAgICAgdHlwZS5wcm90b3R5cGUgPT09IFN5bWJvbC5wcm90b3R5cGVcbiAgICApIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdzdHJpbmcnIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUucHJvdG90eXBlID09PSBOdW1iZXIucHJvdG90eXBlKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAnbnVtYmVyJyB9XG4gICAgfSBlbHNlIGlmICh0eXBlLnByb3RvdHlwZSA9PT0gQm9vbGVhbi5wcm90b3R5cGUpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdib29sZWFuJyB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRhcmdldENvbnN0cnVjdG9yVG9TY2hlbWEodHlwZSwgb3B0aW9ucylcbiAgfVxufVxuXG5jb25zdCBhZGRpdGlvbmFsQ29udmVydGVycz0ge1xuICBbVmFsaWRhdGlvblR5cGVzLk5FU1RFRF9WQUxJREFUSU9OXTogKG1ldGE6IGFueSwgb3B0aW9uczogYW55KSA9PiB7XG4gICAgaWYgKHR5cGVvZiBtZXRhLnRhcmdldCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY29uc3QgdHlwZU1ldGEgPSBvcHRpb25zLmNsYXNzVHJhbnNmb3JtZXJNZXRhZGF0YVN0b3JhZ2VcbiAgICAgICAgPyBvcHRpb25zLmNsYXNzVHJhbnNmb3JtZXJNZXRhZGF0YVN0b3JhZ2UuZmluZFR5cGVNZXRhZGF0YShcbiAgICAgICAgICAgIG1ldGEudGFyZ2V0LFxuICAgICAgICAgICAgbWV0YS5wcm9wZXJ0eU5hbWVcbiAgICAgICAgICApXG4gICAgICAgIDogbnVsbFxuICAgICAgY29uc3QgY2hpbGRUeXBlID0gdHlwZU1ldGFcbiAgICAgICAgPyB0eXBlTWV0YS50eXBlRnVuY3Rpb24oKVxuICAgICAgICA6IGdldFByb3BUeXBlKG1ldGEudGFyZ2V0LnByb3RvdHlwZSwgbWV0YS5wcm9wZXJ0eU5hbWUpXG4gICAgICByZXR1cm4gdGFyZ2V0VG9TY2hlbWEoY2hpbGRUeXBlLCBvcHRpb25zKVxuICAgIH1cbiAgfSxcbiAgaXNEYXlqczogKG1ldGE6IGFueSk6IEpTT05TY2hlbWE3ID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBmb3JtYXQ6ICdkYXRlLXRpbWUnLCAvLyBKU09OIFNjaGVtYeOBp+aXpeS7mOWei+OCkuaMh+WumlxuICAgIH07XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdGFyZ2V0Q29uc3RydWN0b3JUb1NjaGVtYSh0YXJnZXQ6IEZ1bmN0aW9uLCBvcHRpb25zOiBQYXJ0aWFsPElPcHRpb25zPiA9IHt9KTogSlNPTlNjaGVtYTcge1xuICByZXR1cm4gX3RhcmdldENvbnN0cnVjdG9yVG9TY2hlbWEodGFyZ2V0LCB7XG4gICAgLi4ub3B0aW9ucyxcbiAgICBhZGRpdGlvbmFsQ29udmVydGVycyxcbiAgICBjbGFzc1RyYW5zZm9ybWVyTWV0YWRhdGFTdG9yYWdlOiBnZXRNZXRhZGF0YVN0b3JhZ2UoKSxcbiAgfSkgYXMgSlNPTlNjaGVtYTc7XG59XG4iXX0=","import { targetConstructorToSchema } from '../impl/json-schema';\nconst AI_TOOLS = '[ai-tools]';\nconst AI_SYSTEM = '[ai-system]';\nexport function addTool(obj, tool) {\n obj[AI_TOOLS] = obj[AI_TOOLS] ?? [];\n obj[AI_TOOLS].push(tool);\n return obj;\n}\nexport function getTools(obj) {\n return obj[AI_TOOLS] ?? [];\n}\nexport function buildFunctionTool(params) {\n return {\n type: 'function',\n function: {\n name: params.name,\n description: params.description,\n parameters: params.parameters,\n },\n };\n}\nexport function buildToolFromSchema(name, description, schema) {\n const parameters = targetConstructorToSchema(schema);\n return buildFunctionTool({ name, description, parameters });\n}\nexport function AiFunction(params) {\n return function (target, propertyKey, descriptor) {\n // 引数の型を取得\n const args = Reflect.getMetadata('design:paramtypes', target, propertyKey);\n const tool = buildToolFromSchema(propertyKey, params?.description ?? '', args[0]);\n addTool(target, tool);\n return descriptor;\n };\n}\nexport function setAiSystemConfig(obj, config) {\n obj[AI_SYSTEM] = config;\n return obj;\n}\nexport function getAiSystemConfig(obj) {\n return obj[AI_SYSTEM];\n}\nexport function AiSystem({ model = 'gpt-4-1106-preview', instructions = ``, shots = [], }) {\n return function (target) {\n setAiSystemConfig(target, { model, instructions, shots });\n return target;\n };\n}\nexport class AiToolsAgent {\n openai;\n constructor(openai) {\n this.openai = openai;\n }\n messages = [\n { role: 'system', content: '' },\n ];\n results = [];\n get tools() {\n return getTools(this.constructor);\n }\n get config() {\n return getAiSystemConfig(this.constructor);\n }\n async completion(tools = this.tools) {\n const message = await this.openai.chat.completions.create({\n model: this.config.model,\n messages: this.messages,\n tools,\n });\n for (const call of message.choices?.[0]?.message?.tool_calls ?? []) {\n if (call.type === 'function') {\n const func = this[call.function.name];\n const result = func(JSON.parse(call.function.arguments));\n this.results.push(result);\n }\n }\n }\n async execute(message, options = {}) {\n this.messages.push({ role: 'user', content: message });\n await this.completion(options.tools);\n return this.results.at(-1);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2FueS1mdW5jL3NyYy9saWIvYWdlbnQvYWdlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEUsTUFBTSxRQUFRLEdBQUcsWUFBcUIsQ0FBQztBQUN2QyxNQUFNLFNBQVMsR0FBRyxhQUFzQixDQUFDO0FBRXpDLE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBMkIsRUFBRSxJQUFZO0lBQy9ELEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxHQUEyQjtJQUNsRCxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDN0IsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUlqQztJQUNDLE9BQU87UUFDTCxJQUFJLEVBQUUsVUFBVTtRQUNoQixRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7WUFDakIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTtTQUM5QjtLQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLE1BQWdCO0lBQ3JGLE1BQU0sVUFBVSxHQUFHLHlCQUF5QixDQUFDLE1BQU0sQ0FBdUIsQ0FBQztJQUMzRSxPQUFPLGlCQUFpQixDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUs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LENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0sIEZ1bmN0aW9uUGFyYW1ldGVycywgIH0gZnJvbSBcIm9wZW5haS9yZXNvdXJjZXNcIjtcbmltcG9ydCB7IEZ1bmN0aW9uVG9vbCB9IGZyb20gXCJvcGVuYWkvcmVzb3VyY2VzL2JldGEvYXNzaXN0YW50c1wiO1xuaW1wb3J0IHsgQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNCYXNlIH0gZnJvbSBcIm9wZW5haS9yZXNvdXJjZXMvY2hhdC9jb21wbGV0aW9uc1wiO1xuaW1wb3J0IHsgT3BlbkFpU2VydmljZUltcGwgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvb3BlbmFpL2ltcGwnO1xuaW1wb3J0IHsgdGFyZ2V0Q29uc3RydWN0b3JUb1NjaGVtYSB9IGZyb20gJy4uL2ltcGwvanNvbi1zY2hlbWEnO1xuXG5jb25zdCBBSV9UT09MUyA9ICdbYWktdG9vbHNdJyBhcyBjb25zdDtcbmNvbnN0IEFJX1NZU1RFTSA9ICdbYWktc3lzdGVtXScgYXMgY29uc3Q7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRUb29sKG9iajoge1tBSV9UT09MU106IG9iamVjdFtdfSwgdG9vbDogb2JqZWN0KSB7XG4gIG9ialtBSV9UT09MU10gPSBvYmpbQUlfVE9PTFNdID8/IFtdO1xuICBvYmpbQUlfVE9PTFNdLnB1c2godG9vbCk7XG4gIHJldHVybiBvYmo7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUb29scyhvYmo6IHtbQUlfVE9PTFNdOiBvYmplY3RbXX0pOiBhbnlbXSB7XG4gIHJldHVybiBvYmpbQUlfVE9PTFNdID8/IFtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRGdW5jdGlvblRvb2wocGFyYW1zOiB7XG4gIG5hbWU6IHN0cmluZyxcbiAgZGVzY3JpcHRpb246IHN0cmluZyxcbiAgcGFyYW1ldGVyczogRnVuY3Rpb25QYXJhbWV0ZXJzLFxufSk6IEZ1bmN0aW9uVG9vbCB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogJ2Z1bmN0aW9uJyxcbiAgICBmdW5jdGlvbjoge1xuICAgICAgbmFtZTogcGFyYW1zLm5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogcGFyYW1zLmRlc2NyaXB0aW9uLFxuICAgICAgcGFyYW1ldGVyczogcGFyYW1zLnBhcmFtZXRlcnMsXG4gICAgfSxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRUb29sRnJvbVNjaGVtYShuYW1lOiBzdHJpbmcsIGRlc2NyaXB0aW9uOiBzdHJpbmcsIHNjaGVtYTogRnVuY3Rpb24pOiBGdW5jdGlvblRvb2wge1xuICBjb25zdCBwYXJhbWV0ZXJzID0gdGFyZ2V0Q29uc3RydWN0b3JUb1NjaGVtYShzY2hlbWEpIGFzIEZ1bmN0aW9uUGFyYW1ldGVycztcbiAgcmV0dXJuIGJ1aWxkRnVuY3Rpb25Ub29sKHsgbmFtZSwgZGVzY3JpcHRpb24sIHBhcmFtZXRlcnMgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBaUZ1bmN0aW9uKHBhcmFtcz86IHtkZXNjcmlwdGlvbj86IHN0cmluZ30pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk6IHN0cmluZywgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yKSB7XG4gICAgLy8g5byV5pWw44Gu5Z6L44KS5Y+W5b6XXG4gICAgY29uc3QgYXJncyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ2Rlc2lnbjpwYXJhbXR5cGVzJywgdGFyZ2V0LCBwcm9wZXJ0eUtleSk7XG4gICAgY29uc3QgdG9vbCA9IGJ1aWxkVG9vbEZyb21TY2hlbWEocHJvcGVydHlLZXksIHBhcmFtcz8uZGVzY3JpcHRpb24gPz8gJycsIGFyZ3NbMF0pO1xuICAgIGFkZFRvb2wodGFyZ2V0LCB0b29sKTtcbiAgICByZXR1cm4gZGVzY3JpcHRvcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBaVN5c3RlbUNvbmZpZyB7XG4gIG1vZGVsPzogQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNCYXNlWydtb2RlbCddO1xuICBpbnN0cnVjdGlvbnM/OiBzdHJpbmc7XG4gIHNob3RzPzoge2lucHV0OiBzdHJpbmcsIG91dHB1dDogc3RyaW5nfVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QWlTeXN0ZW1Db25maWcob2JqOiB7W0FJX1NZU1RFTV06IEFpU3lzdGVtQ29uZmlnfSwgY29uZmlnOiBBaVN5c3RlbUNvbmZpZykge1xuICBvYmpbQUlfU1lTVEVNXSA9IGNvbmZpZztcbiAgcmV0dXJuIG9iajtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFpU3lzdGVtQ29uZmlnKG9iajoge1tBSV9TWVNURU1dOiBBaVN5c3RlbUNvbmZpZ30pOiBBaVN5c3RlbUNvbmZpZyB7XG4gIHJldHVybiBvYmpbQUlfU1lTVEVNXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEFpU3lzdGVtKHtcbiAgbW9kZWwgPSAnZ3B0LTQtMTEwNi1wcmV2aWV3JyxcbiAgaW5zdHJ1Y3Rpb25zID0gYGAsXG4gIHNob3RzID0gW10sXG59OiBBaVN5c3RlbUNvbmZpZykge1xuICByZXR1cm4gZnVuY3Rpb24gKHRhcmdldDogYW55KSB7XG4gICAgc2V0QWlTeXN0ZW1Db25maWcodGFyZ2V0LCB7bW9kZWwsIGluc3RydWN0aW9ucywgc2hvdHN9KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9O1xufVxuXG5leHBvcnQgY2xhc3MgQWlUb29sc0FnZW50IHtcbiAgY29uc3RydWN0b3IgKHByb3RlY3RlZCBvcGVuYWk6IE9wZW5BaVNlcnZpY2VJbXBsKSB7IH1cbiAgXG4gIG1lc3NhZ2VzOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbVtdID0gW1xuICAgIHsgcm9sZTogJ3N5c3RlbScgYXMgY29uc3QsIGNvbnRlbnQ6ICcnIH0sXG4gIF07XG5cbiAgcmVzdWx0czogYW55W10gPSBbXTtcblxuICBnZXQgdG9vbHMoKSB7XG4gICAgcmV0dXJuIGdldFRvb2xzKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KTtcbiAgfVxuXG4gIGdldCBjb25maWcoKSB7XG4gICAgcmV0dXJuIGdldEFpU3lzdGVtQ29uZmlnKHRoaXMuY29uc3RydWN0b3IgYXMgYW55KTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBsZXRpb24odG9vbHM6IGFueVtdID0gdGhpcy50b29scykge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBhd2FpdCB0aGlzLm9wZW5haS5jaGF0LmNvbXBsZXRpb25zLmNyZWF0ZSh7XG4gICAgICBtb2RlbDogdGhpcy5jb25maWcubW9kZWwhLFxuICAgICAgbWVzc2FnZXM6IHRoaXMubWVzc2FnZXMsXG4gICAgICB0b29scyxcbiAgICB9KTtcbiAgICBmb3IgKGNvbnN0IGNhbGwgb2YgbWVzc2FnZS5jaG9pY2VzPy5bMF0/Lm1lc3NhZ2U/LnRvb2xfY2FsbHMgPz8gW10pIHtcbiAgICAgIGlmIChjYWxsLnR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgZnVuYyA9ICh0aGlzIGFzIGFueSlbY2FsbC5mdW5jdGlvbi5uYW1lXTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZnVuYyhKU09OLnBhcnNlKGNhbGwuZnVuY3Rpb24uYXJndW1lbnRzKSk7XG4gICAgICAgIHRoaXMucmVzdWx0cy5wdXNoKHJlc3VsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZTxUPWFueT4obWVzc2FnZTogc3RyaW5nLCBvcHRpb25zOiB7dG9vbHM/OiBhbnlbXX0gPSB7fSk6IFByb21pc2U8VD4ge1xuICAgIHRoaXMubWVzc2FnZXMucHVzaCh7cm9sZTogJ3VzZXInLCBjb250ZW50OiBtZXNzYWdlfSk7XG4gICAgYXdhaXQgdGhpcy5jb21wbGV0aW9uKG9wdGlvbnMudG9vbHMpO1xuICAgIHJldHVybiB0aGlzLnJlc3VsdHMuYXQoLTEpIGFzIGFueTtcbiAgfVxufVxuXG4iXX0=","import { Injectable } from \"@angular/core\";\nimport { LOCAL_STORAGE } from '@nx-ddd/any-func/adapters/local-storage';\nimport CryptoJS from 'crypto-js';\nimport * as i0 from \"@angular/core\";\nexport class CacheAdapter {\n localStorage = LOCAL_STORAGE.inject();\n async get(keyOrObj) {\n const key = this.makeKey(keyOrObj);\n return this.parseJson(this.localStorage.getItem(key));\n }\n async set(keyOrObj, value) {\n const key = this.makeKey(keyOrObj);\n this.localStorage.setItem(key, this.makeJson(value));\n }\n async call(props, callback) {\n const key = this.makeKey(props);\n let value = await this.get(key);\n if (value)\n return value;\n value = await callback(props);\n await this.set(key, value);\n return value;\n }\n makeKey(keyOrObj) {\n const value = typeof keyOrObj === 'string' ? keyOrObj : JSON.stringify(keyOrObj);\n return CryptoJS.SHA256(value).toString();\n }\n makeJson(valueOrObj) {\n return JSON.stringify(valueOrObj);\n }\n parseJson(value) {\n return JSON.parse(value);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CacheAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CacheAdapter });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: CacheAdapter, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvYW55LWZ1bmMvc3JjL2xpYi9pbXBsL2FkYXB0ZXJzL2NhY2hlL2NhY2hlLmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDeEUsT0FBTyxRQUFRLE1BQU0sV0FBVyxDQUFDOztBQUdqQyxNQUFNLE9BQU8sWUFBWTtJQUNiLFlBQVksR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFaEQsS0FBSyxDQUFDLEdBQUcsQ0FBSSxRQUF5QjtRQUNwQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBYSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQXlCLEVBQUUsS0FBVTtRQUM3QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQWlDLEtBQVEsRUFBRSxRQUFrQztRQUNyRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBSSxHQUFHLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUs7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUN4QixLQUFLLEdBQUcsTUFBTSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFUyxPQUFPLENBQUMsUUFBeUI7UUFDekMsTUFBTSxLQUFLLEdBQUcsT0FBTyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFUyxRQUFRLENBQUMsVUFBZTtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVTLFNBQVMsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO3VHQWpDVSxZQUFZOzJHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExPQ0FMX1NUT1JBR0UgfSBmcm9tICdAbngtZGRkL2FueS1mdW5jL2FkYXB0ZXJzL2xvY2FsLXN0b3JhZ2UnO1xuaW1wb3J0IENyeXB0b0pTIGZyb20gJ2NyeXB0by1qcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDYWNoZUFkYXB0ZXIge1xuICBwcm90ZWN0ZWQgbG9jYWxTdG9yYWdlID0gTE9DQUxfU1RPUkFHRS5pbmplY3QoKTtcblxuICBhc3luYyBnZXQ8VD4oa2V5T3JPYmo6IHN0cmluZyB8IG9iamVjdCk6IFByb21pc2U8VCB8IG51bGw+IHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkoa2V5T3JPYmopO1xuICAgIHJldHVybiB0aGlzLnBhcnNlSnNvbih0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSkpIGFzIFQgfCBudWxsO1xuICB9XG5cbiAgYXN5bmMgc2V0KGtleU9yT2JqOiBzdHJpbmcgfCBvYmplY3QsIHZhbHVlOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkoa2V5T3JPYmopO1xuICAgIHRoaXMubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCB0aGlzLm1ha2VKc29uKHZhbHVlKSk7XG4gIH1cblxuICBhc3luYyBjYWxsPFAgZXh0ZW5kcyAoc3RyaW5nIHwgb2JqZWN0KSwgVD4ocHJvcHM6IFAsIGNhbGxiYWNrOiAocHJvcHM6IFApID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCBrZXkgPSB0aGlzLm1ha2VLZXkocHJvcHMpO1xuICAgIGxldCB2YWx1ZSA9IGF3YWl0IHRoaXMuZ2V0PFQ+KGtleSk7XG4gICAgaWYgKHZhbHVlKSByZXR1cm4gdmFsdWU7XG4gICAgdmFsdWUgPSBhd2FpdCBjYWxsYmFjayhwcm9wcyk7XG4gICAgYXdhaXQgdGhpcy5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgcmV0dXJuIHZhbHVlOyBcbiAgfVxuXG4gIHByb3RlY3RlZCBtYWtlS2V5KGtleU9yT2JqOiBzdHJpbmcgfCBvYmplY3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbHVlID0gdHlwZW9mIGtleU9yT2JqID09PSAnc3RyaW5nJyA/IGtleU9yT2JqIDogSlNPTi5zdHJpbmdpZnkoa2V5T3JPYmopO1xuICAgIHJldHVybiBDcnlwdG9KUy5TSEEyNTYodmFsdWUpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFrZUpzb24odmFsdWVPck9iajogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWVPck9iaik7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VKc29uKHZhbHVlOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHZhbHVlKTtcbiAgfVxufVxuIl19","import { inject, InjectionToken } from '@angular/core';\n/**\n * InjectionToken for AnyFuncService\n */\nexport const ANY_FUNC_SERVICE = new InjectionToken('[@nx-ddd/any-func] AnyFuncService');\n/**\n * InjectionToken for AnyFuncConfig\n */\nexport const ANY_FUNC_CONFIG = new InjectionToken('[@nx-ddd/any-func] AnyFuncConfig');\n/**\n * Injects the AnyFuncService\n */\nexport function injectAnyFunc() {\n return inject(ANY_FUNC_SERVICE, { optional: true }) ?? {};\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9hbnktZnVuYy9zcmMvbGliL2FueS1mdW5jL3Rva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFNLG1DQUFtQyxDQUFDLENBQUM7QUFFN0Y7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsSUFBSSxjQUFjLENBQWdCLGtDQUFrQyxDQUFDLENBQUM7QUFFckc7O0dBRUc7QUFDSCxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxJQUFJLEVBQU8sQ0FBQztBQUMvRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBBbnlGdW5jQ29uZmlnIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogSW5qZWN0aW9uVG9rZW4gZm9yIEFueUZ1bmNTZXJ2aWNlXG4gKi9cbmV4cG9ydCBjb25zdCBBTllfRlVOQ19TRVJWSUNFID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ1tAbngtZGRkL2FueS1mdW5jXSBBbnlGdW5jU2VydmljZScpO1xuXG4vKipcbiAqIEluamVjdGlvblRva2VuIGZvciBBbnlGdW5jQ29uZmlnXG4gKi9cbmV4cG9ydCBjb25zdCBBTllfRlVOQ19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48QW55RnVuY0NvbmZpZz4oJ1tAbngtZGRkL2FueS1mdW5jXSBBbnlGdW5jQ29uZmlnJyk7XG5cbi8qKlxuICogSW5qZWN0cyB0aGUgQW55RnVuY1NlcnZpY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEFueUZ1bmM8VCA9IGFueT4oKTogVCB7XG4gIHJldHVybiBpbmplY3QoQU5ZX0ZVTkNfU0VSVklDRSwge29wdGlvbmFsOiB0cnVlfSkgPz8ge30gYXMgVDtcbn1cbiJdfQ==","/**\n * Type guard for browser File object\n */\nexport function isBrowserFile(obj) {\n return typeof File !== 'undefined' && obj instanceof File;\n}\n/**\n * Helper class for building OpenAI message content\n */\nexport class OpenAiMessageHelper {\n /**\n * Converts an image file to base64 string\n */\n static async imageToBase64(imageFile) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const base64String = reader.result;\n resolve(base64String.split(',')[1]);\n };\n reader.onerror = reject;\n reader.readAsDataURL(imageFile);\n });\n }\n /**\n * Builds message content from files\n */\n static async buildFilesMessage(files) {\n return await Promise.all(files.map(async (file) => ({\n type: 'image_url',\n image_url: { url: `data:image/jpeg;base64,${await this.imageToBase64(file)}` },\n })));\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9AbngtZGRkL2FueS1mdW5jL3NyYy9saWIvYW55LWZ1bmMvbWVzc2FnZS1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVk7SUFDeEMsT0FBTyxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksR0FBRyxZQUFZLElBQUksQ0FBQztBQUM1RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsU0FBZTtRQUN4QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQ25CLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFnQixDQUFDO2dCQUM3QyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQWE7UUFDMUMsT0FBTyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xELElBQUksRUFBRSxXQUFvQjtZQUMxQixTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsMEJBQTBCLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1NBQy9FLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtIH0gZnJvbSAnb3BlbmFpL3Jlc291cmNlcyc7XG5cbi8qKlxuICogVHlwZSBndWFyZCBmb3IgYnJvd3NlciBGaWxlIG9iamVjdFxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNCcm93c2VyRmlsZShvYmo6IHVua25vd24pOiBvYmogaXMgRmlsZSB7XG4gIHJldHVybiB0eXBlb2YgRmlsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgb2JqIGluc3RhbmNlb2YgRmlsZTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIGJ1aWxkaW5nIE9wZW5BSSBtZXNzYWdlIGNvbnRlbnRcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZW5BaU1lc3NhZ2VIZWxwZXIge1xuICAvKipcbiAgICogQ29udmVydHMgYW4gaW1hZ2UgZmlsZSB0byBiYXNlNjQgc3RyaW5nXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgaW1hZ2VUb0Jhc2U2NChpbWFnZUZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgYmFzZTY0U3RyaW5nID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgIHJlc29sdmUoYmFzZTY0U3RyaW5nLnNwbGl0KCcsJylbMV0pO1xuICAgICAgfTtcbiAgICAgIHJlYWRlci5vbmVycm9yID0gcmVqZWN0O1xuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoaW1hZ2VGaWxlKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgbWVzc2FnZSBjb250ZW50IGZyb20gZmlsZXNcbiAgICovXG4gIHN0YXRpYyBhc3luYyBidWlsZEZpbGVzTWVzc2FnZShmaWxlczogRmlsZVtdKTogUHJvbWlzZTxDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbVsnY29udGVudCddPiB7XG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKGZpbGVzLm1hcChhc3luYyAoZmlsZSkgPT4gKHtcbiAgICAgIHR5cGU6ICdpbWFnZV91cmwnIGFzIGNvbnN0LFxuICAgICAgaW1hZ2VfdXJsOiB7IHVybDogYGRhdGE6aW1hZ2UvanBlZztiYXNlNjQsJHthd2FpdCB0aGlzLmltYWdlVG9CYXNlNjQoZmlsZSl9YCB9LFxuICAgIH0pKSk7XG4gIH1cbn1cbiJdfQ==","import pLimit from 'p-limit';\n/**\n * Embedding-related utilities for AnyFuncService\n */\nexport class EmbeddingsHelper {\n cache;\n openai;\n constructor(cache, openai) {\n this.cache = cache;\n this.openai = openai;\n }\n async getEmbeddings(item, accessor) {\n const props = { item, model: 'text-embedding-3-small' };\n let embedding = await this.cache.get(props);\n if (embedding)\n return embedding;\n embedding = await this.openai.embeddings.create({ model: props.model, input: accessor(item) }).then(res => res.data[0].embedding);\n await this.cache.set(props, embedding);\n return embedding;\n }\n async sort(items, accessor, target) {\n const dist = (a, b) => Math.sqrt(a.reduce((acc, v, i) => acc + (v - b[i]) ** 2, 0));\n const targetEmbeddings = await this.getEmbeddings(target, s => s);\n const limit = pLimit(10);\n const embeddings = await Promise.all(items.map(item => limit(() => this.getEmbeddings(item, accessor))));\n const items_ = items.map((item, i) => ({ item, embedding: embeddings[i], distance: dist(embeddings[i], targetEmbeddings) }));\n return items_.sort((a, b) => a.distance - b.distance).map(({ item }) => item);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvYW55LWZ1bmMvc3JjL2xpYi9hbnktZnVuYy9lbWJlZGRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFNBQVMsQ0FBQztBQUc3Qjs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFFakI7SUFDQTtJQUZWLFlBQ1UsS0FBbUIsRUFDbkIsTUFBOEg7UUFEOUgsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUF3SDtJQUNySSxDQUFDO0lBRUosS0FBSyxDQUFDLGFBQWEsQ0FBSSxJQUFPLEVBQUUsUUFBNkI7UUFDM0QsTUFBTSxLQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLHdCQUF3QixFQUFFLENBQUM7UUFDeEQsSUFBSSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBVyxLQUFLLENBQUMsQ0FBQztRQUN0RCxJQUFJLFNBQVM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNoQyxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xJLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFJLEtBQVUsRUFBRSxRQUE2QixFQUFFLE1BQWM7UUFDckUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFXLEVBQUUsQ0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixNQUFNLFVBQVUsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBMaW1pdCBmcm9tICdwLWxpbWl0JztcbmltcG9ydCB7IENhY2hlQWRhcHRlciB9IGZyb20gJy4uL2ltcGwvYWRhcHRlcnMvY2FjaGUnO1xuXG4vKipcbiAqIEVtYmVkZGluZy1yZWxhdGVkIHV0aWxpdGllcyBmb3IgQW55RnVuY1NlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIEVtYmVkZGluZ3NIZWxwZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNhY2hlOiBDYWNoZUFkYXB0ZXIsXG4gICAgcHJpdmF0ZSBvcGVuYWk6IHsgZW1iZWRkaW5nczogeyBjcmVhdGU6IChwYXJhbXM6IHsgbW9kZWw6IHN0cmluZzsgaW5wdXQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPHsgZGF0YTogeyBlbWJlZGRpbmc6IG51bWJlcltdIH1bXSB9PiB9IH1cbiAgKSB7fVxuXG4gIGFzeW5jIGdldEVtYmVkZGluZ3M8VD4oaXRlbTogVCwgYWNjZXNzb3I6IChpdGVtOiBUKSA9PiBzdHJpbmcpOiBQcm9taXNlPG51bWJlcltdPiB7XG4gICAgY29uc3QgcHJvcHMgPSB7IGl0ZW0sIG1vZGVsOiAndGV4dC1lbWJlZGRpbmctMy1zbWFsbCcgfTtcbiAgICBsZXQgZW1iZWRkaW5nID0gYXdhaXQgdGhpcy5jYWNoZS5nZXQ8bnVtYmVyW10+KHByb3BzKTtcbiAgICBpZiAoZW1iZWRkaW5nKSByZXR1cm4gZW1iZWRkaW5nO1xuICAgIGVtYmVkZGluZyA9IGF3YWl0IHRoaXMub3BlbmFpLmVtYmVkZGluZ3MuY3JlYXRlKHsgbW9kZWw6IHByb3BzLm1vZGVsLCBpbnB1dDogYWNjZXNzb3IoaXRlbSkgfSkudGhlbihyZXMgPT4gcmVzLmRhdGFbMF0uZW1iZWRkaW5nKTtcbiAgICBhd2FpdCB0aGlzLmNhY2hlLnNldChwcm9wcywgZW1iZWRkaW5nKTtcbiAgICByZXR1cm4gZW1iZWRkaW5nO1xuICB9XG5cbiAgYXN5bmMgc29ydDxUPihpdGVtczogVFtdLCBhY2Nlc3NvcjogKGl0ZW06IFQpID0+IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiBQcm9taXNlPFRbXT4ge1xuICAgIGNvbnN0IGRpc3QgPSAoYTogbnVtYmVyW10sIGI6IG51bWJlcltdKSA9PiBNYXRoLnNxcnQoYS5yZWR1Y2UoKGFjYywgdiwgaSkgPT4gYWNjICsgKHYgLSBiW2ldKSAqKiAyLCAwKSk7XG4gICAgY29uc3QgdGFyZ2V0RW1iZWRkaW5ncyA9IGF3YWl0IHRoaXMuZ2V0RW1iZWRkaW5ncyh0YXJnZXQsIHMgPT4gcyk7XG4gICAgY29uc3QgbGltaXQgPSBwTGltaXQoMTApO1xuICAgIGNvbnN0IGVtYmVkZGluZ3MgPSBhd2FpdCBQcm9taXNlLmFsbChpdGVtcy5tYXAoaXRlbSA9PiBsaW1pdCgoKSA9PiB0aGlzLmdldEVtYmVkZGluZ3MoaXRlbSwgYWNjZXNzb3IpKSkpO1xuICAgIGNvbnN0IGl0ZW1zXyA9IGl0ZW1zLm1hcCgoaXRlbSwgaSkgPT4gKHsgaXRlbSwgZW1iZWRkaW5nOiBlbWJlZGRpbmdzW2ldLCBkaXN0YW5jZTogZGlzdChlbWJlZGRpbmdzW2ldLCB0YXJnZXRFbWJlZGRpbmdzKSB9KSk7XG4gICAgcmV0dXJuIGl0ZW1zXy5zb3J0KChhLCBiKSA9PiBhLmRpc3RhbmNlIC0gYi5kaXN0YW5jZSkubWFwKCh7aXRlbX0pID0+IGl0ZW0pO1xuICB9XG59XG4iXX0=","import { provideOpenaiService } from '@nx-ddd/common/infrastructure/externals/openai/impl';\nimport { CacheAdapter } from '../impl/adapters/cache';\nimport { ANY_FUNC_SERVICE, ANY_FUNC_CONFIG } from './tokens';\nimport { AnyFuncService } from './any-func.service.impl';\n/**\n * Provides the AnyFuncService with configuration\n */\nexport function provideAnyFunc(useFactory) {\n const config = useFactory();\n return [\n { provide: ANY_FUNC_SERVICE, useClass: AnyFuncService },\n { provide: ANY_FUNC_CONFIG, useFactory },\n CacheAdapter,\n provideOpenaiService(() => ({\n apiKey: config.openaiApiKey,\n dangerouslyAllowBrowser: config.dangerouslyAllowBrowser\n })),\n ];\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9hbnktZnVuYy9zcmMvbGliL2FueS1mdW5jL3Byb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFVBQWdDO0lBQzdELE1BQU0sTUFBTSxHQUFHLFVBQVUsRUFBRSxDQUFDO0lBQzVCLE9BQU87UUFDTCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFO1FBQ3ZELEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUU7UUFDeEMsWUFBWTtRQUNaLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQyxZQUFZO1lBQzNCLHVCQUF1QixFQUFFLE1BQU0sQ0FBQyx1QkFBdUI7U0FDeEQsQ0FBQyxDQUFDO0tBQ0osQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm92aWRlT3BlbmFpU2VydmljZSB9IGZyb20gJ0BueC1kZGQvY29tbW9uL2luZnJhc3RydWN0dXJlL2V4dGVybmFscy9vcGVuYWkvaW1wbCc7XG5pbXBvcnQgeyBDYWNoZUFkYXB0ZXIgfSBmcm9tICcuLi9pbXBsL2FkYXB0ZXJzL2NhY2hlJztcbmltcG9ydCB7IEFOWV9GVU5DX1NFUlZJQ0UsIEFOWV9GVU5DX0NPTkZJRyB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IEFueUZ1bmNDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFueUZ1bmNTZXJ2aWNlIH0gZnJvbSAnLi9hbnktZnVuYy5zZXJ2aWNlLmltcGwnO1xuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBBbnlGdW5jU2VydmljZSB3aXRoIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBbnlGdW5jKHVzZUZhY3Rvcnk/OiAoKSA9PiBBbnlGdW5jQ29uZmlnKSB7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUZhY3RvcnkoKTtcbiAgcmV0dXJuIFtcbiAgICB7IHByb3ZpZGU6IEFOWV9GVU5DX1NFUlZJQ0UsIHVzZUNsYXNzOiBBbnlGdW5jU2VydmljZSB9LFxuICAgIHsgcHJvdmlkZTogQU5ZX0ZVTkNfQ09ORklHLCB1c2VGYWN0b3J5IH0sXG4gICAgQ2FjaGVBZGFwdGVyLFxuICAgIHByb3ZpZGVPcGVuYWlTZXJ2aWNlKCgpID0+ICh7XG4gICAgICBhcGlLZXk6IGNvbmZpZy5vcGVuYWlBcGlLZXksXG4gICAgICBkYW5nZXJvdXNseUFsbG93QnJvd3NlcjogY29uZmlnLmRhbmdlcm91c2x5QWxsb3dCcm93c2VyXG4gICAgfSkpLFxuICBdXG59XG4iXX0=","import { inject, Injectable } from '@angular/core';\nimport { injectOpenAiService } from '@nx-ddd/common/infrastructure/externals/openai';\nimport { catchError, lastValueFrom, map, of, retry, switchMap, tap } from 'rxjs';\nimport { ZodSchema } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { buildFunctionTool } from '../agent';\nimport { targetConstructorToSchema } from '../impl/json-schema';\nimport { CacheAdapter } from '../impl/adapters/cache';\nimport { ValidatorAdapter } from '@nx-ddd/any-func/adapters/validator';\nimport { ANY_FUNC_CONFIG } from './tokens';\nimport { isBrowserFile, OpenAiMessageHelper } from './message-helper';\nimport { EmbeddingsHelper } from './embeddings';\nimport * as i0 from \"@angular/core\";\nexport { ANY_FUNC_SERVICE, ANY_FUNC_CONFIG, injectAnyFunc } from './tokens';\nexport { provideAnyFunc } from './providers';\nexport class AnyFuncService {\n openai = injectOpenAiService();\n config = inject(ANY_FUNC_CONFIG, { optional: true }) ?? { debug: false };\n cache = inject(CacheAdapter);\n validator = inject(ValidatorAdapter);\n embeddingsHelper;\n constructor() {\n this.embeddingsHelper = new EmbeddingsHelper(this.cache, this.openai);\n }\n /** @deprecated use callByJsonSchema instead */\n async jsonSchema(_input, jsonSchema, options = {}) {\n return this.callByJsonSchema(_input, jsonSchema, options);\n }\n async callByJsonSchema(_input, jsonSchema, { instructions = '', model = 'gpt-4o', specs = [], embeddings = false, sample = 3, temperature = 0, maxRetry = 3, validator = (data) => this.validator.validate(jsonSchema, data), } = {}) {\n for (const spec of specs) {\n const errors = await validator(spec.output);\n if (errors.length > 0)\n throw new Error(JSON.stringify(errors, null, 2));\n }\n const content = await this.parseInput(_input);\n const sortedSpecs = embeddings ? await this.embeddingsHelper.sort(specs, embeddings, _input) : specs;\n const messages = [\n { role: 'system', content: instructions },\n ...(await this.buildChatMessages(sortedSpecs.slice(0, sample).reverse())),\n { role: 'user', content },\n ];\n return lastValueFrom(of(null).pipe(map(() => messages), switchMap(() => this.complete(_input, jsonSchema, messages, { model, sample, temperature })), tap(message => messages.push(message)), switchMap(async (message) => {\n const toolCall = message.tool_calls[0];\n if (toolCall.type !== 'function')\n throw new Error('Unexpected tool call type');\n const output = JSON.parse(toolCall.function.arguments);\n console.debug('[AnyFuncService#complete] output:', output);\n const errors = await validator(output);\n console.debug('[AnyFuncService#complete] errors:', errors);\n if (errors.length > 0) {\n messages.push({ role: 'tool', content: JSON.stringify(errors), tool_call_id: message.tool_calls[0].id });\n if (this.config.debug)\n console.debug('messages', JSON.stringify(messages, null, 2));\n throw new Error(JSON.stringify(errors, null, 2));\n }\n else {\n messages.push({ role: 'tool', content: JSON.stringify(output), tool_call_id: message.tool_calls[0].id });\n if (this.config.debug)\n console.debug('messages', JSON.stringify(messages, null, 2));\n }\n return output;\n }), catchError((error) => { console.error(error); throw error; }), retry(maxRetry)));\n }\n async callByZod(_input, zod, options = {}) {\n const schema = zodToJsonSchema(zod, { $refStrategy: 'none' });\n const validator = options.validator ?? ((data) => this.validator.validate(schema, data));\n return this.jsonSchema(_input, schema, { ...options, validator });\n }\n async callByClassValidator(_input, args, options = {}) {\n const parameters = targetConstructorToSchema(args);\n const validator = options.validator ?? ((data) => this.validator.validate(parameters, data));\n console.debug('[AnyFuncService#call] parameters:', parameters);\n return this.jsonSchema(_input, parameters, { ...options, validator });\n }\n async call(_input, args, params = {}) {\n if (args instanceof ZodSchema)\n return this.callByZod(_input, args, params);\n if (args instanceof Function)\n return this.callByClassValidator(_input, args, params);\n if (typeof args === 'object' && args !== null && 'type' in args && args.type === 'object') {\n return this.callByJsonSchema(_input, args, params);\n }\n throw new Error('Invalid args type');\n }\n async complete(_input, jsonSchema, messages, { model = 'gpt-4o', temperature = 0 } = {}) {\n const tool = buildFunctionTool({ name: 'function', description: '', parameters: jsonSchema });\n const props = {\n model, messages, tools: [tool],\n tool_choice: { type: 'function', function: { name: 'function' } },\n temperature,\n };\n const res = await this.cache.call(props, props => this.openai.chat.completions.create(props));\n return res.choices[0].message;\n }\n async buildChatMessages(specs) {\n const messages = await Promise.all(specs.map(async ({ input, output }) => {\n const parsedInput = await this.parseInput(input);\n return [\n { role: 'user', content: parsedInput },\n { role: 'assistant', content: null, tool_calls: [{ id: 'call-example', type: 'function', function: { name: 'function', arguments: JSON.stringify(output) } }] },\n { role: 'tool', content: 'success', tool_call_id: 'call-example' },\n ];\n }));\n return messages.flat();\n }\n async parseInput(input) {\n if (isBrowserFile(input))\n return await OpenAiMessageHelper.buildFilesMessage([input]);\n else if (input === 'string')\n return input;\n else\n return JSON.stringify(input);\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AnyFuncService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AnyFuncService });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.5\", ngImport: i0, type: AnyFuncService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWZ1bmMuc2VydmljZS5pbXBsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9hbnktZnVuYy9zcmMvbGliL2FueS1mdW5jL2FueS1mdW5jLnNlcnZpY2UuaW1wbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDaEMsT0FBTyxlQUFlLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUd2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBSWhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHN0MsTUFBTSxPQUFPLGNBQWM7SUFD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Q0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFO2dCQUMvSixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFO2FBQ25FLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFxRCxDQUFDO0lBQzVFLENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQVU7UUFDakMsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQUUsT0FBTyxNQUFNLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUNqRixJQUFJLEtBQUssS0FBSyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7O1lBQ3JDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO3VHQTlHVSxjQUFjOzJHQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE9wZW5BaVNlcnZpY2UgfSBmcm9tICdAbngtZGRkL2NvbW1vbi9pbmZyYXN0cnVjdHVyZS9leHRlcm5hbHMvb3BlbmFpJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGxhc3RWYWx1ZUZyb20sIG1hcCwgb2YsIHJldHJ5LCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHR5cGUgeyBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSwgRnVuY3Rpb25QYXJhbWV0ZXJzIH0gZnJvbSAnb3BlbmFpL3Jlc291cmNlcyc7XG5pbXBvcnQgeyBab2RTY2hlbWEgfSBmcm9tICd6b2QnO1xuaW1wb3J0IHpvZFRvSnNvblNjaGVtYSBmcm9tICd6b2QtdG8tanNvbi1zY2hlbWEnO1xuaW1wb3J0IHsgYnVpbGRGdW5jdGlvblRvb2wgfSBmcm9tICcuLi9hZ2VudCc7XG5pbXBvcnQgeyB0YXJnZXRDb25zdHJ1Y3RvclRvU2NoZW1hIH0gZnJvbSAnLi4vaW1wbC9qc29uLXNjaGVtYSc7XG5pbXBvcnQgeyBDYWNoZUFkYXB0ZXIgfSBmcm9tICcuLi9pbXBsL2FkYXB0ZXJzL2NhY2hlJztcbmltcG9ydCB7IFZhbGlkYXRvckFkYXB0ZXIgfSBmcm9tICdAbngtZGRkL2FueS1mdW5jL2FkYXB0ZXJzL3ZhbGlkYXRvcic7XG5pbXBvcnQgeyBKc29uU2NoZW1hIH0gZnJvbSAnanNvbi1zY2hlbWEtbGlicmFyeSc7XG5pbXBvcnQgeyBDYWxsT3B0aW9ucywgQW55RnVuY0NvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQU5ZX0ZVTkNfQ09ORklHIH0gZnJvbSAnLi90b2tlbnMnO1xuaW1wb3J0IHsgaXNCcm93c2VyRmlsZSwgT3BlbkFpTWVzc2FnZUhlbHBlciB9IGZyb20gJy4vbWVzc2FnZS1oZWxwZXInO1xuaW1wb3J0IHsgRW1iZWRkaW5nc0hlbHBlciB9IGZyb20gJy4vZW1iZWRkaW5ncyc7XG5cbi8vIFJlLWV4cG9ydCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IHsgQ2FsbE9wdGlvbnMsIEFueUZ1bmNDb25maWcgfSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB7IEFOWV9GVU5DX1NFUlZJQ0UsIEFOWV9GVU5DX0NPTkZJRywgaW5qZWN0QW55RnVuYyB9IGZyb20gJy4vdG9rZW5zJztcbmV4cG9ydCB7IHByb3ZpZGVBbnlGdW5jIH0gZnJvbSAnLi9wcm92aWRlcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQW55RnVuY1NlcnZpY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3BlbmFpID0gaW5qZWN0T3BlbkFpU2VydmljZSgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEFOWV9GVU5DX0NPTkZJRywge29wdGlvbmFsOiB0cnVlfSkgPz8geyBkZWJ1ZzogZmFsc2UgfTtcbiAgcHJvdGVjdGVkIGNhY2hlID0gaW5qZWN0KENhY2hlQWRhcHRlcik7XG4gIHByb3RlY3RlZCB2YWxpZGF0b3IgPSBpbmplY3QoVmFsaWRhdG9yQWRhcHRlcik7XG4gIHByaXZhdGUgZW1iZWRkaW5nc0hlbHBlcjogRW1iZWRkaW5nc0hlbHBlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmVtYmVkZGluZ3NIZWxwZXIgPSBuZXcgRW1iZWRkaW5nc0hlbHBlcih0aGlzLmNhY2hlLCB0aGlzLm9wZW5haSk7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIGNhbGxCeUpzb25TY2hlbWEgaW5zdGVhZCAqL1xuICBhc3luYyBqc29uU2NoZW1hKF9pbnB1dDogYW55LCBqc29uU2NoZW1hOiBGdW5jdGlvblBhcmFtZXRlcnMsIG9wdGlvbnM6IENhbGxPcHRpb25zPGFueSwgYW55PiA9IHt9KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5jYWxsQnlKc29uU2NoZW1hKF9pbnB1dCwganNvblNjaGVtYSwgb3B0aW9ucyk7XG4gIH1cblxuICBhc3luYyBjYWxsQnlKc29uU2NoZW1hKF9pbnB1dDogYW55LCBqc29uU2NoZW1hOiBGdW5jdGlvblBhcmFtZXRlcnMsIHtcbiAgICBpbnN0cnVjdGlvbnMgPSAnJywgbW9kZWwgPSAnZ3B0LTRvJywgc3BlY3MgPSBbXSwgZW1iZWRkaW5ncyA9IGZhbHNlLFxuICAgIHNhbXBsZSA9IDMsIHRlbXBlcmF0dXJlID0gMCwgbWF4UmV0cnkgPSAzLFxuICAgIHZhbGlkYXRvciA9IChkYXRhOiBhbnkpID0+IHRoaXMudmFsaWRhdG9yLnZhbGlkYXRlKGpzb25TY2hlbWEsIGRhdGEpLFxuICB9OiBDYWxsT3B0aW9uczxhbnksIGFueT4gPSB7fSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChjb25zdCBzcGVjIG9mIHNwZWNzKSB7XG4gICAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCB2YWxpZGF0b3Ioc3BlYy5vdXRwdXQpO1xuICAgICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB0aHJvdyBuZXcgRXJyb3IoSlNPTi5zdHJpbmdpZnkoZXJyb3JzLCBudWxsLCAyKSk7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCB0aGlzLnBhcnNlSW5wdXQoX2lucHV0KTtcbiAgICBjb25zdCBzb3J0ZWRTcGVjcyA9IGVtYmVkZGluZ3MgPyBhd2FpdCB0aGlzLmVtYmVkZGluZ3NIZWxwZXIuc29ydChzcGVjcywgZW1iZWRkaW5ncywgX2lucHV0KSA6IHNwZWNzO1xuICAgIGNvbnN0IG1lc3NhZ2VzOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbVtdID0gW1xuICAgICAgeyByb2xlOiAnc3lzdGVtJywgY29udGVudDogaW5zdHJ1Y3Rpb25zIH0sXG4gICAgICAuLi4oYXdhaXQgdGhpcy5idWlsZENoYXRNZXNzYWdlcyhzb3J0ZWRTcGVjcy5zbGljZSgwLCBzYW1wbGUpLnJldmVyc2UoKSkpLFxuICAgICAgeyByb2xlOiAndXNlcicsIGNvbnRlbnQgfSxcbiAgICBdO1xuICAgIHJldHVybiBsYXN0VmFsdWVGcm9tKG9mKG51bGwpLnBpcGUoXG4gICAgICBtYXAoKCkgPT4gbWVzc2FnZXMpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY29tcGxldGUoX2lucHV0LCBqc29uU2NoZW1hLCBtZXNzYWdlcywgeyBtb2RlbCwgc2FtcGxlLCB0ZW1wZXJhdHVyZSB9KSksXG4gICAgICB0YXAobWVzc2FnZSA9PiBtZXNzYWdlcy5wdXNoKG1lc3NhZ2UpKSxcbiAgICAgIHN3aXRjaE1hcChhc3luYyAobWVzc2FnZSkgPT4ge1xuICAgICAgICBjb25zdCB0b29sQ2FsbCA9IG1lc3NhZ2UudG9vbF9jYWxscyFbMF07XG4gICAgICAgIGlmICh0b29sQ2FsbC50eXBlICE9PSAnZnVuY3Rpb24nKSB0aHJvdyBuZXcgRXJyb3IoJ1VuZXhwZWN0ZWQgdG9vbCBjYWxsIHR5cGUnKTtcbiAgICAgICAgY29uc3Qgb3V0cHV0ID0gSlNPTi5wYXJzZSh0b29sQ2FsbC5mdW5jdGlvbi5hcmd1bWVudHMpO1xuICAgICAgICBjb25zb2xlLmRlYnVnKCdbQW55RnVuY1NlcnZpY2UjY29tcGxldGVdIG91dHB1dDonLCBvdXRwdXQpO1xuICAgICAgICBjb25zdCBlcnJvcnMgPSBhd2FpdCB2YWxpZGF0b3Iob3V0cHV0KTtcbiAgICAgICAgY29uc29sZS5kZWJ1ZygnW0FueUZ1bmNTZXJ2aWNlI2NvbXBsZXRlXSBlcnJvcnM6JywgZXJyb3JzKTtcbiAgICAgICAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgbWVzc2FnZXMucHVzaCh7IHJvbGU6ICd0b29sJywgY29udGVudDogSlNPTi5zdHJpbmdpZnkoZXJyb3JzKSwgdG9vbF9jYWxsX2lkOiBtZXNzYWdlLnRvb2xfY2FsbHMhWzBdLmlkIH0pO1xuICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5kZWJ1ZykgY29uc29sZS5kZWJ1ZygnbWVzc2FnZXMnLCBKU09OLnN0cmluZ2lmeShtZXNzYWdlcywgbnVsbCwgMikpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihKU09OLnN0cmluZ2lmeShlcnJvcnMsIG51bGwsIDIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBtZXNzYWdlcy5wdXNoKHsgcm9sZTogJ3Rvb2wnLCBjb250ZW50OiBKU09OLnN0cmluZ2lmeShvdXRwdXQpLCB0b29sX2NhbGxfaWQ6IG1lc3NhZ2UudG9vbF9jYWxscyFbMF0uaWQgfSk7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRlYnVnKSBjb25zb2xlLmRlYnVnKCdtZXNzYWdlcycsIEpTT04uc3RyaW5naWZ5KG1lc3NhZ2VzLCBudWxsLCAyKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHsgY29uc29sZS5lcnJvcihlcnJvcik7IHRocm93IGVycm9yOyB9KSxcbiAgICAgIHJldHJ5KG1heFJldHJ5KSxcbiAgICApKTtcbiAgfVxuXG4gIGFzeW5jIGNhbGxCeVpvZDxJLCBPPihfaW5wdXQ6IEksIHpvZDogWm9kU2NoZW1hPE8+LCBvcHRpb25zOiBDYWxsT3B0aW9uczxJLCBPPiA9IHt9KTogUHJvbWlzZTxPPiB7XG4gICAgY29uc3Qgc2NoZW1hID0gem9kVG9Kc29uU2NoZW1hKHpvZCBhcyBhbnksIHsgJHJlZlN0cmF0ZWd5OiAnbm9uZScgfSk7XG4gICAgY29uc3QgdmFsaWRhdG9yID0gb3B0aW9ucy52YWxpZGF0b3IgPz8gKChkYXRhOiBhbnkpID0+IHRoaXMudmFsaWRhdG9yLnZhbGlkYXRlKHNjaGVtYSwgZGF0YSkpO1xuICAgIHJldHVybiB0aGlzLmpzb25TY2hlbWEoX2lucHV0LCBzY2hlbWEsIHsgLi4ub3B0aW9ucywgdmFsaWRhdG9yIH0pO1xuICB9XG5cbiAgYXN5bmMgY2FsbEJ5Q2xhc3NWYWxpZGF0b3I8SSwgTz4oX2lucHV0OiBJLCBhcmdzOiB7bmV3ICgpOiBPfSwgb3B0aW9uczogQ2FsbE9wdGlvbnM8SSwgTz4gPSB7fSk6IFByb21pc2U8Tz4ge1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB0YXJnZXRDb25zdHJ1Y3RvclRvU2NoZW1hKGFyZ3MpIGFzIEZ1bmN0aW9uUGFyYW1ldGVycztcbiAgICBjb25zdCB2YWxpZGF0b3IgPSBvcHRpb25zLnZhbGlkYXRvciA/PyAoKGRhdGE6IGFueSkgPT4gdGhpcy52YWxpZGF0b3IudmFsaWRhdGUocGFyYW1ldGVycywgZGF0YSkpO1xuICAgIGNvbnNvbGUuZGVidWcoJ1tBbnlGdW5jU2VydmljZSNjYWxsXSBwYXJhbWV0ZXJzOicsIHBhcmFtZXRlcnMpO1xuICAgIHJldHVybiB0aGlzLmpzb25TY2hlbWEoX2lucHV0LCBwYXJhbWV0ZXJzLCB7IC4uLm9wdGlvbnMsIHZhbGlkYXRvciB9KTtcbiAgfVxuXG4gIGFzeW5jIGNhbGw8SSwgTz4oX2lucHV0OiBJLCBhcmdzOiB7bmV3ICgpOiBPfSB8IFpvZFNjaGVtYTxPPiB8IEpzb25TY2hlbWEsIHBhcmFtczogQ2FsbE9wdGlvbnM8SSwgTz4gPSB7fSk6IFByb21pc2U8Tz4ge1xuICAgIGlmIChhcmdzIGluc3RhbmNlb2YgWm9kU2NoZW1hKSByZXR1cm4gdGhpcy5jYWxsQnlab2QoX2lucHV0LCBhcmdzLCBwYXJhbXMpO1xuICAgIGlmIChhcmdzIGluc3RhbmNlb2YgRnVuY3Rpb24pIHJldHVybiB0aGlzLmNhbGxCeUNsYXNzVmFsaWRhdG9yKF9pbnB1dCwgYXJncywgcGFyYW1zKTtcbiAgICBpZiAodHlwZW9mIGFyZ3MgPT09ICdvYmplY3QnICYmIGFyZ3MgIT09IG51bGwgJiYgJ3R5cGUnIGluIGFyZ3MgJiYgYXJncy50eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuY2FsbEJ5SnNvblNjaGVtYShfaW5wdXQsIGFyZ3MsIHBhcmFtcyk7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBhcmdzIHR5cGUnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBjb21wbGV0ZTxJLCBPPihcbiAgICBfaW5wdXQ6IGFueSwganNvblNjaGVtYTogRnVuY3Rpb25QYXJhbWV0ZXJzLCBtZXNzYWdlczogQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW1bXSxcbiAgICB7IG1vZGVsID0gJ2dwdC00bycsIHRlbXBlcmF0dXJlID0gMCB9OiBDYWxsT3B0aW9uczxJLCBPPiAmIHtmdW5jdGlvbk91dHB1dD86IG9iamVjdH0gPSB7fVxuICApIHtcbiAgICBjb25zdCB0b29sID0gYnVpbGRGdW5jdGlvblRvb2woe25hbWU6ICdmdW5jdGlvbicsIGRlc2NyaXB0aW9uOiAnJywgcGFyYW1ldGVyczoganNvblNjaGVtYX0pO1xuICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgbW9kZWwsIG1lc3NhZ2VzLCB0b29sczogW3Rvb2xdLFxuICAgICAgdG9vbF9jaG9pY2U6IHsgdHlwZTogJ2Z1bmN0aW9uJyBhcyBjb25zdCwgZnVuY3Rpb246IHsgbmFtZTogJ2Z1bmN0aW9uJyB9IH0sXG4gICAgICB0ZW1wZXJhdHVyZSxcbiAgICB9O1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuY2FjaGUuY2FsbChwcm9wcywgcHJvcHMgPT4gdGhpcy5vcGVuYWkuY2hhdC5jb21wbGV0aW9ucy5jcmVhdGUocHJvcHMpKTtcbiAgICByZXR1cm4gcmVzLmNob2ljZXNbMF0ubWVzc2FnZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBidWlsZENoYXRNZXNzYWdlcyhzcGVjczogeyBpbnB1dDogYW55OyBvdXRwdXQ6IGFueSB9W10pOiBQcm9taXNlPHtyb2xlOiAnYXNzaXN0YW50JyB8ICd1c2VyJywgY29udGVudDogc3RyaW5nfVtdPiB7XG4gICAgY29uc3QgbWVzc2FnZXMgPSBhd2FpdCBQcm9taXNlLmFsbChzcGVjcy5tYXAoYXN5bmMgKHsgaW5wdXQsIG91dHB1dCB9KSA9PiB7XG4gICAgICBjb25zdCBwYXJzZWRJbnB1dCA9IGF3YWl0IHRoaXMucGFyc2VJbnB1dChpbnB1dCk7XG4gICAgICByZXR1cm4gPENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtW10+W1xuICAgICAgICB7IHJvbGU6ICd1c2VyJywgY29udGVudDogcGFyc2VkSW5wdXQgfSxcbiAgICAgICAgeyByb2xlOiAnYXNzaXN0YW50JywgY29udGVudDogbnVsbCwgdG9vbF9jYWxsczogW3sgaWQ6ICdjYWxsLWV4YW1wbGUnLCB0eXBlOiAnZnVuY3Rpb24nLCBmdW5jdGlvbjogeyBuYW1lOiAnZnVuY3Rpb24nLCBhcmd1bWVudHM6IEpTT04uc3RyaW5naWZ5KG91dHB1dCkgfSB9XSB9LFxuICAgICAgICB7IHJvbGU6ICd0b29sJywgY29udGVudDogJ3N1Y2Nlc3MnLCB0b29sX2NhbGxfaWQ6ICdjYWxsLWV4YW1wbGUnIH0sXG4gICAgICBdO1xuICAgIH0pKTtcbiAgICByZXR1cm4gbWVzc2FnZXMuZmxhdCgpIGFzIHtyb2xlOiAnYXNzaXN0YW50JyB8ICd1c2VyJywgY29udGVudDogc3RyaW5nfVtdO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBwYXJzZUlucHV0KGlucHV0OiBhbnkpIHtcbiAgICBpZiAoaXNCcm93c2VyRmlsZShpbnB1dCkpIHJldHVybiBhd2FpdCBPcGVuQWlNZXNzYWdlSGVscGVyLmJ1aWxkRmlsZXNNZXNzYWdlKFtpbnB1dF0pO1xuICAgIGVsc2UgaWYgKGlucHV0ID09PSAnc3RyaW5nJykgcmV0dXJuIGlucHV0O1xuICAgIGVsc2UgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGlucHV0KTtcbiAgfVxufVxuIl19","// Re-export from impl to maintain backwards compatibility\nexport { ANY_FUNC_SERVICE, ANY_FUNC_CONFIG, injectAnyFunc, provideAnyFunc, AnyFuncService, } from './any-func.service.impl';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW55LWZ1bmMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL0BueC1kZGQvYW55LWZ1bmMvc3JjL2xpYi9hbnktZnVuYy9hbnktZnVuYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBEQUEwRDtBQUMxRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLGNBQWMsR0FHZixNQUFNLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmUtZXhwb3J0IGZyb20gaW1wbCB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuZXhwb3J0IHtcbiAgQU5ZX0ZVTkNfU0VSVklDRSxcbiAgQU5ZX0ZVTkNfQ09ORklHLFxuICBpbmplY3RBbnlGdW5jLFxuICBwcm92aWRlQW55RnVuYyxcbiAgQW55RnVuY1NlcnZpY2UsXG4gIENhbGxPcHRpb25zLFxuICBBbnlGdW5jQ29uZmlnLFxufSBmcm9tICcuL2FueS1mdW5jLnNlcnZpY2UuaW1wbCc7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibngtZGRkLWFueS1mdW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvQG54LWRkZC9hbnktZnVuYy9zcmMvbGliL254LWRkZC1hbnktZnVuYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["_targetConstructorToSchema"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nx-ddd-any-func.mjs","sources":["../../../../../packages/@nx-ddd/any-func/src/lib/impl/json-schema/default-metadata-storage.ts","../../../../../packages/@nx-ddd/any-func/src/lib/impl/json-schema/json-schema.ts","../../../../../packages/@nx-ddd/any-func/src/lib/agent/agent.ts","../../../../../packages/@nx-ddd/any-func/src/lib/impl/adapters/cache/cache.adapter.ts","../../../../../packages/@nx-ddd/any-func/src/lib/any-func/tokens.ts","../../../../../packages/@nx-ddd/any-func/src/lib/any-func/message-helper.ts","../../../../../packages/@nx-ddd/any-func/src/lib/any-func/embeddings.ts","../../../../../packages/@nx-ddd/any-func/src/lib/any-func/providers.ts","../../../../../packages/@nx-ddd/any-func/src/lib/any-func/any-func.service.impl.ts","../../../../../packages/@nx-ddd/any-func/src/lib/any-func/any-func.service.ts","../../../../../packages/@nx-ddd/any-func/src/lib/nx-ddd-any-func.ts"],"sourcesContent":["// 環境差異を吸収するため、try-catchでdynamic importしてdefaultMetadataStorageを取得します。\nlet defaultMetadataStorage: import('class-transformer/esm5/storage').MetadataStorage;\n\ntry {\n ({ defaultMetadataStorage } = require('class-transformer/cjs/storage'));\n} catch {\n // Ignore error if class-transformer is not available\n}\n\nexport function getMetadataStorage() {\n return defaultMetadataStorage;\n}\n\nexport function setMetadataStorage(metadataStorage: import('class-transformer/esm5/storage').MetadataStorage) {\n defaultMetadataStorage = metadataStorage;\n}\n","import { ValidationTypes } from \"class-validator\"\nimport { targetConstructorToSchema as _targetConstructorToSchema } from \"class-validator-jsonschema\"\nimport { IOptions } from \"class-validator-jsonschema/build/options\";\nimport { JSONSchema7 } from 'json-schema';\nimport { getMetadataStorage } from \"./default-metadata-storage\";\n// import { defaultMetadataStorage } from 'c/lass-transformer/esm5/storage';\n\n// setMetadataStorage(defaultMetadataStorage);\n\nfunction getPropType(target: object, property: string) {\n return Reflect.getMetadata('design:type', target, property)\n}\n\nfunction targetToSchema(\n type: any,\n options: any\n): any {\n if (typeof type === 'function') {\n if (\n type.prototype === String.prototype ||\n type.prototype === Symbol.prototype\n ) {\n return { type: 'string' }\n } else if (type.prototype === Number.prototype) {\n return { type: 'number' }\n } else if (type.prototype === Boolean.prototype) {\n return { type: 'boolean' }\n }\n\n return targetConstructorToSchema(type, options)\n }\n}\n\nconst additionalConverters= {\n [ValidationTypes.NESTED_VALIDATION]: (meta: any, options: any) => {\n if (typeof meta.target === 'function') {\n const typeMeta = options.classTransformerMetadataStorage\n ? options.classTransformerMetadataStorage.findTypeMetadata(\n meta.target,\n meta.propertyName\n )\n : null\n const childType = typeMeta\n ? typeMeta.typeFunction()\n : getPropType(meta.target.prototype, meta.propertyName)\n return targetToSchema(childType, options)\n }\n },\n isDayjs: (meta: any): JSONSchema7 => {\n return {\n type: 'string',\n format: 'date-time', // JSON Schemaで日付型を指定\n };\n },\n};\n\nexport function targetConstructorToSchema(target: Function, options: Partial<IOptions> = {}): JSONSchema7 {\n return _targetConstructorToSchema(target, {\n ...options,\n additionalConverters,\n classTransformerMetadataStorage: getMetadataStorage(),\n }) as JSONSchema7;\n}\n","import { ChatCompletionMessageParam, FunctionParameters, } from \"openai/resources\";\nimport { FunctionTool } from \"openai/resources/beta/assistants\";\nimport { ChatCompletionCreateParamsBase } from \"openai/resources/chat/completions\";\nimport { OpenAiServiceImpl } from '@nx-ddd/common/infrastructure/externals/openai/impl';\nimport { targetConstructorToSchema } from '../impl/json-schema';\n\nconst AI_TOOLS = '[ai-tools]' as const;\nconst AI_SYSTEM = '[ai-system]' as const;\n\nexport function addTool(obj: {[AI_TOOLS]: object[]}, tool: object) {\n obj[AI_TOOLS] = obj[AI_TOOLS] ?? [];\n obj[AI_TOOLS].push(tool);\n return obj;\n}\n\nexport function getTools(obj: {[AI_TOOLS]: object[]}): any[] {\n return obj[AI_TOOLS] ?? [];\n}\n\nexport function buildFunctionTool(params: {\n name: string,\n description: string,\n parameters: FunctionParameters,\n}): FunctionTool {\n return {\n type: 'function',\n function: {\n name: params.name,\n description: params.description,\n parameters: params.parameters,\n },\n }\n}\n\nexport function buildToolFromSchema(name: string, description: string, schema: Function): FunctionTool {\n const parameters = targetConstructorToSchema(schema) as FunctionParameters;\n return buildFunctionTool({ name, description, parameters });\n}\n\nexport function AiFunction(params?: {description?: string}) {\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\n // 引数の型を取得\n const args = Reflect.getMetadata('design:paramtypes', target, propertyKey);\n const tool = buildToolFromSchema(propertyKey, params?.description ?? '', args[0]);\n addTool(target, tool);\n return descriptor;\n };\n}\n\nexport interface AiSystemConfig {\n model?: ChatCompletionCreateParamsBase['model'];\n instructions?: string;\n shots?: {input: string, output: string}[];\n}\n\nexport function setAiSystemConfig(obj: {[AI_SYSTEM]: AiSystemConfig}, config: AiSystemConfig) {\n obj[AI_SYSTEM] = config;\n return obj;\n}\n\nexport function getAiSystemConfig(obj: {[AI_SYSTEM]: AiSystemConfig}): AiSystemConfig {\n return obj[AI_SYSTEM];\n}\n\nexport function AiSystem({\n model = 'gpt-4-1106-preview',\n instructions = ``,\n shots = [],\n}: AiSystemConfig) {\n return function (target: any) {\n setAiSystemConfig(target, {model, instructions, shots});\n return target;\n };\n}\n\nexport class AiToolsAgent {\n constructor (protected openai: OpenAiServiceImpl) { }\n \n messages: ChatCompletionMessageParam[] = [\n { role: 'system' as const, content: '' },\n ];\n\n results: any[] = [];\n\n get tools() {\n return getTools(this.constructor as any);\n }\n\n get config() {\n return getAiSystemConfig(this.constructor as any);\n }\n\n async completion(tools: any[] = this.tools) {\n const message = await this.openai.chat.completions.create({\n model: this.config.model!,\n messages: this.messages,\n tools,\n });\n for (const call of message.choices?.[0]?.message?.tool_calls ?? []) {\n if (call.type === 'function') {\n const func = (this as any)[call.function.name];\n const result = func(JSON.parse(call.function.arguments));\n this.results.push(result);\n }\n }\n }\n\n async execute<T=any>(message: string, options: {tools?: any[]} = {}): Promise<T> {\n this.messages.push({role: 'user', content: message});\n await this.completion(options.tools);\n return this.results.at(-1) as any;\n }\n}\n\n","import { Injectable } from \"@angular/core\";\nimport { LOCAL_STORAGE } from '@nx-ddd/any-func/adapters/local-storage';\nimport CryptoJS from 'crypto-js';\n\n@Injectable()\nexport class CacheAdapter {\n protected localStorage = LOCAL_STORAGE.inject();\n\n async get<T>(keyOrObj: string | object): Promise<T | null> {\n const key = this.makeKey(keyOrObj);\n return this.parseJson(this.localStorage.getItem(key)) as T | null;\n }\n\n async set(keyOrObj: string | object, value: any): Promise<void> {\n const key = this.makeKey(keyOrObj);\n this.localStorage.setItem(key, this.makeJson(value));\n }\n\n async call<P extends (string | object), T>(props: P, callback: (props: P) => Promise<T>): Promise<T> {\n const key = this.makeKey(props);\n let value = await this.get<T>(key);\n if (value) return value;\n value = await callback(props);\n await this.set(key, value);\n return value; \n }\n\n protected makeKey(keyOrObj: string | object): string {\n const value = typeof keyOrObj === 'string' ? keyOrObj : JSON.stringify(keyOrObj);\n return CryptoJS.SHA256(value).toString();\n }\n\n protected makeJson(valueOrObj: any): string {\n return JSON.stringify(valueOrObj);\n }\n\n protected parseJson(value: string): any {\n return JSON.parse(value);\n }\n}\n","import { inject, InjectionToken } from '@angular/core';\nimport type { AnyFuncConfig } from './types';\n\n/**\n * InjectionToken for AnyFuncService\n */\nexport const ANY_FUNC_SERVICE = new InjectionToken<any>('[@nx-ddd/any-func] AnyFuncService');\n\n/**\n * InjectionToken for AnyFuncConfig\n */\nexport const ANY_FUNC_CONFIG = new InjectionToken<AnyFuncConfig>('[@nx-ddd/any-func] AnyFuncConfig');\n\n/**\n * Injects the AnyFuncService\n */\nexport function injectAnyFunc<T = any>(): T {\n return inject(ANY_FUNC_SERVICE, {optional: true}) ?? {} as T;\n}\n","import type { ChatCompletionMessageParam } from 'openai/resources';\n\n/**\n * Type guard for browser File object\n */\nexport function isBrowserFile(obj: unknown): obj is File {\n return typeof File !== 'undefined' && obj instanceof File;\n}\n\n/**\n * Helper class for building OpenAI message content\n */\nexport class OpenAiMessageHelper {\n /**\n * Converts an image file to base64 string\n */\n static async imageToBase64(imageFile: File): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = () => {\n const base64String = reader.result as string;\n resolve(base64String.split(',')[1]);\n };\n reader.onerror = reject;\n reader.readAsDataURL(imageFile);\n });\n }\n\n /**\n * Builds message content from files\n */\n static async buildFilesMessage(files: File[]): Promise<ChatCompletionMessageParam['content']> {\n return await Promise.all(files.map(async (file) => ({\n type: 'image_url' as const,\n image_url: { url: `data:image/jpeg;base64,${await this.imageToBase64(file)}` },\n })));\n }\n}\n","import pLimit from 'p-limit';\nimport { CacheAdapter } from '../impl/adapters/cache';\n\n/**\n * Embedding-related utilities for AnyFuncService\n */\nexport class EmbeddingsHelper {\n constructor(\n private cache: CacheAdapter,\n private openai: { embeddings: { create: (params: { model: string; input: string }) => Promise<{ data: { embedding: number[] }[] }> } }\n ) {}\n\n async getEmbeddings<T>(item: T, accessor: (item: T) => string): Promise<number[]> {\n const props = { item, model: 'text-embedding-3-small' };\n let embedding = await this.cache.get<number[]>(props);\n if (embedding) return embedding;\n embedding = await this.openai.embeddings.create({ model: props.model, input: accessor(item) }).then(res => res.data[0].embedding);\n await this.cache.set(props, embedding);\n return embedding;\n }\n\n async sort<T>(items: T[], accessor: (item: T) => string, target: string): Promise<T[]> {\n const dist = (a: number[], b: number[]) => Math.sqrt(a.reduce((acc, v, i) => acc + (v - b[i]) ** 2, 0));\n const targetEmbeddings = await this.getEmbeddings(target, s => s);\n const limit = pLimit(10);\n const embeddings = await Promise.all(items.map(item => limit(() => this.getEmbeddings(item, accessor))));\n const items_ = items.map((item, i) => ({ item, embedding: embeddings[i], distance: dist(embeddings[i], targetEmbeddings) }));\n return items_.sort((a, b) => a.distance - b.distance).map(({item}) => item);\n }\n}\n","import { provideOpenaiService } from '@nx-ddd/common/infrastructure/externals/openai/impl';\nimport { CacheAdapter } from '../impl/adapters/cache';\nimport { ANY_FUNC_SERVICE, ANY_FUNC_CONFIG } from './tokens';\nimport { AnyFuncConfig } from './types';\nimport { AnyFuncService } from './any-func.service.impl';\n\n/**\n * Provides the AnyFuncService with configuration\n */\nexport function provideAnyFunc(useFactory?: () => AnyFuncConfig) {\n const config = useFactory();\n return [\n { provide: ANY_FUNC_SERVICE, useClass: AnyFuncService },\n { provide: ANY_FUNC_CONFIG, useFactory },\n CacheAdapter,\n provideOpenaiService(() => ({\n apiKey: config.openaiApiKey,\n dangerouslyAllowBrowser: config.dangerouslyAllowBrowser\n })),\n ]\n}\n","import { inject, Injectable } from '@angular/core';\nimport { injectOpenAiService } from '@nx-ddd/common/infrastructure/externals/openai';\nimport { catchError, lastValueFrom, map, of, retry, switchMap, tap } from 'rxjs';\nimport type { ChatCompletionMessageParam, FunctionParameters } from 'openai/resources';\nimport { ZodSchema } from 'zod';\nimport zodToJsonSchema from 'zod-to-json-schema';\nimport { buildFunctionTool } from '../agent';\nimport { targetConstructorToSchema } from '../impl/json-schema';\nimport { CacheAdapter } from '../impl/adapters/cache';\nimport { ValidatorAdapter } from '@nx-ddd/any-func/adapters/validator';\nimport { JsonSchema } from 'json-schema-library';\nimport { CallOptions, AnyFuncConfig } from './types';\nimport { ANY_FUNC_CONFIG } from './tokens';\nimport { isBrowserFile, OpenAiMessageHelper } from './message-helper';\nimport { EmbeddingsHelper } from './embeddings';\n\n// Re-export for backward compatibility\nexport { CallOptions, AnyFuncConfig } from './types';\nexport { ANY_FUNC_SERVICE, ANY_FUNC_CONFIG, injectAnyFunc } from './tokens';\nexport { provideAnyFunc } from './providers';\n\n@Injectable()\nexport class AnyFuncService {\n protected readonly openai = injectOpenAiService();\n protected readonly config = inject(ANY_FUNC_CONFIG, {optional: true}) ?? { debug: false };\n protected cache = inject(CacheAdapter);\n protected validator = inject(ValidatorAdapter);\n private embeddingsHelper: EmbeddingsHelper;\n\n constructor() {\n this.embeddingsHelper = new EmbeddingsHelper(this.cache, this.openai);\n }\n\n /** @deprecated use callByJsonSchema instead */\n async jsonSchema(_input: any, jsonSchema: FunctionParameters, options: CallOptions<any, any> = {}): Promise<any> {\n return this.callByJsonSchema(_input, jsonSchema, options);\n }\n\n async callByJsonSchema(_input: any, jsonSchema: FunctionParameters, {\n instructions = '', model = 'gpt-4o', specs = [], embeddings = false,\n sample = 3, temperature = 0, maxRetry = 3,\n validator = (data: any) => this.validator.validate(jsonSchema, data),\n }: CallOptions<any, any> = {}): Promise<any> {\n for (const spec of specs) {\n const errors = await validator(spec.output);\n if (errors.length > 0) throw new Error(JSON.stringify(errors, null, 2));\n }\n const content = await this.parseInput(_input);\n const sortedSpecs = embeddings ? await this.embeddingsHelper.sort(specs, embeddings, _input) : specs;\n const messages: ChatCompletionMessageParam[] = [\n { role: 'system', content: instructions },\n ...(await this.buildChatMessages(sortedSpecs.slice(0, sample).reverse())),\n { role: 'user', content },\n ];\n return lastValueFrom(of(null).pipe(\n map(() => messages),\n switchMap(() => this.complete(_input, jsonSchema, messages, { model, sample, temperature })),\n tap(message => messages.push(message)),\n switchMap(async (message) => {\n const toolCall = message.tool_calls![0];\n if (toolCall.type !== 'function') throw new Error('Unexpected tool call type');\n const output = JSON.parse(toolCall.function.arguments);\n console.debug('[AnyFuncService#complete] output:', output);\n const errors = await validator(output);\n console.debug('[AnyFuncService#complete] errors:', errors);\n if (errors.length > 0) {\n messages.push({ role: 'tool', content: JSON.stringify(errors), tool_call_id: message.tool_calls![0].id });\n if (this.config.debug) console.debug('messages', JSON.stringify(messages, null, 2));\n throw new Error(JSON.stringify(errors, null, 2));\n } else {\n messages.push({ role: 'tool', content: JSON.stringify(output), tool_call_id: message.tool_calls![0].id });\n if (this.config.debug) console.debug('messages', JSON.stringify(messages, null, 2));\n }\n return output;\n }),\n catchError((error) => { console.error(error); throw error; }),\n retry(maxRetry),\n ));\n }\n\n async callByZod<I, O>(_input: I, zod: ZodSchema<O>, options: CallOptions<I, O> = {}): Promise<O> {\n const schema = zodToJsonSchema(zod as any, { $refStrategy: 'none' });\n const validator = options.validator ?? ((data: any) => this.validator.validate(schema, data));\n return this.jsonSchema(_input, schema, { ...options, validator });\n }\n\n async callByClassValidator<I, O>(_input: I, args: {new (): O}, options: CallOptions<I, O> = {}): Promise<O> {\n const parameters = targetConstructorToSchema(args) as FunctionParameters;\n const validator = options.validator ?? ((data: any) => this.validator.validate(parameters, data));\n console.debug('[AnyFuncService#call] parameters:', parameters);\n return this.jsonSchema(_input, parameters, { ...options, validator });\n }\n\n async call<I, O>(_input: I, args: {new (): O} | ZodSchema<O> | JsonSchema, params: CallOptions<I, O> = {}): Promise<O> {\n if (args instanceof ZodSchema) return this.callByZod(_input, args, params);\n if (args instanceof Function) return this.callByClassValidator(_input, args, params);\n if (typeof args === 'object' && args !== null && 'type' in args && args.type === 'object') {\n return this.callByJsonSchema(_input, args, params);\n }\n throw new Error('Invalid args type');\n }\n\n protected async complete<I, O>(\n _input: any, jsonSchema: FunctionParameters, messages: ChatCompletionMessageParam[],\n { model = 'gpt-4o', temperature = 0 }: CallOptions<I, O> & {functionOutput?: object} = {}\n ) {\n const tool = buildFunctionTool({name: 'function', description: '', parameters: jsonSchema});\n const props = {\n model, messages, tools: [tool],\n tool_choice: { type: 'function' as const, function: { name: 'function' } },\n temperature,\n };\n const res = await this.cache.call(props, props => this.openai.chat.completions.create(props));\n return res.choices[0].message;\n }\n\n protected async buildChatMessages(specs: { input: any; output: any }[]): Promise<{role: 'assistant' | 'user', content: string}[]> {\n const messages = await Promise.all(specs.map(async ({ input, output }) => {\n const parsedInput = await this.parseInput(input);\n return <ChatCompletionMessageParam[]>[\n { role: 'user', content: parsedInput },\n { role: 'assistant', content: null, tool_calls: [{ id: 'call-example', type: 'function', function: { name: 'function', arguments: JSON.stringify(output) } }] },\n { role: 'tool', content: 'success', tool_call_id: 'call-example' },\n ];\n }));\n return messages.flat() as {role: 'assistant' | 'user', content: string}[];\n }\n\n private async parseInput(input: any) {\n if (isBrowserFile(input)) return await OpenAiMessageHelper.buildFilesMessage([input]);\n else if (input === 'string') return input;\n else return JSON.stringify(input);\n }\n}\n","// Re-export from impl to maintain backwards compatibility\nexport {\n ANY_FUNC_SERVICE,\n ANY_FUNC_CONFIG,\n injectAnyFunc,\n provideAnyFunc,\n AnyFuncService,\n CallOptions,\n AnyFuncConfig,\n} from './any-func.service.impl';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_targetConstructorToSchema"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nx-ddd/any-func",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.26.0",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": ">=17.0.0",
|
|
6
|
-
"@nx-ddd/common": "19.
|
|
6
|
+
"@nx-ddd/common": "19.26.0",
|
|
7
7
|
"class-transformer": "^0.5.1",
|
|
8
8
|
"class-validator": "^0.14.0",
|
|
9
9
|
"class-validator-jsonschema": "^5.0.0",
|
|
@@ -16,46 +16,46 @@
|
|
|
16
16
|
"json-schema": "0.4.0"
|
|
17
17
|
},
|
|
18
18
|
"module": "fesm2022/nx-ddd-any-func.mjs",
|
|
19
|
-
"typings": "
|
|
19
|
+
"typings": "types/nx-ddd-any-func.d.ts",
|
|
20
20
|
"exports": {
|
|
21
21
|
"./package.json": {
|
|
22
22
|
"default": "./package.json"
|
|
23
23
|
},
|
|
24
24
|
".": {
|
|
25
|
-
"types": "./
|
|
25
|
+
"types": "./types/nx-ddd-any-func.d.ts",
|
|
26
26
|
"default": "./fesm2022/nx-ddd-any-func.mjs"
|
|
27
27
|
},
|
|
28
|
-
"./browser": {
|
|
29
|
-
"types": "./browser/index.d.ts",
|
|
30
|
-
"default": "./fesm2022/nx-ddd-any-func-browser.mjs"
|
|
31
|
-
},
|
|
32
|
-
"./server": {
|
|
33
|
-
"types": "./server/index.d.ts",
|
|
34
|
-
"default": "./fesm2022/nx-ddd-any-func-server.mjs"
|
|
35
|
-
},
|
|
36
28
|
"./adapters/local-storage": {
|
|
37
|
-
"types": "./adapters
|
|
29
|
+
"types": "./types/nx-ddd-any-func-adapters-local-storage.d.ts",
|
|
38
30
|
"default": "./fesm2022/nx-ddd-any-func-adapters-local-storage.mjs"
|
|
39
31
|
},
|
|
40
32
|
"./adapters/local-storage-browser": {
|
|
41
|
-
"types": "./adapters
|
|
33
|
+
"types": "./types/nx-ddd-any-func-adapters-local-storage-browser.d.ts",
|
|
42
34
|
"default": "./fesm2022/nx-ddd-any-func-adapters-local-storage-browser.mjs"
|
|
43
35
|
},
|
|
44
36
|
"./adapters/local-storage-node": {
|
|
45
|
-
"types": "./adapters
|
|
37
|
+
"types": "./types/nx-ddd-any-func-adapters-local-storage-node.d.ts",
|
|
46
38
|
"default": "./fesm2022/nx-ddd-any-func-adapters-local-storage-node.mjs"
|
|
47
39
|
},
|
|
48
40
|
"./adapters/validator": {
|
|
49
|
-
"types": "./adapters
|
|
41
|
+
"types": "./types/nx-ddd-any-func-adapters-validator.d.ts",
|
|
50
42
|
"default": "./fesm2022/nx-ddd-any-func-adapters-validator.mjs"
|
|
51
43
|
},
|
|
52
44
|
"./adapters/validator-commonjs": {
|
|
53
|
-
"types": "./adapters
|
|
45
|
+
"types": "./types/nx-ddd-any-func-adapters-validator-commonjs.d.ts",
|
|
54
46
|
"default": "./fesm2022/nx-ddd-any-func-adapters-validator-commonjs.mjs"
|
|
55
47
|
},
|
|
56
48
|
"./adapters/validator-esmodule": {
|
|
57
|
-
"types": "./adapters
|
|
49
|
+
"types": "./types/nx-ddd-any-func-adapters-validator-esmodule.d.ts",
|
|
58
50
|
"default": "./fesm2022/nx-ddd-any-func-adapters-validator-esmodule.mjs"
|
|
51
|
+
},
|
|
52
|
+
"./browser": {
|
|
53
|
+
"types": "./types/nx-ddd-any-func-browser.d.ts",
|
|
54
|
+
"default": "./fesm2022/nx-ddd-any-func-browser.mjs"
|
|
55
|
+
},
|
|
56
|
+
"./server": {
|
|
57
|
+
"types": "./types/nx-ddd-any-func-server.d.ts",
|
|
58
|
+
"default": "./fesm2022/nx-ddd-any-func-server.mjs"
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"sideEffects": false,
|
|
@@ -2,8 +2,8 @@ import * as openai_resources from 'openai/resources';
|
|
|
2
2
|
import { FunctionParameters, ChatCompletionMessageParam } from 'openai/resources';
|
|
3
3
|
import { FunctionTool } from 'openai/resources/beta/assistants';
|
|
4
4
|
import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
|
|
5
|
-
import * as _nx_ddd_common_infrastructure_externals_openai_impl from '@nx-ddd/common/infrastructure/externals/openai/impl';
|
|
6
5
|
import { OpenAiServiceImpl } from '@nx-ddd/common/infrastructure/externals/openai/impl';
|
|
6
|
+
import * as _nx_ddd_common_types_nx_ddd_common_infrastructure_externals_openai_impl from '@nx-ddd/common/types/nx-ddd-common-infrastructure-externals-openai-impl';
|
|
7
7
|
import { ZodSchema } from 'zod';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
9
|
import { InjectionToken } from '@angular/core';
|
|
@@ -128,7 +128,7 @@ declare function provideAnyFunc(useFactory?: () => AnyFuncConfig): (typeof Cache
|
|
|
128
128
|
})[];
|
|
129
129
|
|
|
130
130
|
declare class AnyFuncService {
|
|
131
|
-
protected readonly openai:
|
|
131
|
+
protected readonly openai: _nx_ddd_common_types_nx_ddd_common_infrastructure_externals_openai_impl.OpenAiServiceImpl;
|
|
132
132
|
protected readonly config: AnyFuncConfig | {
|
|
133
133
|
debug: false;
|
|
134
134
|
};
|
|
File without changes
|
|
File without changes
|
/package/{adapters/local-storage/index.d.ts → types/nx-ddd-any-func-adapters-local-storage.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|