llm-testrunner-components 1.0.6 → 1.0.9
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/README.md +101 -100
- package/dist/cjs/app-chips_5.cjs.entry.js +158 -0
- package/dist/cjs/app-chips_5.cjs.entry.js.map +1 -0
- package/dist/cjs/app-globals-Chb-oJtg.js +34 -0
- package/dist/cjs/app-globals-Chb-oJtg.js.map +1 -0
- package/dist/cjs/index-By1scwl6.js +25542 -0
- package/dist/cjs/index-By1scwl6.js.map +1 -0
- package/dist/cjs/index-CgmLNwZO.js +21460 -0
- package/dist/cjs/index-CgmLNwZO.js.map +1 -0
- package/dist/cjs/index.cjs.js +5 -483
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/llm-testrunner.cjs.js +6 -4
- package/dist/cjs/llm-testrunner.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +5 -3
- package/dist/collection/collection-manifest.json +8 -3
- package/dist/collection/components/error-message/error-message.css +34 -0
- package/dist/collection/components/error-message/error-message.js +2 -2
- package/dist/collection/components/error-message/error-message.js.map +1 -1
- package/dist/collection/components/llm-test-runner/header/llm-test-runner-header.css +60 -0
- package/dist/collection/components/llm-test-runner/header/llm-test-runner-header.js +18 -0
- package/dist/collection/components/llm-test-runner/header/llm-test-runner-header.js.map +1 -0
- package/dist/collection/components/llm-test-runner/llm-test-runner.css +17 -657
- package/dist/collection/components/llm-test-runner/llm-test-runner.import-export.test.js +253 -0
- package/dist/collection/components/llm-test-runner/llm-test-runner.import-export.test.js.map +1 -0
- package/dist/collection/components/llm-test-runner/llm-test-runner.js +191 -200
- package/dist/collection/components/llm-test-runner/llm-test-runner.js.map +1 -1
- package/dist/collection/components/llm-test-runner/test-cases/actions/row-actions.css +28 -0
- package/dist/collection/components/llm-test-runner/test-cases/actions/row-actions.js +6 -0
- package/dist/collection/components/llm-test-runner/test-cases/actions/row-actions.js.map +1 -0
- package/dist/collection/components/llm-test-runner/test-cases/evaluation/evaluation-summary.css +67 -0
- package/dist/collection/components/llm-test-runner/test-cases/evaluation/evaluation-summary.js +5 -0
- package/dist/collection/components/llm-test-runner/test-cases/evaluation/evaluation-summary.js.map +1 -0
- package/dist/collection/components/llm-test-runner/test-cases/llm-test-case-row.css +42 -0
- package/dist/collection/components/llm-test-runner/test-cases/llm-test-case-row.js +39 -0
- package/dist/collection/components/llm-test-runner/test-cases/llm-test-case-row.js.map +1 -0
- package/dist/collection/components/llm-test-runner/test-cases/llm-test-cases.css +39 -0
- package/dist/collection/components/llm-test-runner/test-cases/llm-test-cases.js +7 -0
- package/dist/collection/components/llm-test-runner/test-cases/llm-test-cases.js.map +1 -0
- package/dist/collection/components/llm-test-runner/test-cases/output/response-output.css +51 -0
- package/dist/collection/components/llm-test-runner/test-cases/output/response-output.js +5 -0
- package/dist/collection/components/llm-test-runner/test-cases/output/response-output.js.map +1 -0
- package/dist/collection/global/env.js +3 -1
- package/dist/collection/global/env.js.map +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/lib/evaluation/constants.js +14 -0
- package/dist/collection/lib/evaluation/constants.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluation-engine.js +45 -45
- package/dist/collection/lib/evaluation/evaluation-engine.js.map +1 -1
- package/dist/collection/lib/evaluation/evaluation-service.js +33 -0
- package/dist/collection/lib/evaluation/evaluation-service.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/bleu/bleu-evaluator.js +116 -0
- package/dist/collection/lib/evaluation/evaluators/bleu/bleu-evaluator.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/bleu/tests/bleu.test.js +352 -0
- package/dist/collection/lib/evaluation/evaluators/bleu/tests/bleu.test.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/exact/exact.js +44 -0
- package/dist/collection/lib/evaluation/evaluators/exact/exact.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/rouge1-evaluator.js +88 -0
- package/dist/collection/lib/evaluation/evaluators/rouge1-evaluator.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/rougeL-evaluator.js +82 -0
- package/dist/collection/lib/evaluation/evaluators/rougeL-evaluator.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/rougeL-evaluator.test.js +326 -0
- package/dist/collection/lib/evaluation/evaluators/rougeL-evaluator.test.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/SemanticEvaluator.js +69 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/SemanticEvaluator.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/evaluate-keywords.js +56 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/evaluate-keywords.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/index.js +7 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/index.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/model-loader.js +19 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/model-loader.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/similarity-utils.js +16 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/similarity-utils.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/tests/evaluate-keywords.test.js +65 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/tests/evaluate-keywords.test.js.map +1 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/text-utils.js +5 -0
- package/dist/collection/lib/evaluation/evaluators/semantic/text-utils.js.map +1 -0
- package/dist/collection/lib/evaluation/index.js.map +1 -1
- package/dist/collection/lib/evaluation/rouge1-evaluator.test.js +117 -0
- package/dist/collection/lib/evaluation/rouge1-evaluator.test.js.map +1 -0
- package/dist/collection/lib/evaluation/types.js.map +1 -1
- package/dist/collection/lib/file/file-download.js +18 -0
- package/dist/collection/lib/file/file-download.js.map +1 -0
- package/dist/collection/lib/file/file-reader.js +14 -0
- package/dist/collection/lib/file/file-reader.js.map +1 -0
- package/dist/collection/lib/form/components/app-chips.css +97 -0
- package/dist/collection/lib/form/components/app-chips.js +155 -0
- package/dist/collection/lib/form/components/app-chips.js.map +1 -0
- package/dist/collection/lib/form/components/app-select.css +28 -0
- package/dist/collection/lib/form/components/app-select.js +101 -0
- package/dist/collection/lib/form/components/app-select.js.map +1 -0
- package/dist/collection/lib/form/components/app-textarea.css +38 -0
- package/dist/collection/lib/form/components/app-textarea.js +126 -0
- package/dist/collection/lib/form/components/app-textarea.js.map +1 -0
- package/dist/collection/lib/form/form-builder.js +171 -0
- package/dist/collection/lib/form/form-builder.js.map +1 -0
- package/dist/collection/lib/form/schema/base-input-field-config.js +2 -0
- package/dist/collection/lib/form/schema/base-input-field-config.js.map +1 -0
- package/dist/collection/lib/form/schema/form-control-config.js +2 -0
- package/dist/collection/lib/form/schema/form-control-config.js.map +1 -0
- package/dist/collection/lib/form/schema/index.js +8 -0
- package/dist/collection/lib/form/schema/index.js.map +1 -0
- package/dist/collection/lib/import-export/test-results-csv.js +65 -0
- package/dist/collection/lib/import-export/test-results-csv.js.map +1 -0
- package/dist/collection/lib/import-export/test-suite-exporter.js +15 -0
- package/dist/collection/lib/import-export/test-suite-exporter.js.map +1 -0
- package/dist/collection/lib/import-export/test-suite-importer.js +44 -0
- package/dist/collection/lib/import-export/test-suite-importer.js.map +1 -0
- package/dist/collection/lib/rate-limited-fetcher/rate-limited-fetcher.js +6 -6
- package/dist/collection/lib/rate-limited-fetcher/rate-limited-fetcher.js.map +1 -1
- package/dist/collection/lib/test-cases/test-case-factory.js +56 -0
- package/dist/collection/lib/test-cases/test-case-factory.js.map +1 -0
- package/dist/collection/lib/test-cases/test-case-mutations.js +16 -0
- package/dist/collection/lib/test-cases/test-case-mutations.js.map +1 -0
- package/dist/collection/lib/ui/button/button.css +113 -0
- package/dist/collection/lib/ui/button/button.js +21 -0
- package/dist/collection/lib/ui/button/button.js.map +1 -0
- package/dist/collection/lib/ui/button/index.js +2 -0
- package/dist/collection/lib/ui/button/index.js.map +1 -0
- package/dist/collection/lib/ui/icon-button/icon-button.css +77 -0
- package/dist/collection/lib/ui/icon-button/icon-button.js +19 -0
- package/dist/collection/lib/ui/icon-button/icon-button.js.map +1 -0
- package/dist/collection/lib/ui/icon-button/index.js +2 -0
- package/dist/collection/lib/ui/icon-button/index.js.map +1 -0
- package/dist/collection/services/adapters.js +2 -0
- package/dist/collection/services/adapters.js.map +1 -0
- package/dist/collection/services/models/gemini.js +17 -0
- package/dist/collection/services/models/gemini.js.map +1 -0
- package/dist/collection/styles/tokens.css +180 -0
- package/dist/collection/types/evaluation.js +2 -0
- package/dist/collection/types/evaluation.js.map +1 -0
- package/dist/collection/types/llm-test-runner.js +2 -0
- package/dist/collection/types/llm-test-runner.js.map +1 -0
- package/dist/components/app-chips.d.ts +11 -0
- package/dist/components/app-chips.js +2 -0
- package/dist/components/app-chips.js.map +1 -0
- package/dist/components/app-select.d.ts +11 -0
- package/dist/components/app-select.js +2 -0
- package/dist/components/app-select.js.map +1 -0
- package/dist/components/app-textarea.d.ts +11 -0
- package/dist/components/app-textarea.js +2 -0
- package/dist/components/app-textarea.js.map +1 -0
- package/dist/components/form-builder.d.ts +11 -0
- package/dist/components/form-builder.js +2 -0
- package/dist/components/form-builder.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -13
- package/dist/components/index.js.map +1 -1
- package/dist/components/llm-test-runner.js +1 -8
- package/dist/components/llm-test-runner.js.map +1 -1
- package/dist/components/p--2rdv_J9.js +2 -0
- package/dist/components/p--2rdv_J9.js.map +1 -0
- package/dist/components/p-B7J48VNq.js +2 -0
- package/dist/components/p-B7J48VNq.js.map +1 -0
- package/dist/components/p-BCB1rjPS.js +7 -0
- package/dist/components/p-BCB1rjPS.js.map +1 -0
- package/dist/components/p-BQhb2H_a.js +2 -0
- package/dist/components/p-BQhb2H_a.js.map +1 -0
- package/dist/components/p-D9BrlHdP.js +297 -0
- package/dist/components/p-D9BrlHdP.js.map +1 -0
- package/dist/components/p-DtCkZ1g2.js +2 -0
- package/dist/components/p-DtCkZ1g2.js.map +1 -0
- package/dist/esm/app-chips_5.entry.js +153 -0
- package/dist/esm/app-chips_5.entry.js.map +1 -0
- package/dist/esm/app-globals-DbR5vV7d.js +32 -0
- package/dist/esm/app-globals-DbR5vV7d.js.map +1 -0
- package/dist/esm/index-Bvg6mh1M.js +25539 -0
- package/dist/esm/index-Bvg6mh1M.js.map +1 -0
- package/dist/esm/index-DxzhGhec.js +21450 -0
- package/dist/esm/index-DxzhGhec.js.map +1 -0
- package/dist/esm/index.js +4 -486
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/llm-testrunner.js +7 -5
- package/dist/esm/llm-testrunner.js.map +1 -1
- package/dist/esm/loader.js +6 -4
- package/dist/llm-testrunner/index.esm.js +1 -1
- package/dist/llm-testrunner/index.esm.js.map +1 -1
- package/dist/llm-testrunner/llm-testrunner.esm.js +1 -1
- package/dist/llm-testrunner/llm-testrunner.esm.js.map +1 -1
- package/dist/llm-testrunner/p-3f04b0fb.entry.js +2 -0
- package/dist/llm-testrunner/p-3f04b0fb.entry.js.map +1 -0
- package/dist/llm-testrunner/p-DFds8y01.js +7 -0
- package/dist/llm-testrunner/p-DFds8y01.js.map +1 -0
- package/dist/llm-testrunner/p-DxzhGhec.js +298 -0
- package/dist/llm-testrunner/p-DxzhGhec.js.map +1 -0
- package/dist/llm-testrunner/p-GQwFOmwJ.js +2 -0
- package/dist/llm-testrunner/p-GQwFOmwJ.js.map +1 -0
- package/dist/react/components.d.ts +32 -2
- package/dist/react/components.d.ts.map +1 -1
- package/dist/react/components.js +44 -2
- package/dist/types/components/llm-test-runner/header/llm-test-runner-header.d.ts +14 -0
- package/dist/types/components/llm-test-runner/llm-test-runner.d.ts +13 -29
- package/dist/types/components/llm-test-runner/llm-test-runner.import-export.test.d.ts +1 -0
- package/dist/types/components/llm-test-runner/test-cases/actions/row-actions.d.ts +8 -0
- package/dist/types/components/llm-test-runner/test-cases/evaluation/evaluation-summary.d.ts +7 -0
- package/dist/types/components/llm-test-runner/test-cases/llm-test-case-row.d.ts +25 -0
- package/dist/types/components/llm-test-runner/test-cases/llm-test-cases.d.ts +26 -0
- package/dist/types/components/llm-test-runner/test-cases/output/response-output.d.ts +6 -0
- package/dist/types/components.d.ts +199 -4
- package/dist/types/global/env.d.ts +2 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/evaluation/constants.d.ts +11 -0
- package/dist/types/lib/evaluation/evaluation-engine.d.ts +0 -4
- package/dist/types/lib/evaluation/evaluation-service.d.ts +15 -0
- package/dist/types/lib/evaluation/evaluators/bleu/bleu-evaluator.d.ts +18 -0
- package/dist/types/lib/evaluation/evaluators/bleu/tests/bleu.test.d.ts +1 -0
- package/dist/types/lib/evaluation/evaluators/exact/exact.d.ts +2 -0
- package/dist/types/lib/evaluation/evaluators/rouge1-evaluator.d.ts +17 -0
- package/dist/types/lib/evaluation/evaluators/rougeL-evaluator.d.ts +2 -0
- package/dist/types/lib/evaluation/evaluators/rougeL-evaluator.test.d.ts +1 -0
- package/dist/types/lib/evaluation/evaluators/semantic/SemanticEvaluator.d.ts +6 -0
- package/dist/types/lib/evaluation/evaluators/semantic/evaluate-keywords.d.ts +7 -0
- package/dist/types/lib/evaluation/evaluators/semantic/index.d.ts +2 -0
- package/dist/types/lib/evaluation/evaluators/semantic/model-loader.d.ts +1 -0
- package/dist/types/lib/evaluation/evaluators/semantic/similarity-utils.d.ts +1 -0
- package/dist/types/lib/evaluation/evaluators/semantic/tests/evaluate-keywords.test.d.ts +1 -0
- package/dist/types/lib/evaluation/evaluators/semantic/text-utils.d.ts +1 -0
- package/dist/types/lib/evaluation/index.d.ts +2 -2
- package/dist/types/lib/evaluation/rouge1-evaluator.test.d.ts +1 -0
- package/dist/types/lib/evaluation/types.d.ts +19 -7
- package/dist/types/lib/file/file-download.d.ts +7 -0
- package/dist/types/lib/file/file-reader.d.ts +6 -0
- package/dist/types/lib/form/components/app-chips.d.ts +20 -0
- package/dist/types/lib/form/components/app-select.d.ts +7 -0
- package/dist/types/lib/form/components/app-textarea.d.ts +14 -0
- package/dist/types/lib/form/form-builder.d.ts +24 -0
- package/dist/types/lib/form/schema/base-input-field-config.d.ts +37 -0
- package/dist/types/lib/form/schema/form-control-config.d.ts +13 -0
- package/dist/types/lib/form/schema/index.d.ts +9 -0
- package/dist/types/lib/import-export/test-results-csv.d.ts +13 -0
- package/dist/types/lib/import-export/test-suite-exporter.d.ts +16 -0
- package/dist/types/lib/import-export/test-suite-importer.d.ts +12 -0
- package/dist/types/lib/rate-limited-fetcher/rate-limited-fetcher.d.ts +1 -1
- package/dist/types/lib/test-cases/test-case-factory.d.ts +12 -0
- package/dist/types/lib/test-cases/test-case-mutations.d.ts +9 -0
- package/dist/types/lib/ui/button/button.d.ts +13 -0
- package/dist/types/lib/ui/button/index.d.ts +2 -0
- package/dist/types/lib/ui/icon-button/icon-button.d.ts +11 -0
- package/dist/types/lib/ui/icon-button/index.d.ts +2 -0
- package/dist/types/services/adapters.d.ts +3 -0
- package/dist/types/services/models/gemini.d.ts +11 -0
- package/dist/types/stencil-public-runtime.d.ts +110 -6
- package/dist/types/types/evaluation.d.ts +9 -0
- package/dist/types/types/llm-test-runner.d.ts +22 -0
- package/package.json +30 -6
- package/dist/cjs/app-globals-CbbEbofA.js +0 -14
- package/dist/cjs/app-globals-CbbEbofA.js.map +0 -1
- package/dist/cjs/index-D-FySkoV.js +0 -1470
- package/dist/cjs/index-D-FySkoV.js.map +0 -1
- package/dist/cjs/llm-test-runner.cjs.entry.js +0 -9
- package/dist/cjs/llm-test-runner.entry.cjs.js.map +0 -1
- package/dist/components/p-CYUbsbxt.js +0 -1770
- package/dist/components/p-CYUbsbxt.js.map +0 -1
- package/dist/esm/app-globals-BOQOUavG.js +0 -12
- package/dist/esm/app-globals-BOQOUavG.js.map +0 -1
- package/dist/esm/index-cncubhtM.js +0 -1463
- package/dist/esm/index-cncubhtM.js.map +0 -1
- package/dist/esm/llm-test-runner.entry.js +0 -3
- package/dist/esm/llm-test-runner.entry.js.map +0 -1
- package/dist/llm-testrunner/llm-test-runner.entry.esm.js.map +0 -1
- package/dist/llm-testrunner/loader.esm.js.map +0 -1
- package/dist/llm-testrunner/p-BOQOUavG.js +0 -2
- package/dist/llm-testrunner/p-BOQOUavG.js.map +0 -1
- package/dist/llm-testrunner/p-cncubhtM.js +0 -3
- package/dist/llm-testrunner/p-cncubhtM.js.map +0 -1
- package/dist/llm-testrunner/p-f68fd660.entry.js +0 -2
- package/dist/llm-testrunner/p-f68fd660.entry.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{G as n}from"./p-DxzhGhec.js";class s{sdk;constructor(s){this.sdk=new n({apiKey:s})}async invoke(n){const s=await this.sdk.models.generateContent({model:"gemini-3-flash-preview",contents:n});return s.text}}function o(){window.env={API_KEY:""};window.GeminiAdapter=s}const t=o||(()=>{});const i=t;export{i as g};
|
|
2
|
+
//# sourceMappingURL=p-GQwFOmwJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"p-GQwFOmwJ.js","sources":["src/services/models/gemini.ts","src/global/env.ts","@stencil/core/internal/app-globals"],"sourcesContent":["import { GoogleGenAI } from '@google/genai';\n\nimport type { LlmAdapter } from '../adapters';\n\nexport const enum GeminiModels {\n Gemini3Pro__Preview = 'gemini-3-pro-preview',\n Gemini3ProImage__Preview = 'gemini-3-pro-image-preview',\n Gemini3Flash__Preview = 'gemini-3-flash-preview',\n}\n\nexport class GeminiAdapter implements LlmAdapter {\n private readonly sdk;\n\n constructor(key: string) {\n this.sdk = new GoogleGenAI({\n apiKey: key,\n });\n }\n\n async invoke(text: string) {\n const response = await this.sdk.models.generateContent({\n model: GeminiModels.Gemini3Flash__Preview,\n contents: text,\n });\n\n return response.text;\n }\n}\n","import { GeminiAdapter } from '../services/models/gemini';\n\ndeclare global {\n interface Window {\n env: {\n API_KEY: string;\n };\n GeminiAdapter: typeof GeminiAdapter;\n }\n}\n\nexport default function () {\n window.env = {\n API_KEY: '__GEMINI_API_KEY__',\n };\n\n window.GeminiAdapter = GeminiAdapter;\n}\n","const appGlobalScript = appGlobalScriptNs.default || (() => {});\nimport * as appGlobalScriptNs from '/home/runner/work/llm-testrunner-lib/llm-testrunner-lib/src/global/env.ts';\nexport const globalScripts = appGlobalScript;\nexport const globalStyles = \"\";\n"],"names":["appGlobalScriptNs.default"],"mappings":";;MAUa,aAAa,CAAA;AACP,IAAA,GAAG;AAEpB,IAAA,WAAA,CAAY,GAAW,EAAA;AACrB,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC;AACzB,YAAA,MAAM,EAAE,GAAG;AACZ,SAAA,CAAC;;IAGJ,MAAM,MAAM,CAAC,IAAY,EAAA;QACvB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC;YACrD,KAAK,EAAA,wBAAA;AACL,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI;;AAEvB;;AChBa,YAAA,IAAA;IACZ,MAAM,CAAC,GAAG,GAAG;AACX,QAAA,OAAO,EAAE,EAAoB;KAC9B;AAED,IAAA,MAAM,CAAC,aAAa,GAAG,aAAa;AACtC;;ACjBA,MAAM,eAAe,GAAGA,GAAyB,KAAK,MAAM,EAAE,CAAC;AAEnD,MAAC,aAAa,GAAG;;;;"}
|
|
@@ -3,10 +3,40 @@
|
|
|
3
3
|
* Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
|
|
4
4
|
*/
|
|
5
5
|
import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
|
|
6
|
-
import { type LLMRequestPayload, type LlmTestRunnerCustomEvent } from "
|
|
7
|
-
import {
|
|
6
|
+
import { type AppChipsCustomEvent, type AppTextareaCustomEvent, type LLMRequestPayload, type LlmTestRunnerCustomEvent, type SavePayload } from "llm-testrunner-components";
|
|
7
|
+
import { AppChips as AppChipsElement } from "llm-testrunner-components/./dist/components/app-chips.js";
|
|
8
|
+
import { AppSelect as AppSelectElement } from "llm-testrunner-components/./dist/components/app-select.js";
|
|
9
|
+
import { AppTextarea as AppTextareaElement } from "llm-testrunner-components/./dist/components/app-textarea.js";
|
|
10
|
+
import { FormBuilder as FormBuilderElement } from "llm-testrunner-components/./dist/components/form-builder.js";
|
|
11
|
+
import { LlmTestRunner as LlmTestRunnerElement } from "llm-testrunner-components/./dist/components/llm-test-runner.js";
|
|
12
|
+
export type AppChipsEvents = {
|
|
13
|
+
onAddChip: EventName<AppChipsCustomEvent<{
|
|
14
|
+
key: string;
|
|
15
|
+
value: string;
|
|
16
|
+
testCaseId: string;
|
|
17
|
+
}>>;
|
|
18
|
+
onRemoveChip: EventName<AppChipsCustomEvent<{
|
|
19
|
+
key: string;
|
|
20
|
+
index: number;
|
|
21
|
+
testCaseId: string;
|
|
22
|
+
}>>;
|
|
23
|
+
};
|
|
24
|
+
export declare const AppChips: StencilReactComponent<AppChipsElement, AppChipsEvents>;
|
|
25
|
+
export type AppSelectEvents = NonNullable<unknown>;
|
|
26
|
+
export declare const AppSelect: StencilReactComponent<AppSelectElement, AppSelectEvents>;
|
|
27
|
+
export type AppTextareaEvents = {
|
|
28
|
+
onValueChange: EventName<AppTextareaCustomEvent<{
|
|
29
|
+
key: string;
|
|
30
|
+
value: string;
|
|
31
|
+
testCaseId: string;
|
|
32
|
+
}>>;
|
|
33
|
+
};
|
|
34
|
+
export declare const AppTextarea: StencilReactComponent<AppTextareaElement, AppTextareaEvents>;
|
|
35
|
+
export type FormBuilderEvents = NonNullable<unknown>;
|
|
36
|
+
export declare const FormBuilder: StencilReactComponent<FormBuilderElement, FormBuilderEvents>;
|
|
8
37
|
export type LlmTestRunnerEvents = {
|
|
9
38
|
onLlmRequest: EventName<LlmTestRunnerCustomEvent<LLMRequestPayload>>;
|
|
39
|
+
onSave: EventName<LlmTestRunnerCustomEvent<SavePayload>>;
|
|
10
40
|
};
|
|
11
41
|
export declare const LlmTestRunner: StencilReactComponent<LlmTestRunnerElement, LlmTestRunnerEvents>;
|
|
12
42
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../generated/react/components.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../generated/react/components.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7F,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,KAAK,wBAAwB,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC3K,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAyC,MAAM,0DAA0D,CAAC;AAC9I,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAA0C,MAAM,2DAA2D,CAAC;AAClJ,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAA4C,MAAM,6DAA6D,CAAC;AAC1J,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAA4C,MAAM,6DAA6D,CAAC;AAC1J,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAA8C,MAAM,gEAAgE,CAAC;AAGnK,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,SAAS,CAAC,mBAAmB,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC,CAAC;IAC/F,YAAY,EAAE,SAAS,CAAC,mBAAmB,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC,CAAA;CACpG,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,qBAAqB,CAAC,eAAe,EAAE,cAAc,CAU1E,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,qBAAqB,CAAC,gBAAgB,EAAE,eAAe,CAO7E,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG;IAAE,aAAa,EAAE,SAAS,CAAC,sBAAsB,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC,CAAA;CAAE,CAAC;AAE1I,eAAO,MAAM,WAAW,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAOnF,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;AAErD,eAAO,MAAM,WAAW,EAAE,qBAAqB,CAAC,kBAAkB,EAAE,iBAAiB,CAOnF,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG;IAC9B,YAAY,EAAE,SAAS,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IACrE,MAAM,EAAE,SAAS,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAA;CAC3D,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,qBAAqB,CAAC,oBAAoB,EAAE,mBAAmB,CAUzF,CAAC"}
|
package/dist/react/components.js
CHANGED
|
@@ -1,12 +1,54 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { createComponent } from '@stencil/react-output-target/runtime';
|
|
3
|
+
import { AppChips as AppChipsElement, defineCustomElement as defineAppChips } from "llm-testrunner-components/./dist/components/app-chips.js";
|
|
4
|
+
import { AppSelect as AppSelectElement, defineCustomElement as defineAppSelect } from "llm-testrunner-components/./dist/components/app-select.js";
|
|
5
|
+
import { AppTextarea as AppTextareaElement, defineCustomElement as defineAppTextarea } from "llm-testrunner-components/./dist/components/app-textarea.js";
|
|
6
|
+
import { FormBuilder as FormBuilderElement, defineCustomElement as defineFormBuilder } from "llm-testrunner-components/./dist/components/form-builder.js";
|
|
7
|
+
import { LlmTestRunner as LlmTestRunnerElement, defineCustomElement as defineLlmTestRunner } from "llm-testrunner-components/./dist/components/llm-test-runner.js";
|
|
3
8
|
import React from 'react';
|
|
4
|
-
|
|
9
|
+
export const AppChips = /*@__PURE__*/ createComponent({
|
|
10
|
+
tagName: 'app-chips',
|
|
11
|
+
elementClass: AppChipsElement,
|
|
12
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
13
|
+
react: React,
|
|
14
|
+
events: {
|
|
15
|
+
onAddChip: 'addChip',
|
|
16
|
+
onRemoveChip: 'removeChip'
|
|
17
|
+
},
|
|
18
|
+
defineCustomElement: defineAppChips
|
|
19
|
+
});
|
|
20
|
+
export const AppSelect = /*@__PURE__*/ createComponent({
|
|
21
|
+
tagName: 'app-select',
|
|
22
|
+
elementClass: AppSelectElement,
|
|
23
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
24
|
+
react: React,
|
|
25
|
+
events: {},
|
|
26
|
+
defineCustomElement: defineAppSelect
|
|
27
|
+
});
|
|
28
|
+
export const AppTextarea = /*@__PURE__*/ createComponent({
|
|
29
|
+
tagName: 'app-textarea',
|
|
30
|
+
elementClass: AppTextareaElement,
|
|
31
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
32
|
+
react: React,
|
|
33
|
+
events: { onValueChange: 'valueChange' },
|
|
34
|
+
defineCustomElement: defineAppTextarea
|
|
35
|
+
});
|
|
36
|
+
export const FormBuilder = /*@__PURE__*/ createComponent({
|
|
37
|
+
tagName: 'form-builder',
|
|
38
|
+
elementClass: FormBuilderElement,
|
|
39
|
+
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
40
|
+
react: React,
|
|
41
|
+
events: {},
|
|
42
|
+
defineCustomElement: defineFormBuilder
|
|
43
|
+
});
|
|
5
44
|
export const LlmTestRunner = /*@__PURE__*/ createComponent({
|
|
6
45
|
tagName: 'llm-test-runner',
|
|
7
46
|
elementClass: LlmTestRunnerElement,
|
|
8
47
|
// @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
|
|
9
48
|
react: React,
|
|
10
|
-
events: {
|
|
49
|
+
events: {
|
|
50
|
+
onLlmRequest: 'llmRequest',
|
|
51
|
+
onSave: 'save'
|
|
52
|
+
},
|
|
11
53
|
defineCustomElement: defineLlmTestRunner
|
|
12
54
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
export interface LLMTestRunnerHeaderProps {
|
|
3
|
+
isExportingTestSuite: boolean;
|
|
4
|
+
isExportingTestResults: boolean;
|
|
5
|
+
isRunningAll: boolean;
|
|
6
|
+
useSave?: boolean;
|
|
7
|
+
isSaving?: boolean;
|
|
8
|
+
onImport: (file: File) => void;
|
|
9
|
+
onExportSuite: () => void;
|
|
10
|
+
onExportResults: () => void;
|
|
11
|
+
onRunAll: () => void;
|
|
12
|
+
onSave?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare const LLMTestRunnerHeader: FunctionalComponent<LLMTestRunnerHeaderProps>;
|
|
@@ -1,51 +1,35 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
-
import {
|
|
3
|
-
export interface TestCase {
|
|
4
|
-
id: string;
|
|
5
|
-
question: string;
|
|
6
|
-
expectedKeywords: string[];
|
|
7
|
-
expectedSourceLinks: string[];
|
|
8
|
-
output?: string;
|
|
9
|
-
isRunning?: boolean;
|
|
10
|
-
error?: string;
|
|
11
|
-
evaluationResult?: EvaluationResult;
|
|
12
|
-
responseTime?: number;
|
|
13
|
-
}
|
|
14
|
-
export interface LLMRequestPayload {
|
|
15
|
-
prompt: string;
|
|
16
|
-
resolve: (result: string) => void;
|
|
17
|
-
reject: (err: any) => void;
|
|
18
|
-
}
|
|
2
|
+
import { TestCase, LLMRequestPayload, SavePayload } from '../../types/llm-test-runner';
|
|
19
3
|
export declare class LLMTestRunner {
|
|
20
4
|
llmRequest: EventEmitter<LLMRequestPayload>;
|
|
5
|
+
save: EventEmitter<SavePayload>;
|
|
21
6
|
delayMs?: number;
|
|
7
|
+
useSave?: boolean;
|
|
8
|
+
initialTestCases?: TestCase[];
|
|
22
9
|
testCases: TestCase[];
|
|
23
10
|
isRunningAll: boolean;
|
|
24
11
|
error: string;
|
|
25
|
-
private fileInput;
|
|
26
12
|
isExportingTestSuite: boolean;
|
|
27
13
|
isExportingTestResults: boolean;
|
|
28
|
-
|
|
14
|
+
isSaving: boolean;
|
|
15
|
+
private evaluationService;
|
|
29
16
|
componentWillLoad(): void;
|
|
30
17
|
componentDidLoad(): void;
|
|
31
18
|
disconnectedCallback(): void;
|
|
19
|
+
resetSavingState(): Promise<void>;
|
|
20
|
+
private handleTestCaseChange;
|
|
32
21
|
private addNewTestCase;
|
|
33
22
|
private updateTestCase;
|
|
34
23
|
private runSingleTest;
|
|
35
24
|
private deleteTestCase;
|
|
36
|
-
private
|
|
37
|
-
private
|
|
38
|
-
private
|
|
39
|
-
private removeSourceLink;
|
|
25
|
+
private updateApproach;
|
|
26
|
+
private addChip;
|
|
27
|
+
private removeChip;
|
|
40
28
|
private evaluateResponse;
|
|
41
29
|
private runAllTests;
|
|
42
|
-
private
|
|
43
|
-
private handleFileSelect;
|
|
44
|
-
private handleFileChange;
|
|
45
|
-
private readFileAsync;
|
|
46
|
-
private downloadFile;
|
|
30
|
+
private handleImport;
|
|
47
31
|
private handleExportTestSuite;
|
|
48
32
|
private handleExportTestResults;
|
|
49
|
-
private
|
|
33
|
+
private handleSave;
|
|
50
34
|
render(): any;
|
|
51
35
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FunctionalComponent } from '../../../../stencil-public-runtime';
|
|
2
|
+
export interface RowActionsProps {
|
|
3
|
+
isRunning: boolean;
|
|
4
|
+
canRun: boolean;
|
|
5
|
+
onRun: () => void;
|
|
6
|
+
onDelete: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const RowActions: FunctionalComponent<RowActionsProps>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FunctionalComponent } from '../../../../stencil-public-runtime';
|
|
2
|
+
import { EvaluationResult } from '../../../../lib/evaluation/types';
|
|
3
|
+
export interface EvaluationSummaryProps {
|
|
4
|
+
result?: EvaluationResult;
|
|
5
|
+
isRunning: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const EvaluationSummary: FunctionalComponent<EvaluationSummaryProps>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import { TestCase } from '../../../types/llm-test-runner';
|
|
3
|
+
import { EvaluationApproach } from '../../../lib/evaluation/constants';
|
|
4
|
+
export interface LLMTestCaseRowProps {
|
|
5
|
+
testCase: TestCase;
|
|
6
|
+
onRun: (testCase: TestCase) => void;
|
|
7
|
+
onDelete: (id: string) => void;
|
|
8
|
+
onUpdateApproach: (testCase: TestCase, approach: EvaluationApproach) => void;
|
|
9
|
+
handleTestCaseChange: (e: CustomEvent<{
|
|
10
|
+
testCaseId: string;
|
|
11
|
+
key: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}>) => void;
|
|
14
|
+
addChip: (e: CustomEvent<{
|
|
15
|
+
testCaseId: string;
|
|
16
|
+
key: string;
|
|
17
|
+
value: string;
|
|
18
|
+
}>) => void;
|
|
19
|
+
removeChip: (e: CustomEvent<{
|
|
20
|
+
testCaseId: string;
|
|
21
|
+
key: string;
|
|
22
|
+
index: number;
|
|
23
|
+
}>) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare const LLMTestCaseRow: FunctionalComponent<LLMTestCaseRowProps>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import { TestCase } from '../../../types/llm-test-runner';
|
|
3
|
+
import { EvaluationApproach } from '../../../lib/evaluation/constants';
|
|
4
|
+
export interface LLMTestCasesProps {
|
|
5
|
+
testCases: TestCase[];
|
|
6
|
+
onRun: (testCase: TestCase) => void;
|
|
7
|
+
onDelete: (id: string) => void;
|
|
8
|
+
onUpdateApproach: (testCase: TestCase, approach: EvaluationApproach) => void;
|
|
9
|
+
onAddTestCase: () => void;
|
|
10
|
+
handleTestCaseChange: (e: CustomEvent<{
|
|
11
|
+
testCaseId: string;
|
|
12
|
+
key: string;
|
|
13
|
+
value: string;
|
|
14
|
+
}>) => void;
|
|
15
|
+
addChip: (e: CustomEvent<{
|
|
16
|
+
testCaseId: string;
|
|
17
|
+
key: string;
|
|
18
|
+
value: string;
|
|
19
|
+
}>) => void;
|
|
20
|
+
removeChip: (e: CustomEvent<{
|
|
21
|
+
testCaseId: string;
|
|
22
|
+
key: string;
|
|
23
|
+
index: number;
|
|
24
|
+
}>) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare const LLMTestCases: FunctionalComponent<LLMTestCasesProps>;
|
|
@@ -5,23 +5,134 @@
|
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
|
6
6
|
*/
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
|
-
import {
|
|
9
|
-
|
|
8
|
+
import { ChipsConfig, FieldConfig, SelectConfig, TextAreaConfig } from "./lib/form/schema";
|
|
9
|
+
import { LLMRequestPayload, SavePayload, TestCase } from "./types/llm-test-runner";
|
|
10
|
+
export { ChipsConfig, FieldConfig, SelectConfig, TextAreaConfig } from "./lib/form/schema";
|
|
11
|
+
export { LLMRequestPayload, SavePayload, TestCase } from "./types/llm-test-runner";
|
|
10
12
|
export namespace Components {
|
|
13
|
+
interface AppChips {
|
|
14
|
+
"config": ChipsConfig;
|
|
15
|
+
"testCaseId": string;
|
|
16
|
+
/**
|
|
17
|
+
* @default []
|
|
18
|
+
*/
|
|
19
|
+
"value": string[];
|
|
20
|
+
}
|
|
21
|
+
interface AppSelect {
|
|
22
|
+
"config": SelectConfig;
|
|
23
|
+
"onChange": (value: any) => void;
|
|
24
|
+
"value": any;
|
|
25
|
+
}
|
|
26
|
+
interface AppTextarea {
|
|
27
|
+
"config": TextAreaConfig;
|
|
28
|
+
"testCaseId": string;
|
|
29
|
+
"value": string;
|
|
30
|
+
}
|
|
31
|
+
interface FormBuilder {
|
|
32
|
+
"addChip": (
|
|
33
|
+
e: CustomEvent<{ testCaseId: string; key: string; value: string }>,
|
|
34
|
+
) => void;
|
|
35
|
+
/**
|
|
36
|
+
* @default []
|
|
37
|
+
*/
|
|
38
|
+
"fields": FieldConfig[];
|
|
39
|
+
"handleTestCaseChange": (
|
|
40
|
+
e: CustomEvent<{ testCaseId: string; key: string; value: string }>,
|
|
41
|
+
) => void;
|
|
42
|
+
"onUpdateApproach": (testCase: TestCase, approach: any) => void;
|
|
43
|
+
"removeChip": (
|
|
44
|
+
e: CustomEvent<{ testCaseId: string; key: string; index: number }>,
|
|
45
|
+
) => void;
|
|
46
|
+
"testCase": TestCase;
|
|
47
|
+
}
|
|
11
48
|
interface LlmTestRunner {
|
|
12
49
|
/**
|
|
13
50
|
* @default 500
|
|
14
51
|
*/
|
|
15
52
|
"delayMs"?: number;
|
|
53
|
+
"initialTestCases"?: TestCase[];
|
|
54
|
+
"resetSavingState": () => Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* @default false
|
|
57
|
+
*/
|
|
58
|
+
"useSave"?: boolean;
|
|
16
59
|
}
|
|
17
60
|
}
|
|
61
|
+
export interface AppChipsCustomEvent<T> extends CustomEvent<T> {
|
|
62
|
+
detail: T;
|
|
63
|
+
target: HTMLAppChipsElement;
|
|
64
|
+
}
|
|
65
|
+
export interface AppTextareaCustomEvent<T> extends CustomEvent<T> {
|
|
66
|
+
detail: T;
|
|
67
|
+
target: HTMLAppTextareaElement;
|
|
68
|
+
}
|
|
18
69
|
export interface LlmTestRunnerCustomEvent<T> extends CustomEvent<T> {
|
|
19
70
|
detail: T;
|
|
20
71
|
target: HTMLLlmTestRunnerElement;
|
|
21
72
|
}
|
|
22
73
|
declare global {
|
|
74
|
+
interface HTMLAppChipsElementEventMap {
|
|
75
|
+
"addChip": {
|
|
76
|
+
key: string;
|
|
77
|
+
value: string;
|
|
78
|
+
testCaseId: string;
|
|
79
|
+
};
|
|
80
|
+
"removeChip": {
|
|
81
|
+
key: string;
|
|
82
|
+
index: number;
|
|
83
|
+
testCaseId: string;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
interface HTMLAppChipsElement extends Components.AppChips, HTMLStencilElement {
|
|
87
|
+
addEventListener<K extends keyof HTMLAppChipsElementEventMap>(type: K, listener: (this: HTMLAppChipsElement, ev: AppChipsCustomEvent<HTMLAppChipsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
88
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
89
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
90
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
91
|
+
removeEventListener<K extends keyof HTMLAppChipsElementEventMap>(type: K, listener: (this: HTMLAppChipsElement, ev: AppChipsCustomEvent<HTMLAppChipsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
92
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
93
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
94
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
95
|
+
}
|
|
96
|
+
var HTMLAppChipsElement: {
|
|
97
|
+
prototype: HTMLAppChipsElement;
|
|
98
|
+
new (): HTMLAppChipsElement;
|
|
99
|
+
};
|
|
100
|
+
interface HTMLAppSelectElement extends Components.AppSelect, HTMLStencilElement {
|
|
101
|
+
}
|
|
102
|
+
var HTMLAppSelectElement: {
|
|
103
|
+
prototype: HTMLAppSelectElement;
|
|
104
|
+
new (): HTMLAppSelectElement;
|
|
105
|
+
};
|
|
106
|
+
interface HTMLAppTextareaElementEventMap {
|
|
107
|
+
"valueChange": {
|
|
108
|
+
key: string;
|
|
109
|
+
value: string;
|
|
110
|
+
testCaseId: string;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
interface HTMLAppTextareaElement extends Components.AppTextarea, HTMLStencilElement {
|
|
114
|
+
addEventListener<K extends keyof HTMLAppTextareaElementEventMap>(type: K, listener: (this: HTMLAppTextareaElement, ev: AppTextareaCustomEvent<HTMLAppTextareaElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
115
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
116
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
117
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
118
|
+
removeEventListener<K extends keyof HTMLAppTextareaElementEventMap>(type: K, listener: (this: HTMLAppTextareaElement, ev: AppTextareaCustomEvent<HTMLAppTextareaElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
119
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
120
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
121
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
122
|
+
}
|
|
123
|
+
var HTMLAppTextareaElement: {
|
|
124
|
+
prototype: HTMLAppTextareaElement;
|
|
125
|
+
new (): HTMLAppTextareaElement;
|
|
126
|
+
};
|
|
127
|
+
interface HTMLFormBuilderElement extends Components.FormBuilder, HTMLStencilElement {
|
|
128
|
+
}
|
|
129
|
+
var HTMLFormBuilderElement: {
|
|
130
|
+
prototype: HTMLFormBuilderElement;
|
|
131
|
+
new (): HTMLFormBuilderElement;
|
|
132
|
+
};
|
|
23
133
|
interface HTMLLlmTestRunnerElementEventMap {
|
|
24
134
|
"llmRequest": LLMRequestPayload;
|
|
135
|
+
"save": SavePayload;
|
|
25
136
|
}
|
|
26
137
|
interface HTMLLlmTestRunnerElement extends Components.LlmTestRunner, HTMLStencilElement {
|
|
27
138
|
addEventListener<K extends keyof HTMLLlmTestRunnerElementEventMap>(type: K, listener: (this: HTMLLlmTestRunnerElement, ev: LlmTestRunnerCustomEvent<HTMLLlmTestRunnerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -38,26 +149,110 @@ declare global {
|
|
|
38
149
|
new (): HTMLLlmTestRunnerElement;
|
|
39
150
|
};
|
|
40
151
|
interface HTMLElementTagNameMap {
|
|
152
|
+
"app-chips": HTMLAppChipsElement;
|
|
153
|
+
"app-select": HTMLAppSelectElement;
|
|
154
|
+
"app-textarea": HTMLAppTextareaElement;
|
|
155
|
+
"form-builder": HTMLFormBuilderElement;
|
|
41
156
|
"llm-test-runner": HTMLLlmTestRunnerElement;
|
|
42
157
|
}
|
|
43
158
|
}
|
|
44
159
|
declare namespace LocalJSX {
|
|
160
|
+
interface AppChips {
|
|
161
|
+
"config"?: ChipsConfig;
|
|
162
|
+
"onAddChip"?: (event: AppChipsCustomEvent<{
|
|
163
|
+
key: string;
|
|
164
|
+
value: string;
|
|
165
|
+
testCaseId: string;
|
|
166
|
+
}>) => void;
|
|
167
|
+
"onRemoveChip"?: (event: AppChipsCustomEvent<{
|
|
168
|
+
key: string;
|
|
169
|
+
index: number;
|
|
170
|
+
testCaseId: string;
|
|
171
|
+
}>) => void;
|
|
172
|
+
"testCaseId"?: string;
|
|
173
|
+
/**
|
|
174
|
+
* @default []
|
|
175
|
+
*/
|
|
176
|
+
"value"?: string[];
|
|
177
|
+
}
|
|
178
|
+
interface AppSelect {
|
|
179
|
+
"config"?: SelectConfig;
|
|
180
|
+
"onChange"?: (value: any) => void;
|
|
181
|
+
"value"?: any;
|
|
182
|
+
}
|
|
183
|
+
interface AppTextarea {
|
|
184
|
+
"config"?: TextAreaConfig;
|
|
185
|
+
"onValueChange"?: (event: AppTextareaCustomEvent<{
|
|
186
|
+
key: string;
|
|
187
|
+
value: string;
|
|
188
|
+
testCaseId: string;
|
|
189
|
+
}>) => void;
|
|
190
|
+
"testCaseId"?: string;
|
|
191
|
+
"value"?: string;
|
|
192
|
+
}
|
|
193
|
+
interface FormBuilder {
|
|
194
|
+
"addChip"?: (
|
|
195
|
+
e: CustomEvent<{ testCaseId: string; key: string; value: string }>,
|
|
196
|
+
) => void;
|
|
197
|
+
/**
|
|
198
|
+
* @default []
|
|
199
|
+
*/
|
|
200
|
+
"fields"?: FieldConfig[];
|
|
201
|
+
"handleTestCaseChange"?: (
|
|
202
|
+
e: CustomEvent<{ testCaseId: string; key: string; value: string }>,
|
|
203
|
+
) => void;
|
|
204
|
+
"onUpdateApproach"?: (testCase: TestCase, approach: any) => void;
|
|
205
|
+
"removeChip"?: (
|
|
206
|
+
e: CustomEvent<{ testCaseId: string; key: string; index: number }>,
|
|
207
|
+
) => void;
|
|
208
|
+
"testCase"?: TestCase;
|
|
209
|
+
}
|
|
45
210
|
interface LlmTestRunner {
|
|
46
211
|
/**
|
|
47
212
|
* @default 500
|
|
48
213
|
*/
|
|
49
214
|
"delayMs"?: number;
|
|
215
|
+
"initialTestCases"?: TestCase[];
|
|
50
216
|
"onLlmRequest"?: (event: LlmTestRunnerCustomEvent<LLMRequestPayload>) => void;
|
|
217
|
+
"onSave"?: (event: LlmTestRunnerCustomEvent<SavePayload>) => void;
|
|
218
|
+
/**
|
|
219
|
+
* @default false
|
|
220
|
+
*/
|
|
221
|
+
"useSave"?: boolean;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
interface AppChipsAttributes {
|
|
225
|
+
"testCaseId": string;
|
|
226
|
+
}
|
|
227
|
+
interface AppSelectAttributes {
|
|
228
|
+
"value": string;
|
|
229
|
+
}
|
|
230
|
+
interface AppTextareaAttributes {
|
|
231
|
+
"testCaseId": string;
|
|
232
|
+
"value": string;
|
|
233
|
+
}
|
|
234
|
+
interface LlmTestRunnerAttributes {
|
|
235
|
+
"delayMs": number;
|
|
236
|
+
"useSave": boolean;
|
|
51
237
|
}
|
|
238
|
+
|
|
52
239
|
interface IntrinsicElements {
|
|
53
|
-
"
|
|
240
|
+
"app-chips": Omit<AppChips, keyof AppChipsAttributes> & { [K in keyof AppChips & keyof AppChipsAttributes]?: AppChips[K] } & { [K in keyof AppChips & keyof AppChipsAttributes as `attr:${K}`]?: AppChipsAttributes[K] } & { [K in keyof AppChips & keyof AppChipsAttributes as `prop:${K}`]?: AppChips[K] };
|
|
241
|
+
"app-select": Omit<AppSelect, keyof AppSelectAttributes> & { [K in keyof AppSelect & keyof AppSelectAttributes]?: AppSelect[K] } & { [K in keyof AppSelect & keyof AppSelectAttributes as `attr:${K}`]?: AppSelectAttributes[K] } & { [K in keyof AppSelect & keyof AppSelectAttributes as `prop:${K}`]?: AppSelect[K] };
|
|
242
|
+
"app-textarea": Omit<AppTextarea, keyof AppTextareaAttributes> & { [K in keyof AppTextarea & keyof AppTextareaAttributes]?: AppTextarea[K] } & { [K in keyof AppTextarea & keyof AppTextareaAttributes as `attr:${K}`]?: AppTextareaAttributes[K] } & { [K in keyof AppTextarea & keyof AppTextareaAttributes as `prop:${K}`]?: AppTextarea[K] };
|
|
243
|
+
"form-builder": FormBuilder;
|
|
244
|
+
"llm-test-runner": Omit<LlmTestRunner, keyof LlmTestRunnerAttributes> & { [K in keyof LlmTestRunner & keyof LlmTestRunnerAttributes]?: LlmTestRunner[K] } & { [K in keyof LlmTestRunner & keyof LlmTestRunnerAttributes as `attr:${K}`]?: LlmTestRunnerAttributes[K] } & { [K in keyof LlmTestRunner & keyof LlmTestRunnerAttributes as `prop:${K}`]?: LlmTestRunner[K] };
|
|
54
245
|
}
|
|
55
246
|
}
|
|
56
247
|
export { LocalJSX as JSX };
|
|
57
248
|
declare module "@stencil/core" {
|
|
58
249
|
export namespace JSX {
|
|
59
250
|
interface IntrinsicElements {
|
|
60
|
-
"
|
|
251
|
+
"app-chips": LocalJSX.IntrinsicElements["app-chips"] & JSXBase.HTMLAttributes<HTMLAppChipsElement>;
|
|
252
|
+
"app-select": LocalJSX.IntrinsicElements["app-select"] & JSXBase.HTMLAttributes<HTMLAppSelectElement>;
|
|
253
|
+
"app-textarea": LocalJSX.IntrinsicElements["app-textarea"] & JSXBase.HTMLAttributes<HTMLAppTextareaElement>;
|
|
254
|
+
"form-builder": LocalJSX.IntrinsicElements["form-builder"] & JSXBase.HTMLAttributes<HTMLFormBuilderElement>;
|
|
255
|
+
"llm-test-runner": LocalJSX.IntrinsicElements["llm-test-runner"] & JSXBase.HTMLAttributes<HTMLLlmTestRunnerElement>;
|
|
61
256
|
}
|
|
62
257
|
}
|
|
63
258
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { LLMTestRunner } from './components/llm-test-runner/llm-test-runner';
|
|
2
|
-
export type { TestCase } from './
|
|
2
|
+
export type { TestCase, LLMRequestPayload } from './types/llm-test-runner';
|
|
3
3
|
export type * from './components.d.ts';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare enum EvaluationApproach {
|
|
2
|
+
EXACT = "exact",
|
|
3
|
+
SEMANTIC = "semantic",
|
|
4
|
+
ROUGE_1 = "rouge-1",
|
|
5
|
+
ROUGE_L = "rouge-L",
|
|
6
|
+
BLEU = "bleu"
|
|
7
|
+
}
|
|
8
|
+
export declare const EvaluationApproachValues: EvaluationApproach[];
|
|
9
|
+
export declare const DEFAULT_ROUGE_PASS_SCORE = 0.7;
|
|
10
|
+
export declare const DEFAULT_SEMANTIC_PASS_SCORE = 0.7;
|
|
11
|
+
export declare const DEFAULT_BLEU_PASS_SCORE = 0.7;
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { EvaluationRequest, EvaluationCallback } from './types';
|
|
2
2
|
export declare class LLMEvaluationEngine {
|
|
3
|
-
constructor();
|
|
4
3
|
evaluateResponse(request: EvaluationRequest, callback: EvaluationCallback): Promise<void>;
|
|
5
|
-
private performEvaluation;
|
|
6
|
-
private evaluateKeywords;
|
|
7
|
-
private evaluateSourceLinks;
|
|
8
4
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EvaluationResult } from './types';
|
|
2
|
+
import { TestCase } from '../../types/llm-test-runner';
|
|
3
|
+
/**
|
|
4
|
+
* Service for evaluating test case responses
|
|
5
|
+
*/
|
|
6
|
+
export declare class EvaluationService {
|
|
7
|
+
private engine;
|
|
8
|
+
constructor();
|
|
9
|
+
/**
|
|
10
|
+
* Evaluates a test case response
|
|
11
|
+
* @param testCase - The test case to evaluate
|
|
12
|
+
* @param onResult - Callback to handle the evaluation result
|
|
13
|
+
*/
|
|
14
|
+
evaluateTestCase(testCase: TestCase, onResult: (result: EvaluationResult) => void): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EvaluationRequest, EvaluationResult } from '../../types';
|
|
2
|
+
/**
|
|
3
|
+
* Computes the BLEU score for keywords against the candidate text.
|
|
4
|
+
*
|
|
5
|
+
* BLEU measures the precision of n-grams (typically 1-4 grams) between the candidate
|
|
6
|
+
* and reference text. A score of 1.0 indicates perfect match.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const match = performBleuEvaluation({
|
|
10
|
+
* testCaseId: 'test-1',
|
|
11
|
+
* question: 'What is the capital?',
|
|
12
|
+
* expectedKeywords: ['Paris'],
|
|
13
|
+
* actualResponse: 'The capital is Paris.',
|
|
14
|
+
* evaluationParameters: { approach: 'bleu', threshold: 0.7 }
|
|
15
|
+
* });
|
|
16
|
+
* // Returns evaluation result with BLEU scores for each keyword
|
|
17
|
+
*/
|
|
18
|
+
export declare function performBleuEvaluation(request: EvaluationRequest): EvaluationResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EvaluationRequest, EvaluationResult } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Computes the ROUGE-1 score for a single keyword against the candidate text.
|
|
4
|
+
*
|
|
5
|
+
* ROUGE-1 measures the overlap of unigrams (single words) between the candidate
|
|
6
|
+
* and reference text. A score of 1.0 indicates perfect overlap.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const match = evaluateSingleKeyword(
|
|
10
|
+
* "The quick brown fox",
|
|
11
|
+
* "quick fox",
|
|
12
|
+
* 0.5
|
|
13
|
+
* );
|
|
14
|
+
* // Returns: { keyword: "quick fox", found: true, score: 0.67, ... }
|
|
15
|
+
* //general idea , here we are doing it. by word to word comparison
|
|
16
|
+
*/
|
|
17
|
+
export declare function performRouge1Evaluation(request: EvaluationRequest): Promise<EvaluationResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|