harubashi 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 +201 -0
- package/README.md +293 -0
- package/README.ru.md +293 -0
- package/dist/agent/agent.module.d.ts +2 -0
- package/dist/agent/agent.module.js +34 -0
- package/dist/agent/agent.module.js.map +1 -0
- package/dist/agent/agent.processor.d.ts +31 -0
- package/dist/agent/agent.processor.js +266 -0
- package/dist/agent/agent.processor.js.map +1 -0
- package/dist/agent/command-guard.service.d.ts +10 -0
- package/dist/agent/command-guard.service.js +48 -0
- package/dist/agent/command-guard.service.js.map +1 -0
- package/dist/agent/interruption.service.d.ts +11 -0
- package/dist/agent/interruption.service.js +52 -0
- package/dist/agent/interruption.service.js.map +1 -0
- package/dist/agent/system-executor.service.d.ts +32 -0
- package/dist/agent/system-executor.service.js +200 -0
- package/dist/agent/system-executor.service.js.map +1 -0
- package/dist/app.module.d.ts +2 -0
- package/dist/app.module.js +38 -0
- package/dist/app.module.js.map +1 -0
- package/dist/bin.d.ts +2 -0
- package/dist/bin.js +137 -0
- package/dist/bin.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +141 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/config.command.d.ts +2 -0
- package/dist/commands/config.command.js +83 -0
- package/dist/commands/config.command.js.map +1 -0
- package/dist/commands/logs.command.d.ts +5 -0
- package/dist/commands/logs.command.js +130 -0
- package/dist/commands/logs.command.js.map +1 -0
- package/dist/commands/profile.command.d.ts +5 -0
- package/dist/commands/profile.command.js +293 -0
- package/dist/commands/profile.command.js.map +1 -0
- package/dist/commands/setup.command.d.ts +1 -0
- package/dist/commands/setup.command.js +94 -0
- package/dist/commands/setup.command.js.map +1 -0
- package/dist/commands/setup.helpers.d.ts +34 -0
- package/dist/commands/setup.helpers.js +265 -0
- package/dist/commands/setup.helpers.js.map +1 -0
- package/dist/commands/skills.command.d.ts +2 -0
- package/dist/commands/skills.command.js +111 -0
- package/dist/commands/skills.command.js.map +1 -0
- package/dist/common/adapters/cli-interaction.adapter.d.ts +8 -0
- package/dist/common/adapters/cli-interaction.adapter.js +67 -0
- package/dist/common/adapters/cli-interaction.adapter.js.map +1 -0
- package/dist/common/adapters/interaction-adapter.interface.d.ts +6 -0
- package/dist/common/adapters/interaction-adapter.interface.js +10 -0
- package/dist/common/adapters/interaction-adapter.interface.js.map +1 -0
- package/dist/common/constants.d.ts +3 -0
- package/dist/common/constants.js +7 -0
- package/dist/common/constants.js.map +1 -0
- package/dist/common/index.d.ts +4 -0
- package/dist/common/index.js +21 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/logger.d.ts +9 -0
- package/dist/common/logger.js +87 -0
- package/dist/common/logger.js.map +1 -0
- package/dist/common/paths.d.ts +12 -0
- package/dist/common/paths.js +28 -0
- package/dist/common/paths.js.map +1 -0
- package/dist/common/types/message.types.d.ts +48 -0
- package/dist/common/types/message.types.js +18 -0
- package/dist/common/types/message.types.js.map +1 -0
- package/dist/common/types/tool.types.d.ts +20 -0
- package/dist/common/types/tool.types.js +3 -0
- package/dist/common/types/tool.types.js.map +1 -0
- package/dist/common/utils/type-guards.d.ts +8 -0
- package/dist/common/utils/type-guards.js +46 -0
- package/dist/common/utils/type-guards.js.map +1 -0
- package/dist/config/config-loader.d.ts +6 -0
- package/dist/config/config-loader.js +90 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/config.module.d.ts +2 -0
- package/dist/config/config.module.js +28 -0
- package/dist/config/config.module.js.map +1 -0
- package/dist/config/config.types.d.ts +55 -0
- package/dist/config/config.types.js +21 -0
- package/dist/config/config.types.js.map +1 -0
- package/dist/daemon.d.ts +2 -0
- package/dist/daemon.js +28 -0
- package/dist/daemon.js.map +1 -0
- package/dist/llm/anthropic/anthropic.provider.d.ts +15 -0
- package/dist/llm/anthropic/anthropic.provider.js +162 -0
- package/dist/llm/anthropic/anthropic.provider.js.map +1 -0
- package/dist/llm/google/google.provider.d.ts +14 -0
- package/dist/llm/google/google.provider.js +189 -0
- package/dist/llm/google/google.provider.js.map +1 -0
- package/dist/llm/llm-factory.service.d.ts +24 -0
- package/dist/llm/llm-factory.service.js +76 -0
- package/dist/llm/llm-factory.service.js.map +1 -0
- package/dist/llm/llm.interface.d.ts +19 -0
- package/dist/llm/llm.interface.js +5 -0
- package/dist/llm/llm.interface.js.map +1 -0
- package/dist/llm/llm.module.d.ts +2 -0
- package/dist/llm/llm.module.js +34 -0
- package/dist/llm/llm.module.js.map +1 -0
- package/dist/llm/nvidia/nvidia.provider.d.ts +11 -0
- package/dist/llm/nvidia/nvidia.provider.js +49 -0
- package/dist/llm/nvidia/nvidia.provider.js.map +1 -0
- package/dist/llm/openai/openai.provider.d.ts +9 -0
- package/dist/llm/openai/openai.provider.js +35 -0
- package/dist/llm/openai/openai.provider.js.map +1 -0
- package/dist/llm/openai-compatible/openai-compatible.helper.d.ts +4 -0
- package/dist/llm/openai-compatible/openai-compatible.helper.js +155 -0
- package/dist/llm/openai-compatible/openai-compatible.helper.js.map +1 -0
- package/dist/llm/proxy/proxy.provider.d.ts +9 -0
- package/dist/llm/proxy/proxy.provider.js +35 -0
- package/dist/llm/proxy/proxy.provider.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +14 -0
- package/dist/main.js.map +1 -0
- package/dist/prisma/prisma.module.d.ts +2 -0
- package/dist/prisma/prisma.module.js +22 -0
- package/dist/prisma/prisma.module.js.map +1 -0
- package/dist/prisma/prisma.service.d.ts +9 -0
- package/dist/prisma/prisma.service.js +40 -0
- package/dist/prisma/prisma.service.js.map +1 -0
- package/dist/sessions/sessions.module.d.ts +2 -0
- package/dist/sessions/sessions.module.js +23 -0
- package/dist/sessions/sessions.module.js.map +1 -0
- package/dist/sessions/sessions.service.d.ts +21 -0
- package/dist/sessions/sessions.service.js +82 -0
- package/dist/sessions/sessions.service.js.map +1 -0
- package/dist/skills/definitions/directory_explorer.md +69 -0
- package/dist/skills/definitions/execute_command.md +27 -0
- package/dist/skills/definitions/git_manager.md +98 -0
- package/dist/skills/definitions/read_file.md +25 -0
- package/dist/skills/skills-bundle.d.ts +7 -0
- package/dist/skills/skills-bundle.js +27 -0
- package/dist/skills/skills-bundle.js.map +1 -0
- package/dist/skills/skills-parser.d.ts +8 -0
- package/dist/skills/skills-parser.js +67 -0
- package/dist/skills/skills-parser.js.map +1 -0
- package/dist/skills/skills.module.d.ts +2 -0
- package/dist/skills/skills.module.js +22 -0
- package/dist/skills/skills.module.js.map +1 -0
- package/dist/skills/skills.service.d.ts +22 -0
- package/dist/skills/skills.service.js +150 -0
- package/dist/skills/skills.service.js.map +1 -0
- package/dist/skills/skills.types.d.ts +16 -0
- package/dist/skills/skills.types.js +3 -0
- package/dist/skills/skills.types.js.map +1 -0
- package/dist/soul/prompts/core.md +28 -0
- package/dist/soul/prompts/rules.md +40 -0
- package/dist/soul/prompts/runtime.md +13 -0
- package/dist/soul/prompts/voice.md +45 -0
- package/dist/soul/soul.module.d.ts +2 -0
- package/dist/soul/soul.module.js +22 -0
- package/dist/soul/soul.module.js.map +1 -0
- package/dist/soul/soul.service.d.ts +22 -0
- package/dist/soul/soul.service.js +89 -0
- package/dist/soul/soul.service.js.map +1 -0
- package/dist/telegram/pairing.service.d.ts +11 -0
- package/dist/telegram/pairing.service.js +81 -0
- package/dist/telegram/pairing.service.js.map +1 -0
- package/dist/telegram/telegram-interaction.adapter.d.ts +16 -0
- package/dist/telegram/telegram-interaction.adapter.js +54 -0
- package/dist/telegram/telegram-interaction.adapter.js.map +1 -0
- package/dist/telegram/telegram.module.d.ts +2 -0
- package/dist/telegram/telegram.module.js +25 -0
- package/dist/telegram/telegram.module.js.map +1 -0
- package/dist/telegram/telegram.service.d.ts +28 -0
- package/dist/telegram/telegram.service.js +255 -0
- package/dist/telegram/telegram.service.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/package.json +68 -0
- package/prisma/migrations/20260403134611_init/migration.sql +40 -0
- package/prisma/migrations/migration_lock.toml +3 -0
- package/prisma/schema.prisma +74 -0
package/package.json
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "harubashi",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Harubashi — headless System Use Agent daemon",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"bin": {
|
|
7
|
+
"harubashi": "./dist/bin.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist/**/*",
|
|
11
|
+
"prisma/schema.prisma",
|
|
12
|
+
"prisma/migrations/**/*",
|
|
13
|
+
"README.md",
|
|
14
|
+
"README.ru.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "nest build",
|
|
19
|
+
"lint": "eslint \"{src,test}/**/*.ts\"",
|
|
20
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
21
|
+
"prisma:generate": "prisma generate",
|
|
22
|
+
"prisma:studio": "prisma studio",
|
|
23
|
+
"harubashi": "ts-node -r tsconfig-paths/register src/bin.ts",
|
|
24
|
+
"cli": "ts-node -r tsconfig-paths/register src/bin.ts cli",
|
|
25
|
+
"daemon": "ts-node -r tsconfig-paths/register src/bin.ts daemon",
|
|
26
|
+
"setup": "ts-node -r tsconfig-paths/register src/bin.ts setup",
|
|
27
|
+
"build:run": "nest build && node dist/bin.js",
|
|
28
|
+
"postinstall": "prisma generate",
|
|
29
|
+
"prepublishOnly": "npm run build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@anthropic-ai/sdk": "^0.82.0",
|
|
33
|
+
"@inquirer/prompts": "^8.4.2",
|
|
34
|
+
"@nestjs/common": "^11.0.0",
|
|
35
|
+
"@nestjs/config": "^4.0.0",
|
|
36
|
+
"@nestjs/core": "^11.0.0",
|
|
37
|
+
"@nestjs/event-emitter": "^3.0.0",
|
|
38
|
+
"@nestjs/platform-express": "^11.0.0",
|
|
39
|
+
"@nestjs/platform-socket.io": "^11.0.0",
|
|
40
|
+
"@nestjs/websockets": "^11.0.0",
|
|
41
|
+
"@prisma/client": "^6.0.0",
|
|
42
|
+
"chokidar": "^4.0.3",
|
|
43
|
+
"class-transformer": "^0.5.1",
|
|
44
|
+
"class-validator": "^0.14.1",
|
|
45
|
+
"commander": "^14.0.3",
|
|
46
|
+
"gray-matter": "^4.0.3",
|
|
47
|
+
"js-yaml": "^4.1.1",
|
|
48
|
+
"nest-winston": "^1.10.2",
|
|
49
|
+
"openai": "^6.33.0",
|
|
50
|
+
"reflect-metadata": "^0.2.2",
|
|
51
|
+
"rxjs": "^7.8.1",
|
|
52
|
+
"telegraf": "^4.16.3",
|
|
53
|
+
"winston": "^3.19.0",
|
|
54
|
+
"winston-daily-rotate-file": "^5.0.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@nestjs/cli": "^11.0.0",
|
|
58
|
+
"@types/js-yaml": "^4.0.9",
|
|
59
|
+
"@types/node": "^22.0.0",
|
|
60
|
+
"eslint": "^9.0.0",
|
|
61
|
+
"prettier": "^3.4.0",
|
|
62
|
+
"prisma": "^6.0.0",
|
|
63
|
+
"ts-node": "^10.9.2",
|
|
64
|
+
"tsconfig-paths": "^4.2.0",
|
|
65
|
+
"typescript": "^5.7.0",
|
|
66
|
+
"typescript-eslint": "^8.0.0"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "User" (
|
|
3
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
+
"name" TEXT,
|
|
5
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
6
|
+
);
|
|
7
|
+
|
|
8
|
+
-- CreateTable
|
|
9
|
+
CREATE TABLE "ChatSession" (
|
|
10
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
11
|
+
"userId" TEXT,
|
|
12
|
+
"title" TEXT,
|
|
13
|
+
"status" TEXT NOT NULL DEFAULT 'ACTIVE',
|
|
14
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
"updatedAt" DATETIME NOT NULL,
|
|
16
|
+
CONSTRAINT "ChatSession_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
-- CreateTable
|
|
20
|
+
CREATE TABLE "Task" (
|
|
21
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
22
|
+
"sessionId" TEXT NOT NULL,
|
|
23
|
+
"description" TEXT NOT NULL,
|
|
24
|
+
"status" TEXT NOT NULL DEFAULT 'PENDING',
|
|
25
|
+
"priority" TEXT NOT NULL DEFAULT 'MEDIUM',
|
|
26
|
+
"scheduledFor" DATETIME,
|
|
27
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
28
|
+
"updatedAt" DATETIME NOT NULL,
|
|
29
|
+
CONSTRAINT "Task_sessionId_fkey" FOREIGN KEY ("sessionId") REFERENCES "ChatSession" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
-- CreateTable
|
|
33
|
+
CREATE TABLE "Message" (
|
|
34
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
35
|
+
"taskId" TEXT NOT NULL,
|
|
36
|
+
"role" TEXT NOT NULL,
|
|
37
|
+
"content" TEXT NOT NULL,
|
|
38
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
39
|
+
CONSTRAINT "Message_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task" ("id") ON DELETE RESTRICT ON UPDATE CASCADE
|
|
40
|
+
);
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
generator client {
|
|
2
|
+
provider = "prisma-client-js"
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
datasource db {
|
|
6
|
+
provider = "sqlite"
|
|
7
|
+
url = env("DATABASE_URL")
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
model User {
|
|
11
|
+
id String @id @default(uuid())
|
|
12
|
+
name String?
|
|
13
|
+
telegramId String? @unique
|
|
14
|
+
createdAt DateTime @default(now())
|
|
15
|
+
sessions ChatSession[]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
model ChatSession {
|
|
19
|
+
id String @id @default(uuid())
|
|
20
|
+
userId String?
|
|
21
|
+
user User? @relation(fields: [userId], references: [id])
|
|
22
|
+
title String?
|
|
23
|
+
status SessionStatus @default(ACTIVE)
|
|
24
|
+
createdAt DateTime @default(now())
|
|
25
|
+
updatedAt DateTime @updatedAt
|
|
26
|
+
tasks Task[]
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
model Task {
|
|
30
|
+
id String @id @default(uuid())
|
|
31
|
+
sessionId String
|
|
32
|
+
session ChatSession @relation(fields: [sessionId], references: [id])
|
|
33
|
+
description String
|
|
34
|
+
status TaskStatus @default(PENDING)
|
|
35
|
+
priority Priority @default(MEDIUM)
|
|
36
|
+
scheduledFor DateTime?
|
|
37
|
+
createdAt DateTime @default(now())
|
|
38
|
+
updatedAt DateTime @updatedAt
|
|
39
|
+
messages Message[]
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
model Message {
|
|
43
|
+
id String @id @default(uuid())
|
|
44
|
+
taskId String
|
|
45
|
+
task Task @relation(fields: [taskId], references: [id])
|
|
46
|
+
role Role
|
|
47
|
+
content String
|
|
48
|
+
createdAt DateTime @default(now())
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
enum SessionStatus {
|
|
52
|
+
ACTIVE
|
|
53
|
+
ARCHIVED
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
enum TaskStatus {
|
|
57
|
+
PENDING
|
|
58
|
+
RUNNING
|
|
59
|
+
COMPLETED
|
|
60
|
+
FAILED
|
|
61
|
+
CANCELLED
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
enum Priority {
|
|
65
|
+
LOW
|
|
66
|
+
MEDIUM
|
|
67
|
+
HIGH
|
|
68
|
+
URGENT
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
enum Role {
|
|
72
|
+
USER
|
|
73
|
+
ASSISTANT
|
|
74
|
+
}
|