first commit
Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled

This commit is contained in:
2026-03-17 16:22:57 +03:30
commit 3d5eaf9445
15349 changed files with 2847338 additions and 0 deletions
@@ -0,0 +1,48 @@
import type { IDataObject } from 'n8n-workflow';
export const AlertStatuses = {
NEW: 'New',
UPDATED: 'Updated',
IGNORED: 'Ignored',
IMPORTED: 'Imported',
} as const;
export type AlertStatus = (typeof AlertStatuses)[keyof typeof AlertStatuses];
export const TLPs = {
white: 0,
green: 1,
amber: 2,
red: 3,
} as const;
export type TLP = (typeof TLPs)[keyof typeof TLPs];
export interface IAlert {
// Required attributes
id?: string;
title?: string;
description?: string;
severity?: number;
date?: Date;
tags?: string[];
tlp?: TLP;
status?: AlertStatus;
type?: string;
source?: string;
sourceRef?: string;
artifacts?: IDataObject[];
follow?: boolean;
// Optional attributes
caseTemplate?: string;
// Backend generated attributes
lastSyncDate?: Date;
case?: string;
createdBy?: string;
createdAt?: Date;
updatedBy?: string;
upadtedAt?: Date;
}
@@ -0,0 +1,60 @@
import type { IDataObject } from 'n8n-workflow';
import type { TLP } from './AlertInterface';
export interface ICase {
// Required attributes
id?: string;
title?: string;
description?: string;
severity?: number;
startDate?: Date;
owner?: string;
flag?: boolean;
tlp?: TLP;
tags?: string[];
// Optional attributes
resolutionStatus?: CaseResolutionStatus;
impactStatus?: CaseImpactStatus;
summary?: string;
endDate?: Date;
metrics?: IDataObject;
// Backend generated attributes
status?: CaseStatus;
caseId?: number; // auto-generated attribute
mergeInto?: string;
mergeFrom?: string[];
createdBy?: string;
createdAt?: Date;
updatedBy?: string;
upadtedAt?: Date;
}
export const CaseStatuses = {
OPEN: 'Open',
RESOLVED: 'Resolved',
DELETED: 'Deleted',
} as const;
export type CaseStatus = (typeof CaseStatuses)[keyof typeof CaseStatuses];
export const CaseResolutionStatuses = {
INDETERMINATE: 'Indeterminate',
FALSEPOSITIVE: 'FalsePositive',
TRUEPOSITIVE: 'TruePositive',
OTHER: 'Other',
DUPLICATED: 'Duplicated',
} as const;
export type CaseResolutionStatus =
(typeof CaseResolutionStatuses)[keyof typeof CaseResolutionStatuses];
export const CaseImpactStatuses = {
NOIMPACT: 'NoImpact',
WITHIMPACT: 'WithImpact',
NOTAPPLICABLE: 'NotApplicable',
} as const;
export type CaseImpactStatus = (typeof CaseImpactStatuses)[keyof typeof CaseImpactStatuses];
@@ -0,0 +1,26 @@
import type { IAttachment } from './ObservableInterface';
export const LogStatuses = {
OK: 'Ok',
DELETED: 'Deleted',
} as const;
export type LogStatus = (typeof LogStatuses)[keyof typeof LogStatuses];
export interface ILog {
// Required attributes
id?: string;
message?: string;
startDate?: Date;
status?: LogStatus;
// Optional attributes
attachment?: IAttachment;
// Backend generated attributes
createdBy?: string;
createdAt?: Date;
updatedBy?: string;
upadtedAt?: Date;
}
@@ -0,0 +1,55 @@
import type { TLP } from './AlertInterface';
export const ObservableStatuses = {
OK: 'Ok',
DELETED: 'Deleted',
} as const;
export type ObservableStatus = (typeof ObservableStatuses)[keyof typeof ObservableStatuses];
export const ObservableDataTypes = {
domain: 'domain',
file: 'file',
filename: 'filename',
fqdn: 'fqdn',
hash: 'hash',
ip: 'ip',
mail: 'mail',
mail_subject: 'mail_subject',
other: 'other',
regexp: 'regexp',
registry: 'registry',
uri_path: 'uri_path',
url: 'url',
'user-agent': 'user-agent',
} as const;
export type ObservableDataType = (typeof ObservableDataTypes)[keyof typeof ObservableDataTypes];
export interface IAttachment {
name?: string;
size?: number;
id?: string;
contentType?: string;
hashes: string[];
}
export interface IObservable {
// Required attributes
id?: string;
data?: string;
attachment?: IAttachment;
dataType?: ObservableDataType;
message?: string;
startDate?: Date;
tlp?: TLP;
ioc?: boolean;
status?: ObservableStatus;
// Optional attributes
tags: string[];
// Backend generated attributes
createdBy?: string;
createdAt?: Date;
updatedBy?: string;
upadtedAt?: Date;
}
@@ -0,0 +1,27 @@
export interface ITask {
// Required attributes
id?: string;
title?: string;
status?: TaskStatus;
flag?: boolean;
// Optional attributes
owner?: string;
description?: string;
startDate?: Date;
endDate?: Date;
// Backend generated attributes
createdBy?: string;
createdAt?: Date;
updatedBy?: string;
upadtedAt?: Date;
}
export const TaskStatuses = {
WAITING: 'Waiting',
INPROGRESS: 'InProgress',
COMPLETED: 'Completed',
CANCEL: 'Cancel',
} as const;
export type TaskStatus = (typeof TaskStatuses)[keyof typeof TaskStatuses];