@stealthmark/core 0.1.1 → 0.1.3
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 +2 -1
- package/dist/create.d.ts.map +1 -1
- package/dist/create.js +1 -0
- package/dist/create.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/usage-reporter.d.ts +18 -1
- package/dist/usage-reporter.d.ts.map +1 -1
- package/dist/usage-reporter.js +46 -4
- package/dist/usage-reporter.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ The manifest is StealthMark's own format. It is not an A2A Agent Card, an MCP se
|
|
|
14
14
|
npm install @stealthmark/core
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
Requires Node.js 20 or newer.
|
|
17
|
+
Requires Node.js 20 or newer. The package is ESM; CommonJS projects can also `require()` it on Node.js 20.19+ or 22.12+.
|
|
18
18
|
|
|
19
19
|
## Quick Start
|
|
20
20
|
|
|
@@ -98,6 +98,7 @@ Behavior:
|
|
|
98
98
|
- Retries 5xx and network errors three times (250 ms, 1 s, 4 s), then drops the batch (`failures`, `dropped`).
|
|
99
99
|
- On `429 quota_exceeded` it stops sending for `retry_after_seconds` (default 300) and drops events meanwhile (`stats().dropped`), exposing the resume time as `stats().pausedUntil` (`null` when not paused; `quotaExceededUntil` is the same value kept for compatibility). Pass `onQuotaExceeded` to be told when it happens: it receives `{ pausedUntil, retryAfterSeconds, dropped }` once per 429, and exceptions it throws are swallowed. Events are not buffered across the pause, so a customer who wants to alert on it should wire this callback. Your site keeps serving traffic; only reporting pauses.
|
|
100
100
|
- Any other `429` is the API's per-key rate limiter (`rate_limit_exceeded`), not a quota problem: nothing is dropped, `pausedUntil` stays `null` and `onQuotaExceeded` is not called. The batch stays queued and sending resumes after the `Retry-After` header (or `retry_after` in the body; 60 seconds when neither is present, never more than 300). Events recorded during the wait are queued, up to 10,000, and `flush()` returns without sending until the wait is over.
|
|
101
|
+
- The API key is trimmed. A key that still contains spaces, control or non-ASCII characters (for example an arrow key typed while pasting it into a terminal) cannot be sent in an HTTP header, so reporting stays off. That case, a key the API rejects (`401`/`403`) and an API it cannot reach each print one warning through the `logger` option of `createStealthMark` and every adapter (default `console`, `false` silences it). Warnings never include the key.
|
|
101
102
|
- On serverless or Edge runtimes, pending timers can be frozen after the response is sent. Call `await sm.usage.flush()` (or `event.waitUntil(sm.usage.flush())`) at the end of the request when you need delivery guarantees.
|
|
102
103
|
|
|
103
104
|
You can also use the reporter standalone:
|
package/dist/create.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,sCAAsC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,eAAe,CAAC;IACnF,uCAAuC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,2IAA2I;IAC3I,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,oIAAoI;IACpI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,sFAAsF;IACtF,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/C;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,UAAU,EACV,WAAW,EACZ,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE9E,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,mCAAmC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,sCAAsC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,KAAK,eAAe,CAAC;IACnF,uCAAuC;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,uEAAuE;IACvE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,2IAA2I;IAC3I,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,oIAAoI;IACpI,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,sFAAsF;IACtF,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC/C;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,mBAAmB,CAsChF"}
|
package/dist/create.js
CHANGED
|
@@ -69,6 +69,7 @@ export function createStealthMark(config) {
|
|
|
69
69
|
apiKey: config.reportUsage === false ? '' : (usageApiKey ?? ''),
|
|
70
70
|
endpoint: config.usageEndpoint ?? readEnv('STEALTHMARK_USAGE_ENDPOINT'),
|
|
71
71
|
onQuotaExceeded: config.onQuotaExceeded,
|
|
72
|
+
logger: config.logger,
|
|
72
73
|
});
|
|
73
74
|
const responseHeaders = {
|
|
74
75
|
'x-stealthmark-shield': 'ACTIVE',
|
package/dist/create.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,6CAA6C;AAC7C,kEAAkE;AAClE,sEAAsE;AAStE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AA0B9E,MAAM,YAAY,GAAG,iEAAiE,CAAC;AAEvF,SAAS,OAAO,CAAC,IAAa;IAC5B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IACrE,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC;QACtD,KAAK,4BAA4B;YAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,SAAS,CAAC;QAC7D,KAAK,qBAAqB;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,SAAS,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,UAA8B;IACnD,MAAM,GAAG,GAAG,UAAU,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,CAAC;IACzE,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;IACnH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAyB;IACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,KAAK,IAAI,CAAC;IAC9D,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/D,QAAQ,EAAE,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC,4BAA4B,CAAC;QACvE,eAAe,EAAE,MAAM,CAAC,eAAe;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ export type { UsageReporter } from './usage-reporter.js';
|
|
|
6
6
|
export { discoverCapabilities } from './auto-discovery.js';
|
|
7
7
|
export { normalizeHost, resolveRequestHost, buildEventMetadata, MAX_HOST_LENGTH } from './request-context.js';
|
|
8
8
|
export type { RouteDiscoveryOptions } from './auto-discovery.js';
|
|
9
|
-
export type { StealthMarkConfig, AgentManifest, Capability, DetectionResult, HttpMethod, UsageEvent, UsageEventType, UsageReporterOptions, UsageStats, QuotaExceededInfo, AgentPolicy, } from './types.js';
|
|
9
|
+
export type { StealthMarkConfig, AgentManifest, Capability, DetectionResult, HttpMethod, UsageEvent, UsageEventType, UsageReporterOptions, UsageStats, QuotaExceededInfo, UsageLogger, AgentPolicy, } from './types.js';
|
|
10
10
|
export type { StealthMarkInstance, StealthMarkInstance as StealthMark } from './create.js';
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9G,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9G,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,eAAe,EACf,UAAU,EACV,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,iBAAiB,EACjB,WAAW,EACX,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -58,6 +58,8 @@ export interface StealthMarkConfig {
|
|
|
58
58
|
reportUsage?: boolean;
|
|
59
59
|
/** Called when the usage API answers 429 quota_exceeded and reporting pauses. See `UsageReporterOptions`. */
|
|
60
60
|
onQuotaExceeded?: (info: QuotaExceededInfo) => void;
|
|
61
|
+
/** Where usage reporting warnings go (default `console`; `false` silences them). See `UsageReporterOptions`. */
|
|
62
|
+
logger?: UsageLogger | false;
|
|
61
63
|
/** Custom agent detection patterns (User-Agent substrings) */
|
|
62
64
|
agentPatterns?: string[];
|
|
63
65
|
/** Handling of agent requests on ordinary paths (default 'observe') */
|
|
@@ -122,6 +124,16 @@ export interface UsageReporterOptions {
|
|
|
122
124
|
* Errors thrown by the callback are swallowed.
|
|
123
125
|
*/
|
|
124
126
|
onQuotaExceeded?: (info: QuotaExceededInfo) => void;
|
|
127
|
+
/**
|
|
128
|
+
* Receives one warning per problem kind (an API key that cannot be sent in a header, a key the API
|
|
129
|
+
* rejects, an unreachable API), so a misconfigured site does not fail silently. Warnings never
|
|
130
|
+
* contain the key. Default: `console`. Pass `false` to silence them.
|
|
131
|
+
*/
|
|
132
|
+
logger?: UsageLogger | false;
|
|
133
|
+
}
|
|
134
|
+
/** Minimal logger for usage reporter warnings */
|
|
135
|
+
export interface UsageLogger {
|
|
136
|
+
warn: (message: string) => void;
|
|
125
137
|
}
|
|
126
138
|
/** Details passed to `onQuotaExceeded` */
|
|
127
139
|
export interface QuotaExceededInfo {
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/usage-reporter.d.ts
CHANGED
|
@@ -9,6 +9,21 @@ export interface UsageReporter {
|
|
|
9
9
|
flush: () => Promise<void>;
|
|
10
10
|
stats: () => UsageStats;
|
|
11
11
|
}
|
|
12
|
+
type ApiKeyCheck = {
|
|
13
|
+
kind: 'missing';
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'valid';
|
|
16
|
+
key: string;
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'invalid';
|
|
19
|
+
length: number;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Trims surrounding whitespace (a key pasted with a trailing newline) and rejects keys with control
|
|
23
|
+
* or non-ASCII characters (a key typed with an arrow key in a terminal), which would make every
|
|
24
|
+
* request fail before it leaves the process.
|
|
25
|
+
*/
|
|
26
|
+
export declare function checkApiKey(apiKey: string | undefined): ApiKeyCheck;
|
|
12
27
|
/**
|
|
13
28
|
* Resolves the identifier stored with a metered event: the explicit
|
|
14
29
|
* x-stealthmark-agent header, else the User-Agent, else the detected agent id.
|
|
@@ -22,7 +37,9 @@ export declare function resolveAgentIdentifier(headers: Headers | Record<string,
|
|
|
22
37
|
* `retry_after_seconds`, dropping events meanwhile (counted in `stats().dropped`, with the resume time in
|
|
23
38
|
* `stats().pausedUntil`). `onQuotaExceeded` lets the host app surface the pause. Any other 429 is a plain rate limit:
|
|
24
39
|
* the batch is kept and sent again after the server's Retry-After, without reporting a quota pause.
|
|
25
|
-
* Without an API key it is inert.
|
|
40
|
+
* Without an API key it is inert. A key that cannot be sent in a header, a key the API rejects and an
|
|
41
|
+
* unreachable API each produce one warning through `options.logger` (default `console`).
|
|
26
42
|
*/
|
|
27
43
|
export declare function createUsageReporter(options: UsageReporterOptions): UsageReporter;
|
|
44
|
+
export {};
|
|
28
45
|
//# sourceMappingURL=usage-reporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-reporter.d.ts","sourceRoot":"","sources":["../src/usage-reporter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,
|
|
1
|
+
{"version":3,"file":"usage-reporter.d.ts","sourceRoot":"","sources":["../src/usage-reporter.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EAEV,oBAAoB,EACpB,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,sBAAsB,oDAAoD,CAAC;AAaxF,MAAM,WAAW,aAAa;IAC5B,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,qDAAqD;IACrD,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,0FAA0F;IAC1F,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,UAAU,CAAC;CACzB;AAgDD,KAAK,WAAW,GAAG;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9G;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,CAInE;AAcD;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EACrD,SAAS,EAAE,eAAe,GACzB,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAyNhF"}
|
package/dist/usage-reporter.js
CHANGED
|
@@ -51,6 +51,19 @@ function requestSignal() {
|
|
|
51
51
|
? AbortSignal.timeout(REQUEST_TIMEOUT_MS)
|
|
52
52
|
: undefined;
|
|
53
53
|
}
|
|
54
|
+
/** Printable ASCII without spaces: the only characters an API key can carry in an HTTP header. */
|
|
55
|
+
const API_KEY_PATTERN = /^[\x21-\x7e]+$/;
|
|
56
|
+
/**
|
|
57
|
+
* Trims surrounding whitespace (a key pasted with a trailing newline) and rejects keys with control
|
|
58
|
+
* or non-ASCII characters (a key typed with an arrow key in a terminal), which would make every
|
|
59
|
+
* request fail before it leaves the process.
|
|
60
|
+
*/
|
|
61
|
+
export function checkApiKey(apiKey) {
|
|
62
|
+
const key = (apiKey ?? '').trim();
|
|
63
|
+
if (key === '')
|
|
64
|
+
return { kind: 'missing' };
|
|
65
|
+
return API_KEY_PATTERN.test(key) ? { kind: 'valid', key } : { kind: 'invalid', length: key.length };
|
|
66
|
+
}
|
|
54
67
|
function normalizeEvent(event) {
|
|
55
68
|
const isBlocked = event.event_type === 'agent_blocked';
|
|
56
69
|
const minUnits = isBlocked ? 0 : 1;
|
|
@@ -83,11 +96,29 @@ export function resolveAgentIdentifier(headers, detection) {
|
|
|
83
96
|
* `retry_after_seconds`, dropping events meanwhile (counted in `stats().dropped`, with the resume time in
|
|
84
97
|
* `stats().pausedUntil`). `onQuotaExceeded` lets the host app surface the pause. Any other 429 is a plain rate limit:
|
|
85
98
|
* the batch is kept and sent again after the server's Retry-After, without reporting a quota pause.
|
|
86
|
-
* Without an API key it is inert.
|
|
99
|
+
* Without an API key it is inert. A key that cannot be sent in a header, a key the API rejects and an
|
|
100
|
+
* unreachable API each produce one warning through `options.logger` (default `console`).
|
|
87
101
|
*/
|
|
88
102
|
export function createUsageReporter(options) {
|
|
89
|
-
const
|
|
90
|
-
const
|
|
103
|
+
const logger = options.logger === false ? null : (options.logger ?? console);
|
|
104
|
+
const warned = new Set();
|
|
105
|
+
function warnOnce(kind, message) {
|
|
106
|
+
if (logger === null || warned.has(kind))
|
|
107
|
+
return;
|
|
108
|
+
warned.add(kind);
|
|
109
|
+
try {
|
|
110
|
+
logger.warn(`[stealthmark] ${message}`);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// A failing logger must never break reporting.
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
const keyCheck = checkApiKey(options.apiKey);
|
|
117
|
+
if (keyCheck.kind === 'invalid') {
|
|
118
|
+
warnOnce('invalid-key', `The API key (${keyCheck.length} characters) contains spaces, control or non-ASCII characters, so it cannot be sent in an HTTP header. Usage reporting is off. Set STEALTHMARK_API_KEY again without extra characters.`);
|
|
119
|
+
}
|
|
120
|
+
const apiKey = keyCheck.kind === 'valid' ? keyCheck.key : '';
|
|
121
|
+
const active = apiKey !== '';
|
|
91
122
|
const url = `${(options.endpoint ?? DEFAULT_USAGE_ENDPOINT).replace(/\/+$/, '')}/v1/usage/ingest`;
|
|
92
123
|
const flushIntervalMs = clampInt(options.flushIntervalMs, DEFAULT_FLUSH_INTERVAL_MS, 1, 3_600_000);
|
|
93
124
|
const maxBatch = clampInt(options.maxBatch, DEFAULT_MAX_BATCH, 1, MAX_BATCH_LIMIT);
|
|
@@ -167,6 +198,7 @@ export function createUsageReporter(options) {
|
|
|
167
198
|
}
|
|
168
199
|
async function sendBatch(batch) {
|
|
169
200
|
const payload = JSON.stringify({ events: batch });
|
|
201
|
+
let lastFailure = 'no response';
|
|
170
202
|
for (let attempt = 0; attempt <= RETRY_DELAYS_MS.length; attempt += 1) {
|
|
171
203
|
if (attempt > 0)
|
|
172
204
|
await sleep(RETRY_DELAYS_MS[attempt - 1]);
|
|
@@ -179,7 +211,9 @@ export function createUsageReporter(options) {
|
|
|
179
211
|
signal: requestSignal(),
|
|
180
212
|
});
|
|
181
213
|
}
|
|
182
|
-
catch {
|
|
214
|
+
catch (error) {
|
|
215
|
+
// Only the error name: some runtimes put the rejected header value, the key, in the message.
|
|
216
|
+
lastFailure = error instanceof Error ? error.name : typeof error;
|
|
183
217
|
continue;
|
|
184
218
|
}
|
|
185
219
|
if (response.ok) {
|
|
@@ -197,11 +231,19 @@ export function createUsageReporter(options) {
|
|
|
197
231
|
return;
|
|
198
232
|
}
|
|
199
233
|
if (response.status >= 400 && response.status < 500 && response.status !== 408) {
|
|
234
|
+
if (response.status === 401 || response.status === 403) {
|
|
235
|
+
warnOnce('rejected-key', `The usage API rejected the API key (HTTP ${response.status}); agent events are being dropped. Check STEALTHMARK_API_KEY.`);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
warnOnce(`http-${response.status}`, `The usage API answered HTTP ${response.status}; agent events are being dropped.`);
|
|
239
|
+
}
|
|
200
240
|
failures += 1;
|
|
201
241
|
dropped += batch.length;
|
|
202
242
|
return;
|
|
203
243
|
}
|
|
244
|
+
lastFailure = `HTTP ${response.status}`;
|
|
204
245
|
}
|
|
246
|
+
warnOnce('undelivered', `Could not deliver agent events to ${url} after ${RETRY_DELAYS_MS.length + 1} attempts (last: ${lastFailure}); they are being dropped.`);
|
|
205
247
|
failures += 1;
|
|
206
248
|
dropped += batch.length;
|
|
207
249
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage-reporter.js","sourceRoot":"","sources":["../src/usage-reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"usage-reporter.js","sourceRoot":"","sources":["../src/usage-reporter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stealthmark/core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Framework-agnostic engine that detects self-identified AI agents, generates an agent manifest and meters agent traffic",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
14
|
-
"import": "./dist/index.js"
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"default": "./dist/index.js"
|
|
15
16
|
}
|
|
16
17
|
},
|
|
17
18
|
"files": [
|