veto-sdk 2.6.0 → 2.8.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/cli/compile.js +1 -1
- package/dist/cli/compile.js.map +1 -1
- package/dist/cli/templates.js +1 -1
- package/dist/core/interceptor.d.ts +2 -2
- package/dist/core/interceptor.d.ts.map +1 -1
- package/dist/core/interceptor.js +1 -1
- package/dist/core/interceptor.js.map +1 -1
- package/dist/core/veto.d.ts +8 -0
- package/dist/core/veto.d.ts.map +1 -1
- package/dist/core/veto.js +74 -18
- package/dist/core/veto.js.map +1 -1
- package/dist/custom/providers/anthropic.d.ts +0 -13
- package/dist/custom/providers/anthropic.d.ts.map +1 -1
- package/dist/custom/providers/anthropic.js +39 -40
- package/dist/custom/providers/anthropic.js.map +1 -1
- package/dist/custom/providers/openai.d.ts +0 -13
- package/dist/custom/providers/openai.d.ts.map +1 -1
- package/dist/custom/providers/openai.js +40 -41
- package/dist/custom/providers/openai.js.map +1 -1
- package/dist/custom/providers/utils.d.ts +10 -0
- package/dist/custom/providers/utils.d.ts.map +1 -0
- package/dist/custom/providers/utils.js +130 -0
- package/dist/custom/providers/utils.js.map +1 -0
- package/dist/custom/types.d.ts +11 -18
- package/dist/custom/types.d.ts.map +1 -1
- package/dist/custom/types.js +70 -28
- package/dist/custom/types.js.map +1 -1
- package/dist/rules/index.d.ts +1 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +1 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/policy-packs.d.ts.map +1 -1
- package/dist/rules/policy-packs.js +3 -0
- package/dist/rules/policy-packs.js.map +1 -1
- package/dist/utils/logger.d.ts +8 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +73 -27
- package/dist/utils/logger.js.map +1 -1
- package/package.json +1 -1
- package/packs/eu-ai-act-starter.yaml +155 -0
- package/packs/hipaa-lite.yaml +154 -0
- package/packs/soc2-lite.yaml +136 -0
|
@@ -1,47 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* @module custom/providers/openai
|
|
5
|
-
*/
|
|
6
|
-
import { CustomError } from '../types.js';
|
|
7
|
-
/**
|
|
8
|
-
* Call OpenAI API with the given prompt.
|
|
9
|
-
*
|
|
10
|
-
* @param messages - Provider-specific message structure
|
|
11
|
-
* @param config - Resolved custom configuration
|
|
12
|
-
* @param logger - Logger instance
|
|
13
|
-
* @returns Raw text response from OpenAI
|
|
14
|
-
*/
|
|
15
|
-
export async function callOpenAI(messages, config, logger) {
|
|
1
|
+
import { CustomError, CustomProviderPackageError } from '../types.js';
|
|
2
|
+
import { withProviderRetry } from './utils.js';
|
|
3
|
+
async function loadOpenAI() {
|
|
16
4
|
try {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
apiKey: config.apiKey,
|
|
20
|
-
baseURL: config.baseUrl,
|
|
21
|
-
});
|
|
22
|
-
logger.debug('Calling OpenAI API', {
|
|
23
|
-
model: config.model,
|
|
24
|
-
temperature: config.temperature,
|
|
25
|
-
maxTokens: config.maxTokens,
|
|
26
|
-
});
|
|
27
|
-
const response = await client.chat.completions.create({
|
|
28
|
-
model: config.model,
|
|
29
|
-
messages: messages.messages,
|
|
30
|
-
temperature: config.temperature,
|
|
31
|
-
max_tokens: config.maxTokens,
|
|
32
|
-
response_format: { type: 'json_object' }, // Force JSON output
|
|
33
|
-
});
|
|
34
|
-
const content = response.choices[0]?.message?.content;
|
|
35
|
-
if (!content) {
|
|
36
|
-
throw new CustomError('Empty response from OpenAI');
|
|
37
|
-
}
|
|
38
|
-
return content;
|
|
5
|
+
const module = await import('openai');
|
|
6
|
+
return module.default;
|
|
39
7
|
}
|
|
40
8
|
catch (error) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
9
|
+
throw new CustomProviderPackageError('openai', 'openai', error instanceof Error ? error : undefined);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export async function callOpenAI(messages, config, logger) {
|
|
13
|
+
const OpenAI = await loadOpenAI();
|
|
14
|
+
const client = new OpenAI({
|
|
15
|
+
apiKey: config.apiKey,
|
|
16
|
+
baseURL: config.baseUrl,
|
|
17
|
+
timeout: config.timeout,
|
|
18
|
+
maxRetries: 0,
|
|
19
|
+
});
|
|
20
|
+
logger.debug('Calling OpenAI API', {
|
|
21
|
+
model: config.model,
|
|
22
|
+
temperature: config.temperature,
|
|
23
|
+
maxTokens: config.maxTokens,
|
|
24
|
+
timeout: config.timeout,
|
|
25
|
+
});
|
|
26
|
+
const response = await withProviderRetry(() => client.chat.completions.create({
|
|
27
|
+
model: config.model,
|
|
28
|
+
messages: messages.messages ?? [],
|
|
29
|
+
temperature: config.temperature,
|
|
30
|
+
max_tokens: config.maxTokens,
|
|
31
|
+
response_format: { type: 'json_object' },
|
|
32
|
+
}, {
|
|
33
|
+
timeout: config.timeout,
|
|
34
|
+
maxRetries: 0,
|
|
35
|
+
}), {
|
|
36
|
+
providerLabel: 'OpenAI',
|
|
37
|
+
timeoutMs: config.timeout,
|
|
38
|
+
logger,
|
|
39
|
+
});
|
|
40
|
+
const content = response.choices[0]?.message?.content;
|
|
41
|
+
if (!content) {
|
|
42
|
+
throw new CustomError('Empty response from OpenAI');
|
|
45
43
|
}
|
|
44
|
+
return content;
|
|
46
45
|
}
|
|
47
46
|
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/custom/providers/openai.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../../src/custom/providers/openai.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AA4B/C,KAAK,UAAU,UAAU;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAA8C,CAAC;QACnF,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,0BAA0B,CAClC,QAAQ,EACR,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAC3C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,QAA0B,EAC1B,MAA4B,EAC5B,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,CAAC;KACd,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;QACjC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CACtC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAClC;QACE,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,EAAE;QACjC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;KACzC,EACD;QACE,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,CAAC;KACd,CACF,EACD;QACE,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,MAAM,CAAC,OAAO;QACzB,MAAM;KACP,CACF,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,WAAW,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Logger } from '../../utils/logger.js';
|
|
2
|
+
export interface ProviderRetryOptions {
|
|
3
|
+
providerLabel: string;
|
|
4
|
+
timeoutMs: number;
|
|
5
|
+
logger: Logger;
|
|
6
|
+
maxRetries?: number;
|
|
7
|
+
retryDelayMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function withProviderRetry<T>(operation: () => Promise<T>, options: ProviderRetryOptions): Promise<T>;
|
|
10
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/custom/providers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAyBpD,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAwID,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,CAAC,CAAC,CAgCZ"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { CustomError } from '../types.js';
|
|
2
|
+
const DEFAULT_MAX_RETRIES = 2;
|
|
3
|
+
const DEFAULT_RETRY_DELAY_MS = 100;
|
|
4
|
+
const TRANSIENT_NETWORK_CODES = new Set([
|
|
5
|
+
'ETIMEDOUT',
|
|
6
|
+
'ECONNRESET',
|
|
7
|
+
'ECONNREFUSED',
|
|
8
|
+
'EAI_AGAIN',
|
|
9
|
+
'ENOTFOUND',
|
|
10
|
+
'UND_ERR_CONNECT_TIMEOUT',
|
|
11
|
+
'APIConnectionError',
|
|
12
|
+
'APIConnectionTimeoutError',
|
|
13
|
+
]);
|
|
14
|
+
function getErrorRecord(error) {
|
|
15
|
+
if (!error || typeof error !== 'object') {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
return error;
|
|
19
|
+
}
|
|
20
|
+
function getStatus(error) {
|
|
21
|
+
const record = getErrorRecord(error);
|
|
22
|
+
const status = record.status ?? record.statusCode;
|
|
23
|
+
if (typeof status === 'number') {
|
|
24
|
+
return status;
|
|
25
|
+
}
|
|
26
|
+
const response = record.response;
|
|
27
|
+
if (response && typeof response === 'object') {
|
|
28
|
+
const responseStatus = response.status;
|
|
29
|
+
if (typeof responseStatus === 'number') {
|
|
30
|
+
return responseStatus;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
function getCode(error) {
|
|
36
|
+
const record = getErrorRecord(error);
|
|
37
|
+
const code = record.code ?? record.name ?? record.type;
|
|
38
|
+
return typeof code === 'string' ? code : undefined;
|
|
39
|
+
}
|
|
40
|
+
function getMessage(error) {
|
|
41
|
+
return error instanceof Error ? error.message : String(error);
|
|
42
|
+
}
|
|
43
|
+
function isTimeoutError(error, code) {
|
|
44
|
+
const message = getMessage(error).toLowerCase();
|
|
45
|
+
const normalizedCode = code?.toLowerCase() ?? '';
|
|
46
|
+
return normalizedCode.includes('timeout')
|
|
47
|
+
|| normalizedCode === 'etimedout'
|
|
48
|
+
|| normalizedCode === 'aborterror'
|
|
49
|
+
|| message.includes('timed out')
|
|
50
|
+
|| message.includes('timeout');
|
|
51
|
+
}
|
|
52
|
+
function isNetworkError(error, code) {
|
|
53
|
+
if (code && TRANSIENT_NETWORK_CODES.has(code)) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
const message = getMessage(error).toLowerCase();
|
|
57
|
+
return message.includes('fetch failed')
|
|
58
|
+
|| message.includes('network')
|
|
59
|
+
|| message.includes('socket hang up')
|
|
60
|
+
|| message.includes('connection reset');
|
|
61
|
+
}
|
|
62
|
+
function classifyProviderError(error) {
|
|
63
|
+
const status = getStatus(error);
|
|
64
|
+
const code = getCode(error);
|
|
65
|
+
if (isTimeoutError(error, code)) {
|
|
66
|
+
return { kind: 'timeout', retryable: true, status, code };
|
|
67
|
+
}
|
|
68
|
+
if (status === 401 || status === 403) {
|
|
69
|
+
return { kind: 'auth', retryable: false, status, code };
|
|
70
|
+
}
|
|
71
|
+
if (status === 429) {
|
|
72
|
+
return { kind: 'rate_limit', retryable: true, status, code };
|
|
73
|
+
}
|
|
74
|
+
if (status !== undefined && status >= 500) {
|
|
75
|
+
return { kind: 'server', retryable: true, status, code };
|
|
76
|
+
}
|
|
77
|
+
if (isNetworkError(error, code)) {
|
|
78
|
+
return { kind: 'network', retryable: true, status, code };
|
|
79
|
+
}
|
|
80
|
+
return { kind: 'other', retryable: false, status, code };
|
|
81
|
+
}
|
|
82
|
+
function buildProviderError(error, classification, providerLabel, timeoutMs, attempts) {
|
|
83
|
+
const cause = error instanceof Error ? error : undefined;
|
|
84
|
+
const attemptSuffix = attempts > 1 ? ` after ${attempts} attempts` : '';
|
|
85
|
+
switch (classification.kind) {
|
|
86
|
+
case 'timeout':
|
|
87
|
+
return new CustomError(`${providerLabel} request timed out after ${timeoutMs}ms${attemptSuffix}.`, cause);
|
|
88
|
+
case 'auth':
|
|
89
|
+
return new CustomError(`${providerLabel} authentication failed with status ${classification.status}. Check the configured API key and provider permissions.`, cause);
|
|
90
|
+
case 'rate_limit':
|
|
91
|
+
return new CustomError(`${providerLabel} rate limited the request with status 429${attemptSuffix}.`, cause);
|
|
92
|
+
case 'server':
|
|
93
|
+
return new CustomError(`${providerLabel} provider server error with status ${classification.status}${attemptSuffix}.`, cause);
|
|
94
|
+
case 'network':
|
|
95
|
+
return new CustomError(`${providerLabel} transient network error${attemptSuffix}: ${getMessage(error)}`, cause);
|
|
96
|
+
case 'other':
|
|
97
|
+
return new CustomError(`${providerLabel} API call failed: ${getMessage(error)}`, cause);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function delay(milliseconds) {
|
|
101
|
+
return new Promise((resolve) => {
|
|
102
|
+
setTimeout(resolve, milliseconds);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
export async function withProviderRetry(operation, options) {
|
|
106
|
+
const maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
107
|
+
const retryDelayMs = options.retryDelayMs ?? DEFAULT_RETRY_DELAY_MS;
|
|
108
|
+
let attempt = 0;
|
|
109
|
+
while (true) {
|
|
110
|
+
try {
|
|
111
|
+
return await operation();
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
const classification = classifyProviderError(error);
|
|
115
|
+
const attempts = attempt + 1;
|
|
116
|
+
if (!classification.retryable || attempt >= maxRetries) {
|
|
117
|
+
throw buildProviderError(error, classification, options.providerLabel, options.timeoutMs, attempts);
|
|
118
|
+
}
|
|
119
|
+
options.logger.warn(`${options.providerLabel} request failed, retrying`, {
|
|
120
|
+
attempt: attempts,
|
|
121
|
+
maxRetries,
|
|
122
|
+
status: classification.status,
|
|
123
|
+
code: classification.code,
|
|
124
|
+
});
|
|
125
|
+
attempt += 1;
|
|
126
|
+
await delay(retryDelayMs);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/custom/providers/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/custom/types.d.ts
CHANGED
|
@@ -71,33 +71,26 @@ export declare const CUSTOM_DEFAULTS: {
|
|
|
71
71
|
readonly maxTokens: 500;
|
|
72
72
|
readonly timeout: 30000;
|
|
73
73
|
};
|
|
74
|
-
/**
|
|
75
|
-
* Base error class for custom provider errors.
|
|
76
|
-
*/
|
|
77
74
|
export declare class CustomError extends Error {
|
|
78
75
|
readonly cause?: Error;
|
|
79
76
|
constructor(message: string, cause?: Error);
|
|
80
77
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
78
|
+
export declare class CustomConfigError extends CustomError {
|
|
79
|
+
constructor(message: string);
|
|
80
|
+
}
|
|
84
81
|
export declare class CustomParseError extends CustomError {
|
|
85
82
|
readonly rawResponse: string;
|
|
86
83
|
constructor(message: string, rawResponse: string);
|
|
87
84
|
}
|
|
88
|
-
|
|
89
|
-
* Error thrown when API key is missing.
|
|
90
|
-
*/
|
|
91
|
-
export declare class CustomAPIKeyError extends CustomError {
|
|
85
|
+
export declare class CustomAPIKeyError extends CustomConfigError {
|
|
92
86
|
readonly provider: CustomProvider;
|
|
93
|
-
|
|
87
|
+
readonly envVar: string;
|
|
88
|
+
constructor(provider: CustomProvider, envVar: string, configuredEnvVar?: boolean);
|
|
89
|
+
}
|
|
90
|
+
export declare class CustomProviderPackageError extends CustomError {
|
|
91
|
+
readonly provider: CustomProvider;
|
|
92
|
+
readonly packageName: string;
|
|
93
|
+
constructor(provider: CustomProvider, packageName: string, cause?: Error);
|
|
94
94
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Resolve custom configuration with defaults and validation.
|
|
97
|
-
*
|
|
98
|
-
* @param config - User-provided configuration
|
|
99
|
-
* @returns Resolved configuration with all required fields
|
|
100
|
-
* @throws {CustomAPIKeyError} If API key is not found
|
|
101
|
-
*/
|
|
102
95
|
export declare function resolveCustomConfig(config: CustomConfig): ResolvedCustomConfig;
|
|
103
96
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/custom/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAKzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/custom/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,0BAA0B;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAK5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAKzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK3C;AAED,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAKjD;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,UAAQ;CAS/E;AAED,qBAAa,0BAA2B,SAAQ,WAAW;IACzD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CASzE;AA0CD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CA8B9E"}
|
package/dist/custom/types.js
CHANGED
|
@@ -29,9 +29,6 @@ export const CUSTOM_DEFAULTS = {
|
|
|
29
29
|
maxTokens: 500,
|
|
30
30
|
timeout: 30000,
|
|
31
31
|
};
|
|
32
|
-
/**
|
|
33
|
-
* Base error class for custom provider errors.
|
|
34
|
-
*/
|
|
35
32
|
export class CustomError extends Error {
|
|
36
33
|
cause;
|
|
37
34
|
constructor(message, cause) {
|
|
@@ -40,9 +37,12 @@ export class CustomError extends Error {
|
|
|
40
37
|
this.cause = cause;
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
export class CustomConfigError extends CustomError {
|
|
41
|
+
constructor(message) {
|
|
42
|
+
super(message);
|
|
43
|
+
this.name = 'CustomConfigError';
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
46
|
export class CustomParseError extends CustomError {
|
|
47
47
|
rawResponse;
|
|
48
48
|
constructor(message, rawResponse) {
|
|
@@ -51,39 +51,81 @@ export class CustomParseError extends CustomError {
|
|
|
51
51
|
this.rawResponse = rawResponse;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
55
|
-
* Error thrown when API key is missing.
|
|
56
|
-
*/
|
|
57
|
-
export class CustomAPIKeyError extends CustomError {
|
|
54
|
+
export class CustomAPIKeyError extends CustomConfigError {
|
|
58
55
|
provider;
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
envVar;
|
|
57
|
+
constructor(provider, envVar, configuredEnvVar = false) {
|
|
58
|
+
const message = configuredEnvVar
|
|
59
|
+
? `API key env var ${envVar} for custom provider ${provider} is not set or empty. Set ${envVar} or configure custom.apiKey with a literal secret.`
|
|
60
|
+
: `Missing API key for custom provider ${provider}. Set ${envVar} environment variable or configure custom.apiKey.`;
|
|
61
|
+
super(message);
|
|
61
62
|
this.name = 'CustomAPIKeyError';
|
|
62
63
|
this.provider = provider;
|
|
64
|
+
this.envVar = envVar;
|
|
63
65
|
}
|
|
64
66
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
67
|
+
export class CustomProviderPackageError extends CustomError {
|
|
68
|
+
provider;
|
|
69
|
+
packageName;
|
|
70
|
+
constructor(provider, packageName, cause) {
|
|
71
|
+
super(`Custom provider package "${packageName}" is not installed. Install ${packageName} to use custom.provider="${provider}".`, cause);
|
|
72
|
+
this.name = 'CustomProviderPackageError';
|
|
73
|
+
this.provider = provider;
|
|
74
|
+
this.packageName = packageName;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
const ENV_VAR_NAME_PATTERN = /^[A-Z_][A-Z0-9_]*$/;
|
|
78
|
+
const SUPPORTED_PROVIDERS = new Set([
|
|
79
|
+
'gemini',
|
|
80
|
+
'openrouter',
|
|
81
|
+
'openai',
|
|
82
|
+
'anthropic',
|
|
83
|
+
]);
|
|
84
|
+
function isSupportedProvider(provider) {
|
|
85
|
+
return typeof provider === 'string' && SUPPORTED_PROVIDERS.has(provider);
|
|
86
|
+
}
|
|
87
|
+
function looksLikeEnvVarName(value) {
|
|
88
|
+
return ENV_VAR_NAME_PATTERN.test(value);
|
|
89
|
+
}
|
|
90
|
+
function resolveApiKey(provider, configuredApiKey) {
|
|
91
|
+
const trimmedApiKey = configuredApiKey?.trim();
|
|
92
|
+
if (trimmedApiKey) {
|
|
93
|
+
if (looksLikeEnvVarName(trimmedApiKey)) {
|
|
94
|
+
const resolvedApiKey = process.env[trimmedApiKey];
|
|
95
|
+
if (!resolvedApiKey) {
|
|
96
|
+
throw new CustomAPIKeyError(provider, trimmedApiKey, true);
|
|
97
|
+
}
|
|
98
|
+
return resolvedApiKey;
|
|
99
|
+
}
|
|
100
|
+
return trimmedApiKey;
|
|
101
|
+
}
|
|
102
|
+
const envVar = PROVIDER_ENV_VARS[provider];
|
|
103
|
+
const apiKey = process.env[envVar];
|
|
76
104
|
if (!apiKey) {
|
|
77
|
-
throw new CustomAPIKeyError(
|
|
105
|
+
throw new CustomAPIKeyError(provider, envVar);
|
|
106
|
+
}
|
|
107
|
+
return apiKey;
|
|
108
|
+
}
|
|
109
|
+
export function resolveCustomConfig(config) {
|
|
110
|
+
const provider = config.provider;
|
|
111
|
+
if (!provider) {
|
|
112
|
+
throw new CustomConfigError('Missing custom.provider for custom validation. Set custom.provider to one of: openai, anthropic, gemini, openrouter.');
|
|
113
|
+
}
|
|
114
|
+
if (!isSupportedProvider(provider)) {
|
|
115
|
+
throw new CustomConfigError(`Unsupported custom.provider "${String(provider)}". Supported providers: openai, anthropic, gemini, openrouter.`);
|
|
116
|
+
}
|
|
117
|
+
const model = config.model;
|
|
118
|
+
if (!model || model.trim() === '') {
|
|
119
|
+
throw new CustomConfigError(`Missing custom.model for custom provider ${provider}. Set custom.model in veto.config.yaml.`);
|
|
78
120
|
}
|
|
79
121
|
return {
|
|
80
|
-
provider
|
|
81
|
-
model
|
|
82
|
-
apiKey,
|
|
122
|
+
provider,
|
|
123
|
+
model,
|
|
124
|
+
apiKey: resolveApiKey(provider, config.apiKey),
|
|
83
125
|
temperature: config.temperature ?? CUSTOM_DEFAULTS.temperature,
|
|
84
126
|
maxTokens: config.maxTokens ?? CUSTOM_DEFAULTS.maxTokens,
|
|
85
127
|
timeout: config.timeout ?? CUSTOM_DEFAULTS.timeout,
|
|
86
|
-
baseUrl: config.baseUrl ?? PROVIDER_BASE_URLS[
|
|
128
|
+
baseUrl: config.baseUrl ?? PROVIDER_BASE_URLS[provider],
|
|
87
129
|
};
|
|
88
130
|
}
|
|
89
131
|
//# sourceMappingURL=types.js.map
|
package/dist/custom/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/custom/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2DH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAmC;IAC/D,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,oBAAoB;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA+C;IAC5E,MAAM,EAAE,2BAA2B;IACnC,SAAS,EAAE,SAAS,EAAE,mBAAmB;IACzC,MAAM,EAAE,SAAS,EAAE,mBAAmB;IACtC,UAAU,EAAE,8BAA8B;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,KAAK;CACN,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/custom/types.ts"],"names":[],"mappings":"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"}
|
package/dist/rules/index.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export * from './condition-evaluator.js';
|
|
|
14
14
|
export * from './patterns.js';
|
|
15
15
|
export { InMemoryFeedProvider, resolveFeedRef } from './feed-provider.js';
|
|
16
16
|
export { evaluateRulesLocally, evaluateCondition as evaluateConditionLocally, resolveFieldPath as resolveLocalFieldPath, type LocalEvalResult, type LocalEvalOptions, } from './local-evaluator.js';
|
|
17
|
+
export { getBuiltInPolicyPackNames, normalizePolicyPackName, resolveBuiltInPolicyPackPath, } from './policy-packs.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAK9B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,IAAI,qBAAqB,EACzC,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAK9B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,IAAI,qBAAqB,EACzC,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC"}
|
package/dist/rules/index.js
CHANGED
|
@@ -18,4 +18,5 @@ export * from './patterns.js';
|
|
|
18
18
|
// remains zod-free for existing callers.
|
|
19
19
|
export { InMemoryFeedProvider, resolveFeedRef } from './feed-provider.js';
|
|
20
20
|
export { evaluateRulesLocally, evaluateCondition as evaluateConditionLocally, resolveFieldPath as resolveLocalFieldPath, } from './local-evaluator.js';
|
|
21
|
+
export { getBuiltInPolicyPackNames, normalizePolicyPackName, resolveBuiltInPolicyPackPath, } from './policy-packs.js';
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/dist/rules/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,IAAI,qBAAqB,GAG1C,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,yCAAyC;AACzC,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,IAAI,qBAAqB,GAG1C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-packs.d.ts","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"policy-packs.d.ts","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"AAsBA,KAAK,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE9C,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoBrE;AA+CD,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,cAAc,GACzB,cAAc,CAqBhB;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,GACxC,cAAc,CAyBhB"}
|
|
@@ -11,6 +11,9 @@ const BUILT_IN_POLICY_PACK_FILE_NAMES = {
|
|
|
11
11
|
'@veto/communication': 'communication.yaml',
|
|
12
12
|
'@veto/deployment': 'deployment.yaml',
|
|
13
13
|
'@veto/economic-agent': 'economic-agent.yaml',
|
|
14
|
+
'@veto/soc2-lite': 'soc2-lite.yaml',
|
|
15
|
+
'@veto/hipaa-lite': 'hipaa-lite.yaml',
|
|
16
|
+
'@veto/eu-ai-act-starter': 'eu-ai-act-starter.yaml',
|
|
14
17
|
};
|
|
15
18
|
const MODULE_DIR = dirname(fileURLToPath(import.meta.url));
|
|
16
19
|
const PACKS_DIR = resolve(MODULE_DIR, '..', '..', 'packs');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy-packs.js","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,MAAM,+BAA+B,GAAG;IACtC,oBAAoB,EAAE,mBAAmB;IACzC,sBAAsB,EAAE,qBAAqB;IAC7C,iBAAiB,EAAE,gBAAgB;IACnC,0BAA0B,EAAE,yBAAyB;IACrD,mBAAmB,EAAE,kBAAkB;IACvC,qBAAqB,EAAE,oBAAoB;IAC3C,kBAAkB,EAAE,iBAAiB;IACrC,sBAAsB,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"policy-packs.js","sourceRoot":"","sources":["../../src/rules/policy-packs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAE1C,MAAM,+BAA+B,GAAG;IACtC,oBAAoB,EAAE,mBAAmB;IACzC,sBAAsB,EAAE,qBAAqB;IAC7C,iBAAiB,EAAE,gBAAgB;IACnC,0BAA0B,EAAE,yBAAyB;IACrD,mBAAmB,EAAE,kBAAkB;IACvC,qBAAqB,EAAE,oBAAoB;IAC3C,kBAAkB,EAAE,iBAAiB;IACrC,sBAAsB,EAAE,qBAAqB;IAC7C,iBAAiB,EAAE,gBAAgB;IACnC,kBAAkB,EAAE,iBAAiB;IACrC,yBAAyB,EAAE,wBAAwB;CAC3C,CAAC;AAEX,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAI3D,MAAM,UAAU,yBAAyB;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,SAAS,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAgB;IAC3D,MAAM,cAAc,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,+BAA+B,CAC9C,cAA8D,CAC/D,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,uBAAuB,yBAAyB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,gBAAgB,cAAc,+BAA+B,QAAQ,EAAE,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,OAAO,CAAC,KAAc;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,GAAI,IAAuB,CAAC,EAAE,CAAC;IACvC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,cAAc,CACrB,SAAoB,EACpB,SAAoB;IAEpB,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,GAAG,QAAQ,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,MAAM,EAAE,CAAC;YACX,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,UAA0B,EAC1B,UAA0B;IAE1B,MAAM,YAAY,GAAmB;QACnC,GAAG,UAAU;QACb,GAAG,UAAU;KACd,CAAC;IAEF,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACrE,YAAY,CAAC,KAAK,GAAG,cAAc,CACjC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EACzB,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAC1B,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnF,YAAY,CAAC,YAAY,GAAG,cAAc,CACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CACjC,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,UAA0B,EAC1B,MAAc,EACd,UAAyC;IAEzC,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CACb,8BAA8B,MAAM,0DAA0D,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,UAAU,IAAI,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,gBAAgB,kBAAkB,QAAQ,QAAQ,6BAA6B,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,mBAAmB,CACxB,UAA4B,EAC5B,EAAE,GAAG,UAAU,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAC/C,CAAC;AACJ,CAAC"}
|
package/dist/utils/logger.d.ts
CHANGED
|
@@ -33,6 +33,10 @@ export interface DecisionStreamEvent {
|
|
|
33
33
|
ruleId?: string;
|
|
34
34
|
latencyMs?: number;
|
|
35
35
|
approvalId?: string;
|
|
36
|
+
/** Email or identifier of the approver that resolved an awaited decision. */
|
|
37
|
+
approver?: string;
|
|
38
|
+
/** Override for the timestamp shown in compact mode (defaults to "now"). */
|
|
39
|
+
timestamp?: Date;
|
|
36
40
|
}
|
|
37
41
|
/**
|
|
38
42
|
* Logger interface that can be implemented for custom logging.
|
|
@@ -60,6 +64,10 @@ export interface DecisionStreamLogger extends Logger {
|
|
|
60
64
|
* Check if a log level should be emitted given the configured level.
|
|
61
65
|
*/
|
|
62
66
|
declare function shouldLog(messageLevel: Exclude<LogLevel, 'stream'>, configuredLevel: LogLevel): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* One-line decision row, formatted as:
|
|
69
|
+
* `HH:MM:SS <decision> <tool>(<args>) <latency> <tag?>`
|
|
70
|
+
*/
|
|
63
71
|
declare function formatCompactDecision(event: DecisionStreamEvent): string;
|
|
64
72
|
declare function formatVerboseDecision(event: DecisionStreamEvent): string;
|
|
65
73
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,8BAA8B;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,iCAAiC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|