hanoman 0.1.18 → 0.1.19

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.18",
3
- "sha": "01acd81",
4
- "builtAt": "2026-08-03T16:15:47.912Z"
2
+ "version": "0.1.19",
3
+ "sha": "070dac2",
4
+ "builtAt": "2026-08-03T19:06:22.703Z"
5
5
  }
package/dist/cli.js CHANGED
@@ -4418,7 +4418,7 @@ var init_auto_merge = __esm({
4418
4418
  });
4419
4419
 
4420
4420
  // ../shared/src/entities.ts
4421
- var zProject, zBriefPayload, zQaPayload, zGoalPayload, zSpecBlocker, zSpec, NOTIFY_SOUNDS, zCodex, CODEX_DEFAULTS, zSourceCommon, zScheduler, SCHEDULER_DEFAULTS, zGoal, GOAL_DEFAULTS, zConflict, CONFLICT_DEFAULTS, zLeadEngine, zLead, LEAD_DEFAULTS, zSetting, zNotification, zDocFile, zDeviceTokenView;
4421
+ var zProject, zBriefPayload, zQaPayload, zGoalPayload, zSpecBlocker, zSpec, NOTIFY_SOUNDS, zCodex, CODEX_DEFAULTS, zSourceCommon, zScheduler, SCHEDULER_DEFAULTS, zGoal, GOAL_DEFAULTS, zConflict, CONFLICT_DEFAULTS, CHANGELOG_ENGINE_DEFAULTS, zLeadEngine, zLead, LEAD_DEFAULTS, zSetting, zNotification, zDocFile, zDeviceTokenView;
4422
4422
  var init_entities = __esm({
4423
4423
  "../shared/src/entities.ts"() {
4424
4424
  "use strict";
@@ -4547,6 +4547,7 @@ var init_entities = __esm({
4547
4547
  effort: external_exports.string().default("xhigh")
4548
4548
  });
4549
4549
  CONFLICT_DEFAULTS = zConflict.parse({});
4550
+ CHANGELOG_ENGINE_DEFAULTS = zAgentEngine.parse({});
4550
4551
  zLeadEngine = zAgentEngine;
4551
4552
  zLead = external_exports.object({
4552
4553
  enabled: external_exports.boolean().default(false),
@@ -4618,8 +4619,10 @@ var init_entities = __esm({
4618
4619
  // SPEC-383 · ADR-0081 · default sesi konflik rebase/merge
4619
4620
  lead: zLead.default(LEAD_DEFAULTS),
4620
4621
  // SPEC-409 · ADR-0091 · hanoman-lead (default mati)
4621
- telegram: zTelegramSettings.default(TELEGRAM_DEFAULTS)
4622
+ telegram: zTelegramSettings.default(TELEGRAM_DEFAULTS),
4622
4623
  // SPEC-476 · ADR-0096 · gateway Telegram (default mati)
4624
+ changelog: zAgentEngine.default(CHANGELOG_ENGINE_DEFAULTS)
4625
+ // SPEC-518 · agen pembuat changelog (opt-in, mati)
4623
4626
  });
4624
4627
  zNotification = external_exports.object({
4625
4628
  id: external_exports.string(),
@@ -4922,8 +4925,19 @@ var init_lead = __esm({
4922
4925
  }
4923
4926
  });
4924
4927
 
4928
+ // ../shared/src/prd-status.ts
4929
+ var PRD_STATUSES, zPrdStatus;
4930
+ var init_prd_status = __esm({
4931
+ "../shared/src/prd-status.ts"() {
4932
+ "use strict";
4933
+ init_zod();
4934
+ PRD_STATUSES = ["draft", "dieskalasi", "terwujud"];
4935
+ zPrdStatus = external_exports.enum(PRD_STATUSES);
4936
+ }
4937
+ });
4938
+
4925
4939
  // ../shared/src/dto.ts
4926
- var zIssueDeviceToken, zSessionResult, zSessionHistory, zCreateProject, zProjectId, zRenameProject, zUpdateProject, zCreateSpec, zPatchSpec, zIntegrate, zSessionSummary, zProjectView, zSchedulerQueueItem, zSchedulerSourceView, zSchedulerSessionView, zSchedulerState, zLeadDecisionView, zLeadFlowView, zLeadAnswer, zLeadProjectStatus, zLeadStatusView, zFlow, zPrdBrief, zPrdDoc, zBreakdownItem, zBreakdownDoc, zBatchCreateSpec, zEscalationTarget, zEscalationPrefill, zAuditEscalation, zAuditEscalationView, zTerminalSession, zDocFileContent, zDocIndexCat, zDocIndex, HOST_RE, USER_RE, zCreateVps, zPatchVps, zLogin, zSignup, zChangePassword, zVpsCheck, zMarkNa, zMarkNaBulk, zAttest, zRemediate, UPDATE_RESTART_EXIT, zUpdateApplyBody, zTicketView, zTicketAttachmentView, zTicketDetail, zTicketEditInput, zHelpInfo, zPublicTicketStatus;
4940
+ var zIssueDeviceToken, zSessionResult, zSessionHistory, zCreateProject, zProjectId, zRenameProject, zUpdateProject, zCreateSpec, zPatchSpec, zIntegrate, zSessionSummary, zProjectView, zSchedulerQueueItem, zSchedulerSourceView, zSchedulerSessionView, zSchedulerQueueCounts, zSchedulerState, zLeadDecisionView, zLeadFlowView, zLeadAnswer, zLeadProjectStatus, zLeadStatusView, zFlow, zPrdBrief, zPrdDoc, zBreakdownItem, zBreakdownDoc, zBatchCreateSpec, zEscalationTarget, zEscalationPrefill, zAuditEscalation, zAuditEscalationView, zTerminalSession, zDocFileContent, zDocIndexCat, zDocIndex, HOST_RE, USER_RE, zCreateVps, zPatchVps, zLogin, zSignup, zChangePassword, zVpsCheck, zMarkNa, zMarkNaBulk, zAttest, zRemediate, UPDATE_RESTART_EXIT, zUpdateApplyBody, zTicketView, zTicketAttachmentView, zTicketDetail, zTicketEditInput, zHelpInfo, zPublicTicketStatus;
4927
4941
  var init_dto = __esm({
4928
4942
  "../shared/src/dto.ts"() {
4929
4943
  "use strict";
@@ -4931,6 +4945,7 @@ var init_dto = __esm({
4931
4945
  init_entities();
4932
4946
  init_lead();
4933
4947
  init_auto_merge();
4948
+ init_prd_status();
4934
4949
  init_enums();
4935
4950
  zIssueDeviceToken = external_exports.object({ name: external_exports.string().min(1) });
4936
4951
  zSessionResult = external_exports.object({
@@ -5075,12 +5090,21 @@ var init_dto = __esm({
5075
5090
  decision: external_exports.boolean(),
5076
5091
  exited: external_exports.boolean()
5077
5092
  });
5093
+ zSchedulerQueueCounts = external_exports.object({
5094
+ queued: external_exports.number().int(),
5095
+ launched: external_exports.number().int(),
5096
+ done: external_exports.number().int(),
5097
+ failed: external_exports.number().int(),
5098
+ // SPEC-522 · `canceled` adalah nilai kelima `status`; hitungannya ikut supaya panel bisa
5099
+ // menampilkan seksi "Dibatalkan" tanpa memuat daftarnya.
5100
+ canceled: external_exports.number().int()
5101
+ });
5078
5102
  zSchedulerState = external_exports.object({
5079
5103
  config: zScheduler,
5080
5104
  cap: external_exports.number(),
5081
5105
  liveCount: external_exports.number(),
5082
5106
  sources: external_exports.array(zSchedulerSourceView),
5083
- queue: external_exports.array(zSchedulerQueueItem),
5107
+ queueCounts: zSchedulerQueueCounts,
5084
5108
  sessions: external_exports.array(zSchedulerSessionView)
5085
5109
  });
5086
5110
  zLeadDecisionView = external_exports.object({
@@ -5188,7 +5212,13 @@ var init_dto = __esm({
5188
5212
  title: external_exports.string(),
5189
5213
  live: external_exports.boolean(),
5190
5214
  projectId: external_exports.string(),
5191
- projectName: external_exports.string()
5215
+ projectName: external_exports.string(),
5216
+ // SPEC-520 · status TURUNAN dari backlog yang lahir dari PRD ini (ADR-0018/0019) — bukan
5217
+ // kolom, bukan prosa di dalam dokumennya. `live` di atas menjawab pertanyaan LAIN
5218
+ // (freshest-wins dari worktree sesi prd hidup) dan sengaja tetap ortogonal.
5219
+ status: zPrdStatus,
5220
+ specCount: external_exports.number().int().nonnegative(),
5221
+ doneCount: external_exports.number().int().nonnegative()
5192
5222
  });
5193
5223
  zBreakdownItem = external_exports.object({
5194
5224
  title: external_exports.string().min(1),
@@ -5233,9 +5263,10 @@ var init_dto = __esm({
5233
5263
  // pipeline claude). DIDAHULUKAN: z.object non-strict membuang key asing, jadi bila varian
5234
5264
  // longgar {project,flow?} lebih dulu, {project,shell:true} akan lolos sbg plain (shell dibuang).
5235
5265
  external_exports.object({ project: external_exports.string(), shell: external_exports.literal(true) }),
5236
- // flow opsional (SPEC-166): "reverse" = sesi project-level di worktree-nya sendiri,
5237
- // menyusun Source of Truth dari kode. Tanpa flow = terminal biasa (claude) di repoDir.
5238
- external_exports.object({ project: external_exports.string(), flow: external_exports.literal("reverse").optional() }),
5266
+ // SPEC-166 · "reverse" = sesi project-level di worktree-nya sendiri, menyusun Source of Truth
5267
+ // dari kode. TANPA override runtime: sesi project-level mengikuti Setting.agent (ADR-0074).
5268
+ // Terminal biasa (tanpa flow) kini punya variannya SENDIRI di bawah — lihat SPEC-517.
5269
+ external_exports.object({ project: external_exports.string(), flow: external_exports.literal("reverse") }),
5239
5270
  // SPEC-210 · sesi prd project-level di worktree sendiri; menghasilkan dokumen PRD dari brief.
5240
5271
  // SPEC-340 · ADR-0076 · eskalasi audit → PRD: branchFrom = branch audit (worktree lahir dari sana,
5241
5272
  // resolveCommit + fallback origin/<rev>), fromAudit = id spec audit (isi dokumennya disematkan ke
@@ -5252,6 +5283,18 @@ var init_dto = __esm({
5252
5283
  // SPEC-222 · scaffold: sesi project-level from-scratch, menyusun SoT dari ide. Tanpa brief
5253
5284
  // (diseed dari Project.desc), tanpa Spec — cermin reverse.
5254
5285
  external_exports.object({ project: external_exports.string(), flow: external_exports.literal("scaffold") }),
5286
+ // SPEC-517 · terminal agen biasa: agen (claude|codex) + model + effort boleh dipilih PER SESI,
5287
+ // seperti picker Start backlog (ADR-0061/0074). Kosong → default global (Setting).
5288
+ // `flow: z.undefined()` BUKAN hiasan: varian ini permisif dan diletakkan SESUDAH semua varian
5289
+ // ber-flow, jadi tanpa gerbang itu body flow yang CACAT ({project, flow:"prd"} tanpa brief)
5290
+ // akan lolos ke sini dan melahirkan terminal biasa secara senyap alih-alih dijawab 400.
5291
+ external_exports.object({
5292
+ project: external_exports.string(),
5293
+ flow: external_exports.undefined(),
5294
+ agent: zAgent.optional(),
5295
+ model: external_exports.string().optional(),
5296
+ effort: external_exports.string().optional()
5297
+ }),
5255
5298
  // SPEC-252 · ADR-0061 — model & effort per SESI: override opsional saat Start; kosong → global.
5256
5299
  // SPEC-332 · ADR-0073 — mode goal per SESI: `goal` undefined → ikut Setting.goal.enabled,
5257
5300
  // false → mati walau global nyala; `goalCondition` kosong → template global → default bawaan.
@@ -5501,6 +5544,12 @@ var init_api = __esm({
5501
5544
  // SPEC-299 · panel scheduler (daun #6) — konsumen read-only fondasi SPEC-294/ADR-0072.
5502
5545
  schedulerConfig: `${API}/scheduler/config`,
5503
5546
  schedulerState: `${API}/scheduler/state`,
5547
+ // SPEC-522 · ADR-0106 · batalkan / antre lagi SATU baris antrean. Di bawah prefix `scheduler`
5548
+ // supaya capability-nya turunan peta yang sudah ada (settings, MENURUT METHOD) — tanpa baris peta baru.
5549
+ schedulerQueueCancel: (id) => `${API}/scheduler/queue/${encodeURIComponent(id)}/cancel`,
5550
+ schedulerQueueRequeue: (id) => `${API}/scheduler/queue/${encodeURIComponent(id)}/requeue`,
5551
+ // SPEC-523 · antrean sebagai daftar berhalaman (page/limit + status), lepas dari `state`.
5552
+ schedulerQueue: `${API}/scheduler/queue`,
5504
5553
  // SPEC-409 · ADR-0091 · hanoman-lead. Semua HTTP (polling) — tak ada kanal WS baru (AC-26).
5505
5554
  leadConfig: `${API}/lead/config`,
5506
5555
  leadStatus: `${API}/lead/status`,
@@ -6907,6 +6956,7 @@ var init_src = __esm({
6907
6956
  init_api();
6908
6957
  init_coverage();
6909
6958
  init_ticket_status();
6959
+ init_prd_status();
6910
6960
  init_session_kind();
6911
6961
  init_config();
6912
6962
  init_config_registry();