@amalgm/chat 0.1.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 (183) hide show
  1. package/PURPOSE.md +107 -0
  2. package/README.md +41 -0
  3. package/dist/contract/chat-input.d.ts +144 -0
  4. package/dist/contract/chat-input.d.ts.map +1 -0
  5. package/dist/contract/chat-input.js +261 -0
  6. package/dist/contract/chat-input.js.map +1 -0
  7. package/dist/contract/create.d.ts +191 -0
  8. package/dist/contract/create.d.ts.map +1 -0
  9. package/dist/contract/create.js +249 -0
  10. package/dist/contract/create.js.map +1 -0
  11. package/dist/contract/freeze.d.ts +85 -0
  12. package/dist/contract/freeze.d.ts.map +1 -0
  13. package/dist/contract/freeze.js +151 -0
  14. package/dist/contract/freeze.js.map +1 -0
  15. package/dist/contract/harnesses.d.ts +21 -0
  16. package/dist/contract/harnesses.d.ts.map +1 -0
  17. package/dist/contract/harnesses.js +39 -0
  18. package/dist/contract/harnesses.js.map +1 -0
  19. package/dist/contract/index.d.ts +17 -0
  20. package/dist/contract/index.d.ts.map +1 -0
  21. package/dist/contract/index.js +17 -0
  22. package/dist/contract/index.js.map +1 -0
  23. package/dist/contract/input.d.ts +45 -0
  24. package/dist/contract/input.d.ts.map +1 -0
  25. package/dist/contract/input.js +78 -0
  26. package/dist/contract/input.js.map +1 -0
  27. package/dist/contract/models.d.ts +57 -0
  28. package/dist/contract/models.d.ts.map +1 -0
  29. package/dist/contract/models.js +380 -0
  30. package/dist/contract/models.js.map +1 -0
  31. package/dist/contract/payload-merge.d.ts +76 -0
  32. package/dist/contract/payload-merge.d.ts.map +1 -0
  33. package/dist/contract/payload-merge.js +215 -0
  34. package/dist/contract/payload-merge.js.map +1 -0
  35. package/dist/events/constructors.d.ts +53 -0
  36. package/dist/events/constructors.d.ts.map +1 -0
  37. package/dist/events/constructors.js +217 -0
  38. package/dist/events/constructors.js.map +1 -0
  39. package/dist/events/index.d.ts +12 -0
  40. package/dist/events/index.d.ts.map +1 -0
  41. package/dist/events/index.js +12 -0
  42. package/dist/events/index.js.map +1 -0
  43. package/dist/events/schema.d.ts +455 -0
  44. package/dist/events/schema.d.ts.map +1 -0
  45. package/dist/events/schema.js +228 -0
  46. package/dist/events/schema.js.map +1 -0
  47. package/dist/events/tool-display.d.ts +22 -0
  48. package/dist/events/tool-display.d.ts.map +1 -0
  49. package/dist/events/tool-display.js +60 -0
  50. package/dist/events/tool-display.js.map +1 -0
  51. package/dist/events/tool-shape.d.ts +48 -0
  52. package/dist/events/tool-shape.d.ts.map +1 -0
  53. package/dist/events/tool-shape.js +225 -0
  54. package/dist/events/tool-shape.js.map +1 -0
  55. package/dist/index.d.ts +27 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +26 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/normalizers/claude.d.ts +628 -0
  60. package/dist/normalizers/claude.d.ts.map +1 -0
  61. package/dist/normalizers/claude.js +603 -0
  62. package/dist/normalizers/claude.js.map +1 -0
  63. package/dist/normalizers/codex.d.ts +352 -0
  64. package/dist/normalizers/codex.d.ts.map +1 -0
  65. package/dist/normalizers/codex.js +485 -0
  66. package/dist/normalizers/codex.js.map +1 -0
  67. package/dist/normalizers/cursor.d.ts +34 -0
  68. package/dist/normalizers/cursor.d.ts.map +1 -0
  69. package/dist/normalizers/cursor.js +197 -0
  70. package/dist/normalizers/cursor.js.map +1 -0
  71. package/dist/normalizers/index.d.ts +13 -0
  72. package/dist/normalizers/index.d.ts.map +1 -0
  73. package/dist/normalizers/index.js +13 -0
  74. package/dist/normalizers/index.js.map +1 -0
  75. package/dist/normalizers/opencode.d.ts +81 -0
  76. package/dist/normalizers/opencode.d.ts.map +1 -0
  77. package/dist/normalizers/opencode.js +640 -0
  78. package/dist/normalizers/opencode.js.map +1 -0
  79. package/dist/normalizers/pi.d.ts +28 -0
  80. package/dist/normalizers/pi.d.ts.map +1 -0
  81. package/dist/normalizers/pi.js +160 -0
  82. package/dist/normalizers/pi.js.map +1 -0
  83. package/dist/ports.d.ts +14 -0
  84. package/dist/ports.d.ts.map +1 -0
  85. package/dist/ports.js +7 -0
  86. package/dist/ports.js.map +1 -0
  87. package/dist/transcript/index.d.ts +14 -0
  88. package/dist/transcript/index.d.ts.map +1 -0
  89. package/dist/transcript/index.js +12 -0
  90. package/dist/transcript/index.js.map +1 -0
  91. package/dist/transcript/message-reducer.d.ts +167 -0
  92. package/dist/transcript/message-reducer.d.ts.map +1 -0
  93. package/dist/transcript/message-reducer.js +400 -0
  94. package/dist/transcript/message-reducer.js.map +1 -0
  95. package/dist/transcript/part-accumulator.d.ts +24 -0
  96. package/dist/transcript/part-accumulator.d.ts.map +1 -0
  97. package/dist/transcript/part-accumulator.js +30 -0
  98. package/dist/transcript/part-accumulator.js.map +1 -0
  99. package/dist/transcript/tool-display.d.ts +14 -0
  100. package/dist/transcript/tool-display.d.ts.map +1 -0
  101. package/dist/transcript/tool-display.js +125 -0
  102. package/dist/transcript/tool-display.js.map +1 -0
  103. package/dist/transcript/tool-shape.d.ts +34 -0
  104. package/dist/transcript/tool-shape.d.ts.map +1 -0
  105. package/dist/transcript/tool-shape.js +216 -0
  106. package/dist/transcript/tool-shape.js.map +1 -0
  107. package/dist/turns/index.d.ts +11 -0
  108. package/dist/turns/index.d.ts.map +1 -0
  109. package/dist/turns/index.js +11 -0
  110. package/dist/turns/index.js.map +1 -0
  111. package/dist/turns/queries.d.ts +36 -0
  112. package/dist/turns/queries.d.ts.map +1 -0
  113. package/dist/turns/queries.js +37 -0
  114. package/dist/turns/queries.js.map +1 -0
  115. package/dist/turns/replay.d.ts +105 -0
  116. package/dist/turns/replay.d.ts.map +1 -0
  117. package/dist/turns/replay.js +163 -0
  118. package/dist/turns/replay.js.map +1 -0
  119. package/dist/turns/status.d.ts +49 -0
  120. package/dist/turns/status.d.ts.map +1 -0
  121. package/dist/turns/status.js +56 -0
  122. package/dist/turns/status.js.map +1 -0
  123. package/dist/turns/turn-store.d.ts +109 -0
  124. package/dist/turns/turn-store.d.ts.map +1 -0
  125. package/dist/turns/turn-store.js +169 -0
  126. package/dist/turns/turn-store.js.map +1 -0
  127. package/dist/usage/finalize.d.ts +57 -0
  128. package/dist/usage/finalize.d.ts.map +1 -0
  129. package/dist/usage/finalize.js +139 -0
  130. package/dist/usage/finalize.js.map +1 -0
  131. package/dist/usage/index.d.ts +11 -0
  132. package/dist/usage/index.d.ts.map +1 -0
  133. package/dist/usage/index.js +11 -0
  134. package/dist/usage/index.js.map +1 -0
  135. package/dist/usage/model-catalog.d.ts +50 -0
  136. package/dist/usage/model-catalog.d.ts.map +1 -0
  137. package/dist/usage/model-catalog.js +344 -0
  138. package/dist/usage/model-catalog.js.map +1 -0
  139. package/dist/usage/normalize.d.ts +103 -0
  140. package/dist/usage/normalize.d.ts.map +1 -0
  141. package/dist/usage/normalize.js +71 -0
  142. package/dist/usage/normalize.js.map +1 -0
  143. package/dist/usage/ports.d.ts +141 -0
  144. package/dist/usage/ports.d.ts.map +1 -0
  145. package/dist/usage/ports.js +113 -0
  146. package/dist/usage/ports.js.map +1 -0
  147. package/dist/usage/tokens.d.ts +79 -0
  148. package/dist/usage/tokens.d.ts.map +1 -0
  149. package/dist/usage/tokens.js +98 -0
  150. package/dist/usage/tokens.js.map +1 -0
  151. package/dist/warm/client-cache.d.ts +47 -0
  152. package/dist/warm/client-cache.d.ts.map +1 -0
  153. package/dist/warm/client-cache.js +48 -0
  154. package/dist/warm/client-cache.js.map +1 -0
  155. package/dist/warm/envelope-cache.d.ts +79 -0
  156. package/dist/warm/envelope-cache.d.ts.map +1 -0
  157. package/dist/warm/envelope-cache.js +85 -0
  158. package/dist/warm/envelope-cache.js.map +1 -0
  159. package/dist/warm/index.d.ts +16 -0
  160. package/dist/warm/index.d.ts.map +1 -0
  161. package/dist/warm/index.js +11 -0
  162. package/dist/warm/index.js.map +1 -0
  163. package/dist/warm/payload.d.ts +137 -0
  164. package/dist/warm/payload.d.ts.map +1 -0
  165. package/dist/warm/payload.js +112 -0
  166. package/dist/warm/payload.js.map +1 -0
  167. package/dist/warm/revision.d.ts +70 -0
  168. package/dist/warm/revision.d.ts.map +1 -0
  169. package/dist/warm/revision.js +63 -0
  170. package/dist/warm/revision.js.map +1 -0
  171. package/dist/warm/store-policy.d.ts +57 -0
  172. package/dist/warm/store-policy.d.ts.map +1 -0
  173. package/dist/warm/store-policy.js +89 -0
  174. package/dist/warm/store-policy.js.map +1 -0
  175. package/dist/wire/frames.d.ts +208 -0
  176. package/dist/wire/frames.d.ts.map +1 -0
  177. package/dist/wire/frames.js +245 -0
  178. package/dist/wire/frames.js.map +1 -0
  179. package/dist/wire/index.d.ts +7 -0
  180. package/dist/wire/index.d.ts.map +1 -0
  181. package/dist/wire/index.js +7 -0
  182. package/dist/wire/index.js.map +1 -0
  183. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/normalizers/opencode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Pi (native RPC) normalizer — engine `chat-core/normalizers/pi.js` (143
3
+ * lines) ported byte-exact. All three engine exports construct events, so
4
+ * they live behind `createPiNormalizer(events)`.
5
+ *
6
+ * Pi is the only harness that reports native USD cost per message: the
7
+ * `piMessageUsage` records are exact (`exact:true`, `chat_step`) and feed
8
+ * billing directly — byte-exactness here is money. `piSessionStatsUsage`
9
+ * is the non-billable context-circle snapshot.
10
+ */
11
+ import type { AmalgmEvent, EventConstructors } from '../events/index.js';
12
+ /**
13
+ * Per-prompt normalizer state — providerSessionId plus tool bookkeeping
14
+ * (`tool_execution_start` may race `toolcall_end`; engine contract).
15
+ */
16
+ export interface PiNormalizerState {
17
+ providerSessionId?: string | null | undefined;
18
+ tools: Set<any>;
19
+ }
20
+ /** The engine `normalizers/pi.js` export set over injected constructors. */
21
+ export interface PiNormalizer {
22
+ normalizePiEvent: (event: unknown, state: PiNormalizerState) => AmalgmEvent[];
23
+ piMessageUsage: (message: unknown, base?: Record<string, unknown>) => AmalgmEvent | null;
24
+ piSessionStatsUsage: (stats: unknown, base?: Record<string, unknown>) => AmalgmEvent | null;
25
+ }
26
+ /** Build the Pi normalizer over injected event constructors. */
27
+ export declare function createPiNormalizer(events: EventConstructors): PiNormalizer;
28
+ //# sourceMappingURL=pi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../src/normalizers/pi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAczE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9C,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;CACjB;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,KAAK,WAAW,EAAE,CAAC;IAC9E,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,WAAW,GAAG,IAAI,CAAC;IACzF,mBAAmB,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,WAAW,GAAG,IAAI,CAAC;CAC7F;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAgJ1E"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Pi (native RPC) normalizer — engine `chat-core/normalizers/pi.js` (143
3
+ * lines) ported byte-exact. All three engine exports construct events, so
4
+ * they live behind `createPiNormalizer(events)`.
5
+ *
6
+ * Pi is the only harness that reports native USD cost per message: the
7
+ * `piMessageUsage` records are exact (`exact:true`, `chat_step`) and feed
8
+ * billing directly — byte-exactness here is money. `piSessionStatsUsage`
9
+ * is the non-billable context-circle snapshot.
10
+ */
11
+ /** Engine pi.js:16-23. Pi tool content (string or `{type:'text'}[]`) -> text. */
12
+ function contentToText(content) {
13
+ if (typeof content === 'string')
14
+ return content;
15
+ if (!Array.isArray(content))
16
+ return '';
17
+ return content
18
+ .map((item) => (item && item.type === 'text' && typeof item.text === 'string' ? item.text : ''))
19
+ .filter(Boolean)
20
+ .join('\n');
21
+ }
22
+ /** Build the Pi normalizer over injected event constructors. */
23
+ export function createPiNormalizer(events) {
24
+ const { compactionFinished, compactionStarted, errorEvent, reasoningDelta, textDelta, toolCompleted, toolStarted, toolUpdated, usageFinal, warningEvent, } = events;
25
+ /**
26
+ * Engine pi.js:25-47. pi AgentMessage.usage ({input, output, cacheRead,
27
+ * cacheWrite, totalTokens, cost.total, contextSize?}) -> exact per-step
28
+ * usage. Pi is the only harness that reports native USD cost per
29
+ * message, so costUsd rides along.
30
+ */
31
+ function piMessageUsage(message, base = {}) {
32
+ const usage = message?.['usage'];
33
+ if (!usage || typeof usage !== 'object')
34
+ return null;
35
+ const total = Number(usage.totalTokens);
36
+ const hasTokens = ['input', 'output', 'cacheRead', 'cacheWrite'].some((key) => Number(usage[key]) > 0);
37
+ if (!hasTokens && !(Number.isFinite(total) && total > 0))
38
+ return null;
39
+ const contextSize = Number(usage.contextSize);
40
+ return usageFinal({
41
+ inputTokens: usage.input,
42
+ outputTokens: usage.output,
43
+ cacheReadTokens: usage.cacheRead,
44
+ cacheWriteTokens: usage.cacheWrite,
45
+ ...(Number.isFinite(contextSize) && contextSize > 0 ? { inputContextSize: contextSize, contextUsedTokens: contextSize } : {}),
46
+ costUsd: Number.isFinite(Number(usage.cost?.total)) ? Number(usage.cost.total) : null,
47
+ operation: 'chat_step',
48
+ billable: true,
49
+ exact: true,
50
+ source: 'pi_rpc_message_usage',
51
+ }, base);
52
+ }
53
+ /**
54
+ * Engine pi.js:49-64. get_session_stats data -> context-circle snapshot
55
+ * (never billed; the exact per-message records above are the billing
56
+ * source).
57
+ */
58
+ function piSessionStatsUsage(statsInput, base = {}) {
59
+ const stats = statsInput;
60
+ const contextUsage = stats?.['contextUsage'];
61
+ if (!contextUsage || !Number.isFinite(Number(contextUsage.tokens)))
62
+ return null;
63
+ return usageFinal({
64
+ usedTokens: contextUsage.tokens,
65
+ maxTokens: contextUsage.contextWindow,
66
+ totalProcessedTokens: stats?.['tokens']?.total,
67
+ costUsd: Number.isFinite(Number(stats?.['cost'])) ? Number(stats['cost']) : null,
68
+ operation: 'context_snapshot',
69
+ billable: false,
70
+ exact: false,
71
+ source: 'pi_rpc_session_stats',
72
+ }, base);
73
+ }
74
+ /**
75
+ * Engine pi.js:66-137. One pi RPC event -> amalgm events. `state` is
76
+ * per-prompt: providerSessionId plus tool bookkeeping
77
+ * (tool_execution_start may race toolcall_end).
78
+ */
79
+ function normalizePiEvent(eventInput, state) {
80
+ const event = eventInput;
81
+ const base = { providerSessionId: state.providerSessionId };
82
+ const type = event?.['type'];
83
+ if (type === 'message_update') {
84
+ const delta = event['assistantMessageEvent'] || {};
85
+ if (delta.type === 'text_delta' && delta.delta)
86
+ return [textDelta(delta.delta, base)];
87
+ if (delta.type === 'thinking_delta' && delta.delta)
88
+ return [reasoningDelta(delta.delta, base)];
89
+ if (delta.type === 'error' && delta.reason !== 'aborted') {
90
+ return [errorEvent(event['message']?.errorMessage || event['message']?.error || 'Pi model error', base)];
91
+ }
92
+ return [];
93
+ }
94
+ if (type === 'message_end') {
95
+ const message = event['message'] || {};
96
+ if (message.role && message.role !== 'assistant')
97
+ return [];
98
+ const usage = piMessageUsage(message, base);
99
+ return usage ? [usage] : [];
100
+ }
101
+ if (type === 'tool_execution_start') {
102
+ state.tools.add(event['toolCallId']);
103
+ return [toolStarted(event['toolCallId'], {
104
+ ...base,
105
+ toolName: event['toolName'] || 'tool',
106
+ input: event['args'],
107
+ })];
108
+ }
109
+ if (type === 'tool_execution_update') {
110
+ const text = contentToText(event['partialResult']?.content);
111
+ if (!text)
112
+ return [];
113
+ return [toolUpdated(event['toolCallId'], {
114
+ ...base,
115
+ toolName: event['toolName'] || 'tool',
116
+ output: text,
117
+ })];
118
+ }
119
+ if (type === 'tool_execution_end') {
120
+ state.tools.delete(event['toolCallId']);
121
+ const output = contentToText(event['result']?.content);
122
+ return [toolCompleted(event['toolCallId'], {
123
+ ...base,
124
+ toolName: event['toolName'] || 'tool',
125
+ ...(output ? { output } : {}),
126
+ isError: event['isError'] === true,
127
+ ...(event['isError'] === true ? { error: output || 'Tool call failed' } : {}),
128
+ })];
129
+ }
130
+ if (type === 'compaction_start') {
131
+ return [compactionStarted({ ...base, trigger: event['reason'] === 'manual' ? 'manual' : 'auto' })];
132
+ }
133
+ if (type === 'compaction_end') {
134
+ return [compactionFinished({
135
+ ...base,
136
+ trigger: event['reason'] === 'manual' ? 'manual' : 'auto',
137
+ preTokens: event['result']?.tokensBefore,
138
+ })];
139
+ }
140
+ if (type === 'auto_retry_start') {
141
+ return [warningEvent(`Pi is retrying after a transient error${event['error'] ? `: ${event['error']}` : ''}`, base)];
142
+ }
143
+ if (type === 'extension_error') {
144
+ return [warningEvent(`Pi extension error: ${event['error'] || 'unknown'}`, base)];
145
+ }
146
+ if (type === 'error') {
147
+ return [errorEvent(event['message'] || event['error'] || 'Pi agent error', base)];
148
+ }
149
+ // agent_start/agent_end/turn_start/turn_end/message_start/queue_update and
150
+ // toolcall_* deltas are lifecycle noise here; the adapter drives `done` off
151
+ // agent_end so it can attach the final context snapshot first.
152
+ return [];
153
+ }
154
+ return {
155
+ normalizePiEvent,
156
+ piMessageUsage,
157
+ piSessionStatsUsage,
158
+ };
159
+ }
160
+ //# sourceMappingURL=pi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../src/normalizers/pi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The ports a host injects (axiom 7): nothing in `src/` touches `node:*`,
3
+ * `process.env`, `Date`, or `crypto` directly. One definition, shared by
4
+ * every module; hosts supply real implementations, exams supply fakes.
5
+ */
6
+ /** Milliseconds since epoch — `Date.now()` at the host boundary. */
7
+ export type ClockMsPort = () => number;
8
+ /** ISO-8601 timestamp — `new Date().toISOString()` at the host boundary. */
9
+ export type ClockIsoPort = () => string;
10
+ /** Lowercase hex SHA-256 of a UTF-8 string. */
11
+ export type Sha256HexPort = (input: string) => string;
12
+ /** RFC 4122 v4 UUID string. */
13
+ export type RandomUuidPort = () => string;
14
+ //# sourceMappingURL=ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC;AAEvC,4EAA4E;AAC5E,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;AAExC,+CAA+C;AAC/C,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD,+BAA+B;AAC/B,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC"}
package/dist/ports.js ADDED
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The ports a host injects (axiom 7): nothing in `src/` touches `node:*`,
3
+ * `process.env`, `Date`, or `crypto` directly. One definition, shared by
4
+ * every module; hosts supply real implementations, exams supply fakes.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ports.js","sourceRoot":"","sources":["../src/ports.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @amalgm/chat transcript module — the transcript-truth core ported from
3
+ * amalgm-engine `runtime/scripts/chat-core/{message-reducer,parts,tool-shape,tool-display}.js`.
4
+ *
5
+ * `isRecord` is exported once, from tool-shape (the engine exports an
6
+ * identical implementation from both tool-shape.js and tool-display.js).
7
+ */
8
+ export { applyMessageEvent, createMessageState, finalizeMessageState, messageParts, snapshotMessageParts, toToolPartType, } from './message-reducer.js';
9
+ export type { ApplyMessageEventResult, CompactionPart, ImagePart, MessagePart, MessageReducerEvent, MessageState, ProcessTiming, ProviderMetadata, ReasoningPart, TextPart, ToolEventFields, ToolOutput, ToolPart, } from './message-reducer.js';
10
+ export { PartAccumulator } from './part-accumulator.js';
11
+ export { hostLabel, humanizeToolName, isRecord, mcpMetadataFromName, normalizeError, parseMcpName, titleForTool, toolKind, } from './tool-shape.js';
12
+ export type { McpName, NormalizedError, TitleForToolOptions } from './tool-shape.js';
13
+ export { compactText, stringifyResult, summarizeToolOutput, summarizeToolRequest, withActionDescriptor, withOutputDescriptor, } from './tool-display.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transcript/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,eAAe,EACf,UAAU,EACV,QAAQ,GACT,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAErF,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @amalgm/chat transcript module — the transcript-truth core ported from
3
+ * amalgm-engine `runtime/scripts/chat-core/{message-reducer,parts,tool-shape,tool-display}.js`.
4
+ *
5
+ * `isRecord` is exported once, from tool-shape (the engine exports an
6
+ * identical implementation from both tool-shape.js and tool-display.js).
7
+ */
8
+ export { applyMessageEvent, createMessageState, finalizeMessageState, messageParts, snapshotMessageParts, toToolPartType, } from './message-reducer.js';
9
+ export { PartAccumulator } from './part-accumulator.js';
10
+ export { hostLabel, humanizeToolName, isRecord, mcpMetadataFromName, normalizeError, parseMcpName, titleForTool, toolKind, } from './tool-shape.js';
11
+ export { compactText, stringifyResult, summarizeToolOutput, summarizeToolRequest, withActionDescriptor, withOutputDescriptor, } from './tool-display.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/transcript/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,oBAAoB,EACpB,cAAc,GACf,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Port of amalgm-engine `runtime/scripts/chat-core/message-reducer.js` —
3
+ * the transcript-truth reducer. Streams of canonical message events fold
4
+ * into an ordered parts array; published parts are never mutated in place
5
+ * (each change replaces the part object), so snapshots stay stable.
6
+ *
7
+ * Purity: the engine falls back to `Date.now()` when an event carries no
8
+ * finite `ts`. Here that fallback is an injected {@link ClockMsPort}
9
+ * (`clock` parameter). When the host passes a real clock (`() => Date.now()`)
10
+ * behavior is byte-identical to the engine; when no clock is injected and an
11
+ * event needs the fallback, the reducer throws instead of reading ambient
12
+ * time. Events that carry finite timestamps never touch the clock.
13
+ */
14
+ import type { ClockMsPort } from '../ports.js';
15
+ export interface ProcessTiming {
16
+ [key: string]: unknown;
17
+ startedAt?: string | undefined;
18
+ completedAt?: string | undefined;
19
+ elapsedMs?: number | undefined;
20
+ kind?: string | undefined;
21
+ inferredCompletion?: boolean | undefined;
22
+ }
23
+ export interface ProviderMetadata {
24
+ [key: string]: unknown;
25
+ processTiming?: ProcessTiming | undefined;
26
+ thinkingSeconds?: number | undefined;
27
+ executionSeconds?: number | undefined;
28
+ }
29
+ export interface TextPart {
30
+ type: 'text';
31
+ text: string;
32
+ }
33
+ export interface ReasoningPart {
34
+ type: 'reasoning';
35
+ text: string;
36
+ state: 'streaming' | 'done';
37
+ providerMetadata?: ProviderMetadata | undefined;
38
+ }
39
+ export interface ImagePart {
40
+ type: 'image';
41
+ data: unknown;
42
+ mimeType: unknown;
43
+ }
44
+ export interface ToolOutput {
45
+ [key: string]: unknown;
46
+ status: string;
47
+ result: unknown;
48
+ output: unknown;
49
+ }
50
+ /** `type` is `tool-<canonical>` (see {@link toToolPartType}). */
51
+ export interface ToolPart {
52
+ [key: string]: unknown;
53
+ type: string;
54
+ toolCallId: string;
55
+ toolName: string;
56
+ input: Record<string, unknown>;
57
+ state: 'calling' | 'output-available' | 'output-error';
58
+ title?: unknown;
59
+ kind?: unknown;
60
+ metadata?: unknown;
61
+ timing?: unknown;
62
+ error?: unknown;
63
+ output?: ToolOutput | undefined;
64
+ providerMetadata?: ProviderMetadata | undefined;
65
+ }
66
+ export interface CompactionPart {
67
+ [key: string]: unknown;
68
+ type: 'compaction';
69
+ phase: 'started' | 'finished';
70
+ trigger: string;
71
+ preTokens: number | null;
72
+ postTokens: number | null;
73
+ summary: string | undefined;
74
+ startedAt: string | undefined;
75
+ finishedAt: string | undefined;
76
+ durationMs: number | null;
77
+ providerDurationMs: number | null;
78
+ }
79
+ export type MessagePart = TextPart | ReasoningPart | ImagePart | ToolPart | CompactionPart;
80
+ export interface ToolEventFields {
81
+ toolName?: string | undefined;
82
+ kind?: string | undefined;
83
+ title?: string | undefined;
84
+ metadata?: Record<string, unknown> | null | undefined;
85
+ timing?: Record<string, unknown> | null | undefined;
86
+ error?: unknown;
87
+ }
88
+ export type MessageReducerEvent = {
89
+ type: 'text.delta';
90
+ text?: string | undefined;
91
+ ts?: number | undefined;
92
+ } | {
93
+ type: 'text.boundary';
94
+ ts?: number | undefined;
95
+ } | {
96
+ type: 'reasoning.delta';
97
+ text?: string | undefined;
98
+ ts?: number | undefined;
99
+ } | {
100
+ type: 'image';
101
+ data?: unknown;
102
+ mimeType?: unknown;
103
+ ts?: number | undefined;
104
+ } | ({
105
+ type: 'tool.started';
106
+ toolCallId: string;
107
+ toolName: string;
108
+ input?: Record<string, unknown> | undefined;
109
+ ts?: number | undefined;
110
+ } & ToolEventFields) | ({
111
+ type: 'tool.updated';
112
+ toolCallId: string;
113
+ inputDelta?: Record<string, unknown> | null | undefined;
114
+ status?: string | undefined;
115
+ result?: unknown;
116
+ output?: unknown;
117
+ outputDelta?: unknown;
118
+ ts?: number | undefined;
119
+ } & ToolEventFields) | ({
120
+ type: 'tool.completed';
121
+ toolCallId: string;
122
+ input?: Record<string, unknown> | undefined;
123
+ isError?: boolean | undefined;
124
+ result?: unknown;
125
+ output?: unknown;
126
+ ts?: number | undefined;
127
+ } & ToolEventFields) | {
128
+ type: 'compaction.started';
129
+ trigger?: string | undefined;
130
+ preTokens?: number | null | undefined;
131
+ postTokens?: number | null | undefined;
132
+ durationMs?: number | null | undefined;
133
+ summary?: string | null | undefined;
134
+ ts?: number | undefined;
135
+ } | {
136
+ type: 'compaction.finished';
137
+ trigger?: string | undefined;
138
+ preTokens?: number | null | undefined;
139
+ postTokens?: number | null | undefined;
140
+ durationMs?: number | null | undefined;
141
+ summary?: string | null | undefined;
142
+ ts?: number | undefined;
143
+ } | {
144
+ type: 'error.message';
145
+ message?: string | undefined;
146
+ ts?: number | undefined;
147
+ } | {
148
+ type: 'done';
149
+ ts?: number | undefined;
150
+ };
151
+ export interface MessageState {
152
+ parts: MessagePart[];
153
+ openTextPartIndex: number | null;
154
+ reasoningBuffer: string;
155
+ toolPartIndexById: Map<string, number>;
156
+ }
157
+ export interface ApplyMessageEventResult {
158
+ changed: boolean;
159
+ finalizedReasoning: boolean;
160
+ }
161
+ export declare function toToolPartType(name: unknown): string;
162
+ export declare function createMessageState(parts?: MessagePart[]): MessageState;
163
+ export declare function applyMessageEvent(state: MessageState, event: MessageReducerEvent | null | undefined, clock?: ClockMsPort): ApplyMessageEventResult;
164
+ export declare function finalizeMessageState(state: MessageState, ts?: number, clock?: ClockMsPort): ApplyMessageEventResult;
165
+ export declare function messageParts(state: MessageState): MessagePart[];
166
+ export declare function snapshotMessageParts(state: MessageState): MessagePart[];
167
+ //# sourceMappingURL=message-reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-reducer.d.ts","sourceRoot":"","sources":["../../src/transcript/message-reducer.ts"],"names":[],"mappings":"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"}