@revenium/perplexity 2.0.3 → 2.0.5
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/CHANGELOG.md +47 -10
- package/README.md +144 -720
- package/SECURITY.md +34 -0
- package/dist/cjs/constants/models.js +38 -0
- package/dist/cjs/constants/models.js.map +1 -0
- package/dist/cjs/core/client/index.js +13 -0
- package/dist/cjs/core/client/index.js.map +1 -0
- package/dist/cjs/core/client/manager.js +85 -0
- package/dist/cjs/core/client/manager.js.map +1 -0
- package/dist/cjs/core/config/index.js +21 -0
- package/dist/cjs/core/config/index.js.map +1 -0
- package/dist/cjs/core/config/loader.js +48 -0
- package/dist/cjs/core/config/loader.js.map +1 -0
- package/dist/cjs/core/config/manager.js +77 -0
- package/dist/cjs/core/config/manager.js.map +1 -0
- package/dist/cjs/core/config/validator.js +45 -0
- package/dist/cjs/core/config/validator.js.map +1 -0
- package/dist/cjs/core/middleware/index.js +14 -0
- package/dist/cjs/core/middleware/index.js.map +1 -0
- package/dist/cjs/core/middleware/interfaces.js +94 -0
- package/dist/cjs/core/middleware/interfaces.js.map +1 -0
- package/dist/cjs/core/middleware/revenium-client.js +44 -0
- package/dist/cjs/core/middleware/revenium-client.js.map +1 -0
- package/dist/cjs/core/middleware/streaming-wrapper.js +80 -0
- package/dist/cjs/core/middleware/streaming-wrapper.js.map +1 -0
- package/dist/cjs/core/providers/detector.js +38 -0
- package/dist/cjs/core/providers/detector.js.map +1 -0
- package/dist/cjs/core/providers/index.js +14 -0
- package/dist/cjs/core/providers/index.js.map +1 -0
- package/dist/cjs/core/tracking/api-client.js +67 -0
- package/dist/cjs/core/tracking/api-client.js.map +1 -0
- package/dist/cjs/core/tracking/index.js +21 -0
- package/dist/cjs/core/tracking/index.js.map +1 -0
- package/dist/cjs/core/tracking/payload-builder.js +95 -0
- package/dist/cjs/core/tracking/payload-builder.js.map +1 -0
- package/dist/cjs/core/tracking/usage-tracker.js +83 -0
- package/dist/cjs/core/tracking/usage-tracker.js.map +1 -0
- package/dist/cjs/index.js +60 -54
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types/function-parameters.js +14 -0
- package/dist/cjs/types/function-parameters.js.map +1 -0
- package/dist/cjs/types/index.js +20 -16
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/constants.js +20 -0
- package/dist/cjs/utils/constants.js.map +1 -0
- package/dist/cjs/utils/error-handler.js +194 -0
- package/dist/cjs/utils/error-handler.js.map +1 -0
- package/dist/cjs/utils/metadata-builder.js +191 -0
- package/dist/cjs/utils/metadata-builder.js.map +1 -0
- package/dist/cjs/utils/stop-reason-mapper.js +74 -0
- package/dist/cjs/utils/stop-reason-mapper.js.map +1 -0
- package/dist/cjs/utils/transaction-id.js +19 -0
- package/dist/cjs/utils/transaction-id.js.map +1 -0
- package/dist/cjs/utils/url-builder.js +57 -0
- package/dist/cjs/utils/url-builder.js.map +1 -0
- package/dist/esm/constants/models.js +35 -0
- package/dist/esm/constants/models.js.map +1 -0
- package/dist/esm/core/client/index.js +5 -0
- package/dist/esm/core/client/index.js.map +1 -0
- package/dist/esm/core/client/manager.js +78 -0
- package/dist/esm/core/client/manager.js.map +1 -0
- package/dist/esm/core/config/index.js +11 -0
- package/dist/esm/core/config/index.js.map +1 -0
- package/dist/esm/core/config/loader.js +45 -0
- package/dist/esm/core/config/loader.js.map +1 -0
- package/dist/esm/core/config/manager.js +70 -0
- package/dist/esm/core/config/manager.js.map +1 -0
- package/dist/esm/core/config/validator.js +42 -0
- package/dist/esm/core/config/validator.js.map +1 -0
- package/dist/esm/core/middleware/index.js +7 -0
- package/dist/esm/core/middleware/index.js.map +1 -0
- package/dist/esm/core/middleware/interfaces.js +89 -0
- package/dist/esm/core/middleware/interfaces.js.map +1 -0
- package/dist/esm/core/middleware/revenium-client.js +37 -0
- package/dist/esm/core/middleware/revenium-client.js.map +1 -0
- package/dist/esm/core/middleware/streaming-wrapper.js +76 -0
- package/dist/esm/core/middleware/streaming-wrapper.js.map +1 -0
- package/dist/esm/core/providers/detector.js +34 -0
- package/dist/esm/core/providers/detector.js.map +1 -0
- package/dist/esm/core/providers/index.js +9 -0
- package/dist/esm/core/providers/index.js.map +1 -0
- package/dist/esm/core/tracking/api-client.js +64 -0
- package/dist/esm/core/tracking/api-client.js.map +1 -0
- package/dist/esm/core/tracking/index.js +13 -0
- package/dist/esm/core/tracking/index.js.map +1 -0
- package/dist/esm/core/tracking/payload-builder.js +92 -0
- package/dist/esm/core/tracking/payload-builder.js.map +1 -0
- package/dist/esm/core/tracking/usage-tracker.js +79 -0
- package/dist/esm/core/tracking/usage-tracker.js.map +1 -0
- package/dist/esm/index.js +46 -36
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/function-parameters.js +13 -0
- package/dist/esm/types/function-parameters.js.map +1 -0
- package/dist/esm/types/index.js +6 -15
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/constants.js +17 -0
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/error-handler.js +182 -0
- package/dist/esm/utils/error-handler.js.map +1 -0
- package/dist/esm/utils/metadata-builder.js +183 -0
- package/dist/esm/utils/metadata-builder.js.map +1 -0
- package/dist/esm/utils/stop-reason-mapper.js +69 -0
- package/dist/esm/utils/stop-reason-mapper.js.map +1 -0
- package/dist/esm/utils/transaction-id.js +16 -0
- package/dist/esm/utils/transaction-id.js.map +1 -0
- package/dist/esm/utils/url-builder.js +53 -0
- package/dist/esm/utils/url-builder.js.map +1 -0
- package/dist/types/constants/models.d.ts +39 -0
- package/dist/types/constants/models.d.ts.map +1 -0
- package/dist/types/core/client/index.d.ts +5 -0
- package/dist/types/core/client/index.d.ts.map +1 -0
- package/dist/types/core/client/manager.d.ts +44 -0
- package/dist/types/core/client/manager.d.ts.map +1 -0
- package/dist/types/core/config/index.d.ts +10 -0
- package/dist/types/core/config/index.d.ts.map +1 -0
- package/dist/types/core/config/loader.d.ts +13 -0
- package/dist/types/core/config/loader.d.ts.map +1 -0
- package/dist/types/core/config/manager.d.ts +28 -0
- package/dist/types/core/config/manager.d.ts.map +1 -0
- package/dist/types/core/config/validator.d.ts +12 -0
- package/dist/types/core/config/validator.d.ts.map +1 -0
- package/dist/types/core/middleware/index.d.ts +7 -0
- package/dist/types/core/middleware/index.d.ts.map +1 -0
- package/dist/types/core/middleware/interfaces.d.ts +35 -0
- package/dist/types/core/middleware/interfaces.d.ts.map +1 -0
- package/dist/types/core/middleware/revenium-client.d.ts +25 -0
- package/dist/types/core/middleware/revenium-client.d.ts.map +1 -0
- package/dist/types/core/middleware/streaming-wrapper.d.ts +21 -0
- package/dist/types/core/middleware/streaming-wrapper.d.ts.map +1 -0
- package/dist/types/core/providers/detector.d.ts +24 -0
- package/dist/types/core/providers/detector.d.ts.map +1 -0
- package/dist/types/core/providers/index.d.ts +8 -0
- package/dist/types/core/providers/index.d.ts.map +1 -0
- package/dist/types/core/tracking/api-client.d.ts +17 -0
- package/dist/types/core/tracking/api-client.d.ts.map +1 -0
- package/dist/types/core/tracking/index.d.ts +11 -0
- package/dist/types/core/tracking/index.d.ts.map +1 -0
- package/dist/types/core/tracking/payload-builder.d.ts +24 -0
- package/dist/types/core/tracking/payload-builder.d.ts.map +1 -0
- package/dist/types/core/tracking/usage-tracker.d.ts +30 -0
- package/dist/types/core/tracking/usage-tracker.d.ts.map +1 -0
- package/dist/types/index.d.ts +56 -27
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/function-parameters.d.ts +185 -0
- package/dist/types/types/function-parameters.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +108 -137
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/constants.d.ts +9 -0
- package/dist/types/utils/constants.d.ts.map +1 -0
- package/dist/types/utils/error-handler.d.ts +95 -0
- package/dist/types/utils/error-handler.d.ts.map +1 -0
- package/dist/types/utils/metadata-builder.d.ts +65 -0
- package/dist/types/utils/metadata-builder.d.ts.map +1 -0
- package/dist/types/utils/stop-reason-mapper.d.ts +29 -0
- package/dist/types/utils/stop-reason-mapper.d.ts.map +1 -0
- package/dist/types/utils/transaction-id.d.ts +14 -0
- package/dist/types/utils/transaction-id.d.ts.map +1 -0
- package/dist/types/utils/url-builder.d.ts +22 -0
- package/dist/types/utils/url-builder.d.ts.map +1 -0
- package/examples/README.md +136 -233
- package/examples/advanced.ts +123 -0
- package/examples/basic.ts +36 -46
- package/examples/getting_started.ts +41 -0
- package/examples/metadata.ts +55 -59
- package/examples/stream.ts +53 -0
- package/package.json +12 -17
- package/dist/cjs/core/config/perplexity-config.js +0 -45
- package/dist/cjs/core/config/revenium-config.js +0 -80
- package/dist/cjs/core/tracking/metering.js +0 -131
- package/dist/cjs/core/wrapper/perplexity-client.js +0 -177
- package/dist/cjs/utils/logger.js +0 -23
- package/dist/esm/core/config/perplexity-config.js +0 -40
- package/dist/esm/core/config/revenium-config.js +0 -72
- package/dist/esm/core/tracking/metering.js +0 -126
- package/dist/esm/core/wrapper/perplexity-client.js +0 -170
- package/dist/esm/utils/logger.js +0 -20
- package/dist/types/core/config/perplexity-config.d.ts +0 -24
- package/dist/types/core/config/revenium-config.d.ts +0 -37
- package/dist/types/core/tracking/metering.d.ts +0 -31
- package/dist/types/core/wrapper/perplexity-client.d.ts +0 -32
- package/dist/types/utils/logger.d.ts +0 -10
- package/examples/chat.ts +0 -87
- package/examples/streaming.ts +0 -61
package/CHANGELOG.md
CHANGED
|
@@ -5,54 +5,91 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [2.0.5] - 2025-11-09
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- New `Initialize()` and `GetClient()` pattern for cleaner client initialization
|
|
14
|
+
- `Configure()` function for explicit configuration without environment variables
|
|
15
|
+
- `IsInitialized()` and `Reset()` utility functions for better state management
|
|
16
|
+
- Automatic `.env` file loading via dotenv for simplified configuration
|
|
17
|
+
- Modular architecture with organized `core/` directory structure
|
|
18
|
+
- Enhanced examples: `basic.ts`, `metadata.ts`, `advanced.ts`, `stream.ts`
|
|
19
|
+
- Export `PERPLEXITY_MODELS` constants (SONAR_PRO, SONAR, SONAR_REASONING)
|
|
20
|
+
- Export `PerplexityModel` type for type-safe model references
|
|
21
|
+
- Support for all 7 AI operation types (CHAT, GENERATE, EMBED, CLASSIFY, SUMMARIZE, TRANSLATE, OTHER)
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
- Improved API compliance with Revenium specification for provider naming and metadata
|
|
25
|
+
- Enhanced token counting accuracy with proper handling of cache tokens
|
|
26
|
+
- Email addresses now masked in debug logs for PII protection
|
|
27
|
+
- Quality scores use 0.0-1.0 scale per API specification
|
|
28
|
+
- Removed hardcoded model lists - middleware accepts any model name
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- ESM support by removing CommonJS type restriction and adding explicit `.js` extensions
|
|
32
|
+
- API key validation now enforced in `Configure()` function
|
|
33
|
+
- Base URL validation relaxed to accept default endpoints
|
|
34
|
+
- npm script references corrected in documentation
|
|
35
|
+
- Environment variable examples updated for clarity
|
|
36
|
+
|
|
37
|
+
## [2.0.4] - 2025-10-21
|
|
9
38
|
|
|
10
39
|
### Changed
|
|
40
|
+
|
|
11
41
|
- Enhanced package.json with examples in files array
|
|
12
42
|
- Added community health files (CODE_OF_CONDUCT.md, CONTRIBUTING.md, SECURITY.md)
|
|
13
|
-
- Updated .gitignore with security report patterns
|
|
14
|
-
- Added CHANGELOG.md for version tracking
|
|
43
|
+
- Updated .gitignore with security report patterns
|
|
15
44
|
- Added engines field for Node.js version requirements
|
|
16
45
|
|
|
17
|
-
## [2.0.
|
|
46
|
+
## [2.0.3] - 2025-10-17
|
|
18
47
|
|
|
19
48
|
### Changed
|
|
49
|
+
|
|
20
50
|
- Documentation improvements with absolute path references
|
|
21
51
|
|
|
22
|
-
## [2.0.
|
|
52
|
+
## [2.0.2] - 2025-10-09
|
|
23
53
|
|
|
24
54
|
### Changed
|
|
55
|
+
|
|
25
56
|
- Internal updates and improvements
|
|
26
57
|
|
|
58
|
+
## [2.0.1] - 2025-10-09
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
|
|
62
|
+
- Bug fixes and stability improvements
|
|
63
|
+
|
|
27
64
|
## [2.0.0] - 2025-10-09
|
|
28
65
|
|
|
29
66
|
### Added
|
|
67
|
+
|
|
30
68
|
- Complete code restructuring with core/ directory organization
|
|
31
69
|
- Dual package exports (ESM + CommonJS) support
|
|
32
70
|
- TypeScript declaration maps for better debugging
|
|
33
71
|
- Enhanced build system with separate CJS, ESM, and types builds
|
|
34
|
-
- New examples structure (basic.ts, chat.ts, streaming.ts, metadata.ts)
|
|
35
|
-
- Playground examples for JavaScript users
|
|
36
72
|
|
|
37
73
|
### Changed
|
|
74
|
+
|
|
38
75
|
- Restructured src/ directory with core/config, core/tracking, core/wrapper
|
|
39
|
-
- Updated examples to use new structure
|
|
40
76
|
- Enhanced README with comprehensive documentation
|
|
41
77
|
|
|
42
78
|
## [1.0.0] - 2025-09-23
|
|
43
79
|
|
|
44
80
|
### Added
|
|
81
|
+
|
|
45
82
|
- Initial release of Perplexity AI middleware
|
|
46
83
|
- Automatic token counting and usage tracking
|
|
47
|
-
- Support for all Perplexity models
|
|
48
84
|
- Streaming support with automatic tracking
|
|
49
85
|
- Custom metadata integration
|
|
50
86
|
- TypeScript support with full type safety
|
|
51
|
-
- Multiple client options
|
|
52
87
|
- Comprehensive error handling
|
|
53
88
|
- Background processing for non-blocking tracking
|
|
54
89
|
- Debug logging support
|
|
55
90
|
|
|
91
|
+
[2.0.5]: https://github.com/revenium/revenium-middleware-perplexity-node/releases/tag/v2.0.5
|
|
92
|
+
[2.0.4]: https://github.com/revenium/revenium-middleware-perplexity-node/releases/tag/v2.0.4
|
|
56
93
|
[2.0.3]: https://github.com/revenium/revenium-middleware-perplexity-node/releases/tag/v2.0.3
|
|
57
94
|
[2.0.2]: https://github.com/revenium/revenium-middleware-perplexity-node/releases/tag/v2.0.2
|
|
58
95
|
[2.0.1]: https://github.com/revenium/revenium-middleware-perplexity-node/releases/tag/v2.0.1
|