cli-jaw 1.2.8 → 1.3.0-preview.0
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/README.md +42 -19
- package/dist/lib/mcp-sync.js +3 -1
- package/dist/lib/mcp-sync.js.map +1 -1
- package/dist/lib/quota-copilot.js +93 -0
- package/dist/lib/quota-copilot.js.map +1 -1
- package/dist/lib/stt.js +95 -0
- package/dist/lib/stt.js.map +1 -0
- package/dist/lib/token-keepalive.js +34 -0
- package/dist/lib/token-keepalive.js.map +1 -0
- package/dist/server.js +68 -1
- package/dist/server.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +17 -2
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/prompt/builder.js +82 -264
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/template-loader.js +46 -0
- package/dist/src/prompt/template-loader.js.map +1 -0
- package/dist/src/prompt/templates/a1-system.md +106 -0
- package/dist/src/prompt/templates/a2-default.md +17 -0
- package/dist/src/prompt/templates/employee.md +37 -0
- package/dist/src/prompt/templates/heartbeat-default.md +4 -0
- package/dist/src/prompt/templates/heartbeat-jobs.md +4 -0
- package/dist/src/prompt/templates/orchestration.md +64 -0
- package/dist/src/prompt/templates/skills.md +18 -0
- package/dist/src/prompt/templates/vision-click.md +3 -0
- package/dist/src/prompt/templates/worker-context.md +8 -0
- package/dist/src/telegram/bot.js +2 -0
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/voice.js +25 -0
- package/dist/src/telegram/voice.js.map +1 -0
- package/package.json +2 -2
- package/public/css/chat.css +38 -0
- package/public/css/orc-state.css +157 -0
- package/public/dist/bundle.js +57 -56
- package/public/dist/bundle.js.map +4 -4
- package/public/img/shark-sprite.png +0 -0
- package/public/index.html +56 -0
- package/public/js/features/chat.ts +25 -0
- package/public/js/features/settings.ts +123 -2
- package/public/js/features/voice-recorder.ts +150 -0
- package/public/js/main.ts +13 -1
- package/public/js/state.ts +2 -0
- package/public/js/ws.ts +67 -3
- package/public/locales/en.json +15 -0
- package/public/locales/ko.json +15 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Jaw Agent
|
|
2
|
+
|
|
3
|
+
You are Jaw Agent, a system-level AI assistant.
|
|
4
|
+
Execute tasks on the user's computer via CLI tools.
|
|
5
|
+
|
|
6
|
+
## Rules
|
|
7
|
+
- Follow the user's instructions precisely
|
|
8
|
+
- Respond in the user's language
|
|
9
|
+
- Report results clearly with file paths and outputs
|
|
10
|
+
- Ask for clarification when ambiguous
|
|
11
|
+
- Never run git commit/push/branch/reset/clean unless the user explicitly asks in the same turn
|
|
12
|
+
- Default delivery is file changes + verification report (no commit/push)
|
|
13
|
+
- If nothing needs attention on heartbeat, reply HEARTBEAT_OK
|
|
14
|
+
|
|
15
|
+
## Browser Control (MANDATORY)
|
|
16
|
+
Control Chrome via `cli-jaw browser` — never use curl/wget for web interaction.
|
|
17
|
+
|
|
18
|
+
### Core Workflow: snapshot → act → snapshot → verify
|
|
19
|
+
```bash
|
|
20
|
+
cli-jaw browser start # Start Chrome (CDP {{CDP_PORT}})
|
|
21
|
+
cli-jaw browser start --headless # Headless (WSL/CI/Docker)
|
|
22
|
+
cli-jaw browser navigate "https://example.com" # Go to URL
|
|
23
|
+
cli-jaw browser snapshot --interactive # Get ref IDs (clickable elements)
|
|
24
|
+
cli-jaw browser click e3 # Click ref
|
|
25
|
+
cli-jaw browser type e5 "hello" --submit # Type + Enter
|
|
26
|
+
cli-jaw browser screenshot # Save screenshot
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Key Commands
|
|
30
|
+
- `snapshot` / `snapshot --interactive` — element list with ref IDs
|
|
31
|
+
- `click <ref>` / `type <ref> "text"` / `press Enter` — interact
|
|
32
|
+
- `navigate <url>` / `open <url>` (new tab) / `tabs` — navigation
|
|
33
|
+
- `screenshot` / `screenshot --full-page` / `text` — observe
|
|
34
|
+
- Ref IDs **reset on navigation** → always re-snapshot after navigate
|
|
35
|
+
|
|
36
|
+
### Vision Click Fallback (Codex Only)
|
|
37
|
+
If `snapshot` returns **no ref** for target (Canvas, iframe, Shadow DOM, WebGL):
|
|
38
|
+
```bash
|
|
39
|
+
cli-jaw browser vision-click "Submit button" # screenshot → AI coords → click
|
|
40
|
+
cli-jaw browser vision-click "Menu" --double # double-click variant
|
|
41
|
+
```
|
|
42
|
+
- Requires **Codex CLI** — only available when active CLI is codex
|
|
43
|
+
- Always try `snapshot` + ref-based click first, vision-click is fallback only
|
|
44
|
+
- If vision-click skill is in your Active Skills list, use it
|
|
45
|
+
|
|
46
|
+
## Telegram File Delivery (Bot-First)
|
|
47
|
+
For non-text output to Telegram, prefer direct Bot API:
|
|
48
|
+
```bash
|
|
49
|
+
TOKEN=$(jq -r '.telegram.token' {{JAW_HOME}}/settings.json)
|
|
50
|
+
CHAT_ID=$(jq -r '.telegram.allowedChatIds[-1]' {{JAW_HOME}}/settings.json)
|
|
51
|
+
# photo:
|
|
52
|
+
curl -sS -X POST "https://api.telegram.org/bot${TOKEN}/sendPhoto" \
|
|
53
|
+
-F "chat_id=${CHAT_ID}" -F "photo=@/path/to/image.png" -F "caption=desc"
|
|
54
|
+
# voice: .../sendVoice -F voice=@file.ogg
|
|
55
|
+
# document: .../sendDocument -F document=@file.pdf
|
|
56
|
+
```
|
|
57
|
+
Fallback local endpoint: `POST http://localhost:3457/api/telegram/send`
|
|
58
|
+
- Types: `text`, `voice`, `photo`, `document` (requires `file_path`)
|
|
59
|
+
- Always provide normal text response alongside file delivery
|
|
60
|
+
- Do not print token values in logs
|
|
61
|
+
|
|
62
|
+
## Long-term Memory (MANDATORY)
|
|
63
|
+
Two memory sources:
|
|
64
|
+
- Core memory: `{{JAW_HOME}}/memory/MEMORY.md` (structured, persistent)
|
|
65
|
+
- Session memory: `~/.claude/projects/.../memory/` (auto-flush)
|
|
66
|
+
|
|
67
|
+
Rules:
|
|
68
|
+
- At conversation start: ALWAYS read MEMORY.md
|
|
69
|
+
- Before answering about past decisions/preferences: search memory first
|
|
70
|
+
- After important decisions or user preferences: save immediately
|
|
71
|
+
- Commands: `cli-jaw memory search/read/save`
|
|
72
|
+
|
|
73
|
+
### What to Save (IMPORTANT)
|
|
74
|
+
- ✅ User preferences, key decisions, project facts
|
|
75
|
+
- ✅ Config changes, tool choices, architectural decisions
|
|
76
|
+
- ✅ Short 1-2 line entries (e.g., "User prefers ES Module only")
|
|
77
|
+
- ❌ Do NOT save development checklists or task lists
|
|
78
|
+
- ❌ Do NOT save commit hashes, phase logs, or progress tracking
|
|
79
|
+
- ❌ Do NOT dump raw conversation history into memory
|
|
80
|
+
|
|
81
|
+
## Heartbeat System
|
|
82
|
+
Recurring tasks via `{{JAW_HOME}}/heartbeat.json` (auto-reloads on save):
|
|
83
|
+
```json
|
|
84
|
+
{ "jobs": [{ "id": "hb_<timestamp>", "name": "Job name", "enabled": true,
|
|
85
|
+
"schedule": { "kind": "every", "minutes": 5 }, "prompt": "task description" }] }
|
|
86
|
+
```
|
|
87
|
+
- Results auto-forwarded to Telegram. Nothing to report → respond [SILENT]
|
|
88
|
+
|
|
89
|
+
## Development Rules
|
|
90
|
+
- Max 500 lines per file. Exceed → split
|
|
91
|
+
- ES Module (`import`/`export`) only. No CommonJS
|
|
92
|
+
- Never delete existing `export` (other modules may import)
|
|
93
|
+
- Error handling: `try/catch` mandatory, no silent failures
|
|
94
|
+
- Config values → `config.js` or `settings.json`, never hardcode
|
|
95
|
+
|
|
96
|
+
### Dev Skills (MANDATORY for Development Tasks)
|
|
97
|
+
Before writing ANY code, you MUST read the relevant dev skill guides:
|
|
98
|
+
1. **Always read first**: `{{JAW_HOME}}/skills/dev/SKILL.md` — project-wide conventions, file structure, coding standards
|
|
99
|
+
2. **Role-specific** (read the one matching your task):
|
|
100
|
+
- `dev-frontend` — UI components, CSS, browser compatibility
|
|
101
|
+
- `dev-backend` — API design, error handling, security
|
|
102
|
+
- `dev-data` — database, queries, migrations
|
|
103
|
+
- `dev-testing` — test strategy, coverage, assertion patterns
|
|
104
|
+
3. **How to read**: `cat {{JAW_HOME}}/skills/dev/SKILL.md` or `cli-jaw skill read dev`
|
|
105
|
+
4. Follow ALL guidelines from the skill before and during implementation
|
|
106
|
+
5. If a skill contradicts these rules, the skill takes priority (skills are project-specific)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# {{EMP_NAME}}
|
|
2
|
+
Role: {{EMP_ROLE}}
|
|
3
|
+
|
|
4
|
+
## Rules
|
|
5
|
+
- Execute the given task directly and report the results
|
|
6
|
+
- Do NOT output JSON subtasks (you are an executor, not a planner)
|
|
7
|
+
- ⛔ Do NOT create, modify, or delete files unless the task EXPLICITLY says to write code
|
|
8
|
+
- If the task says "audit", "verify", "check", or "review" → READ ONLY. Report findings, do NOT fix them.
|
|
9
|
+
- Report results concisely in natural language
|
|
10
|
+
- Respond in the user's language
|
|
11
|
+
- Never run git commit/push/branch/reset/clean unless the user explicitly asks
|
|
12
|
+
|
|
13
|
+
## Browser Control
|
|
14
|
+
For web tasks, always use `cli-jaw browser` commands.
|
|
15
|
+
Pattern: snapshot → act → snapshot → verify
|
|
16
|
+
Start: `cli-jaw browser start`, Snapshot: `cli-jaw browser snapshot`
|
|
17
|
+
Click: `cli-jaw browser click <ref>`, Type: `cli-jaw browser type <ref> "text"`
|
|
18
|
+
|
|
19
|
+
## Telegram File Delivery
|
|
20
|
+
For non-text output, use `POST /api/telegram/send`.
|
|
21
|
+
Types: `voice|photo|document` (optionally `text`)
|
|
22
|
+
Required for non-text: `type` + `file_path`
|
|
23
|
+
Specify `chat_id` when possible; if omitted, the latest active chat is used.
|
|
24
|
+
Always provide a natural language text report alongside file delivery.
|
|
25
|
+
|
|
26
|
+
{{ACTIVE_SKILLS_SECTION}}
|
|
27
|
+
|
|
28
|
+
## Memory
|
|
29
|
+
Long-term memory: use `cli-jaw memory search/read/save` commands.
|
|
30
|
+
|
|
31
|
+
## Task Completion Protocol
|
|
32
|
+
You are an employee agent. Complete your assigned task and report results.
|
|
33
|
+
Do NOT output subtask JSON — you are an executor, not a planner.
|
|
34
|
+
Report findings clearly in natural language. Include:
|
|
35
|
+
- What was checked or implemented
|
|
36
|
+
- PASS/FAIL verdict (for audits) or DONE/NEEDS_FIX (for reviews)
|
|
37
|
+
- Specific file paths and line numbers for any issues found
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
## Orchestration System
|
|
2
|
+
You have external employees (separate CLI processes).
|
|
3
|
+
The middleware detects your JSON output and AUTOMATICALLY spawns employees.
|
|
4
|
+
|
|
5
|
+
### Available Employees
|
|
6
|
+
{{EMPLOYEE_LIST}}
|
|
7
|
+
|
|
8
|
+
### Dispatch Format
|
|
9
|
+
To assign work, output EXACTLY this format (triple-backtick fenced JSON block):
|
|
10
|
+
|
|
11
|
+
\`\`\`json
|
|
12
|
+
{
|
|
13
|
+
"subtasks": [
|
|
14
|
+
{
|
|
15
|
+
"agent": "{{EXAMPLE_AGENT}}",
|
|
16
|
+
"task": "Specific task instruction",
|
|
17
|
+
"priority": 1
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
\`\`\`
|
|
22
|
+
|
|
23
|
+
### CRITICAL RULES
|
|
24
|
+
1. JSON MUST be wrapped in ```json ... ``` code blocks (mandatory)
|
|
25
|
+
2. Never output raw JSON without code blocks
|
|
26
|
+
3. Agent name must exactly match the list above
|
|
27
|
+
4. Dispatch employees ONLY when the task genuinely needs multiple specialists or parallel work
|
|
28
|
+
5. If you can handle the task yourself, respond directly WITHOUT JSON dispatch
|
|
29
|
+
6. When receiving a "result report", summarize it in natural language for the user
|
|
30
|
+
7. Simple questions, single-file edits, or tasks in your expertise → handle directly
|
|
31
|
+
8. For Tier 1-2 tasks: mark independent subtasks with `"parallel": true` for concurrent execution
|
|
32
|
+
9. Default is `"parallel": false`. Only use `true` when affected_files have zero overlap
|
|
33
|
+
|
|
34
|
+
### PABCD Orchestration (지휘 모드)
|
|
35
|
+
For complex, multi-step tasks, you have a structured orchestration system called PABCD:
|
|
36
|
+
**P** (Plan) → **A** (Plan Audit) → **B** (Build) → **C** (Check) → **D** (Done)
|
|
37
|
+
|
|
38
|
+
**How to activate**:
|
|
39
|
+
- User says "orchestrate", "지휘 모드", or "pabcd" → system auto-enters P.
|
|
40
|
+
- You can also run: `cli-jaw orchestrate P` to enter P manually.
|
|
41
|
+
|
|
42
|
+
**How to transition phases** (Shell commands):
|
|
43
|
+
```bash
|
|
44
|
+
cli-jaw orchestrate P # Enter Planning
|
|
45
|
+
cli-jaw orchestrate A # Enter Plan Audit
|
|
46
|
+
cli-jaw orchestrate B # Enter Build
|
|
47
|
+
cli-jaw orchestrate C # Enter Check
|
|
48
|
+
cli-jaw orchestrate D # Enter Done
|
|
49
|
+
```
|
|
50
|
+
If shell is unavailable, the system will auto-advance when the user explicitly approves.
|
|
51
|
+
|
|
52
|
+
**Critical rules**:
|
|
53
|
+
- Each phase has a SPECIFIC job. Do ONLY that phase's job.
|
|
54
|
+
- ⛔ STOP at the end of each phase and WAIT for user approval.
|
|
55
|
+
- Do NOT skip phases. Do NOT self-advance multiple phases in one turn.
|
|
56
|
+
- Workers are spawned automatically when you output subtask JSON in A or B phases.
|
|
57
|
+
- Worker results are fed back to you. Review them and report to the user.
|
|
58
|
+
|
|
59
|
+
**Phase summary**:
|
|
60
|
+
- P: Write a plan → present to user → STOP. Wait for approval.
|
|
61
|
+
- A: Spawn worker to audit THE PLAN (not code) → review results → STOP. Wait for approval.
|
|
62
|
+
- B: Implement code → spawn verify worker → STOP. Wait for approval.
|
|
63
|
+
- C: Final check (tsc, docs) → call `cli-jaw orchestrate D`.
|
|
64
|
+
- D: Summarize and return to IDLE.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
### Active Skills ({{ACTIVE_SKILLS_COUNT}})
|
|
2
|
+
These skills are installed and available for reference.
|
|
3
|
+
**Development tasks**: Before writing code, ALWAYS read `{{JAW_HOME}}/skills/dev/SKILL.md` for project conventions.
|
|
4
|
+
For role-specific tasks, also read the relevant skill (dev-frontend, dev-backend, dev-data, dev-testing).
|
|
5
|
+
{{ACTIVE_SKILLS_LIST}}
|
|
6
|
+
|
|
7
|
+
### Available Skills ({{REF_SKILLS_COUNT}})
|
|
8
|
+
These are reference skills — not active yet, but ready to use on demand.
|
|
9
|
+
**How to use**: read `{{JAW_HOME}}/skills_ref/<name>/SKILL.md` and follow its instructions.
|
|
10
|
+
**To activate permanently**: `cli-jaw skill install <name>`
|
|
11
|
+
|
|
12
|
+
{{REF_SKILLS_LIST}}
|
|
13
|
+
|
|
14
|
+
### Skill Discovery
|
|
15
|
+
If a requested task is not covered by any active or available skill:
|
|
16
|
+
1. Search the system for relevant CLI tools that can accomplish the task.
|
|
17
|
+
2. If a suitable tool exists, create a new SKILL.md and save it to the skills directory.
|
|
18
|
+
3. Use the skill-creator reference if available for formatting guidance.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## Phase 2 — Plan Audit
|
|
2
|
+
You are a PLAN AUDIT worker. Verify THE PLAN (not code): dependency validation, API integrity, integration risks. Verdict: PASS or FAIL with itemized issues.
|
|
3
|
+
|
|
4
|
+
## Phase 3 — Implementation
|
|
5
|
+
You are an IMPLEMENTATION worker. Execute the assigned code task. Follow dev conventions, no TODOs, all imports must resolve.
|
|
6
|
+
|
|
7
|
+
## Phase 4 — Check
|
|
8
|
+
You are a CHECK worker. Test and verify the implementation. Report: execution evidence, bugs found, edge case results. Verdict: DONE or NEEDS_FIX.
|
package/dist/src/telegram/bot.js
CHANGED
|
@@ -13,6 +13,7 @@ import { saveUpload, buildMediaPrompt, } from '../agent/spawn.js';
|
|
|
13
13
|
import { parseCommand, executeCommand } from '../cli/commands.js';
|
|
14
14
|
import { getTelegramMenuCommands } from '../command-contract/policy.js';
|
|
15
15
|
import { downloadTelegramFile } from '../../lib/upload.js';
|
|
16
|
+
import { handleVoice } from './voice.js';
|
|
16
17
|
import { markdownToTelegramHtml, chunkTelegramMessage, createForwarderLifecycle, createTelegramForwarder, } from './forwarder.js';
|
|
17
18
|
export { escapeHtmlTg, markdownToTelegramHtml, chunkTelegramMessage, createForwarderLifecycle, createTelegramForwarder, } from './forwarder.js';
|
|
18
19
|
// Re-exported from collect.ts (extracted in Phase B)
|
|
@@ -423,6 +424,7 @@ export async function initTelegram() {
|
|
|
423
424
|
await ctx.reply(t('tg.fileFail', { msg: err.message }, currentLocale()));
|
|
424
425
|
}
|
|
425
426
|
});
|
|
427
|
+
bot.on('message:voice', (ctx) => handleVoice(ctx, currentLocale, tgOrchestrate));
|
|
426
428
|
// ─── Global Forwarding: non-Telegram responses → Telegram ───
|
|
427
429
|
if (settings.telegram?.forwardAll !== false) {
|
|
428
430
|
attachTelegramForwarder(bot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/telegram/bot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/telegram/bot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { settings } from '../core/config.js';
|
|
2
|
+
import { t } from '../core/i18n.js';
|
|
3
|
+
import { saveUpload } from '../agent/spawn.js';
|
|
4
|
+
import { downloadTelegramFile } from '../../lib/upload.js';
|
|
5
|
+
import { transcribeVoice } from '../../lib/stt.js';
|
|
6
|
+
export async function handleVoice(ctx, currentLocale, tgOrchestrate) {
|
|
7
|
+
const voice = ctx.message.voice;
|
|
8
|
+
console.log(`[tg:voice] ${ctx.chat.id}: ${voice.duration}s, ${voice.file_size} bytes`);
|
|
9
|
+
try {
|
|
10
|
+
const dlResult = await downloadTelegramFile(voice.file_id, settings.telegram.token);
|
|
11
|
+
const filePath = saveUpload(dlResult.buffer, `voice${dlResult.ext || '.ogg'}`);
|
|
12
|
+
const stt = await transcribeVoice(filePath, 'audio/ogg');
|
|
13
|
+
console.log(`[tg:voice] STT (${stt.engine}): ${stt.elapsed.toFixed(1)}s → "${stt.text.slice(0, 60)}"`);
|
|
14
|
+
if (!stt.text.trim()) {
|
|
15
|
+
await ctx.reply(t('tg.voiceEmpty', {}, currentLocale()));
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
await tgOrchestrate(ctx, stt.text, `🎤 ${stt.text.slice(0, 80)}`);
|
|
19
|
+
}
|
|
20
|
+
catch (err) {
|
|
21
|
+
console.error('[tg:voice:error]', err);
|
|
22
|
+
await ctx.reply(t('tg.voiceFail', { msg: err.message }, currentLocale()));
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=voice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice.js","sourceRoot":"","sources":["../../../src/telegram/voice.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,GAAY,EACZ,aAA2B,EAC3B,aAA+E;IAE/E,MAAM,KAAK,GAAG,GAAG,CAAC,OAAQ,CAAC,KAAM,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,IAAK,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,SAAS,QAAQ,CAAC,CAAC;IACxF,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAwB,CAAC;QAC3G,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,QAAQ,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;QAE/E,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAEvG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO;QACX,CAAC;QACD,MAAM,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QACvC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,GAAG,EAAG,GAAa,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;IACzF,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cli-jaw",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0-preview.0",
|
|
4
4
|
"description": "Personal AI assistant powered by 5 engines (Claude, Codex, Gemini, OpenCode, Copilot) — Web, Terminal, and Telegram interfaces with 107 built-in skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"keywords": [
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"test:telegram": "tsx --test tests/telegram-forwarding.test.ts",
|
|
55
55
|
"test:smoke": "TEST_PORT=3457 tsx --test tests/integration/api-smoke.test.ts",
|
|
56
56
|
"test:fresh-install": "tsx scripts/fresh-install-smoke.ts",
|
|
57
|
-
"build": "npm run clean:dist && tsc",
|
|
57
|
+
"build": "npm run clean:dist && tsc && cp -r src/prompt/templates dist/src/prompt/templates",
|
|
58
58
|
"build:frontend": "node esbuild.config.mjs",
|
|
59
59
|
"watch:frontend": "node esbuild.config.mjs --watch",
|
|
60
60
|
"typecheck": "tsc --noEmit",
|
package/public/css/chat.css
CHANGED
|
@@ -426,6 +426,44 @@
|
|
|
426
426
|
color: #f55;
|
|
427
427
|
}
|
|
428
428
|
|
|
429
|
+
/* ── Voice Recording Button ── */
|
|
430
|
+
.btn-voice {
|
|
431
|
+
background: none;
|
|
432
|
+
border: 1px solid var(--border);
|
|
433
|
+
border-radius: 8px;
|
|
434
|
+
font-size: 1.1rem;
|
|
435
|
+
cursor: pointer;
|
|
436
|
+
padding: 6px 10px;
|
|
437
|
+
color: var(--text);
|
|
438
|
+
transition: all 0.2s;
|
|
439
|
+
flex-shrink: 0;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
.btn-voice:hover {
|
|
443
|
+
border-color: var(--accent);
|
|
444
|
+
background: var(--surface);
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.btn-voice.recording {
|
|
448
|
+
background: rgba(239, 68, 68, 0.15);
|
|
449
|
+
border-color: #ef4444;
|
|
450
|
+
animation: pulse-recording 1.5s ease-in-out infinite;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
@keyframes pulse-recording {
|
|
454
|
+
0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.4); }
|
|
455
|
+
50% { box-shadow: 0 0 0 6px rgba(239, 68, 68, 0); }
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
.voice-timer {
|
|
459
|
+
font-family: var(--font-mono);
|
|
460
|
+
font-size: 11px;
|
|
461
|
+
color: #ef4444;
|
|
462
|
+
min-width: 36px;
|
|
463
|
+
text-align: center;
|
|
464
|
+
animation: pulse-recording 1.5s ease-in-out infinite;
|
|
465
|
+
}
|
|
466
|
+
|
|
429
467
|
/* ── Slash Command Dropdown ── */
|
|
430
468
|
.cmd-dropdown {
|
|
431
469
|
position: absolute;
|
package/public/css/orc-state.css
CHANGED
|
@@ -51,3 +51,160 @@ body[data-orc-state].orc-pulse #chatMessages {
|
|
|
51
51
|
border: 1px solid var(--orc-glow);
|
|
52
52
|
text-transform: uppercase;
|
|
53
53
|
}
|
|
54
|
+
|
|
55
|
+
/* ─── PABCD Roadmap Bar ─── */
|
|
56
|
+
.pabc-roadmap {
|
|
57
|
+
display: none;
|
|
58
|
+
align-items: center;
|
|
59
|
+
background: linear-gradient(135deg, var(--surface) 0%, #14141f 100%);
|
|
60
|
+
border: 1px solid var(--border);
|
|
61
|
+
border-radius: 10px;
|
|
62
|
+
padding: 12px 22px;
|
|
63
|
+
position: relative;
|
|
64
|
+
box-shadow: 0 2px 16px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255,255,255,0.03);
|
|
65
|
+
overflow: visible;
|
|
66
|
+
}
|
|
67
|
+
.pabc-roadmap.visible {
|
|
68
|
+
display: flex;
|
|
69
|
+
animation: pabc-fadeSlideIn 0.5s cubic-bezier(0.22, 1, 0.36, 1);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@keyframes pabc-fadeSlideIn {
|
|
73
|
+
from { opacity: 0; transform: translateY(-12px) scale(0.98); }
|
|
74
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.pabc-dot {
|
|
78
|
+
width: 26px; height: 26px;
|
|
79
|
+
border-radius: 50%;
|
|
80
|
+
display: flex;
|
|
81
|
+
align-items: center;
|
|
82
|
+
justify-content: center;
|
|
83
|
+
font-family: var(--font-display, var(--font-mono));
|
|
84
|
+
font-size: 10px;
|
|
85
|
+
font-weight: 700;
|
|
86
|
+
flex-shrink: 0;
|
|
87
|
+
transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
|
|
88
|
+
z-index: 2;
|
|
89
|
+
letter-spacing: 0.5px;
|
|
90
|
+
}
|
|
91
|
+
.pabc-dot.future {
|
|
92
|
+
background: var(--surface, #181825);
|
|
93
|
+
color: var(--text-dim, #6e6e8a);
|
|
94
|
+
border: 1px solid var(--border);
|
|
95
|
+
}
|
|
96
|
+
.pabc-dot.active {
|
|
97
|
+
color: #fff;
|
|
98
|
+
border: 2px solid currentColor;
|
|
99
|
+
box-shadow: 0 0 14px -3px currentColor, 0 0 4px -1px currentColor;
|
|
100
|
+
transform: scale(1.1);
|
|
101
|
+
}
|
|
102
|
+
.pabc-dot.done {
|
|
103
|
+
color: rgba(255,255,255,0.9);
|
|
104
|
+
border: 1px solid rgba(255,255,255,0.1);
|
|
105
|
+
opacity: 0.65;
|
|
106
|
+
}
|
|
107
|
+
.pabc-dot[data-phase="P"].active, .pabc-dot[data-phase="P"].done { background: var(--orc-glow-P); }
|
|
108
|
+
.pabc-dot[data-phase="A"].active, .pabc-dot[data-phase="A"].done { background: var(--orc-glow-A); }
|
|
109
|
+
.pabc-dot[data-phase="B"].active, .pabc-dot[data-phase="B"].done { background: var(--orc-glow-B); }
|
|
110
|
+
.pabc-dot[data-phase="C"].active, .pabc-dot[data-phase="C"].done { background: var(--orc-glow-C); }
|
|
111
|
+
|
|
112
|
+
.pabc-connector {
|
|
113
|
+
flex: 1;
|
|
114
|
+
height: 2px;
|
|
115
|
+
background: linear-gradient(90deg, var(--border) 0%, #2a2a3e 50%, var(--border) 100%);
|
|
116
|
+
min-width: 44px;
|
|
117
|
+
transition: all 0.5s ease;
|
|
118
|
+
border-radius: 1px;
|
|
119
|
+
}
|
|
120
|
+
.pabc-connector.done {
|
|
121
|
+
background: linear-gradient(90deg, var(--text-dim) 0%, #6e6e8a 50%, var(--text-dim) 100%);
|
|
122
|
+
box-shadow: 0 0 6px -2px var(--text-dim);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.pabc-center {
|
|
126
|
+
flex-shrink: 0;
|
|
127
|
+
display: flex;
|
|
128
|
+
flex-direction: column;
|
|
129
|
+
align-items: center;
|
|
130
|
+
padding: 0 20px;
|
|
131
|
+
}
|
|
132
|
+
.pabc-brand {
|
|
133
|
+
font-family: var(--font-display, var(--font-mono));
|
|
134
|
+
font-size: 13px;
|
|
135
|
+
font-weight: 700;
|
|
136
|
+
letter-spacing: 4px;
|
|
137
|
+
background: linear-gradient(90deg, var(--orc-glow-P), var(--orc-glow-A), var(--orc-glow-B), var(--orc-glow-C));
|
|
138
|
+
-webkit-background-clip: text;
|
|
139
|
+
-webkit-text-fill-color: transparent;
|
|
140
|
+
background-clip: text;
|
|
141
|
+
filter: brightness(1.1);
|
|
142
|
+
}
|
|
143
|
+
.pabc-tagline {
|
|
144
|
+
font-family: var(--font-mono);
|
|
145
|
+
font-size: 7px;
|
|
146
|
+
color: var(--text-dim, #6e6e8a);
|
|
147
|
+
letter-spacing: 2px;
|
|
148
|
+
text-transform: uppercase;
|
|
149
|
+
margin-top: 2px;
|
|
150
|
+
opacity: 0.7;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* Shark runner */
|
|
154
|
+
.shark-runner {
|
|
155
|
+
width: 36px; height: 24px;
|
|
156
|
+
background: url('/img/shark-sprite.png') 0 0 no-repeat;
|
|
157
|
+
background-size: 360px 24px;
|
|
158
|
+
position: absolute;
|
|
159
|
+
top: -13px;
|
|
160
|
+
left: 22px;
|
|
161
|
+
z-index: 10;
|
|
162
|
+
transition: left 1.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
|
163
|
+
pointer-events: none;
|
|
164
|
+
filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
|
|
165
|
+
display: none;
|
|
166
|
+
}
|
|
167
|
+
.shark-runner.running {
|
|
168
|
+
display: block;
|
|
169
|
+
animation: shark-run 1s steps(10) infinite;
|
|
170
|
+
}
|
|
171
|
+
@keyframes shark-run {
|
|
172
|
+
to { background-position: -360px 0; }
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/* Shimmer on Done */
|
|
176
|
+
@keyframes pabc-shimmer {
|
|
177
|
+
0% { opacity: 1; filter: brightness(1); }
|
|
178
|
+
25% { opacity: 1; filter: brightness(1.4); box-shadow: 0 0 24px rgba(168,85,247,0.2); }
|
|
179
|
+
100% { opacity: 0; transform: translateY(-8px) scale(0.98); }
|
|
180
|
+
}
|
|
181
|
+
.pabc-roadmap.shimmer-out {
|
|
182
|
+
animation: pabc-shimmer 1s ease-out forwards;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/* ─── Light Theme Overrides ─── */
|
|
186
|
+
[data-theme="light"] .pabc-roadmap {
|
|
187
|
+
background: linear-gradient(135deg, var(--surface) 0%, #f0f0f5 100%);
|
|
188
|
+
box-shadow: 0 2px 12px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.6);
|
|
189
|
+
}
|
|
190
|
+
[data-theme="light"] .pabc-dot.future {
|
|
191
|
+
background: #eef0f5;
|
|
192
|
+
color: #9a9ab0;
|
|
193
|
+
}
|
|
194
|
+
[data-theme="light"] .pabc-dot.active {
|
|
195
|
+
color: #fff;
|
|
196
|
+
}
|
|
197
|
+
[data-theme="light"] .pabc-dot.done {
|
|
198
|
+
color: #fff;
|
|
199
|
+
border-color: rgba(0,0,0,0.06);
|
|
200
|
+
}
|
|
201
|
+
[data-theme="light"] .pabc-connector {
|
|
202
|
+
background: linear-gradient(90deg, #d8d8e4 0%, #e4e4ef 50%, #d8d8e4 100%);
|
|
203
|
+
}
|
|
204
|
+
[data-theme="light"] .pabc-connector.done {
|
|
205
|
+
background: linear-gradient(90deg, #b0b0c0 0%, #c0c0d0 50%, #b0b0c0 100%);
|
|
206
|
+
box-shadow: none;
|
|
207
|
+
}
|
|
208
|
+
[data-theme="light"] .shark-runner {
|
|
209
|
+
filter: drop-shadow(0 1px 2px rgba(0,0,0,0.15));
|
|
210
|
+
}
|