UNPKG

@artinet/sdk

Version:

A TypeScript SDK for building collaborative AI agents.

354 lines (353 loc) 13.8 kB
/** * 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[]>; }