@lightsage/mcp 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/README.md +2 -2
  2. package/bin/mcp-server.js +198 -81
  3. package/bin/mcp-server.js.map +32 -29
  4. package/esm/funcs/evalsRun.d.ts +3 -3
  5. package/esm/funcs/evalsRun.js +3 -3
  6. package/esm/funcs/evalsV2EvalsCreate.d.ts +1 -1
  7. package/esm/funcs/evalsV2EvalsCreate.js +1 -1
  8. package/esm/funcs/evalsV2EvalsList.d.ts +1 -1
  9. package/esm/funcs/evalsV2EvalsList.js +1 -1
  10. package/esm/funcs/evalsV2EvalsRetrieve.d.ts +1 -1
  11. package/esm/funcs/evalsV2EvalsRetrieve.js +1 -1
  12. package/esm/funcs/evalsV2EvalsUpdate.d.ts +1 -1
  13. package/esm/funcs/evalsV2EvalsUpdate.js +1 -1
  14. package/esm/landing-page.js +1 -1
  15. package/esm/lib/config.d.ts +3 -3
  16. package/esm/lib/config.js +3 -3
  17. package/esm/lib/config.js.map +1 -1
  18. package/esm/mcp-server/mcp-server.js +1 -1
  19. package/esm/mcp-server/server.js +1 -1
  20. package/esm/mcp-server/tools/evalsRun.js +3 -3
  21. package/esm/mcp-server/tools/evalsRun.js.map +1 -1
  22. package/esm/mcp-server/tools/evalsV2EvalsCreate.js +1 -1
  23. package/esm/mcp-server/tools/evalsV2EvalsCreate.js.map +1 -1
  24. package/esm/mcp-server/tools/evalsV2EvalsList.js +1 -1
  25. package/esm/mcp-server/tools/evalsV2EvalsList.js.map +1 -1
  26. package/esm/mcp-server/tools/evalsV2EvalsRetrieve.js +1 -1
  27. package/esm/mcp-server/tools/evalsV2EvalsRetrieve.js.map +1 -1
  28. package/esm/mcp-server/tools/evalsV2EvalsUpdate.js +1 -1
  29. package/esm/mcp-server/tools/evalsV2EvalsUpdate.js.map +1 -1
  30. package/esm/models/createv2evalrequest.d.ts +16 -20
  31. package/esm/models/createv2evalrequest.d.ts.map +1 -1
  32. package/esm/models/createv2evalrequest.js +25 -17
  33. package/esm/models/createv2evalrequest.js.map +1 -1
  34. package/esm/models/createv2evalrunrequest.d.ts +19 -4
  35. package/esm/models/createv2evalrunrequest.d.ts.map +1 -1
  36. package/esm/models/createv2evalrunrequest.js +31 -6
  37. package/esm/models/createv2evalrunrequest.js.map +1 -1
  38. package/esm/models/updatev2evalrequest.d.ts +16 -20
  39. package/esm/models/updatev2evalrequest.d.ts.map +1 -1
  40. package/esm/models/updatev2evalrequest.js +25 -17
  41. package/esm/models/updatev2evalrequest.js.map +1 -1
  42. package/esm/models/v2eval.d.ts +16 -21
  43. package/esm/models/v2eval.d.ts.map +1 -1
  44. package/esm/models/v2eval.js +25 -18
  45. package/esm/models/v2eval.js.map +1 -1
  46. package/esm/models/v2evalresult.d.ts +4 -2
  47. package/esm/models/v2evalresult.d.ts.map +1 -1
  48. package/esm/models/v2evalresult.js +3 -1
  49. package/esm/models/v2evalresult.js.map +1 -1
  50. package/esm/models/v2evalresultsummary.d.ts +4 -1
  51. package/esm/models/v2evalresultsummary.d.ts.map +1 -1
  52. package/esm/models/v2evalresultsummary.js +4 -1
  53. package/esm/models/v2evalresultsummary.js.map +1 -1
  54. package/esm/models/v2evalrun.d.ts +5 -2
  55. package/esm/models/v2evalrun.d.ts.map +1 -1
  56. package/esm/models/v2evalrun.js +5 -2
  57. package/esm/models/v2evalrun.js.map +1 -1
  58. package/esm/models/v2evalrunanalysis.d.ts +3 -1
  59. package/esm/models/v2evalrunanalysis.d.ts.map +1 -1
  60. package/esm/models/v2evalrunanalysis.js +3 -1
  61. package/esm/models/v2evalrunanalysis.js.map +1 -1
  62. package/esm/models/v2evalruntraceevent.d.ts +3 -2
  63. package/esm/models/v2evalruntraceevent.d.ts.map +1 -1
  64. package/esm/models/v2evalruntraceevent.js +3 -2
  65. package/esm/models/v2evalruntraceevent.js.map +1 -1
  66. package/esm/models/v2inlineclireference.d.ts +6 -0
  67. package/esm/models/v2inlineclireference.d.ts.map +1 -0
  68. package/esm/models/v2inlineclireference.js +10 -0
  69. package/esm/models/v2inlineclireference.js.map +1 -0
  70. package/esm/models/v2inlinemcpdefinition.d.ts +28 -0
  71. package/esm/models/v2inlinemcpdefinition.d.ts.map +1 -0
  72. package/esm/models/v2inlinemcpdefinition.js +25 -0
  73. package/esm/models/v2inlinemcpdefinition.js.map +1 -0
  74. package/esm/models/v2savedclireference.d.ts +6 -0
  75. package/esm/models/v2savedclireference.d.ts.map +1 -0
  76. package/esm/models/v2savedclireference.js +10 -0
  77. package/esm/models/v2savedclireference.js.map +1 -0
  78. package/esm/models/v2savedmcpreference.d.ts +6 -0
  79. package/esm/models/v2savedmcpreference.d.ts.map +1 -0
  80. package/esm/models/v2savedmcpreference.js +10 -0
  81. package/esm/models/v2savedmcpreference.js.map +1 -0
  82. package/esm/tool-names.js +5 -5
  83. package/esm/tool-names.js.map +1 -1
  84. package/package.json +1 -1
  85. package/src/funcs/evalsRun.ts +3 -3
  86. package/src/funcs/evalsV2EvalsCreate.ts +1 -1
  87. package/src/funcs/evalsV2EvalsList.ts +1 -1
  88. package/src/funcs/evalsV2EvalsRetrieve.ts +1 -1
  89. package/src/funcs/evalsV2EvalsUpdate.ts +1 -1
  90. package/src/landing-page.ts +1 -1
  91. package/src/lib/config.ts +3 -3
  92. package/src/mcp-server/mcp-server.ts +1 -1
  93. package/src/mcp-server/server.ts +1 -1
  94. package/src/mcp-server/tools/evalsRun.ts +3 -3
  95. package/src/mcp-server/tools/evalsV2EvalsCreate.ts +1 -1
  96. package/src/mcp-server/tools/evalsV2EvalsList.ts +1 -1
  97. package/src/mcp-server/tools/evalsV2EvalsRetrieve.ts +1 -1
  98. package/src/mcp-server/tools/evalsV2EvalsUpdate.ts +1 -1
  99. package/src/models/createv2evalrequest.ts +71 -27
  100. package/src/models/createv2evalrunrequest.ts +85 -13
  101. package/src/models/updatev2evalrequest.ts +60 -28
  102. package/src/models/v2eval.ts +49 -26
  103. package/src/models/v2evalresult.ts +8 -4
  104. package/src/models/v2evalresultsummary.ts +9 -3
  105. package/src/models/v2evalrun.ts +18 -6
  106. package/src/models/v2evalrunanalysis.ts +11 -3
  107. package/src/models/v2evalruntraceevent.ts +6 -4
  108. package/src/models/v2inlineclireference.ts +15 -0
  109. package/src/models/v2inlinemcpdefinition.ts +51 -0
  110. package/src/models/v2savedclireference.ts +13 -0
  111. package/src/models/v2savedmcpreference.ts +13 -0
  112. package/src/tool-names.ts +5 -5
  113. package/test/simulations.test.js +162 -0
  114. package/esm/models/v2evaljudge.d.ts +0 -6
  115. package/esm/models/v2evaljudge.d.ts.map +0 -1
  116. package/esm/models/v2evaljudge.js +0 -9
  117. package/esm/models/v2evaljudge.js.map +0 -1
  118. package/src/models/v2evaljudge.ts +0 -12
package/README.md CHANGED
@@ -33,9 +33,9 @@ Lightsage Public API: Public API for Lightsage CLI and external integrations.
33
33
  <details>
34
34
  <summary>Claude Desktop</summary>
35
35
 
36
- Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.3.0/mcp-server.mcpb) file:
36
+ Install the MCP server as a Desktop Extension using the pre-built [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.3.1/mcp-server.mcpb) file:
37
37
 
38
- Simply drag and drop the [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.3.0/mcp-server.mcpb) file onto Claude Desktop to install the extension.
38
+ Simply drag and drop the [`mcp-server.mcpb`](https://github.com/lightsagehq/mcp/releases/download/v0.3.1/mcp-server.mcpb) file onto Claude Desktop to install the extension.
39
39
 
40
40
  The MCP bundle package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.
41
41
 
package/bin/mcp-server.js CHANGED
@@ -1453,7 +1453,7 @@ var init_versions = __esm(() => {
1453
1453
  version2 = {
1454
1454
  major: 4,
1455
1455
  minor: 6,
1456
- patch: 4
1456
+ patch: 5
1457
1457
  };
1458
1458
  });
1459
1459
 
@@ -52769,9 +52769,9 @@ var init_config = __esm(() => {
52769
52769
  SDK_METADATA = {
52770
52770
  language: "typescript",
52771
52771
  openapiDocVersion: "1.0.0",
52772
- sdkVersion: "0.3.0",
52773
- genVersion: "2.935.1",
52774
- userAgent: "speakeasy-sdk/mcp-typescript 0.3.0 2.935.1 1.0.0 @lightsage/mcp"
52772
+ sdkVersion: "0.3.1",
52773
+ genVersion: "2.937.18",
52774
+ userAgent: "speakeasy-sdk/mcp-typescript 0.3.1 2.937.18 1.0.0 @lightsage/mcp"
52775
52775
  };
52776
52776
  });
52777
52777
 
@@ -54958,13 +54958,16 @@ var V2EvalResultSummary$zodSchema;
54958
54958
  var init_v2evalresultsummary = __esm(() => {
54959
54959
  init_zod();
54960
54960
  V2EvalResultSummary$zodSchema = object({
54961
- agent_id: string2().nullable().optional().describe("Runnable agent ID combining the harness and model."),
54961
+ agent: string2().nullable().optional().describe("Runnable agent combining the harness and model."),
54962
54962
  created_at: string2().nullable().optional(),
54963
54963
  eval_id: string2().nullable().optional(),
54964
54964
  failure_reasons: array(string2()).nullable().optional(),
54965
54965
  id: string2().describe("Result ID, not an eval job ID."),
54966
54966
  latency_ms: int().nullable().optional(),
54967
54967
  passed: boolean2().nullable().optional(),
54968
+ prompt: string2().nullable().optional(),
54969
+ prompt_index: int().default(0),
54970
+ repeat_index: int().default(0),
54968
54971
  score: number2().nullable().optional().describe("Score from 0 to 1.")
54969
54972
  });
54970
54973
  });
@@ -55114,7 +55117,7 @@ var V2EvalResult$zodSchema;
55114
55117
  var init_v2evalresult = __esm(() => {
55115
55118
  init_zod();
55116
55119
  V2EvalResult$zodSchema = object({
55117
- agent_id: string2().nullable().optional().describe("Runnable agent ID combining the harness and model."),
55120
+ agent: string2().nullable().optional().describe("Runnable agent combining the harness and model."),
55118
55121
  created_at: string2().nullable().optional(),
55119
55122
  eval_id: string2().nullable().optional(),
55120
55123
  execution_stderr: string2().nullable().optional(),
@@ -55126,6 +55129,8 @@ var init_v2evalresult = __esm(() => {
55126
55129
  output: string2().nullable().optional(),
55127
55130
  passed: boolean2().nullable().optional(),
55128
55131
  prompt: string2().nullable().optional(),
55132
+ prompt_index: int().default(0),
55133
+ repeat_index: int().default(0),
55129
55134
  score: number2().nullable().optional().describe("Score from 0 to 1."),
55130
55135
  tool_calls: array(record(string2(), any())).nullable().optional()
55131
55136
  });
@@ -55281,8 +55286,8 @@ var init_v2evalrun = __esm(() => {
55281
55286
  init_zod();
55282
55287
  init_publicevalrunprogress();
55283
55288
  V2EvalRun$zodSchema = object({
55284
- agent_id: string2().nullable().optional().describe("Runnable agent ID selected for this run."),
55285
- agent_name: string2().nullable().optional().describe("Display name captured for the selected agent."),
55289
+ agent: array(string2()).optional().describe("Runnable agents selected for this simulation."),
55290
+ attempt_count: int().default(1).describe("Total concrete attempts after all fan-out dimensions."),
55286
55291
  completed_at: string2().nullable().optional(),
55287
55292
  configuration_id: string2().nullable().optional(),
55288
55293
  created_at: string2().nullable().optional(),
@@ -55293,7 +55298,10 @@ var init_v2evalrun = __esm(() => {
55293
55298
  eval_name: string2().nullable().optional().describe("Display name captured for the eval when the run was created."),
55294
55299
  id: string2().describe("Run ID to use when polling eval-run status."),
55295
55300
  job_id: string2().describe("Alias of `id` for the durable parent job."),
55301
+ persona: string2().nullable().optional().describe("Perspective applied to every attempt in this simulation."),
55296
55302
  progress: PublicEvalRunProgress$zodSchema.optional(),
55303
+ prompt_count: int().default(1).describe("Number of prompts included in the simulation."),
55304
+ runs: int().default(1).describe("Independent attempts requested for every prompt-agent pair."),
55297
55305
  stage: string2().nullable().optional(),
55298
55306
  started_at: string2().nullable().optional(),
55299
55307
  status: string2()
@@ -55574,13 +55582,15 @@ var V2EvalRunAnalysis$zodSchema;
55574
55582
  var init_v2evalrunanalysis = __esm(() => {
55575
55583
  init_zod();
55576
55584
  V2EvalRunAnalysis$zodSchema = object({
55577
- agent_id: string2().nullable().optional().describe("Runnable agent ID used for this concrete attempt."),
55585
+ agent: string2().nullable().optional().describe("Runnable agent used for this concrete attempt."),
55578
55586
  analysis: record(string2(), any()).optional().describe("Persisted eval_run_analysis payload, including verdict, outcome, findings, bottleneck, and analysis sections."),
55579
55587
  analysis_version: string2().nullable().optional().describe("Version of the analysis pipeline that produced this payload."),
55580
55588
  attempt_id: string2().describe("Child eval-attempt ID used to correlate the analysis with trace events."),
55581
55589
  created_at: string2().nullable().optional(),
55582
55590
  eval_id: string2().nullable().optional().describe("Public eval definition ID, not the backing executable eval ID."),
55583
55591
  id: string2().describe("Persisted eval analysis ID."),
55592
+ prompt: string2().nullable().optional().describe("Exact task prompt used for this concrete attempt."),
55593
+ prompt_index: int().default(0).describe("Zero-based prompt index within the submitted simulation."),
55584
55594
  repeat_index: int().default(0).describe("Zero-based repeat index within the submitted run."),
55585
55595
  result_id: string2().describe("Concrete eval result ID analyzed for this attempt."),
55586
55596
  updated_at: string2().nullable().optional(),
@@ -55735,20 +55745,92 @@ Returns the persisted analysis produced for each completed attempt in one eval r
55735
55745
  };
55736
55746
  });
55737
55747
 
55748
+ // src/models/v2inlineclireference.ts
55749
+ var V2InlineCliReference$zodSchema;
55750
+ var init_v2inlineclireference = __esm(() => {
55751
+ init_zod();
55752
+ V2InlineCliReference$zodSchema = object({
55753
+ install_command: string2().describe("Shell command to install this CLI before the agent starts.")
55754
+ });
55755
+ });
55756
+
55757
+ // src/models/v2inlinemcpdefinition.ts
55758
+ var Type$zodSchema, V2InlineMcpDefinition$zodSchema;
55759
+ var init_v2inlinemcpdefinition = __esm(() => {
55760
+ init_zod();
55761
+ Type$zodSchema = _enum([
55762
+ "http",
55763
+ "sse",
55764
+ "stdio"
55765
+ ]);
55766
+ V2InlineMcpDefinition$zodSchema = object({
55767
+ args: array(string2()).optional(),
55768
+ command: string2().nullable().optional().describe("Executable command for a `stdio` MCP server."),
55769
+ env: record(string2(), string2()).optional().describe("Environment mapping for a `stdio` MCP server. Values may reference run secrets with `${VARIABLE_NAME}`."),
55770
+ headers: record(string2(), string2()).optional().describe("HTTP headers. Reference run secrets with `${VARIABLE_NAME}` instead of embedding credentials."),
55771
+ name: string2().describe("Stable server name used in the selected agent's MCP config."),
55772
+ type: Type$zodSchema,
55773
+ url: string2().nullable().optional().describe("HTTPS endpoint for an `http` or `sse` MCP server.")
55774
+ });
55775
+ });
55776
+
55777
+ // src/models/v2savedclireference.ts
55778
+ var V2SavedCliReference$zodSchema;
55779
+ var init_v2savedclireference = __esm(() => {
55780
+ init_zod();
55781
+ V2SavedCliReference$zodSchema = object({
55782
+ id: string2().describe("Saved CLI ID from `GET /v2/clis`.")
55783
+ });
55784
+ });
55785
+
55786
+ // src/models/v2savedmcpreference.ts
55787
+ var V2SavedMcpReference$zodSchema;
55788
+ var init_v2savedmcpreference = __esm(() => {
55789
+ init_zod();
55790
+ V2SavedMcpReference$zodSchema = object({
55791
+ id: string2().describe("Saved MCP server ID from `GET /v2/mcp-servers`.")
55792
+ });
55793
+ });
55794
+
55738
55795
  // src/models/createv2evalrunrequest.ts
55739
- var CreateV2EvalRunRequest$zodSchema;
55796
+ var CreateV2EvalRunRequestCli$zodSchema, CreateV2EvalRunRequestMcp$zodSchema, CreateV2EvalRunRequest$zodSchema;
55740
55797
  var init_createv2evalrunrequest = __esm(() => {
55741
55798
  init_zod();
55799
+ init_v2inlineclireference();
55800
+ init_v2inlinemcpdefinition();
55801
+ init_v2savedclireference();
55802
+ init_v2savedmcpreference();
55803
+ CreateV2EvalRunRequestCli$zodSchema = union([
55804
+ V2SavedCliReference$zodSchema,
55805
+ V2InlineCliReference$zodSchema
55806
+ ]);
55807
+ CreateV2EvalRunRequestMcp$zodSchema = union([
55808
+ V2InlineMcpDefinition$zodSchema,
55809
+ V2SavedMcpReference$zodSchema
55810
+ ]);
55742
55811
  CreateV2EvalRunRequest$zodSchema = object({
55743
- agent_id: string2().describe("Required in both request forms. Runnable agent ID from `GET /v2/agents`."),
55744
- configuration_id: string2().optional().describe("Saved-run form only. Saved runtime configuration; required when `eval_id` is provided."),
55745
- env: record(string2(), string2()).optional().describe("Direct create-and-run form only. Write-only environment variables; values are stored only in the queued job's private configuration."),
55812
+ agent: array(string2()).nullable().optional().describe("Runnable agents from `GET /v2/agents`. Required unless the saved eval already has agents. CLI clients expose repeatable `--agent`."),
55813
+ clis: array(union([
55814
+ V2SavedCliReference$zodSchema,
55815
+ V2InlineCliReference$zodSchema
55816
+ ])).nullable().optional().describe("Saved CLI references or inline installation commands. In saved mode, an explicit empty array disables saved CLIs for this launch."),
55817
+ configuration_id: string2().optional().describe("Saved-run form only. Optional saved repository, environment, skills, and legacy tool configuration."),
55818
+ env: record(string2(), string2()).optional().describe("Write-only environment variables for this launch. Values are stored only in the queued job's private configuration."),
55746
55819
  eval_id: string2().optional().describe("Saved-run form only. Existing eval definition to run. Omit this field to use the direct create-and-run form."),
55747
- judges: array(string2()).optional().describe("Direct create-and-run form only. Provide at least one success criterion. CLI clients may expose this string array as a repeatable `--judge` flag."),
55748
- prompt: string2().optional().describe("Direct create-and-run form only. Task prompt; required when `eval_id` is omitted."),
55820
+ judges: array(string2()).nullable().optional().describe("Success criteria. Required in direct mode; in saved mode, replaces saved judges for this launch. CLI clients expose repeatable `--judge`."),
55821
+ mcps: array(union([
55822
+ V2InlineMcpDefinition$zodSchema,
55823
+ V2SavedMcpReference$zodSchema
55824
+ ])).nullable().optional().describe("Saved MCP references or inline portable definitions. In saved mode, an explicit empty array disables saved MCPs for this launch."),
55825
+ name: string2().optional().describe("Direct create-and-run form only. Display name for the durable eval. Defaults to the first prompt."),
55826
+ persona: string2().optional().describe("Optional perspective for every attempt in this launch. It does not modify prompts or add a fan-out dimension."),
55827
+ prompts: array(string2()).nullable().optional().describe("Task prompts. Required in direct mode; in saved mode, replaces saved prompts for this launch. CLI clients expose repeatable `--prompt`."),
55749
55828
  repository: string2().optional().describe("Direct create-and-run form only. A saved repository ID, built-in alias such as `nextjs-starter`, or a public GitHub HTTPS URL."),
55750
- skills: array(string2()).optional().describe("Additional public skill packages to install before the agent starts in either request form, using GitHub `owner/repository` references such as `resend/resend-skills`. CLI clients may expose this string array as a repeatable `--skill` flag.")
55751
- }).describe("Start an eval run using one of two flat request forms. Saved runs require `eval_id`, `configuration_id`, and `agent_id`. Direct create-and-run requests require `prompt`, at least one item in `judges`, and `agent_id`. Do not combine saved-run and direct-run fields; no separate mode field is required.");
55829
+ runs: int().optional().describe("Independent attempts for every prompt-agent pair. Defaults to the saved eval value or 1 for a direct run."),
55830
+ skill_ids: array(string2()).optional().describe("Direct create-and-run form only. Reusable skill IDs from `GET /v2/skills` to install before the agent starts."),
55831
+ skills: array(string2()).optional().describe("Additional public skill packages to install before the agent starts in either request form, using GitHub `owner/repository` references such as `resend/resend-skills`. CLI clients may expose this string array as a repeatable `--skill` flag."),
55832
+ tags: array(string2()).optional().describe("Direct create-and-run form only. Optional labels saved on the created eval. CLI clients may expose this string array as a repeatable `--tag` flag.")
55833
+ }).describe("Start an eval run using one of two flat request forms. Saved runs require `eval_id` and use saved simulation defaults unless the request replaces them. Direct create-and-run requests require `prompts`, `judges`, and `agent`. No separate mode field is required.");
55752
55834
  });
55753
55835
 
55754
55836
  // src/funcs/evalsRun.ts
@@ -55841,10 +55923,10 @@ Queues a durable eval job and returns immediately with a polling ID. Poll \`GET
55841
55923
 
55842
55924
  Send one of these flat request forms:
55843
55925
 
55844
- - **Saved eval:** provide \`eval_id\`, \`configuration_id\`, and \`agent_id\`.
55845
- - **Direct create-and-run:** provide \`prompt\`, \`judges\`, and \`agent_id\`. You may also provide a repository, write-only environment variables, and public skill packages.
55926
+ - **Saved eval:** provide \`eval_id\`; optionally replace its prompts, persona, agents, CLIs, MCPs, or runs for this launch. A saved configuration can still provide repository, environment, skills, and legacy tool selections.
55927
+ - **Direct create-and-run:** provide \`prompts\`, \`judges\`, and \`agent\`. You may also provide a persona, tags, repository, write-only environment variables, saved or inline CLIs and MCP servers, and skills.
55846
55928
 
55847
- Do not combine saved-run and direct-run fields. No separate \`mode\` field is required.`,
55929
+ The run fans out across prompts × agents × runs. Persona is shared metadata and does not multiply attempts. No separate \`mode\` field is required.`,
55848
55930
  annotations: {
55849
55931
  title: "",
55850
55932
  destructiveHint: false,
@@ -55871,8 +55953,7 @@ var V2EvalRunTraceEvent$zodSchema;
55871
55953
  var init_v2evalruntraceevent = __esm(() => {
55872
55954
  init_zod();
55873
55955
  V2EvalRunTraceEvent$zodSchema = object({
55874
- agent_id: string2().nullable().optional(),
55875
- agent_name: string2().nullable().optional(),
55956
+ agent: string2().nullable().optional(),
55876
55957
  category: string2(),
55877
55958
  child_job_id: string2().describe("Child eval-attempt ID associated with the event."),
55878
55959
  configuration_id: string2().nullable().optional(),
@@ -55881,6 +55962,8 @@ var init_v2evalruntraceevent = __esm(() => {
55881
55962
  eval_name: string2().nullable().optional(),
55882
55963
  event_id: int(),
55883
55964
  message: string2(),
55965
+ prompt_index: int().default(0),
55966
+ repeat_index: int().default(0),
55884
55967
  run_id: string2(),
55885
55968
  timestamp: string2().nullable().optional(),
55886
55969
  type: string2()
@@ -56759,23 +56842,37 @@ Updates an eval configuration; omitted fields remain unchanged.`,
56759
56842
  });
56760
56843
 
56761
56844
  // src/models/createv2evalrequest.ts
56762
- var CreateV2EvalRequestType$zodSchema, CreateV2EvalRequest$zodSchema;
56845
+ var CreateV2EvalRequestCli$zodSchema, CreateV2EvalRequestMcp$zodSchema, CreateV2EvalRequest$zodSchema;
56763
56846
  var init_createv2evalrequest = __esm(() => {
56764
56847
  init_zod();
56765
- CreateV2EvalRequestType$zodSchema = _enum([
56766
- "workflow",
56767
- "mcp",
56768
- "cli",
56769
- "skill"
56848
+ init_v2inlineclireference();
56849
+ init_v2inlinemcpdefinition();
56850
+ init_v2savedclireference();
56851
+ init_v2savedmcpreference();
56852
+ CreateV2EvalRequestCli$zodSchema = union([
56853
+ V2SavedCliReference$zodSchema,
56854
+ V2InlineCliReference$zodSchema
56855
+ ]);
56856
+ CreateV2EvalRequestMcp$zodSchema = union([
56857
+ V2InlineMcpDefinition$zodSchema,
56858
+ V2SavedMcpReference$zodSchema
56770
56859
  ]);
56771
56860
  CreateV2EvalRequest$zodSchema = object({
56772
- cli_id: string2().optional(),
56773
- judge: string2().describe("Plain-text outcome that counts as success."),
56774
- mcp_server_id: string2().optional(),
56861
+ agent: array(string2()).optional().describe("Runnable agents from `GET /v2/agents`. An empty array saves the eval without default agents. CLI clients expose repeatable `--agent`."),
56862
+ clis: array(union([
56863
+ V2SavedCliReference$zodSchema,
56864
+ V2InlineCliReference$zodSchema
56865
+ ])).optional().describe("Saved CLI references or inline installation commands."),
56866
+ judges: array(string2()).describe("Plain-text success criteria. CLI clients expose this as repeatable `--judge`."),
56867
+ mcps: array(union([
56868
+ V2InlineMcpDefinition$zodSchema,
56869
+ V2SavedMcpReference$zodSchema
56870
+ ])).optional().describe("Saved MCP references or inline portable MCP definitions."),
56775
56871
  name: string2(),
56776
- prompt: string2(),
56777
- skill_id: string2().optional(),
56778
- type: CreateV2EvalRequestType$zodSchema
56872
+ persona: string2().optional().describe("Optional perspective applied to the whole eval. It is stored as metadata and does not change prompts or multiply attempts."),
56873
+ prompts: array(string2()).describe("Task prompts. CLI clients expose this as repeatable `--prompt`."),
56874
+ runs: int().default(1).describe("Independent attempts for every prompt-agent pair."),
56875
+ tags: array(string2()).optional().describe("Optional labels for organizing the eval. CLI clients may expose this string array as a repeatable `--tag` flag.")
56779
56876
  });
56780
56877
  });
56781
56878
 
@@ -56865,7 +56962,7 @@ var init_evalsV2EvalsCreate2 = __esm(() => {
56865
56962
  name: "evals-v2-evals-create",
56866
56963
  description: `Create Eval
56867
56964
 
56868
- Creates an eval with a task prompt, subject, and plain-text success criterion in \`judge\`. The eval can then be run through eval runs.`,
56965
+ Creates a reusable simulation definition with one or more task prompts and judges. Optional agents, persona, CLI installations, MCP servers, repeat count, and tags are saved with the eval. Creating the eval does not start a run and does not accept secret environment values.`,
56869
56966
  annotations: {
56870
56967
  title: "",
56871
56968
  destructiveHint: false,
@@ -56887,36 +56984,40 @@ Creates an eval with a task prompt, subject, and plain-text success criterion in
56887
56984
  };
56888
56985
  });
56889
56986
 
56890
- // src/models/v2evaljudge.ts
56891
- var V2EvalJudge$zodSchema;
56892
- var init_v2evaljudge = __esm(() => {
56893
- init_zod();
56894
- V2EvalJudge$zodSchema = object({
56895
- criteria: string2().describe("The outcome that counts as success.")
56896
- });
56897
- });
56898
-
56899
56987
  // src/models/v2eval.ts
56900
- var V2EvalType$zodSchema, V2Eval$zodSchema;
56988
+ var V2EvalCli$zodSchema, V2EvalMcp$zodSchema, V2Eval$zodSchema;
56901
56989
  var init_v2eval = __esm(() => {
56902
56990
  init_zod();
56903
- init_v2evaljudge();
56904
- V2EvalType$zodSchema = _enum([
56905
- "workflow",
56906
- "mcp",
56907
- "cli",
56908
- "skill"
56991
+ init_v2inlineclireference();
56992
+ init_v2inlinemcpdefinition();
56993
+ init_v2savedclireference();
56994
+ init_v2savedmcpreference();
56995
+ V2EvalCli$zodSchema = union([
56996
+ V2SavedCliReference$zodSchema,
56997
+ V2InlineCliReference$zodSchema
56998
+ ]);
56999
+ V2EvalMcp$zodSchema = union([
57000
+ V2InlineMcpDefinition$zodSchema,
57001
+ V2SavedMcpReference$zodSchema
56909
57002
  ]);
56910
57003
  V2Eval$zodSchema = object({
56911
- cli_id: string2().nullable().optional(),
57004
+ agent: array(string2()).optional(),
57005
+ clis: array(union([
57006
+ V2SavedCliReference$zodSchema,
57007
+ V2InlineCliReference$zodSchema
57008
+ ])).optional(),
56912
57009
  created_at: string2().nullable().optional(),
56913
57010
  id: string2(),
56914
- judge: V2EvalJudge$zodSchema,
56915
- mcp_server_id: string2().nullable().optional(),
57011
+ judges: array(string2()).optional(),
57012
+ mcps: array(union([
57013
+ V2InlineMcpDefinition$zodSchema,
57014
+ V2SavedMcpReference$zodSchema
57015
+ ])).optional(),
56916
57016
  name: string2(),
56917
- prompt: string2(),
56918
- skill_id: string2().nullable().optional(),
56919
- type: V2EvalType$zodSchema,
57017
+ persona: string2().nullable().optional(),
57018
+ prompts: array(string2()).optional(),
57019
+ runs: int().default(1),
57020
+ tags: array(string2()).optional(),
56920
57021
  updated_at: string2().nullable().optional()
56921
57022
  });
56922
57023
  });
@@ -57120,7 +57221,7 @@ var init_evalsV2EvalsList2 = __esm(() => {
57120
57221
  name: "evals-v2-evals-list",
57121
57222
  description: `List Evals
57122
57223
 
57123
- Returns all active evals including workflow, MCP, CLI, and skill evals owned by the organization.`,
57224
+ Returns all active eval definitions owned by the organization.`,
57124
57225
  annotations: {
57125
57226
  title: "",
57126
57227
  destructiveHint: false,
@@ -57247,7 +57348,7 @@ var init_evalsV2EvalsRetrieve2 = __esm(() => {
57247
57348
  name: "evals-v2-evals-retrieve",
57248
57349
  description: `Retrieve Eval
57249
57350
 
57250
- Returns one eval and its judge configuration.`,
57351
+ Returns one reusable eval simulation definition.`,
57251
57352
  annotations: {
57252
57353
  title: "",
57253
57354
  destructiveHint: false,
@@ -57270,23 +57371,37 @@ Returns one eval and its judge configuration.`,
57270
57371
  });
57271
57372
 
57272
57373
  // src/models/updatev2evalrequest.ts
57273
- var UpdateV2EvalRequestType$zodSchema, UpdateV2EvalRequest$zodSchema;
57374
+ var UpdateV2EvalRequestCli$zodSchema, UpdateV2EvalRequestMcp$zodSchema, UpdateV2EvalRequest$zodSchema;
57274
57375
  var init_updatev2evalrequest = __esm(() => {
57275
57376
  init_zod();
57276
- UpdateV2EvalRequestType$zodSchema = _enum([
57277
- "workflow",
57278
- "mcp",
57279
- "cli",
57280
- "skill"
57377
+ init_v2inlineclireference();
57378
+ init_v2inlinemcpdefinition();
57379
+ init_v2savedclireference();
57380
+ init_v2savedmcpreference();
57381
+ UpdateV2EvalRequestCli$zodSchema = union([
57382
+ V2SavedCliReference$zodSchema,
57383
+ V2InlineCliReference$zodSchema
57384
+ ]);
57385
+ UpdateV2EvalRequestMcp$zodSchema = union([
57386
+ V2InlineMcpDefinition$zodSchema,
57387
+ V2SavedMcpReference$zodSchema
57281
57388
  ]);
57282
57389
  UpdateV2EvalRequest$zodSchema = object({
57283
- cli_id: string2().optional(),
57284
- judge: string2().optional().describe("Plain-text outcome that counts as success."),
57285
- mcp_server_id: string2().optional(),
57390
+ agent: array(string2()).nullable().optional(),
57391
+ clis: array(union([
57392
+ V2SavedCliReference$zodSchema,
57393
+ V2InlineCliReference$zodSchema
57394
+ ])).nullable().optional(),
57395
+ judges: array(string2()).nullable().optional().describe("Replacement success criteria for the eval."),
57396
+ mcps: array(union([
57397
+ V2InlineMcpDefinition$zodSchema,
57398
+ V2SavedMcpReference$zodSchema
57399
+ ])).nullable().optional(),
57286
57400
  name: string2().optional(),
57287
- prompt: string2().optional(),
57288
- skill_id: string2().optional(),
57289
- type: UpdateV2EvalRequestType$zodSchema.optional()
57401
+ persona: string2().optional().describe("Replacement eval persona. Pass null to clear it; omit it to leave the saved value unchanged."),
57402
+ prompts: array(string2()).nullable().optional(),
57403
+ runs: int().optional(),
57404
+ tags: array(string2()).nullable().optional().describe("Replacement labels for the eval. Pass an empty array to clear all tags.")
57290
57405
  });
57291
57406
  });
57292
57407
 
@@ -57399,7 +57514,7 @@ var init_evalsV2EvalsUpdate2 = __esm(() => {
57399
57514
  name: "evals-v2-evals-update",
57400
57515
  description: `Update Eval
57401
57516
 
57402
- Updates an eval's task prompt, subject, plain-text \`judge\`, or name. Omitted fields remain unchanged.`,
57517
+ Updates a reusable eval simulation definition. Omitted fields remain unchanged. Empty \`agent\`, \`clis\`, \`mcps\`, or \`tags\` arrays clear those collections, and \`persona: null\` clears the saved persona.`,
57403
57518
  annotations: {
57404
57519
  title: "",
57405
57520
  destructiveHint: false,
@@ -62082,7 +62197,7 @@ function createMCPServer(deps) {
62082
62197
  sizes: ["any"]
62083
62198
  }],
62084
62199
  name: "LightsageMcp",
62085
- version: "0.3.0"
62200
+ version: "0.3.1"
62086
62201
  });
62087
62202
  const getClient = deps.getSDK || (() => new LightsageMcpCore({
62088
62203
  security: deps.security,
@@ -62379,21 +62494,23 @@ Returns one audited page with its score, priority, supporting evidence, and reco
62379
62494
  name: "evals-v2-evals-list",
62380
62495
  description: `List Evals
62381
62496
 
62382
- Returns all active evals including workflow, MCP, CLI, and skill evals owned by the organization.`
62497
+ Returns all active eval definitions owned by the organization.`
62383
62498
  },
62384
62499
  {
62385
62500
  name: "evals-v2-evals-create",
62386
- description: "Create Eval\n\nCreates an eval with a task prompt, subject, and plain-text success criterion in `judge`. The eval can then be run through eval runs."
62501
+ description: `Create Eval
62502
+
62503
+ Creates a reusable simulation definition with one or more task prompts and judges. Optional agents, persona, CLI installations, MCP servers, repeat count, and tags are saved with the eval. Creating the eval does not start a run and does not accept secret environment values.`
62387
62504
  },
62388
62505
  {
62389
62506
  name: "evals-v2-evals-retrieve",
62390
62507
  description: `Retrieve Eval
62391
62508
 
62392
- Returns one eval and its judge configuration.`
62509
+ Returns one reusable eval simulation definition.`
62393
62510
  },
62394
62511
  {
62395
62512
  name: "evals-v2-evals-update",
62396
- description: "Update Eval\n\nUpdates an eval's task prompt, subject, plain-text `judge`, or name. Omitted fields remain unchanged."
62513
+ description: "Update Eval\n\nUpdates a reusable eval simulation definition. Omitted fields remain unchanged. Empty `agent`, `clis`, `mcps`, or `tags` arrays clear those collections, and `persona: null` clears the saved persona."
62397
62514
  },
62398
62515
  {
62399
62516
  name: "evals-v2-evals-delete",
@@ -62433,7 +62550,7 @@ Permanently deletes an eval configuration and returns its last saved state.`
62433
62550
  },
62434
62551
  {
62435
62552
  name: "evals-run",
62436
- description: "Start an eval run\n\nQueues a durable eval job and returns immediately with a polling ID. Poll `GET /v2/eval-runs/{run_id}` until its status reaches a terminal value.\n\nSend one of these flat request forms:\n\n- **Saved eval:** provide `eval_id`, `configuration_id`, and `agent_id`.\n- **Direct create-and-run:** provide `prompt`, `judges`, and `agent_id`. You may also provide a repository, write-only environment variables, and public skill packages.\n\nDo not combine saved-run and direct-run fields. No separate `mode` field is required."
62553
+ description: "Start an eval run\n\nQueues a durable eval job and returns immediately with a polling ID. Poll `GET /v2/eval-runs/{run_id}` until its status reaches a terminal value.\n\nSend one of these flat request forms:\n\n- **Saved eval:** provide `eval_id`; optionally replace its prompts, persona, agents, CLIs, MCPs, or runs for this launch. A saved configuration can still provide repository, environment, skills, and legacy tool selections.\n- **Direct create-and-run:** provide `prompts`, `judges`, and `agent`. You may also provide a persona, tags, repository, write-only environment variables, saved or inline CLIs and MCP servers, and skills.\n\nThe run fans out across prompts × agents × runs. Persona is shared metadata and does not multiply attempts. No separate `mode` field is required."
62437
62554
  },
62438
62555
  {
62439
62556
  name: "evals-analysis",
@@ -63431,7 +63548,7 @@ http_headers = { "lightsage-api-key-auth" = "YOUR_LIGHTSAGE_API_KEY_AUTH" }`;
63431
63548
  <h1>Instructions</h1>
63432
63549
  <p>One-click installation for Claude Desktop users</p>
63433
63550
  <div class="instruction-item">
63434
- <a href="https://github.com/lightsagehq/mcp/releases/download/v0.3.0/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
63551
+ <a href="https://github.com/lightsagehq/mcp/releases/download/v0.3.1/mcp-server.mcpb" download="mcp-server.mcpb" class="action-button header-action" style="display: inline-flex; margin-bottom: 16px;">
63435
63552
  \uD83D\uDCE5 Download MCP Bundle
63436
63553
  </a>
63437
63554
  </div>
@@ -66309,7 +66426,7 @@ var routes = buildRouteMap({
66309
66426
  var app = buildApplication(routes, {
66310
66427
  name: "mcp",
66311
66428
  versionInfo: {
66312
- currentVersion: "0.3.0"
66429
+ currentVersion: "0.3.1"
66313
66430
  }
66314
66431
  });
66315
66432
  run(app, process3.argv.slice(2), buildContext(process3));
@@ -66317,5 +66434,5 @@ export {
66317
66434
  app
66318
66435
  };
66319
66436
 
66320
- //# debugId=E8194E142237D9EF64756E2164756E21
66437
+ //# debugId=D144B9026D7DE38264756E2164756E21
66321
66438
  //# sourceMappingURL=mcp-server.js.map