@rol1n/pi-kit 0.1.0 → 0.1.2

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.
Files changed (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -50
  3. package/README_zh.md +136 -0
  4. package/ask-u-questions/README.md +26 -0
  5. package/{extensions/ask-u-questions → ask-u-questions}/dialog-ui.ts +23 -0
  6. package/{extensions/ask-u-questions → ask-u-questions}/index.ts +9 -5
  7. package/{extensions/ask-u-questions → ask-u-questions}/multi-choice.ts +1 -3
  8. package/{extensions/ask-u-questions → ask-u-questions}/single-choice.ts +1 -3
  9. package/{extensions/ask-u-questions → ask-u-questions}/tool-renderers.ts +1 -3
  10. package/ask-u-questions/types.ts +192 -0
  11. package/continue-signal/README.md +20 -0
  12. package/{extensions/continue-signal → continue-signal}/index.ts +21 -3
  13. package/custom-providers/README.md +20 -0
  14. package/{extensions/custom-providers → custom-providers}/index.ts +16 -2
  15. package/image-generate/README.md +25 -0
  16. package/{extensions/image-generate → image-generate}/index.ts +22 -2
  17. package/{extensions/image-generate → image-generate}/model-selector.ts +1 -1
  18. package/memory-log/README.md +121 -0
  19. package/{extensions/memory-log → memory-log}/config.ts +1 -1
  20. package/{extensions/memory-log → memory-log}/hooks/compaction-hook.ts +58 -15
  21. package/memory-log/hooks/compaction-trigger.ts +87 -0
  22. package/{extensions/memory-log → memory-log}/hooks/observer-trigger.ts +2 -1
  23. package/{extensions/memory-log → memory-log}/index.ts +4 -0
  24. package/{extensions/memory-log → memory-log}/ledger/index.ts +1 -0
  25. package/memory-log/ledger/recall.ts +111 -0
  26. package/{extensions/memory-log → memory-log}/ledger/render.ts +3 -1
  27. package/{extensions/memory-log → memory-log}/ledger/serialize.ts +2 -4
  28. package/{extensions/memory-log → memory-log}/ledger/types.ts +4 -1
  29. package/{extensions/memory-log → memory-log}/runtime.ts +0 -5
  30. package/memory-log/tools/recall.ts +60 -0
  31. package/model-vision/README.md +22 -0
  32. package/{extensions/multi-harness → multi-harness}/README.md +3 -3
  33. package/oai-subquota/README.md +22 -0
  34. package/{extensions/oai-subquota → oai-subquota}/index.ts +16 -6
  35. package/{extensions/oai-subquota → oai-subquota}/snapshot.ts +127 -1
  36. package/{extensions/oai-subquota → oai-subquota}/ui.ts +1 -1
  37. package/package.json +46 -46
  38. package/prompt-snipaste/README.md +27 -0
  39. package/{extensions/prompt-snipaste → prompt-snipaste}/renderers.ts +0 -1
  40. package/{extensions/prompt-snipaste → prompt-snipaste}/snippets.ts +5 -2
  41. package/{extensions/prompt-snipaste → prompt-snipaste}/types.ts +0 -1
  42. package/screenshot/README.md +14 -0
  43. package/srp-theme/README.md +18 -0
  44. package/{extensions/srp-theme → srp-theme}/footer.ts +0 -1
  45. package/{extensions/srp-theme → srp-theme}/tps-meter.ts +0 -1
  46. package/{extensions/subagent → subagent}/README.md +1 -1
  47. package/tui-asr/README.md +21 -0
  48. package/{extensions/tui-asr → tui-asr}/dictation.ts +70 -3
  49. package/{extensions/tui-asr → tui-asr}/index.ts +2 -2
  50. package/{extensions/tui-asr → tui-asr}/input.ts +30 -1
  51. package/{extensions/tui-asr → tui-asr}/model-selector.ts +1 -1
  52. package/web-reach/README.md +19 -0
  53. package/windows-wheel-fix/README.md +12 -0
  54. package/extensions/ask-u-questions/README.md +0 -32
  55. package/extensions/ask-u-questions/answers.ts +0 -53
  56. package/extensions/ask-u-questions/results.ts +0 -83
  57. package/extensions/ask-u-questions/schema.ts +0 -17
  58. package/extensions/ask-u-questions/types.ts +0 -45
  59. package/extensions/ask-u-questions/ui-lock.ts +0 -24
  60. package/extensions/continue-signal/README.md +0 -28
  61. package/extensions/continue-signal/renderer.ts +0 -21
  62. package/extensions/custom-providers/README.md +0 -28
  63. package/extensions/image-generate/README.md +0 -29
  64. package/extensions/image-generate/models.ts +0 -19
  65. package/extensions/memory-log/README.md +0 -54
  66. package/extensions/memory-log/hooks/compaction-trigger.ts +0 -160
  67. package/extensions/model-vision/README.md +0 -28
  68. package/extensions/oai-subquota/README.md +0 -30
  69. package/extensions/oai-subquota/api.ts +0 -27
  70. package/extensions/oai-subquota/auth.ts +0 -34
  71. package/extensions/oai-subquota/cache.ts +0 -30
  72. package/extensions/oai-subquota/types.ts +0 -40
  73. package/extensions/prompt-snipaste/README.md +0 -33
  74. package/extensions/screenshot/README.md +0 -25
  75. package/extensions/srp-theme/README.md +0 -24
  76. package/extensions/subagent/skills/subagent/SKILL.md +0 -70
  77. package/extensions/tui-asr/README.md +0 -28
  78. package/extensions/tui-asr/audio.ts +0 -40
  79. package/extensions/tui-asr/clipboard.ts +0 -30
  80. package/extensions/tui-asr/providers.ts +0 -25
  81. package/extensions/web-reach/README.md +0 -37
  82. package/extensions/web-reach/html.ts +0 -83
  83. package/extensions/web-reach/index.ts +0 -82
  84. package/extensions/web-reach/page.ts +0 -132
  85. package/extensions/web-reach/pdf.ts +0 -42
  86. package/extensions/web-reach/reader.ts +0 -42
  87. package/extensions/web-reach/rsc.ts +0 -161
  88. package/extensions/web-reach/search.ts +0 -85
  89. package/extensions/web-reach/transport.ts +0 -35
  90. package/extensions/windows-wheel-fix/README.md +0 -21
  91. /package/{extensions/custom-providers → custom-providers}/asr/handlers/dashscope.ts +0 -0
  92. /package/{extensions/custom-providers → custom-providers}/asr/index.ts +0 -0
  93. /package/{extensions/custom-providers → custom-providers}/asr/models.ts +0 -0
  94. /package/{extensions/custom-providers → custom-providers}/asr/types.ts +0 -0
  95. /package/{extensions/custom-providers → custom-providers}/chat/index.ts +0 -0
  96. /package/{extensions/custom-providers → custom-providers}/chat/magpie.ts +0 -0
  97. /package/{extensions/custom-providers → custom-providers}/chat/models.ts +0 -0
  98. /package/{extensions/custom-providers → custom-providers}/classifier/index.ts +0 -0
  99. /package/{extensions/custom-providers → custom-providers}/classifier/models.ts +0 -0
  100. /package/{extensions/custom-providers → custom-providers}/image/handlers/dashscope.ts +0 -0
  101. /package/{extensions/custom-providers → custom-providers}/image/handlers/openrouter.ts +0 -0
  102. /package/{extensions/custom-providers → custom-providers}/image/index.ts +0 -0
  103. /package/{extensions/custom-providers → custom-providers}/image/models.ts +0 -0
  104. /package/{extensions/custom-providers → custom-providers}/image/types.ts +0 -0
  105. /package/{extensions/custom-providers → custom-providers}/types.ts +0 -0
  106. /package/{extensions/image-generate → image-generate}/files.ts +0 -0
  107. /package/{extensions/memory-log → memory-log}/agent/consolidator/prompt.ts +0 -0
  108. /package/{extensions/memory-log → memory-log}/agent/consolidator/tools.ts +0 -0
  109. /package/{extensions/memory-log → memory-log}/agent/cost.ts +0 -0
  110. /package/{extensions/memory-log → memory-log}/agent/index.ts +0 -0
  111. /package/{extensions/memory-log → memory-log}/agent/observer/prompt.ts +0 -0
  112. /package/{extensions/memory-log → memory-log}/agent/observer/tool.ts +0 -0
  113. /package/{extensions/memory-log → memory-log}/commands/compact.ts +0 -0
  114. /package/{extensions/memory-log → memory-log}/commands/consolidate.ts +0 -0
  115. /package/{extensions/memory-log → memory-log}/commands/status.ts +0 -0
  116. /package/{extensions/memory-log → memory-log}/debug-log.ts +0 -0
  117. /package/{extensions/memory-log → memory-log}/hooks/consolidator-trigger.ts +0 -0
  118. /package/{extensions/memory-log → memory-log}/ids.ts +0 -0
  119. /package/{extensions/memory-log → memory-log}/ledger/fold.ts +0 -0
  120. /package/{extensions/memory-log → memory-log}/ledger/pool.ts +0 -0
  121. /package/{extensions/memory-log → memory-log}/ledger/progress.ts +0 -0
  122. /package/{extensions/memory-log → memory-log}/ledger/projection.ts +0 -0
  123. /package/{extensions/memory-log → memory-log}/memory/index-render.ts +0 -0
  124. /package/{extensions/memory-log → memory-log}/memory/paths.ts +0 -0
  125. /package/{extensions/memory-log → memory-log}/memory/session.ts +0 -0
  126. /package/{extensions/memory-log → memory-log}/spawn/launch.ts +0 -0
  127. /package/{extensions/memory-log → memory-log}/spawn/runs.ts +0 -0
  128. /package/{extensions/memory-log → memory-log}/tokens.ts +0 -0
  129. /package/{extensions/memory-log → memory-log}/ui/status-controller.ts +0 -0
  130. /package/{extensions/memory-log → memory-log}/ui/timeline.ts +0 -0
  131. /package/{extensions/multi-harness → multi-harness}/adapters.mjs +0 -0
  132. /package/{extensions/multi-harness → multi-harness}/harness-done.mjs +0 -0
  133. /package/{extensions/multi-harness → multi-harness}/index.ts +0 -0
  134. /package/{extensions/multi-harness → multi-harness}/ipc.mjs +0 -0
  135. /package/{extensions/multi-harness → multi-harness}/opencode-plugin.mjs +0 -0
  136. /package/{extensions/multi-harness → multi-harness}/process-runner.mjs +0 -0
  137. /package/{extensions/multi-harness → multi-harness}/turn-hook.mjs +0 -0
  138. /package/{extensions/multi-harness → multi-harness}/worker-bridge.ts +0 -0
  139. /package/{extensions/prompt-snipaste → prompt-snipaste}/index.ts +0 -0
  140. /package/{extensions/prompt-snipaste → prompt-snipaste}/menu.ts +0 -0
  141. /package/{prompts → prompt-snipaste/prompts}/ask-questions.md +0 -0
  142. /package/{prompts → prompt-snipaste/prompts}/delegate-exploration.md +0 -0
  143. /package/{prompts → prompt-snipaste/prompts}/diagnose-report.md +0 -0
  144. /package/{prompts → prompt-snipaste/prompts}/frontend-tech-preset.md +0 -0
  145. /package/{prompts → prompt-snipaste/prompts}/orchestrator-mode.md +0 -0
  146. /package/{prompts → prompt-snipaste/prompts}/session-kickoff.md +0 -0
  147. /package/{prompts → prompt-snipaste/prompts}/verify-not-assume.md +0 -0
  148. /package/{extensions/srp-theme → srp-theme}/index.ts +0 -0
  149. /package/{extensions/subagent → subagent}/bridge.ts +0 -0
  150. /package/{extensions/subagent → subagent}/index.ts +0 -0
  151. /package/{extensions/subagent → subagent}/mux.ts +0 -0
  152. /package/{extensions/subagent → subagent}/session.ts +0 -0
  153. /package/{extensions/subagent → subagent}/ui.ts +0 -0
  154. /package/{extensions/tui-asr → tui-asr}/status.ts +0 -0
  155. /package/{extensions/windows-wheel-fix → windows-wheel-fix}/index.ts +0 -0
@@ -1,85 +0,0 @@
1
- import { envNum, truncate, withTimeout } from "./transport.ts";
2
-
3
- const EXA_MCP_URL = "https://mcp.exa.ai/mcp";
4
- const EXA_SEARCH_TOOL = "web_search_exa";
5
-
6
- interface ExaMcpResponse {
7
- result?: {
8
- content?: Array<{ type?: string; text?: string }>;
9
- isError?: boolean;
10
- };
11
- error?: { code?: number; message?: string };
12
- }
13
-
14
- function parseExaResponse(body: string): ExaMcpResponse | undefined {
15
- for (const line of body.split("\n")) {
16
- if (!line.startsWith("data:")) continue;
17
- const payload = line.slice(5).trim();
18
- if (!payload) continue;
19
- try {
20
- const parsed = JSON.parse(payload) as ExaMcpResponse;
21
- if (parsed.result || parsed.error) return parsed;
22
- } catch {
23
- /* continue to next SSE event */
24
- }
25
- }
26
- try {
27
- const parsed = JSON.parse(body) as ExaMcpResponse;
28
- return parsed.result || parsed.error ? parsed : undefined;
29
- } catch {
30
- return undefined;
31
- }
32
- }
33
-
34
- export async function searchWeb(
35
- query: string,
36
- signal?: AbortSignal,
37
- ): Promise<{ text: string; provider: string }> {
38
- query = query.trim();
39
- if (!query) throw new Error("Search query cannot be empty.");
40
- const { ac, done } = withTimeout(
41
- envNum("SRP_WEB_SEARCH_TIMEOUT_MS", 60_000),
42
- "Search request timed out",
43
- signal,
44
- );
45
- try {
46
- const res = await fetch(`${EXA_MCP_URL}?tools=${EXA_SEARCH_TOOL}`, {
47
- method: "POST",
48
- headers: {
49
- "Content-Type": "application/json",
50
- Accept: "application/json, text/event-stream",
51
- "x-exa-source": "web-reach",
52
- },
53
- body: JSON.stringify({
54
- jsonrpc: "2.0",
55
- id: 1,
56
- method: "tools/call",
57
- params: { name: EXA_SEARCH_TOOL, arguments: { query, numResults: 6 } },
58
- }),
59
- signal: ac.signal,
60
- });
61
- const body = await res.text();
62
- if (!res.ok) {
63
- const hint = res.status === 429 ? " (Exa free tier rate limit reached; please try again later)" : "";
64
- throw new Error(`Exa MCP HTTP ${res.status}${hint}: ${body.slice(0, 300)}`);
65
- }
66
-
67
- const payload = parseExaResponse(body);
68
- if (!payload) throw new Error("Exa MCP returned an unparseable response.");
69
- if (payload.error) {
70
- throw new Error(
71
- `Exa MCP error${payload.error.code ? ` ${payload.error.code}` : ""}: ${payload.error.message ?? "Unknown error"}`,
72
- );
73
- }
74
-
75
- const text = payload.result?.content
76
- ?.find((item) => item.type === "text" && item.text?.trim())
77
- ?.text?.trim();
78
- if (payload.result?.isError || !text) {
79
- throw new Error(text || "Exa MCP returned empty content.");
80
- }
81
- return { text: truncate(text), provider: "exa-mcp" };
82
- } finally {
83
- done();
84
- }
85
- }
@@ -1,35 +0,0 @@
1
- export const DEFAULT_USER_AGENT =
2
- "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 web-reach/2.0";
3
-
4
- const MAX_RETURN_CHARS = 35_000;
5
-
6
- export function envNum(name: string, fallback: number): number {
7
- const n = Number(process.env[name]);
8
- return Number.isFinite(n) && n > 0 ? n : fallback;
9
- }
10
-
11
- // ============================ Timeout & Helpers ============================
12
-
13
- export function withTimeout(
14
- ms: number,
15
- label: string,
16
- signal?: AbortSignal,
17
- ): { ac: AbortController; done: () => void } {
18
- const ac = new AbortController();
19
- const timer = setTimeout(() => ac.abort(new Error(`${label} timed out (${ms / 1000}s)`)), ms);
20
- const onAbort = () => ac.abort(signal?.reason);
21
- signal?.addEventListener("abort", onAbort, { once: true });
22
- if (signal?.aborted) onAbort();
23
- return {
24
- ac,
25
- done: () => {
26
- clearTimeout(timer);
27
- signal?.removeEventListener("abort", onAbort);
28
- },
29
- };
30
- }
31
-
32
- export function truncate(text: string, limit = MAX_RETURN_CHARS): string {
33
- if (text.length <= limit) return text;
34
- return text.slice(0, limit) + `\n\n...(content truncated to ${limit} characters)`;
35
- }
@@ -1,21 +0,0 @@
1
- # windows-wheel-fix
2
-
3
- Restore mouse-wheel reporting for Pi running under Windows ConPTY/Zellij when terminal initialization causes wheel events to be translated into prompt-history navigation.
4
-
5
- ## Install
6
-
7
- ```sh
8
- pi install npm:@rol1n/windows-wheel-fix
9
- ```
10
-
11
- Also included in `@rol1n/pi-kit`. The entrypoint returns immediately outside native Windows, so an aggregate installation does not apply this terminal patch on Linux, WSL, or macOS.
12
-
13
- ## Behavior
14
-
15
- The extension re-emits mouse-reporting control sequences after session startup and whenever stdin returns to raw mode. It has no slash command, settings section, credentials, or external binary requirement.
16
-
17
- The targeted upstream issue is [earendil-works/pi#9656](https://github.com/earendil-works/pi/issues/9656). If your installed Pi/terminal versions already resolve that issue, disable the extension through Pi's package resource configuration.
18
-
19
- ## Source layout
20
-
21
- The small, platform-specific patch stays in one `index.ts` beside this README.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes