@obsunified/collector 2.2.1 → 2.3.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.
- package/dist/auth.d.ts +1 -1
- package/dist/auth.js +1 -1
- package/dist/{chunk-KMEZKGSO.js → chunk-2FALTDCE.js} +12 -4
- package/dist/chunk-2FALTDCE.js.map +1 -0
- package/dist/{chunk-ZSF5XP3B.js → chunk-RASSTGNB.js} +30 -22
- package/dist/chunk-RASSTGNB.js.map +1 -0
- package/dist/index.d.ts +10 -2
- package/dist/index.js +2892 -2240
- package/dist/index.js.map +1 -1
- package/dist/{ingest-auth-C5-8Mly5.d.ts → ingest-auth-BmP5-f96.d.ts} +32 -1
- package/dist/{openai-GSJZGFGL.js → openai-VDKVVZAV.js} +2 -2
- package/package.json +4 -3
- package/src/__tests__/autosre-closed-loop.test.ts +700 -0
- package/src/__tests__/db-parity.integration.test.ts +961 -0
- package/src/__tests__/internal-contracts-routes.test.ts +451 -0
- package/src/auth/dashboard-auth.test.ts +61 -0
- package/src/auth/dashboard-auth.ts +17 -2
- package/src/framework/env.ts +105 -0
- package/src/index.ts +13 -4
- package/src/lib/ai-store/calls.ts +43 -23
- package/src/lib/ai-store/evaluations.test.ts +3 -3
- package/src/lib/ai-store.ts +12 -1
- package/src/lib/analyses-store.test.ts +6 -6
- package/src/lib/autosre-findings.ts +169 -14
- package/src/lib/autosre-remediation-gate.ts +156 -26
- package/src/lib/db-parity.ts +883 -0
- package/src/lib/eval-cases-store.test.ts +1 -1
- package/src/lib/eval-cases-store.ts +16 -4
- package/src/lib/evidence-references.ts +30 -22
- package/src/lib/projects-store.test.ts +38 -1
- package/src/lib/projects-store.ts +23 -4
- package/src/lib/sql-db-postgres.integration.test.ts +75 -2
- package/src/lib/stage6.test.ts +1 -1
- package/src/lib/usage-store.ts +9 -3
- package/src/migrations/052_remediation_callback.sql +10 -0
- package/src/migrations/053_remediation_callback_delivery.sql +7 -0
- package/src/migrations/parity.test.ts +105 -3
- package/src/migrations-postgres/052_remediation_callback.sql +10 -0
- package/src/migrations-postgres/053_remediation_callback_delivery.sql +7 -0
- package/src/plugins/ai-call-by-id.test.ts +73 -0
- package/src/plugins/ai-receiver.ts +15 -0
- package/src/plugins/autosre-routes.ts +409 -147
- package/src/plugins/connected-routes/deep-link-shapes.test.ts +44 -0
- package/src/plugins/connected-routes/manifest.test.ts +224 -0
- package/src/plugins/connected-routes/manifest.ts +131 -28
- package/src/plugins/connected-routes-links.test.ts +96 -0
- package/src/plugins/connected-routes.test.ts +13 -11
- package/src/plugins/connected-routes.ts +53 -20
- package/src/plugins/eval-cases-routes.ts +33 -10
- package/src/plugins/evidence-retrieval-routes.ts +89 -24
- package/dist/chunk-KMEZKGSO.js.map +0 -1
- package/dist/chunk-ZSF5XP3B.js.map +0 -1
- /package/dist/{openai-GSJZGFGL.js.map → openai-VDKVVZAV.js.map} +0 -0
|
@@ -135,6 +135,37 @@ interface CollectorEnv {
|
|
|
135
135
|
/** @deprecated Use DASHBOARD_PASSWORD instead */
|
|
136
136
|
TELEMETRY_QUERY_TOKEN?: string;
|
|
137
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Optional string settings on `CollectorEnv` that host adapters (such as
|
|
140
|
+
* `apps/collector-node`) forward directly from the process environment after
|
|
141
|
+
* trimming whitespace and coercing blank strings to `undefined`.
|
|
142
|
+
*/
|
|
143
|
+
declare const COLLECTOR_OPTIONAL_STRING_ENV_KEYS: readonly ["RETENTION_HOURS", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "OPENAI_BASE_URL", "NARRATIVE_MODEL", "NARRATIVE_BUDGET_PER_HOUR", "ALERT_WEBHOOK_ALLOW_PRIVATE", "MAX_BODY_BYTES", "TELEMETRY_REDACT_FIELDS", "OBS_PAYLOAD_CAPTURE_DEFAULT"];
|
|
144
|
+
/**
|
|
145
|
+
* String settings on `CollectorEnv` that require explicit host handling (e.g.
|
|
146
|
+
* required auth secrets, CORS origin parsing, Worker-only self-instrumentation
|
|
147
|
+
* vars, or deprecated Worker tokens) and must not be blindly forwarded by the
|
|
148
|
+
* generic optional-env loop.
|
|
149
|
+
*/
|
|
150
|
+
declare const COLLECTOR_HOST_MANAGED_ENV_KEYS: readonly ["INGEST_KEY", "DASHBOARD_PASSWORD", "DASHBOARD_TOKEN", "ALLOWED_ORIGINS", "ALLOW_UNAUTHENTICATED", "OBS_DASHBOARD_INGEST_KEY", "OBS_COLLECTOR_SELF_URL", "OBS_SELF_AWAIT_EXPORTS", "TELEMETRY_INGEST_TOKEN", "USAGE_INGEST_TOKEN", "TELEMETRY_QUERY_TOKEN"];
|
|
151
|
+
declare const COLLECTOR_STRING_ENV_MANIFEST: {
|
|
152
|
+
readonly forwarded: readonly ["RETENTION_HOURS", "ANTHROPIC_API_KEY", "OPENAI_API_KEY", "OPENAI_BASE_URL", "NARRATIVE_MODEL", "NARRATIVE_BUDGET_PER_HOUR", "ALERT_WEBHOOK_ALLOW_PRIVATE", "MAX_BODY_BYTES", "TELEMETRY_REDACT_FIELDS", "OBS_PAYLOAD_CAPTURE_DEFAULT"];
|
|
153
|
+
readonly hostManaged: readonly ["INGEST_KEY", "DASHBOARD_PASSWORD", "DASHBOARD_TOKEN", "ALLOWED_ORIGINS", "ALLOW_UNAUTHENTICATED", "OBS_DASHBOARD_INGEST_KEY", "OBS_COLLECTOR_SELF_URL", "OBS_SELF_AWAIT_EXPORTS", "TELEMETRY_INGEST_TOKEN", "USAGE_INGEST_TOKEN", "TELEMETRY_QUERY_TOKEN"];
|
|
154
|
+
};
|
|
155
|
+
type CollectorOptionalStringEnvKey = (typeof COLLECTOR_OPTIONAL_STRING_ENV_KEYS)[number];
|
|
156
|
+
type CollectorHostManagedEnvKey = (typeof COLLECTOR_HOST_MANAGED_ENV_KEYS)[number];
|
|
157
|
+
type CollectorManifestStringEnvKey = CollectorOptionalStringEnvKey | CollectorHostManagedEnvKey;
|
|
158
|
+
type CollectorObjectBindingKey = "DB" | "REPLAYS_BUCKET" | "PROFILES_BUCKET" | "TAIL_HUB";
|
|
159
|
+
type CollectorStringEnvKey = Exclude<keyof CollectorEnv, CollectorObjectBindingKey>;
|
|
160
|
+
/**
|
|
161
|
+
* Verifies that every string key in `declaredKeys` is categorized in either
|
|
162
|
+
* `COLLECTOR_OPTIONAL_STRING_ENV_KEYS` or `COLLECTOR_HOST_MANAGED_ENV_KEYS`
|
|
163
|
+
* without overlap. Throws if any key is uncategorized or duplicated.
|
|
164
|
+
*/
|
|
165
|
+
declare function assertCollectorEnvManifestCompleteness(declaredKeys: readonly string[], manifest?: {
|
|
166
|
+
readonly forwarded: readonly string[];
|
|
167
|
+
readonly hostManaged: readonly string[];
|
|
168
|
+
}): void;
|
|
138
169
|
interface CollectorRouteContext {
|
|
139
170
|
hono: Context<{
|
|
140
171
|
Bindings: CollectorEnv;
|
|
@@ -171,4 +202,4 @@ declare function createIngestAuth(config?: {
|
|
|
171
202
|
};
|
|
172
203
|
}>;
|
|
173
204
|
|
|
174
|
-
export {
|
|
205
|
+
export { COLLECTOR_HOST_MANAGED_ENV_KEYS as C, type Logger as L, COLLECTOR_OPTIONAL_STRING_ENV_KEYS as a, COLLECTOR_STRING_ENV_MANIFEST as b, type ChildSpanRunner as c, type CollectorApp as d, type CollectorEnv as e, type CollectorHostManagedEnvKey as f, type CollectorManifestStringEnvKey as g, type CollectorObjectBindingKey as h, type CollectorOptionalStringEnvKey as i, type CollectorRouteContext as j, type CollectorStringEnvKey as k, assertCollectorEnvManifestCompleteness as l, consoleLogger as m, createIngestAuth as n, resetIngestAuthCache as r };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
LlmCallError,
|
|
3
3
|
askEvidenceReferences
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-RASSTGNB.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/openai.ts
|
|
7
7
|
import { EVIDENCE_REFERENCE_CONTRACT } from "@obsunified/types";
|
|
@@ -381,4 +381,4 @@ export {
|
|
|
381
381
|
generateNarrativeOpenAI,
|
|
382
382
|
runAskOpenAI
|
|
383
383
|
};
|
|
384
|
-
//# sourceMappingURL=openai-
|
|
384
|
+
//# sourceMappingURL=openai-VDKVVZAV.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@obsunified/collector",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0",
|
|
4
4
|
"description": "Plugin-based observability collector runtime with pluggable SQL/blob storage.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -32,14 +32,13 @@
|
|
|
32
32
|
"files": [
|
|
33
33
|
"dist",
|
|
34
34
|
"src",
|
|
35
|
-
"migrations",
|
|
36
35
|
"README.md"
|
|
37
36
|
],
|
|
38
37
|
"sideEffects": false,
|
|
39
38
|
"dependencies": {
|
|
40
39
|
"@bufbuild/protobuf": "^2.11.0",
|
|
41
40
|
"@obsunified/pprof-decoder": "2.0.2",
|
|
42
|
-
"@obsunified/types": "2.
|
|
41
|
+
"@obsunified/types": "2.3.0"
|
|
43
42
|
},
|
|
44
43
|
"peerDependencies": {
|
|
45
44
|
"hono": "^4.7.0",
|
|
@@ -67,6 +66,8 @@
|
|
|
67
66
|
"build": "tsup",
|
|
68
67
|
"type-check": "tsc --noEmit",
|
|
69
68
|
"test": "vitest run --passWithNoTests",
|
|
69
|
+
"check:migrations": "vitest run src/migrations/parity.test.ts",
|
|
70
|
+
"check:db-parity": "node scripts/check-db-parity.mjs",
|
|
70
71
|
"bench": "vitest bench --run",
|
|
71
72
|
"codegen": "PATH=\"$PWD/node_modules/.bin:$PATH\" buf generate"
|
|
72
73
|
}
|