@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/sessions/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export type { ChatOptions, ChatRuntimePort, InterruptResult, ReconnectOptions, ResumeSessionOptions, ResumeStoredSessionResult, RuntimePromptRequest, RuntimeInterruptRequest, RuntimeResumeRequest, RuntimeStartRequest, SendOptions, StartSessionOptions, TurnReplay, } from './chat.js';
|
|
2
|
+
export { Chat, ChatTurnStream, ChatSession, InterruptUnsupportedError, SessionAgentMismatchError, SessionAlreadyExistsError, SessionBusyError, SessionNotFoundError, SubscriberBackpressureError, TurnStreamError, } from './chat.js';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sessions/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,IAAI,EACJ,cAAc,EACd,WAAW,EACX,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sessions/index.ts"],"names":[],"mappings":"AAeA,OAAO,EACL,IAAI,EACJ,cAAc,EACd,WAAW,EACX,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,WAAW,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @amalgm/chat transcript module — the transcript-truth core ported from
|
|
3
|
-
*
|
|
3
|
+
* shared by live delivery, replay, and reload.
|
|
4
4
|
*
|
|
5
5
|
* `isRecord` is exported once, from tool-shape (the engine exports an
|
|
6
6
|
* identical implementation from both tool-shape.js and tool-display.js).
|
package/dist/transcript/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @amalgm/chat transcript module — the transcript-truth core ported from
|
|
3
|
-
*
|
|
3
|
+
* shared by live delivery, replay, and reload.
|
|
4
4
|
*
|
|
5
5
|
* `isRecord` is exported once, from tool-shape (the engine exports an
|
|
6
6
|
* identical implementation from both tool-shape.js and tool-display.js).
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Canonical transcript reducer —
|
|
3
3
|
* the transcript-truth reducer. Streams of canonical message events fold
|
|
4
4
|
* into an ordered parts array; published parts are never mutated in place
|
|
5
5
|
* (each change replaces the part object), so snapshots stay stable.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Canonical transcript reducer —
|
|
3
3
|
* the transcript-truth reducer. Streams of canonical message events fold
|
|
4
4
|
* into an ordered parts array; published parts are never mutated in place
|
|
5
5
|
* (each change replaces the part object), so snapshots stay stable.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Canonical tool-shape normalization (working
|
|
3
3
|
* tree, including the cua/dialog/tab/console browser-tool titles and the
|
|
4
4
|
* apps_register cwd title). Classifies tools into kinds and renders titles.
|
|
5
5
|
* Pure: deterministic mappings only.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Canonical tool-shape normalization (working
|
|
3
3
|
* tree, including the cua/dialog/tab/console browser-tool titles and the
|
|
4
4
|
* apps_register cwd title). Classifies tools into kinds and renders titles.
|
|
5
5
|
* Pure: deterministic mappings only.
|
package/dist/usage/finalize.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Turn-usage finalization
|
|
3
|
-
*
|
|
4
|
-
* collapses them into the single record that gets billed:
|
|
2
|
+
* Turn-usage finalization. A turn accumulates per-step usage records;
|
|
3
|
+
* finalization collapses them into one provider-neutral record:
|
|
5
4
|
*
|
|
6
5
|
* - pi: sum of exact billable steps, native provider USD cost preserved.
|
|
7
6
|
* - codex: cumulative-meter delta (last cumulative − first baseline,
|
|
@@ -35,16 +34,15 @@ export interface UsageContract {
|
|
|
35
34
|
/** A per-step usage record; normally a `NormalizedUsage`, tolerated partial. */
|
|
36
35
|
export type TurnUsageRecord = Partial<NormalizedUsage>;
|
|
37
36
|
/**
|
|
38
|
-
*
|
|
39
|
-
* billable `chat_turn` usage record.
|
|
37
|
+
* Promote a token list to an exact, billable `chat_turn` usage record.
|
|
40
38
|
*/
|
|
41
39
|
export declare function usageFromTokenList(tokenList: Partial<TokenList> | null | undefined, base?: UsageInput): NormalizedUsage;
|
|
42
40
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
41
|
+
* Bucket-wise sum of the records' token lists, or null when the sum carries
|
|
42
|
+
* no tokens.
|
|
45
43
|
*/
|
|
46
44
|
export declare function summedTurnUsage(records: readonly TurnUsageRecord[], base?: UsageInput): NormalizedUsage | null;
|
|
47
|
-
/** Arguments to `finalizeTurnUsage
|
|
45
|
+
/** Arguments to `finalizeTurnUsage`. */
|
|
48
46
|
export interface FinalizeTurnUsageArgs {
|
|
49
47
|
contract?: UsageContract | undefined;
|
|
50
48
|
/** The latest live usage snapshot (context limit / footprint source). */
|
|
@@ -52,6 +50,6 @@ export interface FinalizeTurnUsageArgs {
|
|
|
52
50
|
/** All per-step records observed during the turn. */
|
|
53
51
|
usageRecords?: readonly TurnUsageRecord[] | null | undefined;
|
|
54
52
|
}
|
|
55
|
-
/**
|
|
53
|
+
/** Finalize the turn usage. Null means there is nothing billable. */
|
|
56
54
|
export declare function finalizeTurnUsage({ contract, usage, usageRecords }?: FinalizeTurnUsageArgs): NormalizedUsage | null;
|
|
57
55
|
//# sourceMappingURL=finalize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../src/usage/finalize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"finalize.d.ts","sourceRoot":"","sources":["../../src/usage/finalize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAkB,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEvF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAEvD;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,IAAI,GAAE,UAAe,GACpB,eAAe,CAejB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,eAAe,EAAE,EACnC,IAAI,GAAE,UAAe,GACpB,eAAe,GAAG,IAAI,CAOxB;AA0CD,wCAAwC;AACxC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,yEAAyE;IACzE,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,qDAAqD;IACrD,YAAY,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,IAAI,GAAG,SAAS,CAAC;CAC9D;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAE,qBAA0B,GAAG,eAAe,GAAG,IAAI,CA4DvH"}
|
package/dist/usage/finalize.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Turn-usage finalization
|
|
3
|
-
*
|
|
4
|
-
* collapses them into the single record that gets billed:
|
|
2
|
+
* Turn-usage finalization. A turn accumulates per-step usage records;
|
|
3
|
+
* finalization collapses them into one provider-neutral record:
|
|
5
4
|
*
|
|
6
5
|
* - pi: sum of exact billable steps, native provider USD cost preserved.
|
|
7
6
|
* - codex: cumulative-meter delta (last cumulative − first baseline,
|
|
@@ -13,8 +12,7 @@
|
|
|
13
12
|
import { addTokenLists, hasTokenListBuckets, normalizeTokenList, subtractTokenLists, zeroTokenList, } from './tokens.js';
|
|
14
13
|
import { normalizeUsage } from './normalize.js';
|
|
15
14
|
/**
|
|
16
|
-
*
|
|
17
|
-
* billable `chat_turn` usage record.
|
|
15
|
+
* Promote a token list to an exact, billable `chat_turn` usage record.
|
|
18
16
|
*/
|
|
19
17
|
export function usageFromTokenList(tokenList, base = {}) {
|
|
20
18
|
const normalized = normalizeTokenList({ tokenList });
|
|
@@ -33,8 +31,8 @@ export function usageFromTokenList(tokenList, base = {}) {
|
|
|
33
31
|
});
|
|
34
32
|
}
|
|
35
33
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
34
|
+
* Bucket-wise sum of the records' token lists, or null when the sum carries
|
|
35
|
+
* no tokens.
|
|
38
36
|
*/
|
|
39
37
|
export function summedTurnUsage(records, base = {}) {
|
|
40
38
|
const sum = records.reduce((acc, entry) => addTokenLists(acc, entry.tokenList), zeroTokenList());
|
|
@@ -46,7 +44,7 @@ export function summedTurnUsage(records, base = {}) {
|
|
|
46
44
|
});
|
|
47
45
|
}
|
|
48
46
|
/**
|
|
49
|
-
*
|
|
47
|
+
* Codex reports a cumulative meter per step.
|
|
50
48
|
* The turn's usage is `last cumulative − first record's baseline`
|
|
51
49
|
* (`previousCumulativeTokenList`, else zero), subtracted with per-bucket
|
|
52
50
|
* clamping so a meter reset across compaction never yields negative
|
|
@@ -79,7 +77,7 @@ function codexTurnUsage(records, base = {}) {
|
|
|
79
77
|
source: 'codex_app_server_step_sum',
|
|
80
78
|
});
|
|
81
79
|
}
|
|
82
|
-
/**
|
|
80
|
+
/** Finalize the turn usage. Null means there is nothing billable. */
|
|
83
81
|
export function finalizeTurnUsage({ contract, usage, usageRecords } = {}) {
|
|
84
82
|
const records = Array.isArray(usageRecords) && usageRecords.length > 0
|
|
85
83
|
? usageRecords
|
|
@@ -97,10 +95,10 @@ export function finalizeTurnUsage({ contract, usage, usageRecords } = {}) {
|
|
|
97
95
|
source: 'pi_rpc_step_sum',
|
|
98
96
|
});
|
|
99
97
|
if (summed) {
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
98
|
+
const costs = exactRecords.map((entry) => entry.costUsd);
|
|
99
|
+
const costUsd = costs.every((cost) => typeof cost === 'number' && Number.isFinite(cost))
|
|
100
|
+
? costs.reduce((total, cost) => total + Number(cost), 0)
|
|
101
|
+
: null;
|
|
104
102
|
return { ...summed, costUsd, marketCostUsd: costUsd ?? summed.marketCostUsd };
|
|
105
103
|
}
|
|
106
104
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/usage/finalize.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"finalize.js","sourceRoot":"","sources":["../../src/usage/finalize.ts"],"names":[],"mappings":"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"}
|
package/dist/usage/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @amalgm/chat usage module — the usage
|
|
3
|
-
* from engine `chat-core/usage.js` + `chat-server/model-catalog.js`
|
|
4
|
-
* (+ the `usage_logs` row shape from `chat-server/db.js`).
|
|
2
|
+
* @amalgm/chat usage module — the usage and billing-normalization law.
|
|
5
3
|
*/
|
|
6
4
|
export { n, nonNegativeOrNull, normalizeTokenList, hasTokenListBuckets, zeroTokenList, addTokenLists, subtractTokenLists, totalUsageTokens, type TokenList, type TokenListInput, type UsageLike, } from './tokens.js';
|
|
7
5
|
export { positiveOrNull, normalizeUsage, providerFromModel, type UsageInput, type NormalizedUsage, } from './normalize.js';
|
|
8
6
|
export { usageFromTokenList, summedTurnUsage, finalizeTurnUsage, type UsageContract, type TurnUsageRecord, type FinalizeTurnUsageArgs, } from './finalize.js';
|
|
9
7
|
export { decideBeginProxyTurn, decideTurnUsageLog, buildUsageLogRow, type BeginProxyTurnBody, type BeginProxyTurnDecision, type BillingPort, type UsageLogPayload, type UsageLogRow, type UsageLogPort, type TurnUsageLogDecision, type DecideTurnUsageLogArgs, } from './ports.js';
|
|
10
8
|
export { MODEL_CATALOG, getModel, calculateCost, getModelsByProvider, getProviders, type CatalogModel, } from './model-catalog.js';
|
|
9
|
+
export { createStepUsage, createStepUsageLedger, recordStepUsage, aggregateTurnUsage, usageDeltaFromCumulative, type UsageTokenCounts, type UsageExactness, type StepUsageModel, type StepUsage, type StepUsageInput, type StepUsageLedger, type TurnUsage, } from './steps.js';
|
|
11
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,CAAC,EACD,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,GAC5B,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,KAAK,YAAY,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,SAAS,GACf,MAAM,YAAY,CAAC"}
|
package/dist/usage/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @amalgm/chat usage module — the usage
|
|
3
|
-
* from engine `chat-core/usage.js` + `chat-server/model-catalog.js`
|
|
4
|
-
* (+ the `usage_logs` row shape from `chat-server/db.js`).
|
|
2
|
+
* @amalgm/chat usage module — the usage and billing-normalization law.
|
|
5
3
|
*/
|
|
6
4
|
export { n, nonNegativeOrNull, normalizeTokenList, hasTokenListBuckets, zeroTokenList, addTokenLists, subtractTokenLists, totalUsageTokens, } from './tokens.js';
|
|
7
5
|
export { positiveOrNull, normalizeUsage, providerFromModel, } from './normalize.js';
|
|
8
6
|
export { usageFromTokenList, summedTurnUsage, finalizeTurnUsage, } from './finalize.js';
|
|
9
7
|
export { decideBeginProxyTurn, decideTurnUsageLog, buildUsageLogRow, } from './ports.js';
|
|
10
8
|
export { MODEL_CATALOG, getModel, calculateCost, getModelsByProvider, getProviders, } from './model-catalog.js';
|
|
9
|
+
export { createStepUsage, createStepUsageLedger, recordStepUsage, aggregateTurnUsage, usageDeltaFromCumulative, } from './steps.js';
|
|
11
10
|
//# sourceMappingURL=index.js.map
|
package/dist/usage/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/usage/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,CAAC,EACD,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GAIjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,GAGlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAIlB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,GASjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,aAAa,EACb,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,GAQzB,MAAM,YAAY,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provider model catalog used by usage normalization.
|
|
3
3
|
*
|
|
4
4
|
* Complete pricing & specs for all Vercel AI Gateway language models,
|
|
5
5
|
* auto-generated upstream from https://ai-gateway.vercel.sh/v1/models on
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
* available/applicable — never zero (a pricing miss must surface as
|
|
9
9
|
* `null`, not a free model).
|
|
10
10
|
*
|
|
11
|
-
* The
|
|
12
|
-
* verbatim from the engine source; do not hand-edit rates here.
|
|
11
|
+
* The catalog is generated upstream; do not hand-edit rates here.
|
|
13
12
|
*/
|
|
14
13
|
/** One catalog entry. Prices are USD per 1M tokens; `null` = not offered. */
|
|
15
14
|
export interface CatalogModel {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/usage/model-catalog.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/usage/model-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,YAAY,EAoOhD,CAAC;AAwBF;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,YAAY,GAAG,IAAI,CAuChF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,SAAI,EACnB,gBAAgB,SAAI,GACnB,MAAM,GAAG,IAAI,CAuBf;AAED,qCAAqC;AACrC,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAEpE;AAED,iCAAiC;AACjC,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Provider model catalog used by usage normalization.
|
|
3
3
|
*
|
|
4
4
|
* Complete pricing & specs for all Vercel AI Gateway language models,
|
|
5
5
|
* auto-generated upstream from https://ai-gateway.vercel.sh/v1/models on
|
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
* available/applicable — never zero (a pricing miss must surface as
|
|
9
9
|
* `null`, not a free model).
|
|
10
10
|
*
|
|
11
|
-
* The
|
|
12
|
-
* verbatim from the engine source; do not hand-edit rates here.
|
|
11
|
+
* The catalog is generated upstream; do not hand-edit rates here.
|
|
13
12
|
*/
|
|
14
13
|
export const MODEL_CATALOG = [
|
|
15
14
|
// ── alibaba (22) ───────────────────────────────────────────
|
|
@@ -320,6 +319,14 @@ export function calculateCost(modelId, inputTokens, outputTokens, cacheReadToken
|
|
|
320
319
|
const m = getModel(modelId);
|
|
321
320
|
if (!m)
|
|
322
321
|
return null;
|
|
322
|
+
const buckets = [
|
|
323
|
+
[inputTokens, m.inputPrice],
|
|
324
|
+
[outputTokens, m.outputPrice],
|
|
325
|
+
[cacheReadTokens, m.cacheRead],
|
|
326
|
+
[cacheWriteTokens, m.cacheWrite],
|
|
327
|
+
];
|
|
328
|
+
if (buckets.some(([tokens, price]) => tokens > 0 && price === null))
|
|
329
|
+
return null;
|
|
323
330
|
let cost = 0;
|
|
324
331
|
if (m.inputPrice != null)
|
|
325
332
|
cost += (inputTokens / 1_000_000) * m.inputPrice;
|