hanoman 0.9.29 → 0.9.31
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 +35 -2
- package/dist/server.js +589 -303
- package/package.json +1 -1
- package/web/assets/{DalangHanomanScreen-BMrikKnt.js → DalangHanomanScreen-DdsEmtBl.js} +1 -1
- package/web/assets/{DocPreviewModal-5j31WUwI.js → DocPreviewModal-BbOqdfaH.js} +1 -1
- package/web/assets/{DocsWorkspace-GkTrniF3.js → DocsWorkspace-Cr7AXz9z.js} +1 -1
- package/web/assets/{IdeScreen-CAQfv1_e.js → IdeScreen-hdbQW-ui.js} +1 -1
- package/web/assets/{LeadScreen-Da5-1FLe.js → LeadScreen-BWE4mfJI.js} +1 -1
- package/web/assets/{ReviewScreen-B8KHzQpd.js → ReviewScreen-BIkpEspG.js} +1 -1
- package/web/assets/SchedulerScreen-3KVE-d_d.js +1 -0
- package/web/assets/SettingsScreen-B0-W2TeR.js +62 -0
- package/web/assets/{TeamScreen-P6vz88Pp.js → TeamScreen-DNdt2P1g.js} +1 -1
- package/web/assets/{TerminalScreen-B_cagBZd.js → TerminalScreen-BjQF48XI.js} +1 -1
- package/web/assets/{TriageScreen-IYkxyhdm.js → TriageScreen-CzM99CrG.js} +1 -1
- package/web/assets/{VpsScreen-DFGT5S8Y.js → VpsScreen-SGB_BpbS.js} +1 -1
- package/web/assets/fields-of8G961J.js +1 -0
- package/web/assets/{index-0T3s-I82.css → index-C3KwOJxI.css} +1 -1
- package/web/assets/{index-C-iSWHn3.js → index-C5P4ykKO.js} +207 -207
- package/web/assets/{live-lSo-u7M6.js → live-DQen7wLm.js} +1 -1
- package/web/assets/{sched-lead-shared-BTz6aILx.js → sched-lead-shared-C34TvLVv.js} +1 -1
- package/web/assets/{settings-rebase-CPawFVpp.js → settings-rebase-DHIWk4mV.js} +1 -1
- package/web/index.html +2 -2
- package/web/assets/SchedulerScreen-CBd4O5kw.js +0 -1
- package/web/assets/SettingsScreen-BxQ3CH2D.js +0 -62
- package/web/assets/fields-CmVwp6QK.js +0 -1
package/dist/build-info.json
CHANGED
package/dist/cli.js
CHANGED
|
@@ -5155,6 +5155,8 @@ var init_entities = __esm({
|
|
|
5155
5155
|
// SPEC-184
|
|
5156
5156
|
notifyDecisionSound: external_exports.enum(NOTIFY_SOUNDS).default("alert"),
|
|
5157
5157
|
// SPEC-184
|
|
5158
|
+
notifyDecisionTelegram: external_exports.boolean().default(true),
|
|
5159
|
+
// ADR-0226 · dorong "menunggu keputusan" ke Telegram
|
|
5158
5160
|
agentAccessEnabled: external_exports.boolean().default(false),
|
|
5159
5161
|
// SPEC-257 · master switch akses AI agent
|
|
5160
5162
|
scheduler: zScheduler.default(SCHEDULER_DEFAULTS),
|
|
@@ -8178,6 +8180,17 @@ var init_config_registry = __esm({
|
|
|
8178
8180
|
// runtime
|
|
8179
8181
|
{ key: "HANOMAN_EVENTS_TICK_MS", group: "runtime", label: "Interval events (ms)", kind: "int", apply: "live", category: "knob", example: "1000", default: "1000", min: 100 },
|
|
8180
8182
|
{ key: "HANOMAN_UPDATE_FETCH", group: "runtime", label: "Deteksi update saat boot", kind: "bool", apply: "live", category: "knob", default: "1" },
|
|
8183
|
+
// ADR-0224 · limit Antigravity membaca token agy di Keychain dan memanggil Cloud Code API Google.
|
|
8184
|
+
{
|
|
8185
|
+
key: "HANOMAN_ANTIGRAVITY_LIMITS_FETCH",
|
|
8186
|
+
group: "runtime",
|
|
8187
|
+
label: "Baca limit Antigravity",
|
|
8188
|
+
kind: "bool",
|
|
8189
|
+
apply: "live",
|
|
8190
|
+
category: "knob",
|
|
8191
|
+
default: "1",
|
|
8192
|
+
help: "Membaca token agy di Keychain macOS lalu memanggil API kuota Google (endpoint internal, tak terdokumentasi). Matikan bila tak ingin hanoman menyentuh kredensial agy."
|
|
8193
|
+
},
|
|
8181
8194
|
// SPEC-398 · ADR-0087 · deteksi update kini membandingkan semver dengan registry npm, bukan
|
|
8182
8195
|
// menghitung commit di repo git (HANOMAN_REPO_ROOT dicabut bersama jalur git itu).
|
|
8183
8196
|
{
|
|
@@ -12695,6 +12708,18 @@ var init_system = __esm({
|
|
|
12695
12708
|
build: () => ({ method: "GET", path: "/limits/codex" }),
|
|
12696
12709
|
shape: (raw) => raw
|
|
12697
12710
|
},
|
|
12711
|
+
{
|
|
12712
|
+
name: "hanoman_limits_antigravity",
|
|
12713
|
+
title: "Sisa kuota Antigravity",
|
|
12714
|
+
description: "Sisa kuota Antigravity CLI (agy) per grup model (Gemini; Claude/GPT) untuk jendela mingguan dan 5 jam, berikut kapan resetnya. Dibaca live dari Cloud Code API Google memakai token agy yang sedang hidup dan di-cache 60 detik; token yang kedaluwarsa (agy tak berjalan) memberi `stale` atau `unavailable`, bukan angka karangan. Endpoint terpisah dari hanoman_limits karena sumbernya beda. Tak menuntut capability apa pun.",
|
|
12715
|
+
inputSchema: obj({ properties: {} }),
|
|
12716
|
+
mode: "read",
|
|
12717
|
+
capability: null,
|
|
12718
|
+
samplePath: "/limits/antigravity",
|
|
12719
|
+
sampleMethod: "GET",
|
|
12720
|
+
build: () => ({ method: "GET", path: "/limits/antigravity" }),
|
|
12721
|
+
shape: (raw) => raw
|
|
12722
|
+
},
|
|
12698
12723
|
{
|
|
12699
12724
|
name: "hanoman_overview_get",
|
|
12700
12725
|
title: "Ringkasan kinerja hari ini (Overview)",
|
|
@@ -15191,6 +15216,11 @@ var init_verify_scope = __esm({
|
|
|
15191
15216
|
' test-nya memang berjalan, jangan menerima "no test files" sebagai bukti.',
|
|
15192
15217
|
"- Typecheck: hanya paket yang tersentuh (mis. `pnpm --filter ./server typecheck`).",
|
|
15193
15218
|
" JANGAN `pnpm -r typecheck` \u2014 itu menyalakan satu proses tsc per paket sekaligus.",
|
|
15219
|
+
"- Ritme: per task jalankan berkas test yang task itu sentuh saja.",
|
|
15220
|
+
" JANGAN menjalankan ulang berkas test yang sudah hijau selama kode yang diujinya",
|
|
15221
|
+
" tak berubah sejak itu. Typecheck paket tersentuh sesudah task yang mengubah",
|
|
15222
|
+
" tipe/kontrak ekspor, bukan tiap task. Gabungan semua test tersentuh + typecheck",
|
|
15223
|
+
" dijalankan SEKALI di akhir, sebelum melapor.",
|
|
15194
15224
|
"- Lint: hanya berkas yang berubah, bukan seluruh repo.",
|
|
15195
15225
|
"- Build penuh: hanya bila yang kamu ubah memang soal build/bundling.",
|
|
15196
15226
|
"- Boot server + curl / smoke end-to-end: hanya bila task ini menyentuh endpoint atau perilaku",
|
|
@@ -15428,7 +15458,7 @@ var init_agent_definition = __esm({
|
|
|
15428
15458
|
});
|
|
15429
15459
|
|
|
15430
15460
|
// ../runner/src/phase-agents.ts
|
|
15431
|
-
var REVIEWER_AGENT_NAME, PHASE_AGENT_AUTONOMY, PHASE_AGENT_RULES, PHASE_AGENT_REPORT, REVIEWER_RULES;
|
|
15461
|
+
var REVIEWER_AGENT_NAME, PHASE_AGENT_AUTONOMY, FOREGROUND_RULE, PHASE_AGENT_RULES, PHASE_AGENT_REPORT, REVIEWER_RULES;
|
|
15432
15462
|
var init_phase_agents = __esm({
|
|
15433
15463
|
"../runner/src/phase-agents.ts"() {
|
|
15434
15464
|
"use strict";
|
|
@@ -15436,13 +15466,15 @@ var init_phase_agents = __esm({
|
|
|
15436
15466
|
init_prompt();
|
|
15437
15467
|
init_reverse_standard();
|
|
15438
15468
|
REVIEWER_AGENT_NAME = phaseAgentName(REVIEWER_CELL);
|
|
15439
|
-
PHASE_AGENT_AUTONOMY = `Kamu dipanggil orchestrator sesi hanoman, bukan manusia. Checkpoint "review"/"approval" milik skill BUKAN titik berhenti. Tetapi kamu TIDAK BOLEH memutuskan sendiri hal yang masih ambigu dan akan mempengaruhi hasil \u2014 percabangan data model, kontrak API, scope, perilaku yang terlihat pengguna, atau asumsi yang terpaksa kamu ambil agar bisa lanjut \u2014 dan kamu tak bisa bertanya langsung. Daftarkan SEMUANYA di bagian \`Keputusan terbuka:\` laporanmu (tanpa batas jumlah; tiap butir berupa pertanyaan bernomor diakhiri \`?\` beserta opsi dan rekomendasimu), begitu juga bila panduan fase menyuruhmu bertanya ke manusia, lalu tulis \`Status: menunggu-keputusan\` dan berhenti. Jawabannya datang sebagai pesan susulan ke agen yang sama \u2014 lanjutkan dari sana; bila jawaban itu memunculkan ambiguitas baru, laporkan lagi dengan cara yang sama. Yang menjawab ditentukan hanoman \u2014 ${DECIDER}.`;
|
|
15469
|
+
PHASE_AGENT_AUTONOMY = `Kamu dipanggil orchestrator sesi hanoman, bukan manusia. Checkpoint "review"/"approval" milik skill BUKAN titik berhenti. Tetapi kamu TIDAK BOLEH memutuskan sendiri hal yang masih ambigu dan akan mempengaruhi hasil \u2014 percabangan data model, kontrak API, scope, perilaku yang terlihat pengguna, atau asumsi yang terpaksa kamu ambil agar bisa lanjut \u2014 dan kamu tak bisa bertanya langsung. Daftarkan SEMUANYA di bagian \`Keputusan terbuka:\` laporanmu (tanpa batas jumlah; tiap butir berupa pertanyaan bernomor diakhiri \`?\` beserta opsi dan rekomendasimu), begitu juga bila panduan fase menyuruhmu bertanya ke manusia, lalu tulis \`Status: menunggu-keputusan\` dan berhenti. Jawabannya datang sebagai pesan susulan ke agen yang sama \u2014 lanjutkan dari sana; bila jawaban itu memunculkan ambiguitas baru, laporkan lagi dengan cara yang sama. Yang menjawab ditentukan hanoman \u2014 ${DECIDER}. Keputusan yang sudah dijawab (baris \`Keputusan manusia sejauh ini:\` serah-terima, bagian keputusan dokumen spec atau dokumen audit) sudah final \u2014 JANGAN menanyakannya ulang; kumpulkan ambiguitas baru fasemu dan laporkan sekaligus.`;
|
|
15470
|
+
FOREGROUND_RULE = "- Jalankan test/typecheck/build di FOREGROUND dengan batas waktu dan baca hasilnya di giliran yang sama. JANGAN melepasnya ke latar lalu menunggu dengan jeda tidur berdurasi tetap (`sleep N` berulang) \u2014 itu menit yang terbuang tanpa hasil; set yang terlalu lama untuk satu perintah dipecah. Proses yang memang harus hidup di latar (server untuk smoke) ditunggu dengan pemeriksaan kesiapan berbatas waktu yang berhenti sendiri begitu siap.";
|
|
15440
15471
|
PHASE_AGENT_RULES = [
|
|
15441
15472
|
"Batas peran fase:",
|
|
15442
15473
|
"- JANGAN menulis `$HANOMAN_PHASE_FILE` \u2014 orchestrator satu-satunya penulis marker fase.",
|
|
15443
15474
|
"- JANGAN `git push` \u2014 push milik orchestrator. Commit artefak fasemu sendiri sebelum melapor.",
|
|
15444
15475
|
`- JANGAN memanggil agen berawalan \`${PHASE_AGENT_PREFIX}\`. Custom agent lain boleh dipanggil bila relevan.`,
|
|
15445
15476
|
"- Kerjakan HANYA fase ini; fase lain dikerjakan agen fasenya sendiri.",
|
|
15477
|
+
FOREGROUND_RULE,
|
|
15446
15478
|
// T1 · ADR-0164 amandemen 2026-09-23 · 22 laporan tanpa `Status:` di audit: agen fase mengakhiri
|
|
15447
15479
|
// gilirannya sambil menunggu proses latarnya sendiri, dan teks "menunggu" itu dibaca orchestrator
|
|
15448
15480
|
// sebagai laporan final. Giliranmu yang berakhir = laporanmu, jadi menunggu harus terjadi DI DALAM giliran.
|
|
@@ -15462,6 +15494,7 @@ var init_phase_agents = __esm({
|
|
|
15462
15494
|
"- JANGAN mengubah, membuat, atau menghapus berkas apa pun di worktree, JANGAN commit, JANGAN `git push`/`git stash`/`git checkout`/`git reset`. Kamu membaca dan menjalankan perintah verifikasi saja.",
|
|
15463
15495
|
"- JANGAN menulis `$HANOMAN_PHASE_FILE` dan JANGAN memperbaiki temuanmu sendiri \u2014 perbaikan milik agen Execute, marker milik orchestrator.",
|
|
15464
15496
|
`- JANGAN memanggil agen berawalan \`${PHASE_AGENT_PREFIX}\`.`,
|
|
15497
|
+
FOREGROUND_RULE,
|
|
15465
15498
|
"- JANGAN mengakhiri giliran atau melapor selama masih menunggu proses/tugas latar milikmu sendiri (test yang kamu jalankan di latar): tunggu sampai selesai dan baca hasilnya, lalu tulis laporan lengkap berawalan `Status:`."
|
|
15466
15499
|
].join("\n");
|
|
15467
15500
|
}
|