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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hanoman",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Orchestrator + dashboard workflow docs-driven untuk sesi Claude Code / Codex",
5
5
  "type": "module",
6
6
  "repository": {
@@ -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");
@@ -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