truthguard-ai 0.1.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.
Potentially problematic release.
This version of truthguard-ai might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/README.md +363 -0
- package/dist/Advisor/index.d.ts +78 -0
- package/dist/Advisor/index.d.ts.map +1 -0
- package/dist/Advisor/index.js +539 -0
- package/dist/Advisor/index.js.map +1 -0
- package/dist/Alerting/index.d.ts +35 -0
- package/dist/Alerting/index.d.ts.map +1 -0
- package/dist/Alerting/index.js +76 -0
- package/dist/Alerting/index.js.map +1 -0
- package/dist/Auth/index.d.ts +82 -0
- package/dist/Auth/index.d.ts.map +1 -0
- package/dist/Auth/index.js +242 -0
- package/dist/Auth/index.js.map +1 -0
- package/dist/Baseline/index.d.ts +43 -0
- package/dist/Baseline/index.d.ts.map +1 -0
- package/dist/Baseline/index.js +195 -0
- package/dist/Baseline/index.js.map +1 -0
- package/dist/Claims/index.d.ts +73 -0
- package/dist/Claims/index.d.ts.map +1 -0
- package/dist/Claims/index.js +1669 -0
- package/dist/Claims/index.js.map +1 -0
- package/dist/Client/index.d.ts +90 -0
- package/dist/Client/index.d.ts.map +1 -0
- package/dist/Client/index.js +186 -0
- package/dist/Client/index.js.map +1 -0
- package/dist/Config/index.d.ts +41 -0
- package/dist/Config/index.d.ts.map +1 -0
- package/dist/Config/index.js +129 -0
- package/dist/Config/index.js.map +1 -0
- package/dist/Coverage/index.d.ts +28 -0
- package/dist/Coverage/index.d.ts.map +1 -0
- package/dist/Coverage/index.js +134 -0
- package/dist/Coverage/index.js.map +1 -0
- package/dist/Demo/index.d.ts +16 -0
- package/dist/Demo/index.d.ts.map +1 -0
- package/dist/Demo/index.js +189 -0
- package/dist/Demo/index.js.map +1 -0
- package/dist/Gate/index.d.ts +39 -0
- package/dist/Gate/index.d.ts.map +1 -0
- package/dist/Gate/index.js +207 -0
- package/dist/Gate/index.js.map +1 -0
- package/dist/Grounding/index.d.ts +40 -0
- package/dist/Grounding/index.d.ts.map +1 -0
- package/dist/Grounding/index.js +1433 -0
- package/dist/Grounding/index.js.map +1 -0
- package/dist/L2/index.d.ts +93 -0
- package/dist/L2/index.d.ts.map +1 -0
- package/dist/L2/index.js +1773 -0
- package/dist/L2/index.js.map +1 -0
- package/dist/MCP/index.d.ts +139 -0
- package/dist/MCP/index.d.ts.map +1 -0
- package/dist/MCP/index.js +1250 -0
- package/dist/MCP/index.js.map +1 -0
- package/dist/Matchers/index.d.ts +101 -0
- package/dist/Matchers/index.d.ts.map +1 -0
- package/dist/Matchers/index.js +690 -0
- package/dist/Matchers/index.js.map +1 -0
- package/dist/Middleware/index.d.ts +146 -0
- package/dist/Middleware/index.d.ts.map +1 -0
- package/dist/Middleware/index.js +239 -0
- package/dist/Middleware/index.js.map +1 -0
- package/dist/Mode/index.d.ts +87 -0
- package/dist/Mode/index.d.ts.map +1 -0
- package/dist/Mode/index.js +117 -0
- package/dist/Mode/index.js.map +1 -0
- package/dist/Policy/index.d.ts +89 -0
- package/dist/Policy/index.d.ts.map +1 -0
- package/dist/Policy/index.js +143 -0
- package/dist/Policy/index.js.map +1 -0
- package/dist/Proxy/SessionStore.d.ts +94 -0
- package/dist/Proxy/SessionStore.d.ts.map +1 -0
- package/dist/Proxy/SessionStore.js +225 -0
- package/dist/Proxy/SessionStore.js.map +1 -0
- package/dist/Proxy/index.d.ts +166 -0
- package/dist/Proxy/index.d.ts.map +1 -0
- package/dist/Proxy/index.js +531 -0
- package/dist/Proxy/index.js.map +1 -0
- package/dist/Registry/index.d.ts +93 -0
- package/dist/Registry/index.d.ts.map +1 -0
- package/dist/Registry/index.js +818 -0
- package/dist/Registry/index.js.map +1 -0
- package/dist/Reports/index.d.ts +38 -0
- package/dist/Reports/index.d.ts.map +1 -0
- package/dist/Reports/index.js +149 -0
- package/dist/Reports/index.js.map +1 -0
- package/dist/Rules/index.d.ts +587 -0
- package/dist/Rules/index.d.ts.map +1 -0
- package/dist/Rules/index.js +6236 -0
- package/dist/Rules/index.js.map +1 -0
- package/dist/Rules/intents.d.ts +22 -0
- package/dist/Rules/intents.d.ts.map +1 -0
- package/dist/Rules/intents.js +242 -0
- package/dist/Rules/intents.js.map +1 -0
- package/dist/Runner/index.d.ts +39 -0
- package/dist/Runner/index.d.ts.map +1 -0
- package/dist/Runner/index.js +185 -0
- package/dist/Runner/index.js.map +1 -0
- package/dist/SDK/anthropic.d.ts +102 -0
- package/dist/SDK/anthropic.d.ts.map +1 -0
- package/dist/SDK/anthropic.js +425 -0
- package/dist/SDK/anthropic.js.map +1 -0
- package/dist/SDK/openai.d.ts +164 -0
- package/dist/SDK/openai.d.ts.map +1 -0
- package/dist/SDK/openai.js +557 -0
- package/dist/SDK/openai.js.map +1 -0
- package/dist/Store/index.d.ts +72 -0
- package/dist/Store/index.d.ts.map +1 -0
- package/dist/Store/index.js +136 -0
- package/dist/Store/index.js.map +1 -0
- package/dist/Telemetry/index.d.ts +84 -0
- package/dist/Telemetry/index.d.ts.map +1 -0
- package/dist/Telemetry/index.js +239 -0
- package/dist/Telemetry/index.js.map +1 -0
- package/dist/Trace/index.d.ts +219 -0
- package/dist/Trace/index.d.ts.map +1 -0
- package/dist/Trace/index.js +763 -0
- package/dist/Trace/index.js.map +1 -0
- package/dist/TraceReadiness/index.d.ts +42 -0
- package/dist/TraceReadiness/index.d.ts.map +1 -0
- package/dist/TraceReadiness/index.js +169 -0
- package/dist/TraceReadiness/index.js.map +1 -0
- package/dist/cli/index.d.ts +15 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +807 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/i18n/index.d.ts +44 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +124 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +218 -0
- package/dist/index.js.map +1 -0
- package/dist/thin.d.ts +39 -0
- package/dist/thin.d.ts.map +1 -0
- package/dist/thin.js +120 -0
- package/dist/thin.js.map +1 -0
- package/dist/types/index.d.ts +498 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +17 -0
- package/dist/types/index.js.map +1 -0
- package/dist-npm/Alerting/index.d.ts +35 -0
- package/dist-npm/Alerting/index.d.ts.map +1 -0
- package/dist-npm/Alerting/index.js +76 -0
- package/dist-npm/Alerting/index.js.map +1 -0
- package/dist-npm/Auth/index.d.ts +82 -0
- package/dist-npm/Auth/index.d.ts.map +1 -0
- package/dist-npm/Auth/index.js +242 -0
- package/dist-npm/Auth/index.js.map +1 -0
- package/dist-npm/Client/index.d.ts +90 -0
- package/dist-npm/Client/index.d.ts.map +1 -0
- package/dist-npm/Client/index.js +186 -0
- package/dist-npm/Client/index.js.map +1 -0
- package/dist-npm/Demo/index.d.ts +16 -0
- package/dist-npm/Demo/index.d.ts.map +1 -0
- package/dist-npm/Demo/index.js +189 -0
- package/dist-npm/Demo/index.js.map +1 -0
- package/dist-npm/Middleware/index.d.ts +146 -0
- package/dist-npm/Middleware/index.d.ts.map +1 -0
- package/dist-npm/Middleware/index.js +239 -0
- package/dist-npm/Middleware/index.js.map +1 -0
- package/dist-npm/Proxy/SessionStore.d.ts +94 -0
- package/dist-npm/Proxy/SessionStore.d.ts.map +1 -0
- package/dist-npm/Proxy/SessionStore.js +225 -0
- package/dist-npm/Proxy/SessionStore.js.map +1 -0
- package/dist-npm/Proxy/index.d.ts +166 -0
- package/dist-npm/Proxy/index.d.ts.map +1 -0
- package/dist-npm/Proxy/index.js +531 -0
- package/dist-npm/Proxy/index.js.map +1 -0
- package/dist-npm/SDK/anthropic.d.ts +102 -0
- package/dist-npm/SDK/anthropic.d.ts.map +1 -0
- package/dist-npm/SDK/anthropic.js +425 -0
- package/dist-npm/SDK/anthropic.js.map +1 -0
- package/dist-npm/SDK/openai.d.ts +164 -0
- package/dist-npm/SDK/openai.d.ts.map +1 -0
- package/dist-npm/SDK/openai.js +557 -0
- package/dist-npm/SDK/openai.js.map +1 -0
- package/dist-npm/Store/index.d.ts +72 -0
- package/dist-npm/Store/index.d.ts.map +1 -0
- package/dist-npm/Store/index.js +136 -0
- package/dist-npm/Store/index.js.map +1 -0
- package/dist-npm/Telemetry/index.d.ts +84 -0
- package/dist-npm/Telemetry/index.d.ts.map +1 -0
- package/dist-npm/Telemetry/index.js +239 -0
- package/dist-npm/Telemetry/index.js.map +1 -0
- package/dist-npm/Trace/index.d.ts +219 -0
- package/dist-npm/Trace/index.d.ts.map +1 -0
- package/dist-npm/Trace/index.js +763 -0
- package/dist-npm/Trace/index.js.map +1 -0
- package/dist-npm/thin.d.ts +39 -0
- package/dist-npm/thin.d.ts.map +1 -0
- package/dist-npm/thin.js +120 -0
- package/dist-npm/thin.js.map +1 -0
- package/dist-npm/types/index.d.ts +498 -0
- package/dist-npm/types/index.d.ts.map +1 -0
- package/dist-npm/types/index.js +17 -0
- package/dist-npm/types/index.js.map +1 -0
- package/package.json +114 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trace SDK
|
|
3
|
+
*
|
|
4
|
+
* Provides a fluent builder for constructing agent execution traces and
|
|
5
|
+
* utility helpers for querying them.
|
|
6
|
+
*/
|
|
7
|
+
import type { Trace, TraceId, TraceStep, TraceStepRole, ToolCall, ToolOutput } from '../types';
|
|
8
|
+
/** Options for creating a new trace. */
|
|
9
|
+
export interface TraceBuilderOptions {
|
|
10
|
+
traceId?: TraceId;
|
|
11
|
+
metadata?: Record<string, unknown>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Fluent builder for constructing a {@link Trace}.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* const trace = new TraceBuilder({ metadata: { sessionId: 'abc' } })
|
|
19
|
+
* .addUserInput('How many employees are on leave today?')
|
|
20
|
+
* .addToolCall('getLeaveRecords', { date: '2024-03-15' })
|
|
21
|
+
* .addToolOutput('getLeaveRecords', [{ employeeId: 'E01', name: 'Ana' }, { employeeId: 'E02', name: 'Ivo' }])
|
|
22
|
+
* .addFinalResponse('There are 2 employees on leave today.')
|
|
23
|
+
* .build();
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare class TraceBuilder {
|
|
27
|
+
private readonly traceId;
|
|
28
|
+
private readonly steps;
|
|
29
|
+
private readonly metadata;
|
|
30
|
+
private readonly startedAt;
|
|
31
|
+
constructor(options?: TraceBuilderOptions);
|
|
32
|
+
/** Add a system prompt step (static context/instructions). */
|
|
33
|
+
addSystemPrompt(content: string, meta?: Partial<TraceStep>): this;
|
|
34
|
+
/** Add a user input step. */
|
|
35
|
+
addUserInput(content: string, meta?: Partial<TraceStep>): this;
|
|
36
|
+
/** Add a tool call step. */
|
|
37
|
+
addToolCall(toolName: string, parameters: Record<string, unknown>, meta?: Partial<TraceStep>): this;
|
|
38
|
+
/** Add a tool output step. */
|
|
39
|
+
addToolOutput(toolName: string, output: unknown, meta?: Partial<TraceStep>): this;
|
|
40
|
+
/** Add an LLM call step (e.g., intermediate reasoning). */
|
|
41
|
+
addLlmCall(content: string, meta?: Partial<TraceStep>): this;
|
|
42
|
+
/** Add the final response step. */
|
|
43
|
+
addFinalResponse(content: string, meta?: Partial<TraceStep>): this;
|
|
44
|
+
/** Low-level step addition. */
|
|
45
|
+
addStep(role: TraceStepRole, content: string, meta?: Partial<TraceStep>): this;
|
|
46
|
+
/** Build and return the completed {@link Trace}. */
|
|
47
|
+
build(): Trace;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* A single conversation turn extracted from a trace.
|
|
51
|
+
*
|
|
52
|
+
* In multi-turn traces the steps encode a sequence of Q&A exchanges:
|
|
53
|
+
* [user_input] → [tool_call/tool_output]* → [final_response]
|
|
54
|
+
*
|
|
55
|
+
* Each such exchange is one turn. The **active turn** is the last one
|
|
56
|
+
* (the one whose response the pipeline evaluates). Earlier turns are
|
|
57
|
+
* conversation history that provides context for follow-up questions.
|
|
58
|
+
*
|
|
59
|
+
* This is a generic concept — not tied to any specific AI agent platform.
|
|
60
|
+
*/
|
|
61
|
+
export interface ConversationTurn {
|
|
62
|
+
/** The de-duplicated user question for this turn. */
|
|
63
|
+
userInput: string;
|
|
64
|
+
/** All tool call steps that belong to this turn. */
|
|
65
|
+
toolCalls: TraceStep[];
|
|
66
|
+
/** All tool output steps that belong to this turn. */
|
|
67
|
+
toolOutputs: TraceStep[];
|
|
68
|
+
/** The final_response text for this turn (empty string if missing). */
|
|
69
|
+
response: string;
|
|
70
|
+
/** True when this is the last (active) turn being evaluated. */
|
|
71
|
+
isActive: boolean;
|
|
72
|
+
}
|
|
73
|
+
/** Utility helpers for querying a {@link Trace}. */
|
|
74
|
+
export declare const TraceUtils: {
|
|
75
|
+
/**
|
|
76
|
+
* Return all steps matching a given role.
|
|
77
|
+
*/
|
|
78
|
+
getStepsByRole(trace: Trace, role: TraceStepRole): TraceStep[];
|
|
79
|
+
/**
|
|
80
|
+
* Return the final response step, or undefined if not present.
|
|
81
|
+
*/
|
|
82
|
+
getFinalResponse(trace: Trace): TraceStep | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Return all tool outputs flattened from all tool_output steps.
|
|
85
|
+
*/
|
|
86
|
+
getAllToolOutputs(trace: Trace): ToolOutput[];
|
|
87
|
+
/**
|
|
88
|
+
* Return all tool calls flattened from all tool_call steps.
|
|
89
|
+
*/
|
|
90
|
+
getAllToolCalls(trace: Trace): ToolCall[];
|
|
91
|
+
/**
|
|
92
|
+
* Return all tool output steps (with their stepId preserved).
|
|
93
|
+
*/
|
|
94
|
+
getToolOutputSteps(trace: Trace): TraceStep[];
|
|
95
|
+
/**
|
|
96
|
+
* Check whether any tool was called in this trace.
|
|
97
|
+
*
|
|
98
|
+
* Returns true if ANY of these conditions hold:
|
|
99
|
+
* 1. A step has role='tool_call', OR
|
|
100
|
+
* 2. A step has role='tool_output' (some proxies emit only outputs).
|
|
101
|
+
*/
|
|
102
|
+
hasToolCalls(trace: Trace): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Return the system prompt step, or undefined if not present.
|
|
105
|
+
*/
|
|
106
|
+
getSystemPrompt(trace: Trace): TraceStep | undefined;
|
|
107
|
+
/**
|
|
108
|
+
* Serialise a trace to a JSON string.
|
|
109
|
+
*/
|
|
110
|
+
toJSON(trace: Trace): string;
|
|
111
|
+
/**
|
|
112
|
+
* Deserialise a trace from a JSON string.
|
|
113
|
+
*/
|
|
114
|
+
fromJSON(json: string): Trace;
|
|
115
|
+
/**
|
|
116
|
+
* Parse trace steps into an ordered list of conversation turns.
|
|
117
|
+
*
|
|
118
|
+
* Algorithm (generic, works for any agent framework):
|
|
119
|
+
* 1. Skip `system_prompt` / `llm_call` steps — they are not turn boundaries.
|
|
120
|
+
* 2. A new turn starts at a `user_input` that either:
|
|
121
|
+
* - is the first `user_input` in the trace, or
|
|
122
|
+
* - follows a `final_response` (i.e. a previous turn already ended).
|
|
123
|
+
* 3. Consecutive `user_input` steps with identical content are de-duped
|
|
124
|
+
* (a common pattern when agents re-send the message).
|
|
125
|
+
* 4. Tool call / tool output steps are assigned to the current turn.
|
|
126
|
+
* 5. A `final_response` closes the current turn.
|
|
127
|
+
* 6. The last turn is marked `isActive`.
|
|
128
|
+
*/
|
|
129
|
+
getConversationTurns(trace: Trace): ConversationTurn[];
|
|
130
|
+
/**
|
|
131
|
+
* Return the active (last) conversation turn, or `undefined` for
|
|
132
|
+
* single-step traces with no `user_input`.
|
|
133
|
+
*/
|
|
134
|
+
getActiveTurn(trace: Trace): ConversationTurn | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* Return the user question from the active (last) turn only.
|
|
137
|
+
*
|
|
138
|
+
* For single-turn traces this returns the same as joining all
|
|
139
|
+
* `user_input` contents. For multi-turn traces it returns only
|
|
140
|
+
* the last question — the one being evaluated.
|
|
141
|
+
*
|
|
142
|
+
* When the trace was built by `buildActiveTurnTrace`, the original
|
|
143
|
+
* active question is stored in `metadata.activeUserInput` (the
|
|
144
|
+
* user_input step contains the full contextual history).
|
|
145
|
+
*/
|
|
146
|
+
getActiveUserInput(trace: Trace): string;
|
|
147
|
+
/**
|
|
148
|
+
* Return a context-enriched version of the active user input.
|
|
149
|
+
*
|
|
150
|
+
* If the trace has multiple turns, the earlier Q&A pairs are
|
|
151
|
+
* prepended so that rules can understand follow-up references
|
|
152
|
+
* like "what about the same for March?" or "po sektorima".
|
|
153
|
+
*
|
|
154
|
+
* Returns the plain active input for single-turn traces.
|
|
155
|
+
*/
|
|
156
|
+
getContextualUserInput(trace: Trace): string;
|
|
157
|
+
/**
|
|
158
|
+
* Return tool outputs from only the active (last) conversation turn.
|
|
159
|
+
*
|
|
160
|
+
* For single-turn traces this is equivalent to `getAllToolOutputs()`.
|
|
161
|
+
* For multi-turn traces it excludes tool outputs from earlier turns
|
|
162
|
+
* so that rules evaluate only the data relevant to the current answer.
|
|
163
|
+
*/
|
|
164
|
+
getActiveToolOutputs(trace: Trace): ToolOutput[];
|
|
165
|
+
/**
|
|
166
|
+
* Return whether the trace contains multiple conversation turns.
|
|
167
|
+
*/
|
|
168
|
+
isMultiTurn(trace: Trace): boolean;
|
|
169
|
+
/**
|
|
170
|
+
* Build a virtual single-turn trace from the active (last) conversation turn.
|
|
171
|
+
*
|
|
172
|
+
* For multi-turn traces, the grounding engine should evaluate ONLY the
|
|
173
|
+
* active turn's response against the active turn's tool data. This method
|
|
174
|
+
* creates a new Trace that contains:
|
|
175
|
+
*
|
|
176
|
+
* 1. The original system_prompt (if present)
|
|
177
|
+
* 2. The active turn's user_input
|
|
178
|
+
* 3. The active turn's tool_call steps
|
|
179
|
+
* 4. The active turn's tool_output steps
|
|
180
|
+
* 5. The active turn's final_response
|
|
181
|
+
*
|
|
182
|
+
* The contextual user input (with history prepended) is used so that
|
|
183
|
+
* rules can understand follow-up references like "what about March?".
|
|
184
|
+
*
|
|
185
|
+
* Returns the original trace unmodified if it has only 1 turn.
|
|
186
|
+
*/
|
|
187
|
+
buildActiveTurnTrace(trace: Trace): Trace;
|
|
188
|
+
/**
|
|
189
|
+
* Normalise a trace in-place so that external formats (OpenAI chat,
|
|
190
|
+
* Anthropic Messages, custom integrations) are mapped to TG's canonical
|
|
191
|
+
* step roles.
|
|
192
|
+
*
|
|
193
|
+
* This is **idempotent**: calling it on an already-normalised trace is safe.
|
|
194
|
+
*
|
|
195
|
+
* Recognised external patterns:
|
|
196
|
+
* - OpenAI: `assistant` with `tool_calls[]` → `tool_call`
|
|
197
|
+
* - OpenAI: `role: 'tool'` or `role: 'function'` → `tool_output`
|
|
198
|
+
* - Anthropic: `assistant` with `content[].type === 'tool_use'` → `tool_call`
|
|
199
|
+
* - Anthropic: `user` with `content[].type === 'tool_result'` → `tool_output`
|
|
200
|
+
* - Custom: `function_call` → `tool_call`; `function_output`/`tool_response` → `tool_output`
|
|
201
|
+
* - Role aliases: `system`/`instructions` → `system_prompt`; `human`/`user` → `user_input`
|
|
202
|
+
* - Content-only steps: parses JSON from content into toolCalls/toolOutputs when missing
|
|
203
|
+
*/
|
|
204
|
+
normalizeTrace(trace: Trace): Trace;
|
|
205
|
+
/**
|
|
206
|
+
* Infer the temporal period from tool call parameters and tool output metadata.
|
|
207
|
+
*
|
|
208
|
+
* Checks (in priority order):
|
|
209
|
+
* 1. Explicit date range params (startDate/endDate, from/to)
|
|
210
|
+
* 2. Month param (month: "2024-01" or "January 2024")
|
|
211
|
+
* 3. Year param (year: 2024)
|
|
212
|
+
* 4. Period range in tool output (period.from / period.to)
|
|
213
|
+
* 5. Relative params (days: 7, period: "this_month")
|
|
214
|
+
*
|
|
215
|
+
* Returns a normalised ISO-ish string or undefined.
|
|
216
|
+
*/
|
|
217
|
+
inferPeriod(trace: Trace): string | undefined;
|
|
218
|
+
};
|
|
219
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Trace/index.ts"],"names":[],"mappings":"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"}
|