@visiblebase/core 0.2.0 → 0.2.3
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 +12 -11
- package/bin/core/auth/authenticator.d.ts +17 -6
- package/bin/core/auth/authenticator.d.ts.map +1 -1
- package/bin/core/auth/authenticator.js +49 -30
- package/bin/core/auth/authenticator.js.map +1 -1
- package/bin/core/base/base.d.ts +11 -40
- package/bin/core/base/base.d.ts.map +1 -1
- package/bin/core/base/base.js +146 -102
- package/bin/core/base/base.js.map +1 -1
- package/bin/core/runtime.d.ts +10 -0
- package/bin/core/runtime.d.ts.map +1 -1
- package/bin/index.d.ts +5 -14
- package/bin/index.d.ts.map +1 -1
- package/bin/index.js +5 -14
- package/bin/index.js.map +1 -1
- package/bin/service/action.d.ts +44 -0
- package/bin/service/action.d.ts.map +1 -0
- package/bin/service/action.js +48 -0
- package/bin/service/action.js.map +1 -0
- package/bin/service/ai/ai-service.d.ts +36 -60
- package/bin/service/ai/ai-service.d.ts.map +1 -1
- package/bin/service/ai/ai-service.js +194 -120
- package/bin/service/ai/ai-service.js.map +1 -1
- package/bin/service/ai/provider.d.ts +24 -58
- package/bin/service/ai/provider.d.ts.map +1 -1
- package/bin/service/ai/provider.js +20 -41
- package/bin/service/ai/provider.js.map +1 -1
- package/bin/service/ai/types.d.ts +57 -35
- package/bin/service/ai/types.d.ts.map +1 -1
- package/bin/service/ai/types.js +1 -1
- package/bin/service/env/env-service.d.ts +0 -4
- package/bin/service/env/env-service.d.ts.map +1 -1
- package/bin/service/env/env-service.js +15 -25
- package/bin/service/env/env-service.js.map +1 -1
- package/bin/service/hook.d.ts +8 -5
- package/bin/service/hook.d.ts.map +1 -1
- package/bin/service/hook.js +11 -14
- package/bin/service/hook.js.map +1 -1
- package/bin/service/plugin.d.ts +20 -96
- package/bin/service/plugin.d.ts.map +1 -1
- package/bin/service/plugin.js +24 -61
- package/bin/service/plugin.js.map +1 -1
- package/bin/service/products/products-service.d.ts +0 -5
- package/bin/service/products/products-service.d.ts.map +1 -1
- package/bin/service/products/products-service.js +19 -25
- package/bin/service/products/products-service.js.map +1 -1
- package/bin/service/service.d.ts +76 -65
- package/bin/service/service.d.ts.map +1 -1
- package/bin/service/service.js +47 -80
- package/bin/service/service.js.map +1 -1
- package/bin/service/types.d.ts +2 -8
- package/bin/service/types.d.ts.map +1 -1
- package/bin/store/db.d.ts +5 -4
- package/bin/store/db.d.ts.map +1 -1
- package/bin/store/db.js +3 -2
- package/bin/store/db.js.map +1 -1
- package/package.json +8 -9
package/bin/service/service.js
CHANGED
|
@@ -1,35 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Service — SDK 核心单元。
|
|
3
3
|
*
|
|
4
|
-
* 每个 Service =
|
|
5
|
-
*
|
|
4
|
+
* 每个 Service = 一组 Action + 数据库表 + hook。
|
|
5
|
+
* Action 是 Service 的一等能力单元,可独立被 client 调用。
|
|
6
6
|
* Service 需要的基础设施(DB、Auth、Env)由 Base 直接设为属性。
|
|
7
7
|
*/
|
|
8
8
|
import { Hook } from "./hook.js";
|
|
9
|
+
import { Action } from "./action.js";
|
|
10
|
+
/**
|
|
11
|
+
* 归一化 action 鉴权配置。
|
|
12
|
+
*
|
|
13
|
+
* 关键说明(中文)
|
|
14
|
+
* - 默认值仍然是 `["user"]`
|
|
15
|
+
* - `[]` 表示 guest / user / admin 都可访问
|
|
16
|
+
* - 返回值会去重,方便 Base 在路由层统一处理
|
|
17
|
+
*/
|
|
18
|
+
export function normalizeRouteAuth(auth) {
|
|
19
|
+
if (auth === undefined)
|
|
20
|
+
return ["user"];
|
|
21
|
+
return [...new Set(auth)];
|
|
22
|
+
}
|
|
9
23
|
// ===========================================================================
|
|
10
24
|
// Service
|
|
11
25
|
// ===========================================================================
|
|
12
26
|
export class Service {
|
|
13
27
|
id;
|
|
14
28
|
name;
|
|
29
|
+
/** Service 级 hook,该 Service 下所有 Action 共享 */
|
|
15
30
|
hook = new Hook();
|
|
16
31
|
tables;
|
|
17
32
|
env;
|
|
18
|
-
/**
|
|
19
|
-
|
|
20
|
-
|
|
33
|
+
/** Action 注册表 */
|
|
34
|
+
actionMap = new Map();
|
|
35
|
+
// ========== Base 注入 ==========
|
|
21
36
|
_db;
|
|
22
|
-
/** 数据库底层连接,用于 DDL(Base 初始化后设置) */
|
|
23
37
|
_client;
|
|
24
|
-
/**
|
|
25
|
-
* 鉴权器(Base 初始化后设置)。
|
|
26
|
-
*/
|
|
27
38
|
_authenticator;
|
|
28
|
-
/**
|
|
29
|
-
* Runtime 环境变量(Base 初始化后设置)。
|
|
30
|
-
*/
|
|
31
39
|
_env;
|
|
32
|
-
|
|
40
|
+
/** 原始数据库实例(better-sqlite3 / D1 等) */
|
|
41
|
+
_raw;
|
|
42
|
+
/** 服务公网 URL */
|
|
43
|
+
_baseURL;
|
|
33
44
|
constructor(options) {
|
|
34
45
|
this.id = options.id;
|
|
35
46
|
this.name = options.name ?? options.id;
|
|
@@ -37,78 +48,34 @@ export class Service {
|
|
|
37
48
|
this.env = options.env;
|
|
38
49
|
}
|
|
39
50
|
// ========== 生命周期 ==========
|
|
51
|
+
async _onInit() { }
|
|
52
|
+
// ========== Action 注册 ==========
|
|
40
53
|
/**
|
|
41
|
-
*
|
|
42
|
-
* Service 在此创建自己的 Store、种子数据等。默认空实现。
|
|
54
|
+
* 注册一个 Action(默认 POST,auth=["user"])。
|
|
43
55
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
patch(path, handler, opts) {
|
|
56
|
-
return this._add("PATCH", path, handler, opts);
|
|
56
|
+
action(id, fn, opts) {
|
|
57
|
+
if (this.actionMap.has(id)) {
|
|
58
|
+
throw new Error(`Duplicate action: ${this.id}.${id}`);
|
|
59
|
+
}
|
|
60
|
+
const action = new Action(id, fn);
|
|
61
|
+
this.actionMap.set(id, {
|
|
62
|
+
action,
|
|
63
|
+
method: opts?.method ?? "POST",
|
|
64
|
+
auth: normalizeRouteAuth(opts?.auth),
|
|
65
|
+
});
|
|
66
|
+
return action;
|
|
57
67
|
}
|
|
58
|
-
|
|
59
|
-
|
|
68
|
+
/** 获取已注册的 Action */
|
|
69
|
+
get(id) {
|
|
70
|
+
return this.actionMap.get(id)?.action;
|
|
60
71
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return this.
|
|
72
|
+
/** 列出所有已注册的 Action */
|
|
73
|
+
list() {
|
|
74
|
+
return [...this.actionMap.values()].map((e) => e.action);
|
|
64
75
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
path: normalizeRoutePath(path),
|
|
69
|
-
auth: opts?.auth ?? "user",
|
|
70
|
-
handler: wrapHandler(handler, this),
|
|
71
|
-
});
|
|
72
|
-
return this;
|
|
76
|
+
/** 列出 Action 及其元数据(Base 内部使用) */
|
|
77
|
+
_listActionDefs() {
|
|
78
|
+
return [...this.actionMap.values()];
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
|
-
// ===========================================================================
|
|
76
|
-
// wrapHandler
|
|
77
|
-
// ===========================================================================
|
|
78
|
-
function wrapHandler(handler, service) {
|
|
79
|
-
return async (routeCtx) => {
|
|
80
|
-
const input = routeCtx.request.method === "GET" ? {} : await routeCtx.json();
|
|
81
|
-
const db = {};
|
|
82
|
-
if (service.tables) {
|
|
83
|
-
for (const name of Object.keys(service.tables)) {
|
|
84
|
-
db[name] = await routeCtx.table(name);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
const result = await handler({
|
|
88
|
-
input, db,
|
|
89
|
-
user: routeCtx.user,
|
|
90
|
-
product: routeCtx.product,
|
|
91
|
-
request: routeCtx.request,
|
|
92
|
-
env: (key) => routeCtx.env(key),
|
|
93
|
-
});
|
|
94
|
-
if (result instanceof Response)
|
|
95
|
-
return result;
|
|
96
|
-
return routeCtx.jsonResponse(result, 200);
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
// ===========================================================================
|
|
100
|
-
// 工具
|
|
101
|
-
// ===========================================================================
|
|
102
|
-
function normalizeRoutePath(pathname) {
|
|
103
|
-
const trimmed = pathname.trim();
|
|
104
|
-
if (!trimmed || trimmed === "/")
|
|
105
|
-
return "/";
|
|
106
|
-
return `/${trimmed.replace(/^\/+/, "").replace(/\/+$/, "")}`;
|
|
107
|
-
}
|
|
108
|
-
export function serviceRouteFullPath(serviceId, route) {
|
|
109
|
-
const prefix = route.auth === "admin"
|
|
110
|
-
? `/api/admin/services/${serviceId}`
|
|
111
|
-
: `/v1/services/${serviceId}`;
|
|
112
|
-
return route.path === "/" ? prefix : `${prefix}${route.path}`;
|
|
113
|
-
}
|
|
114
81
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AAyEpD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAgB;IACjD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5B,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,MAAM,OAAO,OAAO;IACT,EAAE,CAAS;IACX,IAAI,CAAS;IACtB,6CAA6C;IACpC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,MAAM,CAA+C;IACrD,GAAG,CAAoB;IAEhC,iBAAiB;IACT,SAAS,GAAG,IAAI,GAAG,EAAuE,CAAC;IAEnG,gCAAgC;IAEhC,GAAG,CAAY;IACf,OAAO,CAAyB;IAChC,cAAc,CAAiB;IAC/B,IAAI,CAA4C;IAEhD,qCAAqC;IACrC,IAAI,CAAW;IAEf,eAAe;IACf,QAAQ,CAAU;IAElB,YAAY,OAKX;QACC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACzB,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,OAAO,KAAmB,CAAC;IAEjC,kCAAkC;IAElC;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,EAAY,EAAE,IAAoB;QACnD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE;YACrB,MAAM;YACN,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,MAAM;YAC9B,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC;SACrC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,oBAAoB;IACpB,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC;IAED,sBAAsB;IACtB,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,iCAAiC;IACjC,eAAe;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;CACF"}
|
package/bin/service/types.d.ts
CHANGED
|
@@ -5,13 +5,7 @@ import type { Context } from "./service.js";
|
|
|
5
5
|
/**
|
|
6
6
|
* Hook 回调函数。
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* 接收 Context,不返回值。如需修改上下文,直接在 ctx 上改。
|
|
9
9
|
*/
|
|
10
|
-
export type HookFn = (ctx: Context) => void |
|
|
11
|
-
/**
|
|
12
|
-
* AI 模型 handler。
|
|
13
|
-
*
|
|
14
|
-
* 接收 Context(含 model 信息),返回结果或 Response(streaming)。
|
|
15
|
-
*/
|
|
16
|
-
export type ServiceHandler<TResult = unknown> = (ctx: Context) => TResult | Promise<TResult>;
|
|
10
|
+
export type HookFn = (ctx: Context) => void | Promise<void>;
|
|
17
11
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
package/bin/store/db.d.ts
CHANGED
|
@@ -8,12 +8,12 @@ import type { SQL } from "drizzle-orm";
|
|
|
8
8
|
/**
|
|
9
9
|
* 底层数据库客户端接口。
|
|
10
10
|
*
|
|
11
|
-
* SQLite 用 exec()(同步),Postgres 用 unsafe()(异步)。
|
|
11
|
+
* SQLite 用 exec()(同步),D1 用 exec()(异步),Postgres 用 unsafe()(异步)。
|
|
12
12
|
* 适配器只需要提供其中一个方法即可。
|
|
13
13
|
*/
|
|
14
14
|
export interface DbClient {
|
|
15
|
-
/** SQLite
|
|
16
|
-
exec?(sql: string): void
|
|
15
|
+
/** SQLite / D1 执行 DDL(D1 返回 Promise<void>,SQLite 返回 void) */
|
|
16
|
+
exec?(sql: string): void | Promise<void>;
|
|
17
17
|
/** Postgres 异步执行 DDL */
|
|
18
18
|
unsafe?(sql: string, params?: unknown[]): Promise<unknown>;
|
|
19
19
|
/** 关闭连接(可选) */
|
|
@@ -52,7 +52,8 @@ export interface Database {
|
|
|
52
52
|
/**
|
|
53
53
|
* 执行 DDL 语句。
|
|
54
54
|
*
|
|
55
|
-
* 自动适配同步(SQLite exec
|
|
55
|
+
* 自动适配同步(SQLite exec)、异步(D1 exec、Postgres unsafe)驱动。
|
|
56
|
+
* D1 的 exec() 返回 Promise,统一 await 兼容所有情况。
|
|
56
57
|
*
|
|
57
58
|
* @param db - 包含 $client 的数据库实例
|
|
58
59
|
* @param ddl - 要执行的 DDL SQL 字符串
|
package/bin/store/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAMvC;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAMvC;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,6DAA6D;IAC7D,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,wBAAwB;IACxB,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,eAAe;IACf,KAAK,CAAC,IAAI,IAAI,CAAC;IACf,kBAAkB;IAClB,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAMD,UAAU,KAAM,SAAQ,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IACxD,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,SAAS,GAAG,KAAK,CAAC;IACpC,OAAO,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACnC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACzB;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,IAAI;QAAE,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;KAAE,CAAC;IACtC,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACtG,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;YAAE,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;IACxG,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;CACpE;AAMD;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,EAAE,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAItF"}
|
package/bin/store/db.js
CHANGED
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* 执行 DDL 语句。
|
|
12
12
|
*
|
|
13
|
-
* 自动适配同步(SQLite exec
|
|
13
|
+
* 自动适配同步(SQLite exec)、异步(D1 exec、Postgres unsafe)驱动。
|
|
14
|
+
* D1 的 exec() 返回 Promise,统一 await 兼容所有情况。
|
|
14
15
|
*
|
|
15
16
|
* @param db - 包含 $client 的数据库实例
|
|
16
17
|
* @param ddl - 要执行的 DDL SQL 字符串
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
export async function executeDDL(db, ddl) {
|
|
19
20
|
const c = db.$client;
|
|
20
21
|
if (typeof c?.exec === "function") {
|
|
21
|
-
c.exec(ddl);
|
|
22
|
+
await c.exec(ddl);
|
|
22
23
|
return;
|
|
23
24
|
}
|
|
24
25
|
if (typeof c?.unsafe === "function") {
|
package/bin/store/db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/store/db.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAAyB,EAAE,GAAW;IACrE,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACrB,IAAI,OAAO,CAAC,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;QAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACjE,IAAI,OAAO,CAAC,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;AAC/D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visiblebase/core",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "VisibleBase runtime-agnostic AI gateway core.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./bin/index.js",
|
|
@@ -33,13 +33,6 @@
|
|
|
33
33
|
"runtime",
|
|
34
34
|
"gateway"
|
|
35
35
|
],
|
|
36
|
-
"scripts": {
|
|
37
|
-
"build": "tsc",
|
|
38
|
-
"dev": "tsc --watch",
|
|
39
|
-
"typecheck": "tsc --noEmit && tsc -p tsconfig.test.json",
|
|
40
|
-
"test": "tsc && tsc -p tsconfig.test.json && node --test test/*.test.mjs",
|
|
41
|
-
"prepack": "npm run build"
|
|
42
|
-
},
|
|
43
36
|
"license": "MIT",
|
|
44
37
|
"devDependencies": {
|
|
45
38
|
"typescript": "^5.7.0"
|
|
@@ -48,5 +41,11 @@
|
|
|
48
41
|
"ai": "^6.0.168",
|
|
49
42
|
"drizzle-orm": "^0.45.2",
|
|
50
43
|
"hono": "^4.1.0"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "tsc",
|
|
47
|
+
"dev": "tsc --watch",
|
|
48
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.test.json",
|
|
49
|
+
"test": "tsc && tsc -p tsconfig.test.json && node --test test/*.test.mjs"
|
|
51
50
|
}
|
|
52
|
-
}
|
|
51
|
+
}
|