pi-para 0.6.6 → 0.7.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 (140) hide show
  1. package/ARCHITECTURE.md +4 -6
  2. package/CHANGELOG.md +22 -0
  3. package/CONFIGURATION.md +1 -16
  4. package/README.md +2 -13
  5. package/SETUP.md +1 -7
  6. package/STRUCTURE.md +7 -18
  7. package/dist/cli-legacy.d.ts +2 -1
  8. package/dist/cli-legacy.d.ts.map +1 -1
  9. package/dist/cli-legacy.js +13 -25
  10. package/dist/cli-legacy.js.map +1 -1
  11. package/dist/cli.d.ts +2 -24
  12. package/dist/cli.d.ts.map +1 -1
  13. package/dist/cli.js +29 -271
  14. package/dist/cli.js.map +1 -1
  15. package/dist/commands.d.ts.map +1 -1
  16. package/dist/commands.js +1 -28
  17. package/dist/commands.js.map +1 -1
  18. package/dist/config.d.ts +1 -5
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +0 -5
  21. package/dist/config.js.map +1 -1
  22. package/dist/context.d.ts.map +1 -1
  23. package/dist/context.js +2 -1
  24. package/dist/context.js.map +1 -1
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +6 -64
  27. package/dist/index.js.map +1 -1
  28. package/dist/link-utils.d.ts +1 -1
  29. package/dist/link-utils.js +1 -1
  30. package/dist/scheduler/index.d.ts.map +1 -1
  31. package/dist/scheduler/index.js +9 -3
  32. package/dist/scheduler/index.js.map +1 -1
  33. package/dist/settings.d.ts +0 -3
  34. package/dist/settings.d.ts.map +1 -1
  35. package/dist/settings.js +0 -11
  36. package/dist/settings.js.map +1 -1
  37. package/dist/store.d.ts +11 -0
  38. package/dist/store.d.ts.map +1 -1
  39. package/dist/store.js +48 -16
  40. package/dist/store.js.map +1 -1
  41. package/dist/tools/edit-read.d.ts +18 -0
  42. package/dist/tools/edit-read.d.ts.map +1 -0
  43. package/dist/tools/edit-read.js +161 -0
  44. package/dist/tools/edit-read.js.map +1 -0
  45. package/dist/tools/ingest.d.ts +12 -0
  46. package/dist/tools/ingest.d.ts.map +1 -0
  47. package/dist/tools/ingest.js +48 -0
  48. package/dist/tools/ingest.js.map +1 -0
  49. package/dist/tools/lint.d.ts +10 -0
  50. package/dist/tools/lint.d.ts.map +1 -0
  51. package/dist/tools/lint.js +57 -0
  52. package/dist/tools/lint.js.map +1 -0
  53. package/dist/tools/migrate.d.ts +6 -0
  54. package/dist/tools/migrate.d.ts.map +1 -0
  55. package/dist/tools/migrate.js +36 -0
  56. package/dist/tools/migrate.js.map +1 -0
  57. package/dist/tools/move.d.ts +9 -0
  58. package/dist/tools/move.d.ts.map +1 -0
  59. package/dist/tools/move.js +61 -0
  60. package/dist/tools/move.js.map +1 -0
  61. package/dist/tools/query.d.ts +12 -0
  62. package/dist/tools/query.d.ts.map +1 -0
  63. package/dist/tools/query.js +47 -0
  64. package/dist/tools/query.js.map +1 -0
  65. package/dist/tools/schemas.d.ts +109 -0
  66. package/dist/tools/schemas.d.ts.map +1 -0
  67. package/dist/tools/schemas.js +80 -0
  68. package/dist/tools/schemas.js.map +1 -0
  69. package/dist/tools/shared.d.ts +14 -0
  70. package/dist/tools/shared.d.ts.map +1 -0
  71. package/dist/tools/shared.js +25 -0
  72. package/dist/tools/shared.js.map +1 -0
  73. package/dist/tools/summarize.d.ts +8 -0
  74. package/dist/tools/summarize.d.ts.map +1 -0
  75. package/dist/tools/summarize.js +82 -0
  76. package/dist/tools/summarize.js.map +1 -0
  77. package/dist/tools/write.d.ts +23 -0
  78. package/dist/tools/write.d.ts.map +1 -0
  79. package/dist/tools/write.js +215 -0
  80. package/dist/tools/write.js.map +1 -0
  81. package/dist/tools.d.ts +1 -8
  82. package/dist/tools.d.ts.map +1 -1
  83. package/dist/tools.js +13 -795
  84. package/dist/tools.js.map +1 -1
  85. package/dist/wiki-tool-guidance.js +2 -2
  86. package/dist/wiki-tool-guidance.js.map +1 -1
  87. package/package.json +2 -6
  88. package/src/cli-legacy.ts +14 -26
  89. package/src/cli.ts +29 -293
  90. package/src/commands.ts +0 -21
  91. package/src/config.ts +1 -6
  92. package/src/context.ts +2 -1
  93. package/src/index.ts +5 -66
  94. package/src/link-utils.ts +1 -1
  95. package/src/scheduler/index.ts +9 -3
  96. package/src/settings.ts +0 -14
  97. package/src/store.ts +52 -15
  98. package/src/tools/edit-read.ts +193 -0
  99. package/src/tools/ingest.ts +63 -0
  100. package/src/tools/lint.ts +74 -0
  101. package/src/tools/migrate.ts +44 -0
  102. package/src/tools/move.ts +79 -0
  103. package/src/tools/query.ts +63 -0
  104. package/src/tools/schemas.ts +157 -0
  105. package/src/tools/shared.ts +35 -0
  106. package/src/tools/summarize.ts +89 -0
  107. package/src/tools/write.ts +252 -0
  108. package/src/tools.ts +18 -1046
  109. package/src/wiki-tool-guidance.ts +2 -2
  110. package/dist/daemon.d.ts +0 -49
  111. package/dist/daemon.d.ts.map +0 -1
  112. package/dist/daemon.js +0 -226
  113. package/dist/daemon.js.map +0 -1
  114. package/dist/link-discovery.d.ts +0 -40
  115. package/dist/link-discovery.d.ts.map +0 -1
  116. package/dist/link-discovery.js +0 -122
  117. package/dist/link-discovery.js.map +0 -1
  118. package/dist/maintainer.d.ts +0 -24
  119. package/dist/maintainer.d.ts.map +0 -1
  120. package/dist/maintainer.js +0 -358
  121. package/dist/maintainer.js.map +0 -1
  122. package/dist/watcher.d.ts +0 -25
  123. package/dist/watcher.d.ts.map +0 -1
  124. package/dist/watcher.js +0 -84
  125. package/dist/watcher.js.map +0 -1
  126. package/dist/webui/client/dist/index.html +0 -1885
  127. package/dist/webui/server.d.ts +0 -31
  128. package/dist/webui/server.d.ts.map +0 -1
  129. package/dist/webui/server.js +0 -566
  130. package/dist/webui/server.js.map +0 -1
  131. package/scripts/build-assets.mjs +0 -17
  132. package/src/daemon.ts +0 -288
  133. package/src/link-discovery.ts +0 -170
  134. package/src/maintainer.ts +0 -404
  135. package/src/python/__pycache__/minimax_lm.cpython-312.pyc +0 -0
  136. package/src/python/minimax_lm.py +0 -198
  137. package/src/python/rlm_capture.py +0 -215
  138. package/src/watcher.ts +0 -101
  139. package/src/webui/client/dist/index.html +0 -1885
  140. package/src/webui/server.ts +0 -765
@@ -0,0 +1,215 @@
1
+ import { normalizeTags, normalizeScopes } from "../tag-registry.js";
2
+ import { redactSecrets } from "../redact.js";
3
+ import { autoLinkSlugs, syncFrontmatterLinks } from "../link-utils.js";
4
+ import { validateFrontmatter } from "../frontmatter.js";
5
+ import { appendLog, gitCommit, listPageSlugs, readPage, rebuildIndex, writePage } from "../wiki.js";
6
+ import { scheduleWikiMaintenance } from "./shared.js";
7
+ // -- Factory: wiki_write execute ---------------------------------------------
8
+ export function createWriteExecute(wikiDir, store, getScope, markDirty) {
9
+ return async (params) => {
10
+ const pagesWritten = [];
11
+ const pagesSkipped = [];
12
+ const now = new Date().toISOString();
13
+ const scope = getScope();
14
+ // Gather all existing slugs for auto-linking (slug-only readdir scan;
15
+ // reading/parsing every page here made wiki_write scale poorly)
16
+ const allSlugs = await listPageSlugs(wikiDir);
17
+ for (const pageSpec of params.pages) {
18
+ // Sanitize slug
19
+ const slug = pageSpec.slug
20
+ .toLowerCase()
21
+ .replace(/[^a-z0-9-]/g, "-")
22
+ .replace(/-+/g, "-")
23
+ .replace(/^-|-$/g, "");
24
+ if (!slug) {
25
+ continue; // skip invalid slugs
26
+ }
27
+ const existing = await readPage(wikiDir, pageSpec.category, slug);
28
+ const pagePath = `${pageSpec.category}/${slug}`;
29
+ // Track this slug for auto-linking other pages in this batch
30
+ allSlugs.add(slug);
31
+ if (pageSpec.mode === "create" && existing) {
32
+ pagesSkipped.push(`${pagePath} (already exists; use mode=replace, mode=append, or wiki_edit)`);
33
+ continue;
34
+ }
35
+ if (pageSpec.mode === "edit" && !existing) {
36
+ pagesSkipped.push(`${pagePath} (missing; wiki_write mode=edit requires an existing page)`);
37
+ continue;
38
+ }
39
+ if (pageSpec.mode === "edit" && existing) {
40
+ // Legacy edit mode: keep for compatibility, but make it atomic like wiki_edit.
41
+ const edits = pageSpec.edits ?? [];
42
+ if (edits.length === 0) {
43
+ continue; // no edits to apply
44
+ }
45
+ const errors = [];
46
+ for (const edit of edits) {
47
+ const first = existing.body.indexOf(edit.oldText);
48
+ const last = existing.body.lastIndexOf(edit.oldText);
49
+ if (first === -1) {
50
+ errors.push(`oldText not found: "${edit.oldText.slice(0, 60)}..."`);
51
+ }
52
+ else if (first !== last) {
53
+ errors.push(`oldText is not unique: "${edit.oldText.slice(0, 60)}..."`);
54
+ }
55
+ }
56
+ if (errors.length > 0) {
57
+ pagesSkipped.push(`${pagePath} (${errors.join("; ")})`);
58
+ continue;
59
+ }
60
+ let editedBody = existing.body;
61
+ for (const edit of edits) {
62
+ editedBody = editedBody.replace(edit.oldText, edit.newText);
63
+ }
64
+ const linkedBody = redactSecrets(autoLinkSlugs(editedBody, allSlugs, slug)).text;
65
+ const rawScope = pageSpec.scope.length > 0 ? pageSpec.scope : existing.frontmatter.scope;
66
+ const newScope = normalizeScopes(rawScope);
67
+ const newTags = pageSpec.tags.length > 0 ? pageSpec.tags : existing.frontmatter.tags;
68
+ const updatedPage = {
69
+ category: pageSpec.category,
70
+ slug,
71
+ frontmatter: {
72
+ ...existing.frontmatter,
73
+ title: pageSpec.title || existing.frontmatter.title,
74
+ scope: newScope,
75
+ tags: normalizeTags(newTags, newScope),
76
+ updated: now,
77
+ links: syncFrontmatterLinks(linkedBody),
78
+ },
79
+ body: linkedBody,
80
+ };
81
+ await writePage(wikiDir, updatedPage);
82
+ pagesWritten.push(pagePath + (errors.length > 0 ? ` (${errors.length} edit(s) failed)` : ""));
83
+ }
84
+ else if (pageSpec.mode === "append" && existing) {
85
+ // Append to existing page body
86
+ const combinedBody = existing.body.trimEnd() + "\n\n" + pageSpec.body;
87
+ const linkedBody = redactSecrets(autoLinkSlugs(combinedBody, allSlugs, slug)).text;
88
+ const mergedTags = [...new Set([...existing.frontmatter.tags, ...pageSpec.tags])];
89
+ const mergedScope = normalizeScopes([...new Set([...existing.frontmatter.scope, ...pageSpec.scope])]);
90
+ const updatedPage = {
91
+ ...existing,
92
+ body: linkedBody,
93
+ frontmatter: {
94
+ ...existing.frontmatter,
95
+ updated: now,
96
+ tags: normalizeTags(mergedTags, mergedScope),
97
+ scope: mergedScope,
98
+ links: syncFrontmatterLinks(linkedBody),
99
+ },
100
+ };
101
+ await writePage(wikiDir, updatedPage);
102
+ pagesWritten.push(pagePath);
103
+ }
104
+ else if (pageSpec.mode === "replace" && existing) {
105
+ // Replace existing page body, update frontmatter
106
+ const linkedBody = redactSecrets(autoLinkSlugs(pageSpec.body, allSlugs, slug)).text;
107
+ const rawScope = pageSpec.scope.length > 0 ? pageSpec.scope : existing.frontmatter.scope;
108
+ const newScope = normalizeScopes(rawScope);
109
+ const newTags = pageSpec.tags.length > 0 ? pageSpec.tags : existing.frontmatter.tags;
110
+ const updatedPage = {
111
+ category: pageSpec.category,
112
+ slug,
113
+ frontmatter: {
114
+ ...existing.frontmatter,
115
+ title: pageSpec.title,
116
+ para: pageSpec.category,
117
+ scope: newScope,
118
+ tags: normalizeTags(newTags, newScope),
119
+ updated: now,
120
+ links: syncFrontmatterLinks(linkedBody),
121
+ },
122
+ body: linkedBody,
123
+ };
124
+ await writePage(wikiDir, updatedPage);
125
+ pagesWritten.push(pagePath);
126
+ }
127
+ else {
128
+ // Create new page (or mode=create/replace on non-existing)
129
+ const linkedBody = redactSecrets(autoLinkSlugs(pageSpec.body, allSlugs, slug)).text;
130
+ const rawScope = pageSpec.scope.length > 0 ? pageSpec.scope : [scope.name];
131
+ const newScope = normalizeScopes(rawScope);
132
+ const frontmatter = validateFrontmatter({
133
+ title: pageSpec.title,
134
+ para: pageSpec.category,
135
+ scope: newScope,
136
+ tags: normalizeTags(pageSpec.tags, newScope),
137
+ sources: [],
138
+ created: now,
139
+ updated: now,
140
+ links: syncFrontmatterLinks(linkedBody),
141
+ });
142
+ const newPage = {
143
+ category: pageSpec.category,
144
+ slug,
145
+ frontmatter,
146
+ body: linkedBody,
147
+ };
148
+ await writePage(wikiDir, newPage);
149
+ pagesWritten.push(pagePath);
150
+ }
151
+ }
152
+ // Always auto-rebuild index from disk.
153
+ // The LLM's indexContent is unreliable — it only knows about pages
154
+ // in its context, so it produces partial indexes that overwrite
155
+ // the full one. indexContent parameter is deprecated and ignored.
156
+ let indexUpdated = false;
157
+ if (pagesWritten.length > 0) {
158
+ await rebuildIndex(wikiDir);
159
+ indexUpdated = true;
160
+ }
161
+ // Append to log.md if summary provided
162
+ let logAppended = false;
163
+ if (params.logSummary && pagesWritten.length > 0) {
164
+ await appendLog(wikiDir, {
165
+ date: now.split("T")[0],
166
+ operation: "ingest",
167
+ summary: params.logSummary,
168
+ pages: pagesWritten,
169
+ });
170
+ logAppended = true;
171
+ }
172
+ // Defer QMD BM25 reindex to the debounced background maintenance queue
173
+ // (same as wiki_edit). Immediate post-write queries are safe: queryWiki
174
+ // retries with a fresh store.update() before returning zero results.
175
+ if (pagesWritten.length > 0) {
176
+ scheduleWikiMaintenance(wikiDir, store, markDirty);
177
+ }
178
+ // Mark context cache dirty so before_agent_start rebuilds
179
+ markDirty();
180
+ // Git auto-commit
181
+ if (pagesWritten.length > 0) {
182
+ const commitMsg = params.logSummary
183
+ ? params.logSummary
184
+ : `wiki: ${pagesWritten.join(", ")}`;
185
+ await gitCommit(wikiDir, commitMsg);
186
+ }
187
+ const summary = [
188
+ pagesWritten.length > 0
189
+ ? `Wrote ${pagesWritten.length} page(s): ${pagesWritten.join(", ")}`
190
+ : "No pages written.",
191
+ pagesSkipped.length > 0 ? `Skipped ${pagesSkipped.length} page(s): ${pagesSkipped.join(", ")}` : "",
192
+ ].filter(Boolean).join("\n");
193
+ return {
194
+ content: [
195
+ {
196
+ type: "text",
197
+ text: [
198
+ summary,
199
+ indexUpdated ? "Updated index.md." : "",
200
+ logAppended ? `Logged: ${params.logSummary}` : "",
201
+ ]
202
+ .filter(Boolean)
203
+ .join("\n"),
204
+ },
205
+ ],
206
+ details: {
207
+ pagesWritten,
208
+ indexUpdated,
209
+ logAppended,
210
+ pagesSkipped,
211
+ },
212
+ };
213
+ };
214
+ }
215
+ //# sourceMappingURL=write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../src/tools/write.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -1,11 +1,4 @@
1
- /**
2
- * Tool registrations — wiki tools for both pi's session agent and standalone mini-agent.
3
- *
4
- * Tool implementations are shared between both consumers. Only the registration
5
- * wrapper differs (pi.registerTool vs AgentTool).
6
- *
7
- * Factory functions (createXxxExecute) close over wikiDir and store — no ctx dependency.
8
- */
1
+ /** Tool registration composition for pi sessions and standalone mini-agents. */
9
2
  import type { AgentTool } from "@earendil-works/pi-agent-core";
10
3
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
11
4
  import type { QMDStore } from "qmd-engine";
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAghC/C;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,YAAY,EAC5B,SAAS,EAAE,MAAM,IAAI,EACrB,aAAa,CAAC,EAAE,MAAM,OAAO,EAC7B,aAAa,CAAC,EAAE,MAAM;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5D,IAAI,CAiWN;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,YAAY,EAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,SAAS,EAAE,CAiDb"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAqB/C;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,YAAY,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,YAAY,EAC5B,SAAS,EAAE,MAAM,IAAI,EACrB,aAAa,CAAC,EAAE,MAAM,OAAO,EAC7B,aAAa,CAAC,EAAE,MAAM;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5D,IAAI,CAiWN;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,MAAM,YAAY,EAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,GACrB,SAAS,EAAE,CAiDb"}