@deepagents/context 0.24.0 → 0.25.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/dist/index.js CHANGED
@@ -5932,10 +5932,13 @@ function clampFloat(value, min, max) {
5932
5932
  import { DatabaseSync as DatabaseSync2 } from "node:sqlite";
5933
5933
 
5934
5934
  // packages/context/src/lib/stream/ddl.stream.sqlite.sql
5935
- var ddl_stream_sqlite_default = "PRAGMA journal_mode = WAL;\nPRAGMA synchronous = NORMAL;\nPRAGMA foreign_keys = ON;\n\nCREATE TABLE IF NOT EXISTS streams (\n id TEXT PRIMARY KEY,\n status TEXT NOT NULL DEFAULT 'queued'\n CHECK(status IN ('queued','running','completed','failed','cancelled')),\n createdAt INTEGER NOT NULL,\n startedAt INTEGER,\n finishedAt INTEGER,\n cancelRequestedAt INTEGER,\n error TEXT\n);\n\nCREATE TABLE IF NOT EXISTS stream_chunks (\n streamId TEXT NOT NULL,\n seq INTEGER NOT NULL,\n data TEXT NOT NULL,\n createdAt INTEGER NOT NULL,\n PRIMARY KEY (streamId, seq),\n FOREIGN KEY (streamId) REFERENCES streams(id) ON DELETE CASCADE\n);\n";
5935
+ var ddl_stream_sqlite_default = "PRAGMA journal_mode = WAL;\nPRAGMA synchronous = NORMAL;\nPRAGMA foreign_keys = ON;\n\nCREATE TABLE IF NOT EXISTS streams (\n id TEXT PRIMARY KEY,\n status TEXT NOT NULL DEFAULT 'queued'\n CHECK(status IN ('queued','running','completed','failed','cancelled')),\n createdAt INTEGER NOT NULL,\n startedAt INTEGER,\n finishedAt INTEGER,\n cancelRequestedAt INTEGER,\n error TEXT\n);\n\nCREATE TABLE IF NOT EXISTS stream_chunks (\n streamId TEXT NOT NULL,\n seq INTEGER NOT NULL,\n data TEXT NOT NULL,\n createdAt INTEGER NOT NULL,\n PRIMARY KEY (streamId, seq),\n FOREIGN KEY (streamId) REFERENCES streams(id) ON DELETE CASCADE\n);\n\n-- Supports ordered listing across all streams.\nCREATE INDEX IF NOT EXISTS idx_streams_created_at_id\n ON streams(createdAt, id);\n\n-- Supports status-filtered ordered listing (e.g. running streams).\nCREATE INDEX IF NOT EXISTS idx_streams_status_created_at_id\n ON streams(status, createdAt, id);\n";
5936
5936
 
5937
5937
  // packages/context/src/lib/stream/stream-store.ts
5938
5938
  var StreamStore = class {
5939
+ async listRunningStreamIds() {
5940
+ return this.listStreamIds({ status: "running" });
5941
+ }
5939
5942
  };
5940
5943
 
5941
5944
  // packages/context/src/lib/stream/sqlite.stream-store.ts
@@ -6034,6 +6037,17 @@ var SqliteStreamStore = class extends StreamStore {
6034
6037
  );
6035
6038
  return row?.status;
6036
6039
  }
6040
+ async listStreamIds(options) {
6041
+ let sql = "SELECT id FROM streams";
6042
+ const params = [];
6043
+ if (options?.status) {
6044
+ sql += " WHERE status = ?";
6045
+ params.push(options.status);
6046
+ }
6047
+ sql += " ORDER BY createdAt ASC, id ASC";
6048
+ const rows = this.#stmt(sql).all(...params);
6049
+ return rows.map((row) => row.id);
6050
+ }
6037
6051
  async updateStreamStatus(streamId, status, options) {
6038
6052
  const now = Date.now();
6039
6053
  switch (status) {
@@ -6191,6 +6205,9 @@ var StreamManager = class {
6191
6205
  async cancel(streamId) {
6192
6206
  await this.#store.updateStreamStatus(streamId, "cancelled");
6193
6207
  }
6208
+ async listStreamIds(options) {
6209
+ return this.#store.listStreamIds(options);
6210
+ }
6194
6211
  async persist(stream, streamId, options) {
6195
6212
  const existing = await this.#store.getStream(streamId);
6196
6213
  if (existing && isTerminal(existing.status)) {