@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.
- package/dist/bin/agent-serve.js +42 -17
- package/dist/channels/slack/post-update-delivery.d.ts +85 -0
- package/dist/channels/slack/post-update-delivery.d.ts.map +1 -0
- package/dist/docs/404.html +1 -1
- package/dist/docs/ab.html +2 -2
- package/dist/docs/assets/{app.DMboGKUD.js → app.COTN7wgo.js} +1 -1
- package/dist/docs/assets/chunks/@localSearchIndexroot.B7UcKvIn.js +1 -0
- package/dist/docs/assets/chunks/{VPLocalSearchBox.DkEqEnJU.js → VPLocalSearchBox.BW3TBdT0.js} +1 -1
- package/dist/docs/assets/chunks/{theme.ASugdMNm.js → theme.BEJW0vE7.js} +2 -2
- package/dist/docs/building-with-agents.html +2 -2
- package/dist/docs/concepts.html +2 -2
- package/dist/docs/deployment.html +2 -2
- package/dist/docs/evals.html +2 -2
- package/dist/docs/example-agents/approval-buddy.html +2 -2
- package/dist/docs/example-agents/benny.html +2 -2
- package/dist/docs/example-agents/bugbot.html +2 -2
- package/dist/docs/example-agents/codebase-wiki.html +2 -2
- package/dist/docs/example-agents/codeowners-review.html +2 -2
- package/dist/docs/example-agents/concierge.html +2 -2
- package/dist/docs/example-agents/fsd.html +2 -2
- package/dist/docs/example-agents/index.html +2 -2
- package/dist/docs/example-agents/knowledge-base.html +2 -2
- package/dist/docs/example-agents/security-reviewer.html +2 -2
- package/dist/docs/example-agents/slack-agent.html +2 -2
- package/dist/docs/example-agents/weather-agent.html +2 -2
- package/dist/docs/guides/agent-to-agent.html +2 -2
- package/dist/docs/guides/cloud-runtime.html +2 -2
- package/dist/docs/guides/github.html +2 -2
- package/dist/docs/guides/human-in-the-loop.html +2 -2
- package/dist/docs/guides/slack.html +2 -2
- package/dist/docs/guides/webhooks.html +2 -2
- package/dist/docs/hillclimbing.html +2 -2
- package/dist/docs/index.html +2 -2
- package/dist/docs/quickstart.html +2 -2
- package/dist/docs/reference/agent-config.html +2 -2
- package/dist/docs/reference/channels.html +2 -2
- package/dist/docs/reference/cli.html +2 -2
- package/dist/docs/reference/connections.html +2 -2
- package/dist/docs/reference/hooks.html +2 -2
- package/dist/docs/reference/http-api.html +2 -2
- package/dist/docs/reference/instructions.html +2 -2
- package/dist/docs/reference/playground.html +2 -2
- package/dist/docs/reference/project-layout.html +2 -2
- package/dist/docs/reference/schedules.html +2 -2
- package/dist/docs/reference/sessions.html +2 -2
- package/dist/docs/reference/skills.html +2 -2
- package/dist/docs/reference/subagents.html +2 -2
- package/dist/docs/reference/tools.html +2 -2
- package/dist/docs/scaffolding-agents.html +2 -2
- package/dist/docs/storage.html +2 -2
- package/dist/docs/troubleshooting.html +2 -2
- package/dist/evals.d.ts +2 -2
- package/dist/internal/cli-ax.d.ts +23 -10
- package/dist/internal/cli-ax.d.ts.map +1 -1
- package/dist/internal/cli-ax.js +358 -55
- package/dist/internal/eval-run-store.d.ts +2 -0
- package/dist/internal/eval-run-store.d.ts.map +1 -1
- package/dist/internal/eval-run-store.js +4 -4
- package/dist/internal/evals-client.d.ts +96 -0
- package/dist/internal/evals-client.d.ts.map +1 -0
- package/dist/internal/evals-client.js +262 -0
- package/dist/internal/init-project.js +3 -3
- package/dist/internal/json-dir-store.d.ts +32 -0
- package/dist/internal/json-dir-store.d.ts.map +1 -0
- package/dist/internal/persistence-coordinator.d.ts +127 -0
- package/dist/internal/persistence-coordinator.d.ts.map +1 -0
- package/dist/internal/server.js +11 -2
- package/dist/persistence.d.ts +184 -0
- package/dist/persistence.d.ts.map +1 -0
- package/dist/playground/assets/index-72vCOBWO.js +86 -0
- package/dist/playground/assets/index-BjnMwYoR.css +1 -0
- package/dist/playground/index.html +2 -2
- package/package.json +1 -1
- package/src/bin/agent-serve.ts +47 -16
- package/src/evals.ts +2 -2
- package/src/internal/cli-ax.ts +466 -75
- package/src/internal/eval-run-store.ts +5 -0
- package/src/internal/evals-client.ts +431 -0
- package/src/internal/init-project.ts +3 -3
- package/src/internal/server.ts +12 -0
- package/dist/docs/assets/chunks/@localSearchIndexroot.O6eP7QZr.js +0 -1
- package/dist/playground/assets/index-7GJIUFQj.css +0 -1
- package/dist/playground/assets/index-mux9aj5P.js +0 -319
package/dist/bin/agent-serve.js
CHANGED
|
@@ -27,7 +27,7 @@ import { resolve } from "node:path";
|
|
|
27
27
|
import { parseArgs } from "node:util";
|
|
28
28
|
import { formatDiagnostics, projectInfo, resolveAgentMounts, serve, } from "../index.js";
|
|
29
29
|
import { registerAuthoredModuleLoaders } from "../internal/authored-loaders.js";
|
|
30
|
-
import { cmdCall, cmdChat, cmdEval, cmdInit, cmdLogs, cmdPlayground, cmdResume, cmdRun, cmdSession, cmdSessions, cmdTrajectory, } from "../internal/cli-ax.js";
|
|
30
|
+
import { cmdCall, cmdChat, cmdEval, cmdEvalStatus, cmdInit, cmdLogs, cmdPlayground, cmdResume, cmdRun, cmdSession, cmdSessions, cmdTrajectory, } from "../internal/cli-ax.js";
|
|
31
31
|
import { cmdDeploy, cmdDeploymentStatus, cmdDeployments, cmdRotatePodCredential, cmdRotateToken, cmdSecretsList, cmdSecretsSet, cmdSecretsUnset, cmdStop, } from "../internal/cli-deploy.js";
|
|
32
32
|
import { CLI_COMMAND_NAME as CLI } from "../internal/distribution.js";
|
|
33
33
|
import { clearTerminal, stdoutPalette } from "../internal/terminal-style.js";
|
|
@@ -67,8 +67,11 @@ Usage:
|
|
|
67
67
|
${CLI} init [dir] [--json]
|
|
68
68
|
${CLI} eval [--dir <path>] [evalId...] [--list] [--json]
|
|
69
69
|
[--tag <tag>]... [--verbose] [--timeout-ms <n>]
|
|
70
|
-
[--no-stream] [--
|
|
70
|
+
[--no-stream] [--no-wait]
|
|
71
|
+
[--prod | --url <baseUrl>] [--slug <slug>]
|
|
71
72
|
[--team <id>]
|
|
73
|
+
${CLI} eval status [runId] --prod|--url <baseUrl> [--dir <path>] [--json]
|
|
74
|
+
[--slug <slug>] [--team <id>]
|
|
72
75
|
${CLI} info [--dir <path>] [--json]
|
|
73
76
|
${CLI} validate [--dir <path>]
|
|
74
77
|
${CLI} login [--api-key <key>] [--key-name <name>]
|
|
@@ -132,11 +135,19 @@ Commands:
|
|
|
132
135
|
machine-readable and never blocks on login. No directory:
|
|
133
136
|
print the setup guide.
|
|
134
137
|
eval Run filesystem evals under evals/**/*.eval.ts (streams on a TTY).
|
|
135
|
-
|
|
136
|
-
--
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
Default: ephemeral local harness against evals on disk. Pass
|
|
139
|
+
--prod to kick off the batch on the team's hosted deployment
|
|
140
|
+
(slug from --slug or the directory name) via /v1/dev/evals/runs
|
|
141
|
+
so results appear in the playground and persist when the agent
|
|
142
|
+
declares an evals storage table; or --url for a running server
|
|
143
|
+
(same server-side path). With --prod/--url, pass --no-wait to
|
|
144
|
+
return the runId immediately without polling; check later with
|
|
145
|
+
\`${CLI} eval status <runId> --prod\` (omit runId to list recent
|
|
146
|
+
runs; exit 3 while still running). The status subcommand only
|
|
147
|
+
binds when --prod/--url is set, so an eval id named status still
|
|
148
|
+
runs locally. Pass evalId args to select: one datapoint
|
|
149
|
+
(weather/nyc), a whole file (weather → all cases in that file),
|
|
150
|
+
several of either, or omit to run all.
|
|
140
151
|
info Print the discovered agent surface (tools, skills, channels, ...).
|
|
141
152
|
validate Check the project(s) and exit non-zero on error diagnostics.
|
|
142
153
|
login Sign the host in to Cursor: browser sign-in mints a named,
|
|
@@ -171,7 +182,8 @@ Agent loop:
|
|
|
171
182
|
${CLI} validate --dir .
|
|
172
183
|
${CLI} info --dir . --json
|
|
173
184
|
${CLI} run --dir . --message "..."
|
|
174
|
-
${CLI} eval --
|
|
185
|
+
${CLI} eval --dir .
|
|
186
|
+
${CLI} eval --prod --dir .
|
|
175
187
|
${CLI} dev .
|
|
176
188
|
|
|
177
189
|
Options:
|
|
@@ -210,15 +222,14 @@ Options:
|
|
|
210
222
|
--prod chat/resume/run/call/eval/logs/sessions/session/playground:
|
|
211
223
|
use the team's hosted deployment. Slug from --slug or the
|
|
212
224
|
--dir basename. Mutually exclusive with --url. Requires
|
|
213
|
-
\`${CLI} login\`.
|
|
214
|
-
|
|
215
|
-
--local eval: run against an ephemeral local server instead of
|
|
216
|
-
the hosted deployment. Mutually exclusive with --url.
|
|
225
|
+
\`${CLI} login\`. For eval, this is how you opt into the
|
|
226
|
+
persisted server-side batch (default is local).
|
|
217
227
|
--once logs: print current progress / log buffer once and exit
|
|
218
228
|
(default is to follow).
|
|
219
229
|
--print playground: print the URL only; do not open a browser.
|
|
220
|
-
--no-wait deploy/stop: return right after the request is
|
|
221
|
-
instead of polling until a terminal status.
|
|
230
|
+
--no-wait deploy/stop/eval: return right after the request is
|
|
231
|
+
accepted instead of polling until a terminal status.
|
|
232
|
+
For eval, prints the runId (deployment / --url only).
|
|
222
233
|
--no-playground Disable the bundled web playground at /playground (also skips
|
|
223
234
|
auto-build / HMR).
|
|
224
235
|
--no-docs Disable the documentation site at /docs (also skips its
|
|
@@ -326,7 +337,6 @@ function main(argv) {
|
|
|
326
337
|
"no-docs": { type: "boolean", default: false },
|
|
327
338
|
url: { type: "string" },
|
|
328
339
|
prod: { type: "boolean", default: false },
|
|
329
|
-
local: { type: "boolean", default: false },
|
|
330
340
|
message: { type: "string", multiple: true },
|
|
331
341
|
input: { type: "string" },
|
|
332
342
|
"messages-file": { type: "string" },
|
|
@@ -550,6 +560,21 @@ function main(argv) {
|
|
|
550
560
|
}));
|
|
551
561
|
}
|
|
552
562
|
case "eval": {
|
|
563
|
+
// Remote status subcommand only when targeting --prod/--url. Otherwise
|
|
564
|
+
// the bare token "status" is a normal eval id (evals/status.eval.ts).
|
|
565
|
+
if (positionals[0] === "status" &&
|
|
566
|
+
(values.prod === true || values.url !== undefined)) {
|
|
567
|
+
return cmdEvalStatus(positionals[1], axFromOptions({
|
|
568
|
+
dir,
|
|
569
|
+
json: values.json,
|
|
570
|
+
url: values.url,
|
|
571
|
+
prod: values.prod,
|
|
572
|
+
team: values.team,
|
|
573
|
+
apiKey: values["api-key"],
|
|
574
|
+
slug: values.slug,
|
|
575
|
+
bearerToken: values["bearer-token"],
|
|
576
|
+
}));
|
|
577
|
+
}
|
|
553
578
|
return cmdEval(axFromOptions({
|
|
554
579
|
dir,
|
|
555
580
|
evalIds: positionals,
|
|
@@ -559,7 +584,7 @@ function main(argv) {
|
|
|
559
584
|
tags: values.tag,
|
|
560
585
|
url: values.url,
|
|
561
586
|
prod: values.prod,
|
|
562
|
-
|
|
587
|
+
noWait: values["no-wait"],
|
|
563
588
|
team: values.team,
|
|
564
589
|
apiKey: values["api-key"],
|
|
565
590
|
slug: values.slug,
|
|
@@ -870,7 +895,7 @@ function axFromOptions(partial) {
|
|
|
870
895
|
toolInput: partial.toolInput,
|
|
871
896
|
url: partial.url,
|
|
872
897
|
prod: partial.prod,
|
|
873
|
-
|
|
898
|
+
noWait: partial.noWait,
|
|
874
899
|
team: partial.team,
|
|
875
900
|
apiKey: partial.apiKey,
|
|
876
901
|
fetchImpl: partial.fetchImpl,
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live-reply delivery strategies for the Slack default handlers.
|
|
3
|
+
*
|
|
4
|
+
* A single strategy owns how an in-progress reply is opened, updated,
|
|
5
|
+
* finalized, and cleaned up so the handlers in `defaults.ts` don't fork on the
|
|
6
|
+
* delivery mode at every event:
|
|
7
|
+
*
|
|
8
|
+
* - `stream`: Slack chat.startStream / appendStream / stopStream.
|
|
9
|
+
* - `post-update`: a chat.postMessage skeleton edited with chat.update. This is
|
|
10
|
+
* the only path that preserves Cursor-account identity pinning (which only
|
|
11
|
+
* covers postMessage).
|
|
12
|
+
*
|
|
13
|
+
* `buildDefaultEvents` selects one via {@link selectLiveDeliveryStrategy} up
|
|
14
|
+
* front and calls into it. All calls keep the same soft-fail / log behavior as
|
|
15
|
+
* the inlined logic they replaced.
|
|
16
|
+
*/
|
|
17
|
+
import type { ChannelEventContext } from "../../types.js";
|
|
18
|
+
import type { SlackLog } from "./log.js";
|
|
19
|
+
import type { SlackBotToken, SlackChannelState } from "./types.js";
|
|
20
|
+
type SlackChannel = ChannelEventContext<SlackChannelState>;
|
|
21
|
+
export interface LiveDeliveryDeps {
|
|
22
|
+
botToken: SlackBotToken | undefined;
|
|
23
|
+
getLog: () => SlackLog;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* How the default handlers deliver an in-progress reply. Methods write live
|
|
27
|
+
* delivery state (`streamTs`, `streamChannelId`, `lastPostedText`,
|
|
28
|
+
* `lastPostUpdateAtMs`, `streamingUnavailable`) on `channel.state` directly.
|
|
29
|
+
*/
|
|
30
|
+
export interface LiveDeliveryStrategy {
|
|
31
|
+
/** True when tool-call thinking steps can be appended to the live message. */
|
|
32
|
+
readonly inlineToolSteps: boolean;
|
|
33
|
+
/** Open the live message (skeleton post / stream start). */
|
|
34
|
+
start(args: {
|
|
35
|
+
channel: SlackChannel;
|
|
36
|
+
channelId: string;
|
|
37
|
+
threadTs: string;
|
|
38
|
+
sessionId: string;
|
|
39
|
+
}): Promise<void>;
|
|
40
|
+
/** Push the latest cumulative text to the live message (throttled). */
|
|
41
|
+
append(args: {
|
|
42
|
+
channel: SlackChannel;
|
|
43
|
+
channelId: string;
|
|
44
|
+
streamTs: string;
|
|
45
|
+
text: string;
|
|
46
|
+
sessionId: string;
|
|
47
|
+
}): Promise<void>;
|
|
48
|
+
/**
|
|
49
|
+
* Flush the final reply text. `delivered` is false only when the caller must
|
|
50
|
+
* post the full reply as a fresh message (finalize failed on partial text).
|
|
51
|
+
*/
|
|
52
|
+
finalize(args: {
|
|
53
|
+
channel: SlackChannel;
|
|
54
|
+
channelId: string;
|
|
55
|
+
streamTs: string;
|
|
56
|
+
text: string;
|
|
57
|
+
sessionId: string;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
delivered: boolean;
|
|
60
|
+
}>;
|
|
61
|
+
/** Close the live message when the turn produced no final text. */
|
|
62
|
+
finalizeEmpty(args: {
|
|
63
|
+
channel: SlackChannel;
|
|
64
|
+
channelId: string;
|
|
65
|
+
streamTs: string;
|
|
66
|
+
}): Promise<void>;
|
|
67
|
+
/** Best-effort remove a live message left open after the turn ended. */
|
|
68
|
+
cleanupOrphan(args: {
|
|
69
|
+
channel: SlackChannel;
|
|
70
|
+
}): Promise<void>;
|
|
71
|
+
/** Deliver the error text into the live message; `delivered` gates a fallback post. */
|
|
72
|
+
fail(args: {
|
|
73
|
+
channel: SlackChannel;
|
|
74
|
+
channelId: string;
|
|
75
|
+
streamTs: string;
|
|
76
|
+
errorText: string;
|
|
77
|
+
sessionId: string;
|
|
78
|
+
}): Promise<{
|
|
79
|
+
delivered: boolean;
|
|
80
|
+
}>;
|
|
81
|
+
}
|
|
82
|
+
/** Pick the live-reply delivery strategy for a `buildDefaultEvents` instance. */
|
|
83
|
+
export declare function selectLiveDeliveryStrategy(deps: LiveDeliveryDeps, usePostUpdate: boolean): LiveDeliveryStrategy;
|
|
84
|
+
export {};
|
|
85
|
+
//# sourceMappingURL=post-update-delivery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-update-delivery.d.ts","sourceRoot":"","sources":["../../../src/channels/slack/post-update-delivery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAW1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEnE,KAAK,YAAY,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AAE3D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,QAAQ,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,4DAA4D;IAC5D,KAAK,CAAC,IAAI,EAAE;QACV,OAAO,EAAE,YAAY,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,uEAAuE;IACvE,MAAM,CAAC,IAAI,EAAE;QACX,OAAO,EAAE,YAAY,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE;QACb,OAAO,EAAE,YAAY,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACpC,mEAAmE;IACnE,aAAa,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,YAAY,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,wEAAwE;IACxE,aAAa,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,uFAAuF;IACvF,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,EAAE,YAAY,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACrC;AA6RD,iFAAiF;AACjF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,gBAAgB,EACtB,aAAa,EAAE,OAAO,GACrB,oBAAoB,CAItB"}
|
package/dist/docs/404.html
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/docs/assets/style.Bj-IXa5W.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/docs/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/docs/assets/app.
|
|
12
|
+
<script type="module" src="/docs/assets/app.COTN7wgo.js"></script>
|
|
13
13
|
<link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
14
|
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
15
15
|
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
package/dist/docs/ab.html
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<link rel="preload stylesheet" href="/docs/assets/style.Bj-IXa5W.css" as="style">
|
|
10
10
|
<link rel="preload stylesheet" href="/docs/vp-icons.css" as="style">
|
|
11
11
|
|
|
12
|
-
<script type="module" src="/docs/assets/app.
|
|
12
|
+
<script type="module" src="/docs/assets/app.COTN7wgo.js"></script>
|
|
13
13
|
<link rel="preload" href="/docs/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
|
14
|
-
<link rel="modulepreload" href="/docs/assets/chunks/theme.
|
|
14
|
+
<link rel="modulepreload" href="/docs/assets/chunks/theme.BEJW0vE7.js">
|
|
15
15
|
<link rel="modulepreload" href="/docs/assets/chunks/framework.CAZyNGu9.js">
|
|
16
16
|
<link rel="modulepreload" href="/docs/assets/ab.md.BMCZ6Hd7.lean.js">
|
|
17
17
|
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as p}from"./chunks/theme.
|
|
1
|
+
import{t as p}from"./chunks/theme.BEJW0vE7.js";import{R as s,a2 as i,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,d as v,u as y,v as C,s as P,ac as b,ad as w,ae as R,af as E}from"./chunks/framework.CAZyNGu9.js";function r(e){if(e.extends){const a=r(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const n=r(p),S=v({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{P(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&b(),w(),R(),n.setup&&n.setup(),()=>E(n.Layout)}});async function T(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),n.enhanceApp&&await n.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function D(){return A(S)}function _(){let e=s;return h(a=>{let t=g(a),o=null;return t&&(e&&(t=t.replace(/\.js$/,".lean.js")),o=import(t)),s&&(e=!1),o},n.NotFound)}s&&T().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{T as createApp};
|