Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ All notable changes to the Agent365 TypeScript SDK will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.1.0] - 2025-12-08
## [1.1.0] - 2025-12-09

### Changed
- Enable Observability by default unless explicitly disabling it through environment variable ENABLE_A365_OBSERVABILITY or ENABLE_OBSERVABILITY.
- Merged `EnhancedAgentDetails` into `AgentDetails` to unify agent detail typing across scopes and middleware.

### Deprecated
Expand Down
8 changes: 4 additions & 4 deletions packages/agents-a365-observability/src/tracing/util.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ export const isAgent365TelemetryEnabled: () => boolean = (): boolean => {
const enableA365 = process.env[OpenTelemetryConstants.ENABLE_A365_OBSERVABILITY]?.toLowerCase();

return (
enableObservability === 'true' ||
enableObservability === '1' ||
enableA365 === 'true' ||
enableA365 === '1'
!(enableObservability === 'false' ||
enableObservability === '0' ||
enableA365 === 'false' ||
enableA365 === '0')
);
Comment thread
fpfp100 marked this conversation as resolved.
Outdated
};

Expand Down
58 changes: 58 additions & 0 deletions tests/observability/core/util.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

import { isAgent365TelemetryEnabled } from '../../../packages/agents-a365-observability/src/tracing/util';

describe('isAgent365TelemetryEnabled', () => {
const ENV = process.env;
beforeEach(() => {
jest.resetModules();
process.env = { ...ENV };
delete process.env.ENABLE_OBSERVABILITY;
delete process.env.ENABLE_A365_OBSERVABILITY;
});
afterEach(() => {
process.env = ENV;
});

it('returns true when both env vars are undefined (default)', () => {
expect(isAgent365TelemetryEnabled()).toBe(true);
});

it('returns false when ENABLE_OBSERVABILITY is "false"', () => {
process.env.ENABLE_OBSERVABILITY = 'false';
expect(isAgent365TelemetryEnabled()).toBe(false);
});

it('returns false when ENABLE_OBSERVABILITY is "0"', () => {
process.env.ENABLE_OBSERVABILITY = '0';
expect(isAgent365TelemetryEnabled()).toBe(false);
});

it('returns false when ENABLE_A365_OBSERVABILITY is "false"', () => {
process.env.ENABLE_A365_OBSERVABILITY = 'false';
expect(isAgent365TelemetryEnabled()).toBe(false);
});

it('returns false when ENABLE_A365_OBSERVABILITY is "0"', () => {
process.env.ENABLE_A365_OBSERVABILITY = '0';
expect(isAgent365TelemetryEnabled()).toBe(false);
});

it('returns true when ENABLE_OBSERVABILITY is "true"', () => {
process.env.ENABLE_OBSERVABILITY = 'true';
expect(isAgent365TelemetryEnabled()).toBe(true);
});

it('returns true when ENABLE_A365_OBSERVABILITY is "1"', () => {
process.env.ENABLE_A365_OBSERVABILITY = '1';
expect(isAgent365TelemetryEnabled()).toBe(true);
});

it('returns true for other values ("yes", "enabled")', () => {
process.env.ENABLE_OBSERVABILITY = 'yes';
expect(isAgent365TelemetryEnabled()).toBe(true);
process.env.ENABLE_A365_OBSERVABILITY = 'enabled';
expect(isAgent365TelemetryEnabled()).toBe(true);
});
});