@superblocksteam/telemetry 2.0.123 → 2.0.124-next.1
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/README.md +113 -0
- package/dist/common/contracts/tier2-traces.d.ts +3 -3
- package/dist/common/contracts/tier2-traces.d.ts.map +1 -1
- package/dist/common/contracts/tier2-traces.js +33 -6
- package/dist/common/contracts/tier2-traces.js.map +1 -1
- package/dist/common/index.d.ts +2 -0
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +2 -0
- package/dist/common/index.js.map +1 -1
- package/dist/common/npm-install-metrics.d.ts +88 -0
- package/dist/common/npm-install-metrics.d.ts.map +1 -0
- package/dist/common/npm-install-metrics.js +140 -0
- package/dist/common/npm-install-metrics.js.map +1 -0
- package/dist/common/sanitize-npm-attributes.d.ts +156 -0
- package/dist/common/sanitize-npm-attributes.d.ts.map +1 -0
- package/dist/common/sanitize-npm-attributes.js +268 -0
- package/dist/common/sanitize-npm-attributes.js.map +1 -0
- package/dist/node/init.d.ts.map +1 -1
- package/dist/node/init.js +7 -0
- package/dist/node/init.js.map +1 -1
- package/dist-esm/common/contracts/tier2-traces.d.ts +3 -3
- package/dist-esm/common/contracts/tier2-traces.d.ts.map +1 -1
- package/dist-esm/common/contracts/tier2-traces.js +33 -6
- package/dist-esm/common/contracts/tier2-traces.js.map +1 -1
- package/dist-esm/common/index.d.ts +2 -0
- package/dist-esm/common/index.d.ts.map +1 -1
- package/dist-esm/common/index.js +2 -0
- package/dist-esm/common/index.js.map +1 -1
- package/dist-esm/common/npm-install-metrics.d.ts +88 -0
- package/dist-esm/common/npm-install-metrics.d.ts.map +1 -0
- package/dist-esm/common/npm-install-metrics.js +135 -0
- package/dist-esm/common/npm-install-metrics.js.map +1 -0
- package/dist-esm/common/sanitize-npm-attributes.d.ts +156 -0
- package/dist-esm/common/sanitize-npm-attributes.d.ts.map +1 -0
- package/dist-esm/common/sanitize-npm-attributes.js +258 -0
- package/dist-esm/common/sanitize-npm-attributes.js.map +1 -0
- package/dist-esm/node/init.d.ts.map +1 -1
- package/dist-esm/node/init.js +7 -0
- package/dist-esm/node/init.js.map +1 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -145,6 +145,119 @@ import {
|
|
|
145
145
|
span.setAttribute(TIER_HINT_ATTRIBUTE, TierPolicyHint.TIER1_ONLY);
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
+
## NPM Registry Sanitization
|
|
149
|
+
|
|
150
|
+
Telemetry attributes describing npm install attempts (`registry_host`,
|
|
151
|
+
`package_name`, `npm.outcome`) ship out of cloud-prem and must be sanitized
|
|
152
|
+
**at the emit boundary** so customer infrastructure hostnames and registry
|
|
153
|
+
tokens never appear in exported traces, metrics, logs, or audit events.
|
|
154
|
+
Every emitter (P6.2 metrics, P6.3 audit events, any future runner) MUST
|
|
155
|
+
pass values through the helpers in
|
|
156
|
+
[`common/sanitize-npm-attributes.ts`](src/common/sanitize-npm-attributes.ts);
|
|
157
|
+
the dashboard/collector layer is not the right place to sanitize.
|
|
158
|
+
|
|
159
|
+
| Attribute | Rule | Helper |
|
|
160
|
+
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------- |
|
|
161
|
+
| `registry_host` | Bucket to `public_npm` / `private` / `unknown`. Raw hostnames never ship. | `bucketNpmRegistryHost` |
|
|
162
|
+
| `package_name_bucket` | Metric destinations: bucket to `public` / `private` / `unknown` / `invalid`. Cardinality-safe; never carries the raw name. | `bucketNpmPackageName` (or `npmAttributesForMetric`) |
|
|
163
|
+
| `package_name` | Audit/log destinations only: emit verbatim (lowercased) if it parses as a valid npm name and is not a known-secret value pattern; else `invalid`. | `sanitizeNpmPackageName` (or `npmAttributesForAudit`) |
|
|
164
|
+
| `npm.outcome` | Closed allowlist of 6 values; unknown coerces to `other`. | `normalizeNpmOutcome` |
|
|
165
|
+
| Registry token | Never an attribute. Bucketing strips it from URLs; `tier2-traces` lists token-shaped attribute NAMES as forbidden and `containsForbiddenPattern` rejects token-shaped VALUES (including `npm_<36+>`) smuggled into the package name. | n/a |
|
|
166
|
+
|
|
167
|
+
### `registry_host`
|
|
168
|
+
|
|
169
|
+
```
|
|
170
|
+
public_npm | private | unknown
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Only `registry.npmjs.org` (case-insensitive, port/path stripped) maps to
|
|
174
|
+
`public_npm`. Everything else — customer Artifactory, JFrog, GitHub
|
|
175
|
+
Packages, anything reachable behind a customer VPN — maps to `private`.
|
|
176
|
+
Empty input or a URL that fails to parse maps to `unknown`. GitHub
|
|
177
|
+
Packages (`npm.pkg.github.com`) is intentionally `private`: customers
|
|
178
|
+
deploy it as their private registry, and a `private` bucket avoids the
|
|
179
|
+
false negative of treating their setup as public.
|
|
180
|
+
|
|
181
|
+
### `package_name` — decision
|
|
182
|
+
|
|
183
|
+
The right shape is destination-dependent, so the helper exposes both a
|
|
184
|
+
metric-safe bucket and an audit-safe verbatim form. Emitters pick the
|
|
185
|
+
wrapper for their destination; the type system enforces that metric
|
|
186
|
+
emitters never see the raw name.
|
|
187
|
+
|
|
188
|
+
**Metric destinations — `package_name_bucket`**
|
|
189
|
+
|
|
190
|
+
Metric destinations (OTel metric attributes, Datadog tags, span
|
|
191
|
+
attributes that flow into shared metric pipelines) get a four-value
|
|
192
|
+
bucket:
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
public | private | unknown | invalid
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
- Cardinality: an OTel metric tagged with the raw package name is
|
|
199
|
+
unbounded — each unique install attempt creates a new time series, and
|
|
200
|
+
on Datadog that translates directly into custom-metric billing.
|
|
201
|
+
- Privacy: metric destinations are typically shared across orgs and
|
|
202
|
+
retained centrally. Emitting `@customer-acme/billing-engine` as a
|
|
203
|
+
metric tag leaks customer-internal package naming to anyone with read
|
|
204
|
+
access to the metric store. Bucketing strips that leak at the source.
|
|
205
|
+
- Mapping: a valid name on `public_npm` is `public`; a valid name on a
|
|
206
|
+
private registry is `private`; a valid name with no/`unknown`
|
|
207
|
+
registry is `unknown`; anything that fails the npm name spec or
|
|
208
|
+
matches a known-secret value pattern is `invalid`.
|
|
209
|
+
|
|
210
|
+
**Audit/log destinations — `package_name`**
|
|
211
|
+
|
|
212
|
+
Audit events and internal logs (per-org event streams, lower volume,
|
|
213
|
+
retained for forensic value) emit the lowercased name verbatim, gated
|
|
214
|
+
by a value-pattern guardrail. The forensic signal — "which package
|
|
215
|
+
failed for org X?" — is exactly the workflow these destinations exist
|
|
216
|
+
to serve; bucketing would destroy it.
|
|
217
|
+
|
|
218
|
+
- Package names are not credentials. The customer already shares them
|
|
219
|
+
with us via app code (which we render and store), install logs, and
|
|
220
|
+
the CVE-visibility surface in the parent project (AGENT-2579).
|
|
221
|
+
- Any input matching a known-secret value pattern
|
|
222
|
+
(`containsForbiddenPattern` from the tier-2 traces contract — GitHub
|
|
223
|
+
PATs, AWS keys, JWTs, Bearer tokens, PEM blocks, **npm registry
|
|
224
|
+
tokens (`npm_<36+>`)**, etc.) is rejected with `invalid`. This is a
|
|
225
|
+
developer-error backstop, not a primary defense; the primary defense
|
|
226
|
+
is that emitters never pass arbitrary strings as `package_name` in
|
|
227
|
+
the first place.
|
|
228
|
+
- Names that fail the npm name spec (`lodash@4.17.21`, `./local`,
|
|
229
|
+
`github:foo/bar`, anything with whitespace or shell metacharacters)
|
|
230
|
+
are rejected with `invalid` — those aren't package names, they're
|
|
231
|
+
install specs, and emitting them as a "package name" would mis-tag
|
|
232
|
+
the audit event.
|
|
233
|
+
|
|
234
|
+
If a future customer has a contractual requirement to redact even
|
|
235
|
+
audit-event names, tighten `sanitizeNpmPackageName` (e.g. hash scoped
|
|
236
|
+
names) rather than adding a parallel emitter — the goal is one place to
|
|
237
|
+
argue about the policy.
|
|
238
|
+
|
|
239
|
+
### `npm.outcome`
|
|
240
|
+
|
|
241
|
+
Closed enum, allowlist explicit. The first five values match the
|
|
242
|
+
structured error from APPS-4179 (P1.2) and APPS-4195 (P1.5); `other` is
|
|
243
|
+
the catch-all so dashboards never see free-form strings.
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
success | not_in_registry | registry_unreachable | registry_auth_failed
|
|
247
|
+
| lockfile_url_mismatch | other
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Coercion happens at the emit boundary — never at the dashboard.
|
|
251
|
+
|
|
252
|
+
### Source-of-truth + acceptance
|
|
253
|
+
|
|
254
|
+
**Decision (APPS-4190, signed off in #19574):** `package_name` is destination-dependent — bucketed (`package_name_bucket`) for metric destinations, verbatim-lowercased for audit/log destinations. Future P6.2/P6.3 emitters do NOT re-argue this; tighten the helper instead.
|
|
255
|
+
|
|
256
|
+
- Helper: [`packages/telemetry/src/common/sanitize-npm-attributes.ts`](src/common/sanitize-npm-attributes.ts)
|
|
257
|
+
- Tests: [`sanitize-npm-attributes.test.ts`](src/common/sanitize-npm-attributes.test.ts) — covers each rule + a token-leak regression that asserts no token-bearing input ever appears in output
|
|
258
|
+
- Forbidden-attribute backstop: `npm.token` / `npm_token` / `npm.registry_token` / `registry_token` in `FORBIDDEN_TIER_2_SPAN_ATTRIBUTES`
|
|
259
|
+
- Ticket: [APPS-4190](https://linear.app/superblocks/issue/APPS-4190) — referenced from downstream tickets (APPS-4189 metrics, APPS-4191 audit events)
|
|
260
|
+
|
|
148
261
|
## Key Principles
|
|
149
262
|
|
|
150
263
|
1. **Policy Required** — Cannot initialize telemetry without a `TelemetryPolicy`
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Tier 2 Traces Contract (v0.
|
|
2
|
+
* Tier 2 Traces Contract (v0.4.0)
|
|
3
3
|
*
|
|
4
4
|
* Single source of truth for Tier 2 sanitized trace telemetry.
|
|
5
|
-
* Mirrors: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.
|
|
5
|
+
* Mirrors: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.4.0.json
|
|
6
6
|
*
|
|
7
7
|
* Used by:
|
|
8
8
|
* - trace-sanitizer (SDK: which spans/attributes to export)
|
|
@@ -28,7 +28,7 @@ export interface SpanDefinition {
|
|
|
28
28
|
}
|
|
29
29
|
export declare function getAttributeName(attr: AllowedAttribute): string;
|
|
30
30
|
/**
|
|
31
|
-
* Span patterns from tier2-traces.v0.
|
|
31
|
+
* Span patterns from tier2-traces.v0.4.0.json.
|
|
32
32
|
* Suffix wildcard only: "HTTP POST *" matches "HTTP POST /api/..." or "POST /api/...".
|
|
33
33
|
*/
|
|
34
34
|
export declare const TIER_2_TRACE_CONTRACT: SpanDefinition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier2-traces.d.ts","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AA0KD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"tier2-traces.d.ts","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAM7D,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,mBAAmB,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE/D;AA0KD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,EA+TjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAAc,EAEhD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,kBAAkB,GACjC,cAAc,EAAE,CAQlB;AAMD,8FAA8F;AAC9F,eAAO,MAAM,gCAAgC,EAAE,MAAM,EAgDpD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,6BAA6B,EAAE,MAAM,EAAO,CAAC;AAE1D,iFAAiF;AACjF,eAAO,MAAM,mCAAmC,EAAE,MAAM,EAAqB,CAAC;AAM9E,eAAO,MAAM,0BAA0B,aAEtC,CAAC;AACF,eAAO,MAAM,uBAAuB,aAAyC,CAAC;AAC9E,eAAO,MAAM,wBAAwB,aAEpC,CAAC;AASF;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9B,sEAAsE;IACtE,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,uFAAuF;IACvF,6BAA6B,EAAE,OAAO,CAAC;CACxC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,cAAc,EAAE,kBAAkB,GACjC,2BAA2B,CAwB7B;AAMD,0FAA0F;AAC1F,eAAO,MAAM,mBAAmB,aAA2B,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAYpC,CAAC;AAMF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGhE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
* Tier 2 Traces Contract (v0.
|
|
3
|
+
* Tier 2 Traces Contract (v0.4.0)
|
|
4
4
|
*
|
|
5
5
|
* Single source of truth for Tier 2 sanitized trace telemetry.
|
|
6
|
-
* Mirrors: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.
|
|
6
|
+
* Mirrors: engineering/projects/o11y-refactor/contracts/tier2-traces.v0.4.0.json
|
|
7
7
|
*
|
|
8
8
|
* Used by:
|
|
9
9
|
* - trace-sanitizer (SDK: which spans/attributes to export)
|
|
@@ -193,7 +193,7 @@ const GEN_AI_STREAM_STEP_ATTRIBUTES = [
|
|
|
193
193
|
},
|
|
194
194
|
];
|
|
195
195
|
/**
|
|
196
|
-
* Span patterns from tier2-traces.v0.
|
|
196
|
+
* Span patterns from tier2-traces.v0.4.0.json.
|
|
197
197
|
* Suffix wildcard only: "HTTP POST *" matches "HTTP POST /api/..." or "POST /api/...".
|
|
198
198
|
*/
|
|
199
199
|
exports.TIER_2_TRACE_CONTRACT = [
|
|
@@ -477,7 +477,7 @@ exports.TIER_2_TRACE_CONTRACT = [
|
|
|
477
477
|
},
|
|
478
478
|
],
|
|
479
479
|
},
|
|
480
|
-
// SABS app-builder spans (
|
|
480
|
+
// SABS app-builder spans (v0.3.0) + bundle download span (v0.4.0)
|
|
481
481
|
{
|
|
482
482
|
name: "sabs.build",
|
|
483
483
|
allowedAttributes: [
|
|
@@ -498,6 +498,18 @@ exports.TIER_2_TRACE_CONTRACT = [
|
|
|
498
498
|
"otel.status_description",
|
|
499
499
|
],
|
|
500
500
|
},
|
|
501
|
+
// AGENT-2723: aggregate download span replacing ~511 per-file RPC spans
|
|
502
|
+
{
|
|
503
|
+
name: "sabs.bundle.download",
|
|
504
|
+
description: "Aggregate span for the full SABS bundle download. Replaces per-file spans; per-file metrics emitted as sabs.bundle.files_downloaded, sabs.bundle.bytes_downloaded, sabs.bundle.file_fetch_ms.",
|
|
505
|
+
allowedAttributes: [
|
|
506
|
+
{ name: "files.count", type: "number" },
|
|
507
|
+
{ name: "bytes.sum", type: "number" },
|
|
508
|
+
{ name: "slowest.ms", type: "number" },
|
|
509
|
+
"otel.status_code",
|
|
510
|
+
"otel.status_description",
|
|
511
|
+
],
|
|
512
|
+
},
|
|
501
513
|
];
|
|
502
514
|
/**
|
|
503
515
|
* Cloud trace contract: match-all span name ("*") so no spans are dropped by name.
|
|
@@ -521,7 +533,7 @@ function getTraceContract(deploymentType) {
|
|
|
521
533
|
}
|
|
522
534
|
}
|
|
523
535
|
// ---------------------------------------------------------------------------
|
|
524
|
-
// Forbidden / hashed / dropped attribute names (v0.
|
|
536
|
+
// Forbidden / hashed / dropped attribute names (v0.4.0 JSON)
|
|
525
537
|
// ---------------------------------------------------------------------------
|
|
526
538
|
/** Forbidden in Tier 2 (forbiddenAttributes in contract). Collector strips these entirely. */
|
|
527
539
|
exports.FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
|
|
@@ -534,7 +546,6 @@ exports.FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
|
|
|
534
546
|
"file_path",
|
|
535
547
|
"file_content",
|
|
536
548
|
"db.statement",
|
|
537
|
-
"db.query_text",
|
|
538
549
|
"db.query.text",
|
|
539
550
|
"http.request.body",
|
|
540
551
|
"http.response.body",
|
|
@@ -545,7 +556,12 @@ exports.FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
|
|
|
545
556
|
"user-email",
|
|
546
557
|
"user.email",
|
|
547
558
|
"user_email",
|
|
559
|
+
"user.id",
|
|
548
560
|
"enduser.email",
|
|
561
|
+
// NOTE: api-id/api_id, resource-id/resource_id, integration-id/integration_id,
|
|
562
|
+
// commit-id/commit_id, profile-id/profile_id are in the v0.4.0 JSON contract's
|
|
563
|
+
// forbiddenAttributes but intentionally omitted here. See ENG-3459 to resolve.
|
|
564
|
+
// https://linear.app/superblocks/issue/ENG-3459
|
|
549
565
|
"api-name",
|
|
550
566
|
"api_name",
|
|
551
567
|
"application-id",
|
|
@@ -561,6 +577,13 @@ exports.FORBIDDEN_TIER_2_SPAN_ATTRIBUTES = [
|
|
|
561
577
|
"authorization",
|
|
562
578
|
"cookie",
|
|
563
579
|
"x-api-key",
|
|
580
|
+
// APPS-4190: npm registry tokens. Bucketing in sanitize-npm-attributes.ts
|
|
581
|
+
// is the primary defense; this list is the lint/runtime backstop so a
|
|
582
|
+
// future emitter that names an attribute after the token is stripped.
|
|
583
|
+
"npm.token",
|
|
584
|
+
"npm_token",
|
|
585
|
+
"npm.registry_token",
|
|
586
|
+
"registry_token",
|
|
564
587
|
];
|
|
565
588
|
/** Hashed (keyed HMAC) for Tier 2 (hashedAttributes in contract). */
|
|
566
589
|
exports.HASHED_TIER_2_SPAN_ATTRIBUTES = [];
|
|
@@ -624,6 +647,10 @@ exports.FORBIDDEN_VALUE_PATTERNS = [
|
|
|
624
647
|
/-----BEGIN\s+(RSA\s+)?(PRIVATE|PUBLIC)\s+KEY-----/,
|
|
625
648
|
/\bAKIA[A-Z0-9]{16}\b/,
|
|
626
649
|
/\b(ghp|gho|ghu|ghs|ghr)_[A-Za-z0-9]{36,}\b/,
|
|
650
|
+
// npm registry tokens (`npm_<36+ alphanumerics>`). The npm-name spec allows
|
|
651
|
+
// underscores, so without this pattern a token shaped like `npm_AAAA...`
|
|
652
|
+
// would slip through `sanitizeNpmPackageName` as a "valid" package name.
|
|
653
|
+
/\bnpm_[A-Za-z0-9]{36,}\b/,
|
|
627
654
|
/\b(api[_-]?key|apikey|secret[_-]?key|access[_-]?token)[=:]\s*[A-Za-z0-9_-]{20,}\b/i,
|
|
628
655
|
];
|
|
629
656
|
// ---------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tier2-traces.js","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tier2-traces.js","sourceRoot":"","sources":["../../../src/common/contracts/tier2-traces.ts"],"names":[],"mappings":"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"}
|
package/dist/common/index.d.ts
CHANGED
|
@@ -14,5 +14,7 @@ export * from "./guardrails.js";
|
|
|
14
14
|
export * from "./contracts/tier2-traces.js";
|
|
15
15
|
export * from "./log-sanitizer.js";
|
|
16
16
|
export * from "./normalize-metric-path.js";
|
|
17
|
+
export * from "./sanitize-npm-attributes.js";
|
|
18
|
+
export * from "./npm-install-metrics.js";
|
|
17
19
|
export * from "./tier-hints.js";
|
|
18
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
|
package/dist/common/index.js
CHANGED
|
@@ -30,5 +30,7 @@ __exportStar(require("./guardrails.js"), exports);
|
|
|
30
30
|
__exportStar(require("./contracts/tier2-traces.js"), exports);
|
|
31
31
|
__exportStar(require("./log-sanitizer.js"), exports);
|
|
32
32
|
__exportStar(require("./normalize-metric-path.js"), exports);
|
|
33
|
+
__exportStar(require("./sanitize-npm-attributes.js"), exports);
|
|
34
|
+
__exportStar(require("./npm-install-metrics.js"), exports);
|
|
33
35
|
__exportStar(require("./tier-hints.js"), exports);
|
|
34
36
|
//# sourceMappingURL=index.js.map
|
package/dist/common/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH,uDAAqC;AACrC,2DAAyC;AACzC,gDAA8B;AAC9B,wDAAsC;AACtC,kDAAgC;AAChC,8DAA4C;AAC5C,qDAAmC;AACnC,6DAA2C;AAC3C,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;AAEH,uDAAqC;AACrC,2DAAyC;AACzC,gDAA8B;AAC9B,wDAAsC;AACtC,kDAAgC;AAChC,8DAA4C;AAC5C,qDAAmC;AACnC,6DAA2C;AAC3C,+DAA6C;AAC7C,2DAAyC;AACzC,kDAAgC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NPM Install Metrics (APPS-4189 / P6.2)
|
|
3
|
+
*
|
|
4
|
+
* Emits `superblocks.npm.install.*` metrics from every npm install path
|
|
5
|
+
* Superblocks owns and returns the matching attribute set so the caller can
|
|
6
|
+
* annotate its active llmobs span with the same dimensions. The metric and
|
|
7
|
+
* span streams share a closed attribute set so dashboards and traces join
|
|
8
|
+
* cleanly without dimension drift.
|
|
9
|
+
*
|
|
10
|
+
* Cardinality budget (documented contract — must not regress without a
|
|
11
|
+
* migration plan; every dashboard and Datadog saved facet pins on these):
|
|
12
|
+
*
|
|
13
|
+
* - `registry_host` ≤ 3 (`public_npm` | `private` | `unknown`)
|
|
14
|
+
* - `outcome` ≤ 6 (`NPM_OUTCOMES`)
|
|
15
|
+
* - `runner` ≤ 4 (`NPM_INSTALL_RUNNERS`)
|
|
16
|
+
*
|
|
17
|
+
* Total dimension product is bounded at 3 × 6 × 4 = 72 series, well under
|
|
18
|
+
* any per-metric ceiling. New runners or outcomes go through P6.1
|
|
19
|
+
* (sanitization policy) so a future emitter cannot blow the budget by
|
|
20
|
+
* accident.
|
|
21
|
+
*
|
|
22
|
+
* Every value flows through the P6.1 helpers in `./sanitize-npm-attributes`
|
|
23
|
+
* before reaching an OTel instrument, so raw registry hostnames and tokens
|
|
24
|
+
* cannot escape via this emitter — the same guarantee the audit-event
|
|
25
|
+
* emitter (P6.3) relies on.
|
|
26
|
+
*/
|
|
27
|
+
import { type NpmOutcome, type NpmRegistryBucket } from "./sanitize-npm-attributes.js";
|
|
28
|
+
/**
|
|
29
|
+
* Closed enum of npm install call sites that emit metrics. One value per
|
|
30
|
+
* call site Superblocks owns. Names are stabilised here; renaming any
|
|
31
|
+
* value breaks every saved dashboard and alert split on `runner`, so
|
|
32
|
+
* additions/removals must come with a migration plan.
|
|
33
|
+
*
|
|
34
|
+
* - `install_all` — full install from package.json (no specific
|
|
35
|
+
* packages). Covers both `AppShell.runNpmInstall`
|
|
36
|
+
* and `AppShell.runPackageManagerInstall`; the
|
|
37
|
+
* two are semantically the same operation routed
|
|
38
|
+
* through different package managers.
|
|
39
|
+
* - `install_specific` — `AppShell.installSpecificPackages` (named
|
|
40
|
+
* packages via `npm add` / equivalent).
|
|
41
|
+
* - `prefetch` — `installTemplateModules` (template
|
|
42
|
+
* `node_modules` prefetch during AiService
|
|
43
|
+
* construction).
|
|
44
|
+
*/
|
|
45
|
+
export declare const NPM_INSTALL_RUNNERS: readonly ["install_all", "install_specific", "prefetch"];
|
|
46
|
+
export type NpmInstallRunner = (typeof NPM_INSTALL_RUNNERS)[number];
|
|
47
|
+
export interface NpmInstallMetricInput {
|
|
48
|
+
/** Which install call site emitted this event. */
|
|
49
|
+
runner: NpmInstallRunner;
|
|
50
|
+
/**
|
|
51
|
+
* Registry URL or bare hostname the install was attempting (`null` /
|
|
52
|
+
* `undefined` is fine — bucketed to `unknown`). Always passed through
|
|
53
|
+
* `bucketNpmRegistryHost` before emission, so raw hostnames cannot leak.
|
|
54
|
+
*/
|
|
55
|
+
registryHost: string | null | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Outcome key. Free-form on input; coerced to the closed
|
|
58
|
+
* `NPM_OUTCOMES` enum at the emit boundary (unknown strings → `other`).
|
|
59
|
+
* Use the `NpmInstallBlocked.reason` value for failures and the literal
|
|
60
|
+
* `"success"` on the happy path.
|
|
61
|
+
*/
|
|
62
|
+
outcome: string | null | undefined;
|
|
63
|
+
/** Elapsed wall-clock time in milliseconds; clamped at 0. */
|
|
64
|
+
durationMs: number;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Attribute set shaped for direct spread into
|
|
68
|
+
* `llmobs.annotate({ tags: ... })`. Returned by `recordNpmInstall` so the
|
|
69
|
+
* span on the active install call site carries the exact same values that
|
|
70
|
+
* just went into the metric pipeline.
|
|
71
|
+
*/
|
|
72
|
+
export interface NpmInstallSpanAttributes {
|
|
73
|
+
"npm.registry_host": NpmRegistryBucket;
|
|
74
|
+
"npm.outcome": NpmOutcome;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Emit one observation of the install metric triple and return the matching
|
|
78
|
+
* span-attribute pair. Idempotent w.r.t. the metric SDK; safe to call from
|
|
79
|
+
* `finally` blocks where the same code path may also throw.
|
|
80
|
+
*/
|
|
81
|
+
export declare function recordNpmInstall(input: NpmInstallMetricInput): NpmInstallSpanAttributes;
|
|
82
|
+
/**
|
|
83
|
+
* Test-only: clear cached instruments + last-seen gauge state. Required
|
|
84
|
+
* when a test installs its own MeterProvider, so the next emit re-binds to
|
|
85
|
+
* the test provider and prior runs' gauge entries don't bleed across.
|
|
86
|
+
*/
|
|
87
|
+
export declare function _resetNpmInstallMetricsForTesting(): void;
|
|
88
|
+
//# sourceMappingURL=npm-install-metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-install-metrics.d.ts","sourceRoot":"","sources":["../../src/common/npm-install-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAIH,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AAEtC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,mBAAmB,0DAItB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAuEpE,MAAM,WAAW,qBAAqB;IACpC,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACnC,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,iBAAiB,CAAC;IACvC,aAAa,EAAE,UAAU,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,qBAAqB,GAC3B,wBAAwB,CAwB1B;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,IAAI,IAAI,CAIxD"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* NPM Install Metrics (APPS-4189 / P6.2)
|
|
4
|
+
*
|
|
5
|
+
* Emits `superblocks.npm.install.*` metrics from every npm install path
|
|
6
|
+
* Superblocks owns and returns the matching attribute set so the caller can
|
|
7
|
+
* annotate its active llmobs span with the same dimensions. The metric and
|
|
8
|
+
* span streams share a closed attribute set so dashboards and traces join
|
|
9
|
+
* cleanly without dimension drift.
|
|
10
|
+
*
|
|
11
|
+
* Cardinality budget (documented contract — must not regress without a
|
|
12
|
+
* migration plan; every dashboard and Datadog saved facet pins on these):
|
|
13
|
+
*
|
|
14
|
+
* - `registry_host` ≤ 3 (`public_npm` | `private` | `unknown`)
|
|
15
|
+
* - `outcome` ≤ 6 (`NPM_OUTCOMES`)
|
|
16
|
+
* - `runner` ≤ 4 (`NPM_INSTALL_RUNNERS`)
|
|
17
|
+
*
|
|
18
|
+
* Total dimension product is bounded at 3 × 6 × 4 = 72 series, well under
|
|
19
|
+
* any per-metric ceiling. New runners or outcomes go through P6.1
|
|
20
|
+
* (sanitization policy) so a future emitter cannot blow the budget by
|
|
21
|
+
* accident.
|
|
22
|
+
*
|
|
23
|
+
* Every value flows through the P6.1 helpers in `./sanitize-npm-attributes`
|
|
24
|
+
* before reaching an OTel instrument, so raw registry hostnames and tokens
|
|
25
|
+
* cannot escape via this emitter — the same guarantee the audit-event
|
|
26
|
+
* emitter (P6.3) relies on.
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.NPM_INSTALL_RUNNERS = void 0;
|
|
30
|
+
exports.recordNpmInstall = recordNpmInstall;
|
|
31
|
+
exports._resetNpmInstallMetricsForTesting = _resetNpmInstallMetricsForTesting;
|
|
32
|
+
const api_1 = require("@opentelemetry/api");
|
|
33
|
+
const sanitize_npm_attributes_js_1 = require("./sanitize-npm-attributes.js");
|
|
34
|
+
/**
|
|
35
|
+
* Closed enum of npm install call sites that emit metrics. One value per
|
|
36
|
+
* call site Superblocks owns. Names are stabilised here; renaming any
|
|
37
|
+
* value breaks every saved dashboard and alert split on `runner`, so
|
|
38
|
+
* additions/removals must come with a migration plan.
|
|
39
|
+
*
|
|
40
|
+
* - `install_all` — full install from package.json (no specific
|
|
41
|
+
* packages). Covers both `AppShell.runNpmInstall`
|
|
42
|
+
* and `AppShell.runPackageManagerInstall`; the
|
|
43
|
+
* two are semantically the same operation routed
|
|
44
|
+
* through different package managers.
|
|
45
|
+
* - `install_specific` — `AppShell.installSpecificPackages` (named
|
|
46
|
+
* packages via `npm add` / equivalent).
|
|
47
|
+
* - `prefetch` — `installTemplateModules` (template
|
|
48
|
+
* `node_modules` prefetch during AiService
|
|
49
|
+
* construction).
|
|
50
|
+
*/
|
|
51
|
+
exports.NPM_INSTALL_RUNNERS = [
|
|
52
|
+
"install_all",
|
|
53
|
+
"install_specific",
|
|
54
|
+
"prefetch",
|
|
55
|
+
];
|
|
56
|
+
const METER_NAME = "@superblocksteam/telemetry/npm-install";
|
|
57
|
+
const METRIC_COUNT = "superblocks.npm.install.count";
|
|
58
|
+
const METRIC_DURATION = "superblocks.npm.install.duration";
|
|
59
|
+
const METRIC_STATUS = "superblocks.npm.install.status";
|
|
60
|
+
/**
|
|
61
|
+
* Last-seen status keyed by the attribute tuple. The observable gauge
|
|
62
|
+
* callback reads this on every collection cycle. Entries are intentionally
|
|
63
|
+
* kept until the process exits (or the test reset helper runs): the gauge
|
|
64
|
+
* is "last-seen for dashboards" and a stale combo dropping out would lie
|
|
65
|
+
* about the most recent outcome. The map is bounded by the cardinality
|
|
66
|
+
* budget above (72 entries worst case).
|
|
67
|
+
*/
|
|
68
|
+
const lastStatusByLabels = new Map();
|
|
69
|
+
let cachedMeter;
|
|
70
|
+
let cachedInstruments;
|
|
71
|
+
/**
|
|
72
|
+
* Lazy instrument factory. Re-creates instruments and re-registers the
|
|
73
|
+
* gauge callback when the global MeterProvider changes (the typical case
|
|
74
|
+
* is a test that calls `metrics.setGlobalMeterProvider` for isolation —
|
|
75
|
+
* the previous Meter's instruments are no longer wired to the active
|
|
76
|
+
* provider so calling `.add()` / `.record()` on them silently drops data).
|
|
77
|
+
*/
|
|
78
|
+
function getInstruments() {
|
|
79
|
+
const meter = api_1.metrics.getMeter(METER_NAME);
|
|
80
|
+
if (meter === cachedMeter && cachedInstruments) {
|
|
81
|
+
return cachedInstruments;
|
|
82
|
+
}
|
|
83
|
+
cachedMeter = meter;
|
|
84
|
+
cachedInstruments = {
|
|
85
|
+
counter: meter.createCounter(METRIC_COUNT, {
|
|
86
|
+
description: "Count of npm install invocations from Superblocks-owned paths.",
|
|
87
|
+
unit: "{install}",
|
|
88
|
+
}),
|
|
89
|
+
histogram: meter.createHistogram(METRIC_DURATION, {
|
|
90
|
+
description: "Duration of npm install invocations.",
|
|
91
|
+
unit: "ms",
|
|
92
|
+
}),
|
|
93
|
+
};
|
|
94
|
+
const gauge = meter.createObservableGauge(METRIC_STATUS, {
|
|
95
|
+
description: "Last-seen npm install status (1 = success, 0 = anything else) per runner+registry+outcome. For at-a-glance dashboards.",
|
|
96
|
+
});
|
|
97
|
+
gauge.addCallback((result) => {
|
|
98
|
+
for (const { value, attrs } of lastStatusByLabels.values()) {
|
|
99
|
+
result.observe(value, attrs);
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
return cachedInstruments;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Emit one observation of the install metric triple and return the matching
|
|
106
|
+
* span-attribute pair. Idempotent w.r.t. the metric SDK; safe to call from
|
|
107
|
+
* `finally` blocks where the same code path may also throw.
|
|
108
|
+
*/
|
|
109
|
+
function recordNpmInstall(input) {
|
|
110
|
+
const { counter, histogram } = getInstruments();
|
|
111
|
+
const registry_host = (0, sanitize_npm_attributes_js_1.bucketNpmRegistryHost)(input.registryHost);
|
|
112
|
+
const outcome = (0, sanitize_npm_attributes_js_1.normalizeNpmOutcome)(input.outcome);
|
|
113
|
+
const attrs = {
|
|
114
|
+
runner: input.runner,
|
|
115
|
+
registry_host,
|
|
116
|
+
outcome,
|
|
117
|
+
};
|
|
118
|
+
counter.add(1, attrs);
|
|
119
|
+
histogram.record(Math.max(0, input.durationMs), attrs);
|
|
120
|
+
const key = `${attrs.runner}|${attrs.registry_host}|${attrs.outcome}`;
|
|
121
|
+
lastStatusByLabels.set(key, {
|
|
122
|
+
value: outcome === "success" ? 1 : 0,
|
|
123
|
+
attrs,
|
|
124
|
+
});
|
|
125
|
+
return {
|
|
126
|
+
"npm.registry_host": registry_host,
|
|
127
|
+
"npm.outcome": outcome,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Test-only: clear cached instruments + last-seen gauge state. Required
|
|
132
|
+
* when a test installs its own MeterProvider, so the next emit re-binds to
|
|
133
|
+
* the test provider and prior runs' gauge entries don't bleed across.
|
|
134
|
+
*/
|
|
135
|
+
function _resetNpmInstallMetricsForTesting() {
|
|
136
|
+
cachedMeter = undefined;
|
|
137
|
+
cachedInstruments = undefined;
|
|
138
|
+
lastStatusByLabels.clear();
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=npm-install-metrics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm-install-metrics.js","sourceRoot":"","sources":["../../src/common/npm-install-metrics.ts"],"names":[],"mappings":"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"}
|