@maxceem/agw 0.1.2 → 0.1.4
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 +1 -1
- package/dist/agw.mjs +60 -19
- package/dist/release/{0.1.2/console/assets/endpoints-Dnjjwdkn.js → 0.1.4/console/assets/endpoints-BNTBSczQ.js} +1 -1
- package/dist/release/{0.1.2/console/assets/index-D71D9UiI.js → 0.1.4/console/assets/index-BGQQK35_.js} +8 -8
- package/dist/release/0.1.4/console/assets/index-DUtKG6Od.css +2 -0
- package/dist/release/{0.1.2/console/assets/usage-DjvO6eyw.js → 0.1.4/console/assets/usage-CzdJHSbn.js} +1 -1
- package/dist/release/{0.1.2 → 0.1.4}/console/index.html +2 -2
- package/dist/release/0.1.4/manifest.json +26 -0
- package/dist/release/{0.1.2 → 0.1.4}/migrations/0000_initial.sql +0 -1
- package/dist/release/{0.1.2 → 0.1.4}/worker/index.js +246 -260
- package/dist/release-integrity.json +1 -1
- package/package.json +2 -2
- package/dist/release/0.1.2/console/assets/index-CsWBdB28.css +0 -2
- package/dist/release/0.1.2/manifest.json +0 -24
- /package/dist/release/{0.1.2 → 0.1.4}/console/.assetsignore +0 -0
- /package/dist/release/{0.1.2 → 0.1.4}/console/favicon.svg +0 -0
- /package/dist/release/{0.1.2 → 0.1.4}/wrangler.json +0 -0
package/README.md
CHANGED
|
@@ -16,7 +16,7 @@ agw provider add --type openai --browser --no-open --json
|
|
|
16
16
|
agw operation wait <operation-id> --timeout 300 --json
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
Share
|
|
19
|
+
Share the returned URL. Hidden terminal input only prevents echo; an agent controlling that terminal can still observe it. The browser must be outside the agent's observable browser surface for credential isolation. Never pass credentials as command arguments. `--key-stdin` explicitly reads a single secret line. `--no-input` prohibits terminal prompts, and `--no-open` returns a browser operation without waiting.
|
|
20
20
|
|
|
21
21
|
Run `agw --help` for the complete command surface and `agw <group> <command> --help` for its flags. Resource IDs and slugs are exact; display names are not selectors. File outputs never overwrite existing files. Server application keys are written with mode 0600 and never included in stdout. If persistence fails, the CLI attempts immediate revocation and reports the key ID for recovery.
|
|
22
22
|
|
package/dist/agw.mjs
CHANGED
|
@@ -6,7 +6,7 @@ var __export = (target, all) => {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// <define:__AGW_MANIFEST__>
|
|
9
|
-
var define_AGW_MANIFEST_default = { version: "0.1.
|
|
9
|
+
var define_AGW_MANIFEST_default = { version: "0.1.4", wrangler: "4.96.0", upgradeFrom: ["0.1.4", "0.1.3", "0.1.2", "0.1.1", "0.1.0"] };
|
|
10
10
|
|
|
11
11
|
// src/main.ts
|
|
12
12
|
import { Writable } from "node:stream";
|
|
@@ -14856,6 +14856,9 @@ var AppWriteSchema = external_exports.object({
|
|
|
14856
14856
|
config: AppConfigSchema,
|
|
14857
14857
|
status: external_exports.enum(["active", "disabled"]).optional()
|
|
14858
14858
|
}).strict().meta({ id: "AppWrite" });
|
|
14859
|
+
var AppUpdateSchema = AppWriteSchema.extend({
|
|
14860
|
+
revision: external_exports.number().int().positive()
|
|
14861
|
+
}).meta({ id: "AppUpdate" });
|
|
14859
14862
|
var AppAttestKeyIdSchema = external_exports.string().min(1).max(200);
|
|
14860
14863
|
var ChallengeSchema = external_exports.string().min(1).max(200);
|
|
14861
14864
|
var AppAttestRegisterRequestSchema = external_exports.object({
|
|
@@ -15507,7 +15510,6 @@ var CliOperationRequestSchema = external_exports.object({
|
|
|
15507
15510
|
}).strict();
|
|
15508
15511
|
var CliSubmissionRequestSchema = external_exports.object({
|
|
15509
15512
|
submissionToken: CliProofSchema,
|
|
15510
|
-
humanCode: external_exports.string().max(40).optional(),
|
|
15511
15513
|
approve: external_exports.literal(true).optional(),
|
|
15512
15514
|
allowServiceAccess: external_exports.boolean().optional(),
|
|
15513
15515
|
email: external_exports.email().optional(),
|
|
@@ -15528,6 +15530,26 @@ var CliAccountSchema = external_exports.object({
|
|
|
15528
15530
|
claimed: external_exports.boolean(),
|
|
15529
15531
|
expiresAt: external_exports.string().nullable()
|
|
15530
15532
|
});
|
|
15533
|
+
var CliBrowserDetailsResponseSchema = external_exports.object({
|
|
15534
|
+
kind: CliOperationRequestSchema.shape.kind,
|
|
15535
|
+
payload: external_exports.record(external_exports.string(), external_exports.unknown()),
|
|
15536
|
+
account: CliAccountSchema,
|
|
15537
|
+
signedIn: external_exports.boolean(),
|
|
15538
|
+
googleEnabled: external_exports.boolean(),
|
|
15539
|
+
expiresAt: external_exports.string()
|
|
15540
|
+
});
|
|
15541
|
+
var CliBrowserSubmitResponseSchema = external_exports.object({
|
|
15542
|
+
state: external_exports.literal("completed"),
|
|
15543
|
+
message: external_exports.string()
|
|
15544
|
+
});
|
|
15545
|
+
var CliBrowserRegisterResponseSchema = external_exports.object({
|
|
15546
|
+
token: external_exports.string().nullable().optional(),
|
|
15547
|
+
redirect: external_exports.boolean().optional()
|
|
15548
|
+
});
|
|
15549
|
+
var CliBrowserGoogleResponseSchema = external_exports.object({
|
|
15550
|
+
url: external_exports.string(),
|
|
15551
|
+
redirect: external_exports.boolean().optional()
|
|
15552
|
+
});
|
|
15531
15553
|
var CliCredentialSchema = external_exports.object({
|
|
15532
15554
|
token: external_exports.string()
|
|
15533
15555
|
});
|
|
@@ -15542,7 +15564,6 @@ var CliOperationResponseSchema = external_exports.object({
|
|
|
15542
15564
|
url: external_exports.url(),
|
|
15543
15565
|
expiresAt: external_exports.string(),
|
|
15544
15566
|
state: external_exports.enum(["pending", "completed", "failed", "expired"]),
|
|
15545
|
-
humanCode: external_exports.string().optional(),
|
|
15546
15567
|
deployment: CliDeploymentSchema
|
|
15547
15568
|
});
|
|
15548
15569
|
var CliOperationResultSchema = external_exports.object({
|
|
@@ -15699,7 +15720,11 @@ var responseSchemas = {
|
|
|
15699
15720
|
createCliOperation: CliOperationResponseSchema,
|
|
15700
15721
|
pollCliOperation: CliPollResponseSchema,
|
|
15701
15722
|
getCliAccount: CliAccountResponseSchema,
|
|
15702
|
-
getCliUsage: CliUsageResponseSchema
|
|
15723
|
+
getCliUsage: CliUsageResponseSchema,
|
|
15724
|
+
cliBrowserDetails: CliBrowserDetailsResponseSchema,
|
|
15725
|
+
cliBrowserSubmit: CliBrowserSubmitResponseSchema,
|
|
15726
|
+
cliBrowserRegister: CliBrowserRegisterResponseSchema,
|
|
15727
|
+
cliBrowserGoogle: CliBrowserGoogleResponseSchema
|
|
15703
15728
|
};
|
|
15704
15729
|
var responseSchemaFor = responseSchemas;
|
|
15705
15730
|
var CliErrorDetailsSchema = external_exports.object({
|
|
@@ -15714,7 +15739,6 @@ var CliErrorDetailsSchema = external_exports.object({
|
|
|
15714
15739
|
state: external_exports.string().optional(),
|
|
15715
15740
|
expiresAt: external_exports.string().optional(),
|
|
15716
15741
|
url: external_exports.string().optional(),
|
|
15717
|
-
humanCode: external_exports.string().optional(),
|
|
15718
15742
|
/** The tail of a failed subprocess's own output, for failures it explains. */
|
|
15719
15743
|
output: external_exports.string().optional()
|
|
15720
15744
|
});
|
|
@@ -15900,6 +15924,29 @@ var operations = {
|
|
|
15900
15924
|
getCliUsage: operation()(
|
|
15901
15925
|
"GET",
|
|
15902
15926
|
(query = {}) => `/v1/cli/usage${searchSuffix(query)}`
|
|
15927
|
+
),
|
|
15928
|
+
/*
|
|
15929
|
+
* The browser half of a handoff, called by the console's approval page rather
|
|
15930
|
+
* than by the CLI. Every one of them carries the submission proof from the
|
|
15931
|
+
* URL fragment in its body, so they are POSTs with no readable URL of their
|
|
15932
|
+
* own; routing them through here is what keeps the page from writing those
|
|
15933
|
+
* paths by hand.
|
|
15934
|
+
*/
|
|
15935
|
+
cliBrowserDetails: operation()(
|
|
15936
|
+
"POST",
|
|
15937
|
+
(id) => `/v1/cli/browser/${seg(id)}/details`
|
|
15938
|
+
),
|
|
15939
|
+
cliBrowserSubmit: operation()(
|
|
15940
|
+
"POST",
|
|
15941
|
+
(id) => `/v1/cli/browser/${seg(id)}/submit`
|
|
15942
|
+
),
|
|
15943
|
+
cliBrowserRegister: operation()(
|
|
15944
|
+
"POST",
|
|
15945
|
+
(id) => `/v1/cli/browser/${seg(id)}/register`
|
|
15946
|
+
),
|
|
15947
|
+
cliBrowserGoogle: operation()(
|
|
15948
|
+
"POST",
|
|
15949
|
+
(id) => `/v1/cli/browser/${seg(id)}/google`
|
|
15903
15950
|
)
|
|
15904
15951
|
};
|
|
15905
15952
|
|
|
@@ -17036,16 +17083,16 @@ async function appCommand(ctx, command, args, flags) {
|
|
|
17036
17083
|
}
|
|
17037
17084
|
if (action === "add" || action === "update") {
|
|
17038
17085
|
let current;
|
|
17039
|
-
let
|
|
17086
|
+
let revision = 0;
|
|
17040
17087
|
const appId2 = args[0] ?? "";
|
|
17041
17088
|
if (action === "update") {
|
|
17042
17089
|
const r = await ctx.call("getApp", [appId2]);
|
|
17043
17090
|
current = documentOf(r.data.app);
|
|
17044
|
-
|
|
17045
|
-
if (!
|
|
17091
|
+
revision = r.data.app.revision;
|
|
17092
|
+
if (!revision && !flags["dry-run"])
|
|
17046
17093
|
fail(
|
|
17047
17094
|
"concurrency_unavailable",
|
|
17048
|
-
"The deployment does not
|
|
17095
|
+
"The deployment does not report application revisions.",
|
|
17049
17096
|
"Update the deployment before modifying an application.",
|
|
17050
17097
|
3
|
|
17051
17098
|
);
|
|
@@ -17091,8 +17138,7 @@ async function appCommand(ctx, command, args, flags) {
|
|
|
17091
17138
|
await created.complete();
|
|
17092
17139
|
} else {
|
|
17093
17140
|
const updated = await ctx.call("updateApp", [appId2], {
|
|
17094
|
-
body: doc2,
|
|
17095
|
-
headers: { "if-match": etag ?? "" }
|
|
17141
|
+
body: { ...doc2, revision }
|
|
17096
17142
|
});
|
|
17097
17143
|
({ app, resolved, config_error: configError } = updated.data);
|
|
17098
17144
|
}
|
|
@@ -17344,7 +17390,7 @@ var Context = class {
|
|
|
17344
17390
|
...headers === void 0 ? {} : { headers }
|
|
17345
17391
|
}
|
|
17346
17392
|
);
|
|
17347
|
-
return { data: this.parse(name, wire.data)
|
|
17393
|
+
return { data: this.parse(name, wire.data) };
|
|
17348
17394
|
}
|
|
17349
17395
|
parse(name, data) {
|
|
17350
17396
|
const parsed = responseSchemaFor[name].safeParse(data);
|
|
@@ -17500,7 +17546,6 @@ var Context = class {
|
|
|
17500
17546
|
4
|
|
17501
17547
|
);
|
|
17502
17548
|
let data;
|
|
17503
|
-
let etag = null;
|
|
17504
17549
|
if (mutation.response !== void 0) {
|
|
17505
17550
|
const recovered = this.parse(name, mutation.response);
|
|
17506
17551
|
const keyRecord = recoveredKey(name, recovered);
|
|
@@ -17535,13 +17580,11 @@ var Context = class {
|
|
|
17535
17580
|
throw error51;
|
|
17536
17581
|
});
|
|
17537
17582
|
data = response.data;
|
|
17538
|
-
etag = response.etag;
|
|
17539
17583
|
mutation.response = data;
|
|
17540
17584
|
await this.save();
|
|
17541
17585
|
}
|
|
17542
17586
|
return {
|
|
17543
17587
|
data,
|
|
17544
|
-
etag,
|
|
17545
17588
|
keyStored: async (metadata) => {
|
|
17546
17589
|
mutation.keyMetadata = metadata;
|
|
17547
17590
|
await this.save();
|
|
@@ -17717,7 +17760,7 @@ var Context = class {
|
|
|
17717
17760
|
process.stderr.write(
|
|
17718
17761
|
`Complete the browser handoff: ${data.url}
|
|
17719
17762
|
Operation: ${data.id}
|
|
17720
|
-
|
|
17763
|
+
`
|
|
17721
17764
|
);
|
|
17722
17765
|
return this.wait(data.id, 300);
|
|
17723
17766
|
}
|
|
@@ -18515,8 +18558,6 @@ function humanResult(command, result, context) {
|
|
|
18515
18558
|
return result.snippet;
|
|
18516
18559
|
if ("state" in result && result.state === "pending" && "url" in result) {
|
|
18517
18560
|
lines.push(`Waiting for browser handoff (${result.id}).`, result.url);
|
|
18518
|
-
if (result.humanCode)
|
|
18519
|
-
lines.push(`Human confirmation code: ${result.humanCode}`);
|
|
18520
18561
|
lines.push(`Resume: agw operation wait ${result.id}`);
|
|
18521
18562
|
} else if ("guidance" in result && "app" in result) {
|
|
18522
18563
|
lines.push(
|
|
@@ -18652,7 +18693,7 @@ var Transport = class {
|
|
|
18652
18693
|
details
|
|
18653
18694
|
);
|
|
18654
18695
|
}
|
|
18655
|
-
return { data
|
|
18696
|
+
return { data };
|
|
18656
18697
|
}
|
|
18657
18698
|
};
|
|
18658
18699
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as e,A as t,C as n,I as r,M as i,N as a,O as o,P as s,Q as c,S as l,T as u,Z as d,_ as f,at as p,d as m,ft as h,g,h as _,it as v,j as y,k as b,l as x,lt as S,m as ee,n as te,nt as ne,ot as re,p as ie,st as ae,t as C,tt as oe,u as se,w as ce,x as le,y as ue}from"./index-
|
|
1
|
+
import{$ as e,A as t,C as n,I as r,M as i,N as a,O as o,P as s,Q as c,S as l,T as u,Z as d,_ as f,at as p,d as m,ft as h,g,h as _,it as v,j as y,k as b,l as x,lt as S,m as ee,n as te,nt as ne,ot as re,p as ie,st as ae,t as C,tt as oe,u as se,w as ce,x as le,y as ue}from"./index-BGQQK35_.js";var w=h(S());function de(){return de=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},de.apply(null,arguments)}function fe(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var pe=[],me=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?me:pe).push(n+=e[t])})();function he(e){if(e<768)return!1;for(let t=0,n=pe.length;;){let r=t+n>>1;if(e<pe[r])n=r;else if(e>=me[r])t=r+1;else return!0;if(t==n)return!1}}function T(e){return e>=127462&&e<=127487}var ge=8205;function _e(e,t,n=!0,r=!0){return(n?ve:ye)(e,t,r)}function ve(e,t,n){if(t==e.length)return t;t&&xe(e.charCodeAt(t))&&Se(e.charCodeAt(t-1))&&t--;let r=be(e,t);for(t+=Ce(r);t<e.length;){let i=be(e,t);if(r==ge||i==ge||n&&he(i))t+=Ce(i),r=i;else if(T(i)){let n=0,r=t-2;for(;r>=0&&T(be(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function ye(e,t,n){for(;t>1;){let r=ve(e,t-2,n);if(r<t)return r;t--}return 0}function be(e,t){let n=e.charCodeAt(t);if(!Se(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return xe(r)?(n-55296<<10)+(r-56320)+65536:n}function xe(e){return e>=56320&&e<57344}function Se(e){return e>=55296&&e<56320}function Ce(e){return e<65536?1:2}var E=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=Me(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),we.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Me(this,e,t);let n=[];return this.decompose(e,t,n,0),we.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new Oe(this),i=new Oe(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new Oe(this,e)}iterRange(e,t=this.length){return new ke(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ae(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new D(t):we.from(D.split(t,[]))}},D=class e extends E{constructor(e,t=Te(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new je(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(De(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=Ee(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=Me(this,t,n);let i=Ee(this.text,Ee(r.text,De(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):we.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
|
|
2
2
|
`){[e,t]=Me(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},we=class e extends E{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=Me(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
|
|
3
3
|
`){[e,t]=Me(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new D(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof D&&c&&(n=u[u.length-1])instanceof D&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new D(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};E.empty=new D([``],0);function Te(e){let t=-1;for(let n of e)t+=n.length+1;return t}function Ee(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function De(e,t,n){return Ee(e,[``],t,n)}var Oe=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof D?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof D?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
4
4
|
`,this;e--}else if(r instanceof D){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof D?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},ke=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new Oe(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},Ae=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<`u`&&(E.prototype[Symbol.iterator]=function(){return this.iter()},Oe.prototype[Symbol.iterator]=ke.prototype[Symbol.iterator]=Ae.prototype[Symbol.iterator]=function(){return this});var je=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function Me(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function O(e,t,n=!0,r=!0){return _e(e,t,n,r)}function Ne(e){return e>=56320&&e<57344}function Pe(e){return e>=55296&&e<56320}function Fe(e,t){let n=e.charCodeAt(t);if(!Pe(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return Ne(r)?(n-55296<<10)+(r-56320)+65536:n}function Ie(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,(e&1023)+56320))}function Le(e){return e<65536?1:2}var Re=/\r\n?|\n/,ze=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(ze||={}),Be=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){We(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:Ke(this,e)}mapDesc(e,t=!1){return e.empty?this:Ge(this,e,t)}mapPos(e,t=-1,n=ze.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=ze.Simple&&c>=e&&(n==ze.TrackDel&&r<e&&c>e||n==ze.TrackBefore&&r<e||n==ze.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},Ve=class e extends Be{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return We(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return Ge(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(E.empty);r.push(a?t.slice(i,i+a):E.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:Ke(this,e,!0)}map(e,t=!1){return e.empty?this:Ge(this,e,t,!0)}iterChanges(e,t=!1){We(this,e,t)}get desc(){return Be.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new qe(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);He(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;He(n,e,t),t>0&&Ue(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);He(n,e,-1),He(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:Be.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&He(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?E.of(l.split(r||Re)):l:E.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&He(i,e-o,-1),He(i,s-e,d),Ue(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(E.empty);r[e]=E.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}};function He(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function Ue(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(E.empty);e.push(n)}}function We(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=E.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function Ge(e,t,n,r=!1){let i=[],a=r?[]:null,o=new qe(e),s=new qe(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);He(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(He(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(He(i,0,o.ins),a&&Ue(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;He(i,t,e<o.i?o.ins:0),a&&e<o.i&&Ue(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?Ve.createSet(i,a):Be.create(i);else throw Error(`Mismatched change set lengths`)}function Ke(e,t,n=!1){let r=[],i=n?[]:null,a=new qe(e),o=new qe(t);for(let e=!1;;)if(a.done&&o.done)return i?Ve.createSet(r,i):Be.create(r);else if(a.ins==0)He(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)He(r,0,o.ins,e),i&&Ue(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;He(r,t,n,e),i&&n&&Ue(i,r,o.text)}else o.ins==-1?(He(r,a.off?0:a.len,t,e),i&&Ue(i,r,a.textBit(t))):(He(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&Ue(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}var qe=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?E.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?E.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Je=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.flags=n,this.goalColumn=r}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags,this.goalColumn)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return k.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return k.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return k.range(e.anchor,e.head)}static create(t,n,r,i){return new e(t,n,r,i)}},k=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>Je.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return Je.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n)),r)}static range(e,t,n,r,i){let a=r==null?7:Math.min(6,r);return!i&&e!=t&&(i=t<e?1:-1),i&&(a|=i<0?8:16),t<e?Je.create(t,e,a|32,n):Je.create(e,t,a,n)}static undirectionalRange(e,t){return Je.create(e,t,64,void 0)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}};function Ye(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}var Xe=0,A=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Xe++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:Ze),!!t.static,t.enables)}of(e){return new Qe([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Qe(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Qe(e,this,2,t)}from(e,t){return t||=e=>e,this.compute([e],n=>t(n.field(e)))}};function Ze(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}var Qe=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Xe++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||et(e,c)){let r=t(e);if(a?!$e(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=pt(o,c);if(this.dependencies.every(t=>t instanceof A?o.facet(t)===e.facet(t):t instanceof rt?o.field(t,!1)==e.field(t,!1):!0)||(a?$e(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}get extension(){return this}};function $e(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function et(e,t){let n=!1;for(let r of t)ft(e,r)&1&&(n=!0);return n}function tt(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=pt(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)ft(e,t);return e.values[o]=s(e),1},update(e,n){if(!et(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=et(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&Ze(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}var nt=A.define({static:!0}),rt=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(Xe++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(nt).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(nt),i=n.facet(nt),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,nt.of({field:this,create:e})]}get extension(){return this}},it={lowest:4,low:3,default:2,high:1,highest:0};function at(e){return t=>new st(t,e)}var ot={highest:at(it.highest),high:at(it.high),default:at(it.default),low:at(it.low),lowest:at(it.lowest)},st=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},ct=class e{of(e){return new lt(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},lt=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},ut=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of dt(t,n,o))e instanceof rt?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0))if(s[n.id]=c.length<<1|1,Ze(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>tt(e,n,t))}}let d=l.map(e=>e(s));return new e(t,o,d,s,c,a)}};function dt(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof lt&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof lt){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof st)a(e.inner,e.prec);else if(e instanceof rt)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof Qe)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,it.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}).`);if(t==e)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,it.default),r.reduce((e,t)=>e.concat(t))}function ft(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function pt(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}var mt=A.define(),ht=A.define({combine:e=>e.some(e=>e),static:!0}),gt=A.define({combine:e=>e.length?e[0]:void 0,static:!0}),_t=A.define(),vt=A.define(),yt=A.define(),bt=A.define({combine:e=>e.length?e[0]:!1}),xt=class{constructor(e,t){this.type=e,this.value=t}static define(){return new St}},St=class{of(e){return new xt(this,e)}},Ct=class{constructor(e){this.map=e}of(e){return new j(this,e)}},j=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new Ct(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}};j.reconfigure=j.define(),j.appendConfig=j.define();var wt=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Ye(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||=this.changes.apply(this.startState.doc)}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}};wt.time=xt.define(),wt.userEvent=xt.define(),wt.addToHistory=xt.define(),wt.remote=xt.define();function Tt(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function Et(e,t,n){let r,i,a;return n?(r=t.changes,i=Ve.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:j.mapEffects(e.effects,r).concat(j.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function Dt(e,t,n){let r=t.selection,i=Mt(t.annotations);return t.userEvent&&(i=i.concat(wt.userEvent.of(t.userEvent))),{changes:t.changes instanceof Ve?t.changes:Ve.of(t.changes||[],n,e.facet(gt)),selection:r&&(r instanceof k?r:k.single(r.anchor,r.head)),effects:Mt(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function Ot(e,t,n){let r=Dt(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=Et(r,Dt(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=wt.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return At(n?kt(i):i)}function kt(e){let t=e.startState,n=!0;for(let r of t.facet(_t)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:Tt(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=Ve.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=wt.create(t,r,e.selection&&e.selection.map(i),j.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(vt);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof wt?i:Array.isArray(i)&&i.length==1&&i[0]instanceof wt?i[0]:Ot(t,Mt(i),!1)}return e}function At(e){let t=e.startState,n=t.facet(yt),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=Et(r,Dt(t,a,e.changes.newLength),!0))}return r==e?e:wt.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}var jt=[];function Mt(e){return e==null?jt:Array.isArray(e)?e:[e]}var M=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(M||={}),Nt=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Pt;try{Pt=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}function Ft(e){if(Pt)return Pt.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>``&&(n.toUpperCase()!=n.toLowerCase()||Nt.test(n)))return!0}return!1}function It(e){return t=>{if(!/\S/.test(t))return M.Space;if(Ft(t))return M.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return M.Word;return M.Other}}var N=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)ft(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return ft(this,n),pt(this,n)}update(...e){return Ot(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(ct.reconfigure)?(n&&=(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),null),i.set(e.value.compartment,e.value.extension)):e.is(j.reconfigure)?(n=null,r=e.value):e.is(j.appendConfig)&&(n=null,r=Mt(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=ut.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(ht)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:k.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=Mt(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=j.mapEffects(a,c).concat(j.mapEffects(Mt(o.effects),l))}return{changes:r,selection:k.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof Ve?t:Ve.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return E.of(t.split(this.facet(e.lineSeparator)||Re))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ft(this,t),pt(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof rt&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:k.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=ut.resolve(t.extensions||[],new Map),r=t.doc instanceof E?t.doc:E.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||Re)),i=t.selection?t.selection instanceof k?t.selection:k.single(t.selection.anchor,t.selection.head):k.single(0);return Ye(i,r.length),n.staticFacet(ht)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`
|