@amalgm/chat 0.1.1 → 0.2.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/AGENTS.md +98 -0
- package/PURPOSE.md +143 -104
- package/README.md +82 -54
- package/dist/acp/index.d.ts +7 -0
- package/dist/acp/index.d.ts.map +1 -0
- package/dist/acp/index.js +7 -0
- package/dist/acp/index.js.map +1 -0
- package/dist/acp/projection.d.ts +30 -0
- package/dist/acp/projection.d.ts.map +1 -0
- package/dist/acp/projection.js +147 -0
- package/dist/acp/projection.js.map +1 -0
- package/dist/api/conversations.d.ts +66 -0
- package/dist/api/conversations.d.ts.map +1 -0
- package/dist/api/conversations.js +202 -0
- package/dist/api/conversations.js.map +1 -0
- package/dist/api/index.d.ts +3 -3
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +1 -2
- package/dist/api/index.js.map +1 -1
- package/dist/conversations/index.d.ts +3 -0
- package/dist/conversations/index.d.ts.map +1 -0
- package/dist/conversations/index.js +3 -0
- package/dist/conversations/index.js.map +1 -0
- package/dist/conversations/transcript.d.ts +13 -0
- package/dist/conversations/transcript.d.ts.map +1 -0
- package/dist/conversations/transcript.js +171 -0
- package/dist/conversations/transcript.js.map +1 -0
- package/dist/conversations/types.d.ts +147 -0
- package/dist/conversations/types.d.ts.map +1 -0
- package/dist/conversations/types.js +9 -0
- package/dist/conversations/types.js.map +1 -0
- package/dist/events/constructors.d.ts +9 -15
- package/dist/events/constructors.d.ts.map +1 -1
- package/dist/events/constructors.js +6 -12
- package/dist/events/constructors.js.map +1 -1
- package/dist/events/index.d.ts +2 -3
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +2 -3
- package/dist/events/index.js.map +1 -1
- package/dist/events/schema.d.ts +2 -5
- package/dist/events/schema.d.ts.map +1 -1
- package/dist/events/schema.js +2 -5
- package/dist/events/schema.js.map +1 -1
- package/dist/execution/contract.d.ts +51 -0
- package/dist/execution/contract.d.ts.map +1 -0
- package/dist/execution/contract.js +127 -0
- package/dist/execution/contract.js.map +1 -0
- package/dist/execution/index.d.ts +6 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +4 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/revision.d.ts +5 -0
- package/dist/execution/revision.d.ts.map +1 -0
- package/dist/execution/revision.js +17 -0
- package/dist/execution/revision.js.map +1 -0
- package/dist/execution/store.d.ts +26 -0
- package/dist/execution/store.d.ts.map +1 -0
- package/dist/execution/store.js +38 -0
- package/dist/execution/store.js.map +1 -0
- package/dist/index.d.ts +8 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -23
- package/dist/index.js.map +1 -1
- package/dist/input/index.d.ts +3 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +2 -0
- package/dist/input/index.js.map +1 -0
- package/dist/input/prompt.d.ts +17 -0
- package/dist/input/prompt.d.ts.map +1 -0
- package/dist/input/prompt.js +104 -0
- package/dist/input/prompt.js.map +1 -0
- package/dist/normalizers/claude.d.ts +6 -9
- package/dist/normalizers/claude.d.ts.map +1 -1
- package/dist/normalizers/claude.js +5 -8
- package/dist/normalizers/claude.js.map +1 -1
- package/dist/normalizers/codex.d.ts +5 -8
- package/dist/normalizers/codex.d.ts.map +1 -1
- package/dist/normalizers/codex.js +4 -7
- package/dist/normalizers/codex.js.map +1 -1
- package/dist/normalizers/cursor.d.ts +1 -2
- package/dist/normalizers/cursor.d.ts.map +1 -1
- package/dist/normalizers/cursor.js +2 -3
- package/dist/normalizers/cursor.js.map +1 -1
- package/dist/normalizers/index.d.ts +3 -5
- package/dist/normalizers/index.d.ts.map +1 -1
- package/dist/normalizers/index.js +3 -5
- package/dist/normalizers/index.js.map +1 -1
- package/dist/normalizers/opencode.d.ts +2 -4
- package/dist/normalizers/opencode.d.ts.map +1 -1
- package/dist/normalizers/opencode.js +2 -4
- package/dist/normalizers/opencode.js.map +1 -1
- package/dist/normalizers/pi.d.ts +3 -4
- package/dist/normalizers/pi.d.ts.map +1 -1
- package/dist/normalizers/pi.js +3 -4
- package/dist/normalizers/pi.js.map +1 -1
- package/dist/sessions/chat.d.ts +176 -0
- package/dist/sessions/chat.d.ts.map +1 -0
- package/dist/sessions/chat.js +701 -0
- package/dist/sessions/chat.js.map +1 -0
- package/dist/sessions/index.d.ts +3 -0
- package/dist/sessions/index.d.ts.map +1 -0
- package/dist/sessions/index.js +2 -0
- package/dist/sessions/index.js.map +1 -0
- package/dist/transcript/index.d.ts +1 -1
- package/dist/transcript/index.js +1 -1
- package/dist/transcript/message-reducer.d.ts +1 -1
- package/dist/transcript/message-reducer.js +1 -1
- package/dist/transcript/part-accumulator.d.ts +1 -1
- package/dist/transcript/part-accumulator.js +1 -1
- package/dist/transcript/tool-display.d.ts +1 -1
- package/dist/transcript/tool-display.js +1 -1
- package/dist/transcript/tool-shape.d.ts +1 -1
- package/dist/transcript/tool-shape.js +1 -1
- package/dist/usage/finalize.d.ts +7 -9
- package/dist/usage/finalize.d.ts.map +1 -1
- package/dist/usage/finalize.js +11 -13
- package/dist/usage/finalize.js.map +1 -1
- package/dist/usage/index.d.ts +2 -3
- package/dist/usage/index.d.ts.map +1 -1
- package/dist/usage/index.js +2 -3
- package/dist/usage/index.js.map +1 -1
- package/dist/usage/model-catalog.d.ts +2 -3
- package/dist/usage/model-catalog.d.ts.map +1 -1
- package/dist/usage/model-catalog.js +10 -3
- package/dist/usage/model-catalog.js.map +1 -1
- package/dist/usage/normalize.d.ts +5 -7
- package/dist/usage/normalize.d.ts.map +1 -1
- package/dist/usage/normalize.js +3 -5
- package/dist/usage/normalize.js.map +1 -1
- package/dist/usage/ports.d.ts +14 -24
- package/dist/usage/ports.d.ts.map +1 -1
- package/dist/usage/ports.js +9 -17
- package/dist/usage/ports.js.map +1 -1
- package/dist/usage/steps.d.ts +70 -0
- package/dist/usage/steps.d.ts.map +1 -0
- package/dist/usage/steps.js +152 -0
- package/dist/usage/steps.js.map +1 -0
- package/dist/usage/tokens.d.ts +4 -7
- package/dist/usage/tokens.d.ts.map +1 -1
- package/dist/usage/tokens.js +4 -7
- package/dist/usage/tokens.js.map +1 -1
- package/docs/contracts/acp-and-step-usage.md +51 -0
- package/docs/contracts/conversation-persistence.md +47 -0
- package/docs/contracts/input-and-execution.md +177 -0
- package/docs/contracts/platform-authorization.md +17 -0
- package/host/adapters/acp-capabilities.js +30 -0
- package/host/adapters/acp-client.js +156 -0
- package/host/adapters/acp.js +284 -0
- package/host/adapters/claude.js +235 -0
- package/host/adapters/codex.js +733 -0
- package/host/adapters/cursor.js +347 -0
- package/host/adapters/input-capabilities.js +89 -0
- package/host/adapters/opencode.js +486 -0
- package/host/adapters/pi.js +519 -0
- package/host/adapters/prompt.js +212 -0
- package/host/auth.js +257 -0
- package/host/credentials/store.js +209 -0
- package/host/http.d.ts +32 -0
- package/host/http.js +238 -0
- package/host/index.d.ts +84 -0
- package/host/index.js +59 -0
- package/host/lib/runtime-paths.js +44 -0
- package/host/model-resolution.js +313 -0
- package/host/native-contract.js +185 -0
- package/host/native-runtime.js +194 -0
- package/host/permissions.js +27 -0
- package/host/platform-egress.js +114 -0
- package/host/recorder.js +61 -0
- package/host/sqlite/index.d.ts +69 -0
- package/host/sqlite/index.js +704 -0
- package/host/tooling/mcp-bundle.js +214 -0
- package/host/tooling/mcp-relay.js +83 -0
- package/host/tooling/native-binaries.js +667 -0
- package/host/tooling/native-config.js +460 -0
- package/host/tooling/package-import.js +111 -0
- package/host/tooling/runtime-home.js +26 -0
- package/host/tooling/system-instructions.js +69 -0
- package/host/tooling/system-prompt.js +35 -0
- package/package.json +45 -21
- package/skills/chat/SKILL.md +97 -0
- package/skills/chat/agents/openai.yaml +4 -0
- package/skills/chat/references/contracts.md +131 -0
- package/dist/api/chat-payloads.d.ts +0 -10
- package/dist/api/chat-payloads.d.ts.map +0 -1
- package/dist/api/chat-payloads.js +0 -57
- package/dist/api/chat-payloads.js.map +0 -1
- package/dist/contract/chat-input.d.ts +0 -144
- package/dist/contract/chat-input.d.ts.map +0 -1
- package/dist/contract/chat-input.js +0 -261
- package/dist/contract/chat-input.js.map +0 -1
- package/dist/contract/create.d.ts +0 -191
- package/dist/contract/create.d.ts.map +0 -1
- package/dist/contract/create.js +0 -249
- package/dist/contract/create.js.map +0 -1
- package/dist/contract/freeze.d.ts +0 -85
- package/dist/contract/freeze.d.ts.map +0 -1
- package/dist/contract/freeze.js +0 -151
- package/dist/contract/freeze.js.map +0 -1
- package/dist/contract/harnesses.d.ts +0 -21
- package/dist/contract/harnesses.d.ts.map +0 -1
- package/dist/contract/harnesses.js +0 -39
- package/dist/contract/harnesses.js.map +0 -1
- package/dist/contract/index.d.ts +0 -17
- package/dist/contract/index.d.ts.map +0 -1
- package/dist/contract/index.js +0 -17
- package/dist/contract/index.js.map +0 -1
- package/dist/contract/input.d.ts +0 -45
- package/dist/contract/input.d.ts.map +0 -1
- package/dist/contract/input.js +0 -78
- package/dist/contract/input.js.map +0 -1
- package/dist/contract/models.d.ts +0 -57
- package/dist/contract/models.d.ts.map +0 -1
- package/dist/contract/models.js +0 -380
- package/dist/contract/models.js.map +0 -1
- package/dist/contract/payload-merge.d.ts +0 -76
- package/dist/contract/payload-merge.d.ts.map +0 -1
- package/dist/contract/payload-merge.js +0 -215
- package/dist/contract/payload-merge.js.map +0 -1
- package/dist/events/tool-display.d.ts +0 -22
- package/dist/events/tool-display.d.ts.map +0 -1
- package/dist/events/tool-display.js +0 -60
- package/dist/events/tool-display.js.map +0 -1
- package/dist/events/tool-shape.d.ts +0 -48
- package/dist/events/tool-shape.d.ts.map +0 -1
- package/dist/events/tool-shape.js +0 -225
- package/dist/events/tool-shape.js.map +0 -1
- package/dist/turns/index.d.ts +0 -11
- package/dist/turns/index.d.ts.map +0 -1
- package/dist/turns/index.js +0 -11
- package/dist/turns/index.js.map +0 -1
- package/dist/turns/queries.d.ts +0 -36
- package/dist/turns/queries.d.ts.map +0 -1
- package/dist/turns/queries.js +0 -37
- package/dist/turns/queries.js.map +0 -1
- package/dist/turns/replay.d.ts +0 -105
- package/dist/turns/replay.d.ts.map +0 -1
- package/dist/turns/replay.js +0 -163
- package/dist/turns/replay.js.map +0 -1
- package/dist/turns/status.d.ts +0 -49
- package/dist/turns/status.d.ts.map +0 -1
- package/dist/turns/status.js +0 -56
- package/dist/turns/status.js.map +0 -1
- package/dist/turns/turn-store.d.ts +0 -109
- package/dist/turns/turn-store.d.ts.map +0 -1
- package/dist/turns/turn-store.js +0 -169
- package/dist/turns/turn-store.js.map +0 -1
- package/dist/warm/client-cache.d.ts +0 -47
- package/dist/warm/client-cache.d.ts.map +0 -1
- package/dist/warm/client-cache.js +0 -48
- package/dist/warm/client-cache.js.map +0 -1
- package/dist/warm/envelope-cache.d.ts +0 -79
- package/dist/warm/envelope-cache.d.ts.map +0 -1
- package/dist/warm/envelope-cache.js +0 -85
- package/dist/warm/envelope-cache.js.map +0 -1
- package/dist/warm/index.d.ts +0 -18
- package/dist/warm/index.d.ts.map +0 -1
- package/dist/warm/index.js +0 -12
- package/dist/warm/index.js.map +0 -1
- package/dist/warm/payload.d.ts +0 -137
- package/dist/warm/payload.d.ts.map +0 -1
- package/dist/warm/payload.js +0 -112
- package/dist/warm/payload.js.map +0 -1
- package/dist/warm/revision.d.ts +0 -70
- package/dist/warm/revision.d.ts.map +0 -1
- package/dist/warm/revision.js +0 -63
- package/dist/warm/revision.js.map +0 -1
- package/dist/warm/store-policy.d.ts +0 -57
- package/dist/warm/store-policy.d.ts.map +0 -1
- package/dist/warm/store-policy.js +0 -89
- package/dist/warm/store-policy.js.map +0 -1
- package/dist/warm/store.d.ts +0 -42
- package/dist/warm/store.d.ts.map +0 -1
- package/dist/warm/store.js +0 -69
- package/dist/warm/store.js.map +0 -1
- package/dist/wire/frames.d.ts +0 -208
- package/dist/wire/frames.d.ts.map +0 -1
- package/dist/wire/frames.js +0 -245
- package/dist/wire/frames.js.map +0 -1
- package/dist/wire/index.d.ts +0 -7
- package/dist/wire/index.d.ts.map +0 -1
- package/dist/wire/index.js +0 -7
- package/dist/wire/index.js.map +0 -1
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Machine-side chat-payload store policy — the pure laws of engine
|
|
3
|
-
* `runtime/scripts/amalgm-mcp/lib/chat-payloads.js` (CJS). SQLite
|
|
4
|
-
* (`local_meta` key `chat_payloads`), the transaction, and state-event
|
|
5
|
-
* emission stay host; this module owns the record shape, normalization,
|
|
6
|
-
* the TTL/cap constants, and the GC sweep decision.
|
|
7
|
-
*/
|
|
8
|
-
/** `chat-payloads.js:6-7` — store key and state-event resource name. */
|
|
9
|
-
export const CHAT_PAYLOADS_META_KEY = 'chat_payloads';
|
|
10
|
-
export const CHAT_PAYLOADS_RESOURCE = 'chat_payloads';
|
|
11
|
-
// Records are keyed by UI tab id and nothing deletes them when a tab closes, so
|
|
12
|
-
// the map grows forever without a sweep. GC of a live tab's record is safe:
|
|
13
|
-
// before every launch the client re-publishes unless its own confirmed-write
|
|
14
|
-
// memory is fresher than 10 minutes.
|
|
15
|
-
export const CHAT_PAYLOAD_TTL_MS = 7 * 24 * 60 * 60 * 1000;
|
|
16
|
-
export const CHAT_PAYLOAD_MAX_RECORDS = 300;
|
|
17
|
-
/** `chat-payloads.js:17-19`. */
|
|
18
|
-
export function isPlainObject(value) {
|
|
19
|
-
return Boolean(value && typeof value === 'object' && !Array.isArray(value));
|
|
20
|
-
}
|
|
21
|
-
/** `chat-payloads.js:21-23`. */
|
|
22
|
-
export function cleanString(value) {
|
|
23
|
-
return typeof value === 'string' && value.trim() ? value.trim() : null;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Record normalization law — `chat-payloads.js:42-60`: id required (from
|
|
27
|
-
* `id`/`payloadId`/existing), payload required (from body else existing),
|
|
28
|
-
* revision falls back through `revision`/`payloadRevision`/existing to
|
|
29
|
-
* `'unknown'`, and `updatedAt` is stamped now (the engine's
|
|
30
|
-
* `new Date().toISOString()`, injected as `clockIso`).
|
|
31
|
-
*/
|
|
32
|
-
export function normalizeChatPayloadRecord(input, existing, clockIso) {
|
|
33
|
-
const body = isPlainObject(input) ? input : {};
|
|
34
|
-
const id = cleanString(body['id'] || body['payloadId'] || existing?.id);
|
|
35
|
-
if (!id)
|
|
36
|
-
throw new Error('chat payload id is required');
|
|
37
|
-
const payload = isPlainObject(body['payload'])
|
|
38
|
-
? body['payload']
|
|
39
|
-
: isPlainObject(existing?.payload)
|
|
40
|
-
? existing.payload
|
|
41
|
-
: null;
|
|
42
|
-
if (!payload)
|
|
43
|
-
throw new Error('chat payload is required');
|
|
44
|
-
return {
|
|
45
|
-
id,
|
|
46
|
-
revision: cleanString(body['revision'] || body['payloadRevision'] || existing?.revision) || 'unknown',
|
|
47
|
-
payload,
|
|
48
|
-
updatedAt: clockIso(),
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* `chat-payloads.js:62-65` — unparseable/absent updatedAt sorts as epoch 0.
|
|
53
|
-
* `Date.parse` here is a deterministic string parser, not a clock read —
|
|
54
|
-
* the purity axiom (src/ports.ts) bans ambient time/entropy, and the
|
|
55
|
-
* engine's law is defined in terms of `Date.parse` itself. `String(...)`
|
|
56
|
-
* mirrors the ToString coercion `Date.parse` applies to the engine's
|
|
57
|
-
* `record?.updatedAt || ''` argument.
|
|
58
|
-
*/
|
|
59
|
-
export function recordTimestamp(record) {
|
|
60
|
-
const parsed = Date.parse(String(record?.updatedAt || ''));
|
|
61
|
-
return Number.isFinite(parsed) ? parsed : 0;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* GC sweep decision — the pure core of `sweepChatPayloadsOnce`
|
|
65
|
-
* (`chat-payloads.js:67-100`, the transaction body :74-86): keep only
|
|
66
|
-
* plain records with a non-blank id whose timestamp is on or after
|
|
67
|
-
* `now - 7d`; if more than 300 survive, keep the newest 300 by
|
|
68
|
-
* `updatedAt`. `changed === false` means the sweep writes nothing (the
|
|
69
|
-
* engine returns null and skips the SQLite UPDATE + state event). The
|
|
70
|
-
* once-per-process latch, the write, and the event stay host.
|
|
71
|
-
*/
|
|
72
|
-
export function sweepChatPayloads(current, nowMs) {
|
|
73
|
-
const cutoff = nowMs - CHAT_PAYLOAD_TTL_MS;
|
|
74
|
-
let kept = Object.values(current)
|
|
75
|
-
.filter((record) => isPlainObject(record) && Boolean(cleanString(record['id'])))
|
|
76
|
-
.filter((record) => recordTimestamp(record) >= cutoff);
|
|
77
|
-
if (kept.length > CHAT_PAYLOAD_MAX_RECORDS) {
|
|
78
|
-
kept = kept
|
|
79
|
-
.sort((a, b) => recordTimestamp(b) - recordTimestamp(a))
|
|
80
|
-
.slice(0, CHAT_PAYLOAD_MAX_RECORDS);
|
|
81
|
-
}
|
|
82
|
-
if (kept.length === Object.keys(current).length)
|
|
83
|
-
return { changed: false, next: current };
|
|
84
|
-
const next = {};
|
|
85
|
-
for (const record of kept)
|
|
86
|
-
next[record.id] = record;
|
|
87
|
-
return { changed: true, next };
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=store-policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store-policy.js","sourceRoot":"","sources":["../../src/warm/store-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/warm/store.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Machine chat-payload store — the effect-port composition of engine
|
|
3
|
-
* `runtime/scripts/amalgm-mcp/lib/chat-payloads.js`.
|
|
4
|
-
*
|
|
5
|
-
* The record, revision, and sweep decisions remain chat law. A host owns the
|
|
6
|
-
* bytes and clocks through these ports, so this module never touches disk or
|
|
7
|
-
* ambient time (PURPOSE.md axiom 7).
|
|
8
|
-
*/
|
|
9
|
-
import type { ClockIsoPort, ClockMsPort } from '../ports.js';
|
|
10
|
-
import { CHAT_PAYLOADS_RESOURCE } from './store-policy.js';
|
|
11
|
-
import type { ChatPayloadStoreRecord } from './store-policy.js';
|
|
12
|
-
export interface ChatPayloadMapStore {
|
|
13
|
-
read(): Record<string, unknown>;
|
|
14
|
-
write(payloads: Record<string, ChatPayloadStoreRecord>): void;
|
|
15
|
-
}
|
|
16
|
-
export type ChatPayloadStateEvent = {
|
|
17
|
-
resource: typeof CHAT_PAYLOADS_RESOURCE;
|
|
18
|
-
op: 'invalidate';
|
|
19
|
-
source: 'chat-payloads-gc';
|
|
20
|
-
} | {
|
|
21
|
-
resource: typeof CHAT_PAYLOADS_RESOURCE;
|
|
22
|
-
op: 'update';
|
|
23
|
-
id: string;
|
|
24
|
-
value: ChatPayloadStoreRecord;
|
|
25
|
-
source: string;
|
|
26
|
-
};
|
|
27
|
-
export interface ChatPayloadStoreOptions {
|
|
28
|
-
store: ChatPayloadMapStore;
|
|
29
|
-
clockIso: ClockIsoPort;
|
|
30
|
-
clockMs: ClockMsPort;
|
|
31
|
-
emit?: (event: ChatPayloadStateEvent) => void;
|
|
32
|
-
}
|
|
33
|
-
export declare class ChatPayloadStore {
|
|
34
|
-
#private;
|
|
35
|
-
constructor(options: ChatPayloadStoreOptions);
|
|
36
|
-
list(): Record<string, ChatPayloadStoreRecord>;
|
|
37
|
-
get(id: unknown): ChatPayloadStoreRecord | null;
|
|
38
|
-
write(input: unknown, options?: {
|
|
39
|
-
source?: string;
|
|
40
|
-
}): ChatPayloadStoreRecord;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=store.d.ts.map
|
package/dist/warm/store.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/warm/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,WAAW,mBAAmB;IAClC,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,GAAG,IAAI,CAAC;CAC/D;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,QAAQ,EAAE,OAAO,sBAAsB,CAAC;IAAC,EAAE,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACzF;IACE,QAAQ,EAAE,OAAO,sBAAsB,CAAC;IACxC,EAAE,EAAE,QAAQ,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,sBAAsB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC/C;AAED,qBAAa,gBAAgB;;gBAOf,OAAO,EAAE,uBAAuB;IAO5C,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC;IAK9C,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,sBAAsB,GAAG,IAAI;IAO/C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,sBAAsB;CAkCjF"}
|
package/dist/warm/store.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Machine chat-payload store — the effect-port composition of engine
|
|
3
|
-
* `runtime/scripts/amalgm-mcp/lib/chat-payloads.js`.
|
|
4
|
-
*
|
|
5
|
-
* The record, revision, and sweep decisions remain chat law. A host owns the
|
|
6
|
-
* bytes and clocks through these ports, so this module never touches disk or
|
|
7
|
-
* ambient time (PURPOSE.md axiom 7).
|
|
8
|
-
*/
|
|
9
|
-
import { CHAT_PAYLOADS_RESOURCE, cleanString, isPlainObject, normalizeChatPayloadRecord, sweepChatPayloads, } from './store-policy.js';
|
|
10
|
-
export class ChatPayloadStore {
|
|
11
|
-
#store;
|
|
12
|
-
#clockIso;
|
|
13
|
-
#clockMs;
|
|
14
|
-
#emit;
|
|
15
|
-
#sweepDone = false;
|
|
16
|
-
constructor(options) {
|
|
17
|
-
this.#store = options.store;
|
|
18
|
-
this.#clockIso = options.clockIso;
|
|
19
|
-
this.#clockMs = options.clockMs;
|
|
20
|
-
this.#emit = options.emit ?? (() => undefined);
|
|
21
|
-
}
|
|
22
|
-
list() {
|
|
23
|
-
this.#sweepOnce();
|
|
24
|
-
return this.#store.read();
|
|
25
|
-
}
|
|
26
|
-
get(id) {
|
|
27
|
-
this.#sweepOnce();
|
|
28
|
-
const payloadId = cleanString(id);
|
|
29
|
-
if (!payloadId)
|
|
30
|
-
return null;
|
|
31
|
-
return this.#store.read()[payloadId] ?? null;
|
|
32
|
-
}
|
|
33
|
-
write(input, options = {}) {
|
|
34
|
-
this.#sweepOnce();
|
|
35
|
-
const current = this.#store.read();
|
|
36
|
-
const inputId = isPlainObject(input) ? cleanString(input['id'] || input['payloadId']) : null;
|
|
37
|
-
const existing = inputId
|
|
38
|
-
? current[inputId] ?? null
|
|
39
|
-
: null;
|
|
40
|
-
const record = normalizeChatPayloadRecord(input, existing, this.#clockIso);
|
|
41
|
-
this.#store.write({
|
|
42
|
-
...current,
|
|
43
|
-
[record.id]: record,
|
|
44
|
-
});
|
|
45
|
-
this.#emit({
|
|
46
|
-
resource: CHAT_PAYLOADS_RESOURCE,
|
|
47
|
-
op: 'update',
|
|
48
|
-
id: record.id,
|
|
49
|
-
value: record,
|
|
50
|
-
source: options.source || 'chat-payloads',
|
|
51
|
-
});
|
|
52
|
-
return record;
|
|
53
|
-
}
|
|
54
|
-
#sweepOnce() {
|
|
55
|
-
if (this.#sweepDone)
|
|
56
|
-
return;
|
|
57
|
-
this.#sweepDone = true;
|
|
58
|
-
const result = sweepChatPayloads(this.#store.read(), this.#clockMs());
|
|
59
|
-
if (!result.changed)
|
|
60
|
-
return;
|
|
61
|
-
this.#store.write(result.next);
|
|
62
|
-
this.#emit({
|
|
63
|
-
resource: CHAT_PAYLOADS_RESOURCE,
|
|
64
|
-
op: 'invalidate',
|
|
65
|
-
source: 'chat-payloads-gc',
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=store.js.map
|
package/dist/warm/store.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/warm/store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAyB3B,MAAM,OAAO,gBAAgB;IAClB,MAAM,CAAsB;IAC5B,SAAS,CAAe;IACxB,QAAQ,CAAc;IACtB,KAAK,CAAyC;IACvD,UAAU,GAAG,KAAK,CAAC;IAEnB,YAAY,OAAgC;QAC1C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED,IAAI;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAA4C,CAAC;IACtE,CAAC;IAED,GAAG,CAAC,EAAW;QACb,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,SAAS,CAAwC,IAAI,IAAI,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,KAAc,EAAE,UAA+B,EAAE;QACrD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7F,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAE,OAAO,CAAC,OAAO,CAAwC,IAAI,IAAI;YAClE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,MAAM,GAAG,0BAA0B,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;YAChB,GAAI,OAAkD;YACtD,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,eAAe;SAC1C,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,EAAE,EAAE,YAAY;YAChB,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/wire/frames.d.ts
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wire projection — engine `chat-core/sse.js` (206 lines) ported byte-exact:
|
|
3
|
-
* amalgm events → the ACP-shaped `AgentStreamEvent` the browser consumes,
|
|
4
|
-
* SSE frame strings, frame id numbering, and the PromptUsage projection.
|
|
5
|
-
*
|
|
6
|
-
* Everything here is pure. The engine's `writeSseHeaders(res)` is the one
|
|
7
|
-
* host-side effect; its header set is exported as a constant and the
|
|
8
|
-
* res-writing helper takes a structural `writeHead` target so hosts can
|
|
9
|
-
* pass their own response object (no `node:http` import).
|
|
10
|
-
*/
|
|
11
|
-
type AnyRecord = Record<string, any>;
|
|
12
|
-
/** A validated amalgm event or any event-shaped record (the engine projects unvalidated shapes too). */
|
|
13
|
-
export type AmalgmEventLike = AnyRecord;
|
|
14
|
-
/** Engine sse.js `context` parameter: per-stream identity + optional usage override for `done`. */
|
|
15
|
-
export interface StreamContext {
|
|
16
|
-
sessionId?: unknown;
|
|
17
|
-
providerSessionId?: unknown;
|
|
18
|
-
usage?: AnyRecord | null;
|
|
19
|
-
}
|
|
20
|
-
export interface PromptTokenList {
|
|
21
|
-
input: number;
|
|
22
|
-
output: number;
|
|
23
|
-
cacheRead: number;
|
|
24
|
-
cacheWrite: number;
|
|
25
|
-
thought: number;
|
|
26
|
-
total: number;
|
|
27
|
-
}
|
|
28
|
-
/** The `usage` object carried by `usage_update` and `complete` frames (engine sse.js:6-41). */
|
|
29
|
-
export interface PromptUsage {
|
|
30
|
-
tokenList: PromptTokenList | AnyRecord;
|
|
31
|
-
cumulativeTokenList: unknown;
|
|
32
|
-
previousCumulativeTokenList: unknown;
|
|
33
|
-
inputTokens: number;
|
|
34
|
-
outputTokens: number;
|
|
35
|
-
cacheReadTokens: number;
|
|
36
|
-
cacheWriteTokens: number;
|
|
37
|
-
thoughtTokens: number;
|
|
38
|
-
inputContextSize: unknown;
|
|
39
|
-
totalTokens: number;
|
|
40
|
-
contextUsedTokens: unknown;
|
|
41
|
-
contextLimit: unknown;
|
|
42
|
-
usedTokens: unknown;
|
|
43
|
-
lastUsedTokens: unknown;
|
|
44
|
-
maxTokens: unknown;
|
|
45
|
-
totalProcessedTokens: unknown;
|
|
46
|
-
costUsd: unknown;
|
|
47
|
-
marketCostUsd: unknown;
|
|
48
|
-
operation: unknown;
|
|
49
|
-
billable: boolean;
|
|
50
|
-
source: unknown;
|
|
51
|
-
exact: boolean;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Engine sse.js:6-41. Project any usage-ish record into PromptUsage.
|
|
55
|
-
* `totalTokens` obeys the token-total law (`usage.js:123-127`, ported at
|
|
56
|
-
* `src/usage/tokens.ts`): tokenList.total, else inputContextSize, else the
|
|
57
|
-
* sum of the four non-thought buckets.
|
|
58
|
-
*/
|
|
59
|
-
export declare function toPromptUsage(usage?: AnyRecord | null): PromptUsage | undefined;
|
|
60
|
-
export interface AgentMessageChunkFrame {
|
|
61
|
-
_type: 'update';
|
|
62
|
-
eventTimestamp: number;
|
|
63
|
-
sessionUpdate: 'agent_message_chunk';
|
|
64
|
-
content: {
|
|
65
|
-
type: 'text';
|
|
66
|
-
text: string;
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
export interface AgentMessageBoundaryFrame {
|
|
70
|
-
_type: 'update';
|
|
71
|
-
eventTimestamp: number;
|
|
72
|
-
sessionUpdate: 'agent_message_boundary';
|
|
73
|
-
itemId: unknown;
|
|
74
|
-
reason: unknown;
|
|
75
|
-
}
|
|
76
|
-
export interface AgentThoughtChunkFrame {
|
|
77
|
-
_type: 'update';
|
|
78
|
-
eventTimestamp: number;
|
|
79
|
-
sessionUpdate: 'agent_thought_chunk';
|
|
80
|
-
content: {
|
|
81
|
-
type: 'text';
|
|
82
|
-
text: string;
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
export interface ToolCallFrame {
|
|
86
|
-
_type: 'update';
|
|
87
|
-
eventTimestamp: number;
|
|
88
|
-
sessionUpdate: 'tool_call';
|
|
89
|
-
toolCallId: unknown;
|
|
90
|
-
toolName: unknown;
|
|
91
|
-
title: unknown;
|
|
92
|
-
kind: unknown;
|
|
93
|
-
status: 'in_progress';
|
|
94
|
-
rawInput: unknown;
|
|
95
|
-
metadata: unknown;
|
|
96
|
-
timing: unknown;
|
|
97
|
-
}
|
|
98
|
-
export interface ToolCallUpdateFrame {
|
|
99
|
-
_type: 'update';
|
|
100
|
-
eventTimestamp: number;
|
|
101
|
-
sessionUpdate: 'tool_call_update';
|
|
102
|
-
toolCallId: unknown;
|
|
103
|
-
toolName: unknown;
|
|
104
|
-
title: unknown;
|
|
105
|
-
kind: unknown;
|
|
106
|
-
status: unknown;
|
|
107
|
-
rawInput: unknown;
|
|
108
|
-
rawOutput: unknown;
|
|
109
|
-
error: unknown;
|
|
110
|
-
metadata: unknown;
|
|
111
|
-
timing: unknown;
|
|
112
|
-
}
|
|
113
|
-
export interface UsageUpdateFrame {
|
|
114
|
-
_type: 'update';
|
|
115
|
-
eventTimestamp: number;
|
|
116
|
-
sessionUpdate: 'usage_update';
|
|
117
|
-
used: number;
|
|
118
|
-
size: number | null;
|
|
119
|
-
inputContextSize: unknown;
|
|
120
|
-
cost: {
|
|
121
|
-
amount: unknown;
|
|
122
|
-
currency: 'USD';
|
|
123
|
-
} | null;
|
|
124
|
-
usage: PromptUsage | undefined;
|
|
125
|
-
}
|
|
126
|
-
export interface CompactionStartedFrame {
|
|
127
|
-
_type: 'update';
|
|
128
|
-
eventTimestamp: number;
|
|
129
|
-
sessionUpdate: 'compaction_boundary';
|
|
130
|
-
phase: 'started';
|
|
131
|
-
trigger: unknown;
|
|
132
|
-
}
|
|
133
|
-
export interface CompactionFinishedFrame {
|
|
134
|
-
_type: 'update';
|
|
135
|
-
eventTimestamp: number;
|
|
136
|
-
sessionUpdate: 'compaction_boundary';
|
|
137
|
-
phase: 'finished';
|
|
138
|
-
trigger: unknown;
|
|
139
|
-
preTokens: unknown;
|
|
140
|
-
postTokens: unknown;
|
|
141
|
-
durationMs: unknown;
|
|
142
|
-
}
|
|
143
|
-
export interface SessionInfoUpdateFrame {
|
|
144
|
-
_type: 'update';
|
|
145
|
-
eventTimestamp: number;
|
|
146
|
-
sessionUpdate: 'session_info_update';
|
|
147
|
-
}
|
|
148
|
-
export interface ModelErrorFrame {
|
|
149
|
-
_type: 'model_error';
|
|
150
|
-
error: string;
|
|
151
|
-
requestedModel: string;
|
|
152
|
-
eventTimestamp: number;
|
|
153
|
-
}
|
|
154
|
-
export interface ErrorFrame {
|
|
155
|
-
_type: 'error';
|
|
156
|
-
message: string;
|
|
157
|
-
eventTimestamp: number;
|
|
158
|
-
}
|
|
159
|
-
export interface CompleteFrame {
|
|
160
|
-
_type: 'complete';
|
|
161
|
-
codeSessionId: unknown;
|
|
162
|
-
providerSessionId: unknown;
|
|
163
|
-
stopReason: unknown;
|
|
164
|
-
usage: PromptUsage | undefined;
|
|
165
|
-
eventTimestamp: number;
|
|
166
|
-
}
|
|
167
|
-
export interface TitleGeneratedFrame {
|
|
168
|
-
_type: 'title_generated';
|
|
169
|
-
sessionId: unknown;
|
|
170
|
-
title: unknown;
|
|
171
|
-
}
|
|
172
|
-
export type AgentStreamEvent = AgentMessageChunkFrame | AgentMessageBoundaryFrame | AgentThoughtChunkFrame | ToolCallFrame | ToolCallUpdateFrame | UsageUpdateFrame | CompactionStartedFrame | CompactionFinishedFrame | SessionInfoUpdateFrame | ModelErrorFrame | ErrorFrame | CompleteFrame;
|
|
173
|
-
/** Engine sse.js:65-181. The amalgm-event → AgentStreamEvent projection; unknown types become `session_info_update`. */
|
|
174
|
-
export declare function toAgentStreamEvent(e: AmalgmEventLike, context?: StreamContext): AgentStreamEvent;
|
|
175
|
-
/** Engine sse.js:183-185. One SSE data frame: `data: <json>\n\n`. */
|
|
176
|
-
export declare function frameFor(e: AmalgmEventLike, context?: StreamContext): string;
|
|
177
|
-
/** Engine sse.js:187-189. */
|
|
178
|
-
export declare function titleFrame({ sessionId, title }: {
|
|
179
|
-
sessionId?: unknown;
|
|
180
|
-
title?: unknown;
|
|
181
|
-
}): string;
|
|
182
|
-
/**
|
|
183
|
-
* Engine sse.js:191-196. Frame id numbering law: prepend `id: <n>\n` only
|
|
184
|
-
* for non-negative integers (Number-coerced), and never double-stamp a
|
|
185
|
-
* frame that already starts with `id:`.
|
|
186
|
-
*/
|
|
187
|
-
export declare function withSseId(frame: string, id: unknown): string;
|
|
188
|
-
/** Engine sse.js:199-203 status code. */
|
|
189
|
-
export declare const SSE_STATUS_CODE = 200;
|
|
190
|
-
/** Engine sse.js:199-203 header set, exported for hosts that write headers themselves. */
|
|
191
|
-
export declare const SSE_HEADERS: Readonly<{
|
|
192
|
-
'Content-Type': "text/event-stream";
|
|
193
|
-
'Cache-Control': "no-cache, no-transform";
|
|
194
|
-
Connection: "keep-alive";
|
|
195
|
-
}>;
|
|
196
|
-
/** Structural target for {@link writeSseHeaders} — any `http.ServerResponse`-like object. */
|
|
197
|
-
export interface SseHeadTarget {
|
|
198
|
-
writeHead(statusCode: number, headers: Record<string, string>): unknown;
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Engine sse.js:198-204. HOST-SIDE EFFECT: writes the SSE status + headers
|
|
202
|
-
* to the supplied response object. Pure with respect to imports — the
|
|
203
|
-
* response is injected; hosts on non-Node stacks should use
|
|
204
|
-
* {@link SSE_HEADERS} / {@link SSE_STATUS_CODE} directly.
|
|
205
|
-
*/
|
|
206
|
-
export declare function writeSseHeaders(res: SseHeadTarget): void;
|
|
207
|
-
export {};
|
|
208
|
-
//# sourceMappingURL=frames.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/wire/frames.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErC,wGAAwG;AACxG,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AAExC,mGAAmG;AACnG,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,eAAe,GAAG,SAAS,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,2BAA2B,EAAE,OAAO,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,WAAW,GAAG,SAAS,CAmC/E;AA2BD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,qBAAqB,CAAC;IACrC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,wBAAwB,CAAC;IACxC,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,qBAAqB,CAAC;IACrC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,WAAW,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,kBAAkB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,cAAc,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,IAAI,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAA;KAAE,GAAG,IAAI,CAAC;IAClD,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,qBAAqB,CAAC;IACrC,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,qBAAqB,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,qBAAqB,CAAC;CACtC;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,MAAM,gBAAgB,GACxB,sBAAsB,GACtB,yBAAyB,GACzB,sBAAsB,GACtB,aAAa,GACb,mBAAmB,GACnB,gBAAgB,GAChB,sBAAsB,GACtB,uBAAuB,GACvB,sBAAsB,GACtB,eAAe,GACf,UAAU,GACV,aAAa,CAAC;AAElB,wHAAwH;AACxH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,GAAE,aAAkB,GAAG,gBAAgB,CAoHpG;AAED,qEAAqE;AACrE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAE5E;AAED,6BAA6B;AAC7B,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAEjG;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAK5D;AAED,yCAAyC;AACzC,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,0FAA0F;AAC1F,eAAO,MAAM,WAAW;;;;EAItB,CAAC;AAEH,6FAA6F;AAC7F,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC;CACzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAMxD"}
|