hanoman 0.2.2 → 0.2.4
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/build-info.json +3 -3
- package/dist/cli.js +224 -34
- package/dist/server.js +1919 -591
- package/package.json +1 -1
- package/prisma/migrations/20260831120000_custom_agent_execution_profiles/migration.sql +5 -0
- package/prisma/migrations/20260831121000_agent_invocations/migration.sql +32 -0
- package/prisma/schema.prisma +36 -0
- package/web/assets/{index-BllpAcXg.js → index-CzV5atfY.js} +1557 -1557
- package/web/index.html +1 -1
package/package.json
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
ALTER TABLE "CustomAgent" ADD COLUMN "activation" TEXT NOT NULL DEFAULT 'always';
|
|
2
|
+
ALTER TABLE "CustomAgent" ADD COLUMN "effort" TEXT;
|
|
3
|
+
ALTER TABLE "CustomAgent" ADD COLUMN "workspacePolicy" TEXT NOT NULL DEFAULT 'inherit';
|
|
4
|
+
ALTER TABLE "CustomAgent" ADD COLUMN "maxTurns" INTEGER;
|
|
5
|
+
ALTER TABLE "CustomAgent" ADD COLUMN "timeoutSeconds" INTEGER;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
-- SPEC-950 · ADR-0159 · local-only evidence; intentionally absent from sync registries.
|
|
2
|
+
CREATE TABLE "AgentInvocation" (
|
|
3
|
+
"id" TEXT NOT NULL PRIMARY KEY,
|
|
4
|
+
"sessionId" TEXT NOT NULL,
|
|
5
|
+
"projectId" TEXT NOT NULL,
|
|
6
|
+
"specId" TEXT,
|
|
7
|
+
"runtime" TEXT NOT NULL,
|
|
8
|
+
"runtimeInvocationId" TEXT NOT NULL,
|
|
9
|
+
"customAgentId" TEXT,
|
|
10
|
+
"agentName" TEXT NOT NULL,
|
|
11
|
+
"model" TEXT,
|
|
12
|
+
"status" TEXT NOT NULL,
|
|
13
|
+
"startedAt" DATETIME NOT NULL,
|
|
14
|
+
"endedAt" DATETIME,
|
|
15
|
+
"durationMs" INTEGER,
|
|
16
|
+
"inputTokens" INTEGER,
|
|
17
|
+
"outputTokens" INTEGER,
|
|
18
|
+
"cachedTokens" INTEGER,
|
|
19
|
+
"resultExcerpt" TEXT,
|
|
20
|
+
"resultHash" TEXT,
|
|
21
|
+
"workspaceChanged" BOOLEAN NOT NULL DEFAULT false,
|
|
22
|
+
"disposition" TEXT NOT NULL DEFAULT 'pending',
|
|
23
|
+
"dispositionNote" TEXT,
|
|
24
|
+
"evaluatedAt" DATETIME
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
CREATE UNIQUE INDEX "AgentInvocation_sessionId_runtimeInvocationId_key"
|
|
28
|
+
ON "AgentInvocation"("sessionId", "runtimeInvocationId");
|
|
29
|
+
CREATE INDEX "AgentInvocation_agentName_startedAt_idx"
|
|
30
|
+
ON "AgentInvocation"("agentName", "startedAt");
|
|
31
|
+
CREATE INDEX "AgentInvocation_sessionId_startedAt_idx"
|
|
32
|
+
ON "AgentInvocation"("sessionId", "startedAt");
|
package/prisma/schema.prisma
CHANGED
|
@@ -167,6 +167,11 @@ model CustomAgent {
|
|
|
167
167
|
model String?
|
|
168
168
|
mentions Json?
|
|
169
169
|
runtime String? // SPEC-484 · ADR-0101 · penyaring mesin sesi; null = ikut sesi induk
|
|
170
|
+
activation String @default("always") // SPEC-950 · always | smart
|
|
171
|
+
effort String? // override reasoning effort; null = warisi sesi
|
|
172
|
+
workspacePolicy String @default("inherit") // inherit | read-only | isolated-worktree
|
|
173
|
+
maxTurns Int?
|
|
174
|
+
timeoutSeconds Int?
|
|
170
175
|
enabled Boolean @default(true)
|
|
171
176
|
version Int @default(0) // SPEC-213 · version-stamp sync (ADR-0045)
|
|
172
177
|
createdAt DateTime @default(now())
|
|
@@ -489,6 +494,37 @@ model SessionHistory {
|
|
|
489
494
|
@@index([sessionId])
|
|
490
495
|
}
|
|
491
496
|
|
|
497
|
+
// SPEC-950 · ADR-0159 · bukti lifecycle custom subagent. LOCAL-only: runtime invocation dan
|
|
498
|
+
// worktree hanya bermakna di mesin ini. Tanpa FK agar bukti tetap ada setelah sesi/agent dihapus.
|
|
499
|
+
model AgentInvocation {
|
|
500
|
+
id String @id
|
|
501
|
+
sessionId String
|
|
502
|
+
projectId String
|
|
503
|
+
specId String?
|
|
504
|
+
runtime String
|
|
505
|
+
runtimeInvocationId String
|
|
506
|
+
customAgentId String?
|
|
507
|
+
agentName String
|
|
508
|
+
model String?
|
|
509
|
+
status String
|
|
510
|
+
startedAt DateTime
|
|
511
|
+
endedAt DateTime?
|
|
512
|
+
durationMs Int?
|
|
513
|
+
inputTokens Int?
|
|
514
|
+
outputTokens Int?
|
|
515
|
+
cachedTokens Int?
|
|
516
|
+
resultExcerpt String?
|
|
517
|
+
resultHash String?
|
|
518
|
+
workspaceChanged Boolean @default(false)
|
|
519
|
+
disposition String @default("pending")
|
|
520
|
+
dispositionNote String?
|
|
521
|
+
evaluatedAt DateTime?
|
|
522
|
+
|
|
523
|
+
@@unique([sessionId, runtimeInvocationId])
|
|
524
|
+
@@index([agentName, startedAt])
|
|
525
|
+
@@index([sessionId, startedAt])
|
|
526
|
+
}
|
|
527
|
+
|
|
492
528
|
// SPEC-213 · ADR-0045 · change-feed server-authoritative. seq = kursor global sync.
|
|
493
529
|
model SyncLog {
|
|
494
530
|
// SPEC-398 · ADR-0086 · `Int`, BUKAN `BigInt`. Di SQLite sebuah kolom hanya jadi alias rowid
|