siclaw 0.1.2 → 0.1.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/dist/agentbox/gateway-client.d.ts +4 -0
- package/dist/agentbox/gateway-client.js +9 -1
- package/dist/agentbox/gateway-client.js.map +1 -1
- package/dist/agentbox/http-server.js +25 -1
- package/dist/agentbox/http-server.js.map +1 -1
- package/dist/agentbox/session.d.ts +2 -0
- package/dist/agentbox/session.js +11 -7
- package/dist/agentbox/session.js.map +1 -1
- package/dist/agentbox-main.js +10 -0
- package/dist/agentbox-main.js.map +1 -1
- package/dist/cli-main.js +19 -3
- package/dist/cli-main.js.map +1 -1
- package/dist/core/agent-factory.d.ts +2 -0
- package/dist/core/agent-factory.js +87 -21
- package/dist/core/agent-factory.js.map +1 -1
- package/dist/core/compaction.d.ts +80 -0
- package/dist/core/compaction.js +442 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/config.d.ts +7 -0
- package/dist/core/config.js +27 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/extensions/compaction-safeguard.d.ts +2 -0
- package/dist/core/extensions/compaction-safeguard.js +681 -0
- package/dist/core/extensions/compaction-safeguard.js.map +1 -0
- package/dist/core/extensions/deep-investigation.js +47 -73
- package/dist/core/extensions/deep-investigation.js.map +1 -1
- package/dist/core/extensions/memory-flush.d.ts +2 -10
- package/dist/core/extensions/memory-flush.js +4 -86
- package/dist/core/extensions/memory-flush.js.map +1 -1
- package/dist/core/llm-proxy.js +25 -6
- package/dist/core/llm-proxy.js.map +1 -1
- package/dist/core/message-utils.d.ts +18 -0
- package/dist/core/message-utils.js +28 -0
- package/dist/core/message-utils.js.map +1 -0
- package/dist/core/prompt.js +4 -5
- package/dist/core/prompt.js.map +1 -1
- package/dist/core/session-tool-result-guard.d.ts +2 -0
- package/dist/core/session-tool-result-guard.js +159 -0
- package/dist/core/session-tool-result-guard.js.map +1 -0
- package/dist/core/stream-wrappers.d.ts +41 -0
- package/dist/core/stream-wrappers.js +369 -0
- package/dist/core/stream-wrappers.js.map +1 -0
- package/dist/core/thinking-blocks.d.ts +20 -0
- package/dist/core/thinking-blocks.js +45 -0
- package/dist/core/thinking-blocks.js.map +1 -0
- package/dist/core/tool-call-id.d.ts +22 -0
- package/dist/core/tool-call-id.js +226 -0
- package/dist/core/tool-call-id.js.map +1 -0
- package/dist/core/tool-call-repair.d.ts +18 -0
- package/dist/core/tool-call-repair.js +73 -0
- package/dist/core/tool-call-repair.js.map +1 -0
- package/dist/core/tool-result-context-guard.d.ts +36 -0
- package/dist/core/tool-result-context-guard.js +272 -0
- package/dist/core/tool-result-context-guard.js.map +1 -0
- package/dist/cron/cron-limits.d.ts +16 -0
- package/dist/cron/cron-limits.js +17 -0
- package/dist/cron/cron-limits.js.map +1 -0
- package/dist/cron/cron-matcher.d.ts +14 -0
- package/dist/cron/cron-matcher.js +29 -0
- package/dist/cron/cron-matcher.js.map +1 -1
- package/dist/gateway/agentbox/client.d.ts +0 -2
- package/dist/gateway/agentbox/client.js.map +1 -1
- package/dist/gateway/agentbox/k8s-spawner.d.ts +10 -10
- package/dist/gateway/agentbox/k8s-spawner.js +27 -55
- package/dist/gateway/agentbox/k8s-spawner.js.map +1 -1
- package/dist/gateway/agentbox/local-spawner.d.ts +5 -0
- package/dist/gateway/agentbox/local-spawner.js +10 -0
- package/dist/gateway/agentbox/local-spawner.js.map +1 -1
- package/dist/gateway/cron/cron-service.js +7 -0
- package/dist/gateway/cron/cron-service.js.map +1 -1
- package/dist/gateway/db/index.js +9 -1
- package/dist/gateway/db/index.js.map +1 -1
- package/dist/gateway/db/init-schema.js +65 -16
- package/dist/gateway/db/init-schema.js.map +1 -1
- package/dist/gateway/db/migrate-sqlite.js +73 -20
- package/dist/gateway/db/migrate-sqlite.js.map +1 -1
- package/dist/gateway/db/repositories/cluster-repo.d.ts +59 -0
- package/dist/gateway/db/repositories/cluster-repo.js +107 -0
- package/dist/gateway/db/repositories/cluster-repo.js.map +1 -0
- package/dist/gateway/db/repositories/config-repo.d.ts +4 -5
- package/dist/gateway/db/repositories/config-repo.js +17 -0
- package/dist/gateway/db/repositories/config-repo.js.map +1 -1
- package/dist/gateway/db/repositories/feedback-repo.d.ts +71 -0
- package/dist/gateway/db/repositories/feedback-repo.js +52 -0
- package/dist/gateway/db/repositories/feedback-repo.js.map +1 -0
- package/dist/gateway/db/repositories/knowledge-doc-repo.d.ts +37 -0
- package/dist/gateway/db/repositories/knowledge-doc-repo.js +48 -0
- package/dist/gateway/db/repositories/knowledge-doc-repo.js.map +1 -0
- package/dist/gateway/db/repositories/user-cluster-config-repo.d.ts +45 -0
- package/dist/gateway/db/repositories/user-cluster-config-repo.js +90 -0
- package/dist/gateway/db/repositories/user-cluster-config-repo.js.map +1 -0
- package/dist/gateway/db/repositories/workspace-repo.d.ts +2 -2
- package/dist/gateway/db/repositories/workspace-repo.js +12 -12
- package/dist/gateway/db/repositories/workspace-repo.js.map +1 -1
- package/dist/gateway/db/schema-mysql.d.ts +437 -44
- package/dist/gateway/db/schema-mysql.js +36 -9
- package/dist/gateway/db/schema-mysql.js.map +1 -1
- package/dist/gateway/db/schema-sqlite.d.ts +459 -46
- package/dist/gateway/db/schema-sqlite.js +36 -9
- package/dist/gateway/db/schema-sqlite.js.map +1 -1
- package/dist/gateway/db/schema.d.ts +435 -44
- package/dist/gateway/db/schema.js +1 -1
- package/dist/gateway/db/schema.js.map +1 -1
- package/dist/gateway/plugins/channel-bridge.js +1 -1
- package/dist/gateway/plugins/channel-bridge.js.map +1 -1
- package/dist/gateway/rpc-methods.d.ts +2 -1
- package/dist/gateway/rpc-methods.js +507 -172
- package/dist/gateway/rpc-methods.js.map +1 -1
- package/dist/gateway/server.js +191 -51
- package/dist/gateway/server.js.map +1 -1
- package/dist/gateway/web/dist/assets/index-DTD0P9j8.css +1 -0
- package/dist/gateway/web/dist/assets/index-DhqsS2E0.js +756 -0
- package/dist/gateway/web/dist/assets/index-DhqsS2E0.js.map +1 -0
- package/dist/gateway/web/dist/index.html +2 -2
- package/dist/gateway-main.js +1 -3
- package/dist/gateway-main.js.map +1 -1
- package/dist/memory/indexer.d.ts +13 -0
- package/dist/memory/indexer.js +91 -1
- package/dist/memory/indexer.js.map +1 -1
- package/dist/memory/knowledge-extractor.d.ts +47 -0
- package/dist/memory/knowledge-extractor.js +165 -0
- package/dist/memory/knowledge-extractor.js.map +1 -0
- package/dist/memory/overview-generator.d.ts +16 -0
- package/dist/memory/overview-generator.js +233 -0
- package/dist/memory/overview-generator.js.map +1 -0
- package/dist/memory/session-summarizer.d.ts +28 -0
- package/dist/memory/session-summarizer.js +20 -2
- package/dist/memory/session-summarizer.js.map +1 -1
- package/dist/memory/temporal-decay.js +2 -2
- package/dist/memory/temporal-decay.js.map +1 -1
- package/dist/memory/topic-consolidator.d.ts +52 -0
- package/dist/memory/topic-consolidator.js +197 -0
- package/dist/memory/topic-consolidator.js.map +1 -0
- package/dist/tools/cluster-info.d.ts +9 -0
- package/dist/tools/cluster-info.js +74 -0
- package/dist/tools/cluster-info.js.map +1 -0
- package/dist/tools/command-sets.js +15 -5
- package/dist/tools/command-sets.js.map +1 -1
- package/dist/tools/create-skill.js +1 -1
- package/dist/tools/create-skill.js.map +1 -1
- package/dist/tools/debug-pod.d.ts +217 -0
- package/dist/tools/debug-pod.js +603 -0
- package/dist/tools/debug-pod.js.map +1 -0
- package/dist/tools/deep-search/engine.d.ts +0 -5
- package/dist/tools/deep-search/engine.js +68 -28
- package/dist/tools/deep-search/engine.js.map +1 -1
- package/dist/tools/deep-search/format.d.ts +1 -1
- package/dist/tools/deep-search/format.js +1 -2
- package/dist/tools/deep-search/format.js.map +1 -1
- package/dist/tools/deep-search/prompts.d.ts +4 -1
- package/dist/tools/deep-search/prompts.js +47 -29
- package/dist/tools/deep-search/prompts.js.map +1 -1
- package/dist/tools/deep-search/quality-gate.d.ts +25 -0
- package/dist/tools/deep-search/quality-gate.js +81 -0
- package/dist/tools/deep-search/quality-gate.js.map +1 -0
- package/dist/tools/deep-search/schemas.d.ts +25 -0
- package/dist/tools/deep-search/schemas.js +26 -1
- package/dist/tools/deep-search/schemas.js.map +1 -1
- package/dist/tools/deep-search/sre-knowledge.d.ts +6 -10
- package/dist/tools/deep-search/sre-knowledge.js +21 -52
- package/dist/tools/deep-search/sre-knowledge.js.map +1 -1
- package/dist/tools/deep-search/sub-agent.js +24 -8
- package/dist/tools/deep-search/sub-agent.js.map +1 -1
- package/dist/tools/deep-search/tool.js +3 -6
- package/dist/tools/deep-search/tool.js.map +1 -1
- package/dist/tools/deep-search/types.d.ts +13 -0
- package/dist/tools/deep-search/types.js +4 -4
- package/dist/tools/deep-search/types.js.map +1 -1
- package/dist/tools/dp-tools.d.ts +9 -6
- package/dist/tools/dp-tools.js +26 -55
- package/dist/tools/dp-tools.js.map +1 -1
- package/dist/tools/exec-utils.d.ts +8 -21
- package/dist/tools/exec-utils.js +11 -95
- package/dist/tools/exec-utils.js.map +1 -1
- package/dist/tools/fork-skill.js +1 -1
- package/dist/tools/fork-skill.js.map +1 -1
- package/dist/tools/k8s-checks.d.ts +11 -5
- package/dist/tools/k8s-checks.js +28 -9
- package/dist/tools/k8s-checks.js.map +1 -1
- package/dist/tools/knowledge-search.d.ts +3 -0
- package/dist/tools/knowledge-search.js +115 -0
- package/dist/tools/knowledge-search.js.map +1 -0
- package/dist/tools/kubeconfig-resolver.d.ts +22 -0
- package/dist/tools/kubeconfig-resolver.js +98 -18
- package/dist/tools/kubeconfig-resolver.js.map +1 -1
- package/dist/tools/manage-schedule.js +23 -1
- package/dist/tools/manage-schedule.js.map +1 -1
- package/dist/tools/netns-script.d.ts +1 -1
- package/dist/tools/netns-script.js +19 -7
- package/dist/tools/netns-script.js.map +1 -1
- package/dist/tools/node-exec.d.ts +1 -1
- package/dist/tools/node-exec.js +19 -7
- package/dist/tools/node-exec.js.map +1 -1
- package/dist/tools/node-script.d.ts +1 -1
- package/dist/tools/node-script.js +19 -7
- package/dist/tools/node-script.js.map +1 -1
- package/dist/tools/pod-exec.js +12 -1
- package/dist/tools/pod-exec.js.map +1 -1
- package/dist/tools/pod-nsenter-exec.d.ts +1 -1
- package/dist/tools/pod-nsenter-exec.js +19 -7
- package/dist/tools/pod-nsenter-exec.js.map +1 -1
- package/dist/tools/pod-script.js +12 -1
- package/dist/tools/pod-script.js.map +1 -1
- package/dist/tools/restricted-bash.js +10 -3
- package/dist/tools/restricted-bash.js.map +1 -1
- package/dist/tools/run-skill.js +14 -2
- package/dist/tools/run-skill.js.map +1 -1
- package/dist/tools/save-feedback.d.ts +7 -0
- package/dist/tools/save-feedback.js +125 -0
- package/dist/tools/save-feedback.js.map +1 -0
- package/dist/tools/update-skill.js +1 -1
- package/dist/tools/update-skill.js.map +1 -1
- package/package.json +1 -1
- package/skills/core/deep-investigation/SKILL.md +11 -14
- package/skills/core/session-feedback/SKILL.md +146 -0
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-feedback
|
|
3
|
+
description: Interactive session feedback — reviews the diagnostic process with the user, identifies decision points, and saves structured feedback to improve diagnostic capabilities.
|
|
4
|
+
tags: [feedback, meta, improvement]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Session Feedback Protocol
|
|
8
|
+
|
|
9
|
+
You are conducting an interactive feedback review of the current diagnostic session. Follow these phases. Be concise — don't over-ask.
|
|
10
|
+
|
|
11
|
+
**Language: Always follow the user's language (from their profile or recent messages). All output — phase titles, timeline, options, report — must be in the user's language.**
|
|
12
|
+
|
|
13
|
+
**Clickable options:** Whenever you present choices for the user, append this comment at the end of the message — it enables clickable chips in the web UI:
|
|
14
|
+
`<!-- suggested-replies: KEY|Label, KEY|Label -->`
|
|
15
|
+
The visible list format is flexible — write naturally. The comment is the machine contract.
|
|
16
|
+
|
|
17
|
+
## Phase 0 — Scope Selection
|
|
18
|
+
|
|
19
|
+
Scan the conversation history and identify distinct tasks or investigations performed in this session. Summarize each as a one-liner with what was done and the outcome.
|
|
20
|
+
|
|
21
|
+
- If **1 task**: state what will be reviewed and proceed directly to Phase 1.
|
|
22
|
+
- If **2+ tasks**: present them as numbered options, most recent first. Let user pick which to review.
|
|
23
|
+
|
|
24
|
+
Example (3 tasks in session):
|
|
25
|
+
|
|
26
|
+
1. Node NotReady diagnosis on roce-test — found 3 nodes down, RDMA config mismatch suspected
|
|
27
|
+
2. Pod crash loop analysis on envoy-gateway — identified OOM, suggested resource limits
|
|
28
|
+
3. Review entire session
|
|
29
|
+
|
|
30
|
+
<!-- suggested-replies: 1|Node NotReady diagnosis, 2|Pod crash loop, 3|Entire session -->
|
|
31
|
+
|
|
32
|
+
After user selects (or if only 1 task), proceed to Phase 1 scoped to that task only.
|
|
33
|
+
|
|
34
|
+
## Phase 1 — Compressed Timeline with Self-Reflection
|
|
35
|
+
|
|
36
|
+
Analyze the selected task's diagnostic steps and present a **compressed timeline** as a regular markdown numbered list (NOT a code block):
|
|
37
|
+
|
|
38
|
+
**Compression rules:**
|
|
39
|
+
- Group consecutive same-purpose tool calls into one line, marked with `(N steps)`
|
|
40
|
+
- Routine successful steps get a `✓` and stay as one-liners
|
|
41
|
+
- Decision points or anomalies get a `⚠️` with a brief self-reflection on what might be questionable
|
|
42
|
+
- Target: **5-8 lines max**, regardless of how many raw steps exist
|
|
43
|
+
|
|
44
|
+
Example (output as plain markdown list — never use code fences):
|
|
45
|
+
|
|
46
|
+
1. Cluster connect — credential_list → connected to roce-test ✓
|
|
47
|
+
2. Component scan (6 steps) — pods/nodes/daemonsets → found 3 nodes NotReady ✓
|
|
48
|
+
3. ⚠️ NIC detection — inferred vendor from ConfigMap tag, not verified on node
|
|
49
|
+
4. Node diagnostics (4 steps) — node_exec attempt → debug image pull failed
|
|
50
|
+
5. ⚠️ Log analysis pivot — exporter shows no devices vs rdma-qos 60+ VFs, data contradiction
|
|
51
|
+
6. Report generation ✓
|
|
52
|
+
|
|
53
|
+
After presenting, tell the user they can ask to expand any step by its number. Then immediately present Phase 2.
|
|
54
|
+
|
|
55
|
+
## Phase 2 — Interactive Evaluation
|
|
56
|
+
|
|
57
|
+
Present a top-level menu mixing "Specific steps" (a single entry) with cross-cutting observations generated from the session. Use **letters** for top-level, **numbers** for sub-levels, **0** to go back.
|
|
58
|
+
|
|
59
|
+
Top-level structure:
|
|
60
|
+
- **A** — Specific steps (review a step from the timeline)
|
|
61
|
+
- **B, C, D...** — 1-3 cross-cutting observations: concrete, session-grounded issues about overall direction, missing checks, or conclusion accuracy. Frame each with self-critical tension.
|
|
62
|
+
- **E** — All good (skip to report)
|
|
63
|
+
- **O** — Other
|
|
64
|
+
|
|
65
|
+
Example top-level:
|
|
66
|
+
|
|
67
|
+
A. Specific steps — review a step from the timeline
|
|
68
|
+
B. Overall priority — 3 nodes NotReady but RDMA config investigated first, was this the right call?
|
|
69
|
+
C. Missing check — no hardware-level diagnostics (lspci/dmesg) attempted on NotReady nodes
|
|
70
|
+
E. All good — generate report
|
|
71
|
+
O. Other
|
|
72
|
+
|
|
73
|
+
<!-- suggested-replies: A|Specific steps, B|Overall priority, C|Missing check, E|All good, O|Other -->
|
|
74
|
+
|
|
75
|
+
**Navigation:**
|
|
76
|
+
|
|
77
|
+
**Selecting A (Specific steps):** Present timeline steps as numbered sub-options. Highlight ⚠️ items:
|
|
78
|
+
|
|
79
|
+
1. Cluster connect ✓
|
|
80
|
+
2. Component scan (6 steps) ✓
|
|
81
|
+
3. ⚠️ NIC detection — inferred vendor from ConfigMap, not verified
|
|
82
|
+
4. Node diagnostics (4 steps) — image pull failed
|
|
83
|
+
5. ⚠️ Log analysis pivot — contradictory data not resolved
|
|
84
|
+
0. Back
|
|
85
|
+
|
|
86
|
+
<!-- suggested-replies: 1|Cluster connect, 2|Component scan, 3|NIC detection, 4|Node diagnostics, 5|Log analysis, 0|Back -->
|
|
87
|
+
|
|
88
|
+
**Selecting a specific step or cross-cutting observation:** Present 2-4 concrete alternatives the agent could have taken, plus "Other" and "Back":
|
|
89
|
+
|
|
90
|
+
1. Should have verified NIC model on node directly (SSH / node_exec)
|
|
91
|
+
2. Should have cross-checked with lspci or driver logs
|
|
92
|
+
3. Other
|
|
93
|
+
0. Back
|
|
94
|
+
|
|
95
|
+
<!-- suggested-replies: 1|Verify on node, 2|Cross-check lspci, 3|Other, 0|Back -->
|
|
96
|
+
|
|
97
|
+
If the selection is already a positive assessment (e.g. a ✓ step or "direction was correct"), confirm and record directly.
|
|
98
|
+
|
|
99
|
+
**After recording:** Show running tally (e.g. "Noted 2 items"), return to top-level menu with discussed items removed. Add R (Generate report) after the first recorded item.
|
|
100
|
+
|
|
101
|
+
**User input handling:**
|
|
102
|
+
- Any selection can include supplementary text — e.g. `1 and also the annotation source was wrong`. Capture both the selection AND the extra context when recording.
|
|
103
|
+
- "Other" means the user will type their own feedback. Do NOT ask a follow-up question — just wait for their input and record it directly.
|
|
104
|
+
|
|
105
|
+
**Other rules:**
|
|
106
|
+
- 0 (Back) appears at every sub-level — user can always return.
|
|
107
|
+
- If user selects **E**, skip directly to Phase 3.
|
|
108
|
+
- After **3 feedback items**, proactively suggest generating the report.
|
|
109
|
+
- When user says "没了", "done", "就这些", "R", or similar → move to Phase 3 immediately.
|
|
110
|
+
|
|
111
|
+
**Rating:** Do NOT ask per-item ratings. Infer the overall rating in Phase 3 based on severity of issues discussed.
|
|
112
|
+
|
|
113
|
+
## Phase 3 — Report Generation
|
|
114
|
+
|
|
115
|
+
Synthesize a structured report. Present it to the user for confirmation:
|
|
116
|
+
|
|
117
|
+
- **Strengths**: What the agent did well (2-4 bullet points)
|
|
118
|
+
- **Improvements**: What should change (2-4 bullet points)
|
|
119
|
+
- **Decision Points**: Each evaluated step with `wasCorrect`, `comment`, `idealAction`
|
|
120
|
+
- **Tags**: Categorize issues (e.g. `wrong-inference`, `missing-check`, `slow-path`, `wrong-order`, `correct-diagnosis`)
|
|
121
|
+
- **Overall Rating**: Infer 1-5 based on the discussion (1=mostly wrong, 3=ok with gaps, 5=excellent)
|
|
122
|
+
|
|
123
|
+
Present two options:
|
|
124
|
+
|
|
125
|
+
Y. Confirm & save
|
|
126
|
+
N. Request adjustments
|
|
127
|
+
|
|
128
|
+
<!-- suggested-replies: Y|Confirm & save, N|Request adjustments -->
|
|
129
|
+
|
|
130
|
+
## Phase 4 — Save
|
|
131
|
+
|
|
132
|
+
After user confirms (or says ok/好/确认/save), call `save_feedback` immediately:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
save_feedback({
|
|
136
|
+
overallRating: <1-5>,
|
|
137
|
+
summary: "<brief summary>",
|
|
138
|
+
decisionPoints: "<JSON array>",
|
|
139
|
+
strengths: "<JSON array>",
|
|
140
|
+
improvements: "<JSON array>",
|
|
141
|
+
tags: "<JSON array>",
|
|
142
|
+
feedbackConversation: "<JSON summary of this dialogue>"
|
|
143
|
+
})
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
After saving, thank the user briefly. Done — do not continue the feedback loop.
|