@hualinge/relay-api-server-contracts 0.1.6 → 1.0.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/index.d.ts CHANGED
@@ -14,4 +14,5 @@ export type { CatalogMemberEntry, CatalogProvider, CatalogSnapshot } from './cat
14
14
  export type { ConsistencyReport, Edge, EvidenceIndex, EvidenceItem, EvidenceKind, EvidenceProvider, EvidenceProviderInput, EvidenceServices, EvidenceStats, EvidenceStatus, EvidenceStore, RebuildResult, SearchOptions, } from './evidence.js';
15
15
  export type { DynamicTaskDef, DynamicTaskPort, EmissionPort, EmissionRecord, EmissionRow, GlobalControl, GlobalControlPort, PackTemplateDef, PackTemplatePort, RunLedgerPort, RunLedgerQuery, RunLedgerRecord, RunLedgerRow, RunOutcome, RunStats, SchedulerPersistence, SchedulerProvider, SchedulerProviderInput, TaskOverride, TriggerSpec, } from './scheduler.js';
16
16
  export type { TelemetryProvider } from './telemetry-provider.js';
17
+ export type { MetricLabelProvider } from './metric-label-provider.js';
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACzF,YAAY,EACV,iBAAiB,EACjB,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACjG,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACzF,YAAY,EACV,iBAAiB,EACjB,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Metric Label Provider Plugin API — contract for dynamic metric labels.
3
+ *
4
+ * Provider resolves HTTP request into metric labels (key-value pairs).
5
+ * The platform merges these labels into metric attributes during recording.
6
+ */
7
+ import type { FastifyRequest } from 'fastify';
8
+ /**
9
+ * Metric Label Provider contract.
10
+ *
11
+ * Extension point for dynamic HTTP request metric labels.
12
+ */
13
+ export interface MetricLabelProvider {
14
+ /** Unique provider identifier (runtime string, never hardcoded in platform). */
15
+ readonly id: string;
16
+ /** Human-readable name shown in logs and admin UI. */
17
+ readonly displayName?: string;
18
+ /**
19
+ * Called once at startup. Use for provider-level initialization
20
+ * (e.g., validate config, warm up connections).
21
+ */
22
+ bootstrap?(): Promise<void>;
23
+ /**
24
+ * Resolve metric labels from HTTP request.
25
+ * Return null to skip adding labels.
26
+ * Return object to merge into metric attributes.
27
+ */
28
+ resolveLabels(request: FastifyRequest): Promise<Record<string, string | number | boolean> | null>;
29
+ /**
30
+ * Called on shutdown. Use for cleanup.
31
+ */
32
+ shutdown?(): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=metric-label-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-label-provider.d.ts","sourceRoot":"","sources":["../src/metric-label-provider.ts"],"names":[],"mappings":"AAMA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAElG;;OAEG;IACH,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B"}
@@ -0,0 +1,7 @@
1
+ /*
2
+ * * *
3
+ * * Copyright (C) Huawei Technologies Co., Ltd. 2026. All rights reserved.
4
+ *
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=metric-label-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-label-provider.js","sourceRoot":"","sources":["../src/metric-label-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -6,7 +6,7 @@ export interface CreateSessionInput {
6
6
  agentId: AgentId;
7
7
  userId: string;
8
8
  }
9
- export type SessionRecordPatch = Partial<Pick<SessionRecord, 'cliSessionId' | 'status' | 'contextHealth' | 'lastUsage' | 'messageCount' | 'sealReason' | 'sealedAt' | 'updatedAt' | 'compressionCount' | 'consecutiveRestoreFailures'>>;
9
+ export type SessionRecordPatch = Partial<Pick<SessionRecord, 'cliSessionId' | 'status' | 'contextHealth' | 'lastUsage' | 'lastUsageAt' | 'totalUsage' | 'usageByDay' | 'messageCount' | 'sealReason' | 'sealedAt' | 'updatedAt' | 'compressionCount' | 'consecutiveRestoreFailures'>>;
10
10
  export interface ISessionChainStore {
11
11
  create(input: CreateSessionInput): SessionRecord | Promise<SessionRecord>;
12
12
  get(id: string): SessionRecord | null | Promise<SessionRecord | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"session-chain-types.d.ts","sourceRoot":"","sources":["../../src/storage/session-chain-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,IAAI,CACF,aAAa,EACX,cAAc,GACd,QAAQ,GACR,eAAe,GACf,WAAW,GACX,cAAc,GACd,YAAY,GACZ,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,4BAA4B,CAC/B,CACF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACtE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACpG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACzF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACpG,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC9F,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9E,mBAAmB,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACrD"}
1
+ {"version":3,"file":"session-chain-types.d.ts","sourceRoot":"","sources":["../../src/storage/session-chain-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAErE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,IAAI,CACF,aAAa,EACX,cAAc,GACd,QAAQ,GACR,eAAe,GACf,WAAW,GACX,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,YAAY,GACZ,UAAU,GACV,WAAW,GACX,kBAAkB,GAClB,4BAA4B,CAC/B,CACF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1E,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACtE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACpG,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IACzF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/E,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IACpG,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAC9F,yBAAyB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC9E,mBAAmB,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACrD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hualinge/relay-api-server-contracts",
3
- "version": "0.1.6",
3
+ "version": "1.0.0",
4
4
  "type": "module",
5
5
  "description": "Plugin contracts for OfficeClaw extensions: auth, storage, identity.",
6
6
  "license": "MIT",
@@ -57,15 +57,15 @@
57
57
  "LICENSE"
58
58
  ],
59
59
  "peerDependencies": {
60
+ "@hualinge/relay-shared": ">=1.0.0",
60
61
  "@opentelemetry/sdk-trace-base": ">=1.0.0",
61
62
  "@opentelemetry/sdk-metrics": ">=1.0.0",
62
63
  "@opentelemetry/resources": ">=1.0.0",
63
- "@opentelemetry/instrumentation": ">=0.50.0",
64
- "@hualinge/relay-shared": ">=0.1.3"
64
+ "@opentelemetry/instrumentation": ">=0.50.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "typescript": "^5.3.3",
68
- "@hualinge/relay-shared": "0.1.6"
68
+ "@hualinge/relay-shared": "1.0.0"
69
69
  },
70
70
  "scripts": {
71
71
  "build": "pnpm clean && tsc",