stitchkit 0.91.2 → 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.
- package/CHANGELOG.md +80 -0
- package/dist/agent-runtime-coding-tools.js +3 -3
- package/dist/agent-runtime-harness.js +5 -5
- package/dist/agent-runtime-sandbox.js +3 -3
- package/dist/agent-runtime.js +8 -8
- package/dist/cli.d.ts +6 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +370 -49
- package/dist/contract/define.d.ts +84 -2
- package/dist/contract/define.d.ts.map +1 -1
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.d.ts.map +1 -1
- package/dist/{index-a2nzz56k.js → index-2c2bjw3s.js} +3 -3
- package/dist/{index-seyy8dvn.js → index-7n145nbe.js} +182 -108
- package/dist/{index-axvavfr4.js → index-bx75zwt7.js} +3 -3
- package/dist/{index-709nh7z7.js → index-cxqhvq21.js} +2 -1
- package/dist/{index-pena034b.js → index-e42wzzz5.js} +3 -3
- package/dist/{index-qjeyx5t2.js → index-fq77yfzc.js} +1 -1
- package/dist/{index-fenaekmk.js → index-h9etkkyk.js} +37 -27
- package/dist/{index-4x809vqd.js → index-mzvgxp0n.js} +2 -2
- package/dist/{index-jpfqfg5c.js → index-n0f51dfn.js} +2 -2
- package/dist/{index-bv7mytab.js → index-sr93cwf9.js} +1 -1
- package/dist/{index-vsbzgd7b.js → index-tmwcrptx.js} +1 -0
- package/dist/{index-8z9we758.js → index-vjpvjqpn.js} +1 -1
- package/dist/{index-7hz88dy8.js → index-vk3kq9sb.js} +1 -1
- package/dist/{index-s3dssqxp.js → index-yn8remb1.js} +60 -56
- package/dist/internal/atomic-file.d.ts +21 -0
- package/dist/internal/atomic-file.d.ts.map +1 -0
- package/dist/node.js +3 -3
- package/dist/observability/audit.d.ts +5 -1
- package/dist/observability/audit.d.ts.map +1 -1
- package/dist/observability/changes.d.ts.map +1 -1
- package/dist/observability/context.d.ts +27 -6
- package/dist/observability/context.d.ts.map +1 -1
- package/dist/observability/event.d.ts +34 -6
- package/dist/observability/event.d.ts.map +1 -1
- package/dist/observability/index.d.ts +2 -1
- package/dist/observability/index.d.ts.map +1 -1
- package/dist/observability/index.js +50 -6
- package/dist/observability/work.d.ts +55 -0
- package/dist/observability/work.d.ts.map +1 -0
- package/dist/server/context-contribution.d.ts.map +1 -1
- package/dist/server/index.js +4 -4
- package/dist/server/types.d.ts +20 -6
- package/dist/server/types.d.ts.map +1 -1
- package/dist/testing/surface-manifest.d.ts.map +1 -1
- package/dist/testing.js +6 -4
- package/dist/tool-invoker.js +5 -5
- package/dist/tools/cli-checkpoint.d.ts +24 -0
- package/dist/tools/cli-checkpoint.d.ts.map +1 -0
- package/dist/tools/cli-format.d.ts +10 -0
- package/dist/tools/cli-format.d.ts.map +1 -1
- package/dist/tools/cli-invoke.d.ts +118 -0
- package/dist/tools/cli-invoke.d.ts.map +1 -0
- package/dist/tools/cli-manifest.d.ts +6 -9
- package/dist/tools/cli-manifest.d.ts.map +1 -1
- package/dist/tools/cli-signature.d.ts +81 -0
- package/dist/tools/cli-signature.d.ts.map +1 -0
- package/dist/tools/cli-stream.d.ts +93 -0
- package/dist/tools/cli-stream.d.ts.map +1 -0
- package/dist/tools/cli-update.d.ts +62 -0
- package/dist/tools/cli-update.d.ts.map +1 -1
- package/dist/tools/cli.d.ts +4 -13
- package/dist/tools/cli.d.ts.map +1 -1
- package/dist/tools/connections/index.js +2 -2
- package/dist/tools/execute.d.ts +21 -0
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/mcp-progress.d.ts +46 -0
- package/dist/tools/mcp-progress.d.ts.map +1 -0
- package/dist/tools/mcp-round-policy.d.ts +25 -1
- package/dist/tools/mcp-round-policy.d.ts.map +1 -1
- package/dist/tools/mcp-round.d.ts +20 -1
- package/dist/tools/mcp-round.d.ts.map +1 -1
- package/dist/tools/mcp-trace.d.ts +9 -1
- package/dist/tools/mcp-trace.d.ts.map +1 -1
- package/dist/tools/mount-wait.d.ts.map +1 -1
- package/dist/tools.js +159 -50
- package/llms-full.txt +358 -8
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -15,6 +15,86 @@ 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
|
+
|
|
18
98
|
## [0.91.2] — 2026-09-22
|
|
19
99
|
|
|
20
100
|
### Fixed
|
|
@@ -3,14 +3,14 @@ import {
|
|
|
3
3
|
AgentCodingToolLimitsSchema,
|
|
4
4
|
AgentCodingToolPathAuthorizationSchema,
|
|
5
5
|
createAgentCodingTools
|
|
6
|
-
} from "./index-
|
|
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-
|
|
13
|
-
import"./index-
|
|
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-
|
|
9
|
+
} from "./index-vk3kq9sb.js";
|
|
10
10
|
import"./index-p13mwz16.js";
|
|
11
11
|
import"./index-y64k3s0h.js";
|
|
12
12
|
import {
|
|
@@ -19,8 +19,8 @@ import {
|
|
|
19
19
|
walkContainedFiles
|
|
20
20
|
} from "./index-bn2cjajt.js";
|
|
21
21
|
import"./index-kw9t5ayn.js";
|
|
22
|
-
import"./index-
|
|
23
|
-
import"./index-
|
|
22
|
+
import"./index-yn8remb1.js";
|
|
23
|
+
import"./index-tmwcrptx.js";
|
|
24
24
|
import"./index-f9mb610r.js";
|
|
25
25
|
import"./index-e0znv5gn.js";
|
|
26
26
|
import"./index-0a349c33.js";
|
|
@@ -30,8 +30,8 @@ import"./index-zcgf3gqf.js";
|
|
|
30
30
|
import"./index-7zbps32p.js";
|
|
31
31
|
import {
|
|
32
32
|
defineRuntimeTool
|
|
33
|
-
} from "./index-
|
|
34
|
-
import"./index-
|
|
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-
|
|
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-
|
|
14
|
-
import"./index-
|
|
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";
|
package/dist/agent-runtime.js
CHANGED
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
renderAgentStateSlots,
|
|
25
25
|
repairedSearchCall,
|
|
26
26
|
selectAgentHistory
|
|
27
|
-
} from "./index-
|
|
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-
|
|
165
|
+
} from "./index-e42wzzz5.js";
|
|
166
166
|
import {
|
|
167
167
|
DURABILITY_STEP_EVENT_KIND,
|
|
168
168
|
ParkAbortedError,
|
|
@@ -172,10 +172,10 @@ import {
|
|
|
172
172
|
StepResultNotSerializableError,
|
|
173
173
|
createLocalStepDurability
|
|
174
174
|
} from "./index-kw9t5ayn.js";
|
|
175
|
-
import"./index-
|
|
176
|
-
import"./index-
|
|
177
|
-
import"./index-
|
|
178
|
-
import"./index-
|
|
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
180
|
import"./index-e0znv5gn.js";
|
|
181
181
|
import"./index-0a349c33.js";
|
|
@@ -188,8 +188,8 @@ import {
|
|
|
188
188
|
import"./index-7zbps32p.js";
|
|
189
189
|
import {
|
|
190
190
|
defineRuntimeTool
|
|
191
|
-
} from "./index-
|
|
192
|
-
import"./index-
|
|
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
|
|
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,
|
|
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"}
|