@fulmenhq/tsfulmen 0.3.0 → 0.3.2

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 (42) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/config/crucible-ts/repository/app-identity/app-identity.example.yaml +8 -0
  3. package/config/crucible-ts/repository/app-identity/fixtures/valid/typescript-package.yaml +17 -0
  4. package/config/crucible-ts/repository/app-identity/parity-snapshot.json +28 -0
  5. package/config/crucible-ts/taxonomy/metrics.yaml +1 -1
  6. package/dist/appidentity/index.js +156 -4150
  7. package/dist/appidentity/index.js.map +1 -1
  8. package/dist/bin/prometheus-cli.d.ts +1 -0
  9. package/dist/bin/prometheus-cli.js +9331 -0
  10. package/dist/bin/prometheus-cli.js.map +1 -0
  11. package/dist/bin/schema-cli.d.ts +1 -0
  12. package/dist/bin/schema-cli.js +6104 -0
  13. package/dist/bin/schema-cli.js.map +1 -0
  14. package/dist/bin/signals-cli.d.ts +1 -0
  15. package/dist/bin/signals-cli.js +2104 -0
  16. package/dist/bin/signals-cli.js.map +1 -0
  17. package/dist/config/index.js +29 -4915
  18. package/dist/config/index.js.map +1 -1
  19. package/dist/crucible/index.js +120 -5336
  20. package/dist/crucible/index.js.map +1 -1
  21. package/dist/errors/index.js +52 -4434
  22. package/dist/errors/index.js.map +1 -1
  23. package/dist/foundry/index.js +197 -1874
  24. package/dist/foundry/index.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +161 -4154
  27. package/dist/index.js.map +1 -1
  28. package/dist/pathfinder/index.js +47 -4378
  29. package/dist/pathfinder/index.js.map +1 -1
  30. package/dist/reports/license-inventory.csv +2 -2
  31. package/dist/schema/index.js +0 -4
  32. package/dist/schema/index.js.map +1 -1
  33. package/dist/signals/index.js +231 -3570
  34. package/dist/signals/index.js.map +1 -1
  35. package/dist/telemetry/http/index.js +94 -5280
  36. package/dist/telemetry/http/index.js.map +1 -1
  37. package/dist/telemetry/index.js +70 -4786
  38. package/dist/telemetry/index.js.map +1 -1
  39. package/dist/telemetry/prometheus/index.js +461 -4450
  40. package/dist/telemetry/prometheus/index.js.map +1 -1
  41. package/package.json +8 -2
  42. package/schemas/crucible-ts/config/repository/app-identity/v1.0.0/app-identity.schema.json +34 -0
package/CHANGELOG.md CHANGED
@@ -14,6 +14,37 @@ _No unreleased changes._
14
14
 
15
15
  ---
16
16
 
17
+ ## [0.3.2] - 2026-06-17
18
+
19
+ > **Patch — app-identity follow-up.** Syncs the Crucible SSOT to v0.4.14 (which adds the formal `metadata.typescript` app-identity section) and promotes tsfulmen's interim custom `metadata.console_scripts` field to it. No code or behavior change; the only published delta is the refreshed bundled `crucible-ts` schemas. Full details in `docs/releases/v0.3.2.md`.
20
+
21
+ ### Changed
22
+
23
+ - **Synced Crucible SSOT `v0.4.13 → v0.4.14`** (`.goneat/ssot-consumer.yaml` ref). Refreshes the bundled app-identity assets under `schemas/crucible-ts`, `config/crucible-ts`, and `docs/crucible-ts` — the schema now carries the optional `metadata.typescript` object (npm analogue of `metadata.python`: `package_name` + `console_scripts → package.json bin`), plus the `typescript-package` fixture and parity case.
24
+ - **Promoted `.fulmen/app.yaml` to `metadata.typescript`** — the package's three bins (`tsfulmen-schema`, `tsfulmen-signals`, `tsfulmen-prometheus`) move from the interim custom `metadata.console_scripts` field to the first-class `metadata.typescript` section now that Crucible defines it. (`.fulmen/app.yaml` is the repo's own identity and is not in the npm `files` payload.)
25
+
26
+ ## [0.3.1] - 2026-06-15
27
+
28
+ > **Patch — compile-safety.** Makes tsfulmen safe to embed in `bun build --compile` single-file binaries. Fixes two blockers surfaced downstream by `forge-workhorse-tuvan`: the embedded CLIs shadowed the consumer's own program on import, and an eager WASM load crashed compiled binaries at startup. No breaking changes; Node engine floor unchanged (`>=22.12.0`). Shipped as five reviewed PRs (#13, #14, #15, #16, #17). Full details in `docs/releases/v0.3.1.md`.
29
+
30
+ ### Fixed
31
+
32
+ - **CLI shadowing under `bun build --compile`** (#15) — the schema/signals/prometheus CLIs self-executed on import via the non-compile-safe guard `import.meta.url === \`file://${process.argv[1]}\``; under `--compile` it fired for non-entry modules, so a compiled consumer importing `@fulmenhq/tsfulmen/schema` ran `tsfulmen-schema` instead of its own program. The library modules no longer parse argv on import; executables moved to dedicated bin entries out of the importable graph.
33
+ - **Compiled-binary WASM `ENOENT` crash** (#14) — bump `@3leaps/string-metrics-wasm` 0.3.8 → 0.3.10, fixing the eager top-level WASM load that `--compile` rewrites but does not embed. Consumers no longer need an `overrides` entry.
34
+
35
+ ### Added
36
+
37
+ - **Package `bin` commands** `tsfulmen-schema`, `tsfulmen-signals`, `tsfulmen-prometheus` (#15) — the previously internal-only developer CLIs are now exposed as dedicated bin entrypoints (separate from the importable library surface). Additive; no existing API changes.
38
+ - **`.fulmen/app.yaml` app identity** (#16) — declares the package's Fulmen app identity (binary `tsfulmen`, vendor `fulmenhq`, category `sdk`) now that it ships executables; fixes the latent `make validate-app-identity` target. Not shipped in `files` (repo-own identity; must not shadow a consumer's discovery).
39
+
40
+ ### Changed
41
+
42
+ - **`createPrometheusCLI()` pure factory** (#15) — extracted from the prometheus CLI's `main()`; also delivers the v0.3.0 `buildProgram()` testability follow-up.
43
+ - **CI: GitHub Actions off the Node 20 runtime** (#13) — `checkout`/`cache`/`upload-artifact`/`download-artifact` bumped to node24 majors ahead of GitHub's 2026-06-16 cutover; `setup-bun` normalized; invalid `cache:` input dropped.
44
+ - **CI: compiled-binary smoke guard** (#17) — new build-job step + `make verify-compile-smoke` that packs the tarball, compiles a fixture importing the schema (shadow) and similarity (WASM) surfaces, and asserts the consumer owns its CLI and WASM loads. Both 0.3.0 blockers shipped silently because nothing exercised `--compile`.
45
+
46
+ ---
47
+
17
48
  ## [0.3.0] - 2026-06-06
18
49
 
19
50
  > **Breaking (majors wave).** Migrates four major dependencies (archiver 8, pino 10, TypeScript 6, commander 15) and **raises the Node engine floor to `>=22.12.0`** (was `>=20.0.0`). No external consumers are affected (the galaxy runs Node 22+). Shipped as four reviewed PRs (#6, #9, #10, #11). Full details in `docs/releases/v0.3.0.md`.
@@ -37,6 +37,14 @@ metadata:
37
37
  entry_point: percheron.cli:main
38
38
  - name: percheron-validate
39
39
  entry_point: percheron.validation:cli
40
+ # TypeScript/npm packaging metadata (for npm projects — alternative to python)
41
+ # typescript:
42
+ # # npm package name (scoped or unscoped)
43
+ # package_name: "@fulmenhq/tsfulmen"
44
+ # # Executable bin entries — map to package.json `bin`
45
+ # console_scripts:
46
+ # - name: tsfulmen-schema
47
+ # entry_point: ./dist/bin/schema-cli.js
40
48
 
41
49
  # Additional custom fields allowed for extensibility
42
50
  # custom_field: value
@@ -0,0 +1,17 @@
1
+ # Valid application identity exercising metadata.typescript (npm packaging)
2
+ app:
3
+ binary_name: tsfulmen
4
+ vendor: fulmenhq
5
+ env_prefix: TSFULMEN_
6
+ config_name: tsfulmen
7
+ description: TypeScript Fulmen SDK with developer CLIs
8
+ metadata:
9
+ license: MIT
10
+ repository_category: sdk
11
+ typescript:
12
+ package_name: "@fulmenhq/tsfulmen"
13
+ console_scripts:
14
+ - name: tsfulmen-schema
15
+ entry_point: ./dist/bin/schema-cli.js
16
+ - name: tsfulmen-signals
17
+ entry_point: ./dist/bin/signals-cli.js
@@ -73,6 +73,34 @@
73
73
  }
74
74
  },
75
75
  "validation_result": "pass"
76
+ },
77
+ "typescript_package": {
78
+ "input_file": "fixtures/valid/typescript-package.yaml",
79
+ "expected_output": {
80
+ "binary_name": "tsfulmen",
81
+ "vendor": "fulmenhq",
82
+ "env_prefix": "TSFULMEN_",
83
+ "config_name": "tsfulmen",
84
+ "description": "TypeScript Fulmen SDK with developer CLIs",
85
+ "metadata": {
86
+ "license": "MIT",
87
+ "repository_category": "sdk",
88
+ "typescript": {
89
+ "package_name": "@fulmenhq/tsfulmen",
90
+ "console_scripts": [
91
+ {
92
+ "name": "tsfulmen-schema",
93
+ "entry_point": "./dist/bin/schema-cli.js"
94
+ },
95
+ {
96
+ "name": "tsfulmen-signals",
97
+ "entry_point": "./dist/bin/signals-cli.js"
98
+ }
99
+ ]
100
+ }
101
+ }
102
+ },
103
+ "validation_result": "pass"
76
104
  }
77
105
  },
78
106
  "invalid": {
@@ -121,7 +121,7 @@ required:
121
121
  - version
122
122
  - metrics
123
123
  additionalProperties: false
124
- version: "0.4.13"
124
+ version: "0.4.14"
125
125
  defaults:
126
126
  histogram_buckets:
127
127
  ms_metrics: