@maxceem/agw 0.1.3 → 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 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 both the returned URL and human confirmation code where present. 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.
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.3", wrangler: "4.96.0", upgradeFrom: ["0.1.3", "0.1.2", "0.1.1", "0.1.0"] };
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";
@@ -15510,7 +15510,6 @@ var CliOperationRequestSchema = external_exports.object({
15510
15510
  }).strict();
15511
15511
  var CliSubmissionRequestSchema = external_exports.object({
15512
15512
  submissionToken: CliProofSchema,
15513
- humanCode: external_exports.string().max(40).optional(),
15514
15513
  approve: external_exports.literal(true).optional(),
15515
15514
  allowServiceAccess: external_exports.boolean().optional(),
15516
15515
  email: external_exports.email().optional(),
@@ -15531,6 +15530,26 @@ var CliAccountSchema = external_exports.object({
15531
15530
  claimed: external_exports.boolean(),
15532
15531
  expiresAt: external_exports.string().nullable()
15533
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
+ });
15534
15553
  var CliCredentialSchema = external_exports.object({
15535
15554
  token: external_exports.string()
15536
15555
  });
@@ -15545,7 +15564,6 @@ var CliOperationResponseSchema = external_exports.object({
15545
15564
  url: external_exports.url(),
15546
15565
  expiresAt: external_exports.string(),
15547
15566
  state: external_exports.enum(["pending", "completed", "failed", "expired"]),
15548
- humanCode: external_exports.string().optional(),
15549
15567
  deployment: CliDeploymentSchema
15550
15568
  });
15551
15569
  var CliOperationResultSchema = external_exports.object({
@@ -15702,7 +15720,11 @@ var responseSchemas = {
15702
15720
  createCliOperation: CliOperationResponseSchema,
15703
15721
  pollCliOperation: CliPollResponseSchema,
15704
15722
  getCliAccount: CliAccountResponseSchema,
15705
- getCliUsage: CliUsageResponseSchema
15723
+ getCliUsage: CliUsageResponseSchema,
15724
+ cliBrowserDetails: CliBrowserDetailsResponseSchema,
15725
+ cliBrowserSubmit: CliBrowserSubmitResponseSchema,
15726
+ cliBrowserRegister: CliBrowserRegisterResponseSchema,
15727
+ cliBrowserGoogle: CliBrowserGoogleResponseSchema
15706
15728
  };
15707
15729
  var responseSchemaFor = responseSchemas;
15708
15730
  var CliErrorDetailsSchema = external_exports.object({
@@ -15717,7 +15739,6 @@ var CliErrorDetailsSchema = external_exports.object({
15717
15739
  state: external_exports.string().optional(),
15718
15740
  expiresAt: external_exports.string().optional(),
15719
15741
  url: external_exports.string().optional(),
15720
- humanCode: external_exports.string().optional(),
15721
15742
  /** The tail of a failed subprocess's own output, for failures it explains. */
15722
15743
  output: external_exports.string().optional()
15723
15744
  });
@@ -15903,6 +15924,29 @@ var operations = {
15903
15924
  getCliUsage: operation()(
15904
15925
  "GET",
15905
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`
15906
15950
  )
15907
15951
  };
15908
15952
 
@@ -17716,7 +17760,7 @@ var Context = class {
17716
17760
  process.stderr.write(
17717
17761
  `Complete the browser handoff: ${data.url}
17718
17762
  Operation: ${data.id}
17719
- ${data.humanCode ? "Human confirmation code: " + data.humanCode + "\n" : ""}`
17763
+ `
17720
17764
  );
17721
17765
  return this.wait(data.id, 300);
17722
17766
  }
@@ -18514,8 +18558,6 @@ function humanResult(command, result, context) {
18514
18558
  return result.snippet;
18515
18559
  if ("state" in result && result.state === "pending" && "url" in result) {
18516
18560
  lines.push(`Waiting for browser handoff (${result.id}).`, result.url);
18517
- if (result.humanCode)
18518
- lines.push(`Human confirmation code: ${result.humanCode}`);
18519
18561
  lines.push(`Resume: agw operation wait ${result.id}`);
18520
18562
  } else if ("guidance" in result && "app" in result) {
18521
18563
  lines.push(
@@ -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-CoITs7Dp.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=`
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)||`