@amalgm/chat 0.2.8 → 0.2.9-preview.34176088664
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/PURPOSE.md +15 -0
- package/README.md +14 -4
- package/dist/normalizers/claude.d.ts +46 -46
- package/dist/normalizers/codex.d.ts +23 -23
- package/package.json +26 -2
package/PURPOSE.md
CHANGED
|
@@ -202,3 +202,18 @@ instructions. Amp, Gemini CLI, and Kiro were not installed for individual
|
|
|
202
202
|
acceptance tests.
|
|
203
203
|
|
|
204
204
|
The public contracts live in `docs/contracts/` and the shipped Chat skill.
|
|
205
|
+
|
|
206
|
+
## Managed package delivery
|
|
207
|
+
|
|
208
|
+
Managed package delivery starts from a clean, exact main or preview source
|
|
209
|
+
commit. The workflow occurrence supplies only its generated version and source
|
|
210
|
+
record; tests run against those candidate inputs before packing. Every native
|
|
211
|
+
gate and publication use that same tarball and integrity. A candidate tag makes
|
|
212
|
+
bytes available to release assembly; it never promotes an installed runtime.
|
|
213
|
+
Release tooling remains available inside each owner repository so a developer
|
|
214
|
+
or CI job never needs access to another private product repository.
|
|
215
|
+
Registry credentials are available only to the final protected publication job,
|
|
216
|
+
after every native examination proves the exact candidate bytes.
|
|
217
|
+
Native consumers install the archive as a dependency, so SDK development
|
|
218
|
+
dependencies never become an end-user installation requirement.
|
|
219
|
+
Each admitted owner gate proves its actual checkout equals the managed source.
|
package/README.md
CHANGED
|
@@ -103,7 +103,17 @@ npm test
|
|
|
103
103
|
npm pack --dry-run
|
|
104
104
|
```
|
|
105
105
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
106
|
+
Managed npm delivery uses `.github/workflows/publish-package.yml` after the
|
|
107
|
+
exact main/preview owner checks pass. The occurrence generates a unique
|
|
108
|
+
prerelease version and records its source SHA; it reruns the owner suite, packs
|
|
109
|
+
once, and installs that tarball on Linux, macOS and Windows before publication.
|
|
110
|
+
The `candidate-main`/`candidate-preview` tags are release-assembly inputs and
|
|
111
|
+
never select installed runtimes. `package.json` declares this owner's gates,
|
|
112
|
+
CLI probes, peer-only exports and lifecycle permissions. The standalone runner
|
|
113
|
+
under `scripts/release/` is intentionally copied across owners to preserve
|
|
114
|
+
private repository access boundaries. The final publish step uses the `NPM_TOKEN`
|
|
115
|
+
secret in the `npm-release` environment. Where npm trusted publishing is
|
|
116
|
+
configured for this repository's `publish-package.yml` and that environment,
|
|
117
|
+
the token can be omitted. Authentication does not replace native certification,
|
|
118
|
+
exact source records or artifact integrity; private source repositories do not
|
|
119
|
+
receive npm's public-source provenance.
|
|
@@ -235,6 +235,29 @@ export declare function createClaudeNormalizer(events: EventConstructors): {
|
|
|
235
235
|
method?: string | undefined;
|
|
236
236
|
payload?: unknown;
|
|
237
237
|
} | undefined;
|
|
238
|
+
} | {
|
|
239
|
+
ts: number;
|
|
240
|
+
type: "compaction.started";
|
|
241
|
+
trigger: "auto" | "manual" | "model_triggered";
|
|
242
|
+
providerSessionId?: string | null | undefined;
|
|
243
|
+
raw?: {
|
|
244
|
+
source: string;
|
|
245
|
+
method?: string | undefined;
|
|
246
|
+
payload?: unknown;
|
|
247
|
+
} | undefined;
|
|
248
|
+
} | {
|
|
249
|
+
ts: number;
|
|
250
|
+
type: "compaction.finished";
|
|
251
|
+
trigger: "auto" | "manual" | "model_triggered";
|
|
252
|
+
providerSessionId?: string | null | undefined;
|
|
253
|
+
raw?: {
|
|
254
|
+
source: string;
|
|
255
|
+
method?: string | undefined;
|
|
256
|
+
payload?: unknown;
|
|
257
|
+
} | undefined;
|
|
258
|
+
preTokens?: number | null | undefined;
|
|
259
|
+
postTokens?: number | null | undefined;
|
|
260
|
+
durationMs?: number | null | undefined;
|
|
238
261
|
} | {
|
|
239
262
|
ts: number;
|
|
240
263
|
type: "warning";
|
|
@@ -310,29 +333,6 @@ export declare function createClaudeNormalizer(events: EventConstructors): {
|
|
|
310
333
|
source: string;
|
|
311
334
|
exact: boolean;
|
|
312
335
|
} | undefined;
|
|
313
|
-
} | {
|
|
314
|
-
ts: number;
|
|
315
|
-
type: "compaction.started";
|
|
316
|
-
trigger: "auto" | "manual" | "model_triggered";
|
|
317
|
-
providerSessionId?: string | null | undefined;
|
|
318
|
-
raw?: {
|
|
319
|
-
source: string;
|
|
320
|
-
method?: string | undefined;
|
|
321
|
-
payload?: unknown;
|
|
322
|
-
} | undefined;
|
|
323
|
-
} | {
|
|
324
|
-
ts: number;
|
|
325
|
-
type: "compaction.finished";
|
|
326
|
-
trigger: "auto" | "manual" | "model_triggered";
|
|
327
|
-
providerSessionId?: string | null | undefined;
|
|
328
|
-
raw?: {
|
|
329
|
-
source: string;
|
|
330
|
-
method?: string | undefined;
|
|
331
|
-
payload?: unknown;
|
|
332
|
-
} | undefined;
|
|
333
|
-
preTokens?: number | null | undefined;
|
|
334
|
-
postTokens?: number | null | undefined;
|
|
335
|
-
durationMs?: number | null | undefined;
|
|
336
336
|
})[];
|
|
337
337
|
normalizeClaudeMessage: (message: AnyRecord | null | undefined, state?: ClaudeNormalizerState | null) => ({
|
|
338
338
|
ts: number;
|
|
@@ -514,6 +514,29 @@ export declare function createClaudeNormalizer(events: EventConstructors): {
|
|
|
514
514
|
method?: string | undefined;
|
|
515
515
|
payload?: unknown;
|
|
516
516
|
} | undefined;
|
|
517
|
+
} | {
|
|
518
|
+
ts: number;
|
|
519
|
+
type: "compaction.started";
|
|
520
|
+
trigger: "auto" | "manual" | "model_triggered";
|
|
521
|
+
providerSessionId?: string | null | undefined;
|
|
522
|
+
raw?: {
|
|
523
|
+
source: string;
|
|
524
|
+
method?: string | undefined;
|
|
525
|
+
payload?: unknown;
|
|
526
|
+
} | undefined;
|
|
527
|
+
} | {
|
|
528
|
+
ts: number;
|
|
529
|
+
type: "compaction.finished";
|
|
530
|
+
trigger: "auto" | "manual" | "model_triggered";
|
|
531
|
+
providerSessionId?: string | null | undefined;
|
|
532
|
+
raw?: {
|
|
533
|
+
source: string;
|
|
534
|
+
method?: string | undefined;
|
|
535
|
+
payload?: unknown;
|
|
536
|
+
} | undefined;
|
|
537
|
+
preTokens?: number | null | undefined;
|
|
538
|
+
postTokens?: number | null | undefined;
|
|
539
|
+
durationMs?: number | null | undefined;
|
|
517
540
|
} | {
|
|
518
541
|
ts: number;
|
|
519
542
|
type: "warning";
|
|
@@ -589,29 +612,6 @@ export declare function createClaudeNormalizer(events: EventConstructors): {
|
|
|
589
612
|
source: string;
|
|
590
613
|
exact: boolean;
|
|
591
614
|
} | undefined;
|
|
592
|
-
} | {
|
|
593
|
-
ts: number;
|
|
594
|
-
type: "compaction.started";
|
|
595
|
-
trigger: "auto" | "manual" | "model_triggered";
|
|
596
|
-
providerSessionId?: string | null | undefined;
|
|
597
|
-
raw?: {
|
|
598
|
-
source: string;
|
|
599
|
-
method?: string | undefined;
|
|
600
|
-
payload?: unknown;
|
|
601
|
-
} | undefined;
|
|
602
|
-
} | {
|
|
603
|
-
ts: number;
|
|
604
|
-
type: "compaction.finished";
|
|
605
|
-
trigger: "auto" | "manual" | "model_triggered";
|
|
606
|
-
providerSessionId?: string | null | undefined;
|
|
607
|
-
raw?: {
|
|
608
|
-
source: string;
|
|
609
|
-
method?: string | undefined;
|
|
610
|
-
payload?: unknown;
|
|
611
|
-
} | undefined;
|
|
612
|
-
preTokens?: number | null | undefined;
|
|
613
|
-
postTokens?: number | null | undefined;
|
|
614
|
-
durationMs?: number | null | undefined;
|
|
615
615
|
})[];
|
|
616
616
|
stableStringify: typeof stableStringify;
|
|
617
617
|
stringifyClaudeContent: typeof stringifyClaudeContent;
|
|
@@ -243,6 +243,29 @@ export declare function createCodexNormalizer(events: EventConstructors): {
|
|
|
243
243
|
method?: string | undefined;
|
|
244
244
|
payload?: unknown;
|
|
245
245
|
} | undefined;
|
|
246
|
+
} | {
|
|
247
|
+
ts: number;
|
|
248
|
+
type: "compaction.started";
|
|
249
|
+
trigger: "auto" | "manual" | "model_triggered";
|
|
250
|
+
providerSessionId?: string | null | undefined;
|
|
251
|
+
raw?: {
|
|
252
|
+
source: string;
|
|
253
|
+
method?: string | undefined;
|
|
254
|
+
payload?: unknown;
|
|
255
|
+
} | undefined;
|
|
256
|
+
} | {
|
|
257
|
+
ts: number;
|
|
258
|
+
type: "compaction.finished";
|
|
259
|
+
trigger: "auto" | "manual" | "model_triggered";
|
|
260
|
+
providerSessionId?: string | null | undefined;
|
|
261
|
+
raw?: {
|
|
262
|
+
source: string;
|
|
263
|
+
method?: string | undefined;
|
|
264
|
+
payload?: unknown;
|
|
265
|
+
} | undefined;
|
|
266
|
+
preTokens?: number | null | undefined;
|
|
267
|
+
postTokens?: number | null | undefined;
|
|
268
|
+
durationMs?: number | null | undefined;
|
|
246
269
|
} | {
|
|
247
270
|
ts: number;
|
|
248
271
|
type: "warning";
|
|
@@ -318,29 +341,6 @@ export declare function createCodexNormalizer(events: EventConstructors): {
|
|
|
318
341
|
source: string;
|
|
319
342
|
exact: boolean;
|
|
320
343
|
} | undefined;
|
|
321
|
-
} | {
|
|
322
|
-
ts: number;
|
|
323
|
-
type: "compaction.started";
|
|
324
|
-
trigger: "auto" | "manual" | "model_triggered";
|
|
325
|
-
providerSessionId?: string | null | undefined;
|
|
326
|
-
raw?: {
|
|
327
|
-
source: string;
|
|
328
|
-
method?: string | undefined;
|
|
329
|
-
payload?: unknown;
|
|
330
|
-
} | undefined;
|
|
331
|
-
} | {
|
|
332
|
-
ts: number;
|
|
333
|
-
type: "compaction.finished";
|
|
334
|
-
trigger: "auto" | "manual" | "model_triggered";
|
|
335
|
-
providerSessionId?: string | null | undefined;
|
|
336
|
-
raw?: {
|
|
337
|
-
source: string;
|
|
338
|
-
method?: string | undefined;
|
|
339
|
-
payload?: unknown;
|
|
340
|
-
} | undefined;
|
|
341
|
-
preTokens?: number | null | undefined;
|
|
342
|
-
postTokens?: number | null | undefined;
|
|
343
|
-
durationMs?: number | null | undefined;
|
|
344
344
|
})[];
|
|
345
345
|
};
|
|
346
346
|
/** The Codex normalizer set, closed over injected constructors. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@amalgm/chat",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9-preview.34176088664",
|
|
4
4
|
"description": "A provider-agnostic agent chat SDK with ACP content, prepared execution, normalized streams, and usage.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "UNLICENSED",
|
|
@@ -86,7 +86,12 @@
|
|
|
86
86
|
},
|
|
87
87
|
"scripts": {
|
|
88
88
|
"build": "node scripts/clean-dist.mjs && tsc -p tsconfig.json",
|
|
89
|
-
"test": "npm run build && node --test"
|
|
89
|
+
"test": "npm run build && node --test",
|
|
90
|
+
"release:admit": "node scripts/release/package.mjs admit",
|
|
91
|
+
"release:prepare": "node scripts/release/package.mjs prepare",
|
|
92
|
+
"release:examine": "node scripts/release/package.mjs examine",
|
|
93
|
+
"release:publish": "node scripts/release/package.mjs publish",
|
|
94
|
+
"test:release": "node --test scripts/release/*.test.mjs"
|
|
90
95
|
},
|
|
91
96
|
"dependencies": {
|
|
92
97
|
"@agentclientprotocol/sdk": "^1.4.0",
|
|
@@ -100,5 +105,24 @@
|
|
|
100
105
|
"devDependencies": {
|
|
101
106
|
"@types/better-sqlite3": "^7.6.13",
|
|
102
107
|
"typescript": "^5.7.3"
|
|
108
|
+
},
|
|
109
|
+
"amalgmRelease": {
|
|
110
|
+
"schema": 1,
|
|
111
|
+
"workflow": "verify.yml",
|
|
112
|
+
"jobs": [
|
|
113
|
+
"verify"
|
|
114
|
+
],
|
|
115
|
+
"verify": "test",
|
|
116
|
+
"cli": []
|
|
117
|
+
},
|
|
118
|
+
"allowScripts": {
|
|
119
|
+
"better-sqlite3@12.11.1": true
|
|
120
|
+
},
|
|
121
|
+
"gitHead": "ab03320249fad2a201e21714c855a03b8edcc9fd",
|
|
122
|
+
"amalgmSource": {
|
|
123
|
+
"repository": "amalgm-inc/amalgm-chat",
|
|
124
|
+
"branch": "preview",
|
|
125
|
+
"commit": "ab03320249fad2a201e21714c855a03b8edcc9fd",
|
|
126
|
+
"occurrence": "34176088664"
|
|
103
127
|
}
|
|
104
128
|
}
|