@voscarmv/aimessagestore 1.0.5 → 1.0.7

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/README.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  Message storage and retrieval backend for [@voscarmv/aichatbot](https://www.npmjs.com/package/@voscarmv/aichatbot)
4
4
 
5
- ## Install
5
+ ## Usage
6
6
 
7
- You may install `postgresql` and create a new username, password and database, with this script:
7
+ You may use this as per [the demo.](https://github.com/voscarmv/aibot)
8
+
9
+ Or as a standalone backend for a @voscarmv/aichatbot project. For that, install `postgresql` and create a new username, password and database, with this script:
8
10
 
9
11
  ```bash
10
12
  #!/bin/bash
@@ -33,4 +35,4 @@ echo "DATABASE_URL=postgres://$PGUSER:$PASS@localhost/$DB" >> .env
33
35
  echo "✅ Database, user, and .env file created. Edit .env if needed."
34
36
  ```
35
37
 
36
- Then just `npx drizzle-kit create` to create your `schema.ts` and you are ready to deploy with `npm publish`.
38
+ And then just run an instance of `MessageStoreBackend()` as in [this example.](https://github.com/voscarmv/aibot/blob/main/src/server.ts)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voscarmv/aimessagestore",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Message storage and retrieval for aichatbot framework ",
5
5
  "keywords": [
6
6
  "ai",
package/dist/db.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=db.d.ts.map
package/dist/db.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":""}
package/dist/db.js DELETED
@@ -1,64 +0,0 @@
1
- // import 'dotenv/config';
2
- // import { messages } from './schema.js';
3
- // import { drizzle } from 'drizzle-orm/node-postgres';
4
- // import {
5
- // sql,
6
- // eq,
7
- // and,
8
- // asc,
9
- // type InferSelectModel
10
- // } from 'drizzle-orm';
11
- export {};
12
- // const db = drizzle(process.env.DB_URL!);
13
- // // Types
14
- // export type Message = InferSelectModel<typeof messages>;
15
- // // ---------------------- MESSAGES CRUD ----------------------
16
- // export async function insertMessage(
17
- // user_id: string,
18
- // queued: boolean,
19
- // message: object
20
- // ): Promise<Message[]> {
21
- // return await db
22
- // .insert(messages)
23
- // .values({
24
- // user_id,
25
- // queued,
26
- // message: JSON.stringify(message)
27
- // })
28
- // .returning();
29
- // }
30
- // export async function readMessages(user_id: string): Promise<Message[]> {
31
- // return await db
32
- // .select()
33
- // .from(messages)
34
- // .where(eq(messages.user_id, user_id))
35
- // .orderBy(asc(messages.updated_at), asc(messages.id));
36
- // }
37
- // export async function queuedMessages(user_id: string): Promise<Message[]> {
38
- // return await db
39
- // .select()
40
- // .from(messages)
41
- // .where(
42
- // and(
43
- // eq(messages.queued, true),
44
- // eq(messages.user_id, user_id)
45
- // )
46
- // );
47
- // }
48
- // export async function unqueueMessages(user_id: string): Promise<Message[]> {
49
- // return await db
50
- // .update(messages)
51
- // .set({
52
- // queued: false,
53
- // updated_at: sql`now()`
54
- // })
55
- // .where(eq(messages.user_id, user_id))
56
- // .returning();
57
- // }
58
- // export async function deleteMessage(id: number): Promise<Message[]> {
59
- // return await db
60
- // .delete(messages)
61
- // .where(eq(messages.id, id))
62
- // .returning();
63
- // }
64
- //# sourceMappingURL=db.js.map
package/dist/db.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,0CAA0C;AAC1C,uDAAuD;AACvD,WAAW;AACX,WAAW;AACX,UAAU;AACV,WAAW;AACX,WAAW;AACX,4BAA4B;AAC5B,wBAAwB;;AAExB,2CAA2C;AAE3C,WAAW;AACX,2DAA2D;AAE3D,iEAAiE;AAEjE,uCAAuC;AACvC,uBAAuB;AACvB,uBAAuB;AACvB,sBAAsB;AACtB,0BAA0B;AAC1B,sBAAsB;AACtB,4BAA4B;AAC5B,oBAAoB;AACpB,uBAAuB;AACvB,sBAAsB;AACtB,+CAA+C;AAC/C,aAAa;AACb,wBAAwB;AACxB,IAAI;AAEJ,4EAA4E;AAC5E,sBAAsB;AACtB,oBAAoB;AACpB,0BAA0B;AAC1B,gDAAgD;AAChD,gEAAgE;AAChE,IAAI;AAEJ,8EAA8E;AAC9E,sBAAsB;AACtB,oBAAoB;AACpB,0BAA0B;AAC1B,kBAAkB;AAClB,mBAAmB;AACnB,6CAA6C;AAC7C,gDAAgD;AAChD,gBAAgB;AAChB,aAAa;AACb,IAAI;AAEJ,+EAA+E;AAC/E,sBAAsB;AACtB,4BAA4B;AAC5B,iBAAiB;AACjB,6BAA6B;AAC7B,qCAAqC;AACrC,aAAa;AACb,gDAAgD;AAChD,wBAAwB;AACxB,IAAI;AAEJ,wEAAwE;AACxE,sBAAsB;AACtB,4BAA4B;AAC5B,sCAAsC;AACtC,wBAAwB;AACxB,IAAI"}
package/dist/s.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { type CorsOptions } from "cors";
2
- export interface StoreBackend {
3
- migrate: () => void;
4
- listen: () => void;
5
- }
6
- export type MessageStoreBackendParams = {
7
- dbUrl: string;
8
- port: number;
9
- corsOpts?: CorsOptions;
10
- };
11
- export declare class AiMessageStoreBackend implements StoreBackend {
12
- #private;
13
- constructor(params: MessageStoreBackendParams);
14
- migrate(): Promise<void>;
15
- listen(): void;
16
- }
17
- //# sourceMappingURL=s.d.ts.map
package/dist/s.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"s.d.ts","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,MAAM,CAAC;AAOxC,MAAM,WAAW,YAAY;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,qBAAa,qBAAsB,YAAW,YAAY;;gBAI1C,MAAM,EAAE,yBAAyB;IAavC,OAAO;IAIb,MAAM;CAIT"}
package/dist/s.js DELETED
@@ -1,36 +0,0 @@
1
- import express, {} from "express";
2
- import {} from "cors";
3
- import { drizzle, NodePgDatabase } from "drizzle-orm/node-postgres";
4
- import { migrate } from 'drizzle-orm/node-postgres/migrator';
5
- import cors from "cors";
6
- import helmet from "helmet";
7
- import morgan from "morgan";
8
- ;
9
- export class AiMessageStoreBackend {
10
- #db;
11
- #app;
12
- #port;
13
- constructor(params) {
14
- this.#db = drizzle(params.dbUrl);
15
- this.#app = express();
16
- if (params.corsOpts) {
17
- this.#app.use(cors(params.corsOpts));
18
- }
19
- else {
20
- this.#app.use(cors());
21
- }
22
- this.#app.use(helmet());
23
- this.#app.use(morgan("combined"));
24
- this.#app.use(express.json());
25
- this.#port = params.port;
26
- }
27
- async migrate() {
28
- await migrate(this.#db, { migrationsFolder: './dist/drizzle' });
29
- return;
30
- }
31
- listen() {
32
- this.#app.listen(this.#port);
33
- return;
34
- }
35
- }
36
- //# sourceMappingURL=s.js.map
package/dist/s.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"s.js","sourceRoot":"","sources":["../src/s.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAgB,MAAM,SAAS,CAAC;AAChD,OAAO,EAAoB,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAK3B,CAAC;AAQF,MAAM,OAAO,qBAAqB;IAC9B,GAAG,CAAwC;IAC3C,IAAI,CAAU;IACd,KAAK,CAAS;IACd,YAAY,MAAiC;QACzC,IAAI,CAAC,GAAG,GAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAC,OAAO,EAAE,CAAC;QACpB,IAAG,MAAM,CAAC,QAAQ,EAAC,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,OAAO;QACT,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAC9D,OAAO;IACX,CAAC;IACD,MAAM;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO;IACX,CAAC;CACJ"}