@revenium/perplexity 2.1.0 → 2.1.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/.env.example +1 -1
- package/CHANGELOG.md +38 -15
- package/README.md +88 -37
- package/dist/cjs/core/middleware/interfaces.js.map +1 -1
- package/dist/cjs/core/tracking/payload-builder.js +20 -0
- package/dist/cjs/core/tracking/payload-builder.js.map +1 -1
- package/dist/cjs/core/tracking/tool-api-client.js +62 -0
- package/dist/cjs/core/tracking/tool-api-client.js.map +1 -0
- package/dist/cjs/core/tracking/tool-context.js +23 -0
- package/dist/cjs/core/tracking/tool-context.js.map +1 -0
- package/dist/cjs/core/tracking/tool-tracker.js +122 -0
- package/dist/cjs/core/tracking/tool-tracker.js.map +1 -0
- package/dist/cjs/index.js +12 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js +1 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/tool-metering.js +3 -0
- package/dist/cjs/types/tool-metering.js.map +1 -0
- package/dist/cjs/utils/metadata-builder.js +36 -19
- package/dist/cjs/utils/metadata-builder.js.map +1 -1
- package/dist/esm/core/middleware/interfaces.js.map +1 -1
- package/dist/esm/core/tracking/payload-builder.js +20 -0
- package/dist/esm/core/tracking/payload-builder.js.map +1 -1
- package/dist/esm/core/tracking/tool-api-client.js +59 -0
- package/dist/esm/core/tracking/tool-api-client.js.map +1 -0
- package/dist/esm/core/tracking/tool-context.js +17 -0
- package/dist/esm/core/tracking/tool-context.js.map +1 -0
- package/dist/esm/core/tracking/tool-tracker.js +118 -0
- package/dist/esm/core/tracking/tool-tracker.js.map +1 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/tool-metering.js +2 -0
- package/dist/esm/types/tool-metering.js.map +1 -0
- package/dist/esm/utils/metadata-builder.js +36 -19
- package/dist/esm/utils/metadata-builder.js.map +1 -1
- package/dist/types/core/middleware/interfaces.d.ts.map +1 -1
- package/dist/types/core/tracking/payload-builder.d.ts.map +1 -1
- package/dist/types/core/tracking/tool-api-client.d.ts +3 -0
- package/dist/types/core/tracking/tool-api-client.d.ts.map +1 -0
- package/dist/types/core/tracking/tool-context.d.ts +6 -0
- package/dist/types/core/tracking/tool-context.d.ts.map +1 -0
- package/dist/types/core/tracking/tool-tracker.d.ts +4 -0
- package/dist/types/core/tracking/tool-tracker.d.ts.map +1 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/function-parameters.d.ts +1 -1
- package/dist/types/types/function-parameters.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +15 -4
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/tool-metering.d.ts +47 -0
- package/dist/types/types/tool-metering.d.ts.map +1 -0
- package/dist/types/utils/metadata-builder.d.ts +3 -2
- package/dist/types/utils/metadata-builder.d.ts.map +1 -1
- package/examples/advanced.ts +5 -5
- package/examples/basic.ts +3 -3
- package/examples/getting_started.ts +3 -3
- package/examples/metadata.ts +3 -3
- package/examples/prompt-capture.ts +8 -8
- package/examples/stream.ts +3 -3
- package/package.json +11 -4
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ToolContext } from "../../types/tool-metering.js";
|
|
2
|
+
export declare function setToolContext(ctx: ToolContext): void;
|
|
3
|
+
export declare function getToolContext(): ToolContext;
|
|
4
|
+
export declare function clearToolContext(): void;
|
|
5
|
+
export declare function runWithToolContext<T>(ctx: ToolContext, fn: () => T | Promise<T>): T | Promise<T>;
|
|
6
|
+
//# sourceMappingURL=tool-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-context.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/tool-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAI3D,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAGrD;AAED,wBAAgB,cAAc,IAAI,WAAW,CAE5C;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,GAAG,EAAE,WAAW,EAChB,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAGhB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ToolMetadata, ToolCallReport } from "../../types/tool-metering.js";
|
|
2
|
+
export declare function meterTool<T>(toolId: string, fn: () => T | Promise<T>, metadata?: ToolMetadata): Promise<T>;
|
|
3
|
+
export declare function reportToolCall(toolId: string, report: ToolCallReport): void;
|
|
4
|
+
//# sourceMappingURL=tool-tracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-tracker.d.ts","sourceRoot":"","sources":["../../../../src/core/tracking/tool-tracker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,8BAA8B,CAAC;AAwE9F,wBAAgB,SAAS,CAAC,CAAC,EACzB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,CAAC,CAAC,CA0CZ;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,CAuB3E"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -25,4 +25,13 @@ export { trackUsageAsync } from "./core/tracking/index.js";
|
|
|
25
25
|
* Provider detection functions
|
|
26
26
|
*/
|
|
27
27
|
export { detectProvider, getProviderMetadata } from "./core/providers/index.js";
|
|
28
|
+
/**
|
|
29
|
+
* Tool metering types
|
|
30
|
+
*/
|
|
31
|
+
export type { ToolContext, ToolMetadata, ToolEventPayload, ToolCallReport, } from "./types/tool-metering.js";
|
|
32
|
+
/**
|
|
33
|
+
* Tool metering functions
|
|
34
|
+
*/
|
|
35
|
+
export { meterTool, reportToolCall, } from "./core/tracking/tool-tracker.js";
|
|
36
|
+
export { setToolContext, getToolContext, clearToolContext, runWithToolContext, } from "./core/tracking/tool-context.js";
|
|
28
37
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,EACV,cAAc,EACd,aAAa,EACb,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,GACb,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,EACL,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,EACV,cAAc,EACd,aAAa,EACb,MAAM,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B;;GAEG;AACH,YAAY,EACV,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,GACb,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,OAAO,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,KAAK,EACL,SAAS,GACV,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAEhF;;GAEG;AACH,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,OAAO,EACL,SAAS,EACT,cAAc,GACf,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC"}
|
|
@@ -87,7 +87,7 @@ export interface PerplexityChatRequest {
|
|
|
87
87
|
presence_penalty?: number;
|
|
88
88
|
/** Frequency penalty */
|
|
89
89
|
frequency_penalty?: number;
|
|
90
|
-
/** Response format
|
|
90
|
+
/** Response format for structured outputs */
|
|
91
91
|
response_format?: {
|
|
92
92
|
type: string;
|
|
93
93
|
json_schema?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-parameters.d.ts","sourceRoot":"","sources":["../../../src/types/function-parameters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,EAAE;QACL,qCAAqC;QACrC,aAAa,EAAE,MAAM,CAAC;QACtB,yCAAyC;QACzC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,8CAA8C;QAC9C,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kCAAkC;IAClC,OAAO,EAAE,KAAK,CAAC;QACb,yCAAyC;QACzC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,qDAAqD;QACrD,OAAO,CAAC,EAAE;YACR,sBAAsB;YACtB,OAAO,EAAE,MAAM,CAAC;YAChB,6CAA6C;YAC7C,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,8CAA8C;QAC9C,KAAK,CAAC,EAAE;YACN,0BAA0B;YAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,mBAAmB;YACnB,IAAI,CAAC,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC,CAAC;IACH,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,QAAQ,EAAE,KAAK,CAAC;QACd,mBAAmB;QACnB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;QACtC,sBAAsB;QACtB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,
|
|
1
|
+
{"version":3,"file":"function-parameters.d.ts","sourceRoot":"","sources":["../../../src/types/function-parameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,9 +31,19 @@ export interface Subscriber {
|
|
|
31
31
|
export interface UsageMetadata {
|
|
32
32
|
/** User identification information */
|
|
33
33
|
subscriber?: Subscriber;
|
|
34
|
-
/**
|
|
34
|
+
/** Customer organization name for multi-tenant applications (used for lookup/auto-creation) */
|
|
35
|
+
organizationName?: string;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Use organizationName instead. This field will be removed in a future version.
|
|
38
|
+
* Organization or company identifier
|
|
39
|
+
*/
|
|
35
40
|
organizationId?: string;
|
|
36
|
-
/** Product or
|
|
41
|
+
/** Product or feature name that is using AI services (used for lookup/auto-creation) */
|
|
42
|
+
productName?: string;
|
|
43
|
+
/**
|
|
44
|
+
* @deprecated Use productName instead. This field will be removed in a future version.
|
|
45
|
+
* Product or application identifier
|
|
46
|
+
*/
|
|
37
47
|
productId?: string;
|
|
38
48
|
/** Subscription identifier */
|
|
39
49
|
subscriptionId?: string;
|
|
@@ -114,9 +124,9 @@ export interface ReveniumPayload {
|
|
|
114
124
|
reasoningTokenCount?: number;
|
|
115
125
|
cacheCreationTokenCount?: number;
|
|
116
126
|
cacheReadTokenCount?: number;
|
|
117
|
-
|
|
127
|
+
organizationName?: string;
|
|
128
|
+
productName?: string;
|
|
118
129
|
subscriptionId?: string;
|
|
119
|
-
productId?: string;
|
|
120
130
|
subscriber?: Subscriber;
|
|
121
131
|
transactionId: string;
|
|
122
132
|
traceId?: string;
|
|
@@ -151,4 +161,5 @@ export interface ReveniumPayload {
|
|
|
151
161
|
*/
|
|
152
162
|
export interface MeteringData extends ReveniumPayload {
|
|
153
163
|
}
|
|
164
|
+
export * from "./tool-metering.js";
|
|
154
165
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,0BAA0B,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gDAAgD;IAChD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sCAAsC;IACtC,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface ToolContext {
|
|
2
|
+
agent?: string;
|
|
3
|
+
organizationName?: string;
|
|
4
|
+
productName?: string;
|
|
5
|
+
subscriberCredential?: string;
|
|
6
|
+
workflowId?: string;
|
|
7
|
+
traceId?: string;
|
|
8
|
+
transactionId?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ToolMetadata extends ToolContext {
|
|
11
|
+
operation?: string;
|
|
12
|
+
outputFields?: string[];
|
|
13
|
+
usageMetadata?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export interface ToolEventPayload {
|
|
16
|
+
transactionId: string;
|
|
17
|
+
toolId: string;
|
|
18
|
+
operation?: string;
|
|
19
|
+
durationMs: number;
|
|
20
|
+
success: boolean;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
errorMessage?: string;
|
|
23
|
+
usageMetadata?: Record<string, unknown>;
|
|
24
|
+
agent?: string;
|
|
25
|
+
organizationName?: string;
|
|
26
|
+
productName?: string;
|
|
27
|
+
subscriberCredential?: string;
|
|
28
|
+
workflowId?: string;
|
|
29
|
+
traceId?: string;
|
|
30
|
+
middlewareSource: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ToolCallReport {
|
|
33
|
+
operation?: string;
|
|
34
|
+
durationMs: number;
|
|
35
|
+
success: boolean;
|
|
36
|
+
errorMessage?: string;
|
|
37
|
+
usageMetadata?: Record<string, unknown>;
|
|
38
|
+
agent?: string;
|
|
39
|
+
organizationName?: string;
|
|
40
|
+
productName?: string;
|
|
41
|
+
subscriberCredential?: string;
|
|
42
|
+
workflowId?: string;
|
|
43
|
+
traceId?: string;
|
|
44
|
+
transactionId?: string;
|
|
45
|
+
timestamp?: string;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=tool-metering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-metering.d.ts","sourceRoot":"","sources":["../../../src/types/tool-metering.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
* Centralized metadata handling to eliminate repetitive spreading
|
|
5
5
|
* and provide consistent metadata processing across the codebase.
|
|
6
6
|
*/
|
|
7
|
-
import { UsageMetadata } from
|
|
7
|
+
import { UsageMetadata } from "../types/index.js";
|
|
8
8
|
/**
|
|
9
9
|
* Build metadata object for payload inclusion
|
|
10
10
|
*
|
|
11
11
|
* This function eliminates the repetitive spreading pattern and provides
|
|
12
12
|
* a clean, testable way to handle metadata transformation.
|
|
13
13
|
* Subscriber object is passed through directly without transformation.
|
|
14
|
+
* Implements fallback logic for backward compatibility: new fields take precedence over deprecated fields.
|
|
14
15
|
*
|
|
15
16
|
* @param usageMetadata - Source metadata from request
|
|
16
17
|
* @returns Clean metadata object for payload
|
|
@@ -45,7 +46,7 @@ export declare function extractMetadata<T extends Record<string, unknown>>(param
|
|
|
45
46
|
usageMetadata?: UsageMetadata;
|
|
46
47
|
}): {
|
|
47
48
|
metadata: UsageMetadata | undefined;
|
|
48
|
-
cleanParams: Omit<T,
|
|
49
|
+
cleanParams: Omit<T, "usageMetadata">;
|
|
49
50
|
};
|
|
50
51
|
/**
|
|
51
52
|
* Create a metadata context for consistent logging
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"metadata-builder.d.ts","sourceRoot":"","sources":["../../../src/utils/metadata-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAc,MAAM,mBAAmB,CAAC;AA2C9D;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,aAAa,CAAC,EAAE,aAAa,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqCzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,CAAC,EAAE,aAAa,EAC7B,cAAc,GAAE,CAAC,MAAM,aAAa,CAAC,EAAO,GAC3C;IACD,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CA4CA;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,OAAO,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,GACxC,aAAa,CAQf;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/D,MAAM,EAAE,CAAC,GAAG;IAAE,aAAa,CAAC,EAAE,aAAa,CAAA;CAAE,GAC5C;IACD,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,WAAW,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;CACvC,CAMA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,aAAa,CAAC,EAAE,aAAa,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAqBzB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,CAAC,EAAE,aAAa,GAC5B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiCzB"}
|
package/examples/advanced.ts
CHANGED
|
@@ -15,8 +15,8 @@ async function main() {
|
|
|
15
15
|
|
|
16
16
|
// Metadata for tracking
|
|
17
17
|
const metadata: UsageMetadata = {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
organizationName: "org-advanced-demo",
|
|
19
|
+
productName: "prod-perplexity-advanced",
|
|
20
20
|
taskType: "multi-turn-conversation",
|
|
21
21
|
subscriber: {
|
|
22
22
|
id: "user-advanced-001",
|
|
@@ -57,7 +57,7 @@ async function main() {
|
|
|
57
57
|
max_tokens: 500,
|
|
58
58
|
temperature: 0.7,
|
|
59
59
|
},
|
|
60
|
-
metadata
|
|
60
|
+
metadata,
|
|
61
61
|
);
|
|
62
62
|
|
|
63
63
|
console.log(`Assistant: ${response1.choices[0].message.content}\n`);
|
|
@@ -85,7 +85,7 @@ async function main() {
|
|
|
85
85
|
{
|
|
86
86
|
...metadata,
|
|
87
87
|
taskType: "creative-generation",
|
|
88
|
-
}
|
|
88
|
+
},
|
|
89
89
|
);
|
|
90
90
|
|
|
91
91
|
console.log(`Assistant: ${response2.choices[0].message.content}\n`);
|
|
@@ -111,7 +111,7 @@ async function main() {
|
|
|
111
111
|
{
|
|
112
112
|
...metadata,
|
|
113
113
|
taskType: "reasoning",
|
|
114
|
-
}
|
|
114
|
+
},
|
|
115
115
|
);
|
|
116
116
|
|
|
117
117
|
console.log(`Assistant: ${response3.choices[0].message.content}\n`);
|
package/examples/basic.ts
CHANGED
|
@@ -12,8 +12,8 @@ async function main() {
|
|
|
12
12
|
// Get client
|
|
13
13
|
const client = GetClient();
|
|
14
14
|
const metadata: UsageMetadata = {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
organizationName: "org-basic-demo",
|
|
16
|
+
productName: "prod-perplexity-basic",
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
// Create chat completion
|
|
@@ -32,7 +32,7 @@ async function main() {
|
|
|
32
32
|
],
|
|
33
33
|
max_tokens: 1000,
|
|
34
34
|
},
|
|
35
|
-
metadata
|
|
35
|
+
metadata,
|
|
36
36
|
);
|
|
37
37
|
|
|
38
38
|
// Display response
|
|
@@ -12,8 +12,8 @@ async function main() {
|
|
|
12
12
|
// Get client
|
|
13
13
|
const client = GetClient();
|
|
14
14
|
const metadata: UsageMetadata = {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
organizationName: "org-getting-started",
|
|
16
|
+
productName: "prod-perplexity-getting-started",
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
// Create a simple chat completion
|
|
@@ -31,7 +31,7 @@ async function main() {
|
|
|
31
31
|
],
|
|
32
32
|
max_tokens: 500,
|
|
33
33
|
},
|
|
34
|
-
metadata
|
|
34
|
+
metadata,
|
|
35
35
|
);
|
|
36
36
|
|
|
37
37
|
console.log("Assistant:", response.choices[0]?.message?.content);
|
package/examples/metadata.ts
CHANGED
|
@@ -15,11 +15,11 @@ async function main() {
|
|
|
15
15
|
// Optional metadata for advanced reporting, lineage tracking, and cost allocation
|
|
16
16
|
const metadata: UsageMetadata = {
|
|
17
17
|
// Organization & billing
|
|
18
|
-
|
|
18
|
+
organizationName: "org-metadata-demo",
|
|
19
19
|
subscriptionId: "plan-premium-2025",
|
|
20
20
|
|
|
21
21
|
// Product & task tracking
|
|
22
|
-
|
|
22
|
+
productName: "ai-assistant",
|
|
23
23
|
taskType: "explanation-request",
|
|
24
24
|
agent: "perplexity-metadata-chat-node",
|
|
25
25
|
|
|
@@ -55,7 +55,7 @@ async function main() {
|
|
|
55
55
|
],
|
|
56
56
|
max_tokens: 1000,
|
|
57
57
|
},
|
|
58
|
-
metadata
|
|
58
|
+
metadata,
|
|
59
59
|
);
|
|
60
60
|
|
|
61
61
|
// Display response
|
|
@@ -17,8 +17,8 @@ async function main() {
|
|
|
17
17
|
|
|
18
18
|
try {
|
|
19
19
|
const metadata: UsageMetadata = {
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
organizationName: "org-prompt-capture-demo",
|
|
21
|
+
productName: "prod-perplexity-prompt-capture",
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
const response = await client
|
|
@@ -40,7 +40,7 @@ async function main() {
|
|
|
40
40
|
],
|
|
41
41
|
max_tokens: 100,
|
|
42
42
|
},
|
|
43
|
-
metadata
|
|
43
|
+
metadata,
|
|
44
44
|
);
|
|
45
45
|
|
|
46
46
|
console.log("Response:", response.choices[0]?.message?.content);
|
|
@@ -48,7 +48,7 @@ async function main() {
|
|
|
48
48
|
} catch (error) {
|
|
49
49
|
console.error(
|
|
50
50
|
"Error:",
|
|
51
|
-
error instanceof Error ? error.message : String(error)
|
|
51
|
+
error instanceof Error ? error.message : String(error),
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -58,8 +58,8 @@ async function main() {
|
|
|
58
58
|
|
|
59
59
|
try {
|
|
60
60
|
const metadata2: UsageMetadata = {
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
organizationName: "org-prompt-capture-demo",
|
|
62
|
+
productName: "prod-perplexity-prompt-capture",
|
|
63
63
|
capturePrompts: false,
|
|
64
64
|
};
|
|
65
65
|
|
|
@@ -81,7 +81,7 @@ async function main() {
|
|
|
81
81
|
],
|
|
82
82
|
max_tokens: 100,
|
|
83
83
|
},
|
|
84
|
-
metadata2
|
|
84
|
+
metadata2,
|
|
85
85
|
);
|
|
86
86
|
|
|
87
87
|
console.log("Response:", response2.choices[0]?.message?.content);
|
|
@@ -89,7 +89,7 @@ async function main() {
|
|
|
89
89
|
} catch (error) {
|
|
90
90
|
console.error(
|
|
91
91
|
"Error:",
|
|
92
|
-
error instanceof Error ? error.message : String(error)
|
|
92
|
+
error instanceof Error ? error.message : String(error),
|
|
93
93
|
);
|
|
94
94
|
}
|
|
95
95
|
|
package/examples/stream.ts
CHANGED
|
@@ -32,13 +32,13 @@ async function main() {
|
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
// Optional metadata
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
organizationName: "my-customers-name",
|
|
36
|
+
productName: "my-product",
|
|
37
37
|
subscriber: {
|
|
38
38
|
id: "user-123",
|
|
39
39
|
email: "user@example.com",
|
|
40
40
|
},
|
|
41
|
-
}
|
|
41
|
+
},
|
|
42
42
|
);
|
|
43
43
|
|
|
44
44
|
// Process stream
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revenium/perplexity",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.2",
|
|
4
4
|
"description": "NodeJS middleware for Perplexity AI API with Revenium metering",
|
|
5
5
|
"homepage": "https://github.com/revenium/revenium-middleware-perplexity-node#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -46,8 +46,12 @@
|
|
|
46
46
|
"example:metadata": "npx tsx examples/metadata.ts",
|
|
47
47
|
"example:advanced": "npx tsx examples/advanced.ts",
|
|
48
48
|
"example:stream": "npx tsx examples/stream.ts",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
49
|
+
"test": "jest",
|
|
50
|
+
"test:unit": "jest --testPathPatterns=tests/unit",
|
|
51
|
+
"test:integration": "jest --testPathPatterns=tests/integration --passWithNoTests",
|
|
52
|
+
"test:performance": "jest --testPathPatterns=tests/performance --passWithNoTests",
|
|
53
|
+
"test:watch": "jest --watch",
|
|
54
|
+
"test:coverage": "jest --coverage"
|
|
51
55
|
},
|
|
52
56
|
"keywords": [
|
|
53
57
|
"revenium",
|
|
@@ -72,8 +76,11 @@
|
|
|
72
76
|
"uuid": "^13.0.0"
|
|
73
77
|
},
|
|
74
78
|
"devDependencies": {
|
|
79
|
+
"@jest/globals": "^30.2.0",
|
|
80
|
+
"@types/jest": "^30.0.0",
|
|
75
81
|
"@types/node": "^24.7.1",
|
|
76
|
-
"
|
|
82
|
+
"jest": "^30.2.0",
|
|
83
|
+
"ts-jest": "^29.4.6",
|
|
77
84
|
"tsx": "^4.19.2",
|
|
78
85
|
"typescript": "^5.9.2"
|
|
79
86
|
},
|