@cdot65/prisma-airs-cli 2.11.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -169
- package/dist/chunk-JXHYQFEK.js +1752 -0
- package/dist/cli/index.js +6511 -4
- package/dist/dlp-5XKWITZX.js +710 -0
- package/dist/index.d.ts +1396 -26
- package/dist/index.js +40 -37
- package/package.json +22 -25
- package/dist/airs/dlp/data-filtering-profiles.d.ts +0 -10
- package/dist/airs/dlp/data-filtering-profiles.d.ts.map +0 -1
- package/dist/airs/dlp/data-filtering-profiles.js +0 -17
- package/dist/airs/dlp/data-filtering-profiles.js.map +0 -1
- package/dist/airs/dlp/data-patterns.d.ts +0 -13
- package/dist/airs/dlp/data-patterns.d.ts.map +0 -1
- package/dist/airs/dlp/data-patterns.js +0 -26
- package/dist/airs/dlp/data-patterns.js.map +0 -1
- package/dist/airs/dlp/data-profiles.d.ts +0 -12
- package/dist/airs/dlp/data-profiles.d.ts.map +0 -1
- package/dist/airs/dlp/data-profiles.js +0 -23
- package/dist/airs/dlp/data-profiles.js.map +0 -1
- package/dist/airs/dlp/dictionaries.d.ts +0 -13
- package/dist/airs/dlp/dictionaries.d.ts.map +0 -1
- package/dist/airs/dlp/dictionaries.js +0 -34
- package/dist/airs/dlp/dictionaries.js.map +0 -1
- package/dist/airs/dlp/index.d.ts +0 -6
- package/dist/airs/dlp/index.d.ts.map +0 -1
- package/dist/airs/dlp/index.js +0 -6
- package/dist/airs/dlp/index.js.map +0 -1
- package/dist/airs/dlp/types.d.ts +0 -36
- package/dist/airs/dlp/types.d.ts.map +0 -1
- package/dist/airs/dlp/types.js +0 -2
- package/dist/airs/dlp/types.js.map +0 -1
- package/dist/airs/management.d.ts +0 -68
- package/dist/airs/management.d.ts.map +0 -1
- package/dist/airs/management.js +0 -317
- package/dist/airs/management.js.map +0 -1
- package/dist/airs/modelsecurity.d.ts +0 -74
- package/dist/airs/modelsecurity.d.ts.map +0 -1
- package/dist/airs/modelsecurity.js +0 -337
- package/dist/airs/modelsecurity.js.map +0 -1
- package/dist/airs/promptsets.d.ts +0 -50
- package/dist/airs/promptsets.d.ts.map +0 -1
- package/dist/airs/promptsets.js +0 -120
- package/dist/airs/promptsets.js.map +0 -1
- package/dist/airs/redteam.d.ts +0 -74
- package/dist/airs/redteam.d.ts.map +0 -1
- package/dist/airs/redteam.js +0 -406
- package/dist/airs/redteam.js.map +0 -1
- package/dist/airs/runtime.d.ts +0 -27
- package/dist/airs/runtime.d.ts.map +0 -1
- package/dist/airs/runtime.js +0 -158
- package/dist/airs/runtime.js.map +0 -1
- package/dist/airs/scanner.d.ts +0 -36
- package/dist/airs/scanner.d.ts.map +0 -1
- package/dist/airs/scanner.js +0 -101
- package/dist/airs/scanner.js.map +0 -1
- package/dist/airs/types.d.ts +0 -780
- package/dist/airs/types.d.ts.map +0 -1
- package/dist/airs/types.js +0 -6
- package/dist/airs/types.js.map +0 -1
- package/dist/audit/evaluator.d.ts +0 -17
- package/dist/audit/evaluator.d.ts.map +0 -1
- package/dist/audit/evaluator.js +0 -82
- package/dist/audit/evaluator.js.map +0 -1
- package/dist/audit/report.d.ts +0 -38
- package/dist/audit/report.d.ts.map +0 -1
- package/dist/audit/report.js +0 -141
- package/dist/audit/report.js.map +0 -1
- package/dist/audit/runner.d.ts +0 -18
- package/dist/audit/runner.d.ts.map +0 -1
- package/dist/audit/runner.js +0 -60
- package/dist/audit/runner.js.map +0 -1
- package/dist/audit/types.d.ts +0 -53
- package/dist/audit/types.d.ts.map +0 -1
- package/dist/audit/types.js +0 -5
- package/dist/audit/types.js.map +0 -1
- package/dist/backup/index.d.ts +0 -3
- package/dist/backup/index.d.ts.map +0 -1
- package/dist/backup/index.js +0 -3
- package/dist/backup/index.js.map +0 -1
- package/dist/backup/io.d.ts +0 -15
- package/dist/backup/io.d.ts.map +0 -1
- package/dist/backup/io.js +0 -67
- package/dist/backup/io.js.map +0 -1
- package/dist/backup/types.d.ts +0 -25
- package/dist/backup/types.d.ts.map +0 -1
- package/dist/backup/types.js +0 -2
- package/dist/backup/types.js.map +0 -1
- package/dist/cli/builders/profile-builder.d.ts +0 -45
- package/dist/cli/builders/profile-builder.d.ts.map +0 -1
- package/dist/cli/builders/profile-builder.js +0 -308
- package/dist/cli/builders/profile-builder.js.map +0 -1
- package/dist/cli/bulk-scan-state.d.ts +0 -15
- package/dist/cli/bulk-scan-state.d.ts.map +0 -1
- package/dist/cli/bulk-scan-state.js +0 -20
- package/dist/cli/bulk-scan-state.js.map +0 -1
- package/dist/cli/commands/audit.d.ts +0 -4
- package/dist/cli/commands/audit.d.ts.map +0 -1
- package/dist/cli/commands/audit.js +0 -113
- package/dist/cli/commands/audit.js.map +0 -1
- package/dist/cli/commands/backup.d.ts +0 -10
- package/dist/cli/commands/backup.d.ts.map +0 -1
- package/dist/cli/commands/backup.js +0 -102
- package/dist/cli/commands/backup.js.map +0 -1
- package/dist/cli/commands/dlp/build-body.d.ts +0 -28
- package/dist/cli/commands/dlp/build-body.d.ts.map +0 -1
- package/dist/cli/commands/dlp/build-body.js +0 -174
- package/dist/cli/commands/dlp/build-body.js.map +0 -1
- package/dist/cli/commands/dlp/dictionaries.d.ts +0 -3
- package/dist/cli/commands/dlp/dictionaries.d.ts.map +0 -1
- package/dist/cli/commands/dlp/dictionaries.js +0 -167
- package/dist/cli/commands/dlp/dictionaries.js.map +0 -1
- package/dist/cli/commands/dlp/filtering-profiles.d.ts +0 -3
- package/dist/cli/commands/dlp/filtering-profiles.d.ts.map +0 -1
- package/dist/cli/commands/dlp/filtering-profiles.js +0 -82
- package/dist/cli/commands/dlp/filtering-profiles.js.map +0 -1
- package/dist/cli/commands/dlp/generate.d.ts +0 -3
- package/dist/cli/commands/dlp/generate.d.ts.map +0 -1
- package/dist/cli/commands/dlp/generate.js +0 -51
- package/dist/cli/commands/dlp/generate.js.map +0 -1
- package/dist/cli/commands/dlp/index.d.ts +0 -3
- package/dist/cli/commands/dlp/index.d.ts.map +0 -1
- package/dist/cli/commands/dlp/index.js +0 -16
- package/dist/cli/commands/dlp/index.js.map +0 -1
- package/dist/cli/commands/dlp/patch.d.ts +0 -15
- package/dist/cli/commands/dlp/patch.d.ts.map +0 -1
- package/dist/cli/commands/dlp/patch.js +0 -70
- package/dist/cli/commands/dlp/patch.js.map +0 -1
- package/dist/cli/commands/dlp/patterns.d.ts +0 -3
- package/dist/cli/commands/dlp/patterns.d.ts.map +0 -1
- package/dist/cli/commands/dlp/patterns.js +0 -127
- package/dist/cli/commands/dlp/patterns.js.map +0 -1
- package/dist/cli/commands/dlp/profiles.d.ts +0 -3
- package/dist/cli/commands/dlp/profiles.d.ts.map +0 -1
- package/dist/cli/commands/dlp/profiles.js +0 -126
- package/dist/cli/commands/dlp/profiles.js.map +0 -1
- package/dist/cli/commands/modelsecurity.d.ts +0 -4
- package/dist/cli/commands/modelsecurity.d.ts.map +0 -1
- package/dist/cli/commands/modelsecurity.js +0 -605
- package/dist/cli/commands/modelsecurity.js.map +0 -1
- package/dist/cli/commands/profiles-cleanup.d.ts +0 -26
- package/dist/cli/commands/profiles-cleanup.d.ts.map +0 -1
- package/dist/cli/commands/profiles-cleanup.js +0 -113
- package/dist/cli/commands/profiles-cleanup.js.map +0 -1
- package/dist/cli/commands/redteam.d.ts +0 -12
- package/dist/cli/commands/redteam.d.ts.map +0 -1
- package/dist/cli/commands/redteam.js +0 -1071
- package/dist/cli/commands/redteam.js.map +0 -1
- package/dist/cli/commands/restore.d.ts +0 -11
- package/dist/cli/commands/restore.d.ts.map +0 -1
- package/dist/cli/commands/restore.js +0 -109
- package/dist/cli/commands/restore.js.map +0 -1
- package/dist/cli/commands/runtime.d.ts +0 -6
- package/dist/cli/commands/runtime.d.ts.map +0 -1
- package/dist/cli/commands/runtime.js +0 -822
- package/dist/cli/commands/runtime.js.map +0 -1
- package/dist/cli/commands/topics-apply.d.ts +0 -16
- package/dist/cli/commands/topics-apply.d.ts.map +0 -1
- package/dist/cli/commands/topics-apply.js +0 -69
- package/dist/cli/commands/topics-apply.js.map +0 -1
- package/dist/cli/commands/topics-create.d.ts +0 -16
- package/dist/cli/commands/topics-create.d.ts.map +0 -1
- package/dist/cli/commands/topics-create.js +0 -71
- package/dist/cli/commands/topics-create.js.map +0 -1
- package/dist/cli/commands/topics-eval.d.ts +0 -7
- package/dist/cli/commands/topics-eval.d.ts.map +0 -1
- package/dist/cli/commands/topics-eval.js +0 -65
- package/dist/cli/commands/topics-eval.js.map +0 -1
- package/dist/cli/commands/topics-revert.d.ts +0 -9
- package/dist/cli/commands/topics-revert.d.ts.map +0 -1
- package/dist/cli/commands/topics-revert.js +0 -52
- package/dist/cli/commands/topics-revert.js.map +0 -1
- package/dist/cli/commands/topics-sample.d.ts +0 -4
- package/dist/cli/commands/topics-sample.d.ts.map +0 -1
- package/dist/cli/commands/topics-sample.js +0 -27
- package/dist/cli/commands/topics-sample.js.map +0 -1
- package/dist/cli/debug-logger.d.ts +0 -11
- package/dist/cli/debug-logger.d.ts.map +0 -1
- package/dist/cli/debug-logger.js +0 -137
- package/dist/cli/debug-logger.js.map +0 -1
- package/dist/cli/index.d.ts +0 -3
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/parse-input.d.ts +0 -9
- package/dist/cli/parse-input.d.ts.map +0 -1
- package/dist/cli/parse-input.js +0 -109
- package/dist/cli/parse-input.js.map +0 -1
- package/dist/cli/program.d.ts +0 -3
- package/dist/cli/program.d.ts.map +0 -1
- package/dist/cli/program.js +0 -32
- package/dist/cli/program.js.map +0 -1
- package/dist/cli/renderer/audit.d.ts +0 -11
- package/dist/cli/renderer/audit.d.ts.map +0 -1
- package/dist/cli/renderer/audit.js +0 -58
- package/dist/cli/renderer/audit.js.map +0 -1
- package/dist/cli/renderer/backup.d.ts +0 -8
- package/dist/cli/renderer/backup.d.ts.map +0 -1
- package/dist/cli/renderer/backup.js +0 -50
- package/dist/cli/renderer/backup.js.map +0 -1
- package/dist/cli/renderer/common.d.ts +0 -14
- package/dist/cli/renderer/common.d.ts.map +0 -1
- package/dist/cli/renderer/common.js +0 -50
- package/dist/cli/renderer/common.js.map +0 -1
- package/dist/cli/renderer/dlp.d.ts +0 -34
- package/dist/cli/renderer/dlp.d.ts.map +0 -1
- package/dist/cli/renderer/dlp.js +0 -348
- package/dist/cli/renderer/dlp.js.map +0 -1
- package/dist/cli/renderer/eval.d.ts +0 -30
- package/dist/cli/renderer/eval.d.ts.map +0 -1
- package/dist/cli/renderer/eval.js +0 -61
- package/dist/cli/renderer/eval.js.map +0 -1
- package/dist/cli/renderer/index.d.ts +0 -9
- package/dist/cli/renderer/index.d.ts.map +0 -1
- package/dist/cli/renderer/index.js +0 -9
- package/dist/cli/renderer/index.js.map +0 -1
- package/dist/cli/renderer/modelsecurity.d.ts +0 -35
- package/dist/cli/renderer/modelsecurity.d.ts.map +0 -1
- package/dist/cli/renderer/modelsecurity.js +0 -339
- package/dist/cli/renderer/modelsecurity.js.map +0 -1
- package/dist/cli/renderer/redteam.d.ts +0 -216
- package/dist/cli/renderer/redteam.d.ts.map +0 -1
- package/dist/cli/renderer/redteam.js +0 -471
- package/dist/cli/renderer/redteam.js.map +0 -1
- package/dist/cli/renderer/runtime.d.ts +0 -107
- package/dist/cli/renderer/runtime.d.ts.map +0 -1
- package/dist/cli/renderer/runtime.js +0 -359
- package/dist/cli/renderer/runtime.js.map +0 -1
- package/dist/config/loader.d.ts +0 -3
- package/dist/config/loader.d.ts.map +0 -1
- package/dist/config/loader.js +0 -59
- package/dist/config/loader.js.map +0 -1
- package/dist/config/schema.d.ts +0 -63
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/config/schema.js +0 -38
- package/dist/config/schema.js.map +0 -1
- package/dist/core/constraints.d.ts +0 -19
- package/dist/core/constraints.d.ts.map +0 -1
- package/dist/core/constraints.js +0 -82
- package/dist/core/constraints.js.map +0 -1
- package/dist/core/metrics.d.ts +0 -13
- package/dist/core/metrics.d.ts.map +0 -1
- package/dist/core/metrics.js +0 -73
- package/dist/core/metrics.js.map +0 -1
- package/dist/core/prompt-loader.d.ts +0 -14
- package/dist/core/prompt-loader.d.ts.map +0 -1
- package/dist/core/prompt-loader.js +0 -122
- package/dist/core/prompt-loader.js.map +0 -1
- package/dist/core/types.d.ts +0 -96
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -5
- package/dist/core/types.js.map +0 -1
- package/dist/dlp/embed/docx.d.ts +0 -3
- package/dist/dlp/embed/docx.d.ts.map +0 -1
- package/dist/dlp/embed/docx.js +0 -54
- package/dist/dlp/embed/docx.js.map +0 -1
- package/dist/dlp/embed/index.d.ts +0 -6
- package/dist/dlp/embed/index.d.ts.map +0 -1
- package/dist/dlp/embed/index.js +0 -20
- package/dist/dlp/embed/index.js.map +0 -1
- package/dist/dlp/embed/jpeg.d.ts +0 -5
- package/dist/dlp/embed/jpeg.d.ts.map +0 -1
- package/dist/dlp/embed/jpeg.js +0 -60
- package/dist/dlp/embed/jpeg.js.map +0 -1
- package/dist/dlp/embed/pdf.d.ts +0 -7
- package/dist/dlp/embed/pdf.d.ts.map +0 -1
- package/dist/dlp/embed/pdf.js +0 -92
- package/dist/dlp/embed/pdf.js.map +0 -1
- package/dist/dlp/embed/png-chunks.d.ts +0 -12
- package/dist/dlp/embed/png-chunks.d.ts.map +0 -1
- package/dist/dlp/embed/png-chunks.js +0 -85
- package/dist/dlp/embed/png-chunks.js.map +0 -1
- package/dist/dlp/embed/png.d.ts +0 -5
- package/dist/dlp/embed/png.d.ts.map +0 -1
- package/dist/dlp/embed/png.js +0 -68
- package/dist/dlp/embed/png.js.map +0 -1
- package/dist/dlp/embed/svg.d.ts +0 -3
- package/dist/dlp/embed/svg.d.ts.map +0 -1
- package/dist/dlp/embed/svg.js +0 -28
- package/dist/dlp/embed/svg.js.map +0 -1
- package/dist/dlp/embed/zip.d.ts +0 -3
- package/dist/dlp/embed/zip.d.ts.map +0 -1
- package/dist/dlp/embed/zip.js +0 -25
- package/dist/dlp/embed/zip.js.map +0 -1
- package/dist/dlp/generate/docx.d.ts +0 -3
- package/dist/dlp/generate/docx.d.ts.map +0 -1
- package/dist/dlp/generate/docx.js +0 -24
- package/dist/dlp/generate/docx.js.map +0 -1
- package/dist/dlp/generate/index.d.ts +0 -5
- package/dist/dlp/generate/index.d.ts.map +0 -1
- package/dist/dlp/generate/index.js +0 -21
- package/dist/dlp/generate/index.js.map +0 -1
- package/dist/dlp/generate/jpeg.d.ts +0 -3
- package/dist/dlp/generate/jpeg.d.ts.map +0 -1
- package/dist/dlp/generate/jpeg.js +0 -8
- package/dist/dlp/generate/jpeg.js.map +0 -1
- package/dist/dlp/generate/pdf.d.ts +0 -3
- package/dist/dlp/generate/pdf.d.ts.map +0 -1
- package/dist/dlp/generate/pdf.js +0 -19
- package/dist/dlp/generate/pdf.js.map +0 -1
- package/dist/dlp/generate/png.d.ts +0 -3
- package/dist/dlp/generate/png.d.ts.map +0 -1
- package/dist/dlp/generate/png.js +0 -8
- package/dist/dlp/generate/png.js.map +0 -1
- package/dist/dlp/generate/raster.d.ts +0 -9
- package/dist/dlp/generate/raster.d.ts.map +0 -1
- package/dist/dlp/generate/raster.js +0 -20
- package/dist/dlp/generate/raster.js.map +0 -1
- package/dist/dlp/generate/svg.d.ts +0 -3
- package/dist/dlp/generate/svg.d.ts.map +0 -1
- package/dist/dlp/generate/svg.js +0 -17
- package/dist/dlp/generate/svg.js.map +0 -1
- package/dist/dlp/index.d.ts +0 -15
- package/dist/dlp/index.d.ts.map +0 -1
- package/dist/dlp/index.js +0 -54
- package/dist/dlp/index.js.map +0 -1
- package/dist/dlp/lorem.d.ts +0 -3
- package/dist/dlp/lorem.d.ts.map +0 -1
- package/dist/dlp/lorem.js +0 -65
- package/dist/dlp/lorem.js.map +0 -1
- package/dist/dlp/manifest.d.ts +0 -11
- package/dist/dlp/manifest.d.ts.map +0 -1
- package/dist/dlp/manifest.js +0 -14
- package/dist/dlp/manifest.js.map +0 -1
- package/dist/dlp/payload.d.ts +0 -6
- package/dist/dlp/payload.d.ts.map +0 -1
- package/dist/dlp/payload.js +0 -62
- package/dist/dlp/payload.js.map +0 -1
- package/dist/dlp/rng.d.ts +0 -9
- package/dist/dlp/rng.d.ts.map +0 -1
- package/dist/dlp/rng.js +0 -28
- package/dist/dlp/rng.js.map +0 -1
- package/dist/dlp/types.d.ts +0 -26
- package/dist/dlp/types.d.ts.map +0 -1
- package/dist/dlp/types.js +0 -2
- package/dist/dlp/types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/llm/prompts/analyze-results.d.ts +0 -3
- package/dist/llm/prompts/analyze-results.d.ts.map +0 -1
- package/dist/llm/prompts/analyze-results.js +0 -52
- package/dist/llm/prompts/analyze-results.js.map +0 -1
- package/dist/llm/prompts/generate-companion.d.ts +0 -3
- package/dist/llm/prompts/generate-companion.d.ts.map +0 -1
- package/dist/llm/prompts/generate-companion.js +0 -42
- package/dist/llm/prompts/generate-companion.js.map +0 -1
- package/dist/llm/prompts/generate-tests.d.ts +0 -3
- package/dist/llm/prompts/generate-tests.d.ts.map +0 -1
- package/dist/llm/prompts/generate-tests.js +0 -46
- package/dist/llm/prompts/generate-tests.js.map +0 -1
- package/dist/llm/prompts/generate-topic.d.ts +0 -4
- package/dist/llm/prompts/generate-topic.d.ts.map +0 -1
- package/dist/llm/prompts/generate-topic.js +0 -41
- package/dist/llm/prompts/generate-topic.js.map +0 -1
- package/dist/llm/prompts/improve-topic.d.ts +0 -3
- package/dist/llm/prompts/improve-topic.d.ts.map +0 -1
- package/dist/llm/prompts/improve-topic.js +0 -77
- package/dist/llm/prompts/improve-topic.js.map +0 -1
- package/dist/llm/prompts/simplify-topic.d.ts +0 -3
- package/dist/llm/prompts/simplify-topic.d.ts.map +0 -1
- package/dist/llm/prompts/simplify-topic.js +0 -50
- package/dist/llm/prompts/simplify-topic.js.map +0 -1
- package/dist/llm/provider.d.ts +0 -21
- package/dist/llm/provider.d.ts.map +0 -1
- package/dist/llm/provider.js +0 -76
- package/dist/llm/provider.js.map +0 -1
- package/dist/llm/schemas.d.ts +0 -97
- package/dist/llm/schemas.d.ts.map +0 -1
- package/dist/llm/schemas.js +0 -24
- package/dist/llm/schemas.js.map +0 -1
- package/dist/llm/service.d.ts +0 -34
- package/dist/llm/service.d.ts.map +0 -1
- package/dist/llm/service.js +0 -268
- package/dist/llm/service.js.map +0 -1
- package/dist/llm/types.d.ts +0 -18
- package/dist/llm/types.d.ts.map +0 -1
- package/dist/llm/types.js +0 -2
- package/dist/llm/types.js.map +0 -1
- package/dist/report/html.d.ts +0 -6
- package/dist/report/html.d.ts.map +0 -1
- package/dist/report/html.js +0 -200
- package/dist/report/html.js.map +0 -1
- package/dist/report/json.d.ts +0 -11
- package/dist/report/json.d.ts.map +0 -1
- package/dist/report/json.js +0 -74
- package/dist/report/json.js.map +0 -1
- package/dist/report/types.d.ts +0 -58
- package/dist/report/types.d.ts.map +0 -1
- package/dist/report/types.js +0 -5
- package/dist/report/types.js.map +0 -1
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { ChatPromptTemplate } from '@langchain/core/prompts';
|
|
2
|
-
export const improveTopicPrompt = ChatPromptTemplate.fromMessages([
|
|
3
|
-
[
|
|
4
|
-
'system',
|
|
5
|
-
`You are an expert at refining Prisma AIRS custom topic guardrails. Based on test results and analysis, improve the topic definition to reduce false positives and false negatives.
|
|
6
|
-
|
|
7
|
-
Constraints (MUST be respected):
|
|
8
|
-
- Name: KEEP THE EXACT SAME NAME as the current definition. Do NOT rename.
|
|
9
|
-
- Description: max 250 characters
|
|
10
|
-
- Examples: 2-5 examples, each max 250 characters. You may vary the count between 2-5 to find optimal efficacy.
|
|
11
|
-
- Combined total (name + description + all examples): max 1000 characters
|
|
12
|
-
|
|
13
|
-
CRITICAL PLATFORM CONSTRAINT:
|
|
14
|
-
- The matching engine uses semantic similarity, NOT logical constraint evaluation.
|
|
15
|
-
- Exclusion clauses ("not X", "no Y", "excludes Z") are IGNORED by the platform and often INCREASE false positives by adding semantic overlap with the excluded domain.
|
|
16
|
-
- Negation language does not work. "Not meal plans" makes the system MORE likely to match meal plans.
|
|
17
|
-
- SHORTER descriptions (under 100 chars) consistently outperform longer ones with exclusions.
|
|
18
|
-
- NEVER add exclusion clauses to the description.
|
|
19
|
-
- Instead of listing what the topic is NOT, make the positive definition more precise.
|
|
20
|
-
- If the current description has exclusion clauses and TNR is poor, try REMOVING them entirely.
|
|
21
|
-
|
|
22
|
-
Focus on improving the description and examples:
|
|
23
|
-
- The description carries the most weight in AIRS topic matching. Invest in making it precise.
|
|
24
|
-
- Making the description more precise to reduce false positives
|
|
25
|
-
- Adding examples that cover missed patterns (false negatives)
|
|
26
|
-
- Removing or replacing examples that cause over-matching
|
|
27
|
-
- Using clear, unambiguous language
|
|
28
|
-
- Consider REDUCING example count if examples are broadening matching unpredictably and causing false positives
|
|
29
|
-
|
|
30
|
-
Example count strategy:
|
|
31
|
-
- If current FP rate is high, try FEWER examples — examples can broaden matching beyond what the description intends
|
|
32
|
-
- If current FN rate is high, try adding targeted examples for the specific missed patterns
|
|
33
|
-
- 2 focused examples with a precise description often outperform 5 vague examples
|
|
34
|
-
- Vary the example count between iterations to find the optimal configuration
|
|
35
|
-
|
|
36
|
-
Intent: {intent}
|
|
37
|
-
|
|
38
|
-
Refinement strategy:
|
|
39
|
-
- "block" (blacklist): Widen coverage to catch more violating content. Broaden examples for missed patterns. A missed threat (FN) is worse than an over-trigger (FP).
|
|
40
|
-
- "allow" (whitelist): Tighten precision so only truly matching content passes. Sharpen description to reduce false positives. A wrongly blocked conversation (FP) is worse than a miss (FN). Consider using 2 focused examples and relying on a highly precise description.
|
|
41
|
-
{memorySection}`,
|
|
42
|
-
],
|
|
43
|
-
[
|
|
44
|
-
'human',
|
|
45
|
-
`Improve this guardrail definition based on the analysis:
|
|
46
|
-
|
|
47
|
-
Current Definition:
|
|
48
|
-
- Name: {currentName}
|
|
49
|
-
- Description: {currentDescription}
|
|
50
|
-
- Examples ({exampleCount}): {currentExamples}
|
|
51
|
-
- Intent: {intent}
|
|
52
|
-
|
|
53
|
-
Performance (iteration {iteration}):
|
|
54
|
-
- Coverage: {coverage} (target: {targetCoverage})
|
|
55
|
-
- TPR: {tpr}, TNR: {tnr}
|
|
56
|
-
- Accuracy: {accuracy}
|
|
57
|
-
|
|
58
|
-
Best so far: {bestCoverage} coverage at iteration {bestIteration}
|
|
59
|
-
{bestTopicSection}
|
|
60
|
-
|
|
61
|
-
Analysis Summary: {analysisSummary}
|
|
62
|
-
|
|
63
|
-
False Positive Patterns: {fpPatterns}
|
|
64
|
-
False Negative Patterns: {fnPatterns}
|
|
65
|
-
|
|
66
|
-
Specific False Positives:
|
|
67
|
-
{specificFPs}
|
|
68
|
-
|
|
69
|
-
Specific False Negatives:
|
|
70
|
-
{specificFNs}
|
|
71
|
-
|
|
72
|
-
Suggestions from analysis: {suggestions}
|
|
73
|
-
|
|
74
|
-
Generate an improved topic definition that addresses these issues while staying within constraints.`,
|
|
75
|
-
],
|
|
76
|
-
]);
|
|
77
|
-
//# sourceMappingURL=improve-topic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"improve-topic.js","sourceRoot":"","sources":["../../../src/llm/prompts/improve-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;IAChE;QACE,QAAQ;QACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAoCY;KACb;IACD;QACE,OAAO;QACP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oGA6BgG;KACjG;CACF,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplify-topic.d.ts","sourceRoot":"","sources":["../../../src/llm/prompts/simplify-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,mBAAmB,8BA+C9B,CAAC"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { ChatPromptTemplate } from '@langchain/core/prompts';
|
|
2
|
-
export const simplifyTopicPrompt = ChatPromptTemplate.fromMessages([
|
|
3
|
-
[
|
|
4
|
-
'system',
|
|
5
|
-
`You are an expert at simplifying Prisma AIRS custom topic guardrails. Your output should be the best-performing definition with at most minor wording adjustments. Do NOT add qualifiers, specificity, or new constraints.
|
|
6
|
-
|
|
7
|
-
Constraints (MUST be respected):
|
|
8
|
-
- Name: KEEP THE EXACT SAME NAME as the current definition. Do NOT rename.
|
|
9
|
-
- Description: max 250 characters. Aim for UNDER 80 characters.
|
|
10
|
-
- Examples: 2-3 examples, each max 250 characters
|
|
11
|
-
- Combined total (name + description + all examples): max 1000 characters
|
|
12
|
-
|
|
13
|
-
CRITICAL RULES:
|
|
14
|
-
- Start from the best-performing definition. Make minimal changes.
|
|
15
|
-
- Do NOT add words like "single", "specific", "one", "only", "sole", "step-by-step"
|
|
16
|
-
- Do NOT add exclusion clauses ("not X", "excludes Y") — they INCREASE false positives
|
|
17
|
-
- SHORTER is ALWAYS better on this platform. Every word you add risks degrading performance.
|
|
18
|
-
- If the best-performing definition already works, return it nearly unchanged.
|
|
19
|
-
|
|
20
|
-
GOOD vs BAD simplification:
|
|
21
|
-
- GOOD: "Cooking recipes for specific dishes" (short, broad, 40 chars)
|
|
22
|
-
- BAD: "A single cooking recipe for one specific dish with step-by-step instructions" (long, over-qualified, 76 chars)
|
|
23
|
-
- GOOD: "Financial investment advice and strategies" (42 chars)
|
|
24
|
-
- BAD: "Requests for personalized financial investment advice specifically about stock market strategies excluding general banking" (120 chars)
|
|
25
|
-
|
|
26
|
-
Intent: {intent}
|
|
27
|
-
- "block": Keep broad enough to catch violations. Remove noise causing false positives.
|
|
28
|
-
- "allow": Keep precise. No semantic bleed into adjacent domains.
|
|
29
|
-
{memorySection}`,
|
|
30
|
-
],
|
|
31
|
-
[
|
|
32
|
-
'human',
|
|
33
|
-
`Coverage is regressing due to over-refinement. Return to the simpler definition that worked.
|
|
34
|
-
|
|
35
|
-
Best-Performing Definition (achieved {bestCoverage} coverage — START HERE):
|
|
36
|
-
- Description: {bestDescription}
|
|
37
|
-
- Examples: {bestExamples}
|
|
38
|
-
|
|
39
|
-
Current Definition (over-refined, only {coverage} coverage):
|
|
40
|
-
- Name: {currentName}
|
|
41
|
-
- Description: {currentDescription}
|
|
42
|
-
- Examples: {currentExamples}
|
|
43
|
-
|
|
44
|
-
Current Performance:
|
|
45
|
-
- TPR: {tpr}, TNR: {tnr}
|
|
46
|
-
|
|
47
|
-
Return the best-performing definition with at most minor wording tweaks. Do NOT add specificity or qualifiers. Fewer words = better performance.`,
|
|
48
|
-
],
|
|
49
|
-
]);
|
|
50
|
-
//# sourceMappingURL=simplify-topic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simplify-topic.js","sourceRoot":"","sources":["../../../src/llm/prompts/simplify-topic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC,YAAY,CAAC;IACjE;QACE,QAAQ;QACR;;;;;;;;;;;;;;;;;;;;;;;;gBAwBY;KACb;IACD;QACE,OAAO;QACP;;;;;;;;;;;;;;iJAc6I;KAC9I;CACF,CAAC,CAAC"}
|
package/dist/llm/provider.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
2
|
-
import type { LlmProvider } from '../config/schema.js';
|
|
3
|
-
/** Configuration for creating an LLM provider instance. */
|
|
4
|
-
export interface LlmProviderConfig {
|
|
5
|
-
provider: LlmProvider;
|
|
6
|
-
model?: string;
|
|
7
|
-
anthropicApiKey?: string;
|
|
8
|
-
googleApiKey?: string;
|
|
9
|
-
googleCloudProject?: string;
|
|
10
|
-
googleCloudLocation?: string;
|
|
11
|
-
awsRegion?: string;
|
|
12
|
-
awsAccessKeyId?: string;
|
|
13
|
-
awsSecretAccessKey?: string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Factory that creates a LangChain chat model for the configured provider.
|
|
17
|
-
* @param config - Provider type, model name, and auth credentials.
|
|
18
|
-
* @returns A configured LangChain BaseChatModel instance.
|
|
19
|
-
*/
|
|
20
|
-
export declare function createLlmProvider(config: LlmProviderConfig): Promise<BaseChatModel>;
|
|
21
|
-
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAGjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAWD;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgEzF"}
|
package/dist/llm/provider.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ChatAnthropic } from '@langchain/anthropic';
|
|
2
|
-
import { ChatBedrockConverse } from '@langchain/aws';
|
|
3
|
-
import { ChatGoogleGenerativeAI } from '@langchain/google-genai';
|
|
4
|
-
import { ChatVertexAI } from '@langchain/google-vertexai';
|
|
5
|
-
const DEFAULT_MODELS = {
|
|
6
|
-
'claude-api': 'claude-opus-4-6',
|
|
7
|
-
'claude-vertex': 'claude-opus-4-6',
|
|
8
|
-
'claude-bedrock': 'anthropic.claude-opus-4-6-v1',
|
|
9
|
-
'gemini-api': 'gemini-2.5-pro',
|
|
10
|
-
'gemini-vertex': 'gemini-2.5-pro',
|
|
11
|
-
'gemini-bedrock': 'gemini-2.5-pro',
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Factory that creates a LangChain chat model for the configured provider.
|
|
15
|
-
* @param config - Provider type, model name, and auth credentials.
|
|
16
|
-
* @returns A configured LangChain BaseChatModel instance.
|
|
17
|
-
*/
|
|
18
|
-
export async function createLlmProvider(config) {
|
|
19
|
-
const modelName = config.model ?? DEFAULT_MODELS[config.provider];
|
|
20
|
-
switch (config.provider) {
|
|
21
|
-
case 'claude-api':
|
|
22
|
-
return new ChatAnthropic({
|
|
23
|
-
model: modelName,
|
|
24
|
-
anthropicApiKey: config.anthropicApiKey,
|
|
25
|
-
temperature: 0,
|
|
26
|
-
});
|
|
27
|
-
case 'claude-vertex': {
|
|
28
|
-
const { AnthropicVertex } = await import('@anthropic-ai/vertex-sdk');
|
|
29
|
-
const client = new AnthropicVertex({
|
|
30
|
-
projectId: config.googleCloudProject,
|
|
31
|
-
region: config.googleCloudLocation ?? 'global',
|
|
32
|
-
});
|
|
33
|
-
return new ChatAnthropic({
|
|
34
|
-
model: modelName,
|
|
35
|
-
temperature: 0,
|
|
36
|
-
createClient: () => client,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
case 'claude-bedrock': {
|
|
40
|
-
const opts = {
|
|
41
|
-
model: modelName,
|
|
42
|
-
region: config.awsRegion ?? 'us-east-1',
|
|
43
|
-
temperature: 0,
|
|
44
|
-
};
|
|
45
|
-
if (config.awsAccessKeyId && config.awsSecretAccessKey) {
|
|
46
|
-
opts.credentials = {
|
|
47
|
-
accessKeyId: config.awsAccessKeyId,
|
|
48
|
-
secretAccessKey: config.awsSecretAccessKey,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return new ChatBedrockConverse(opts);
|
|
52
|
-
}
|
|
53
|
-
case 'gemini-api':
|
|
54
|
-
return new ChatGoogleGenerativeAI({
|
|
55
|
-
model: modelName,
|
|
56
|
-
apiKey: config.googleApiKey,
|
|
57
|
-
temperature: 0,
|
|
58
|
-
});
|
|
59
|
-
case 'gemini-vertex':
|
|
60
|
-
return new ChatVertexAI({
|
|
61
|
-
model: modelName,
|
|
62
|
-
location: config.googleCloudLocation ?? 'us-central1',
|
|
63
|
-
temperature: 0,
|
|
64
|
-
authOptions: { projectId: config.googleCloudProject },
|
|
65
|
-
});
|
|
66
|
-
case 'gemini-bedrock':
|
|
67
|
-
return new ChatBedrockConverse({
|
|
68
|
-
model: modelName,
|
|
69
|
-
region: config.awsRegion ?? 'us-east-1',
|
|
70
|
-
temperature: 0,
|
|
71
|
-
});
|
|
72
|
-
default:
|
|
73
|
-
throw new Error(`Unknown LLM provider: ${config.provider}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=provider.js.map
|
package/dist/llm/provider.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAgB1D,MAAM,cAAc,GAAgC;IAClD,YAAY,EAAE,iBAAiB;IAC/B,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,8BAA8B;IAChD,YAAY,EAAE,gBAAgB;IAC9B,eAAe,EAAE,gBAAgB;IACjC,gBAAgB,EAAE,gBAAgB;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAyB;IAC/D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAElE,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,KAAK,YAAY;YACf,OAAO,IAAI,aAAa,CAAC;gBACvB,KAAK,EAAE,SAAS;gBAChB,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QAEL,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;gBACjC,SAAS,EAAE,MAAM,CAAC,kBAAkB;gBACpC,MAAM,EAAE,MAAM,CAAC,mBAAmB,IAAI,QAAQ;aAC/C,CAAC,CAAC;YACH,OAAO,IAAI,aAAa,CAAC;gBACvB,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM;aAC3B,CAAC,CAAC;QACL,CAAC;QAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAA4B;gBACpC,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,MAAM,CAAC,SAAS,IAAI,WAAW;gBACvC,WAAW,EAAE,CAAC;aACf,CAAC;YACF,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,kBAAkB,EAAE,CAAC;gBACvD,IAAI,CAAC,WAAW,GAAG;oBACjB,WAAW,EAAE,MAAM,CAAC,cAAc;oBAClC,eAAe,EAAE,MAAM,CAAC,kBAAkB;iBAC3C,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QAED,KAAK,YAAY;YACf,OAAO,IAAI,sBAAsB,CAAC;gBAChC,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,MAAM,CAAC,YAAY;gBAC3B,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QAEL,KAAK,eAAe;YAClB,OAAO,IAAI,YAAY,CAAC;gBACtB,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,MAAM,CAAC,mBAAmB,IAAI,aAAa;gBACrD,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE;aACtD,CAAC,CAAC;QAEL,KAAK,gBAAgB;YACnB,OAAO,IAAI,mBAAmB,CAAC;gBAC7B,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,MAAM,CAAC,SAAS,IAAI,WAAW;gBACvC,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QAEL;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
|
package/dist/llm/schemas.d.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const CustomTopicSchema: z.ZodObject<{
|
|
3
|
-
name: z.ZodString;
|
|
4
|
-
description: z.ZodString;
|
|
5
|
-
examples: z.ZodArray<z.ZodString, "many">;
|
|
6
|
-
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
description: string;
|
|
8
|
-
examples: string[];
|
|
9
|
-
name: string;
|
|
10
|
-
}, {
|
|
11
|
-
description: string;
|
|
12
|
-
examples: string[];
|
|
13
|
-
name: string;
|
|
14
|
-
}>;
|
|
15
|
-
export declare const TestCaseSchema: z.ZodObject<{
|
|
16
|
-
prompt: z.ZodString;
|
|
17
|
-
expectedTriggered: z.ZodBoolean;
|
|
18
|
-
category: z.ZodString;
|
|
19
|
-
}, "strip", z.ZodTypeAny, {
|
|
20
|
-
prompt: string;
|
|
21
|
-
category: string;
|
|
22
|
-
expectedTriggered: boolean;
|
|
23
|
-
}, {
|
|
24
|
-
prompt: string;
|
|
25
|
-
category: string;
|
|
26
|
-
expectedTriggered: boolean;
|
|
27
|
-
}>;
|
|
28
|
-
export declare const TestSuiteSchema: z.ZodObject<{
|
|
29
|
-
positiveTests: z.ZodArray<z.ZodObject<{
|
|
30
|
-
prompt: z.ZodString;
|
|
31
|
-
expectedTriggered: z.ZodBoolean;
|
|
32
|
-
category: z.ZodString;
|
|
33
|
-
}, "strip", z.ZodTypeAny, {
|
|
34
|
-
prompt: string;
|
|
35
|
-
category: string;
|
|
36
|
-
expectedTriggered: boolean;
|
|
37
|
-
}, {
|
|
38
|
-
prompt: string;
|
|
39
|
-
category: string;
|
|
40
|
-
expectedTriggered: boolean;
|
|
41
|
-
}>, "many">;
|
|
42
|
-
negativeTests: z.ZodArray<z.ZodObject<{
|
|
43
|
-
prompt: z.ZodString;
|
|
44
|
-
expectedTriggered: z.ZodBoolean;
|
|
45
|
-
category: z.ZodString;
|
|
46
|
-
}, "strip", z.ZodTypeAny, {
|
|
47
|
-
prompt: string;
|
|
48
|
-
category: string;
|
|
49
|
-
expectedTriggered: boolean;
|
|
50
|
-
}, {
|
|
51
|
-
prompt: string;
|
|
52
|
-
category: string;
|
|
53
|
-
expectedTriggered: boolean;
|
|
54
|
-
}>, "many">;
|
|
55
|
-
}, "strip", z.ZodTypeAny, {
|
|
56
|
-
positiveTests: {
|
|
57
|
-
prompt: string;
|
|
58
|
-
category: string;
|
|
59
|
-
expectedTriggered: boolean;
|
|
60
|
-
}[];
|
|
61
|
-
negativeTests: {
|
|
62
|
-
prompt: string;
|
|
63
|
-
category: string;
|
|
64
|
-
expectedTriggered: boolean;
|
|
65
|
-
}[];
|
|
66
|
-
}, {
|
|
67
|
-
positiveTests: {
|
|
68
|
-
prompt: string;
|
|
69
|
-
category: string;
|
|
70
|
-
expectedTriggered: boolean;
|
|
71
|
-
}[];
|
|
72
|
-
negativeTests: {
|
|
73
|
-
prompt: string;
|
|
74
|
-
category: string;
|
|
75
|
-
expectedTriggered: boolean;
|
|
76
|
-
}[];
|
|
77
|
-
}>;
|
|
78
|
-
export declare const AnalysisReportSchema: z.ZodObject<{
|
|
79
|
-
summary: z.ZodString;
|
|
80
|
-
falsePositivePatterns: z.ZodArray<z.ZodString, "many">;
|
|
81
|
-
falseNegativePatterns: z.ZodArray<z.ZodString, "many">;
|
|
82
|
-
suggestions: z.ZodArray<z.ZodString, "many">;
|
|
83
|
-
}, "strip", z.ZodTypeAny, {
|
|
84
|
-
summary: string;
|
|
85
|
-
falsePositivePatterns: string[];
|
|
86
|
-
falseNegativePatterns: string[];
|
|
87
|
-
suggestions: string[];
|
|
88
|
-
}, {
|
|
89
|
-
summary: string;
|
|
90
|
-
falsePositivePatterns: string[];
|
|
91
|
-
falseNegativePatterns: string[];
|
|
92
|
-
suggestions: string[];
|
|
93
|
-
}>;
|
|
94
|
-
export type CustomTopicOutput = z.infer<typeof CustomTopicSchema>;
|
|
95
|
-
export type TestSuiteOutput = z.infer<typeof TestSuiteSchema>;
|
|
96
|
-
export type AnalysisReportOutput = z.infer<typeof AnalysisReportSchema>;
|
|
97
|
-
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/llm/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAM5B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;EAIzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG1B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAC9D,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/dist/llm/schemas.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export const CustomTopicSchema = z.object({
|
|
3
|
-
name: z.string().min(1),
|
|
4
|
-
description: z.string().min(1),
|
|
5
|
-
// min(2) at LLM layer: ensures meaningful test coverage. AIRS allows fewer,
|
|
6
|
-
// but the LLM should always produce at least 2 examples for effective scanning.
|
|
7
|
-
examples: z.array(z.string().min(1)).min(2).max(5),
|
|
8
|
-
});
|
|
9
|
-
export const TestCaseSchema = z.object({
|
|
10
|
-
prompt: z.string().min(1),
|
|
11
|
-
expectedTriggered: z.boolean(),
|
|
12
|
-
category: z.string().min(1),
|
|
13
|
-
});
|
|
14
|
-
export const TestSuiteSchema = z.object({
|
|
15
|
-
positiveTests: z.array(TestCaseSchema).min(1),
|
|
16
|
-
negativeTests: z.array(TestCaseSchema).min(1),
|
|
17
|
-
});
|
|
18
|
-
export const AnalysisReportSchema = z.object({
|
|
19
|
-
summary: z.string().min(1),
|
|
20
|
-
falsePositivePatterns: z.array(z.string()),
|
|
21
|
-
falseNegativePatterns: z.array(z.string()),
|
|
22
|
-
suggestions: z.array(z.string()).min(1),
|
|
23
|
-
});
|
|
24
|
-
//# sourceMappingURL=schemas.js.map
|
package/dist/llm/schemas.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/llm/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,4EAA4E;IAC5E,gFAAgF;IAChF,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7C,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,qBAAqB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACxC,CAAC,CAAC"}
|
package/dist/llm/service.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
2
|
-
import type { AnalysisReport, CategoryBreakdown, CustomTopic, EfficacyMetrics, TestCase, TestResult } from '../core/types.js';
|
|
3
|
-
import type { LlmService } from './types.js';
|
|
4
|
-
/**
|
|
5
|
-
* LLM service implementation using LangChain structured output.
|
|
6
|
-
* Handles topic generation, test creation, result analysis, and topic improvement
|
|
7
|
-
* with automatic retry and AIRS constraint clamping.
|
|
8
|
-
*/
|
|
9
|
-
/** Minimal contract for memory injection (memory system was removed; kept for API compat). */
|
|
10
|
-
interface MemoryInjector {
|
|
11
|
-
buildMemorySection(topicDescription: string): Promise<string>;
|
|
12
|
-
}
|
|
13
|
-
export declare class LangChainLlmService implements LlmService {
|
|
14
|
-
private model;
|
|
15
|
-
private memoryInjector?;
|
|
16
|
-
private memorySection;
|
|
17
|
-
constructor(model: BaseChatModel, memoryInjector?: MemoryInjector | undefined);
|
|
18
|
-
loadMemory(topicDescription: string): Promise<number>;
|
|
19
|
-
generateTopic(description: string, intent: string, seeds?: string[]): Promise<CustomTopic>;
|
|
20
|
-
generateCompanionTopic(blockTopicName: string, blockDescription: string): Promise<CustomTopic>;
|
|
21
|
-
generateTests(topic: CustomTopic, intent: string, categoryBreakdown?: CategoryBreakdown[]): Promise<{
|
|
22
|
-
positiveTests: TestCase[];
|
|
23
|
-
negativeTests: TestCase[];
|
|
24
|
-
}>;
|
|
25
|
-
analyzeResults(topic: CustomTopic, results: TestResult[], metrics: EfficacyMetrics, intent: string): Promise<AnalysisReport>;
|
|
26
|
-
improveTopic(topic: CustomTopic, metrics: EfficacyMetrics, analysis: AnalysisReport, results: TestResult[], iteration: number, targetCoverage: number, intent: string, bestContext?: {
|
|
27
|
-
bestCoverage: number;
|
|
28
|
-
bestIteration: number;
|
|
29
|
-
bestTopic?: CustomTopic;
|
|
30
|
-
}): Promise<CustomTopic>;
|
|
31
|
-
simplifyTopic(currentTopic: CustomTopic, bestTopic: CustomTopic, metrics: EfficacyMetrics, _analysis: AnalysisReport, intent: string): Promise<CustomTopic>;
|
|
32
|
-
}
|
|
33
|
-
export {};
|
|
34
|
-
//# sourceMappingURL=service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/llm/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAUjF,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,QAAQ,EACR,UAAU,EACX,MAAM,kBAAkB,CAAC;AAe1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmC7C;;;;GAIG;AACH,8FAA8F;AAC9F,UAAU,cAAc;IACtB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/D;AAED,qBAAa,mBAAoB,YAAW,UAAU;IAIlD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,cAAc,CAAC;IAJzB,OAAO,CAAC,aAAa,CAAM;gBAGjB,KAAK,EAAE,aAAa,EACpB,cAAc,CAAC,EAAE,cAAc,YAAA;IAGnC,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOrD,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IA+B1F,sBAAsB,CAC1B,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,WAAW,CAAC;IA6BjB,aAAa,CACjB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,GACtC,OAAO,CAAC;QAAE,aAAa,EAAE,QAAQ,EAAE,CAAC;QAAC,aAAa,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;IAqC9D,cAAc,CAClB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,UAAU,EAAE,EACrB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC;IAwCpB,YAAY,CAChB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,WAAW,CAAA;KAAE,GACrF,OAAO,CAAC,WAAW,CAAC;IAoEjB,aAAa,CACjB,YAAY,EAAE,WAAW,EACzB,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,cAAc,EACzB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,CAAC;CA2CxB"}
|