fatma-app 1.0.14 → 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/dist/{NodeSqliteClient-BgRtZPGk.cjs → NodeSqliteClient-D1jdazy6.cjs} +2 -2
  2. package/dist/NodeSqliteClient-D1jdazy6.cjs.map +1 -0
  3. package/dist/{NodeSqliteClient-HpJMkQ8C.mjs → NodeSqliteClient-DoCRCneI.mjs} +2 -2
  4. package/dist/NodeSqliteClient-DoCRCneI.mjs.map +1 -0
  5. package/dist/client/assets/{DiffPanel-4ljXGXEy.js → DiffPanel-CvP0Fv_O.js} +1 -1
  6. package/dist/client/assets/{angular-html-BeDNkeew.js → angular-html-tPPHjjx5.js} +1 -1
  7. package/dist/client/assets/{angular-ts-CDLBgfkI.js → angular-ts-gVKLC__k.js} +1 -1
  8. package/dist/client/assets/{apl-rgWDyKIv.js → apl-CNMY5vaK.js} +1 -1
  9. package/dist/client/assets/{astro-PRqCm7Z1.js → astro-BK97VPIf.js} +1 -1
  10. package/dist/client/assets/{blade-qEl5UKHS.js → blade-Bon7PR05.js} +1 -1
  11. package/dist/client/assets/{c-DszpeTvX.js → c-462RDWCV.js} +1 -1
  12. package/dist/client/assets/{cobol-S9J5MM_j.js → cobol-7qWbXHES.js} +1 -1
  13. package/dist/client/assets/{coffee-DwCTVthq.js → coffee-xcwoN4dl.js} +1 -1
  14. package/dist/client/assets/{cpp-BdooxKsA.js → cpp-BHu7mAHn.js} +1 -1
  15. package/dist/client/assets/{crystal-1CsEBBGb.js → crystal-C8ZZ9YnD.js} +1 -1
  16. package/dist/client/assets/{css-BrGAjp14.js → css-BNDgW8uP.js} +1 -1
  17. package/dist/client/assets/{edge-QmAD8wW9.js → edge-DZerCrJp.js} +1 -1
  18. package/dist/client/assets/{elixir-CLbLNgui.js → elixir-D-dS9OeC.js} +1 -1
  19. package/dist/client/assets/{elm-CKNiO2TD.js → elm-DSylH3A-.js} +1 -1
  20. package/dist/client/assets/{erb-Dx0_Rvba.js → erb-nWIgYCqh.js} +1 -1
  21. package/dist/client/assets/{git-rebase-CKuTZSJp.js → git-rebase-CMoiQoAH.js} +1 -1
  22. package/dist/client/assets/{glimmer-js-COUwHYkl.js → glimmer-js-cT-tM4XV.js} +1 -1
  23. package/dist/client/assets/{glimmer-ts-GN6tmT_q.js → glimmer-ts-DPN_ODPV.js} +1 -1
  24. package/dist/client/assets/{glsl-BEFBEpN8.js → glsl-ps1EZnqT.js} +1 -1
  25. package/dist/client/assets/{graphql-CKBUs7Bt.js → graphql-DilR75T9.js} +1 -1
  26. package/dist/client/assets/{hack-Bpn_ah6c.js → hack-DSj0Nsw7.js} +1 -1
  27. package/dist/client/assets/{haml-BPq03dJY.js → haml-5B7lIRjY.js} +1 -1
  28. package/dist/client/assets/{handlebars-ybi2YDm9.js → handlebars-DcIo7B5n.js} +1 -1
  29. package/dist/client/assets/{html-D5v2-ioG.js → html-CitsQslc.js} +1 -1
  30. package/dist/client/assets/{html-derivative-D4jti6Gb.js → html-derivative-B9zOCjZn.js} +1 -1
  31. package/dist/client/assets/{http-BUF-LKwS.js → http-CSPpoWNP.js} +1 -1
  32. package/dist/client/assets/{hurl-DhiP7ERA.js → hurl-DoJhYt0O.js} +1 -1
  33. package/dist/client/assets/{index-BkyGebzB.js → index-Df81HDo8.js} +89 -89
  34. package/dist/client/assets/{java-da_ScwWL.js → java-WACPfFLy.js} +1 -1
  35. package/dist/client/assets/{javascript-CuH_JrpP.js → javascript-LwBkxfwE.js} +1 -1
  36. package/dist/client/assets/{jinja-DX_mzWaN.js → jinja-CXr3afAM.js} +1 -1
  37. package/dist/client/assets/{jison-BTXNBM32.js → jison-DC-4W06P.js} +1 -1
  38. package/dist/client/assets/{json-DqEfI1be.js → json-CPa-Y4WQ.js} +1 -1
  39. package/dist/client/assets/{jsx-2dP948TK.js → jsx-BEmS0P29.js} +1 -1
  40. package/dist/client/assets/{julia-DM85LH1t.js → julia-BScCxXKF.js} +1 -1
  41. package/dist/client/assets/{just-CzN4JwW_.js → just-j1UrD4lO.js} +1 -1
  42. package/dist/client/assets/{latex-BHR1iNn3.js → latex-CDOyDonX.js} +1 -1
  43. package/dist/client/assets/{liquid-BQeY0muT.js → liquid-CzrWMq3x.js} +1 -1
  44. package/dist/client/assets/{lua-C_OZ0gUd.js → lua-DziHMVU6.js} +1 -1
  45. package/dist/client/assets/{marko-JTAbciBh.js → marko-44zuua-d.js} +1 -1
  46. package/dist/client/assets/{mdc-B2a57uke.js → mdc-MQLLWmam.js} +1 -1
  47. package/dist/client/assets/{nginx-562hoYcr.js → nginx-CzAxeRz9.js} +1 -1
  48. package/dist/client/assets/{nim-D0MApb5n.js → nim-CM4agq1Z.js} +1 -1
  49. package/dist/client/assets/{perl-CEbuu_zA.js → perl-nB1u6s8J.js} +1 -1
  50. package/dist/client/assets/{php-qJEr5aGq.js → php-3JKuhlN9.js} +1 -1
  51. package/dist/client/assets/{pug-CGF-4hUu.js → pug-CD6hQR-A.js} +1 -1
  52. package/dist/client/assets/{qml-D_dvBZaF.js → qml-oZPQGM1K.js} +1 -1
  53. package/dist/client/assets/{r-Rc4jUIYO.js → r-g_GN9IGT.js} +1 -1
  54. package/dist/client/assets/{razor-BsODFDki.js → razor-CrkrOK7E.js} +1 -1
  55. package/dist/client/assets/{regexp-BOoAUrS9.js → regexp-DtZWMLOg.js} +1 -1
  56. package/dist/client/assets/{rst-CFqSixrQ.js → rst-AqjqHd7I.js} +1 -1
  57. package/dist/client/assets/{ruby-DruxM7j3.js → ruby-mf1_tsXa.js} +1 -1
  58. package/dist/client/assets/{sas-9ezihlhg.js → sas-Cb05ppPf.js} +1 -1
  59. package/dist/client/assets/{scss-DaRc0sgN.js → scss-8hSCVEyJ.js} +1 -1
  60. package/dist/client/assets/{shellscript-CgpTO8jG.js → shellscript-Bs0vDn1h.js} +1 -1
  61. package/dist/client/assets/{shellsession-CEp5wnQf.js → shellsession-DYB7Br0i.js} +1 -1
  62. package/dist/client/assets/{soy-DpiTT9lw.js → soy-CLtRVEPC.js} +1 -1
  63. package/dist/client/assets/{sql-Cj08003o.js → sql-BqP8tVUs.js} +1 -1
  64. package/dist/client/assets/{stata-C1C8gjmE.js → stata-VLQ7J7V6.js} +1 -1
  65. package/dist/client/assets/{surrealql-D3WNB1zi.js → surrealql-B7QOwHlE.js} +1 -1
  66. package/dist/client/assets/{svelte-CRTCy5cF.js → svelte-C9t2jZr4.js} +1 -1
  67. package/dist/client/assets/{templ-DJVELIN0.js → templ-f3N0HC2h.js} +1 -1
  68. package/dist/client/assets/{tex-8Utzn7kP.js → tex-B5ZZk-06.js} +1 -1
  69. package/dist/client/assets/{ts-tags-BPvJMw5l.js → ts-tags-hgF7IMDP.js} +1 -1
  70. package/dist/client/assets/{tsx-Uh_IEmuF.js → tsx-DFxzzhgf.js} +1 -1
  71. package/dist/client/assets/{twig-DYUvKiL4.js → twig-Bnu9oHly.js} +1 -1
  72. package/dist/client/assets/{typescript-Dn8z5BA2.js → typescript-CcQnY-en.js} +1 -1
  73. package/dist/client/assets/{vue-DhBfq31H.js → vue-BKKJcsmz.js} +1 -1
  74. package/dist/client/assets/{vue-html-Ci6sYcW-.js → vue-html-CdjwZAEG.js} +1 -1
  75. package/dist/client/assets/{vue-vine-C0EXOTsm.js → vue-vine-CSFvf6fx.js} +1 -1
  76. package/dist/client/assets/{xml-BjYkUQ28.js → xml-fEsgwEh_.js} +1 -1
  77. package/dist/client/assets/{xsl-DXmW0o9V.js → xsl-BXmsumtB.js} +1 -1
  78. package/dist/client/assets/{yaml-CXtTCTZr.js → yaml-BTSngiYo.js} +1 -1
  79. package/dist/client/index.html +4 -4
  80. package/dist/client/manifest.webmanifest +2 -2
  81. package/dist/index.cjs +82 -82
  82. package/dist/index.cjs.map +1 -1
  83. package/dist/index.mjs +82 -82
  84. package/dist/index.mjs.map +1 -1
  85. package/package.json +2 -2
  86. package/dist/NodeSqliteClient-BgRtZPGk.cjs.map +0 -1
  87. package/dist/NodeSqliteClient-HpJMkQ8C.mjs.map +0 -1
@@ -43,7 +43,7 @@ const TypeId = "~local/sqlite-node/SqliteClient";
43
43
  /**
44
44
  * SqliteClient - Effect service tag for the sqlite SQL client.
45
45
  */
46
- const SqliteClient = effect_ServiceMap.Service("t3/persistence/NodeSqliteClient");
46
+ const SqliteClient = effect_ServiceMap.Service("fatma/persistence/NodeSqliteClient");
47
47
  const makeWithDatabase = (options, openDatabase) => effect_Effect.gen(function* () {
48
48
  const compiler = effect_unstable_sql_Statement.makeCompilerSqlite(options.transformQueryNames);
49
49
  const transformRows = options.transformResultNames ? effect_unstable_sql_Statement.defaultTransforms(options.transformResultNames).array : void 0;
@@ -156,4 +156,4 @@ exports.TypeId = TypeId;
156
156
  exports.layer = layer;
157
157
  exports.layerConfig = layerConfig;
158
158
  exports.layerMemory = layerMemory;
159
- //# sourceMappingURL=NodeSqliteClient-BgRtZPGk.cjs.map
159
+ //# sourceMappingURL=NodeSqliteClient-D1jdazy6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSqliteClient-D1jdazy6.cjs","names":["ServiceMap","Effect","Statement","Scope","Cache","Duration","SqlError","Client","Stream","Semaphore","Fiber","DatabaseSync","Layer","Config","Reactivity"],"sources":["../src/persistence/NodeSqliteClient.ts"],"sourcesContent":["/**\n * Port of `@effect/sql-sqlite-node` that uses the native `node:sqlite`\n * bindings instead of `better-sqlite3`.\n *\n * @module SqliteClient\n */\nimport { DatabaseSync, type StatementSync } from \"node:sqlite\";\n\nimport * as Cache from \"effect/Cache\";\nimport * as Config from \"effect/Config\";\nimport * as Duration from \"effect/Duration\";\nimport * as Effect from \"effect/Effect\";\nimport * as Fiber from \"effect/Fiber\";\nimport { identity } from \"effect/Function\";\nimport * as Layer from \"effect/Layer\";\nimport * as Scope from \"effect/Scope\";\nimport * as Semaphore from \"effect/Semaphore\";\nimport * as ServiceMap from \"effect/ServiceMap\";\nimport * as Stream from \"effect/Stream\";\nimport * as Reactivity from \"effect/unstable/reactivity/Reactivity\";\nimport * as Client from \"effect/unstable/sql/SqlClient\";\nimport type { Connection } from \"effect/unstable/sql/SqlConnection\";\nimport { SqlError } from \"effect/unstable/sql/SqlError\";\nimport * as Statement from \"effect/unstable/sql/Statement\";\n\nconst ATTR_DB_SYSTEM_NAME = \"db.system.name\";\n\nexport const TypeId: TypeId = \"~local/sqlite-node/SqliteClient\";\n\nexport type TypeId = \"~local/sqlite-node/SqliteClient\";\n\n/**\n * SqliteClient - Effect service tag for the sqlite SQL client.\n */\nexport const SqliteClient = ServiceMap.Service<Client.SqlClient>(\"fatma/persistence/NodeSqliteClient\");\n\nexport interface SqliteClientConfig {\n readonly filename: string;\n readonly readonly?: boolean | undefined;\n readonly allowExtension?: boolean | undefined;\n readonly prepareCacheSize?: number | undefined;\n readonly prepareCacheTTL?: Duration.Input | undefined;\n readonly spanAttributes?: Record<string, unknown> | undefined;\n readonly transformResultNames?: ((str: string) => string) | undefined;\n readonly transformQueryNames?: ((str: string) => string) | undefined;\n}\n\nexport interface SqliteMemoryClientConfig extends Omit<\n SqliteClientConfig,\n \"filename\" | \"readonly\"\n> {}\n\nconst makeWithDatabase = (\n options: SqliteClientConfig,\n openDatabase: () => DatabaseSync,\n): Effect.Effect<Client.SqlClient, never, Scope.Scope | Reactivity.Reactivity> =>\n Effect.gen(function* () {\n const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);\n const transformRows = options.transformResultNames\n ? Statement.defaultTransforms(options.transformResultNames).array\n : undefined;\n\n const makeConnection = Effect.gen(function* () {\n const scope = yield* Effect.scope;\n const db = openDatabase();\n yield* Scope.addFinalizer(\n scope,\n Effect.sync(() => db.close()),\n );\n\n const statementReaderCache = new WeakMap<StatementSync, boolean>();\n const hasRows = (statement: StatementSync): boolean => {\n const cached = statementReaderCache.get(statement);\n if (cached !== undefined) {\n return cached;\n }\n const value = statement.columns().length > 0;\n statementReaderCache.set(statement, value);\n return value;\n };\n\n const prepareCache = yield* Cache.make({\n capacity: options.prepareCacheSize ?? 200,\n timeToLive: options.prepareCacheTTL ?? Duration.minutes(10),\n lookup: (sql: string) =>\n Effect.try({\n try: () => db.prepare(sql),\n catch: (cause) => new SqlError({ cause, message: \"Failed to prepare statement\" }),\n }),\n });\n\n const runStatement = (\n statement: StatementSync,\n params: ReadonlyArray<unknown>,\n raw: boolean,\n ) =>\n Effect.withFiber<ReadonlyArray<any>, SqlError>((fiber) => {\n statement.setReadBigInts(Boolean(ServiceMap.get(fiber.services, Client.SafeIntegers)));\n try {\n if (hasRows(statement)) {\n return Effect.succeed(statement.all(...(params as any)));\n }\n const result = statement.run(...(params as any));\n return Effect.succeed(raw ? (result as unknown as ReadonlyArray<any>) : []);\n } catch (cause) {\n return Effect.fail(new SqlError({ cause, message: \"Failed to execute statement\" }));\n }\n });\n\n const run = (sql: string, params: ReadonlyArray<unknown>, raw = false) =>\n Effect.flatMap(Cache.get(prepareCache, sql), (s) => runStatement(s, params, raw));\n\n const runValues = (sql: string, params: ReadonlyArray<unknown>) =>\n Effect.acquireUseRelease(\n Cache.get(prepareCache, sql),\n (statement) =>\n Effect.try({\n try: () => {\n if (hasRows(statement)) {\n statement.setReturnArrays(true);\n // Safe to cast to array after we've setReturnArrays(true)\n return statement.all(...(params as any)) as unknown as ReadonlyArray<\n ReadonlyArray<unknown>\n >;\n }\n statement.run(...(params as any));\n return [];\n },\n catch: (cause) => new SqlError({ cause, message: \"Failed to execute statement\" }),\n }),\n (statement) =>\n Effect.sync(() => {\n if (hasRows(statement)) {\n statement.setReturnArrays(false);\n }\n }),\n );\n\n return identity<Connection>({\n execute(sql, params, rowTransform) {\n return rowTransform ? Effect.map(run(sql, params), rowTransform) : run(sql, params);\n },\n executeRaw(sql, params) {\n return run(sql, params, true);\n },\n executeValues(sql, params) {\n return runValues(sql, params);\n },\n executeUnprepared(sql, params, rowTransform) {\n const effect = runStatement(db.prepare(sql), params ?? [], false);\n return rowTransform ? Effect.map(effect, rowTransform) : effect;\n },\n executeStream(_sql, _params) {\n return Stream.die(\"executeStream not implemented\");\n },\n });\n });\n\n const semaphore = yield* Semaphore.make(1);\n const connection = yield* makeConnection;\n\n const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));\n const transactionAcquirer = Effect.uninterruptibleMask((restore) => {\n const fiber = Fiber.getCurrent()!;\n const scope = ServiceMap.getUnsafe(fiber.services, Scope.Scope);\n return Effect.as(\n Effect.tap(restore(semaphore.take(1)), () =>\n Scope.addFinalizer(scope, semaphore.release(1)),\n ),\n connection,\n );\n });\n\n return yield* Client.make({\n acquirer,\n compiler,\n transactionAcquirer,\n spanAttributes: [\n ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),\n [ATTR_DB_SYSTEM_NAME, \"sqlite\"],\n ],\n transformRows,\n });\n });\n\nconst make = (\n options: SqliteClientConfig,\n): Effect.Effect<Client.SqlClient, never, Scope.Scope | Reactivity.Reactivity> =>\n makeWithDatabase(\n options,\n () =>\n new DatabaseSync(options.filename, {\n readOnly: options.readonly ?? false,\n allowExtension: options.allowExtension ?? false,\n }),\n );\n\nconst makeMemory = (\n config: SqliteMemoryClientConfig = {},\n): Effect.Effect<Client.SqlClient, never, Scope.Scope | Reactivity.Reactivity> =>\n makeWithDatabase(\n {\n ...config,\n filename: \":memory:\",\n readonly: false,\n },\n () => {\n const database = new DatabaseSync(\":memory:\", {\n allowExtension: config.allowExtension ?? false,\n });\n return database;\n },\n );\n\nexport const layerConfig = (\n config: Config.Wrap<SqliteClientConfig>,\n): Layer.Layer<Client.SqlClient, Config.ConfigError> =>\n Layer.effectServices(\n Config.unwrap(config)\n .asEffect()\n .pipe(\n Effect.flatMap(make),\n Effect.map((client) =>\n ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)),\n ),\n ),\n ).pipe(Layer.provide(Reactivity.layer));\n\nexport const layer = (config: SqliteClientConfig): Layer.Layer<Client.SqlClient> =>\n Layer.effectServices(\n Effect.map(make(config), (client) =>\n ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)),\n ),\n ).pipe(Layer.provide(Reactivity.layer));\n\nexport const layerMemory = (config: SqliteMemoryClientConfig = {}): Layer.Layer<Client.SqlClient> =>\n Layer.effectServices(\n Effect.map(makeMemory(config), (client) =>\n ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)),\n ),\n ).pipe(Layer.provide(Reactivity.layer));\n"],"mappings":"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"}
@@ -29,7 +29,7 @@ const TypeId = "~local/sqlite-node/SqliteClient";
29
29
  /**
30
30
  * SqliteClient - Effect service tag for the sqlite SQL client.
31
31
  */
32
- const SqliteClient = ServiceMap.Service("t3/persistence/NodeSqliteClient");
32
+ const SqliteClient = ServiceMap.Service("fatma/persistence/NodeSqliteClient");
33
33
  const makeWithDatabase = (options, openDatabase) => Effect.gen(function* () {
34
34
  const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);
35
35
  const transformRows = options.transformResultNames ? Statement.defaultTransforms(options.transformResultNames).array : void 0;
@@ -138,4 +138,4 @@ const layerMemory = (config = {}) => Layer.effectServices(Effect.map(makeMemory(
138
138
 
139
139
  //#endregion
140
140
  export { SqliteClient, TypeId, layer, layerConfig, layerMemory };
141
- //# sourceMappingURL=NodeSqliteClient-HpJMkQ8C.mjs.map
141
+ //# sourceMappingURL=NodeSqliteClient-DoCRCneI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSqliteClient-DoCRCneI.mjs","names":[],"sources":["../src/persistence/NodeSqliteClient.ts"],"sourcesContent":["/**\n * Port of `@effect/sql-sqlite-node` that uses the native `node:sqlite`\n * bindings instead of `better-sqlite3`.\n *\n * @module SqliteClient\n */\nimport { DatabaseSync, type StatementSync } from \"node:sqlite\";\n\nimport * as Cache from \"effect/Cache\";\nimport * as Config from \"effect/Config\";\nimport * as Duration from \"effect/Duration\";\nimport * as Effect from \"effect/Effect\";\nimport * as Fiber from \"effect/Fiber\";\nimport { identity } from \"effect/Function\";\nimport * as Layer from \"effect/Layer\";\nimport * as Scope from \"effect/Scope\";\nimport * as Semaphore from \"effect/Semaphore\";\nimport * as ServiceMap from \"effect/ServiceMap\";\nimport * as Stream from \"effect/Stream\";\nimport * as Reactivity from \"effect/unstable/reactivity/Reactivity\";\nimport * as Client from \"effect/unstable/sql/SqlClient\";\nimport type { Connection } from \"effect/unstable/sql/SqlConnection\";\nimport { SqlError } from \"effect/unstable/sql/SqlError\";\nimport * as Statement from \"effect/unstable/sql/Statement\";\n\nconst ATTR_DB_SYSTEM_NAME = \"db.system.name\";\n\nexport const TypeId: TypeId = \"~local/sqlite-node/SqliteClient\";\n\nexport type TypeId = \"~local/sqlite-node/SqliteClient\";\n\n/**\n * SqliteClient - Effect service tag for the sqlite SQL client.\n */\nexport const SqliteClient = ServiceMap.Service<Client.SqlClient>(\"fatma/persistence/NodeSqliteClient\");\n\nexport interface SqliteClientConfig {\n readonly filename: string;\n readonly readonly?: boolean | undefined;\n readonly allowExtension?: boolean | undefined;\n readonly prepareCacheSize?: number | undefined;\n readonly prepareCacheTTL?: Duration.Input | undefined;\n readonly spanAttributes?: Record<string, unknown> | undefined;\n readonly transformResultNames?: ((str: string) => string) | undefined;\n readonly transformQueryNames?: ((str: string) => string) | undefined;\n}\n\nexport interface SqliteMemoryClientConfig extends Omit<\n SqliteClientConfig,\n \"filename\" | \"readonly\"\n> {}\n\nconst makeWithDatabase = (\n options: SqliteClientConfig,\n openDatabase: () => DatabaseSync,\n): Effect.Effect<Client.SqlClient, never, Scope.Scope | Reactivity.Reactivity> =>\n Effect.gen(function* () {\n const compiler = Statement.makeCompilerSqlite(options.transformQueryNames);\n const transformRows = options.transformResultNames\n ? Statement.defaultTransforms(options.transformResultNames).array\n : undefined;\n\n const makeConnection = Effect.gen(function* () {\n const scope = yield* Effect.scope;\n const db = openDatabase();\n yield* Scope.addFinalizer(\n scope,\n Effect.sync(() => db.close()),\n );\n\n const statementReaderCache = new WeakMap<StatementSync, boolean>();\n const hasRows = (statement: StatementSync): boolean => {\n const cached = statementReaderCache.get(statement);\n if (cached !== undefined) {\n return cached;\n }\n const value = statement.columns().length > 0;\n statementReaderCache.set(statement, value);\n return value;\n };\n\n const prepareCache = yield* Cache.make({\n capacity: options.prepareCacheSize ?? 200,\n timeToLive: options.prepareCacheTTL ?? Duration.minutes(10),\n lookup: (sql: string) =>\n Effect.try({\n try: () => db.prepare(sql),\n catch: (cause) => new SqlError({ cause, message: \"Failed to prepare statement\" }),\n }),\n });\n\n const runStatement = (\n statement: StatementSync,\n params: ReadonlyArray<unknown>,\n raw: boolean,\n ) =>\n Effect.withFiber<ReadonlyArray<any>, SqlError>((fiber) => {\n statement.setReadBigInts(Boolean(ServiceMap.get(fiber.services, Client.SafeIntegers)));\n try {\n if (hasRows(statement)) {\n return Effect.succeed(statement.all(...(params as any)));\n }\n const result = statement.run(...(params as any));\n return Effect.succeed(raw ? (result as unknown as ReadonlyArray<any>) : []);\n } catch (cause) {\n return Effect.fail(new SqlError({ cause, message: \"Failed to execute statement\" }));\n }\n });\n\n const run = (sql: string, params: ReadonlyArray<unknown>, raw = false) =>\n Effect.flatMap(Cache.get(prepareCache, sql), (s) => runStatement(s, params, raw));\n\n const runValues = (sql: string, params: ReadonlyArray<unknown>) =>\n Effect.acquireUseRelease(\n Cache.get(prepareCache, sql),\n (statement) =>\n Effect.try({\n try: () => {\n if (hasRows(statement)) {\n statement.setReturnArrays(true);\n // Safe to cast to array after we've setReturnArrays(true)\n return statement.all(...(params as any)) as unknown as ReadonlyArray<\n ReadonlyArray<unknown>\n >;\n }\n statement.run(...(params as any));\n return [];\n },\n catch: (cause) => new SqlError({ cause, message: \"Failed to execute statement\" }),\n }),\n (statement) =>\n Effect.sync(() => {\n if (hasRows(statement)) {\n statement.setReturnArrays(false);\n }\n }),\n );\n\n return identity<Connection>({\n execute(sql, params, rowTransform) {\n return rowTransform ? Effect.map(run(sql, params), rowTransform) : run(sql, params);\n },\n executeRaw(sql, params) {\n return run(sql, params, true);\n },\n executeValues(sql, params) {\n return runValues(sql, params);\n },\n executeUnprepared(sql, params, rowTransform) {\n const effect = runStatement(db.prepare(sql), params ?? [], false);\n return rowTransform ? Effect.map(effect, rowTransform) : effect;\n },\n executeStream(_sql, _params) {\n return Stream.die(\"executeStream not implemented\");\n },\n });\n });\n\n const semaphore = yield* Semaphore.make(1);\n const connection = yield* makeConnection;\n\n const acquirer = semaphore.withPermits(1)(Effect.succeed(connection));\n const transactionAcquirer = Effect.uninterruptibleMask((restore) => {\n const fiber = Fiber.getCurrent()!;\n const scope = ServiceMap.getUnsafe(fiber.services, Scope.Scope);\n return Effect.as(\n Effect.tap(restore(semaphore.take(1)), () =>\n Scope.addFinalizer(scope, semaphore.release(1)),\n ),\n connection,\n );\n });\n\n return yield* Client.make({\n acquirer,\n compiler,\n transactionAcquirer,\n spanAttributes: [\n ...(options.spanAttributes ? Object.entries(options.spanAttributes) : []),\n [ATTR_DB_SYSTEM_NAME, \"sqlite\"],\n ],\n transformRows,\n });\n });\n\nconst make = (\n options: SqliteClientConfig,\n): Effect.Effect<Client.SqlClient, never, Scope.Scope | Reactivity.Reactivity> =>\n makeWithDatabase(\n options,\n () =>\n new DatabaseSync(options.filename, {\n readOnly: options.readonly ?? false,\n allowExtension: options.allowExtension ?? false,\n }),\n );\n\nconst makeMemory = (\n config: SqliteMemoryClientConfig = {},\n): Effect.Effect<Client.SqlClient, never, Scope.Scope | Reactivity.Reactivity> =>\n makeWithDatabase(\n {\n ...config,\n filename: \":memory:\",\n readonly: false,\n },\n () => {\n const database = new DatabaseSync(\":memory:\", {\n allowExtension: config.allowExtension ?? false,\n });\n return database;\n },\n );\n\nexport const layerConfig = (\n config: Config.Wrap<SqliteClientConfig>,\n): Layer.Layer<Client.SqlClient, Config.ConfigError> =>\n Layer.effectServices(\n Config.unwrap(config)\n .asEffect()\n .pipe(\n Effect.flatMap(make),\n Effect.map((client) =>\n ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)),\n ),\n ),\n ).pipe(Layer.provide(Reactivity.layer));\n\nexport const layer = (config: SqliteClientConfig): Layer.Layer<Client.SqlClient> =>\n Layer.effectServices(\n Effect.map(make(config), (client) =>\n ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)),\n ),\n ).pipe(Layer.provide(Reactivity.layer));\n\nexport const layerMemory = (config: SqliteMemoryClientConfig = {}): Layer.Layer<Client.SqlClient> =>\n Layer.effectServices(\n Effect.map(makeMemory(config), (client) =>\n ServiceMap.make(SqliteClient, client).pipe(ServiceMap.add(Client.SqlClient, client)),\n ),\n ).pipe(Layer.provide(Reactivity.layer));\n"],"mappings":"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"}
@@ -1 +1 @@
1
- import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_t as D,a as O,at as k,b as A,c as j,ct as M,d as N,dt as P,et as F,f as I,ft as L,g as R,gt as z,h as B,ht as ee,i as te,it as ne,j as re,k as ie,l as V,lt as ae,m as H,mt as oe,n as se,nt as U,o as ce,ot as W,p as le,pt as ue,q as de,r as fe,rt as pe,s as me,st as G,t as K,tt as q,u as J,ut as Y,v as he,w as X,x as ge,y as Z,yt as _e,z as ve}from"./index-BkyGebzB.js";var ye=n(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),be=n(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]);function xe(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var Q=_e(D()),Se=[];function Ce(t){let{itemSizes:n,cols:i=1,loopFocus:a=!0,dense:o=!1,orientation:s=`both`,direction:c,highlightedIndex:l,onHighlightedIndexChange:f,rootRef:p,enableHomeAndEndKeys:m=!1,stopEventPropagation:h=!1,disabledIndices:g,modifierKeys:v=Se}=t,[b,x]=Q.useState(0),S=i>1,C=Q.useRef(null),D=M(C,p),O=Q.useRef([]),k=Q.useRef(!1),A=l??b,j=q((e,t=!1)=>{if((f??x)(e),t){let t=O.current[e];X(C.current,t,c,s)}}),P=q(e=>{if(e.size===0||k.current)return;k.current=!0;let t=Array.from(e.keys()),n=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,r=n?t.indexOf(n):-1;r!==-1&&j(r),X(C.current,n,c,s)}),L=Q.useMemo(()=>({"aria-orientation":s===`both`?void 0:s,ref:D,onFocus(e){!C.current||!r(e.target)||e.target.setSelectionRange(0,e.target.value.length??0)},onKeyDown(t){let l=m?N:le;if(!l.has(t.key)||we(t,v)||!C.current)return;let f=c===`rtl`,p=f?H:B,b={horizontal:p,vertical:I,both:p}[s],x=f?B:H,D={horizontal:x,vertical:R,both:x}[s];if(r(t.target)&&!xe(t.target)){let e=t.target.selectionStart,n=t.target.selectionEnd,r=t.target.value??``;if(e==null||t.shiftKey||e!==n||t.key!==D&&e<r.length||t.key!==b&&e>0)return}let k=A,M=_(O,g),P=E(O,g);if(S){let e=n||Array.from({length:O.current.length},()=>({width:1,height:1})),r=d(e,i,o),c=r.findIndex(e=>e!=null&&!F(O,e,g)),l=r.reduce((e,t,n)=>t!=null&&!F(O,t,g)?n:e,-1);k=r[w({current:r.map(e=>e?O.current[e]:null)},{event:t,orientation:s,loopFocus:a,cols:i,disabledIndices:T([...g||O.current.map((e,t)=>F(O,t)?t:void 0),void 0],r),minIndex:c,maxIndex:l,prevIndex:u(A>P?M:A,e,r,i,t.key===`ArrowDown`?`bl`:t.key===`ArrowRight`?`tr`:`tl`),rtl:f})]}let L={horizontal:[p],vertical:[I],both:[p,I]}[s],z={horizontal:[x],vertical:[R],both:[x,R]}[s],ee=S?l:{horizontal:m?Z:he,vertical:m?y:ge,both:l}[s];m&&(t.key===`Home`?k=M:t.key===`End`&&(k=P)),k===A&&(L.includes(t.key)||z.includes(t.key))&&(k=a&&k===P&&L.includes(t.key)?M:a&&k===M&&z.includes(t.key)?P:de(O,{startingIndex:k,decrement:z.includes(t.key),disabledIndices:g})),k!==A&&!e(O,k)&&(h&&t.stopPropagation(),ee.has(t.key)&&t.preventDefault(),j(k,!0),queueMicrotask(()=>{O.current[k]?.focus()}))}}),[i,o,c,g,O,m,A,S,n,a,D,v,j,s,h]);return Q.useMemo(()=>({props:L,highlightedIndex:A,onHighlightedIndexChange:j,elementsRef:O,disabledIndices:g,onMapChange:P,relayKeyboardEvent:L.onKeyDown}),[L,A,j,O,g,P])}function we(e,t){for(let n of A.values())if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}var $=z();function Te(e){let{render:t,className:n,refs:r=W,props:i=W,state:a=G,stateAttributesMapping:o,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,dense:d,itemSizes:f,loopFocus:p,cols:m,enableHomeAndEndKeys:h,onMapChange:g,stopEventPropagation:_=!0,rootRef:v,disabledIndices:y,modifierKeys:b,highlightItemOnHover:x=!1,tag:C=`div`,...w}=e,{props:T,highlightedIndex:E,onHighlightedIndexChange:D,elementsRef:O,onMapChange:A,relayKeyboardEvent:j}=Ce({itemSizes:f,cols:m,loopFocus:p,dense:d,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:v,stopEventPropagation:_,enableHomeAndEndKeys:h,direction:S(),disabledIndices:y,modifierKeys:b}),M=k(C,e,{state:a,ref:r,props:[T,...i,w],stateAttributesMapping:o}),N=Q.useMemo(()=>({highlightedIndex:E,onHighlightedIndexChange:D,highlightItemOnHover:x,relayKeyboardEvent:j}),[E,D,x,j]);return(0,$.jsx)(s.Provider,{value:N,children:(0,$.jsx)(J,{elementsRef:O,onMapChange:e=>{g?.(e),A(e)},children:M})})}const Ee=Q.createContext(void 0);function De(e=!0){let t=Q.useContext(Ee);if(t===void 0&&!e)throw Error(ae(7));return t}let Oe=function(e){return e.disabled=`data-disabled`,e.orientation=`data-orientation`,e.multiple=`data-multiple`,e}({});var ke={multiple(e){return e?{[Oe.multiple]:``}:null}};const Ae=Q.forwardRef(function(e,t){let{defaultValue:n,disabled:r=!1,loopFocus:i=!0,onValueChange:o,orientation:s=`horizontal`,multiple:c=!1,value:l,className:u,render:d,...f}=e,p=V(!0),m=Q.useMemo(()=>{if(l===void 0)return n??[]},[l,n]),h=Q.useMemo(()=>l!==void 0||n!==void 0,[l,n]),g=(p?.disabled??!1)||r,[_,v]=a({controlled:l,default:m,name:`ToggleGroup`,state:`value`}),y=q((e,t,n)=>{let r;if(c?(r=_.slice(),t?r.push(e):r.splice(_.indexOf(e),1)):r=t?[e]:[],Array.isArray(r)){if(o?.(r,n),n.isCanceled)return;v(r)}}),b={disabled:g,multiple:c,orientation:s},x=Q.useMemo(()=>({disabled:g,orientation:s,setGroupValue:y,value:_,isValueInitialized:h}),[g,s,y,_,h]),S={role:`group`},C=k(`div`,e,{enabled:!!p,state:b,ref:t,props:[S,f],stateAttributesMapping:ke});return(0,$.jsx)(Ee.Provider,{value:x,children:p?C:(0,$.jsx)(Te,{render:d,className:u,state:b,refs:[t],props:[S,f],stateAttributesMapping:ke,loopFocus:i,enableHomeAndEndKeys:!0})})}),je=Q.forwardRef(function(e,t){let{className:n,defaultPressed:r=!1,disabled:i=!1,form:o,onPressedChange:s,pressed:l,render:u,type:d,value:f,nativeButton:p=!0,...m}=e,h=b(f||void 0),g=De(),_=g?.value??[],v=g?void 0:r,y=(i||g?.disabled)??!1,[S,w]=a({controlled:g?h!==void 0&&_.indexOf(h)>-1:l,default:v,name:`Toggle`,state:`pressed`}),T=q((e,t)=>{h&&g?.setGroupValue?.(h,e,t),s?.(e,t)}),{getButtonProps:E,buttonRef:D}=C({disabled:y,native:p}),O={disabled:y,pressed:S},A=[D,t],j=[{"aria-pressed":S,onClick(e){let t=!S,n=c(x,e.nativeEvent);T(t,n),!n.isCanceled&&w(t)}},m,E],M=k(`button`,e,{enabled:!g,state:O,ref:A,props:j});return g?(0,$.jsx)(K,{tag:`button`,render:u,className:n,state:O,refs:A,props:j}):M});var Me=Y(),Ne=ne(`[&_svg]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base text-foreground outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 data-pressed:bg-input/64 data-pressed:text-accent-foreground sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{defaultVariants:{size:`default`,variant:`default`},variants:{size:{default:`h-9 min-w-9 px-[calc(--spacing(2)-1px)] sm:h-8 sm:min-w-8`,lg:`h-10 min-w-10 px-[calc(--spacing(2.5)-1px)] sm:h-9 sm:min-w-9`,sm:`h-8 min-w-8 px-[calc(--spacing(1.5)-1px)] sm:h-7 sm:min-w-7`,xs:`h-7 min-w-7 px-[calc(--spacing(1)-1px)] sm:h-6 sm:min-w-6 rounded-md`},variant:{default:`border-transparent`,outline:`border-input bg-background not-dark:bg-clip-padding shadow-xs/5 not-disabled:not-active:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-input/32 dark:data-pressed:bg-input dark:hover:bg-input/64 dark:not-disabled:not-active:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] dark:not-disabled:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/2%)] [:disabled,:active,[data-pressed]]:shadow-none`}}});function Pe(e){let t=(0,Me.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,variant:a,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==n||t[6]!==i||t[7]!==a?(o=U(Ne({className:n,size:i,variant:a})),t[5]=n,t[6]=i,t[7]=a,t[8]=o):o=t[8];let s;return t[9]!==r||t[10]!==o?(s=(0,$.jsx)(je,{className:o,"data-slot":`toggle`,...r}),t[9]=r,t[10]=o,t[11]=s):s=t[11],s}var Fe=Q.createContext({size:`default`,variant:`default`});function Ie(e){let t=(0,Me.c)(24),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({className:r,variant:a,size:o,orientation:s,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=a===void 0?`default`:a,l=o===void 0?`default`:o,u=s===void 0?`horizontal`:s,d,f;t[7]!==l||t[8]!==c?(f={size:l,variant:c},t[7]=l,t[8]=c,t[9]=f):f=t[9],d=f;let p=d,m=u===`horizontal`?`*:pointer-coarse:after:min-w-auto`:`*:pointer-coarse:after:min-h-auto`,h=c===`default`?`gap-0.5`:u===`horizontal`?`*:not-first:not-data-[slot=separator]:before:-start-[0.5px] *:not-last:not-data-[slot=separator]:before:-end-[0.5px] *:not-first:rounded-s-none *:not-last:rounded-e-none *:not-first:border-s-0 *:not-last:border-e-0 *:not-first:before:rounded-s-none *:not-last:before:rounded-e-none`:`*:not-first:not-data-[slot=separator]:before:-top-[0.5px] *:not-last:not-data-[slot=separator]:before:-bottom-[0.5px] flex-col *:not-first:rounded-t-none *:not-last:rounded-b-none *:not-first:border-t-0 *:not-last:border-b-0 *:not-first:before:rounded-t-none *:not-last:before:rounded-b-none *:data-[slot=toggle]:not-last:before:hidden dark:*:last:before:hidden dark:*:first:before:block`,g;t[10]!==r||t[11]!==m||t[12]!==h?(g=U(`flex w-fit *:focus-visible:z-10 dark:*:[[data-slot=separator]:has(+[data-slot=toggle]:hover)]:before:bg-input/64 dark:*:[[data-slot=separator]:has(+[data-slot=toggle][data-pressed])]:before:bg-input dark:*:[[data-slot=toggle]:hover+[data-slot=separator]]:before:bg-input/64 dark:*:[[data-slot=toggle][data-pressed]+[data-slot=separator]]:before:bg-input`,m,h,r),t[10]=r,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==p?(_=(0,$.jsx)(Fe.Provider,{value:p,children:n}),t[14]=n,t[15]=p,t[16]=_):_=t[16];let v;return t[17]!==u||t[18]!==i||t[19]!==l||t[20]!==g||t[21]!==_||t[22]!==c?(v=(0,$.jsx)(Ae,{className:g,"data-size":l,"data-slot":`toggle-group`,"data-variant":c,orientation:u,...i,children:_}),t[17]=u,t[18]=i,t[19]=l,t[20]=g,t[21]=_,t[22]=c,t[23]=v):v=t[23],v}function Le(e){let t=(0,Me.c)(12),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,variant:o,size:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=Q.useContext(Fe),c=o??s.variant,l=a??s.size,u;return t[6]!==n||t[7]!==r||t[8]!==i||t[9]!==l||t[10]!==c?(u=(0,$.jsx)(Pe,{className:r,"data-size":l,"data-variant":c,size:l,variant:c,...i,children:n}),t[6]=n,t[7]=r,t[8]=i,t[9]=l,t[10]=c,t[11]=u):u=t[11],u}function Re(e){return new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(new Date(e))}function ze({mode:e=`inline`}){let n=ue(),{resolvedTheme:r}=t(),[a,s]=(0,Q.useState)(`stacked`),c=(0,Q.useRef)(null),u=(0,Q.useRef)(null),[d,h]=(0,Q.useState)(!1),[_,y]=(0,Q.useState)(!1),b=ee({strict:!1,select:e=>e.threadId?pe.makeUnsafe(e.threadId):null}),x=oe({strict:!1,select:e=>me(e)}),S=b,C=l(e=>S?e.threads.find(e=>e.id===S):void 0),w=C?.projectId??null,T=l(e=>w?e.projects.find(e=>e.id===w):void 0),E=C?.worktreePath??T?.cwd,D=P(i(E??null)).data?.isRepo??!0,{turnDiffSummaries:k,inferredCheckpointTurnCountByTurnId:A}=ce(C),M=(0,Q.useMemo)(()=>[...k].toSorted((e,t)=>{let n=e.checkpointTurnCount??A[e.turnId]??0,r=t.checkpointTurnCount??A[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[A,k]),N=x.diffTurnId??null,F=N===null?null:x.diffFilePath??null,I=N===null?void 0:M.find(e=>e.turnId===N)??M[0],R=I&&(I.checkpointTurnCount??A[I.turnId]),z=(0,Q.useMemo)(()=>typeof R==`number`?{fromTurnCount:Math.max(0,R-1),toTurnCount:R}:null,[R]),B=(0,Q.useMemo)(()=>{let e=M.map(e=>e.checkpointTurnCount??A[e.turnId]).filter(e=>typeof e==`number`);if(e.length===0)return;let t=Math.max(...e);return t>0?t:void 0},[A,M]),ne=(0,Q.useMemo)(()=>!I&&typeof B==`number`?{fromTurnCount:0,toTurnCount:B}:null,[B,I]),V=I?z:ne,ae=(0,Q.useMemo)(()=>I||M.length===0?null:`conversation:${M.map(e=>e.turnId).join(`,`)}`,[M,I]),H=P(m({threadId:S,fromTurnCount:V?.fromTurnCount??null,toTurnCount:V?.toTurnCount??null,cacheScope:I?`turn:${I.turnId}`:ae,enabled:D})),W=I?H.data?.diff:void 0,le=I?void 0:H.data?.diff,de=H.isLoading,G=H.error instanceof Error?H.error.message:H.error?`Failed to load checkpoint diff.`:null,K=I?W:le,q=typeof K==`string`&&K.trim().length===0,J=(0,Q.useMemo)(()=>te(K,`diff-panel:${r}`),[r,K]),Y=(0,Q.useMemo)(()=>!J||J.kind!==`files`?[]:J.files.toSorted((e,t)=>O(e).localeCompare(O(t),void 0,{numeric:!0,sensitivity:`base`})),[J]);(0,Q.useEffect)(()=>{!F||!c.current||Array.from(c.current.querySelectorAll(`[data-diff-file-path]`)).find(e=>e.dataset.diffFilePath===F)?.scrollIntoView({block:`nearest`})},[F,Y]);let he=(0,Q.useCallback)(e=>{let t=f();if(!t)return;let n=E?o(e,E):e;t.shell.openInEditor(n,g()).catch(e=>{console.warn(`Failed to open diff file in editor.`,e)})},[E]),X=e=>{C&&n({to:`/$threadId`,params:{threadId:C.id},search:t=>({...j(t),diff:`1`,diffTurnId:e})})},ge=()=>{C&&n({to:`/$threadId`,params:{threadId:C.id},search:e=>({...j(e),diff:`1`})})},Z=(0,Q.useCallback)(()=>{let e=u.current;if(!e){h(!1),y(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth);h(e.scrollLeft>4),y(e.scrollLeft<t-4)},[]),_e=(0,Q.useCallback)(e=>{let t=u.current;t&&t.scrollBy({left:e,behavior:`smooth`})},[]),xe=(0,Q.useCallback)(e=>{let t=u.current;t&&(t.scrollWidth<=t.clientWidth+1||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollBy({left:e.deltaY,behavior:`auto`})))},[]);(0,Q.useEffect)(()=>{let e=u.current;if(!e)return;let t=window.requestAnimationFrame(()=>Z()),n=()=>Z();e.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(()=>Z());return r.observe(e),()=>{window.cancelAnimationFrame(t),e.removeEventListener(`scroll`,n),r.disconnect()}},[Z]),(0,Q.useEffect)(()=>{let e=window.requestAnimationFrame(()=>Z());return()=>{window.cancelAnimationFrame(e)}},[M,N,Z]),(0,Q.useEffect)(()=>{let e=u.current;e&&e.querySelector(`[data-turn-chip-selected='true']`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},[I?.turnId,N]);let Se=L&&e!==`sheet`,Ce=(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative min-w-0 flex-1 [-webkit-app-region:no-drag]`,children:[d&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-8 z-10 w-7 bg-linear-to-r from-card to-transparent`}),_&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-8 z-10 w-7 bg-linear-to-l from-card to-transparent`}),(0,$.jsx)(`button`,{type:`button`,className:U(`absolute left-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,d?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>_e(-180),disabled:!d,"aria-label":`Scroll turn list left`,children:(0,$.jsx)(ve,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,className:U(`absolute right-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,_?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>_e(180),disabled:!_,"aria-label":`Scroll turn list right`,children:(0,$.jsx)(v,{className:`size-3.5`})}),(0,$.jsxs)(`div`,{ref:u,className:`turn-chip-strip flex gap-1 overflow-x-auto px-8 py-0.5`,onWheel:xe,children:[(0,$.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:ge,"data-turn-chip-selected":N===null,children:(0,$.jsx)(`div`,{className:U(`rounded-md border px-2 py-1 text-left transition-colors`,N===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,$.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`})})}),M.map(e=>(0,$.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:()=>X(e.turnId),title:e.turnId,"data-turn-chip-selected":e.turnId===I?.turnId,children:(0,$.jsx)(`div`,{className:U(`rounded-md border px-2 py-1 text-left transition-colors`,e.turnId===I?.turnId?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn`,` `,e.checkpointTurnCount??A[e.turnId]??`?`]}),(0,$.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:Re(e.completedAt)})]})})},e.turnId))]})]}),(0,$.jsxs)(Ie,{className:`shrink-0 [-webkit-app-region:no-drag]`,variant:`outline`,size:`xs`,value:[a],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&s(t)},children:[(0,$.jsx)(Le,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,$.jsx)(be,{className:`size-3`})}),(0,$.jsx)(Le,{"aria-label":`Split diff view`,value:`split`,children:(0,$.jsx)(ye,{className:`size-3`})})]})]}),we=U(`flex items-center justify-between gap-2 px-4`,Se?`drag-region h-[52px] border-b border-border`:`h-12`);return(0,$.jsxs)(`div`,{className:U(`flex h-full min-w-0 flex-col bg-background`,e===`inline`?`w-[42vw] min-w-[360px] max-w-[560px] shrink-0 border-l border-border`:`w-full`),children:[Se?(0,$.jsx)(`div`,{className:we,children:Ce}):(0,$.jsx)(`div`,{className:`border-b border-border`,children:(0,$.jsx)(`div`,{className:we,children:Ce})}),C?D?M.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{ref:c,className:`diff-panel-viewport min-h-0 min-w-0 flex-1 overflow-hidden`,children:[G&&!J&&(0,$.jsx)(`div`,{className:`px-3`,children:(0,$.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:G})}),J?J.kind===`files`?(0,$.jsx)(p,{className:`diff-render-surface h-full min-h-0 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:Y.map(e=>{let t=O(e),n=`${fe(e)}:${r}`;return(0,$.jsx)(`div`,{"data-diff-file-path":t,className:`diff-render-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(e=>e instanceof Element?e.hasAttribute(`data-title`):!1)&&he(t)},children:(0,$.jsx)(re,{fileDiff:e,options:{diffStyle:a===`split`?`split`:`unified`,lineDiffType:`none`,theme:ie(r),themeType:r,unsafeCSS:se}})},n)})}):(0,$.jsx)(`div`,{className:`h-full overflow-auto p-2`,children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:J.reason}),(0,$.jsx)(`pre`,{className:`max-h-[72vh] overflow-auto rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,children:J.text})]})}):(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,$.jsx)(`p`,{children:de?`Loading checkpoint diff...`:q?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`})]})}export{h as DiffWorkerPoolProvider,ze as default};
1
+ import{$ as e,A as t,B as n,C as r,D as i,E as a,F as o,G as s,H as c,I as l,J as u,K as d,L as f,M as p,N as m,O as h,P as g,Q as _,R as v,S as y,T as b,U as x,V as S,W as C,X as w,Y as T,Z as E,_t as D,a as O,at as k,b as A,c as j,ct as M,d as N,dt as P,et as F,f as I,ft as L,g as R,gt as z,h as B,ht as ee,i as te,it as ne,j as re,k as ie,l as V,lt as ae,m as H,mt as oe,n as se,nt as U,o as ce,ot as W,p as le,pt as ue,q as de,r as fe,rt as pe,s as me,st as G,t as K,tt as q,u as J,ut as Y,v as he,w as X,x as ge,y as Z,yt as _e,z as ve}from"./index-Df81HDo8.js";var ye=n(`columns-2`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M12 3v18`,key:`108xh3`}]]),be=n(`rows-3`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M21 9H3`,key:`1338ky`}],[`path`,{d:`M21 15H3`,key:`9uk58r`}]]);function xe(e){return e==null||e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`}var Q=_e(D()),Se=[];function Ce(t){let{itemSizes:n,cols:i=1,loopFocus:a=!0,dense:o=!1,orientation:s=`both`,direction:c,highlightedIndex:l,onHighlightedIndexChange:f,rootRef:p,enableHomeAndEndKeys:m=!1,stopEventPropagation:h=!1,disabledIndices:g,modifierKeys:v=Se}=t,[b,x]=Q.useState(0),S=i>1,C=Q.useRef(null),D=M(C,p),O=Q.useRef([]),k=Q.useRef(!1),A=l??b,j=q((e,t=!1)=>{if((f??x)(e),t){let t=O.current[e];X(C.current,t,c,s)}}),P=q(e=>{if(e.size===0||k.current)return;k.current=!0;let t=Array.from(e.keys()),n=t.find(e=>e?.hasAttribute(`data-composite-item-active`))??null,r=n?t.indexOf(n):-1;r!==-1&&j(r),X(C.current,n,c,s)}),L=Q.useMemo(()=>({"aria-orientation":s===`both`?void 0:s,ref:D,onFocus(e){!C.current||!r(e.target)||e.target.setSelectionRange(0,e.target.value.length??0)},onKeyDown(t){let l=m?N:le;if(!l.has(t.key)||we(t,v)||!C.current)return;let f=c===`rtl`,p=f?H:B,b={horizontal:p,vertical:I,both:p}[s],x=f?B:H,D={horizontal:x,vertical:R,both:x}[s];if(r(t.target)&&!xe(t.target)){let e=t.target.selectionStart,n=t.target.selectionEnd,r=t.target.value??``;if(e==null||t.shiftKey||e!==n||t.key!==D&&e<r.length||t.key!==b&&e>0)return}let k=A,M=_(O,g),P=E(O,g);if(S){let e=n||Array.from({length:O.current.length},()=>({width:1,height:1})),r=d(e,i,o),c=r.findIndex(e=>e!=null&&!F(O,e,g)),l=r.reduce((e,t,n)=>t!=null&&!F(O,t,g)?n:e,-1);k=r[w({current:r.map(e=>e?O.current[e]:null)},{event:t,orientation:s,loopFocus:a,cols:i,disabledIndices:T([...g||O.current.map((e,t)=>F(O,t)?t:void 0),void 0],r),minIndex:c,maxIndex:l,prevIndex:u(A>P?M:A,e,r,i,t.key===`ArrowDown`?`bl`:t.key===`ArrowRight`?`tr`:`tl`),rtl:f})]}let L={horizontal:[p],vertical:[I],both:[p,I]}[s],z={horizontal:[x],vertical:[R],both:[x,R]}[s],ee=S?l:{horizontal:m?Z:he,vertical:m?y:ge,both:l}[s];m&&(t.key===`Home`?k=M:t.key===`End`&&(k=P)),k===A&&(L.includes(t.key)||z.includes(t.key))&&(k=a&&k===P&&L.includes(t.key)?M:a&&k===M&&z.includes(t.key)?P:de(O,{startingIndex:k,decrement:z.includes(t.key),disabledIndices:g})),k!==A&&!e(O,k)&&(h&&t.stopPropagation(),ee.has(t.key)&&t.preventDefault(),j(k,!0),queueMicrotask(()=>{O.current[k]?.focus()}))}}),[i,o,c,g,O,m,A,S,n,a,D,v,j,s,h]);return Q.useMemo(()=>({props:L,highlightedIndex:A,onHighlightedIndexChange:j,elementsRef:O,disabledIndices:g,onMapChange:P,relayKeyboardEvent:L.onKeyDown}),[L,A,j,O,g,P])}function we(e,t){for(let n of A.values())if(!t.includes(n)&&e.getModifierState(n))return!0;return!1}var $=z();function Te(e){let{render:t,className:n,refs:r=W,props:i=W,state:a=G,stateAttributesMapping:o,highlightedIndex:c,onHighlightedIndexChange:l,orientation:u,dense:d,itemSizes:f,loopFocus:p,cols:m,enableHomeAndEndKeys:h,onMapChange:g,stopEventPropagation:_=!0,rootRef:v,disabledIndices:y,modifierKeys:b,highlightItemOnHover:x=!1,tag:C=`div`,...w}=e,{props:T,highlightedIndex:E,onHighlightedIndexChange:D,elementsRef:O,onMapChange:A,relayKeyboardEvent:j}=Ce({itemSizes:f,cols:m,loopFocus:p,dense:d,orientation:u,highlightedIndex:c,onHighlightedIndexChange:l,rootRef:v,stopEventPropagation:_,enableHomeAndEndKeys:h,direction:S(),disabledIndices:y,modifierKeys:b}),M=k(C,e,{state:a,ref:r,props:[T,...i,w],stateAttributesMapping:o}),N=Q.useMemo(()=>({highlightedIndex:E,onHighlightedIndexChange:D,highlightItemOnHover:x,relayKeyboardEvent:j}),[E,D,x,j]);return(0,$.jsx)(s.Provider,{value:N,children:(0,$.jsx)(J,{elementsRef:O,onMapChange:e=>{g?.(e),A(e)},children:M})})}const Ee=Q.createContext(void 0);function De(e=!0){let t=Q.useContext(Ee);if(t===void 0&&!e)throw Error(ae(7));return t}let Oe=function(e){return e.disabled=`data-disabled`,e.orientation=`data-orientation`,e.multiple=`data-multiple`,e}({});var ke={multiple(e){return e?{[Oe.multiple]:``}:null}};const Ae=Q.forwardRef(function(e,t){let{defaultValue:n,disabled:r=!1,loopFocus:i=!0,onValueChange:o,orientation:s=`horizontal`,multiple:c=!1,value:l,className:u,render:d,...f}=e,p=V(!0),m=Q.useMemo(()=>{if(l===void 0)return n??[]},[l,n]),h=Q.useMemo(()=>l!==void 0||n!==void 0,[l,n]),g=(p?.disabled??!1)||r,[_,v]=a({controlled:l,default:m,name:`ToggleGroup`,state:`value`}),y=q((e,t,n)=>{let r;if(c?(r=_.slice(),t?r.push(e):r.splice(_.indexOf(e),1)):r=t?[e]:[],Array.isArray(r)){if(o?.(r,n),n.isCanceled)return;v(r)}}),b={disabled:g,multiple:c,orientation:s},x=Q.useMemo(()=>({disabled:g,orientation:s,setGroupValue:y,value:_,isValueInitialized:h}),[g,s,y,_,h]),S={role:`group`},C=k(`div`,e,{enabled:!!p,state:b,ref:t,props:[S,f],stateAttributesMapping:ke});return(0,$.jsx)(Ee.Provider,{value:x,children:p?C:(0,$.jsx)(Te,{render:d,className:u,state:b,refs:[t],props:[S,f],stateAttributesMapping:ke,loopFocus:i,enableHomeAndEndKeys:!0})})}),je=Q.forwardRef(function(e,t){let{className:n,defaultPressed:r=!1,disabled:i=!1,form:o,onPressedChange:s,pressed:l,render:u,type:d,value:f,nativeButton:p=!0,...m}=e,h=b(f||void 0),g=De(),_=g?.value??[],v=g?void 0:r,y=(i||g?.disabled)??!1,[S,w]=a({controlled:g?h!==void 0&&_.indexOf(h)>-1:l,default:v,name:`Toggle`,state:`pressed`}),T=q((e,t)=>{h&&g?.setGroupValue?.(h,e,t),s?.(e,t)}),{getButtonProps:E,buttonRef:D}=C({disabled:y,native:p}),O={disabled:y,pressed:S},A=[D,t],j=[{"aria-pressed":S,onClick(e){let t=!S,n=c(x,e.nativeEvent);T(t,n),!n.isCanceled&&w(t)}},m,E],M=k(`button`,e,{enabled:!g,state:O,ref:A,props:j});return g?(0,$.jsx)(K,{tag:`button`,render:u,className:n,state:O,refs:A,props:j}):M});var Me=Y(),Ne=ne(`[&_svg]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer select-none items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base text-foreground outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 hover:bg-accent focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 data-pressed:bg-input/64 data-pressed:text-accent-foreground sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{defaultVariants:{size:`default`,variant:`default`},variants:{size:{default:`h-9 min-w-9 px-[calc(--spacing(2)-1px)] sm:h-8 sm:min-w-8`,lg:`h-10 min-w-10 px-[calc(--spacing(2.5)-1px)] sm:h-9 sm:min-w-9`,sm:`h-8 min-w-8 px-[calc(--spacing(1.5)-1px)] sm:h-7 sm:min-w-7`,xs:`h-7 min-w-7 px-[calc(--spacing(1)-1px)] sm:h-6 sm:min-w-6 rounded-md`},variant:{default:`border-transparent`,outline:`border-input bg-background not-dark:bg-clip-padding shadow-xs/5 not-disabled:not-active:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-input/32 dark:data-pressed:bg-input dark:hover:bg-input/64 dark:not-disabled:not-active:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] dark:not-disabled:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/2%)] [:disabled,:active,[data-pressed]]:shadow-none`}}});function Pe(e){let t=(0,Me.c)(12),n,r,i,a;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4]):({className:n,variant:a,size:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a);let o;t[5]!==n||t[6]!==i||t[7]!==a?(o=U(Ne({className:n,size:i,variant:a})),t[5]=n,t[6]=i,t[7]=a,t[8]=o):o=t[8];let s;return t[9]!==r||t[10]!==o?(s=(0,$.jsx)(je,{className:o,"data-slot":`toggle`,...r}),t[9]=r,t[10]=o,t[11]=s):s=t[11],s}var Fe=Q.createContext({size:`default`,variant:`default`});function Ie(e){let t=(0,Me.c)(24),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({className:r,variant:a,size:o,orientation:s,children:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let c=a===void 0?`default`:a,l=o===void 0?`default`:o,u=s===void 0?`horizontal`:s,d,f;t[7]!==l||t[8]!==c?(f={size:l,variant:c},t[7]=l,t[8]=c,t[9]=f):f=t[9],d=f;let p=d,m=u===`horizontal`?`*:pointer-coarse:after:min-w-auto`:`*:pointer-coarse:after:min-h-auto`,h=c===`default`?`gap-0.5`:u===`horizontal`?`*:not-first:not-data-[slot=separator]:before:-start-[0.5px] *:not-last:not-data-[slot=separator]:before:-end-[0.5px] *:not-first:rounded-s-none *:not-last:rounded-e-none *:not-first:border-s-0 *:not-last:border-e-0 *:not-first:before:rounded-s-none *:not-last:before:rounded-e-none`:`*:not-first:not-data-[slot=separator]:before:-top-[0.5px] *:not-last:not-data-[slot=separator]:before:-bottom-[0.5px] flex-col *:not-first:rounded-t-none *:not-last:rounded-b-none *:not-first:border-t-0 *:not-last:border-b-0 *:not-first:before:rounded-t-none *:not-last:before:rounded-b-none *:data-[slot=toggle]:not-last:before:hidden dark:*:last:before:hidden dark:*:first:before:block`,g;t[10]!==r||t[11]!==m||t[12]!==h?(g=U(`flex w-fit *:focus-visible:z-10 dark:*:[[data-slot=separator]:has(+[data-slot=toggle]:hover)]:before:bg-input/64 dark:*:[[data-slot=separator]:has(+[data-slot=toggle][data-pressed])]:before:bg-input dark:*:[[data-slot=toggle]:hover+[data-slot=separator]]:before:bg-input/64 dark:*:[[data-slot=toggle][data-pressed]+[data-slot=separator]]:before:bg-input`,m,h,r),t[10]=r,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==p?(_=(0,$.jsx)(Fe.Provider,{value:p,children:n}),t[14]=n,t[15]=p,t[16]=_):_=t[16];let v;return t[17]!==u||t[18]!==i||t[19]!==l||t[20]!==g||t[21]!==_||t[22]!==c?(v=(0,$.jsx)(Ae,{className:g,"data-size":l,"data-slot":`toggle-group`,"data-variant":c,orientation:u,...i,children:_}),t[17]=u,t[18]=i,t[19]=l,t[20]=g,t[21]=_,t[22]=c,t[23]=v):v=t[23],v}function Le(e){let t=(0,Me.c)(12),n,r,i,a,o;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5]):({className:r,children:n,variant:o,size:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o);let s=Q.useContext(Fe),c=o??s.variant,l=a??s.size,u;return t[6]!==n||t[7]!==r||t[8]!==i||t[9]!==l||t[10]!==c?(u=(0,$.jsx)(Pe,{className:r,"data-size":l,"data-variant":c,size:l,variant:c,...i,children:n}),t[6]=n,t[7]=r,t[8]=i,t[9]=l,t[10]=c,t[11]=u):u=t[11],u}function Re(e){return new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(new Date(e))}function ze({mode:e=`inline`}){let n=ue(),{resolvedTheme:r}=t(),[a,s]=(0,Q.useState)(`stacked`),c=(0,Q.useRef)(null),u=(0,Q.useRef)(null),[d,h]=(0,Q.useState)(!1),[_,y]=(0,Q.useState)(!1),b=ee({strict:!1,select:e=>e.threadId?pe.makeUnsafe(e.threadId):null}),x=oe({strict:!1,select:e=>me(e)}),S=b,C=l(e=>S?e.threads.find(e=>e.id===S):void 0),w=C?.projectId??null,T=l(e=>w?e.projects.find(e=>e.id===w):void 0),E=C?.worktreePath??T?.cwd,D=P(i(E??null)).data?.isRepo??!0,{turnDiffSummaries:k,inferredCheckpointTurnCountByTurnId:A}=ce(C),M=(0,Q.useMemo)(()=>[...k].toSorted((e,t)=>{let n=e.checkpointTurnCount??A[e.turnId]??0,r=t.checkpointTurnCount??A[t.turnId]??0;return n===r?t.completedAt.localeCompare(e.completedAt):r-n}),[A,k]),N=x.diffTurnId??null,F=N===null?null:x.diffFilePath??null,I=N===null?void 0:M.find(e=>e.turnId===N)??M[0],R=I&&(I.checkpointTurnCount??A[I.turnId]),z=(0,Q.useMemo)(()=>typeof R==`number`?{fromTurnCount:Math.max(0,R-1),toTurnCount:R}:null,[R]),B=(0,Q.useMemo)(()=>{let e=M.map(e=>e.checkpointTurnCount??A[e.turnId]).filter(e=>typeof e==`number`);if(e.length===0)return;let t=Math.max(...e);return t>0?t:void 0},[A,M]),ne=(0,Q.useMemo)(()=>!I&&typeof B==`number`?{fromTurnCount:0,toTurnCount:B}:null,[B,I]),V=I?z:ne,ae=(0,Q.useMemo)(()=>I||M.length===0?null:`conversation:${M.map(e=>e.turnId).join(`,`)}`,[M,I]),H=P(m({threadId:S,fromTurnCount:V?.fromTurnCount??null,toTurnCount:V?.toTurnCount??null,cacheScope:I?`turn:${I.turnId}`:ae,enabled:D})),W=I?H.data?.diff:void 0,le=I?void 0:H.data?.diff,de=H.isLoading,G=H.error instanceof Error?H.error.message:H.error?`Failed to load checkpoint diff.`:null,K=I?W:le,q=typeof K==`string`&&K.trim().length===0,J=(0,Q.useMemo)(()=>te(K,`diff-panel:${r}`),[r,K]),Y=(0,Q.useMemo)(()=>!J||J.kind!==`files`?[]:J.files.toSorted((e,t)=>O(e).localeCompare(O(t),void 0,{numeric:!0,sensitivity:`base`})),[J]);(0,Q.useEffect)(()=>{!F||!c.current||Array.from(c.current.querySelectorAll(`[data-diff-file-path]`)).find(e=>e.dataset.diffFilePath===F)?.scrollIntoView({block:`nearest`})},[F,Y]);let he=(0,Q.useCallback)(e=>{let t=f();if(!t)return;let n=E?o(e,E):e;t.shell.openInEditor(n,g()).catch(e=>{console.warn(`Failed to open diff file in editor.`,e)})},[E]),X=e=>{C&&n({to:`/$threadId`,params:{threadId:C.id},search:t=>({...j(t),diff:`1`,diffTurnId:e})})},ge=()=>{C&&n({to:`/$threadId`,params:{threadId:C.id},search:e=>({...j(e),diff:`1`})})},Z=(0,Q.useCallback)(()=>{let e=u.current;if(!e){h(!1),y(!1);return}let t=Math.max(0,e.scrollWidth-e.clientWidth);h(e.scrollLeft>4),y(e.scrollLeft<t-4)},[]),_e=(0,Q.useCallback)(e=>{let t=u.current;t&&t.scrollBy({left:e,behavior:`smooth`})},[]),xe=(0,Q.useCallback)(e=>{let t=u.current;t&&(t.scrollWidth<=t.clientWidth+1||Math.abs(e.deltaY)<=Math.abs(e.deltaX)||(e.preventDefault(),t.scrollBy({left:e.deltaY,behavior:`auto`})))},[]);(0,Q.useEffect)(()=>{let e=u.current;if(!e)return;let t=window.requestAnimationFrame(()=>Z()),n=()=>Z();e.addEventListener(`scroll`,n,{passive:!0});let r=new ResizeObserver(()=>Z());return r.observe(e),()=>{window.cancelAnimationFrame(t),e.removeEventListener(`scroll`,n),r.disconnect()}},[Z]),(0,Q.useEffect)(()=>{let e=window.requestAnimationFrame(()=>Z());return()=>{window.cancelAnimationFrame(e)}},[M,N,Z]),(0,Q.useEffect)(()=>{let e=u.current;e&&e.querySelector(`[data-turn-chip-selected='true']`)?.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`smooth`})},[I?.turnId,N]);let Se=L&&e!==`sheet`,Ce=(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative min-w-0 flex-1 [-webkit-app-region:no-drag]`,children:[d&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 left-8 z-10 w-7 bg-linear-to-r from-card to-transparent`}),_&&(0,$.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 right-8 z-10 w-7 bg-linear-to-l from-card to-transparent`}),(0,$.jsx)(`button`,{type:`button`,className:U(`absolute left-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,d?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>_e(-180),disabled:!d,"aria-label":`Scroll turn list left`,children:(0,$.jsx)(ve,{className:`size-3.5`})}),(0,$.jsx)(`button`,{type:`button`,className:U(`absolute right-0 top-1/2 z-20 inline-flex size-6 -translate-y-1/2 items-center justify-center rounded-md border bg-background/90 text-muted-foreground transition-colors`,_?`border-border/70 hover:border-border hover:text-foreground`:`cursor-not-allowed border-border/40 text-muted-foreground/40`),onClick:()=>_e(180),disabled:!_,"aria-label":`Scroll turn list right`,children:(0,$.jsx)(v,{className:`size-3.5`})}),(0,$.jsxs)(`div`,{ref:u,className:`turn-chip-strip flex gap-1 overflow-x-auto px-8 py-0.5`,onWheel:xe,children:[(0,$.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:ge,"data-turn-chip-selected":N===null,children:(0,$.jsx)(`div`,{className:U(`rounded-md border px-2 py-1 text-left transition-colors`,N===null?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,$.jsx)(`div`,{className:`text-[10px] leading-tight font-medium`,children:`All turns`})})}),M.map(e=>(0,$.jsx)(`button`,{type:`button`,className:`shrink-0 rounded-md`,onClick:()=>X(e.turnId),title:e.turnId,"data-turn-chip-selected":e.turnId===I?.turnId,children:(0,$.jsx)(`div`,{className:U(`rounded-md border px-2 py-1 text-left transition-colors`,e.turnId===I?.turnId?`border-border bg-accent text-accent-foreground`:`border-border/70 bg-background/70 text-muted-foreground/80 hover:border-border hover:text-foreground/80`),children:(0,$.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,$.jsxs)(`span`,{className:`text-[10px] leading-tight font-medium`,children:[`Turn`,` `,e.checkpointTurnCount??A[e.turnId]??`?`]}),(0,$.jsx)(`span`,{className:`text-[9px] leading-tight opacity-70`,children:Re(e.completedAt)})]})})},e.turnId))]})]}),(0,$.jsxs)(Ie,{className:`shrink-0 [-webkit-app-region:no-drag]`,variant:`outline`,size:`xs`,value:[a],onValueChange:e=>{let t=e[0];(t===`stacked`||t===`split`)&&s(t)},children:[(0,$.jsx)(Le,{"aria-label":`Stacked diff view`,value:`stacked`,children:(0,$.jsx)(be,{className:`size-3`})}),(0,$.jsx)(Le,{"aria-label":`Split diff view`,value:`split`,children:(0,$.jsx)(ye,{className:`size-3`})})]})]}),we=U(`flex items-center justify-between gap-2 px-4`,Se?`drag-region h-[52px] border-b border-border`:`h-12`);return(0,$.jsxs)(`div`,{className:U(`flex h-full min-w-0 flex-col bg-background`,e===`inline`?`w-[42vw] min-w-[360px] max-w-[560px] shrink-0 border-l border-border`:`w-full`),children:[Se?(0,$.jsx)(`div`,{className:we,children:Ce}):(0,$.jsx)(`div`,{className:`border-b border-border`,children:(0,$.jsx)(`div`,{className:we,children:Ce})}),C?D?M.length===0?(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`No completed turns yet.`}):(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`div`,{ref:c,className:`diff-panel-viewport min-h-0 min-w-0 flex-1 overflow-hidden`,children:[G&&!J&&(0,$.jsx)(`div`,{className:`px-3`,children:(0,$.jsx)(`p`,{className:`mb-2 text-[11px] text-red-500/80`,children:G})}),J?J.kind===`files`?(0,$.jsx)(p,{className:`diff-render-surface h-full min-h-0 overflow-auto px-2 pb-2`,config:{overscrollSize:600,intersectionObserverMargin:1200},children:Y.map(e=>{let t=O(e),n=`${fe(e)}:${r}`;return(0,$.jsx)(`div`,{"data-diff-file-path":t,className:`diff-render-file mb-2 rounded-md first:mt-2 last:mb-0`,onClickCapture:e=>{(e.nativeEvent.composedPath?.()??[]).some(e=>e instanceof Element?e.hasAttribute(`data-title`):!1)&&he(t)},children:(0,$.jsx)(re,{fileDiff:e,options:{diffStyle:a===`split`?`split`:`unified`,lineDiffType:`none`,theme:ie(r),themeType:r,unsafeCSS:se}})},n)})}):(0,$.jsx)(`div`,{className:`h-full overflow-auto p-2`,children:(0,$.jsxs)(`div`,{className:`space-y-2`,children:[(0,$.jsx)(`p`,{className:`text-[11px] text-muted-foreground/75`,children:J.reason}),(0,$.jsx)(`pre`,{className:`max-h-[72vh] overflow-auto rounded-md border border-border/70 bg-background/70 p-3 font-mono text-[11px] leading-relaxed text-muted-foreground/90`,children:J.text})]})}):(0,$.jsx)(`div`,{className:`flex h-full items-center justify-center px-3 py-2 text-xs text-muted-foreground/70`,children:(0,$.jsx)(`p`,{children:de?`Loading checkpoint diff...`:q?`No net changes in this selection.`:`No patch available for this selection.`})})]})}):(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Turn diffs are unavailable because this project is not a git repository.`}):(0,$.jsx)(`div`,{className:`flex flex-1 items-center justify-center px-5 text-center text-xs text-muted-foreground/70`,children:`Select a thread to inspect turn diffs.`})]})}export{h as DiffWorkerPoolProvider,ze as default};
@@ -1 +1 @@
1
- import{vt as e}from"./index-BkyGebzB.js";import{t}from"./html-D5v2-ioG.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};
1
+ import{vt as e}from"./index-Df81HDo8.js";import{t}from"./html-CitsQslc.js";var n=[Object.freeze(JSON.parse('{"injectionSelector":"L:text.html -comment","name":"angular-expression","patterns":[{"include":"#ngExpression"}],"repository":{"arrayLiteral":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.array.literal.ts","patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"booleanLiteral":{"patterns":[{"match":"(?<![$.])\\\\btrue\\\\b(?!\\\\$)","name":"constant.language.boolean.true.ts"},{"match":"(?<![$.])\\\\bfalse\\\\b(?!\\\\$)","name":"constant.language.boolean.false.ts"}]},"expressionOperator":{"patterns":[{"captures":{"1":{"name":"keyword.operator.logical.ts"},"2":{"name":"entity.name.function.pipe.ng"}},"match":"((?<!\\\\|)\\\\|(?!\\\\|))\\\\s?([-$0-9A-Z_a-z]*)"},{"match":"(?<![$.])\\\\b(let)\\\\b(?!\\\\$)","name":"storage.type.ts"},{"match":"(?<![$.])\\\\b(await)\\\\b(?!\\\\$)","name":"keyword.control.flow.ts"},{"match":"(?<![$.])\\\\bdelete\\\\b(?!\\\\$)","name":"keyword.operator.expression.delete.ts"},{"match":"(?<![$.])\\\\bin\\\\b(?!\\\\$)","name":"keyword.operator.expression.in.ts"},{"match":"(?<![$.])\\\\bof\\\\b(?!\\\\$)","name":"keyword.operator.expression.of.ts"},{"match":"(?<![$.])\\\\bif\\\\b(?!\\\\$)","name":"keyword.control.if.ts"},{"match":"(?<![$.])\\\\belse\\\\b(?!\\\\$)","name":"keyword.control.else.ts"},{"match":"(?<![$.])\\\\bthen\\\\b(?!\\\\$)","name":"keyword.control.then.ts"},{"match":"(?<![$.])\\\\binstanceof\\\\b(?!\\\\$)","name":"keyword.operator.expression.instanceof.ts"},{"match":"(?<![$.])\\\\bnew\\\\b(?!\\\\$)","name":"keyword.operator.new.ts"},{"match":"(?<![$.])\\\\bvoid\\\\b(?!\\\\$)","name":"keyword.operator.expression.void.ts"},{"begin":"(?<![$.])\\\\bas\\\\b(?!\\\\$)","beginCaptures":{"0":{"name":"storage.type.as.ts"}},"end":"(?=$|[]\\"\'),:;}])","patterns":[{"include":"#type"}]},{"match":"(?:\\\\*|(?<!\\\\()/|[-%+])=","name":"keyword.operator.assignment.compound.ts"},{"match":"(?:[\\\\&^]|<<|>>>??|\\\\|)=","name":"keyword.operator.assignment.compound.bitwise.ts"},{"match":"<<|>>>?","name":"keyword.operator.bitwise.shift.ts"},{"match":"[!=]==?","name":"keyword.operator.comparison.ts"},{"match":"<=|>=|<>|[<>]","name":"keyword.operator.relational.ts"},{"match":"!|&&|\\\\?\\\\?|\\\\|\\\\|","name":"keyword.operator.logical.ts"},{"match":"[\\\\&^|~]","name":"keyword.operator.bitwise.ts"},{"match":"=","name":"keyword.operator.assignment.ts"},{"match":"--","name":"keyword.operator.decrement.ts"},{"match":"\\\\+\\\\+","name":"keyword.operator.increment.ts"},{"match":"[-%*+/]","name":"keyword.operator.arithmetic.ts"},{"captures":{"1":{"name":"keyword.operator.arithmetic.ts"}},"match":"(?<=[$_[:alnum:]])\\\\s*(/)(?![*/])"},{"include":"#typeofOperator"}]},"functionCall":{"begin":"(?=(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","end":"(?<=\\\\))(?!(\\\\??\\\\.\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\()","patterns":[{"match":"\\\\?","name":"punctuation.accessor.ts"},{"match":"\\\\.","name":"punctuation.accessor.ts"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.ts"},{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},{"include":"#parenExpression"}]},"functionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.definition.parameters.begin.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.parameters.end.ts"}},"name":"meta.parameters.ts","patterns":[{"include":"#decorator"},{"include":"#parameterName"},{"include":"#variableInitializer"},{"match":",","name":"punctuation.separator.parameter.ts"}]},"identifiers":{"patterns":[{"match":"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*\\\\.\\\\s*prototype\\\\b(?!\\\\$))","name":"support.class.ts"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.object.property.ts"},"3":{"name":"variable.other.object.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"entity.name.function.ts"}},"match":"(?:([!?]?\\\\.)\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\s*=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"constant.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])"},{"captures":{"1":{"name":"punctuation.accessor.ts"},"2":{"name":"variable.other.property.ts"}},"match":"([!?]?\\\\.)\\\\s*([$_[:alpha:]][$_[:alnum:]]*)"},{"captures":{"1":{"name":"constant.other.object.ts"},"2":{"name":"variable.other.object.ts"}},"match":"(?:(\\\\p{upper}[$_\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\s*\\\\.\\\\s*[$_[:alpha:]][$_[:alnum:]]*)"},{"match":"(\\\\p{upper}[$_\\\\d[:upper:]]*)(?![$_[:alnum:]])","name":"constant.character.other"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"variable.other.readwrite.ts"}]},"literal":{"name":"literal.ts","patterns":[{"include":"#numericLiteral"},{"include":"#booleanLiteral"},{"include":"#nullLiteral"},{"include":"#undefinedLiteral"},{"include":"#numericConstantLiteral"},{"include":"#arrayLiteral"},{"include":"#thisLiteral"}]},"ngExpression":{"name":"meta.expression.ng","patterns":[{"include":"#string"},{"include":"#literal"},{"include":"#ternaryExpression"},{"include":"#expressionOperator"},{"include":"#functionCall"},{"include":"#identifiers"},{"include":"#parenExpression"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"},{"include":"#punctuationAccessor"}]},"nullLiteral":{"match":"(?<![$.])\\\\bnull\\\\b(?!\\\\$)","name":"constant.language.null.ts"},"numericConstantLiteral":{"patterns":[{"match":"(?<![$.])\\\\bNaN\\\\b(?!\\\\$)","name":"constant.language.nan.ts"},{"match":"(?<![$.])\\\\bInfinity\\\\b(?!\\\\$)","name":"constant.language.infinity.ts"}]},"numericLiteral":{"patterns":[{"match":"\\\\b(?<!\\\\$)0([Xx])\\\\h+\\\\b(?!\\\\$)","name":"constant.numeric.hex.ts"},{"match":"\\\\b(?<!\\\\$)0([Bb])[01]+\\\\b(?!\\\\$)","name":"constant.numeric.binary.ts"},{"match":"\\\\\\\\b(?<!\\\\$)0([Oo])?[0-7]+\\\\b(?!\\\\$)","name":"constant.numeric.octal.ts"},{"captures":{"0":{"name":"constant.numeric.decimal.ts"},"1":{"name":"meta.delimiter.decimal.period.ts"},"2":{"name":"meta.delimiter.decimal.period.ts"},"3":{"name":"meta.delimiter.decimal.period.ts"},"4":{"name":"meta.delimiter.decimal.period.ts"},"5":{"name":"meta.delimiter.decimal.period.ts"},"6":{"name":"meta.delimiter.decimal.period.ts"}},"match":"(?<!\\\\$)(?:\\\\b[0-9]+(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)[Ee][-+]?[0-9]+\\\\b|\\\\B(\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\b|\\\\b[0-9]+(\\\\.)\\\\B|\\\\B(\\\\.)[0-9]+\\\\b|\\\\b[0-9]+\\\\b(?!\\\\.))(?!\\\\$)"}]},"parameterName":{"patterns":[{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"entity.name.function.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)(?=\\\\s*(=\\\\s*((async\\\\s+)|(function\\\\s*[(<])|(function\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\s*)?\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)(\\\\s*:\\\\s*(.)*)?\\\\s*=>)))|(:\\\\s*((<)|(\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))))"},{"captures":{"1":{"name":"storage.modifier.ts"},"2":{"name":"storage.modifier.ts"},"3":{"name":"keyword.operator.rest.ts"},"4":{"name":"variable.parameter.ts"},"5":{"name":"keyword.operator.optional.ts"}},"match":"(?:\\\\s*\\\\b(readonly)\\\\s+)?(?:\\\\s*\\\\b(p(?:ublic|rivate|rotected))\\\\s+)?(\\\\.\\\\.\\\\.)?\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(\\\\??)"}]},"parenExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#ngExpression"},{"include":"#punctuationComma"}]},"punctuationAccessor":{"match":"(?:\\\\?|!?)\\\\.","name":"punctuation.accessor.ts"},"punctuationComma":{"match":",","name":"punctuation.separator.comma.ts"},"punctuationSemicolon":{"match":";","name":"punctuation.terminator.statement.ts"},"qstringDouble":{"begin":"\\"","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\\")|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.double.ts","patterns":[{"include":"#stringCharacterEscape"}]},"qstringSingle":{"begin":"\'","beginCaptures":{"0":{"name":"punctuation.definition.string.begin.ts"}},"end":"(\')|([^\\\\n\\\\\\\\])$","endCaptures":{"1":{"name":"punctuation.definition.string.end.ts"},"2":{"name":"invalid.illegal.newline.ts"}},"name":"string.quoted.single.ts","patterns":[{"include":"#stringCharacterEscape"}]},"string":{"patterns":[{"include":"#qstringSingle"},{"include":"#qstringDouble"},{"include":"#templateLiteral"}]},"stringCharacterEscape":{"match":"\\\\\\\\(x\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)","name":"constant.character.escape.ts"},"templateLiteral":{"patterns":[{"include":"#templateLiteralCall"},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?(`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"},"2":{"name":"string.template.ts punctuation.definition.string.template.begin.ts"}},"contentName":"string.template.ts","end":"`","endCaptures":{"0":{"name":"string.template.ts punctuation.definition.string.template.end.ts"}},"patterns":[{"include":"#templateLiteralSubstitutionElement"},{"include":"#stringCharacterEscape"}]}]},"templateLiteralCall":{"patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","end":"(?=`)","patterns":[{"begin":"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\s*\\\\??\\\\.\\\\s*)*|(\\\\??\\\\.\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))","end":"(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)?`)","patterns":[{"include":"#support-function-call-identifiers"},{"match":"([$_[:alpha:]][$_[:alnum:]]*)","name":"entity.name.function.tagged-template.ts"}]},{"include":"#typeArguments"}]},{"begin":"([$_[:alpha:]][$_[:alnum:]]*)?\\\\s*(?=(<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))(([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>|<\\\\s*(((keyof|infer|typeof|readonly)\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\{([^{}]|(\\\\{([^{}]|\\\\{[^{}]*})*}))*})|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(\\\\[([^]\\\\[]|(\\\\[([^]\\\\[]|\\\\[[^]\\\\[]*])*]))*])|(\'([^\'\\\\\\\\]|\\\\\\\\.)*\')|(\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(`([^\\\\\\\\`]|\\\\\\\\.)*`))(?=\\\\s*([,.<>\\\\[]|=>|&(?!&)|\\\\|(?!\\\\|)))))([^(<>]|(\\\\(([^()]|(\\\\(([^()]|\\\\([^()]*\\\\))*\\\\)))*\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\s*)`)","beginCaptures":{"1":{"name":"entity.name.function.tagged-template.ts"}},"end":"(?=`)","patterns":[{"include":"#typeArguments"}]}]},"templateLiteralSubstitutionElement":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"meta.embedded.line.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"name":"meta.template.expression.ts","patterns":[{"include":"#ngExpression"}]},"ternaryExpression":{"begin":"(?!\\\\?\\\\.\\\\s*\\\\D)(\\\\?)(?!\\\\?)","beginCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"end":"\\\\s*(:)","endCaptures":{"1":{"name":"keyword.operator.ternary.ts"}},"patterns":[{"include":"#ngExpression"}]},"thisLiteral":{"match":"(?<![$.])\\\\bthis\\\\b(?!\\\\$)","name":"variable.language.this.ts"},"type":{"name":"meta.type.ts","patterns":[{"include":"#string"},{"include":"#numericLiteral"},{"include":"#typeBuiltinLiterals"},{"include":"#typeTuple"},{"include":"#typeObject"},{"include":"#typeOperators"},{"include":"#typeFnTypeParameters"},{"include":"#typeParenOrFunctionParameters"},{"include":"#typeName"}]},"typeAnnotation":{"begin":":","beginCaptures":{"0":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=$|[]),;}]|//|\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\s*(?=\\\\{)","name":"meta.type.annotation.ts","patterns":[{"include":"#type"}]},"typeArguments":{"begin":"<","beginCaptures":{"0":{"name":"punctuation.definition.typeparameters.begin.ts"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.typeparameters.end.ts"}},"name":"meta.type.parameters.ts","patterns":[{"include":"#typeArgumentsBody"}]},"typeArgumentsBody":{"patterns":[{"captures":{"0":{"name":"keyword.operator.type.ts"}},"match":"(?<![$_[:alnum:]])(?:(?<=\\\\.\\\\.\\\\.)|(?<!\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\.\\\\.\\\\.)|(?!\\\\.))"},{"include":"#type"},{"include":"#punctuationComma"}]},"typeBuiltinLiterals":{"match":"(?<![$.])\\\\b(this|true|false|undefined|null)\\\\b(?!\\\\$)","name":"support.type.builtin.ts"},"typeFnTypeParameters":{"patterns":[{"captures":{"1":{"name":"keyword.control.new.ts"}},"match":"(?<![$.])\\\\b(new)\\\\b(?=\\\\s*<)","name":"meta.type.constructor.ts"},{"begin":"(?<![$.])\\\\b(new)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"name":"keyword.control.new.ts"}},"end":"(?<=\\\\))","name":"meta.type.constructor.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"(?<=>)\\\\s*(?=\\\\()","end":"(?<=\\\\))","include":"#typeofOperator","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]},{"begin":"((?=\\\\(\\\\s*((\\\\))|(\\\\.\\\\.\\\\.)|([$_[:alnum:]]+\\\\s*(([,:=?])|(\\\\)\\\\s*=>))))))","end":"(?<=\\\\))","name":"meta.type.function.ts","patterns":[{"include":"#functionParameters"}]}]},"typeName":{"patterns":[{"captures":{"1":{"name":"entity.name.type.module.ts"},"2":{"name":"punctuation.accessor.ts"}},"match":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s*([!?]?\\\\.)"},{"match":"[$_[:alpha:]][$_[:alnum:]]*","name":"entity.name.type.ts"}]},"typeObject":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"name":"meta.object.type.ts","patterns":[{"include":"#typeObjectMembers"}]},"typeObjectMembers":{"patterns":[{"include":"#typeAnnotation"},{"include":"#punctuationComma"},{"include":"#punctuationSemicolon"}]},"typeOperators":{"patterns":[{"include":"#typeofOperator"},{"match":"[\\\\&|]","name":"keyword.operator.type.ts"},{"match":"(?<![$.])\\\\bkeyof\\\\b(?!\\\\$)","name":"keyword.operator.expression.keyof.ts"}]},"typeParenOrFunctionParameters":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"name":"meta.type.paren.cover.ts","patterns":[{"include":"#type"},{"include":"#functionParameters"}]},"typeTuple":{"begin":"\\\\[","beginCaptures":{"0":{"name":"meta.brace.square.ts"}},"end":"]","endCaptures":{"0":{"name":"meta.brace.square.ts"}},"name":"meta.type.tuple.ts","patterns":[{"include":"#type"},{"include":"#punctuationComma"}]},"typeofOperator":{"match":"(?<![$.])\\\\btypeof\\\\b(?!\\\\$)","name":"keyword.operator.expression.typeof.ts"},"undefinedLiteral":{"match":"(?<![$.])\\\\bundefined\\\\b(?!\\\\$)","name":"constant.language.undefined.ts"},"variableInitializer":{"begin":"(?<![!=])(=)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.assignment.ts"}},"end":"(?=$|[]),;}])","patterns":[{"include":"#ngExpression"}]}},"scopeName":"expression.ng"}'))],r=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-let-declaration","patterns":[{"include":"#letDeclaration"}],"repository":{"letDeclaration":{"begin":"(@let)\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\s*(=)?","beginCaptures":{"1":{"name":"storage.type.ng"},"2":{"name":"variable.other.constant.ng"},"3":{"name":"keyword.operator.assignment.ng"}},"end":"(?<=;)","name":"meta.definition.variable.ng","patterns":[{"include":"#letInitializer"}]},"letInitializer":{"begin":"\\\\s*","beginCaptures":{"0":{"name":"keyword.operator.assignment.ng"}},"contentName":"meta.definition.variable.initializer.ng","end":";","endCaptures":{"0":{"name":"punctuation.terminator.statement.ng"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.let.ng","embeddedLangs":["angular-expression"]}`)),i=[...n,r],a=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment","name":"angular-template","patterns":[{"include":"#interpolation"}],"repository":{"interpolation":{"begin":"\\\\{\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"expression.ng","end":"}}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"expression.ng"}]}},"scopeName":"template.ng","embeddedLangs":["angular-expression"]}`)),o=[...n,a],s=Object.freeze(JSON.parse(`{"injectTo":["text.html.derivative","text.html.derivative.ng","source.ts.ng"],"injectionSelector":"L:text.html -comment -expression.ng -meta.tag -source.css -source.js","name":"angular-template-blocks","patterns":[{"include":"#block"}],"repository":{"block":{"begin":"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.block.kind.ng"}},"end":"(?<=})","name":"control.block.ng","patterns":[{"include":"#blockExpression"},{"include":"#blockBody"}]},"blockBody":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"contentName":"control.block.body.ng","end":"}","endCaptures":{"0":{"name":"punctuation.definition.block.ts"}},"patterns":[{"include":"text.html.derivative.ng"},{"include":"template.ng"}]},"blockExpression":{"begin":"\\\\(","beginCaptures":{"0":{"name":"meta.brace.round.ts"}},"contentName":"control.block.expression.ng","end":"\\\\)","endCaptures":{"0":{"name":"meta.brace.round.ts"}},"patterns":[{"include":"#blockExpressionOfClause"},{"include":"#blockExpressionLetBinding"},{"include":"#blockExpressionTrackClause"},{"include":"expression.ng"}]},"blockExpressionLetBinding":{"begin":"\\\\blet\\\\b","beginCaptures":{"0":{"name":"storage.type.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionOfClause":{"begin":"([$_[:alpha:]][$_[:alnum:]]*)\\\\s+(of)\\\\b","beginCaptures":{"1":{"name":"variable.other.constant.ng"},"2":{"name":"keyword.operator.expression.of.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"blockExpressionTrackClause":{"begin":"\\\\btrack\\\\b","beginCaptures":{"0":{"name":"keyword.control.track.ng"}},"end":"(?=[$)])|(?<=;)","patterns":[{"include":"expression.ng"}]},"transition":{"match":"@","name":"keyword.control.block.transition.ng"}},"scopeName":"template.blocks.ng","embeddedLangs":["angular-expression","angular-template"]}`)),c=[...n,...o,s],l=e({default:()=>d}),u=Object.freeze(JSON.parse(`{"displayName":"Angular HTML","injections":{"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)":{"patterns":[{"match":"<","name":"invalid.illegal.bad-angle-bracket.html"}]}},"name":"angular-html","patterns":[{"include":"text.html.basic#core-minus-invalid"},{"begin":"(</?)(\\\\w[^>\\\\s]*)(?<!/)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"}},"end":"((?: ?/)?>)","endCaptures":{"1":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.other.unrecognized.html.derivative","patterns":[{"include":"text.html.basic#attribute"}]}],"scopeName":"text.html.derivative.ng","embeddedLangs":["html","angular-expression","angular-let-declaration","angular-template","angular-template-blocks"]}`)),d=[...t,...n,...i,...o,...c,u];export{i as a,o as i,l as n,n as o,c as r,d as t};