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.
- package/dist/build-info.json +3 -3
- package/dist/cli.js +58 -8
- package/dist/server.js +310 -60
- package/docs/agent-integration.md +5 -2
- package/package.json +1 -1
- package/prisma/schema.prisma +1 -1
- package/web/assets/{index-BrlNu5Qe.js → index-BJTj--gG.js} +1546 -1546
- package/web/index.html +1 -1
package/dist/build-info.json
CHANGED
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
|
-
|
|
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
|
-
//
|
|
5237
|
-
//
|
|
5238
|
-
|
|
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();
|