@ykurilov/agent-chat-core 0.57.0 → 0.58.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.
- package/CHANGELOG.md +19 -0
- package/dist/{chunk-BS2HDKZB.js → chunk-KAG3QTZC.js} +165 -24
- package/dist/chunk-KAG3QTZC.js.map +1 -0
- package/dist/index.js +49 -1
- package/dist/index.js.map +1 -1
- package/dist/storage-contract.js +1 -1
- package/dist/types/agent-run/next-attempt.d.ts +12 -1
- package/dist/types/agent-run/run-agent-turn.d.ts +6 -0
- package/dist/types/chat-service.d.ts +19 -0
- package/dist/types/helpers/run-helper.d.ts +3 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/provider-errors/classify-provider-error.d.ts +5 -0
- package/dist/types/provider-errors/error-signs.d.ts +2 -2
- package/dist/types/provider-errors/provider-outages.d.ts +41 -0
- package/dist/types/storage/postgres-migrations.d.ts +28 -0
- package/package.json +1 -1
- package/dist/chunk-BS2HDKZB.js.map +0 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Соединение PostgreSQL, которое нужно помощнику миграций. Подходит `PoolClient` из `pg`: core от `pg` не зависит. */
|
|
2
|
+
export interface PostgresMigrationConnection {
|
|
3
|
+
query(text: string, values?: unknown[]): Promise<{
|
|
4
|
+
rows: unknown[];
|
|
5
|
+
}>;
|
|
6
|
+
release(): void;
|
|
7
|
+
}
|
|
8
|
+
export interface PostgresMigrationOptions<Connection extends PostgresMigrationConnection> {
|
|
9
|
+
/** Новое соединение из пула, например `() => pool.connect()`; на каждую попытку — своё. */
|
|
10
|
+
connect(): Promise<Connection>;
|
|
11
|
+
/** Своя блокировка пакета: одновременно мигрирует только одна копия этого пакета. */
|
|
12
|
+
lockKey: number;
|
|
13
|
+
/** Миграции пакета на этом соединении, например `migrate(drizzle(connection), …)`. */
|
|
14
|
+
migrate(connection: Connection): Promise<void>;
|
|
15
|
+
/** Паузы перед повторами, если всё же столкнулись с соседом. */
|
|
16
|
+
retryDelaysMs?: readonly number[];
|
|
17
|
+
}
|
|
18
|
+
/** Схема всех пакетов SDK. */
|
|
19
|
+
export declare const AGENT_CHAT_SCHEMA = "agent_chat";
|
|
20
|
+
/** Общая блокировка на создание схемы: одна на все пакеты, держится только на `create schema`. */
|
|
21
|
+
export declare const AGENT_CHAT_SCHEMA_LOCK_KEY = 7311900441;
|
|
22
|
+
/**
|
|
23
|
+
* Создаёт схему `agent_chat` и применяет миграции пакета так, чтобы пакеты могли стартовать одновременно на пустой базе.
|
|
24
|
+
* Схема создаётся под общей блокировкой, затем она отпускается и берётся своя блокировка пакета: блокировки не
|
|
25
|
+
* вложены, поэтому взаимной блокировки нет, а разные пакеты ждут друг друга только на создании схемы.
|
|
26
|
+
* Столкнулись всё же («уже есть») — повтор с начала на новом соединении.
|
|
27
|
+
*/
|
|
28
|
+
export declare function migratePostgresSchema<Connection extends PostgresMigrationConnection>(options: PostgresMigrationOptions<Connection>): Promise<void>;
|