@cursor/july 0.1.6 → 0.1.7

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 (83) hide show
  1. package/dist/bin/agent-serve.js +42 -17
  2. package/dist/channels/slack/post-update-delivery.d.ts +85 -0
  3. package/dist/channels/slack/post-update-delivery.d.ts.map +1 -0
  4. package/dist/docs/404.html +1 -1
  5. package/dist/docs/ab.html +2 -2
  6. package/dist/docs/assets/{app.DMboGKUD.js → app.COTN7wgo.js} +1 -1
  7. package/dist/docs/assets/chunks/@localSearchIndexroot.B7UcKvIn.js +1 -0
  8. package/dist/docs/assets/chunks/{VPLocalSearchBox.DkEqEnJU.js → VPLocalSearchBox.BW3TBdT0.js} +1 -1
  9. package/dist/docs/assets/chunks/{theme.ASugdMNm.js → theme.BEJW0vE7.js} +2 -2
  10. package/dist/docs/building-with-agents.html +2 -2
  11. package/dist/docs/concepts.html +2 -2
  12. package/dist/docs/deployment.html +2 -2
  13. package/dist/docs/evals.html +2 -2
  14. package/dist/docs/example-agents/approval-buddy.html +2 -2
  15. package/dist/docs/example-agents/benny.html +2 -2
  16. package/dist/docs/example-agents/bugbot.html +2 -2
  17. package/dist/docs/example-agents/codebase-wiki.html +2 -2
  18. package/dist/docs/example-agents/codeowners-review.html +2 -2
  19. package/dist/docs/example-agents/concierge.html +2 -2
  20. package/dist/docs/example-agents/fsd.html +2 -2
  21. package/dist/docs/example-agents/index.html +2 -2
  22. package/dist/docs/example-agents/knowledge-base.html +2 -2
  23. package/dist/docs/example-agents/security-reviewer.html +2 -2
  24. package/dist/docs/example-agents/slack-agent.html +2 -2
  25. package/dist/docs/example-agents/weather-agent.html +2 -2
  26. package/dist/docs/guides/agent-to-agent.html +2 -2
  27. package/dist/docs/guides/cloud-runtime.html +2 -2
  28. package/dist/docs/guides/github.html +2 -2
  29. package/dist/docs/guides/human-in-the-loop.html +2 -2
  30. package/dist/docs/guides/slack.html +2 -2
  31. package/dist/docs/guides/webhooks.html +2 -2
  32. package/dist/docs/hillclimbing.html +2 -2
  33. package/dist/docs/index.html +2 -2
  34. package/dist/docs/quickstart.html +2 -2
  35. package/dist/docs/reference/agent-config.html +2 -2
  36. package/dist/docs/reference/channels.html +2 -2
  37. package/dist/docs/reference/cli.html +2 -2
  38. package/dist/docs/reference/connections.html +2 -2
  39. package/dist/docs/reference/hooks.html +2 -2
  40. package/dist/docs/reference/http-api.html +2 -2
  41. package/dist/docs/reference/instructions.html +2 -2
  42. package/dist/docs/reference/playground.html +2 -2
  43. package/dist/docs/reference/project-layout.html +2 -2
  44. package/dist/docs/reference/schedules.html +2 -2
  45. package/dist/docs/reference/sessions.html +2 -2
  46. package/dist/docs/reference/skills.html +2 -2
  47. package/dist/docs/reference/subagents.html +2 -2
  48. package/dist/docs/reference/tools.html +2 -2
  49. package/dist/docs/scaffolding-agents.html +2 -2
  50. package/dist/docs/storage.html +2 -2
  51. package/dist/docs/troubleshooting.html +2 -2
  52. package/dist/evals.d.ts +2 -2
  53. package/dist/internal/cli-ax.d.ts +23 -10
  54. package/dist/internal/cli-ax.d.ts.map +1 -1
  55. package/dist/internal/cli-ax.js +358 -55
  56. package/dist/internal/eval-run-store.d.ts +2 -0
  57. package/dist/internal/eval-run-store.d.ts.map +1 -1
  58. package/dist/internal/eval-run-store.js +4 -4
  59. package/dist/internal/evals-client.d.ts +96 -0
  60. package/dist/internal/evals-client.d.ts.map +1 -0
  61. package/dist/internal/evals-client.js +262 -0
  62. package/dist/internal/init-project.js +3 -3
  63. package/dist/internal/json-dir-store.d.ts +32 -0
  64. package/dist/internal/json-dir-store.d.ts.map +1 -0
  65. package/dist/internal/persistence-coordinator.d.ts +127 -0
  66. package/dist/internal/persistence-coordinator.d.ts.map +1 -0
  67. package/dist/internal/server.js +11 -2
  68. package/dist/persistence.d.ts +184 -0
  69. package/dist/persistence.d.ts.map +1 -0
  70. package/dist/playground/assets/index-72vCOBWO.js +86 -0
  71. package/dist/playground/assets/index-BjnMwYoR.css +1 -0
  72. package/dist/playground/index.html +2 -2
  73. package/package.json +1 -1
  74. package/src/bin/agent-serve.ts +47 -16
  75. package/src/evals.ts +2 -2
  76. package/src/internal/cli-ax.ts +466 -75
  77. package/src/internal/eval-run-store.ts +5 -0
  78. package/src/internal/evals-client.ts +431 -0
  79. package/src/internal/init-project.ts +3 -3
  80. package/src/internal/server.ts +12 -0
  81. package/dist/docs/assets/chunks/@localSearchIndexroot.O6eP7QZr.js +0 -1
  82. package/dist/playground/assets/index-7GJIUFQj.css +0 -1
  83. package/dist/playground/assets/index-mux9aj5P.js +0 -319
@@ -8,8 +8,8 @@
8
8
  />
9
9
  <meta name="viewport" content="width=device-width, initial-scale=1" />
10
10
  <title>agent-serve playground</title>
11
- <script type="module" crossorigin src="./assets/index-mux9aj5P.js"></script>
12
- <link rel="stylesheet" crossorigin href="./assets/index-7GJIUFQj.css">
11
+ <script type="module" crossorigin src="./assets/index-72vCOBWO.js"></script>
12
+ <link rel="stylesheet" crossorigin href="./assets/index-BjnMwYoR.css">
13
13
  </head>
14
14
  <body>
15
15
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cursor/july",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "(early alpha) Filesystem-first framework for defining Cursor agents as markdown and TypeScript and serving them over channels with the Cursor SDK.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "repository": {
@@ -29,6 +29,7 @@ import {
29
29
  cmdCall,
30
30
  cmdChat,
31
31
  cmdEval,
32
+ cmdEvalStatus,
32
33
  cmdInit,
33
34
  cmdLogs,
34
35
  cmdPlayground,
@@ -90,8 +91,11 @@ Usage:
90
91
  ${CLI} init [dir] [--json]
91
92
  ${CLI} eval [--dir <path>] [evalId...] [--list] [--json]
92
93
  [--tag <tag>]... [--verbose] [--timeout-ms <n>]
93
- [--no-stream] [--local | --url <baseUrl>] [--slug <slug>]
94
+ [--no-stream] [--no-wait]
95
+ [--prod | --url <baseUrl>] [--slug <slug>]
94
96
  [--team <id>]
97
+ ${CLI} eval status [runId] --prod|--url <baseUrl> [--dir <path>] [--json]
98
+ [--slug <slug>] [--team <id>]
95
99
  ${CLI} info [--dir <path>] [--json]
96
100
  ${CLI} validate [--dir <path>]
97
101
  ${CLI} login [--api-key <key>] [--key-name <name>]
@@ -155,11 +159,19 @@ Commands:
155
159
  machine-readable and never blocks on login. No directory:
156
160
  print the setup guide.
157
161
  eval Run filesystem evals under evals/**/*.eval.ts (streams on a TTY).
158
- Runs against the team's hosted deployment by default (slug from
159
- --slug or the directory name); pass --local for an ephemeral
160
- local server, or --url for a running one. Pass evalId args to
161
- select: one datapoint (weather/nyc), a whole file (weather
162
- all cases in that file), several of either, or omit to run all.
162
+ Default: ephemeral local harness against evals on disk. Pass
163
+ --prod to kick off the batch on the team's hosted deployment
164
+ (slug from --slug or the directory name) via /v1/dev/evals/runs
165
+ so results appear in the playground and persist when the agent
166
+ declares an evals storage table; or --url for a running server
167
+ (same server-side path). With --prod/--url, pass --no-wait to
168
+ return the runId immediately without polling; check later with
169
+ \`${CLI} eval status <runId> --prod\` (omit runId to list recent
170
+ runs; exit 3 while still running). The status subcommand only
171
+ binds when --prod/--url is set, so an eval id named status still
172
+ runs locally. Pass evalId args to select: one datapoint
173
+ (weather/nyc), a whole file (weather → all cases in that file),
174
+ several of either, or omit to run all.
163
175
  info Print the discovered agent surface (tools, skills, channels, ...).
164
176
  validate Check the project(s) and exit non-zero on error diagnostics.
165
177
  login Sign the host in to Cursor: browser sign-in mints a named,
@@ -194,7 +206,8 @@ Agent loop:
194
206
  ${CLI} validate --dir .
195
207
  ${CLI} info --dir . --json
196
208
  ${CLI} run --dir . --message "..."
197
- ${CLI} eval --local --dir .
209
+ ${CLI} eval --dir .
210
+ ${CLI} eval --prod --dir .
198
211
  ${CLI} dev .
199
212
 
200
213
  Options:
@@ -233,15 +246,14 @@ Options:
233
246
  --prod chat/resume/run/call/eval/logs/sessions/session/playground:
234
247
  use the team's hosted deployment. Slug from --slug or the
235
248
  --dir basename. Mutually exclusive with --url. Requires
236
- \`${CLI} login\`. (eval already defaults to the
237
- deployment; there --prod is just being explicit.)
238
- --local eval: run against an ephemeral local server instead of
239
- the hosted deployment. Mutually exclusive with --url.
249
+ \`${CLI} login\`. For eval, this is how you opt into the
250
+ persisted server-side batch (default is local).
240
251
  --once logs: print current progress / log buffer once and exit
241
252
  (default is to follow).
242
253
  --print playground: print the URL only; do not open a browser.
243
- --no-wait deploy/stop: return right after the request is accepted
244
- instead of polling until a terminal status.
254
+ --no-wait deploy/stop/eval: return right after the request is
255
+ accepted instead of polling until a terminal status.
256
+ For eval, prints the runId (deployment / --url only).
245
257
  --no-playground Disable the bundled web playground at /playground (also skips
246
258
  auto-build / HMR).
247
259
  --no-docs Disable the documentation site at /docs (also skips its
@@ -352,7 +364,6 @@ async function main(argv: string[]): Promise<number> {
352
364
  "no-docs": { type: "boolean", default: false },
353
365
  url: { type: "string" },
354
366
  prod: { type: "boolean", default: false },
355
- local: { type: "boolean", default: false },
356
367
  message: { type: "string", multiple: true },
357
368
  input: { type: "string" },
358
369
  "messages-file": { type: "string" },
@@ -624,6 +635,26 @@ async function main(argv: string[]): Promise<number> {
624
635
  }
625
636
 
626
637
  case "eval": {
638
+ // Remote status subcommand only when targeting --prod/--url. Otherwise
639
+ // the bare token "status" is a normal eval id (evals/status.eval.ts).
640
+ if (
641
+ positionals[0] === "status" &&
642
+ (values.prod === true || values.url !== undefined)
643
+ ) {
644
+ return cmdEvalStatus(
645
+ positionals[1],
646
+ axFromOptions({
647
+ dir,
648
+ json: values.json,
649
+ url: values.url,
650
+ prod: values.prod,
651
+ team: values.team,
652
+ apiKey: values["api-key"],
653
+ slug: values.slug,
654
+ bearerToken: values["bearer-token"],
655
+ })
656
+ );
657
+ }
627
658
  return cmdEval(
628
659
  axFromOptions({
629
660
  dir,
@@ -634,7 +665,7 @@ async function main(argv: string[]): Promise<number> {
634
665
  tags: values.tag,
635
666
  url: values.url,
636
667
  prod: values.prod,
637
- local: values.local,
668
+ noWait: values["no-wait"],
638
669
  team: values.team,
639
670
  apiKey: values["api-key"],
640
671
  slug: values.slug,
@@ -1052,7 +1083,7 @@ function axFromOptions(
1052
1083
  toolInput: partial.toolInput,
1053
1084
  url: partial.url,
1054
1085
  prod: partial.prod,
1055
- local: partial.local,
1086
+ noWait: partial.noWait,
1056
1087
  team: partial.team,
1057
1088
  apiKey: partial.apiKey,
1058
1089
  fetchImpl: partial.fetchImpl,
package/src/evals.ts CHANGED
@@ -326,8 +326,8 @@ export interface EvalConfigFile {
326
326
  /**
327
327
  * Optional. Max batches kept in the **playground / `/v1/dev/evals*`**
328
328
  * history window (in-memory, and pruned from the `defineStorage` evals
329
- * table when one is configured).
330
- * Does not affect `agent-serve eval` CLI runs.
329
+ * table when one is configured). Includes server-side batches started by
330
+ * `agentkit eval --prod` or `--url` (not the default local harness).
331
331
  *
332
332
  * Default {@link EVAL_DEFAULT_MAX_PLAYGROUND_RUNS}; hard-capped at
333
333
  * {@link EVAL_MAX_PLAYGROUND_RUNS}. Newest batches win.