@artinet/sdk
Version:
A TypeScript SDK for building collaborative AI agents.
354 lines (353 loc) • 13.8 kB
TypeScript
/**
* Copyright 2025 The Artinet Project
* SPDX-License-Identifier: Apache-2.0
*/
import { A2A } from "../types/index.js";
import { Tasks } from "../services/a2a/managers.js";
import { BaseSQLiteDatabase } from "drizzle-orm/sqlite-core";
export declare const TABLE_NAME = "artinet_tasks";
export declare const createTaskTable: (db: BaseSQLiteDatabase<`sync` | `async`, any, TaskTable>) => Promise<void>;
export declare const TaskTable: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
name: "artinet_tasks";
schema: undefined;
columns: {
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "id";
tableName: "artinet_tasks";
dataType: "string";
columnType: "SQLiteText";
data: string;
driverParam: string;
notNull: true;
hasDefault: false;
isPrimaryKey: true;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: [string, ...string[]];
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
length: undefined;
}>;
contextId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "contextId";
tableName: "artinet_tasks";
dataType: "string";
columnType: "SQLiteText";
data: string;
driverParam: string;
notNull: true;
hasDefault: false;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: [string, ...string[]];
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
length: undefined;
}>;
kind: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "kind";
tableName: "artinet_tasks";
dataType: "string";
columnType: "SQLiteText";
data: "task";
driverParam: string;
notNull: true;
hasDefault: false;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: [string, ...string[]];
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
length: number | undefined;
$type: "task";
}>;
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "status";
tableName: "artinet_tasks";
dataType: "json";
columnType: "SQLiteTextJson";
data: {
state: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required";
message?: {
role: "user" | "agent";
parts: ({
kind: "text";
text: string;
metadata?: Record<string, unknown> | undefined;
} | {
kind: "file";
file: {
bytes: string;
name?: string | undefined;
mimeType?: string | undefined;
uri?: undefined;
} | {
uri: string;
name?: string | undefined;
mimeType?: string | undefined;
bytes?: undefined;
};
metadata?: Record<string, unknown> | undefined;
} | {
kind: "data";
data: Record<string, unknown>;
metadata?: Record<string, unknown> | undefined;
})[];
messageId: string;
kind: "message";
metadata?: Record<string, unknown> | undefined;
extensions?: string[] | undefined;
referenceTaskIds?: string[] | undefined;
taskId?: string | undefined;
contextId?: string | undefined;
} | undefined;
timestamp?: string | undefined;
};
driverParam: string;
notNull: true;
hasDefault: false;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: undefined;
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
$type: {
state: "unknown" | "submitted" | "working" | "input-required" | "completed" | "canceled" | "failed" | "rejected" | "auth-required";
message?: {
role: "user" | "agent";
parts: ({
kind: "text";
text: string;
metadata?: Record<string, unknown> | undefined;
} | {
kind: "file";
file: {
bytes: string;
name?: string | undefined;
mimeType?: string | undefined;
uri?: undefined;
} | {
uri: string;
name?: string | undefined;
mimeType?: string | undefined;
bytes?: undefined;
};
metadata?: Record<string, unknown> | undefined;
} | {
kind: "data";
data: Record<string, unknown>;
metadata?: Record<string, unknown> | undefined;
})[];
messageId: string;
kind: "message";
metadata?: Record<string, unknown> | undefined;
extensions?: string[] | undefined;
referenceTaskIds?: string[] | undefined;
taskId?: string | undefined;
contextId?: string | undefined;
} | undefined;
timestamp?: string | undefined;
};
}>;
history: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "history";
tableName: "artinet_tasks";
dataType: "json";
columnType: "SQLiteTextJson";
data: {
role: "user" | "agent";
parts: ({
kind: "text";
text: string;
metadata?: Record<string, unknown> | undefined;
} | {
kind: "file";
file: {
bytes: string;
name?: string | undefined;
mimeType?: string | undefined;
uri?: undefined;
} | {
uri: string;
name?: string | undefined;
mimeType?: string | undefined;
bytes?: undefined;
};
metadata?: Record<string, unknown> | undefined;
} | {
kind: "data";
data: Record<string, unknown>;
metadata?: Record<string, unknown> | undefined;
})[];
messageId: string;
kind: "message";
metadata?: Record<string, unknown> | undefined;
extensions?: string[] | undefined;
referenceTaskIds?: string[] | undefined;
taskId?: string | undefined;
contextId?: string | undefined;
}[];
driverParam: string;
notNull: true;
hasDefault: true;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: undefined;
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
$type: {
role: "user" | "agent";
parts: ({
kind: "text";
text: string;
metadata?: Record<string, unknown> | undefined;
} | {
kind: "file";
file: {
bytes: string;
name?: string | undefined;
mimeType?: string | undefined;
uri?: undefined;
} | {
uri: string;
name?: string | undefined;
mimeType?: string | undefined;
bytes?: undefined;
};
metadata?: Record<string, unknown> | undefined;
} | {
kind: "data";
data: Record<string, unknown>;
metadata?: Record<string, unknown> | undefined;
})[];
messageId: string;
kind: "message";
metadata?: Record<string, unknown> | undefined;
extensions?: string[] | undefined;
referenceTaskIds?: string[] | undefined;
taskId?: string | undefined;
contextId?: string | undefined;
}[];
}>;
artifacts: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "artifacts";
tableName: "artinet_tasks";
dataType: "json";
columnType: "SQLiteTextJson";
data: {
artifactId: string;
parts: ({
kind: "text";
text: string;
metadata?: Record<string, unknown> | undefined;
} | {
kind: "file";
file: {
bytes: string;
name?: string | undefined;
mimeType?: string | undefined;
uri?: undefined;
} | {
uri: string;
name?: string | undefined;
mimeType?: string | undefined;
bytes?: undefined;
};
metadata?: Record<string, unknown> | undefined;
} | {
kind: "data";
data: Record<string, unknown>;
metadata?: Record<string, unknown> | undefined;
})[];
name?: string | undefined;
description?: string | undefined;
metadata?: Record<string, unknown> | undefined;
extension?: string[] | undefined;
}[];
driverParam: string;
notNull: true;
hasDefault: true;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: undefined;
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
$type: {
artifactId: string;
parts: ({
kind: "text";
text: string;
metadata?: Record<string, unknown> | undefined;
} | {
kind: "file";
file: {
bytes: string;
name?: string | undefined;
mimeType?: string | undefined;
uri?: undefined;
} | {
uri: string;
name?: string | undefined;
mimeType?: string | undefined;
bytes?: undefined;
};
metadata?: Record<string, unknown> | undefined;
} | {
kind: "data";
data: Record<string, unknown>;
metadata?: Record<string, unknown> | undefined;
})[];
name?: string | undefined;
description?: string | undefined;
metadata?: Record<string, unknown> | undefined;
extension?: string[] | undefined;
}[];
}>;
metadata: import("drizzle-orm/sqlite-core").SQLiteColumn<{
name: "metadata";
tableName: "artinet_tasks";
dataType: "json";
columnType: "SQLiteTextJson";
data: Record<string, unknown>;
driverParam: string;
notNull: true;
hasDefault: true;
isPrimaryKey: false;
isAutoincrement: false;
hasRuntimeDefault: false;
enumValues: undefined;
baseColumn: never;
identity: undefined;
generated: undefined;
}, {}, {
$type: Record<string, unknown>;
}>;
};
dialect: "sqlite";
}>;
export type TaskTable = typeof TaskTable.$inferSelect;
export declare class SQLiteStore extends Tasks {
private db;
constructor(db: BaseSQLiteDatabase<`sync` | `async`, any, TaskTable>, tasks?: Map<string, A2A.Task>);
get(id: string): Promise<A2A.Task | undefined>;
set(id: string, data?: A2A.Task): Promise<void>;
delete(id: string): Promise<void>;
search(query: string): Promise<A2A.Task[]>;
}