@tickernelz/paperclip-pro-adapter-pi-local 2026.925.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.
Files changed (70) hide show
  1. package/LICENSE +22 -0
  2. package/dist/cli/format-event.d.ts +2 -0
  3. package/dist/cli/format-event.d.ts.map +1 -0
  4. package/dist/cli/format-event.js +99 -0
  5. package/dist/cli/format-event.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/index.d.ts +9 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +40 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/server/execute.d.ts +3 -0
  15. package/dist/server/execute.d.ts.map +1 -0
  16. package/dist/server/execute.js +725 -0
  17. package/dist/server/execute.js.map +1 -0
  18. package/dist/server/execute.remote.test.d.ts +2 -0
  19. package/dist/server/execute.remote.test.d.ts.map +1 -0
  20. package/dist/server/execute.remote.test.js +533 -0
  21. package/dist/server/execute.remote.test.js.map +1 -0
  22. package/dist/server/index.d.ts +8 -0
  23. package/dist/server/index.d.ts.map +1 -0
  24. package/dist/server/index.js +51 -0
  25. package/dist/server/index.js.map +1 -0
  26. package/dist/server/models.d.ts +20 -0
  27. package/dist/server/models.d.ts.map +1 -0
  28. package/dist/server/models.js +163 -0
  29. package/dist/server/models.js.map +1 -0
  30. package/dist/server/models.test.d.ts +2 -0
  31. package/dist/server/models.test.d.ts.map +1 -0
  32. package/dist/server/models.test.js +22 -0
  33. package/dist/server/models.test.js.map +1 -0
  34. package/dist/server/parse.d.ts +23 -0
  35. package/dist/server/parse.d.ts.map +1 -0
  36. package/dist/server/parse.js +210 -0
  37. package/dist/server/parse.js.map +1 -0
  38. package/dist/server/parse.test.d.ts +2 -0
  39. package/dist/server/parse.test.d.ts.map +1 -0
  40. package/dist/server/parse.test.js +264 -0
  41. package/dist/server/parse.test.js.map +1 -0
  42. package/dist/server/runtime-config.d.ts +12 -0
  43. package/dist/server/runtime-config.d.ts.map +1 -0
  44. package/dist/server/runtime-config.js +126 -0
  45. package/dist/server/runtime-config.js.map +1 -0
  46. package/dist/server/runtime-config.test.d.ts +2 -0
  47. package/dist/server/runtime-config.test.d.ts.map +1 -0
  48. package/dist/server/runtime-config.test.js +197 -0
  49. package/dist/server/runtime-config.test.js.map +1 -0
  50. package/dist/server/skills.d.ts +7 -0
  51. package/dist/server/skills.d.ts.map +1 -0
  52. package/dist/server/skills.js +69 -0
  53. package/dist/server/skills.js.map +1 -0
  54. package/dist/server/test.d.ts +3 -0
  55. package/dist/server/test.d.ts.map +1 -0
  56. package/dist/server/test.js +309 -0
  57. package/dist/server/test.js.map +1 -0
  58. package/dist/ui/build-config.d.ts +3 -0
  59. package/dist/ui/build-config.d.ts.map +1 -0
  60. package/dist/ui/build-config.js +26 -0
  61. package/dist/ui/build-config.js.map +1 -0
  62. package/dist/ui/index.d.ts +3 -0
  63. package/dist/ui/index.d.ts.map +1 -0
  64. package/dist/ui/index.js +3 -0
  65. package/dist/ui/index.js.map +1 -0
  66. package/dist/ui/parse-stdout.d.ts +4 -0
  67. package/dist/ui/parse-stdout.d.ts.map +1 -0
  68. package/dist/ui/parse-stdout.js +271 -0
  69. package/dist/ui/parse-stdout.js.map +1 -0
  70. package/package.json +57 -0
@@ -0,0 +1,271 @@
1
+ function safeJsonParse(text) {
2
+ try {
3
+ return JSON.parse(text);
4
+ }
5
+ catch {
6
+ return null;
7
+ }
8
+ }
9
+ function asRecord(value) {
10
+ if (typeof value !== "object" || value === null || Array.isArray(value))
11
+ return null;
12
+ return value;
13
+ }
14
+ function asString(value, fallback = "") {
15
+ return typeof value === "string" ? value : fallback;
16
+ }
17
+ function extractTextContent(content) {
18
+ if (typeof content === "string")
19
+ return { text: content, thinking: "" };
20
+ if (!Array.isArray(content))
21
+ return { text: "", thinking: "" };
22
+ let text = "";
23
+ let thinking = "";
24
+ for (const c of content) {
25
+ if (c.type === "text" && c.text) {
26
+ text += c.text;
27
+ }
28
+ if (c.type === "thinking" && c.thinking) {
29
+ thinking += c.thinking;
30
+ }
31
+ }
32
+ return { text, thinking };
33
+ }
34
+ // Track pending tool calls for proper toolUseId matching
35
+ let pendingToolCalls = new Map();
36
+ export function resetParserState() {
37
+ pendingToolCalls.clear();
38
+ }
39
+ export function parsePiStdoutLine(line, ts) {
40
+ const parsed = asRecord(safeJsonParse(line));
41
+ if (!parsed) {
42
+ // Non-JSON line, treat as raw stdout
43
+ const trimmed = line.trim();
44
+ if (!trimmed)
45
+ return [];
46
+ return [{ kind: "stdout", ts, text: trimmed }];
47
+ }
48
+ const type = asString(parsed.type);
49
+ // RPC protocol messages - filter these out (internal implementation detail)
50
+ if (type === "response" || type === "extension_ui_request" || type === "extension_ui_response" || type === "extension_error") {
51
+ return [];
52
+ }
53
+ // Agent lifecycle
54
+ if (type === "agent_start") {
55
+ return [{ kind: "system", ts, text: "🚀 Pi agent started" }];
56
+ }
57
+ if (type === "agent_end") {
58
+ const entries = [];
59
+ // Extract final message from messages array if available
60
+ const messages = parsed.messages;
61
+ if (messages && messages.length > 0) {
62
+ const lastMessage = messages[messages.length - 1];
63
+ if (lastMessage?.role === "assistant") {
64
+ const content = lastMessage.content;
65
+ const { text, thinking } = extractTextContent(content);
66
+ if (thinking) {
67
+ entries.push({ kind: "thinking", ts, text: thinking });
68
+ }
69
+ if (text) {
70
+ entries.push({ kind: "assistant", ts, text });
71
+ }
72
+ // Extract usage
73
+ const usage = asRecord(lastMessage.usage);
74
+ if (usage) {
75
+ const inputTokens = (usage.inputTokens ?? usage.input ?? 0);
76
+ const outputTokens = (usage.outputTokens ?? usage.output ?? 0);
77
+ const cachedTokens = (usage.cacheRead ?? usage.cachedInputTokens ?? 0);
78
+ const costRecord = asRecord(usage.cost);
79
+ const costUsd = (costRecord?.total ?? usage.costUsd ?? 0);
80
+ if (inputTokens > 0 || outputTokens > 0) {
81
+ entries.push({
82
+ kind: "result",
83
+ ts,
84
+ text: "Run completed",
85
+ inputTokens,
86
+ outputTokens,
87
+ cachedTokens,
88
+ costUsd,
89
+ subtype: "end",
90
+ isError: false,
91
+ errors: [],
92
+ });
93
+ }
94
+ }
95
+ }
96
+ }
97
+ if (entries.length === 0) {
98
+ entries.push({ kind: "system", ts, text: "✅ Pi agent finished" });
99
+ }
100
+ return entries;
101
+ }
102
+ // Turn lifecycle
103
+ if (type === "turn_start") {
104
+ return []; // Skip noisy lifecycle events
105
+ }
106
+ if (type === "turn_end") {
107
+ const message = asRecord(parsed.message);
108
+ const toolResults = parsed.toolResults;
109
+ const entries = [];
110
+ if (message) {
111
+ const content = message.content;
112
+ const { text, thinking } = extractTextContent(content);
113
+ if (thinking) {
114
+ entries.push({ kind: "thinking", ts, text: thinking });
115
+ }
116
+ if (text) {
117
+ entries.push({ kind: "assistant", ts, text });
118
+ }
119
+ }
120
+ // Process tool results - match with pending tool calls
121
+ if (toolResults) {
122
+ for (const tr of toolResults) {
123
+ const toolCallId = asString(tr.toolCallId, `tool-${Date.now()}`);
124
+ const content = tr.content;
125
+ const isError = tr.isError === true;
126
+ // Extract text from Pi's content array format
127
+ let contentStr;
128
+ if (typeof content === "string") {
129
+ contentStr = content;
130
+ }
131
+ else if (Array.isArray(content)) {
132
+ const extracted = extractTextContent(content);
133
+ contentStr = extracted.text || JSON.stringify(content);
134
+ }
135
+ else {
136
+ contentStr = JSON.stringify(content);
137
+ }
138
+ // Get tool name from pending calls if available
139
+ const pendingCall = pendingToolCalls.get(toolCallId);
140
+ const toolName = asString(tr.toolName, pendingCall?.toolName || "tool");
141
+ entries.push({
142
+ kind: "tool_result",
143
+ ts,
144
+ toolUseId: toolCallId,
145
+ toolName,
146
+ content: contentStr,
147
+ isError,
148
+ });
149
+ // Clean up pending call
150
+ pendingToolCalls.delete(toolCallId);
151
+ }
152
+ }
153
+ return entries;
154
+ }
155
+ // Message streaming
156
+ if (type === "message_start") {
157
+ return [];
158
+ }
159
+ if (type === "message_update") {
160
+ const assistantEvent = asRecord(parsed.assistantMessageEvent);
161
+ if (assistantEvent) {
162
+ const msgType = asString(assistantEvent.type);
163
+ // Handle thinking deltas
164
+ if (msgType === "thinking_delta") {
165
+ const delta = asString(assistantEvent.delta);
166
+ if (delta) {
167
+ return [{ kind: "thinking", ts, text: delta, delta: true }];
168
+ }
169
+ }
170
+ // Handle text deltas
171
+ if (msgType === "text_delta") {
172
+ const delta = asString(assistantEvent.delta);
173
+ if (delta) {
174
+ return [{ kind: "assistant", ts, text: delta, delta: true }];
175
+ }
176
+ }
177
+ // Handle thinking end - emit full thinking block
178
+ if (msgType === "thinking_end") {
179
+ const content = asString(assistantEvent.content);
180
+ if (content) {
181
+ return [{ kind: "thinking", ts, text: content }];
182
+ }
183
+ }
184
+ // Handle text end - emit full text block
185
+ if (msgType === "text_end") {
186
+ const content = asString(assistantEvent.content);
187
+ if (content) {
188
+ return [{ kind: "assistant", ts, text: content }];
189
+ }
190
+ }
191
+ }
192
+ return [];
193
+ }
194
+ if (type === "message_end") {
195
+ const message = asRecord(parsed.message);
196
+ if (message) {
197
+ const content = message.content;
198
+ const { text, thinking } = extractTextContent(content);
199
+ const entries = [];
200
+ // Emit final thinking block if present
201
+ if (thinking) {
202
+ entries.push({ kind: "thinking", ts, text: thinking });
203
+ }
204
+ // Emit final text block if present
205
+ if (text) {
206
+ entries.push({ kind: "assistant", ts, text });
207
+ }
208
+ return entries;
209
+ }
210
+ return [];
211
+ }
212
+ // Tool execution
213
+ if (type === "tool_execution_start") {
214
+ const toolCallId = asString(parsed.toolCallId, `tool-${Date.now()}`);
215
+ const toolName = asString(parsed.toolName, "tool");
216
+ const args = parsed.args;
217
+ // Track this tool call for later matching
218
+ pendingToolCalls.set(toolCallId, { toolName, args });
219
+ return [{
220
+ kind: "tool_call",
221
+ ts,
222
+ name: toolName,
223
+ input: args,
224
+ toolUseId: toolCallId,
225
+ }];
226
+ }
227
+ if (type === "tool_execution_update") {
228
+ return [];
229
+ }
230
+ if (type === "tool_execution_end") {
231
+ const toolCallId = asString(parsed.toolCallId, `tool-${Date.now()}`);
232
+ const toolName = asString(parsed.toolName, "tool");
233
+ const result = parsed.result;
234
+ const isError = parsed.isError === true;
235
+ // Extract text from Pi's content array format
236
+ let contentStr;
237
+ if (typeof result === "string") {
238
+ contentStr = result;
239
+ }
240
+ else if (Array.isArray(result)) {
241
+ const extracted = extractTextContent(result);
242
+ contentStr = extracted.text || JSON.stringify(result);
243
+ }
244
+ else if (result && typeof result === "object") {
245
+ const resultObj = result;
246
+ if (Array.isArray(resultObj.content)) {
247
+ const extracted = extractTextContent(resultObj.content);
248
+ contentStr = extracted.text || JSON.stringify(result);
249
+ }
250
+ else {
251
+ contentStr = JSON.stringify(result);
252
+ }
253
+ }
254
+ else {
255
+ contentStr = String(result);
256
+ }
257
+ // Clean up pending call
258
+ pendingToolCalls.delete(toolCallId);
259
+ return [{
260
+ kind: "tool_result",
261
+ ts,
262
+ toolUseId: toolCallId,
263
+ toolName,
264
+ content: contentStr,
265
+ isError,
266
+ }];
267
+ }
268
+ // Fallback for unknown event types
269
+ return [{ kind: "stdout", ts, text: line }];
270
+ }
271
+ //# sourceMappingURL=parse-stdout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-stdout.js","sourceRoot":"","sources":["../../src/ui/parse-stdout.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@tickernelz/paperclip-pro-adapter-pi-local",
3
+ "version": "2026.925.0",
4
+ "license": "MIT",
5
+ "homepage": "https://github.com/tickernelz/paperclip-pro",
6
+ "bugs": {
7
+ "url": "https://github.com/tickernelz/paperclip-pro/issues"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/tickernelz/paperclip-pro",
12
+ "directory": "packages/adapters/pi-local"
13
+ },
14
+ "type": "module",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/index.d.ts",
18
+ "import": "./dist/index.js"
19
+ },
20
+ "./server": {
21
+ "types": "./dist/server/index.d.ts",
22
+ "import": "./dist/server/index.js"
23
+ },
24
+ "./ui": {
25
+ "types": "./dist/ui/index.d.ts",
26
+ "import": "./dist/ui/index.js"
27
+ },
28
+ "./cli": {
29
+ "types": "./dist/cli/index.d.ts",
30
+ "import": "./dist/cli/index.js"
31
+ }
32
+ },
33
+ "publishConfig": {
34
+ "access": "public"
35
+ },
36
+ "files": [
37
+ "dist"
38
+ ],
39
+ "dependencies": {
40
+ "@tickernelz/paperclip-pro-adapter-utils": "2026.925.0",
41
+ "picocolors": "^1.1.1"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "^24.0.0",
45
+ "typescript": "^7.0.2"
46
+ },
47
+ "engines": {
48
+ "node": ">=24.11.0"
49
+ },
50
+ "scripts": {
51
+ "build": "tsc",
52
+ "clean": "rm -rf dist",
53
+ "typecheck": "tsc --noEmit"
54
+ },
55
+ "main": "./dist/index.js",
56
+ "types": "./dist/index.d.ts"
57
+ }