@deepseek-ai/dsh-session-telemetry-otel 0.2.0-rc.2 → 0.2.1-alpha.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.
package/README.i18n.yaml CHANGED
@@ -54,8 +54,8 @@
54
54
  en: 7593cf5d0d2cedd6
55
55
  zh: f57cc48a1b5cbfa9
56
56
  /deepseek-ai-dsh-session-telemetry-otel/known-limitations-and-deferred-work:
57
- en: e43087aea7af4c9e
58
- zh: f8b529e2012b4c63
57
+ en: 5d0b88f8256bd782
58
+ zh: 36b8d64645ed6c2e
59
59
  /deepseek-ai-dsh-session-telemetry-otel/known-limitations-and-deferred-work/dev-note:
60
- en: 0065df2648b09ac9
61
- zh: b5bac41fc3aec70e
60
+ en: e67f633dc6fe7773
61
+ zh: 3bb0c20c93f16f98
package/README.md CHANGED
@@ -137,7 +137,7 @@ None; the package neither assembles nor sends a provider request.
137
137
 
138
138
  These limits define where SDK behavior governs and where export guarantees end. They are current package constraints.
139
139
 
140
- - **Upstream experimental tree** — `@opentelemetry/sdk-logs` is published from the upstream experimental tree; SDK API churn lands here and only here, while the seam contract does not move.
140
+ - **Upstream experimental tree** — `@opentelemetry/sdk-logs` is published from the upstream experimental tree; SDK API churn lands in the [shared OTel plugin](../../telemetry/otel/README.md), while the seam contract does not move.
141
141
  - **Live-collector behavior belongs to the SDK exporter** — authentication, TLS, throttling, and other real OTLP deployment behavior follow the upstream SDK rather than a package-owned compatibility layer.
142
142
  - **Best-effort handoff** — new cold snapshots and a new feedback submission after restart can repeat prefixes; receivers deduplicate by Session id, format version, and event seq. There is no durable outbox, delivery watermark, automatic retry promise, or collector-acceptance guarantee. OTel and the opt-in DeepSeek API path can overlap. Withdrawal exports a deletion event, not remote erasure.
143
143
 
@@ -152,5 +152,3 @@ These limits define where SDK behavior governs and where export guarantees end.
152
152
  None.
153
153
 
154
154
  </details>
155
-
156
- **Runtime invariant:** No companion is published. Mode selection changes capture handoff, SDK setup, and local diagnostics without mutating session or service state an independent companion can compare. Collector delivery cannot be inferred from local queue state.
package/README.zh.md CHANGED
@@ -137,7 +137,7 @@ kind: "package-reference"
137
137
 
138
138
  这些限制说明 SDK 行为在何处起主导作用、导出保证止于何处。它们是当前包约束。
139
139
 
140
- - **上游实验性源码树**——`@opentelemetry/sdk-logs` 从上游实验性源码树发布;SDK API 的变动只会落在本包,也仅落在本包,而 seam 约定不动。
140
+ - **上游实验性源码树**——`@opentelemetry/sdk-logs` 从上游实验性源码树发布;SDK API 的变动落在[共享 OTel 插件](../../telemetry/otel/README.zh.md),而 seam 约定不动。
141
141
  - **真实 collector 行为属于 SDK 导出器**——身份验证、TLS、限流及其他真实 OTLP 部署行为遵循上游 SDK,不由本包自有兼容层处理。
142
142
  - **尽力交接**——新冷快照以及重启后的新反馈提交可能重复前缀;接收方按 Session id、格式版本和事件 seq 去重。没有持久化 outbox、投递水位、自动重试承诺或采集端接受保证。OTel 与需显式启用的 DeepSeek API 路径可能重叠。撤回导出删除事件,不是远端擦除。
143
143
 
@@ -152,5 +152,3 @@ kind: "package-reference"
152
152
  无。
153
153
 
154
154
  </details>
155
-
156
- **运行时不变式:** 不发布伴生入口。模式选择只改变 capture handoff、SDK setup 与本地 diagnostics,不改变可由独立 companion 对照的会话或服务状态。无法根据本地队列状态推断 collector 是否收到记录。
package/lib/index.js CHANGED
@@ -61,7 +61,8 @@ function sharingStatusFor(mode) {
61
61
  * Schemastery validator for {@link Config}; cordis runs it before the plugin
62
62
  * starts. The constructor validates endpoint and shutdown requirements; the
63
63
  * reporter validates Session byte and queue limits. SDK transport and
64
- * processor settings retain their upstream types.
64
+ * processor settings use the reporter's accepted option types, which exclude
65
+ * self-observability metering.
65
66
  */
66
67
  const Config = z.object({
67
68
  mode: z.union(Object.values(SessionTelemetryMode)).default(DEFAULT_TELEMETRY_MODE),
@@ -10,8 +10,7 @@
10
10
  import z from '@deepseek-ai/schemastery';
11
11
  import type { Context } from '@deepseek-ai/cordis';
12
12
  import { SessionTelemetryBackend, type SessionTelemetryRecord, type SessionTelemetrySharingStatus } from '@deepseek-ai/dsh-session-telemetry';
13
- import type { BatchLogRecordProcessorOptions } from '@opentelemetry/sdk-logs';
14
- import type { OTLPExporterNodeConfigBase } from '@opentelemetry/otlp-exporter-base';
13
+ import type { LogExporterOptions, SessionLogProcessorOptions } from '@deepseek-ai/dsh-otel';
15
14
  /** Session-sharing policy selected by {@link Config.mode}. */
16
15
  export declare enum SessionTelemetryMode {
17
16
  FEEDBACK_ONLY = "FEEDBACK_ONLY",
@@ -30,16 +29,18 @@ export interface Config {
30
29
  /**
31
30
  * Explicit SDK HTTP transport settings, including optional routing headers.
32
31
  * Ambient credentials are not inherited. URL is required while uploading.
32
+ * Exporter self-observability metering is not supported.
33
33
  */
34
- exporter?: OTLPExporterNodeConfigBase & {
34
+ exporter?: Omit<LogExporterOptions, 'url'> & {
35
35
  /** Full logs endpoint (e.g. `https://collector.example.com/v1/logs`). Required outside `DISABLED`; validated at load. */
36
36
  url?: string;
37
37
  };
38
38
  /**
39
39
  * Count, queue, cadence, and per-request watchdog settings for the byte-bounded
40
40
  * processor. A watchdog warning never releases an unsettled transport slot.
41
+ * SDK processor self-observability metering is not supported.
41
42
  */
42
- processor?: Omit<BatchLogRecordProcessorOptions, 'exporter'>;
43
+ processor?: SessionLogProcessorOptions;
43
44
  /** Maximum time spent awaiting the SDK provider's complete shutdown path. */
44
45
  shutdownTimeoutMillis?: number;
45
46
  /** Uncompressed OTLP request byte limit, at most 4,000,000. */
@@ -49,7 +50,8 @@ export interface Config {
49
50
  * Schemastery validator for {@link Config}; cordis runs it before the plugin
50
51
  * starts. The constructor validates endpoint and shutdown requirements; the
51
52
  * reporter validates Session byte and queue limits. SDK transport and
52
- * processor settings retain their upstream types.
53
+ * processor settings use the reporter's accepted option types, which exclude
54
+ * self-observability metering.
53
55
  */
54
56
  export declare const Config: z<Config>;
55
57
  /** Default outer allowance for the SDK's complete shutdown sequence. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@deepseek-ai/dsh-session-telemetry-otel",
3
3
  "description": "Feedback-authorized Session logs over byte-bounded OpenTelemetry HTTP requests",
4
- "version": "0.2.0-rc.2",
4
+ "version": "0.2.1-alpha.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -27,38 +27,36 @@
27
27
  ],
28
28
  "license": "MIT",
29
29
  "dependencies": {
30
- "@opentelemetry/api-logs": "^0.220.0",
31
- "@opentelemetry/otlp-exporter-base": "^0.220.0",
32
- "@opentelemetry/sdk-logs": "^0.220.0",
33
- "@deepseek-ai/schemastery": "~3.18.4"
30
+ "@opentelemetry/api-logs": "^0.222.0",
31
+ "@deepseek-ai/schemastery": "~3.18.5-alpha.1"
34
32
  },
35
33
  "peerDependencies": {
36
- "@deepseek-ai/dsh-command-feedback": "0.2.0-rc.2",
37
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
38
- "@deepseek-ai/dsh-message-feedback": "0.2.0-rc.2",
39
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
40
- "@deepseek-ai/dsh-anonymous-user-id": "0.2.0-rc.2",
41
- "@deepseek-ai/dsh-otel": "0.2.0-rc.2",
42
- "@deepseek-ai/cordis": "~4.0.4",
43
- "@deepseek-ai/dsh-session-telemetry": "0.2.0-rc.2"
34
+ "@deepseek-ai/dsh-command-feedback": "0.2.1-alpha.2",
35
+ "@deepseek-ai/dsh-message-feedback": "0.2.1-alpha.2",
36
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.2",
37
+ "@deepseek-ai/dsh-session": "0.2.1-alpha.2",
38
+ "@deepseek-ai/dsh-session-telemetry": "0.2.1-alpha.2",
39
+ "@deepseek-ai/dsh-anonymous-user-id": "0.2.1-alpha.2",
40
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
41
+ "@deepseek-ai/dsh-otel": "0.2.1-alpha.2"
44
42
  },
45
43
  "devDependencies": {
46
- "@deepseek-ai/cordis-plugin-logger-console": "~1.0.4",
47
- "@deepseek-ai/cordis-plugin-loader": "~1.0.5",
48
- "@deepseek-ai/dsh-app-boot": "0.2.0-rc.2",
49
- "@deepseek-ai/dsh-bash-local": "0.2.0-rc.2",
50
- "@deepseek-ai/dsh-command-feedback": "0.2.0-rc.2",
51
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
52
- "@deepseek-ai/dsh-message-feedback": "0.2.0-rc.2",
53
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
54
- "@deepseek-ai/dsh-loader-smoke": "0.2.0-rc.2",
55
- "@deepseek-ai/dsh-session-checkpoint-policy": "0.2.0-rc.2",
56
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.2.0-rc.2",
57
- "@deepseek-ai/dsh-session-telemetry": "0.2.0-rc.2",
58
- "@deepseek-ai/dsh-subprocess-local": "0.2.0-rc.2",
59
- "@deepseek-ai/dsh-anonymous-user-id": "0.2.0-rc.2",
60
- "@deepseek-ai/cordis": "~4.0.4",
61
- "@deepseek-ai/dsh-http-proxy": "0.2.0-rc.2",
62
- "@deepseek-ai/dsh-otel": "0.2.0-rc.2"
44
+ "@deepseek-ai/cordis-plugin-logger-console": "~1.0.5-alpha.1",
45
+ "@deepseek-ai/cordis-plugin-loader": "~1.0.6-alpha.1",
46
+ "@deepseek-ai/dsh-app-boot": "0.2.1-alpha.2",
47
+ "@deepseek-ai/dsh-bash-local": "0.2.1-alpha.2",
48
+ "@deepseek-ai/dsh-command-feedback": "0.2.1-alpha.2",
49
+ "@deepseek-ai/dsh-message-feedback": "0.2.1-alpha.2",
50
+ "@deepseek-ai/dsh-llm": "0.2.1-alpha.2",
51
+ "@deepseek-ai/dsh-loader-smoke": "0.2.1-alpha.2",
52
+ "@deepseek-ai/dsh-session": "0.2.1-alpha.2",
53
+ "@deepseek-ai/dsh-session-checkpoint-policy": "0.2.1-alpha.2",
54
+ "@deepseek-ai/dsh-session-persistence-jsonl": "0.2.1-alpha.2",
55
+ "@deepseek-ai/dsh-session-telemetry": "0.2.1-alpha.2",
56
+ "@deepseek-ai/dsh-subprocess-local": "0.2.1-alpha.2",
57
+ "@deepseek-ai/dsh-anonymous-user-id": "0.2.1-alpha.2",
58
+ "@deepseek-ai/cordis": "~4.0.5-alpha.1",
59
+ "@deepseek-ai/dsh-http-proxy": "0.2.1-alpha.2",
60
+ "@deepseek-ai/dsh-otel": "0.2.1-alpha.2"
63
61
  }
64
62
  }