@boringos/core 0.1.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/LICENSE +21 -0
- package/dist/admin-routes.d.ts +12 -0
- package/dist/admin-routes.d.ts.map +1 -0
- package/dist/admin-routes.js +836 -0
- package/dist/admin-routes.js.map +1 -0
- package/dist/auth-routes.d.ts +9 -0
- package/dist/auth-routes.d.ts.map +1 -0
- package/dist/auth-routes.js +112 -0
- package/dist/auth-routes.js.map +1 -0
- package/dist/auth.d.ts +32 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +102 -0
- package/dist/auth.js.map +1 -0
- package/dist/boringos.d.ts +52 -0
- package/dist/boringos.d.ts.map +1 -0
- package/dist/boringos.js +301 -0
- package/dist/boringos.js.map +1 -0
- package/dist/connector-routes.d.ts +5 -0
- package/dist/connector-routes.d.ts.map +1 -0
- package/dist/connector-routes.js +77 -0
- package/dist/connector-routes.js.map +1 -0
- package/dist/device-auth-routes.d.ts +12 -0
- package/dist/device-auth-routes.d.ts.map +1 -0
- package/dist/device-auth-routes.js +68 -0
- package/dist/device-auth-routes.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/notifications.d.ts +30 -0
- package/dist/notifications.d.ts.map +1 -0
- package/dist/notifications.js +61 -0
- package/dist/notifications.js.map +1 -0
- package/dist/plugin-routes.d.ts +12 -0
- package/dist/plugin-routes.d.ts.map +1 -0
- package/dist/plugin-routes.js +70 -0
- package/dist/plugin-routes.js.map +1 -0
- package/dist/plugin-system.d.ts +57 -0
- package/dist/plugin-system.d.ts.map +1 -0
- package/dist/plugin-system.js +62 -0
- package/dist/plugin-system.js.map +1 -0
- package/dist/plugins/github.d.ts +18 -0
- package/dist/plugins/github.d.ts.map +1 -0
- package/dist/plugins/github.js +97 -0
- package/dist/plugins/github.js.map +1 -0
- package/dist/realtime.d.ts +15 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +38 -0
- package/dist/realtime.js.map +1 -0
- package/dist/routes.d.ts +12 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +151 -0
- package/dist/routes.js.map +1 -0
- package/dist/scheduler.d.ts +13 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +77 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/sse-routes.d.ts +4 -0
- package/dist/sse-routes.d.ts.map +1 -0
- package/dist/sse-routes.js +37 -0
- package/dist/sse-routes.js.map +1 -0
- package/dist/types.d.ts +81 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { eq } from "drizzle-orm";
|
|
2
|
+
import { routines } from "@boringos/db";
|
|
3
|
+
/**
|
|
4
|
+
* Simple interval-based routine scheduler.
|
|
5
|
+
* Checks every 60 seconds for routines whose cron expression matches the current minute.
|
|
6
|
+
* No external cron library — uses basic time matching.
|
|
7
|
+
*/
|
|
8
|
+
export function createRoutineScheduler(db, engine) {
|
|
9
|
+
let interval = null;
|
|
10
|
+
async function tick() {
|
|
11
|
+
const activeRoutines = await db.select().from(routines).where(eq(routines.status, "active"));
|
|
12
|
+
for (const routine of activeRoutines) {
|
|
13
|
+
if (shouldRun(routine.cronExpression, routine.timezone ?? "UTC")) {
|
|
14
|
+
try {
|
|
15
|
+
const outcome = await engine.wake({
|
|
16
|
+
agentId: routine.assigneeAgentId,
|
|
17
|
+
tenantId: routine.tenantId,
|
|
18
|
+
reason: "routine_triggered",
|
|
19
|
+
});
|
|
20
|
+
if (outcome.kind === "created") {
|
|
21
|
+
await engine.enqueue(outcome.wakeupRequestId);
|
|
22
|
+
}
|
|
23
|
+
await db.update(routines).set({
|
|
24
|
+
lastTriggeredAt: new Date(),
|
|
25
|
+
updatedAt: new Date(),
|
|
26
|
+
}).where(eq(routines.id, routine.id));
|
|
27
|
+
}
|
|
28
|
+
catch {
|
|
29
|
+
// Routine trigger failure — silently skip this tick
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
start() {
|
|
36
|
+
// Check every 60 seconds
|
|
37
|
+
interval = setInterval(() => tick().catch(() => { }), 60_000);
|
|
38
|
+
// Also run immediately on start
|
|
39
|
+
tick().catch(() => { });
|
|
40
|
+
},
|
|
41
|
+
stop() {
|
|
42
|
+
if (interval) {
|
|
43
|
+
clearInterval(interval);
|
|
44
|
+
interval = null;
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Simple cron expression matcher.
|
|
51
|
+
* Supports standard 5-field: minute hour day-of-month month day-of-week
|
|
52
|
+
* Supports: *, specific numbers, and * / step patterns (e.g., * /5 for every 5 minutes)
|
|
53
|
+
*/
|
|
54
|
+
function shouldRun(cronExpression, _timezone) {
|
|
55
|
+
const now = new Date();
|
|
56
|
+
const parts = cronExpression.trim().split(/\s+/);
|
|
57
|
+
if (parts.length !== 5)
|
|
58
|
+
return false;
|
|
59
|
+
const [minute, hour, dayOfMonth, month, dayOfWeek] = parts;
|
|
60
|
+
return (matchField(minute, now.getMinutes()) &&
|
|
61
|
+
matchField(hour, now.getHours()) &&
|
|
62
|
+
matchField(dayOfMonth, now.getDate()) &&
|
|
63
|
+
matchField(month, now.getMonth() + 1) &&
|
|
64
|
+
matchField(dayOfWeek, now.getDay()));
|
|
65
|
+
}
|
|
66
|
+
function matchField(field, value) {
|
|
67
|
+
if (field === "*")
|
|
68
|
+
return true;
|
|
69
|
+
// Step: */5 means every 5
|
|
70
|
+
if (field.startsWith("*/")) {
|
|
71
|
+
const step = parseInt(field.slice(2));
|
|
72
|
+
return value % step === 0;
|
|
73
|
+
}
|
|
74
|
+
// Exact match
|
|
75
|
+
return parseInt(field) === value;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-routes.d.ts","sourceRoot":"","sources":["../src/sse-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAwCxE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Hono } from "hono";
|
|
2
|
+
import { streamSSE } from "hono/streaming";
|
|
3
|
+
export function createSSERoutes(bus, adminKey) {
|
|
4
|
+
const app = new Hono();
|
|
5
|
+
// GET /events — SSE stream, authenticated via API key query param or header
|
|
6
|
+
app.get("/events", async (c) => {
|
|
7
|
+
const key = c.req.header("X-API-Key") ?? c.req.query("apiKey");
|
|
8
|
+
if (!key || key !== adminKey) {
|
|
9
|
+
return c.json({ error: "Invalid or missing API key" }, 401);
|
|
10
|
+
}
|
|
11
|
+
const tenantId = c.req.header("X-Tenant-Id") ?? c.req.query("tenantId");
|
|
12
|
+
if (!tenantId) {
|
|
13
|
+
return c.json({ error: "Missing tenant ID" }, 400);
|
|
14
|
+
}
|
|
15
|
+
return streamSSE(c, async (stream) => {
|
|
16
|
+
const unsubscribe = bus.subscribe(tenantId, (event) => {
|
|
17
|
+
stream.writeSSE({
|
|
18
|
+
event: event.type,
|
|
19
|
+
data: JSON.stringify(event),
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
// Keep connection alive with heartbeat
|
|
23
|
+
const heartbeat = setInterval(() => {
|
|
24
|
+
stream.writeSSE({ event: "heartbeat", data: "" });
|
|
25
|
+
}, 30000);
|
|
26
|
+
// Clean up on disconnect
|
|
27
|
+
stream.onAbort(() => {
|
|
28
|
+
unsubscribe();
|
|
29
|
+
clearInterval(heartbeat);
|
|
30
|
+
});
|
|
31
|
+
// Hold the connection open
|
|
32
|
+
await new Promise(() => { });
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
return app;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=sse-routes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-routes.js","sourceRoot":"","sources":["../src/sse-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,UAAU,eAAe,CAAC,GAAgB,EAAE,QAAgB;IAChE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IAEvB,4EAA4E;IAC5E,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4BAA4B,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACnC,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBACpD,MAAM,CAAC,QAAQ,CAAC;oBACd,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;iBAC5B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,uCAAuC;YACvC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,yBAAyB;YACzB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBAClB,WAAW,EAAE,CAAC;gBACd,aAAa,CAAC,SAAS,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { MemoryProvider } from "@boringos/memory";
|
|
2
|
+
import type { RuntimeRegistry } from "@boringos/runtime";
|
|
3
|
+
import type { StorageBackend } from "@boringos/drive";
|
|
4
|
+
import type { DatabaseConfig } from "@boringos/db";
|
|
5
|
+
import type { AgentEngine } from "@boringos/agent";
|
|
6
|
+
import type { WorkflowEngine } from "@boringos/workflow";
|
|
7
|
+
import type { SkillProvider } from "@boringos/shared";
|
|
8
|
+
export interface BoringOSConfig {
|
|
9
|
+
database?: DatabaseConfig;
|
|
10
|
+
redis?: string;
|
|
11
|
+
auth?: AuthConfig;
|
|
12
|
+
drive?: DriveAppConfig;
|
|
13
|
+
logging?: LogConfig;
|
|
14
|
+
}
|
|
15
|
+
export interface AuthConfig {
|
|
16
|
+
secret: string;
|
|
17
|
+
adminKey?: string;
|
|
18
|
+
url?: string;
|
|
19
|
+
tokenExpirySeconds?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface DriveAppConfig {
|
|
22
|
+
root?: string;
|
|
23
|
+
backend?: StorageBackend;
|
|
24
|
+
}
|
|
25
|
+
export interface LogConfig {
|
|
26
|
+
level?: "trace" | "debug" | "info" | "warn" | "error" | "fatal";
|
|
27
|
+
pretty?: boolean;
|
|
28
|
+
}
|
|
29
|
+
export interface AppContext {
|
|
30
|
+
config: BoringOSConfig;
|
|
31
|
+
db: unknown;
|
|
32
|
+
memory: MemoryProvider;
|
|
33
|
+
drive: StorageBackend | null;
|
|
34
|
+
runtimes: RuntimeRegistry;
|
|
35
|
+
agentEngine: AgentEngine | null;
|
|
36
|
+
workflowEngine: WorkflowEngine | null;
|
|
37
|
+
}
|
|
38
|
+
export interface ConnectorDefinition extends SkillProvider {
|
|
39
|
+
name: string;
|
|
40
|
+
type: string;
|
|
41
|
+
setup?(ctx: AppContext): Promise<void>;
|
|
42
|
+
}
|
|
43
|
+
export interface SkillDefinition {
|
|
44
|
+
key: string;
|
|
45
|
+
name: string;
|
|
46
|
+
source: SkillSource;
|
|
47
|
+
trustLevel?: "markdown_only" | "assets" | "scripts_executables";
|
|
48
|
+
}
|
|
49
|
+
export type SkillSource = {
|
|
50
|
+
type: "local";
|
|
51
|
+
path: string;
|
|
52
|
+
} | {
|
|
53
|
+
type: "github";
|
|
54
|
+
repo: string;
|
|
55
|
+
path?: string;
|
|
56
|
+
ref?: string;
|
|
57
|
+
} | {
|
|
58
|
+
type: "url";
|
|
59
|
+
url: string;
|
|
60
|
+
};
|
|
61
|
+
export interface PersonaBundle {
|
|
62
|
+
agentsMd?: string;
|
|
63
|
+
soulMd?: string;
|
|
64
|
+
heartbeatMd?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface PluginManifest {
|
|
67
|
+
name: string;
|
|
68
|
+
version: string;
|
|
69
|
+
setup(ctx: AppContext): Promise<void>;
|
|
70
|
+
}
|
|
71
|
+
export type LifecycleHook = (ctx: AppContext) => Promise<void>;
|
|
72
|
+
export interface StartedServer {
|
|
73
|
+
url: string;
|
|
74
|
+
port: number;
|
|
75
|
+
context: AppContext;
|
|
76
|
+
close(): Promise<void>;
|
|
77
|
+
}
|
|
78
|
+
export interface TestInstance extends StartedServer {
|
|
79
|
+
reset(): Promise<void>;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@boringos/core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"import": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"better-auth": "^1.6.0",
|
|
16
|
+
"hono": "^4.7.0",
|
|
17
|
+
"@hono/node-server": "^1.13.0",
|
|
18
|
+
"@boringos/shared": "0.1.0",
|
|
19
|
+
"@boringos/memory": "0.1.0",
|
|
20
|
+
"@boringos/runtime": "0.1.0",
|
|
21
|
+
"@boringos/drive": "0.1.0",
|
|
22
|
+
"@boringos/db": "0.1.0",
|
|
23
|
+
"@boringos/agent": "0.1.0",
|
|
24
|
+
"@boringos/pipeline": "0.1.0",
|
|
25
|
+
"@boringos/connector": "0.1.0",
|
|
26
|
+
"@boringos/workflow": "0.1.0"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@types/node": "^22.0.0",
|
|
30
|
+
"typescript": "^5.7.3"
|
|
31
|
+
},
|
|
32
|
+
"description": "Application host — the entry point for BoringOS",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "https://github.com/BoringOS-dev/boringos.git"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://boringos.dev",
|
|
38
|
+
"author": "BoringOS Contributors",
|
|
39
|
+
"files": [
|
|
40
|
+
"dist",
|
|
41
|
+
"README.md"
|
|
42
|
+
],
|
|
43
|
+
"keywords": [
|
|
44
|
+
"boringos",
|
|
45
|
+
"agentic",
|
|
46
|
+
"ai-agents",
|
|
47
|
+
"framework"
|
|
48
|
+
],
|
|
49
|
+
"scripts": {
|
|
50
|
+
"build": "tsc",
|
|
51
|
+
"typecheck": "tsc --noEmit"
|
|
52
|
+
}
|
|
53
|
+
}
|