From b0b6e064905d0f310e8ee7101f1bf725230becc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Wed, 11 Oct 2023 16:37:08 +0800 Subject: [PATCH 1/8] release: v0.0.7 --- package.json | 4 ++-- pnpm-lock.yaml | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 6323652..237abcb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "llm-ops", - "version": "0.0.6", + "version": "0.0.7", "description": "高效制作llm workflow的低代码框架", "main": "package/index.js", "author": "Marlene && IdeaLeap", @@ -33,7 +33,7 @@ "publish": "cd dist && npm publish --access public" }, "dependencies": { - "@idealeap/pipeline": "^1.1.6", + "@idealeap/pipeline": "^1.1.7", "@zilliz/milvus2-sdk-node": "^2.2.24", "dotenv": "^16.3.1", "mermaid-ssr": "^10.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5cc88e..1578066 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,8 +2,8 @@ lockfileVersion: "6.0" dependencies: "@idealeap/pipeline": - specifier: ^1.1.6 - version: 1.1.6 + specifier: ^1.1.7 + version: 1.1.7 "@zilliz/milvus2-sdk-node": specifier: ^2.2.24 version: 2.2.24 @@ -1201,10 +1201,10 @@ packages: } dev: true - /@idealeap/pipeline@1.1.6: + /@idealeap/pipeline@1.1.7: resolution: { - integrity: sha512-FcW9ZHx0/7dKh9/eSQVtem1RLKjJM4vRFMOYqfBwzxxWTlRbl5rqIL+FPlux8DKysoW+adsThPxZ7M0cL7Fghw==, + integrity: sha512-G34LkCAYcGQnnakc1L8wK1PZlAMx7jfu93dV+TEqf/785N1gRX7y5D/BpSGMiBR7krKqHEmim1Cuok9DDPzT+w==, } engines: { node: ">=18" } dependencies: From 50f37547c8ba53ff96bd3d8497eb1aa27e06a70c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Mon, 16 Oct 2023 15:03:18 +0800 Subject: [PATCH 2/8] feat: milvus upsert --- docs/api/llm-ops.md | 1 + docs/api/llm-ops.milvusvectordb.md | 1 + docs/api/llm-ops.milvusvectordb.upsert.md | 22 ++++++++++++++++++ ...llm-ops.milvusvectordbupsertschema.data.md | 13 +++++++++++ ....milvusvectordbupsertschema.fields_data.md | 13 +++++++++++ ...ps.milvusvectordbupsertschema.hash_keys.md | 11 +++++++++ .../api/llm-ops.milvusvectordbupsertschema.md | 21 +++++++++++++++++ ...lvusvectordbupsertschema.partition_name.md | 11 +++++++++ package.json | 4 ++-- package/db/milvus.ts | 23 +++++++++++++++++++ pnpm-lock.yaml | 8 +++---- 11 files changed, 122 insertions(+), 6 deletions(-) create mode 100644 docs/api/llm-ops.milvusvectordb.upsert.md create mode 100644 docs/api/llm-ops.milvusvectordbupsertschema.data.md create mode 100644 docs/api/llm-ops.milvusvectordbupsertschema.fields_data.md create mode 100644 docs/api/llm-ops.milvusvectordbupsertschema.hash_keys.md create mode 100644 docs/api/llm-ops.milvusvectordbupsertschema.md create mode 100644 docs/api/llm-ops.milvusvectordbupsertschema.partition_name.md diff --git a/docs/api/llm-ops.md b/docs/api/llm-ops.md index fa7dfd4..cb3b33e 100644 --- a/docs/api/llm-ops.md +++ b/docs/api/llm-ops.md @@ -60,6 +60,7 @@ | [milvusVectorDBSchema](./llm-ops.milvusvectordbschema.md) | | | [milvusVectorDBSearchSchema](./llm-ops.milvusvectordbsearchschema.md) | | | [milvusVectorDBUploadSchema](./llm-ops.milvusvectordbuploadschema.md) | | +| [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) | | | [MultiPromptSchema](./llm-ops.multipromptschema.md) | 多重提示模板数据结构。 | | [polishPromptTemplateSchema](./llm-ops.polishprompttemplateschema.md) | | | [PromptsSchema](./llm-ops.promptsschema.md) | 主要的模板数据结构。 | diff --git a/docs/api/llm-ops.milvusvectordb.md b/docs/api/llm-ops.milvusvectordb.md index 0884e30..1fd84d9 100644 --- a/docs/api/llm-ops.milvusvectordb.md +++ b/docs/api/llm-ops.milvusvectordb.md @@ -34,4 +34,5 @@ export declare class milvusVectorDB | [query(params)](./llm-ops.milvusvectordb.query.md) | | | | [search(params)](./llm-ops.milvusvectordb.search.md) | | | | [upload(params)](./llm-ops.milvusvectordb.upload.md) | | | +| [upsert(params)](./llm-ops.milvusvectordb.upsert.md) | | | diff --git a/docs/api/llm-ops.milvusvectordb.upsert.md b/docs/api/llm-ops.milvusvectordb.upsert.md new file mode 100644 index 0000000..7fab7d5 --- /dev/null +++ b/docs/api/llm-ops.milvusvectordb.upsert.md @@ -0,0 +1,22 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDB](./llm-ops.milvusvectordb.md) > [upsert](./llm-ops.milvusvectordb.upsert.md) + +## milvusVectorDB.upsert() method + +**Signature:** + +```typescript +upsert(params: milvusVectorDBUpsertSchema): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| params | [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) | | + +**Returns:** + +Promise<import("@zilliz/milvus2-sdk-node").MutationResult> + diff --git a/docs/api/llm-ops.milvusvectordbupsertschema.data.md b/docs/api/llm-ops.milvusvectordbupsertschema.data.md new file mode 100644 index 0000000..9d7a6c9 --- /dev/null +++ b/docs/api/llm-ops.milvusvectordbupsertschema.data.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) > [data](./llm-ops.milvusvectordbupsertschema.data.md) + +## milvusVectorDBUpsertSchema.data property + +**Signature:** + +```typescript +data?: { + [x: string]: any; + }[]; +``` diff --git a/docs/api/llm-ops.milvusvectordbupsertschema.fields_data.md b/docs/api/llm-ops.milvusvectordbupsertschema.fields_data.md new file mode 100644 index 0000000..b3d7ed3 --- /dev/null +++ b/docs/api/llm-ops.milvusvectordbupsertschema.fields_data.md @@ -0,0 +1,13 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) > [fields\_data](./llm-ops.milvusvectordbupsertschema.fields_data.md) + +## milvusVectorDBUpsertSchema.fields\_data property + +**Signature:** + +```typescript +fields_data?: { + [x: string]: any; + }[]; +``` diff --git a/docs/api/llm-ops.milvusvectordbupsertschema.hash_keys.md b/docs/api/llm-ops.milvusvectordbupsertschema.hash_keys.md new file mode 100644 index 0000000..49f5df5 --- /dev/null +++ b/docs/api/llm-ops.milvusvectordbupsertschema.hash_keys.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) > [hash\_keys](./llm-ops.milvusvectordbupsertschema.hash_keys.md) + +## milvusVectorDBUpsertSchema.hash\_keys property + +**Signature:** + +```typescript +hash_keys?: Number[]; +``` diff --git a/docs/api/llm-ops.milvusvectordbupsertschema.md b/docs/api/llm-ops.milvusvectordbupsertschema.md new file mode 100644 index 0000000..f68048a --- /dev/null +++ b/docs/api/llm-ops.milvusvectordbupsertschema.md @@ -0,0 +1,21 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) + +## milvusVectorDBUpsertSchema interface + +**Signature:** + +```typescript +export interface milvusVectorDBUpsertSchema +``` + +## Properties + +| Property | Modifiers | Type | Description | +| --- | --- | --- | --- | +| [data?](./llm-ops.milvusvectordbupsertschema.data.md) | | { \[x: string\]: any; }\[\] | _(Optional)_ | +| [fields\_data?](./llm-ops.milvusvectordbupsertschema.fields_data.md) | | { \[x: string\]: any; }\[\] | _(Optional)_ | +| [hash\_keys?](./llm-ops.milvusvectordbupsertschema.hash_keys.md) | | Number\[\] | _(Optional)_ | +| [partition\_name?](./llm-ops.milvusvectordbupsertschema.partition_name.md) | | string | _(Optional)_ | + diff --git a/docs/api/llm-ops.milvusvectordbupsertschema.partition_name.md b/docs/api/llm-ops.milvusvectordbupsertschema.partition_name.md new file mode 100644 index 0000000..e77ecff --- /dev/null +++ b/docs/api/llm-ops.milvusvectordbupsertschema.partition_name.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDBUpsertSchema](./llm-ops.milvusvectordbupsertschema.md) > [partition\_name](./llm-ops.milvusvectordbupsertschema.partition_name.md) + +## milvusVectorDBUpsertSchema.partition\_name property + +**Signature:** + +```typescript +partition_name?: string; +``` diff --git a/package.json b/package.json index 237abcb..dec867a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "llm-ops", - "version": "0.0.7", + "version": "0.0.8", "description": "高效制作llm workflow的低代码框架", "main": "package/index.js", "author": "Marlene && IdeaLeap", @@ -34,7 +34,7 @@ }, "dependencies": { "@idealeap/pipeline": "^1.1.7", - "@zilliz/milvus2-sdk-node": "^2.2.24", + "@zilliz/milvus2-sdk-node": "^2.3.2", "dotenv": "^16.3.1", "mermaid-ssr": "^10.5.0", "openai": "4.8.0", diff --git a/package/db/milvus.ts b/package/db/milvus.ts index 9e40bc0..d20b93c 100644 --- a/package/db/milvus.ts +++ b/package/db/milvus.ts @@ -14,6 +14,16 @@ export interface milvusVectorDBQuerySchema { output_fields: string[]; limit?: number; } +export interface milvusVectorDBUpsertSchema { + partition_name?: string; + fields_data?: { + [x: string]: any; + }[]; + data?: { + [x: string]: any; + }[]; + hash_keys?: Number[]; +} export interface milvusVectorDBSearchSchema { vector: number[]; filter?: string; @@ -63,6 +73,19 @@ export class milvusVectorDB { console.timeEnd("Query time"); return query; } + async upsert(params: milvusVectorDBUpsertSchema) { + const { partition_name, fields_data, data, hash_keys } = params; + console.time("Upsert time"); + const upsert = await this.milvusClient.upsert({ + collection_name: this.COLLECTION_NAME, + partition_name: partition_name || undefined, + fields_data: fields_data || undefined, + data: data || undefined, + hash_keys: hash_keys || undefined, + }); + console.timeEnd("Upsert time"); + return upsert; + } async search(params: milvusVectorDBSearchSchema) { const { vector, output_fields, limit, consistency_level, filter } = params; console.time("Search time"); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1578066..82641fb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,8 +5,8 @@ dependencies: specifier: ^1.1.7 version: 1.1.7 "@zilliz/milvus2-sdk-node": - specifier: ^2.2.24 - version: 2.2.24 + specifier: ^2.3.2 + version: 2.3.2 dotenv: specifier: ^16.3.1 version: 16.3.1 @@ -2456,10 +2456,10 @@ packages: - vue dev: true - /@zilliz/milvus2-sdk-node@2.2.24: + /@zilliz/milvus2-sdk-node@2.3.2: resolution: { - integrity: sha512-gsT7taStOrl/7ca1IeC9mtskqUb88fCfVhurDTBiZYb1R6k4JUZoFwugmIAjbKl62cvbleiI54edIevcyM4u5g==, + integrity: sha512-2V9wvJl76oAwCZZzRZl03nCSOc392/u4Obk1jRmmgBUiQ8E5lfncvQgQfd+Meg++fgpEb3m4sRhyFUVSTZRK5g==, } dependencies: "@grpc/grpc-js": 1.8.17 From 6db0fb8c4319aa537122d6d8dc0e81642d6bdb97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Tue, 17 Oct 2023 15:52:58 +0800 Subject: [PATCH 3/8] =?UTF-8?q?fix:=20=E6=94=AF=E6=8C=81commonjs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build | 2 +- jest.config.cjs | 2 +- package.json | 4 +- package/utils/gen/mermaid.ts | 76 +-- pnpm-lock.yaml | 964 +++++++---------------------------- 5 files changed, 225 insertions(+), 823 deletions(-) diff --git a/build b/build index ed1460a..74da752 100644 --- a/build +++ b/build @@ -19,7 +19,7 @@ npm exec prettier -- --loglevel=warn --write . # make sure that nothing crashes when we require the output CJS or # import the output ESM -# (cd dist && node -e 'require("llm-ops")') +(cd dist && node -e 'require("llm-ops")') (cd dist && node -e 'import("llm-ops")' --input-type=module) # Path: build-docs diff --git a/jest.config.cjs b/jest.config.cjs index 5bcbf5c..862c349 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -18,7 +18,7 @@ module.exports = { transformIgnorePatterns: [ "/node_modules/", "node_modules/(?!@ngrx|(?!deck.gl)|ng-dynamic)", - "/node_modules/(?!mermaid)", + "/node_modules/(?!mermaid-ssr)", ], setupFiles: ["dotenv/config"], testTimeout: 20_000, diff --git a/package.json b/package.json index dec867a..fb351f4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "llm-ops", - "version": "0.0.8", + "version": "0.0.9", "description": "高效制作llm workflow的低代码框架", "main": "package/index.js", "author": "Marlene && IdeaLeap", @@ -36,7 +36,7 @@ "@idealeap/pipeline": "^1.1.7", "@zilliz/milvus2-sdk-node": "^2.3.2", "dotenv": "^16.3.1", - "mermaid-ssr": "^10.5.0", + "mermaid-ssr": "11.46.16", "openai": "4.8.0", "typescript": "^5.1.6" }, diff --git a/package/utils/gen/mermaid.ts b/package/utils/gen/mermaid.ts index fdac611..9545f66 100644 --- a/package/utils/gen/mermaid.ts +++ b/package/utils/gen/mermaid.ts @@ -18,15 +18,21 @@ export const genMermaid = async (params: MermaidCallSchema) => { ? type.join(",") : type || [ - "sequenceDiagram", - "flowChart", + "git", + "flowchart", + "flowchart-v2", + "sequence", + "gantt", + "class", "classDiagram", + "state", "stateDiagram", - "erDiagram", - "gantt", - "journey", - "gitGraph", + "info", "pie", + "er", + "journey", + "requirement", + "requirementDiagram", ].join(","); request = @@ -36,8 +42,8 @@ export const genMermaid = async (params: MermaidCallSchema) => { const messages = [ { role: "system", - content: `You are a Mermaid formatting helper. You will be penalized if you do not return Mermaid diagrams when it would be possible. - The Mermaid diagrams you support: ${type}.Generate a Mermaid.js code from the user input.Do not return another message.`, + content: `You are a Mermaid Code Generation expert. You will be penalized if you do not return Mermaid diagrams when it would be possible. + The Mermaid diagrams you support: ${type}.Generate a Mermaid.js code from the user input.Do not return another message like '\`\`\`mermaid xxx\`\`\`'.Mermaid logic doesn't have to be too complicated.`, }, { role: "user", @@ -64,34 +70,38 @@ D -->G(是可持续发展的最终目的)`, throw new Error(JSON.stringify(res)); } let isTry = 1; - while ( - (await mermaid.parse(res.choices[0]?.message.content as string, { - suppressErrors: true, - })) == false && - isTry < 3 - ) { - console.log( - "Mermaid code is invalid:" + res.choices[0]?.message.content, - await mermaid.parse(res.choices[0]?.message.content as string, { - suppressErrors: true, - }), - ); - res = await llm.chat({ - messages: [ - { - role: "system", - content: `The code which you generate is invalid as Mermaid code.Please try again with the correct code. Do not return another message.`, - }, - ], - }); - if (!res.choices[0]?.message.content) { - throw new Error(JSON.stringify(res)); + let isValid = false; + + while (isTry < 3) { + try { + isValid = mermaid.parse(res.choices[0]?.message.content as string); + if (isValid) break; + } catch (error) { + console.log( + "Mermaid code is invalid:", + res.choices[0]?.message.content, + error, + ); + res = await llm.chat({ + messages: [ + { + role: "system", + content: `The code which you generate is invalid as Mermaid code. Please try again with the correct code. Do not return another message.`, + }, + ], + }); + + if (!res.choices[0]?.message.content) { + throw new Error(JSON.stringify(res)); + } + + isTry++; } - isTry++; } - if (isTry >= 3) { + + if (!isValid) { throw new Error( - "Mermaid code is invalid:" + res.choices[0]?.message.content, + "Mermaid code is invalid: " + res.choices[0]?.message.content, ); } return res.choices[0]?.message.content; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82641fb..b23025f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,8 +11,8 @@ dependencies: specifier: ^16.3.1 version: 16.3.1 mermaid-ssr: - specifier: ^10.5.0 - version: 10.5.0 + specifier: 11.46.16 + version: 11.46.16 openai: specifier: 4.8.0 version: 4.8.0 @@ -745,11 +745,12 @@ packages: } dev: true - /@braintree/sanitize-url@6.0.4: + /@braintree/sanitize-url@3.1.0: resolution: { - integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==, + integrity: sha512-GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==, } + deprecated: Potential XSS vulnerability patched in v6.0.0. dev: false /@colors/colors@1.5.0: @@ -1892,38 +1893,6 @@ packages: "@babel/types": 7.23.0 dev: true - /@types/d3-scale-chromatic@3.0.0: - resolution: - { - integrity: sha512-dsoJGEIShosKVRBZB0Vo3C8nqSDqVGujJU6tPznsBJxNJNwMF8utmS83nvCBKQYPpjCzaaHcrf66iTRpZosLPw==, - } - dev: false - - /@types/d3-scale@4.0.5: - resolution: - { - integrity: sha512-w/C++3W394MHzcLKO2kdsIn5KKNTOqeQVzyPSGPLzQbkPw/jpeaGtSRlakcKevGgGsjJxGsbqS0fPrVFDbHrDA==, - } - dependencies: - "@types/d3-time": 3.0.1 - dev: false - - /@types/d3-time@3.0.1: - resolution: - { - integrity: sha512-5j/AnefKAhCw4HpITmLDTPlf4vhi8o/dES+zbegfPb7LaGfNyqkLxBR6E+4yvTAgnJLmhe80EXFMzUs38fw4oA==, - } - dev: false - - /@types/debug@4.1.9: - resolution: - { - integrity: sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==, - } - dependencies: - "@types/ms": 0.7.32 - dev: false - /@types/graceful-fs@4.1.7: resolution: { @@ -1989,22 +1958,6 @@ packages: } dev: false - /@types/mdast@3.0.13: - resolution: - { - integrity: sha512-HjiGiWedR0DVFkeNljpa6Lv4/IZU1+30VY5d747K7lBudFc3R0Ibr6yJ9lN3BE28VnZyDfLF/VB1Ql1ZIbKrmg==, - } - dependencies: - "@types/unist": 2.0.8 - dev: false - - /@types/ms@0.7.32: - resolution: - { - integrity: sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g==, - } - dev: false - /@types/node-fetch@2.6.6: resolution: { @@ -2049,13 +2002,6 @@ packages: } dev: false - /@types/unist@2.0.8: - resolution: - { - integrity: sha512-d0XxK3YTObnWVp6rZuev3c49+j4Lo8g4L1ZRm9z5L0xpoZycUPshHgczK5gsUMaZOstjVYYi09p5gYvUtfChYw==, - } - dev: false - /@types/web-bluetooth@0.0.17: resolution: { @@ -3016,13 +2962,6 @@ packages: engines: { node: ">=10" } dev: true - /character-entities@2.0.2: - resolution: - { - integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==, - } - dev: false - /charenc@0.0.2: resolution: { @@ -3181,12 +3120,11 @@ packages: delayed-stream: 1.0.0 dev: false - /commander@7.2.0: + /commander@2.20.3: resolution: { - integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==, } - engines: { node: ">= 10" } dev: false /commander@9.5.0: @@ -3218,24 +3156,6 @@ packages: } dev: true - /cose-base@1.0.3: - resolution: - { - integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==, - } - dependencies: - layout-base: 1.0.2 - dev: false - - /cose-base@2.2.0: - resolution: - { - integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==, - } - dependencies: - layout-base: 2.0.1 - dev: false - /create-jest@29.7.0(@types/node@20.4.2)(ts-node@10.9.1): resolution: { @@ -3291,216 +3211,153 @@ packages: } dev: true - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.26.0): + /d3-array@1.2.4: resolution: { - integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==, + integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==, } - peerDependencies: - cytoscape: ^3.2.0 - dependencies: - cose-base: 1.0.3 - cytoscape: 3.26.0 dev: false - /cytoscape-fcose@2.2.0(cytoscape@3.26.0): + /d3-axis@1.0.12: resolution: { - integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==, + integrity: sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ==, } - peerDependencies: - cytoscape: ^3.2.0 - dependencies: - cose-base: 2.2.0 - cytoscape: 3.26.0 - dev: false - - /cytoscape@3.26.0: - resolution: - { - integrity: sha512-IV+crL+KBcrCnVVUCZW+zRRRFUZQcrtdOPXki+o4CFUWLdAEYvuZLcBSJC9EBK++suamERKzeY7roq2hdovV3w==, - } - engines: { node: ">=0.10" } - dependencies: - heap: 0.2.7 - lodash: 4.17.21 dev: false - /d3-array@2.12.1: + /d3-brush@1.1.6: resolution: { - integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==, + integrity: sha512-7RW+w7HfMCPyZLifTz/UnJmI5kdkXtpCbombUSs8xniAyo0vIbrDzDwUJB6eJOgl9u5DQOt2TQlYumxzD1SvYA==, } dependencies: - internmap: 1.0.1 + d3-dispatch: 1.0.6 + d3-drag: 1.2.5 + d3-interpolate: 1.4.0 + d3-selection: 1.4.2 + d3-transition: 1.3.2 dev: false - /d3-array@3.2.4: + /d3-chord@1.0.6: resolution: { - integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==, + integrity: sha512-JXA2Dro1Fxw9rJe33Uv+Ckr5IrAa74TlfDEhE/jfLOaXegMQFQTAgAw9WnZL8+HxVBRXaRGCkrNU7pJeylRIuA==, } - engines: { node: ">=12" } dependencies: - internmap: 2.0.3 - dev: false - - /d3-axis@3.0.0: - resolution: - { - integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==, - } - engines: { node: ">=12" } - dev: false - - /d3-brush@3.0.0: - resolution: - { - integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==, - } - engines: { node: ">=12" } - dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + d3-array: 1.2.4 + d3-path: 1.0.9 dev: false - /d3-chord@3.0.1: + /d3-collection@1.0.7: resolution: { - integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==, + integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==, } - engines: { node: ">=12" } - dependencies: - d3-path: 3.1.0 dev: false - /d3-color@3.1.0: + /d3-color@1.4.1: resolution: { - integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==, + integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==, } - engines: { node: ">=12" } dev: false - /d3-contour@4.0.2: + /d3-contour@1.3.2: resolution: { - integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==, + integrity: sha512-hoPp4K/rJCu0ladiH6zmJUEz6+u3lgR+GSm/QdM2BBvDraU39Vr7YdDCicJcxP1z8i9B/2dJLgDC1NcvlF8WCg==, } - engines: { node: ">=12" } dependencies: - d3-array: 3.2.4 + d3-array: 1.2.4 dev: false - /d3-delaunay@6.0.4: + /d3-dispatch@1.0.6: resolution: { - integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==, + integrity: sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==, } - engines: { node: ">=12" } - dependencies: - delaunator: 5.0.0 dev: false - /d3-dispatch@3.0.1: + /d3-drag@1.2.5: resolution: { - integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==, + integrity: sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==, } - engines: { node: ">=12" } - dev: false - - /d3-drag@3.0.0: - resolution: - { - integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==, - } - engines: { node: ">=12" } dependencies: - d3-dispatch: 3.0.1 - d3-selection: 3.0.0 + d3-dispatch: 1.0.6 + d3-selection: 1.4.2 dev: false - /d3-dsv@3.0.1: + /d3-dsv@1.2.0: resolution: { - integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==, + integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==, } - engines: { node: ">=12" } hasBin: true dependencies: - commander: 7.2.0 - iconv-lite: 0.6.3 + commander: 2.20.3 + iconv-lite: 0.4.24 rw: 1.3.3 dev: false - /d3-ease@3.0.1: + /d3-ease@1.0.7: resolution: { - integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==, + integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==, } - engines: { node: ">=12" } dev: false - /d3-fetch@3.0.1: + /d3-fetch@1.2.0: resolution: { - integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==, + integrity: sha512-yC78NBVcd2zFAyR/HnUiBS7Lf6inSCoWcSxFfw8FYL7ydiqe80SazNwoffcqOfs95XaLo7yebsmQqDKSsXUtvA==, } - engines: { node: ">=12" } dependencies: - d3-dsv: 3.0.1 + d3-dsv: 1.2.0 dev: false - /d3-force@3.0.0: + /d3-force@1.2.1: resolution: { - integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==, + integrity: sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==, } - engines: { node: ">=12" } dependencies: - d3-dispatch: 3.0.1 - d3-quadtree: 3.0.1 - d3-timer: 3.0.1 + d3-collection: 1.0.7 + d3-dispatch: 1.0.6 + d3-quadtree: 1.0.7 + d3-timer: 1.0.10 dev: false - /d3-format@3.1.0: + /d3-format@1.4.5: resolution: { - integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==, + integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==, } - engines: { node: ">=12" } dev: false - /d3-geo@3.1.0: + /d3-geo@1.12.1: resolution: { - integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==, + integrity: sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==, } - engines: { node: ">=12" } dependencies: - d3-array: 3.2.4 + d3-array: 1.2.4 dev: false - /d3-hierarchy@3.1.2: + /d3-hierarchy@1.1.9: resolution: { - integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==, + integrity: sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==, } - engines: { node: ">=12" } dev: false - /d3-interpolate@3.0.1: + /d3-interpolate@1.4.0: resolution: { - integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==, + integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==, } - engines: { node: ">=12" } dependencies: - d3-color: 3.1.0 + d3-color: 1.4.1 dev: false /d3-path@1.0.9: @@ -3510,206 +3367,183 @@ packages: } dev: false - /d3-path@3.1.0: + /d3-polygon@1.0.6: resolution: { - integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==, + integrity: sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ==, } - engines: { node: ">=12" } dev: false - /d3-polygon@3.0.1: + /d3-quadtree@1.0.7: resolution: { - integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==, + integrity: sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==, } - engines: { node: ">=12" } dev: false - /d3-quadtree@3.0.1: + /d3-random@1.1.2: resolution: { - integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==, + integrity: sha512-6AK5BNpIFqP+cx/sreKzNjWbwZQCSUatxq+pPRmFIQaWuoD+NrbVWw7YWpHiXpCQ/NanKdtGDuB+VQcZDaEmYQ==, } - engines: { node: ">=12" } dev: false - /d3-random@3.0.1: + /d3-scale-chromatic@1.5.0: resolution: { - integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==, - } - engines: { node: ">=12" } - dev: false - - /d3-sankey@0.12.3: - resolution: - { - integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==, + integrity: sha512-ACcL46DYImpRFMBcpk9HhtIyC7bTBR4fNOPxwVSl0LfulDAwyiHyPOTqcDG1+t5d4P9W7t/2NAuWu59aKko/cg==, } dependencies: - d3-array: 2.12.1 - d3-shape: 1.3.7 + d3-color: 1.4.1 + d3-interpolate: 1.4.0 dev: false - /d3-scale-chromatic@3.0.0: + /d3-scale@2.2.2: resolution: { - integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==, + integrity: sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==, } - engines: { node: ">=12" } dependencies: - d3-color: 3.1.0 - d3-interpolate: 3.0.1 + d3-array: 1.2.4 + d3-collection: 1.0.7 + d3-format: 1.4.5 + d3-interpolate: 1.4.0 + d3-time: 1.1.0 + d3-time-format: 2.3.0 dev: false - /d3-scale@4.0.2: + /d3-selection@1.4.2: resolution: { - integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==, + integrity: sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==, } - engines: { node: ">=12" } - dependencies: - d3-array: 3.2.4 - d3-format: 3.1.0 - d3-interpolate: 3.0.1 - d3-time: 3.1.0 - d3-time-format: 4.1.0 dev: false - /d3-selection@3.0.0: + /d3-shape@1.3.7: resolution: { - integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==, + integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==, } - engines: { node: ">=12" } + dependencies: + d3-path: 1.0.9 dev: false - /d3-shape@1.3.7: + /d3-time-format@2.3.0: resolution: { - integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==, + integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==, } dependencies: - d3-path: 1.0.9 + d3-time: 1.1.0 dev: false - /d3-shape@3.2.0: + /d3-time@1.1.0: resolution: { - integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==, + integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==, } - engines: { node: ">=12" } - dependencies: - d3-path: 3.1.0 dev: false - /d3-time-format@4.1.0: + /d3-timer@1.0.10: resolution: { - integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==, + integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==, } - engines: { node: ">=12" } - dependencies: - d3-time: 3.1.0 dev: false - /d3-time@3.1.0: + /d3-transition@1.3.2: resolution: { - integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==, + integrity: sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==, } - engines: { node: ">=12" } dependencies: - d3-array: 3.2.4 + d3-color: 1.4.1 + d3-dispatch: 1.0.6 + d3-ease: 1.0.7 + d3-interpolate: 1.4.0 + d3-selection: 1.4.2 + d3-timer: 1.0.10 dev: false - /d3-timer@3.0.1: + /d3-voronoi@1.1.4: resolution: { - integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==, + integrity: sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==, } - engines: { node: ">=12" } dev: false - /d3-transition@3.0.1(d3-selection@3.0.0): + /d3-zoom@1.8.3: resolution: { - integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==, + integrity: sha512-VoLXTK4wvy1a0JpH2Il+F2CiOhVu7VRXWF5M/LroMIh3/zBAC3WAt7QoIvPibOavVo20hN6/37vwAsdBejLyKQ==, } - engines: { node: ">=12" } - peerDependencies: - d3-selection: 2 - 3 - dependencies: - d3-color: 3.1.0 - d3-dispatch: 3.0.1 - d3-ease: 3.0.1 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-timer: 3.0.1 + dependencies: + d3-dispatch: 1.0.6 + d3-drag: 1.2.5 + d3-interpolate: 1.4.0 + d3-selection: 1.4.2 + d3-transition: 1.3.2 dev: false - /d3-zoom@3.0.0: + /d3@5.16.0: resolution: { - integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==, + integrity: sha512-4PL5hHaHwX4m7Zr1UapXW23apo6pexCgdetdJ5kTmADpG/7T9Gkxw0M0tf/pjoB63ezCCm0u5UaFYy2aMt0Mcw==, } - engines: { node: ">=12" } dependencies: - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-interpolate: 3.0.1 - d3-selection: 3.0.0 - d3-transition: 3.0.1(d3-selection@3.0.0) + d3-array: 1.2.4 + d3-axis: 1.0.12 + d3-brush: 1.1.6 + d3-chord: 1.0.6 + d3-collection: 1.0.7 + d3-color: 1.4.1 + d3-contour: 1.3.2 + d3-dispatch: 1.0.6 + d3-drag: 1.2.5 + d3-dsv: 1.2.0 + d3-ease: 1.0.7 + d3-fetch: 1.2.0 + d3-force: 1.2.1 + d3-format: 1.4.5 + d3-geo: 1.12.1 + d3-hierarchy: 1.1.9 + d3-interpolate: 1.4.0 + d3-path: 1.0.9 + d3-polygon: 1.0.6 + d3-quadtree: 1.0.7 + d3-random: 1.1.2 + d3-scale: 2.2.2 + d3-scale-chromatic: 1.5.0 + d3-selection: 1.4.2 + d3-shape: 1.3.7 + d3-time: 1.1.0 + d3-time-format: 2.3.0 + d3-timer: 1.0.10 + d3-transition: 1.3.2 + d3-voronoi: 1.1.4 + d3-zoom: 1.8.3 dev: false - /d3@7.8.5: + /dagre-d3@0.6.4: resolution: { - integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==, + integrity: sha512-e/6jXeCP7/ptlAM48clmX4xTZc5Ek6T6kagS7Oz2HrYSdqcLZFLqpAfh7ldbZRFfxCZVyh61NEPR08UQRVxJzQ==, } - engines: { node: ">=12" } dependencies: - d3-array: 3.2.4 - d3-axis: 3.0.0 - d3-brush: 3.0.0 - d3-chord: 3.0.1 - d3-color: 3.1.0 - d3-contour: 4.0.2 - d3-delaunay: 6.0.4 - d3-dispatch: 3.0.1 - d3-drag: 3.0.0 - d3-dsv: 3.0.1 - d3-ease: 3.0.1 - d3-fetch: 3.0.1 - d3-force: 3.0.0 - d3-format: 3.1.0 - d3-geo: 3.1.0 - d3-hierarchy: 3.1.2 - d3-interpolate: 3.0.1 - d3-path: 3.1.0 - d3-polygon: 3.0.1 - d3-quadtree: 3.0.1 - d3-random: 3.0.1 - d3-scale: 4.0.2 - d3-scale-chromatic: 3.0.0 - d3-selection: 3.0.0 - d3-shape: 3.2.0 - d3-time: 3.1.0 - d3-time-format: 4.1.0 - d3-timer: 3.0.1 - d3-transition: 3.0.1(d3-selection@3.0.0) - d3-zoom: 3.0.0 + d3: 5.16.0 + dagre: 0.8.5 + graphlib: 2.1.8 + lodash: 4.17.21 dev: false - /dagre-d3-es@7.0.10: + /dagre@0.8.5: resolution: { - integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==, + integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==, } dependencies: - d3: 7.8.5 - lodash-es: 4.17.21 + graphlib: 2.1.8 + lodash: 4.17.21 dev: false /dayjs@1.11.10: @@ -3760,15 +3594,7 @@ packages: optional: true dependencies: ms: 2.1.2 - - /decode-named-character-reference@1.0.2: - resolution: - { - integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==, - } - dependencies: - character-entities: 2.0.2 - dev: false + dev: true /dedent@1.5.1: resolution: @@ -3853,15 +3679,6 @@ packages: object-keys: 1.1.1 dev: true - /delaunator@5.0.0: - resolution: - { - integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==, - } - dependencies: - robust-predicates: 3.0.2 - dev: false - /delayed-stream@1.0.0: resolution: { @@ -3870,14 +3687,6 @@ packages: engines: { node: ">=0.4.0" } dev: false - /dequal@2.0.3: - resolution: - { - integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, - } - engines: { node: ">=6" } - dev: false - /detect-newline@3.1.0: resolution: { @@ -3902,14 +3711,6 @@ packages: engines: { node: ">=0.3.1" } dev: true - /diff@5.1.0: - resolution: - { - integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==, - } - engines: { node: ">=0.3.1" } - dev: false - /digest-fetch@1.3.0: resolution: { @@ -3950,13 +3751,6 @@ packages: esutils: 2.0.3 dev: true - /dompurify@3.0.6: - resolution: - { - integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==, - } - dev: false - /dotenv@16.3.1: resolution: { @@ -3972,13 +3766,6 @@ packages: } dev: true - /elkjs@0.8.2: - resolution: - { - integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==, - } - dev: false - /emittery@0.13.1: resolution: { @@ -4963,6 +4750,15 @@ packages: } dev: true + /graphlib@2.1.8: + resolution: + { + integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==, + } + dependencies: + lodash: 4.17.21 + dev: false + /has-bigints@1.0.2: resolution: { @@ -5031,13 +4827,6 @@ packages: function-bind: 1.1.1 dev: true - /heap@0.2.7: - resolution: - { - integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==, - } - dev: false - /html-escaper@2.0.2: resolution: { @@ -5070,10 +4859,10 @@ packages: ms: 2.1.3 dev: false - /iconv-lite@0.6.3: + /iconv-lite@0.4.24: resolution: { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, } engines: { node: ">=0.10.0" } dependencies: @@ -5163,21 +4952,6 @@ packages: side-channel: 1.0.4 dev: true - /internmap@1.0.1: - resolution: - { - integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==, - } - dev: false - - /internmap@2.0.3: - resolution: - { - integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==, - } - engines: { node: ">=12" } - dev: false - /is-array-buffer@3.0.2: resolution: { @@ -6154,10 +5928,10 @@ packages: json-buffer: 3.0.1 dev: true - /khroma@2.0.0: + /khroma@1.4.1: resolution: { - integrity: sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==, + integrity: sha512-+GmxKvmiRuCcUYDgR7g5Ngo0JEDeOsGdNONdU2zsiBQaK4z19Y2NvXqfEDE0ZiIrg45GTZyAnPLVsLZZACYm3Q==, } dev: false @@ -6169,14 +5943,6 @@ packages: engines: { node: ">=6" } dev: true - /kleur@4.1.5: - resolution: - { - integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==, - } - engines: { node: ">=6" } - dev: false - /kuler@2.0.0: resolution: { @@ -6184,20 +5950,6 @@ packages: } dev: false - /layout-base@1.0.2: - resolution: - { - integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==, - } - dev: false - - /layout-base@2.0.1: - resolution: - { - integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==, - } - dev: false - /leven@3.1.0: resolution: { @@ -6244,13 +5996,6 @@ packages: p-locate: 5.0.0 dev: true - /lodash-es@4.17.21: - resolution: - { - integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==, - } - dev: false - /lodash.camelcase@4.3.0: resolution: { @@ -6401,37 +6146,6 @@ packages: is-buffer: 1.1.6 dev: false - /mdast-util-from-markdown@1.3.1: - resolution: - { - integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==, - } - dependencies: - "@types/mdast": 3.0.13 - "@types/unist": 2.0.8 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.2.0 - micromark: 3.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-decode-string: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - unist-util-stringify-position: 3.0.3 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: false - - /mdast-util-to-string@3.2.0: - resolution: - { - integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==, - } - dependencies: - "@types/mdast": 3.0.13 - dev: false - /merge-stream@2.0.0: resolution: { @@ -6447,272 +6161,20 @@ packages: engines: { node: ">= 8" } dev: true - /mermaid-ssr@10.5.0: + /mermaid-ssr@11.46.16: resolution: { - integrity: sha512-FkI7K7nvVzmnFGNxO2H82TSGONX6LyHSmy6WkFj6EfmudbF/Afi5iqgVoPVNTzD0pzIlYeDdTlVX0e6zs9qdIg==, + integrity: sha512-aWyRXw2Lb202AiebL1/N1QQiulef2l45xtDVDb84+YZkM7r8NC20m+O+yngqIq9Y1jj/GGAnHXzJJU3pzRHxkA==, } dependencies: - "@braintree/sanitize-url": 6.0.4 - "@types/d3-scale": 4.0.5 - "@types/d3-scale-chromatic": 3.0.0 - cytoscape: 3.26.0 - cytoscape-cose-bilkent: 4.1.0(cytoscape@3.26.0) - cytoscape-fcose: 2.2.0(cytoscape@3.26.0) - d3: 7.8.5 - d3-sankey: 0.12.3 - dagre-d3-es: 7.0.10 - dayjs: 1.11.10 - dompurify: 3.0.6 - elkjs: 0.8.2 - khroma: 2.0.0 - lodash-es: 4.17.21 - mdast-util-from-markdown: 1.3.1 - non-layered-tidy-tree-layout: 2.0.2 + "@braintree/sanitize-url": 3.1.0 + d3: 5.16.0 + dagre: 0.8.5 + dagre-d3: 0.6.4 + graphlib: 2.1.8 + khroma: 1.4.1 + moment-mini: 2.29.4 stylis: 4.3.0 - ts-dedent: 2.2.0 - uuid: 9.0.1 - web-worker: 1.2.0 - transitivePeerDependencies: - - supports-color - dev: false - - /micromark-core-commonmark@1.1.0: - resolution: - { - integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==, - } - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.1.0 - micromark-factory-label: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-factory-title: 1.1.0 - micromark-factory-whitespace: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-classify-character: 1.1.0 - micromark-util-html-tag-name: 1.2.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-factory-destination@1.1.0: - resolution: - { - integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==, - } - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-label@1.1.0: - resolution: - { - integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==, - } - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-factory-space@1.1.0: - resolution: - { - integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==, - } - dependencies: - micromark-util-character: 1.2.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-title@1.1.0: - resolution: - { - integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==, - } - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-factory-whitespace@1.1.0: - resolution: - { - integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==, - } - dependencies: - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-character@1.2.0: - resolution: - { - integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==, - } - dependencies: - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-chunked@1.1.0: - resolution: - { - integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==, - } - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-classify-character@1.1.0: - resolution: - { - integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==, - } - dependencies: - micromark-util-character: 1.2.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-combine-extensions@1.1.0: - resolution: - { - integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==, - } - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: - { - integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==, - } - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-decode-string@1.1.0: - resolution: - { - integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==, - } - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.2.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-encode@1.1.0: - resolution: - { - integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==, - } - dev: false - - /micromark-util-html-tag-name@1.2.0: - resolution: - { - integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==, - } - dev: false - - /micromark-util-normalize-identifier@1.1.0: - resolution: - { - integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==, - } - dependencies: - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-resolve-all@1.1.0: - resolution: - { - integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==, - } - dependencies: - micromark-util-types: 1.1.0 - dev: false - - /micromark-util-sanitize-uri@1.2.0: - resolution: - { - integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==, - } - dependencies: - micromark-util-character: 1.2.0 - micromark-util-encode: 1.1.0 - micromark-util-symbol: 1.1.0 - dev: false - - /micromark-util-subtokenize@1.1.0: - resolution: - { - integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==, - } - dependencies: - micromark-util-chunked: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - dev: false - - /micromark-util-symbol@1.1.0: - resolution: - { - integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==, - } - dev: false - - /micromark-util-types@1.1.0: - resolution: - { - integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==, - } - dev: false - - /micromark@3.2.0: - resolution: - { - integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==, - } - dependencies: - "@types/debug": 4.1.9 - debug: 4.3.4 - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.1.0 - micromark-factory-space: 1.1.0 - micromark-util-character: 1.2.0 - micromark-util-chunked: 1.1.0 - micromark-util-combine-extensions: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.1.0 - micromark-util-encode: 1.1.0 - micromark-util-normalize-identifier: 1.1.0 - micromark-util-resolve-all: 1.1.0 - micromark-util-sanitize-uri: 1.2.0 - micromark-util-subtokenize: 1.1.0 - micromark-util-symbol: 1.1.0 - micromark-util-types: 1.1.0 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color dev: false /micromatch@4.0.5: @@ -6802,12 +6264,11 @@ packages: hasBin: true dev: true - /mri@1.2.0: + /moment-mini@2.29.4: resolution: { - integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==, + integrity: sha512-uhXpYwHFeiTbY9KSgPPRoo1nt8OxNVdMVoTBYHfSEKeRkIkwGpO+gERmhuhBtzfaeOyTkykSrm2+noJBgqt3Hg==, } - engines: { node: ">=4" } dev: false /ms@2.0.0: @@ -6822,6 +6283,7 @@ packages: { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, } + dev: true /ms@2.1.3: resolution: @@ -6905,13 +6367,6 @@ packages: } dev: true - /non-layered-tidy-tree-layout@2.0.2: - resolution: - { - integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==, - } - dev: false - /normalize-path@3.0.0: resolution: { @@ -7501,13 +6956,6 @@ packages: glob: 7.2.3 dev: true - /robust-predicates@3.0.2: - resolution: - { - integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==, - } - dev: false - /rollup@3.29.4: resolution: { @@ -7545,16 +6993,6 @@ packages: } dev: false - /sade@1.8.1: - resolution: - { - integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==, - } - engines: { node: ">=6" } - dependencies: - mri: 1.2.0 - dev: false - /safe-array-concat@1.0.1: resolution: { @@ -8047,14 +7485,6 @@ packages: typescript: 5.1.6 dev: true - /ts-dedent@2.2.0: - resolution: - { - integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==, - } - engines: { node: ">=6.10" } - dev: false - /ts-jest@29.1.1(@babel/core@7.23.0)(jest@29.6.2)(typescript@5.1.6): resolution: { @@ -8319,15 +7749,6 @@ packages: which-boxed-primitive: 1.0.2 dev: true - /unist-util-stringify-position@3.0.3: - resolution: - { - integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==, - } - dependencies: - "@types/unist": 2.0.8 - dev: false - /universalify@0.1.2: resolution: { @@ -8373,28 +7794,6 @@ packages: integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, } - /uuid@9.0.1: - resolution: - { - integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, - } - hasBin: true - dev: false - - /uvu@0.5.6: - resolution: - { - integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - dequal: 2.0.3 - diff: 5.1.0 - kleur: 4.1.5 - sade: 1.8.1 - dev: false - /v8-compile-cache-lib@3.0.1: resolution: { @@ -8570,13 +7969,6 @@ packages: engines: { node: ">= 14" } dev: false - /web-worker@1.2.0: - resolution: - { - integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==, - } - dev: false - /webidl-conversions@3.0.1: resolution: { From acd339240a5a6596708f273db1352f6b2c1fbaad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Wed, 18 Oct 2023 17:35:35 +0800 Subject: [PATCH 4/8] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dmermaid=E7=94=9F?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package/utils/gen/__tests__/mermaid.test.ts | 23 ++++++++- package/utils/gen/mermaid.ts | 53 ++++++++++++++------- 2 files changed, 59 insertions(+), 17 deletions(-) diff --git a/package/utils/gen/__tests__/mermaid.test.ts b/package/utils/gen/__tests__/mermaid.test.ts index 58df580..6a50e64 100644 --- a/package/utils/gen/__tests__/mermaid.test.ts +++ b/package/utils/gen/__tests__/mermaid.test.ts @@ -1,8 +1,29 @@ import { genMermaid } from "llm-ops"; - +const replaceContentWithSequence = (text:string) => { + let index = 1; + return text.replace(/(\[).*?(\])|(\().*?(\))|(\{).*?(\})|(\").*?(\")|(\|).*?(\|)/g, (match, p1, p2, p3, p4, p5, p6, p7, p8,p9,p10) => { + if (p1 && p2) { + return `${p1}#${index++}${p2}`; + } + if (p3 && p4) { + return `${p3}#${index++}${p4}`; + } + if (p5 && p6) { + return `${p5}#${index++}${p6}`; + } + if (p7 && p8) { + return `${p7}#${index++}${p8}`; + } + if (p9 && p10) { + return `${p9}#${index++}${p10}`; + } + return match; + }); +}; genMermaid({ request: "在对数字化转型的探讨中,技术、策略和人是三大核心要素。技术为数字化转型提供了可能性,允许企业利用先进的工具和平台去优化、创新和扩展其业务范围。而策略则为数字化转型提供了方向,确保企业的技术部署与其长期的商业目标和愿景相一致。最后,人是数字化转型的中心,因为不论有多先进的技术或策略,如果员工和客户不能或不愿适应新的变革,那么转型就不可能成功。因此,在进行数字化转型时,企业必须确保技术的适用性、策略的明晰性和人的参与性,以确保转型的全面性和成功性。", }).then((res) => { console.log(res); + console.log(replaceContentWithSequence(res)); }); diff --git a/package/utils/gen/mermaid.ts b/package/utils/gen/mermaid.ts index 9545f66..4890a9d 100644 --- a/package/utils/gen/mermaid.ts +++ b/package/utils/gen/mermaid.ts @@ -7,7 +7,27 @@ export interface MermaidCallSchema { request: messageType | string; type?: string | string[]; } - +export const replaceContentWithSequence = (text:string) => { + let index = 1; + return text.replace(/(\[).*?(\])|(\().*?(\))|(\{).*?(\})|(\").*?(\")|(\|).*?(\|)/g, (match, p1, p2, p3, p4, p5, p6, p7, p8,p9,p10) => { + if (p1 && p2) { + return `${p1}#${index++}${p2}`; + } + if (p3 && p4) { + return `${p3}#${index++}${p4}`; + } + if (p5 && p6) { + return `${p5}#${index++}${p6}`; + } + if (p7 && p8) { + return `${p7}#${index++}${p8}`; + } + if (p9 && p10) { + return `${p9}#${index++}${p10}`; + } + return match; + }); +}; export const genMermaid = async (params: MermaidCallSchema) => { let { llm, request, type, llmSchema } = params; llm = llm || (llmSchema ? new LLM(llmSchema) : new LLM({})); @@ -20,19 +40,19 @@ export const genMermaid = async (params: MermaidCallSchema) => { [ "git", "flowchart", - "flowchart-v2", + // "flowchart-v2", "sequence", "gantt", - "class", - "classDiagram", + // "class", + // "classDiagram", "state", "stateDiagram", - "info", + // "info", "pie", "er", "journey", - "requirement", - "requirementDiagram", + // "requirement", + // "requirementDiagram", ].join(","); request = @@ -42,7 +62,7 @@ export const genMermaid = async (params: MermaidCallSchema) => { const messages = [ { role: "system", - content: `You are a Mermaid Code Generation expert. You will be penalized if you do not return Mermaid diagrams when it would be possible. + content: `You are a Mermaid Code Generation expert. You will be penalized if you do not return Mermaid diagrams when it would be possible.You will be penalized if you don't enclose content in quotation marks. The Mermaid diagrams you support: ${type}.Generate a Mermaid.js code from the user input.Do not return another message like '\`\`\`mermaid xxx\`\`\`'.Mermaid logic doesn't have to be too complicated.`, }, { @@ -53,12 +73,12 @@ export const genMermaid = async (params: MermaidCallSchema) => { { role: "assistant", content: `flowchart LR -A[可持续发展] -->B[生态系统] -A -->C[经济] -A -->D[社会] -B -->E(是可持续发展的必要条件) -C -->F(是可持续发展的基础) -D -->G(是可持续发展的最终目的)`, +A["可持续发展"] -->B["生态系统"] +A -->C["经济"] +A -->D["社会"] +B -->E("是可持续发展的必要条件") +C -->F("是可持续发展的基础") +D -->G("是可持续发展的最终目的")`, }, ] as messageType[]; messages.push(request); @@ -77,16 +97,17 @@ D -->G(是可持续发展的最终目的)`, isValid = mermaid.parse(res.choices[0]?.message.content as string); if (isValid) break; } catch (error) { + const err = error as Error; console.log( "Mermaid code is invalid:", res.choices[0]?.message.content, - error, + err, ); res = await llm.chat({ messages: [ { role: "system", - content: `The code which you generate is invalid as Mermaid code. Please try again with the correct code. Do not return another message.`, + content: `The code which you generate is invalid as Mermaid code. ${err.message}. Please try again with the correct code. Do not return another message.`, }, ], }); From 34bd6623d3f0dea0a931da132084e35649c986b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Wed, 18 Oct 2023 23:44:57 +0800 Subject: [PATCH 5/8] release: v0.0.10 --- docs/api/llm-ops.md | 1 + .../api/llm-ops.replacecontentwithsequence.md | 11 +++++ package.json | 2 +- package/utils/gen/__tests__/mermaid.test.ts | 43 ++++++++++--------- package/utils/gen/mermaid.ts | 43 ++++++++++--------- 5 files changed, 59 insertions(+), 41 deletions(-) create mode 100644 docs/api/llm-ops.replacecontentwithsequence.md diff --git a/docs/api/llm-ops.md b/docs/api/llm-ops.md index cb3b33e..deedb2b 100644 --- a/docs/api/llm-ops.md +++ b/docs/api/llm-ops.md @@ -77,6 +77,7 @@ | --- | --- | | [formatPromptTemplate](./llm-ops.formatprompttemplate.md) |

格式化提示模板函数。

此函数的主要目的是为了从提供的prompts对象中提取出一个格式化的提示模板。 这可以是一个单一的模板,也可以是一个模板数组。

| | [genMermaid](./llm-ops.genmermaid.md) | | +| [replaceContentWithSequence](./llm-ops.replacecontentwithsequence.md) | | ## Type Aliases diff --git a/docs/api/llm-ops.replacecontentwithsequence.md b/docs/api/llm-ops.replacecontentwithsequence.md new file mode 100644 index 0000000..7e924d1 --- /dev/null +++ b/docs/api/llm-ops.replacecontentwithsequence.md @@ -0,0 +1,11 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [replaceContentWithSequence](./llm-ops.replacecontentwithsequence.md) + +## replaceContentWithSequence variable + +**Signature:** + +```typescript +replaceContentWithSequence: (text: string) => string +``` diff --git a/package.json b/package.json index fb351f4..0f12f13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "llm-ops", - "version": "0.0.9", + "version": "0.0.10", "description": "高效制作llm workflow的低代码框架", "main": "package/index.js", "author": "Marlene && IdeaLeap", diff --git a/package/utils/gen/__tests__/mermaid.test.ts b/package/utils/gen/__tests__/mermaid.test.ts index 6a50e64..4879f31 100644 --- a/package/utils/gen/__tests__/mermaid.test.ts +++ b/package/utils/gen/__tests__/mermaid.test.ts @@ -1,28 +1,31 @@ import { genMermaid } from "llm-ops"; -const replaceContentWithSequence = (text:string) => { +const replaceContentWithSequence = (text: string) => { let index = 1; - return text.replace(/(\[).*?(\])|(\().*?(\))|(\{).*?(\})|(\").*?(\")|(\|).*?(\|)/g, (match, p1, p2, p3, p4, p5, p6, p7, p8,p9,p10) => { - if (p1 && p2) { - return `${p1}#${index++}${p2}`; - } - if (p3 && p4) { - return `${p3}#${index++}${p4}`; - } - if (p5 && p6) { - return `${p5}#${index++}${p6}`; - } - if (p7 && p8) { - return `${p7}#${index++}${p8}`; - } - if (p9 && p10) { - return `${p9}#${index++}${p10}`; - } - return match; - }); + return text.replace( + /(\[).*?(\])|(\().*?(\))|(\{).*?(\})|(\").*?(\")|(\|).*?(\|)/g, + (match, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) => { + if (p1 && p2) { + return `${p1}#${index++}${p2}`; + } + if (p3 && p4) { + return `${p3}#${index++}${p4}`; + } + if (p5 && p6) { + return `${p5}#${index++}${p6}`; + } + if (p7 && p8) { + return `${p7}#${index++}${p8}`; + } + if (p9 && p10) { + return `${p9}#${index++}${p10}`; + } + return match; + }, + ); }; genMermaid({ request: - "在对数字化转型的探讨中,技术、策略和人是三大核心要素。技术为数字化转型提供了可能性,允许企业利用先进的工具和平台去优化、创新和扩展其业务范围。而策略则为数字化转型提供了方向,确保企业的技术部署与其长期的商业目标和愿景相一致。最后,人是数字化转型的中心,因为不论有多先进的技术或策略,如果员工和客户不能或不愿适应新的变革,那么转型就不可能成功。因此,在进行数字化转型时,企业必须确保技术的适用性、策略的明晰性和人的参与性,以确保转型的全面性和成功性。", + "这是一个公司介绍的文本,总分布局:VTRON作为一家中国公司成立于1998年,总部位于广东省广州市广州科学城开发区;是专业从事高清晰数字显示系统研发、生产、销售与服务的创新型科技企业,它是全球同行业瞩目的集中信息显示系统产品制造基地,它拥有了全系列产品的国际尖端技术和自主知识产权,它一直保持在同行业技术及产品的领先优势", }).then((res) => { console.log(res); console.log(replaceContentWithSequence(res)); diff --git a/package/utils/gen/mermaid.ts b/package/utils/gen/mermaid.ts index 4890a9d..4e28300 100644 --- a/package/utils/gen/mermaid.ts +++ b/package/utils/gen/mermaid.ts @@ -7,26 +7,29 @@ export interface MermaidCallSchema { request: messageType | string; type?: string | string[]; } -export const replaceContentWithSequence = (text:string) => { +export const replaceContentWithSequence = (text: string) => { let index = 1; - return text.replace(/(\[).*?(\])|(\().*?(\))|(\{).*?(\})|(\").*?(\")|(\|).*?(\|)/g, (match, p1, p2, p3, p4, p5, p6, p7, p8,p9,p10) => { - if (p1 && p2) { - return `${p1}#${index++}${p2}`; - } - if (p3 && p4) { - return `${p3}#${index++}${p4}`; - } - if (p5 && p6) { - return `${p5}#${index++}${p6}`; - } - if (p7 && p8) { - return `${p7}#${index++}${p8}`; - } - if (p9 && p10) { - return `${p9}#${index++}${p10}`; - } - return match; - }); + return text.replace( + /(\[).*?(\])|(\().*?(\))|(\{).*?(\})|(\").*?(\")|(\|).*?(\|)/g, + (match, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10) => { + if (p1 && p2) { + return `${p1}#${index++}${p2}`; + } + if (p3 && p4) { + return `${p3}#${index++}${p4}`; + } + if (p5 && p6) { + return `${p5}#${index++}${p6}`; + } + if (p7 && p8) { + return `${p7}#${index++}${p8}`; + } + if (p9 && p10) { + return `${p9}#${index++}${p10}`; + } + return match; + }, + ); }; export const genMermaid = async (params: MermaidCallSchema) => { let { llm, request, type, llmSchema } = params; @@ -97,7 +100,7 @@ D -->G("是可持续发展的最终目的")`, isValid = mermaid.parse(res.choices[0]?.message.content as string); if (isValid) break; } catch (error) { - const err = error as Error; + const err = error as Error; console.log( "Mermaid code is invalid:", res.choices[0]?.message.content, From 321c52300880b0f2e5d72c8baa99fc92fe4bde8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Fri, 20 Oct 2023 21:28:20 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix:=20milvus=E9=94=99=E8=AF=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- package/db/milvus.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 0f12f13..9905b55 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "llm-ops", - "version": "0.0.10", + "version": "0.0.11", "description": "高效制作llm workflow的低代码框架", "main": "package/index.js", "author": "Marlene && IdeaLeap", diff --git a/package/db/milvus.ts b/package/db/milvus.ts index d20b93c..5c7bb8a 100644 --- a/package/db/milvus.ts +++ b/package/db/milvus.ts @@ -151,11 +151,15 @@ export class milvusVectorDB { async upload(params: milvusVectorDBUploadSchema) { const { fields_data, index, partition_name } = params; console.time("Upload time"); - await this.milvusClient.insert({ + const insertRes = await this.milvusClient.insert({ collection_name: this.COLLECTION_NAME, fields_data: fields_data, partition_name: partition_name || undefined, }); + if (insertRes.status.error_code != "Success") { + console.error(insertRes.status.reason); + throw new Error(insertRes.status.reason); + } await this.milvusClient.createIndex({ collection_name: this.COLLECTION_NAME, field_name: index.field_name, @@ -172,7 +176,7 @@ export class milvusVectorDB { this.llm = new LLM({}); } const vector = await this.llm?.embedding(data); - if (!vector?.data[0]?.embedding) { + if (!vector|| !vector?.data[0] || !vector?.data[0]?.embedding) { throw new Error("生成向量失败"); } return vector?.data[0]?.embedding; From c05d266a18a5a0b589877e9e22219ffb5661a41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Sun, 29 Oct 2023 17:05:41 +0800 Subject: [PATCH 7/8] feat: add milvus delete --- package/db/milvus.ts | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/package/db/milvus.ts b/package/db/milvus.ts index 5c7bb8a..110e5b7 100644 --- a/package/db/milvus.ts +++ b/package/db/milvus.ts @@ -71,6 +71,10 @@ export class milvusVectorDB { limit: limit || 100, }); console.timeEnd("Query time"); + // if (query.status.error_code != "Success") { + // console.error(query.status.reason); + // throw new Error(query.status.reason); + // } return query; } async upsert(params: milvusVectorDBUpsertSchema) { @@ -84,8 +88,26 @@ export class milvusVectorDB { hash_keys: hash_keys || undefined, }); console.timeEnd("Upsert time"); + if (upsert.status.error_code != "Success") { + console.error(upsert.status.reason); + throw new Error(upsert.status.reason); + } return upsert; } + async delete(params: {expr:string}) { + const { expr } = params; + console.time("Upsert time"); + const res = await this.milvusClient.deleteEntities({ + collection_name: this.COLLECTION_NAME, + expr + }); + console.timeEnd("Upsert time"); + // if (res.status.error_code != "Success") { + // console.error(res.status.reason); + // throw new Error(res.status.reason); + // } + return res; + } async search(params: milvusVectorDBSearchSchema) { const { vector, output_fields, limit, consistency_level, filter } = params; console.time("Search time"); @@ -104,6 +126,10 @@ export class milvusVectorDB { consistency_level: consistency_level || undefined, }); console.timeEnd("Search time"); + // if (search.status.error_code != "Success") { + // console.error(search.status.reason); + // throw new Error(search.status.reason); + // } return search; } async generatePromptTemplate(params: milvusVectorDBPromptTemplateSchema) { @@ -157,8 +183,9 @@ export class milvusVectorDB { partition_name: partition_name || undefined, }); if (insertRes.status.error_code != "Success") { - console.error(insertRes.status.reason); - throw new Error(insertRes.status.reason); + // console.error(insertRes.status.reason); + // throw new Error(insertRes.status.reason); + return insertRes; } await this.milvusClient.createIndex({ collection_name: this.COLLECTION_NAME, From e1db948a5684bd94c56a65d66d6d396f256d6017 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=91=E8=BD=BB=E7=8B=82?= <1677568218@qq.com> Date: Wed, 1 Nov 2023 15:26:07 +0800 Subject: [PATCH 8/8] lint: milvus --- docs/api/llm-ops.milvusvectordb.delete.md | 24 +++++++++++++++++++++++ docs/api/llm-ops.milvusvectordb.md | 1 + docs/api/llm-ops.milvusvectordb.upload.md | 4 ++-- package.json | 2 +- package/db/milvus.ts | 6 +++--- 5 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 docs/api/llm-ops.milvusvectordb.delete.md diff --git a/docs/api/llm-ops.milvusvectordb.delete.md b/docs/api/llm-ops.milvusvectordb.delete.md new file mode 100644 index 0000000..08af819 --- /dev/null +++ b/docs/api/llm-ops.milvusvectordb.delete.md @@ -0,0 +1,24 @@ + + +[Home](./index.md) > [llm-ops](./llm-ops.md) > [milvusVectorDB](./llm-ops.milvusvectordb.md) > [delete](./llm-ops.milvusvectordb.delete.md) + +## milvusVectorDB.delete() method + +**Signature:** + +```typescript +delete(params: { + expr: string; + }): Promise; +``` + +## Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| params | { expr: string; } | | + +**Returns:** + +Promise<import("@zilliz/milvus2-sdk-node").MutationResult> + diff --git a/docs/api/llm-ops.milvusvectordb.md b/docs/api/llm-ops.milvusvectordb.md index 1fd84d9..64c9233 100644 --- a/docs/api/llm-ops.milvusvectordb.md +++ b/docs/api/llm-ops.milvusvectordb.md @@ -29,6 +29,7 @@ export declare class milvusVectorDB | Method | Modifiers | Description | | --- | --- | --- | | [createCollection(params)](./llm-ops.milvusvectordb.createcollection.md) | | | +| [delete(params)](./llm-ops.milvusvectordb.delete.md) | | | | [generatePromptTemplate(params)](./llm-ops.milvusvectordb.generateprompttemplate.md) | | | | [generateVector(data)](./llm-ops.milvusvectordb.generatevector.md) | | | | [query(params)](./llm-ops.milvusvectordb.query.md) | | | diff --git a/docs/api/llm-ops.milvusvectordb.upload.md b/docs/api/llm-ops.milvusvectordb.upload.md index 9152f50..16c7f07 100644 --- a/docs/api/llm-ops.milvusvectordb.upload.md +++ b/docs/api/llm-ops.milvusvectordb.upload.md @@ -7,7 +7,7 @@ **Signature:** ```typescript -upload(params: milvusVectorDBUploadSchema): Promise; +upload(params: milvusVectorDBUploadSchema): Promise; ``` ## Parameters @@ -18,5 +18,5 @@ upload(params: milvusVectorDBUploadSchema): Promise