@ai2070/l0
Version:
L0: The Missing Reliability Substrate for AI
196 lines (195 loc) • 5.36 kB
JavaScript
const EventCategory = {
SESSION: "SESSION",
STREAM: "STREAM",
ADAPTER: "ADAPTER",
TIMEOUT: "TIMEOUT",
NETWORK: "NETWORK",
ABORT: "ABORT",
GUARDRAIL: "GUARDRAIL",
DRIFT: "DRIFT",
CHECKPOINT: "CHECKPOINT",
RESUME: "RESUME",
RETRY: "RETRY",
FALLBACK: "FALLBACK",
STRUCTURED: "STRUCTURED",
CONTINUATION: "CONTINUATION",
TOOL: "TOOL",
COMPLETION: "COMPLETION"
};
const SessionEvents = {
SESSION_START: "SESSION_START",
SESSION_END: "SESSION_END",
SESSION_SUMMARY: "SESSION_SUMMARY",
ATTEMPT_START: "ATTEMPT_START"
};
const StreamEvents = {
STREAM_INIT: "STREAM_INIT",
STREAM_READY: "STREAM_READY",
TOKEN: "TOKEN"
};
const AdapterEvents = {
ADAPTER_DETECTED: "ADAPTER_DETECTED",
ADAPTER_WRAP_START: "ADAPTER_WRAP_START",
ADAPTER_WRAP_END: "ADAPTER_WRAP_END"
};
const TimeoutEvents = {
TIMEOUT_START: "TIMEOUT_START",
TIMEOUT_RESET: "TIMEOUT_RESET",
TIMEOUT_TRIGGERED: "TIMEOUT_TRIGGERED"
};
const NetworkEvents = {
NETWORK_ERROR: "NETWORK_ERROR",
NETWORK_RECOVERY: "NETWORK_RECOVERY",
CONNECTION_DROPPED: "CONNECTION_DROPPED",
CONNECTION_RESTORED: "CONNECTION_RESTORED"
};
const AbortEvents = {
ABORT_REQUESTED: "ABORT_REQUESTED",
ABORT_COMPLETED: "ABORT_COMPLETED"
};
const GuardrailEvents = {
GUARDRAIL_PHASE_START: "GUARDRAIL_PHASE_START",
GUARDRAIL_RULE_START: "GUARDRAIL_RULE_START",
GUARDRAIL_RULE_RESULT: "GUARDRAIL_RULE_RESULT",
GUARDRAIL_RULE_END: "GUARDRAIL_RULE_END",
GUARDRAIL_PHASE_END: "GUARDRAIL_PHASE_END",
GUARDRAIL_CALLBACK_START: "GUARDRAIL_CALLBACK_START",
GUARDRAIL_CALLBACK_END: "GUARDRAIL_CALLBACK_END"
};
const DriftEvents = {
DRIFT_CHECK_START: "DRIFT_CHECK_START",
DRIFT_CHECK_RESULT: "DRIFT_CHECK_RESULT",
DRIFT_CHECK_END: "DRIFT_CHECK_END",
DRIFT_CHECK_SKIPPED: "DRIFT_CHECK_SKIPPED"
};
const CheckpointEvents = {
CHECKPOINT_SAVED: "CHECKPOINT_SAVED"
};
const ResumeEvents = {
RESUME_START: "RESUME_START"
};
const RetryEvents = {
RETRY_START: "RETRY_START",
RETRY_ATTEMPT: "RETRY_ATTEMPT",
RETRY_END: "RETRY_END",
RETRY_GIVE_UP: "RETRY_GIVE_UP",
RETRY_FN_START: "RETRY_FN_START",
RETRY_FN_RESULT: "RETRY_FN_RESULT",
RETRY_FN_ERROR: "RETRY_FN_ERROR"
};
const FallbackEvents = {
FALLBACK_START: "FALLBACK_START",
FALLBACK_MODEL_SELECTED: "FALLBACK_MODEL_SELECTED",
FALLBACK_END: "FALLBACK_END"
};
const StructuredEvents = {
STRUCTURED_PARSE_START: "STRUCTURED_PARSE_START",
STRUCTURED_PARSE_END: "STRUCTURED_PARSE_END",
STRUCTURED_PARSE_ERROR: "STRUCTURED_PARSE_ERROR",
STRUCTURED_VALIDATION_START: "STRUCTURED_VALIDATION_START",
STRUCTURED_VALIDATION_END: "STRUCTURED_VALIDATION_END",
STRUCTURED_VALIDATION_ERROR: "STRUCTURED_VALIDATION_ERROR",
STRUCTURED_AUTO_CORRECT_START: "STRUCTURED_AUTO_CORRECT_START",
STRUCTURED_AUTO_CORRECT_END: "STRUCTURED_AUTO_CORRECT_END"
};
const ContinuationEvents = {
CONTINUATION_START: "CONTINUATION_START"
};
const ToolEvents = {
TOOL_REQUESTED: "TOOL_REQUESTED",
TOOL_START: "TOOL_START",
TOOL_RESULT: "TOOL_RESULT",
TOOL_ERROR: "TOOL_ERROR",
TOOL_COMPLETED: "TOOL_COMPLETED"
};
const CompletionEvents = {
COMPLETE: "COMPLETE",
ERROR: "ERROR"
};
const EventType = {
...SessionEvents,
...StreamEvents,
...AdapterEvents,
...TimeoutEvents,
...NetworkEvents,
...AbortEvents,
...GuardrailEvents,
...DriftEvents,
...CheckpointEvents,
...ResumeEvents,
...RetryEvents,
...FallbackEvents,
...StructuredEvents,
...ContinuationEvents,
...ToolEvents,
...CompletionEvents
};
const EventTypesByCategory = {
[]: SessionEvents,
[]: StreamEvents,
[]: AdapterEvents,
[]: TimeoutEvents,
[]: NetworkEvents,
[]: AbortEvents,
[]: GuardrailEvents,
[]: DriftEvents,
[]: CheckpointEvents,
[]: ResumeEvents,
[]: RetryEvents,
[]: FallbackEvents,
[]: StructuredEvents,
[]: ContinuationEvents,
[]: ToolEvents,
[]: CompletionEvents
};
function serializeEvent(event) {
return JSON.stringify(event, (_key, value) => {
if (value instanceof Error) {
const serialized = {};
for (const key of Object.keys(value)) {
serialized[key] = value[key];
}
serialized.name = value.name;
serialized.message = value.message;
serialized.stack = value.stack;
serialized.__type = "Error";
return serialized;
}
return value;
});
}
function deserializeEvent(json) {
return JSON.parse(json, (_key, value) => {
if (value?.__type === "Error") {
const err = new Error(value.message);
err.name = value.name;
err.stack = value.stack;
return err;
}
return value;
});
}
export {
AbortEvents,
AdapterEvents,
CheckpointEvents,
CompletionEvents,
ContinuationEvents,
DriftEvents,
EventCategory,
EventType,
EventTypesByCategory,
FallbackEvents,
GuardrailEvents,
NetworkEvents,
ResumeEvents,
RetryEvents,
SessionEvents,
StreamEvents,
StructuredEvents,
TimeoutEvents,
ToolEvents,
deserializeEvent,
serializeEvent
};
//# sourceMappingURL=observability.js.map