stitchkit 0.91.1 → 0.92.0

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/CHANGELOG.md +104 -0
  2. package/dist/agent-runtime-coding-tools.js +3 -3
  3. package/dist/agent-runtime-harness.js +6 -6
  4. package/dist/agent-runtime-sandbox.js +3 -3
  5. package/dist/agent-runtime.js +9 -9
  6. package/dist/cli.d.ts +6 -3
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +371 -50
  9. package/dist/contract/define.d.ts +84 -2
  10. package/dist/contract/define.d.ts.map +1 -1
  11. package/dist/contract/index.d.ts +1 -1
  12. package/dist/contract/index.d.ts.map +1 -1
  13. package/dist/{index-qrbdq8jk.js → index-2c2bjw3s.js} +3 -3
  14. package/dist/{index-ya611vx3.js → index-7n145nbe.js} +183 -109
  15. package/dist/{index-bh70rk41.js → index-bx75zwt7.js} +3 -3
  16. package/dist/{index-709nh7z7.js → index-cxqhvq21.js} +2 -1
  17. package/dist/{index-13cjtmrw.js → index-e0znv5gn.js} +31 -8
  18. package/dist/{index-f4p4b8f6.js → index-e42wzzz5.js} +3 -3
  19. package/dist/{index-13e1k7v9.js → index-f477k430.js} +1 -1
  20. package/dist/{index-qjeyx5t2.js → index-fq77yfzc.js} +1 -1
  21. package/dist/{index-fenaekmk.js → index-h9etkkyk.js} +37 -27
  22. package/dist/{index-1qvdwnp2.js → index-mzvgxp0n.js} +2 -2
  23. package/dist/{index-zsqy3xfn.js → index-n0f51dfn.js} +4 -4
  24. package/dist/{index-bv7mytab.js → index-sr93cwf9.js} +1 -1
  25. package/dist/{index-vsbzgd7b.js → index-tmwcrptx.js} +1 -0
  26. package/dist/{index-b971qjes.js → index-v5573g1k.js} +1 -1
  27. package/dist/{index-8z9we758.js → index-vjpvjqpn.js} +1 -1
  28. package/dist/{index-bx6yq2m4.js → index-vk3kq9sb.js} +1 -1
  29. package/dist/{index-137jjs4v.js → index-yewwh1w4.js} +1 -1
  30. package/dist/{index-mqhjmadk.js → index-yn8remb1.js} +61 -57
  31. package/dist/index.js +4 -4
  32. package/dist/internal/atomic-file.d.ts +21 -0
  33. package/dist/internal/atomic-file.d.ts.map +1 -0
  34. package/dist/internal/errors.d.ts +10 -0
  35. package/dist/internal/errors.d.ts.map +1 -1
  36. package/dist/node.js +5 -5
  37. package/dist/observability/audit.d.ts +5 -1
  38. package/dist/observability/audit.d.ts.map +1 -1
  39. package/dist/observability/changes.d.ts.map +1 -1
  40. package/dist/observability/context.d.ts +27 -6
  41. package/dist/observability/context.d.ts.map +1 -1
  42. package/dist/observability/event.d.ts +34 -6
  43. package/dist/observability/event.d.ts.map +1 -1
  44. package/dist/observability/index.d.ts +2 -1
  45. package/dist/observability/index.d.ts.map +1 -1
  46. package/dist/observability/index.js +51 -7
  47. package/dist/observability/work.d.ts +55 -0
  48. package/dist/observability/work.d.ts.map +1 -0
  49. package/dist/remote.js +3 -3
  50. package/dist/server/context-contribution.d.ts.map +1 -1
  51. package/dist/server/index.js +7 -7
  52. package/dist/server/types.d.ts +20 -6
  53. package/dist/server/types.d.ts.map +1 -1
  54. package/dist/testing/surface-manifest.d.ts.map +1 -1
  55. package/dist/testing.js +9 -7
  56. package/dist/tool-invoker.js +6 -6
  57. package/dist/tools/cli-checkpoint.d.ts +24 -0
  58. package/dist/tools/cli-checkpoint.d.ts.map +1 -0
  59. package/dist/tools/cli-format.d.ts +10 -0
  60. package/dist/tools/cli-format.d.ts.map +1 -1
  61. package/dist/tools/cli-invoke.d.ts +118 -0
  62. package/dist/tools/cli-invoke.d.ts.map +1 -0
  63. package/dist/tools/cli-manifest.d.ts +6 -9
  64. package/dist/tools/cli-manifest.d.ts.map +1 -1
  65. package/dist/tools/cli-signature.d.ts +81 -0
  66. package/dist/tools/cli-signature.d.ts.map +1 -0
  67. package/dist/tools/cli-stream.d.ts +93 -0
  68. package/dist/tools/cli-stream.d.ts.map +1 -0
  69. package/dist/tools/cli-update.d.ts +62 -0
  70. package/dist/tools/cli-update.d.ts.map +1 -1
  71. package/dist/tools/cli.d.ts +4 -13
  72. package/dist/tools/cli.d.ts.map +1 -1
  73. package/dist/tools/connections/index.js +2 -2
  74. package/dist/tools/execute.d.ts +21 -0
  75. package/dist/tools/execute.d.ts.map +1 -1
  76. package/dist/tools/mcp-progress.d.ts +46 -0
  77. package/dist/tools/mcp-progress.d.ts.map +1 -0
  78. package/dist/tools/mcp-round-policy.d.ts +25 -1
  79. package/dist/tools/mcp-round-policy.d.ts.map +1 -1
  80. package/dist/tools/mcp-round.d.ts +20 -1
  81. package/dist/tools/mcp-round.d.ts.map +1 -1
  82. package/dist/tools/mcp-trace.d.ts +9 -1
  83. package/dist/tools/mcp-trace.d.ts.map +1 -1
  84. package/dist/tools/mount-wait.d.ts.map +1 -1
  85. package/dist/tools.js +160 -51
  86. package/llms-full.txt +358 -8
  87. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -15,6 +15,110 @@ additive**; the first breaking change landed in 0.10.0. Grep the file for
15
15
 
16
16
  ## [Unreleased]
17
17
 
18
+ ## [0.92.0] — 2026-09-22
19
+
20
+ ### ⚠️ Breaking changes
21
+
22
+ - **`RequestEvent.method`, `path` and `statusCode` are optional, and every event
23
+ carries `kind`.** Work that never arrived over a transport — an agent loop
24
+ started fire-and-forget, a scheduled broadcast — had to invent them, and what
25
+ it invented was `method: 'AGENT'`: not a verb, but the absence of one written
26
+ into the field for verbs. Their absence is now the record. `statusCode` went
27
+ with them deliberately: dropping the fabricated verb while still demanding an
28
+ HTTP status would have left a second invented transport field in the same row
29
+ for the same reason.
30
+
31
+ **Who must act:** anyone whose `RequestEventSinkConfig.write` writes
32
+ `method` / `path` / `statusCode` into NOT NULL columns, or whose sink filter
33
+ reads `event.method`; anyone adopting signature verification, who now passes the
34
+ manifest to `applyCliUpdate`; and nobody for the continuation refusal, which
35
+ resolves itself on the host's retry.
36
+
37
+ `// before: { method: event.method, path: event.path, status: event.statusCode }` →
38
+ `// after: { kind: event.kind, method: event.method ?? null, path: event.path ?? null, status: event.statusCode ?? null }`
39
+ → ADR 0191
40
+
41
+ - **`applyCliUpdate` requires the manifest when given a trust root.** The
42
+ signature covers the manifest's identity and every asset digest together, so
43
+ an asset on its own carries nothing to verify.
44
+ `// before: applyCliUpdate({ asset })` →
45
+ `// after: applyCliUpdate({ asset, manifest: check.manifest, trust })`
46
+ → ADR 0193
47
+
48
+ - **An MCP continuation minted before this release is refused once.** The signed
49
+ round state now carries a fingerprint of the question plan, checked every
50
+ round. A conversation in flight at deploy time has no fingerprint and gets
51
+ `INVALID_REQUEST_STATE`; the host re-asks and the retry succeeds. → ADR 0190
52
+
53
+ ### Added
54
+
55
+ - **`ctx.reportProgress` — a tool call can tell the host what it is doing.**
56
+ The protocol's channel existed and the framework read neither end, so ten
57
+ minutes of work and a hang looked identical, including to the model deciding
58
+ whether to call again. Present on every tool call and a no-op where nobody is
59
+ listening; never throws. An omitted `progress` sends the ordinal of the update
60
+ rather than a synthesised percentage. The framework still sends nothing on its
61
+ own — except `mountWait`, which already polls and relays the phase and the
62
+ snapshot's own measured number. → ADR 0189
63
+ - **`mcp.inputRequired` may be a function of the parsed call.** A tool whose
64
+ questions depend on its arguments — one model takes `aspect_ratio`, another
65
+ `duration` — could previously declare none, and taught the model to work
66
+ around the gap in its own description. Returning an empty list runs the call
67
+ as usual. → ADR 0190
68
+ - **`runUnitOfWork`** — work with no transport gets one context and the same
69
+ completion record a request gets, with `kind: 'job'`, a `name`, its duration
70
+ and its outcome, and none of the transport fields it does not have.
71
+ `setRequestDimensions` inside it is no longer a silent no-op. → ADR 0191
72
+ - **`createCliInvoker`, `cliExitCode`, `defineCliStreamCommand`,
73
+ `defineCliBatchCommand`** — run an already-parsed call in process and get the
74
+ typed output with the exit code the printed path would give, from the same
75
+ table. The stream answers each line as it arrives rather than after EOF, and
76
+ the batch resumes from a checkpoint written by atomic rename after every
77
+ successful line. Both are factories: the framework does not take `jsonl` or
78
+ `batch` out of the application's own namespace. → ADR 0192
79
+ - **Signed build manifests.** `signature` is part of the schema (it used to be
80
+ stripped, so a signed install fetched the document twice), Ed25519 over
81
+ everything that acts before the digest can disagree — including
82
+ `compression`, whose expansion is now bounded by the signed `size`. Five
83
+ verdicts, `unenforced` among them so an unpinned build keeps updating while
84
+ the absence of a check stays visible. `applyCliUpdate({ backupPath })` keeps
85
+ the replaced binary with its own file mode and `rollbackCliUpdate` puts it
86
+ back against its digest. `assertCliPublishable` takes every manifest already
87
+ published, because one version published to two channels from two commits is
88
+ invisible to a check that sees one. → ADR 0193
89
+
90
+ ### Fixed
91
+
92
+ - **`writeFileAtomic` stages under a random name and creates exclusively.** The
93
+ previous scheme built the staging name from pid and clock, and an ordinary
94
+ write follows a symlink — anyone able to write to the target's directory could
95
+ redirect a binary replacement, a backup or a checkpoint through a planted
96
+ link.
97
+
98
+ ## [0.91.2] — 2026-09-22
99
+
100
+ ### Fixed
101
+
102
+ - **A refused union now presents the field it already collected.** 0.90.8 made
103
+ the real path available — and then `formatZodError` printed the first five
104
+ entries of a tree walk, which for a union over primitives (`z.json()`, or any
105
+ recursive schema) are the branches that failed on the type of the whole value:
106
+ all at the union's own path, all saying the same thing. A consuming session
107
+ read `(root)` five times and `...and 14 more issues` while the line naming
108
+ `nodes.0.streams` sat eighteenth of nineteen, and spent an hour on it. Three
109
+ changes, each measured on that payload: a branch is described by the **deepest
110
+ named field it reached** rather than by its first issue (which for a nested
111
+ union is that nested `invalid_union` at the parent's own path, saying nothing
112
+ new); a truncated summary keeps the branches that got **furthest** rather than
113
+ the first few; and the text projection prints one line per path, since the
114
+ union's own line already quotes the repeats and each one spends a slot. The
115
+ depth limit now bounds how many *issues* a nested union contributes and no
116
+ longer silences its own line, which used to read `nodes.0.streams: Invalid
117
+ input` on exactly the line that mattered. `zodIssues` and `details.issues` are
118
+ unchanged in shape and still carry every branch, repeats included — a machine
119
+ addresses them by branch number. An error with no unions prints exactly what
120
+ it printed before. → ADR 0188
121
+
18
122
  ## [0.91.1] — 2026-09-22
19
123
 
20
124
  ### Fixed
@@ -3,14 +3,14 @@ import {
3
3
  AgentCodingToolLimitsSchema,
4
4
  AgentCodingToolPathAuthorizationSchema,
5
5
  createAgentCodingTools
6
- } from "./index-qjeyx5t2.js";
6
+ } from "./index-fq77yfzc.js";
7
7
  import"./index-bn2cjajt.js";
8
8
  import"./index-qmy6zq75.js";
9
9
  import"./index-0a349c33.js";
10
10
  import"./index-rxfy4cq7.js";
11
11
  import"./index-6k1937bx.js";
12
- import"./index-8z9we758.js";
13
- import"./index-fenaekmk.js";
12
+ import"./index-vjpvjqpn.js";
13
+ import"./index-h9etkkyk.js";
14
14
  import"./index-cby4ar3v.js";
15
15
  import"./index-2vtcmrj9.js";
16
16
  import"./index-kzfs85xp.js";
@@ -6,7 +6,7 @@ import {
6
6
  composeAgentPrompt,
7
7
  createAgentRuntime,
8
8
  createAgentRuntimeEventSink
9
- } from "./index-bx6yq2m4.js";
9
+ } from "./index-vk3kq9sb.js";
10
10
  import"./index-p13mwz16.js";
11
11
  import"./index-y64k3s0h.js";
12
12
  import {
@@ -19,10 +19,10 @@ import {
19
19
  walkContainedFiles
20
20
  } from "./index-bn2cjajt.js";
21
21
  import"./index-kw9t5ayn.js";
22
- import"./index-mqhjmadk.js";
23
- import"./index-vsbzgd7b.js";
22
+ import"./index-yn8remb1.js";
23
+ import"./index-tmwcrptx.js";
24
24
  import"./index-f9mb610r.js";
25
- import"./index-13cjtmrw.js";
25
+ import"./index-e0znv5gn.js";
26
26
  import"./index-0a349c33.js";
27
27
  import"./index-rxfy4cq7.js";
28
28
  import"./index-6k1937bx.js";
@@ -30,8 +30,8 @@ import"./index-zcgf3gqf.js";
30
30
  import"./index-7zbps32p.js";
31
31
  import {
32
32
  defineRuntimeTool
33
- } from "./index-8z9we758.js";
34
- import"./index-fenaekmk.js";
33
+ } from "./index-vjpvjqpn.js";
34
+ import"./index-h9etkkyk.js";
35
35
  import"./index-cby4ar3v.js";
36
36
  import"./index-2vtcmrj9.js";
37
37
  import"./index-kzfs85xp.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createAgentCodingTools
3
- } from "./index-qjeyx5t2.js";
3
+ } from "./index-fq77yfzc.js";
4
4
  import"./index-bn2cjajt.js";
5
5
  import {
6
6
  codingRefusal,
@@ -10,8 +10,8 @@ import {
10
10
  import"./index-0a349c33.js";
11
11
  import"./index-rxfy4cq7.js";
12
12
  import"./index-6k1937bx.js";
13
- import"./index-8z9we758.js";
14
- import"./index-fenaekmk.js";
13
+ import"./index-vjpvjqpn.js";
14
+ import"./index-h9etkkyk.js";
15
15
  import"./index-cby4ar3v.js";
16
16
  import"./index-2vtcmrj9.js";
17
17
  import"./index-kzfs85xp.js";
@@ -24,7 +24,7 @@ import {
24
24
  renderAgentStateSlots,
25
25
  repairedSearchCall,
26
26
  selectAgentHistory
27
- } from "./index-bx6yq2m4.js";
27
+ } from "./index-vk3kq9sb.js";
28
28
  import"./index-p13mwz16.js";
29
29
  import {
30
30
  AgentAdmissionEventSchema,
@@ -162,7 +162,7 @@ import {
162
162
  import {
163
163
  buildToolManifest,
164
164
  mountAgent
165
- } from "./index-f4p4b8f6.js";
165
+ } from "./index-e42wzzz5.js";
166
166
  import {
167
167
  DURABILITY_STEP_EVENT_KIND,
168
168
  ParkAbortedError,
@@ -172,12 +172,12 @@ import {
172
172
  StepResultNotSerializableError,
173
173
  createLocalStepDurability
174
174
  } from "./index-kw9t5ayn.js";
175
- import"./index-qrbdq8jk.js";
176
- import"./index-1qvdwnp2.js";
177
- import"./index-mqhjmadk.js";
178
- import"./index-vsbzgd7b.js";
175
+ import"./index-2c2bjw3s.js";
176
+ import"./index-mzvgxp0n.js";
177
+ import"./index-yn8remb1.js";
178
+ import"./index-tmwcrptx.js";
179
179
  import"./index-f9mb610r.js";
180
- import"./index-13cjtmrw.js";
180
+ import"./index-e0znv5gn.js";
181
181
  import"./index-0a349c33.js";
182
182
  import"./index-rxfy4cq7.js";
183
183
  import"./index-6k1937bx.js";
@@ -188,8 +188,8 @@ import {
188
188
  import"./index-7zbps32p.js";
189
189
  import {
190
190
  defineRuntimeTool
191
- } from "./index-8z9we758.js";
192
- import"./index-fenaekmk.js";
191
+ } from "./index-vjpvjqpn.js";
192
+ import"./index-h9etkkyk.js";
193
193
  import"./index-cby4ar3v.js";
194
194
  import"./index-2vtcmrj9.js";
195
195
  import"./index-kzfs85xp.js";
package/dist/cli.d.ts CHANGED
@@ -16,15 +16,18 @@
16
16
  *
17
17
  * and point your app's `package.json` `bin` at it.
18
18
  */
19
- export { type CliConfig, type CliSurfaceSource, createCli } from './tools/cli.js';
19
+ export { type CliConfig, type CliInvocationResult, type CliInvoker, type CliInvokerCommand, type CliInvokerConfig, type CliSurfaceSource, cliInvocationResult, createCli, createCliInvoker, } from './tools/cli.js';
20
20
  export { CliArgumentError, type CliArgvRoute, type CliGlobalOptionsParse, type CliResultView, type CliRunOptions, extractCliGlobalOptions, type ParsedCliArgs, parseCliArgs, routeCliArgv, } from './tools/cli-args.js';
21
+ export { type CliCheckpoint, type CliCheckpointEntry, readCliCheckpoint, writeCliCheckpoint, } from './tools/cli-checkpoint.js';
21
22
  export { type CliCommandContext, type CliCommandDefinition, type CliCommandDefinitionBase, type CliCommandDefinitionWithOutput, type CliCommandDefinitionWithoutOutput, defineCliCommand, } from './tools/cli-command.js';
22
- export { type CliWriters, DEFAULT_EXIT_CODES, type EmitOptions, type ExitCodeMap, emitResult, } from './tools/cli-format.js';
23
+ export { type CliWriters, cliExitCode, DEFAULT_EXIT_CODES, type EmitOptions, type ExitCodeMap, emitResult, } from './tools/cli-format.js';
23
24
  export { type CliInstallerConfig, renderCliInstaller, } from './tools/cli-installer.js';
24
25
  export { assertCliPublishable, type CliBuildAsset, CliBuildAssetSchema, type CliBuildManifest, CliBuildManifestSchema, type CliBuildStamp, CliBuildStampSchema, type CliBuildTarget, CliBuildTargetSchema, currentCliBuildTarget, formatCliBuildStamp, selectCliBuildAsset, } from './tools/cli-manifest.js';
25
26
  export type { CliPresentationPolicyConfig } from './tools/cli-policy.js';
26
27
  export { CliProfileError, type CliProfileStore, type CliProfileStoreConfig, createCliProfileStore, type ResolvedCliProfile, } from './tools/cli-profile.js';
27
- export { type AppliedCliUpdate, applyCliUpdate, type CliUpdateApplyConfig, type CliUpdateCheck, type CliUpdateCheckConfig, checkCliUpdate, compareCliVersions, } from './tools/cli-update.js';
28
+ export { type CliBuildSignature, CliBuildSignatureSchema, type CliSignatureVerdict, type CliSigningKey, type CliTrustRoot, cliManifestSigningPayload, cliSignatureAccepted, signCliManifest, verifyCliManifest, } from './tools/cli-signature.js';
29
+ export { type CliBatchCommandConfig, type CliStreamAnswer, type CliStreamCommandConfig, type CliStreamHooks, defineCliBatchCommand, defineCliStreamCommand, runCliStream, } from './tools/cli-stream.js';
30
+ export { type AppliedCliUpdate, applyCliUpdate, type CliRollbackConfig, type CliUpdateApplyConfig, type CliUpdateCheck, type CliUpdateCheckConfig, checkCliUpdate, compareCliVersions, type RolledBackCliUpdate, rollbackCliUpdate, } from './tools/cli-update.js';
28
31
  export { type CliViewOutput, renderCliView } from './tools/cli-view.js';
29
32
  export { type CliWaitConfig, type PollParams, pollUntilDone } from './tools/cli-wait.js';
30
33
  /**
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,uBAAuB,EACvB,KAAK,aAAa,EAClB,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,iCAAiC,EACtC,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,UAAU,EACf,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,cAAc,EACd,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtF;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,mBAAmB,EACnB,SAAS,EACT,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,uBAAuB,EACvB,KAAK,aAAa,EAClB,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,iCAAiC,EACtC,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,UAAU,EACf,WAAW,EACX,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,kBAAkB,EACvB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oBAAoB,EACpB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,aAAa,EAClB,mBAAmB,EACnB,KAAK,cAAc,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EACf,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,cAAc,EACd,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtF;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}