@herbertgao/pi-extensions 2026.8.12 → 2026.8.13

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 (112) hide show
  1. package/README.md +8 -3
  2. package/THIRD_PARTY_NOTICES.md +4 -0
  3. package/node_modules/@luxusai/pi-hindsight/CHANGELOG.md +376 -0
  4. package/node_modules/@luxusai/pi-hindsight/README.md +92 -0
  5. package/node_modules/@luxusai/pi-hindsight/docs/adr/001-memory-lifecycle-and-scope.md +56 -0
  6. package/node_modules/@luxusai/pi-hindsight/docs/adr/002-explicit-routing-strategy-seam.md +169 -0
  7. package/node_modules/@luxusai/pi-hindsight/docs/adr/003-tui-memory-mode-vocabulary.md +107 -0
  8. package/node_modules/@luxusai/pi-hindsight/docs/adr/004-lifeos-dual-bank-design.md +89 -0
  9. package/node_modules/@luxusai/pi-hindsight/docs/adr/005-domain-banks-and-agent-first-surface.md +189 -0
  10. package/node_modules/@luxusai/pi-hindsight/docs/assets/logos/pi-hindsight-logo-dark.webp +0 -0
  11. package/node_modules/@luxusai/pi-hindsight/docs/assets/logos/pi-hindsight-logo-dark@2x.webp +0 -0
  12. package/node_modules/@luxusai/pi-hindsight/docs/coding-memory-evaluation.md +54 -0
  13. package/node_modules/@luxusai/pi-hindsight/docs/compatibility.md +75 -0
  14. package/node_modules/@luxusai/pi-hindsight/docs/hindsight-core-functions.md +300 -0
  15. package/node_modules/@luxusai/pi-hindsight/docs/mission-and-mental-model-quality.md +158 -0
  16. package/node_modules/@luxusai/pi-hindsight/docs/next-opt-out-design.md +164 -0
  17. package/node_modules/@luxusai/pi-hindsight/docs/risky-memory-modes.md +139 -0
  18. package/node_modules/@luxusai/pi-hindsight/docs/starter-mental-model-suggestions.md +74 -0
  19. package/node_modules/@luxusai/pi-hindsight/docs/surface-reference.md +261 -0
  20. package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-operations.ts +151 -0
  21. package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-selection.ts +18 -0
  22. package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-settings-presenter.ts +46 -0
  23. package/node_modules/@luxusai/pi-hindsight/extensions/banks/bank-templates.ts +383 -0
  24. package/node_modules/@luxusai/pi-hindsight/extensions/banks/banking.ts +240 -0
  25. package/node_modules/@luxusai/pi-hindsight/extensions/banks/knowledge-page-seed.ts +176 -0
  26. package/node_modules/@luxusai/pi-hindsight/extensions/banks/retain-strategies.ts +178 -0
  27. package/node_modules/@luxusai/pi-hindsight/extensions/client/client-retry.ts +41 -0
  28. package/node_modules/@luxusai/pi-hindsight/extensions/client/client.ts +386 -0
  29. package/node_modules/@luxusai/pi-hindsight/extensions/client/fetch-compat.ts +39 -0
  30. package/node_modules/@luxusai/pi-hindsight/extensions/client/timeout.ts +34 -0
  31. package/node_modules/@luxusai/pi-hindsight/extensions/config/config-defaults.ts +140 -0
  32. package/node_modules/@luxusai/pi-hindsight/extensions/config/config-editing-model.ts +61 -0
  33. package/node_modules/@luxusai/pi-hindsight/extensions/config/config-editing-registry.ts +925 -0
  34. package/node_modules/@luxusai/pi-hindsight/extensions/config/config-field-paths.ts +247 -0
  35. package/node_modules/@luxusai/pi-hindsight/extensions/config/config-normalize.ts +547 -0
  36. package/node_modules/@luxusai/pi-hindsight/extensions/config/config-writer.ts +480 -0
  37. package/node_modules/@luxusai/pi-hindsight/extensions/config/config.ts +182 -0
  38. package/node_modules/@luxusai/pi-hindsight/extensions/config/setup-gate.ts +86 -0
  39. package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-execute.ts +1010 -0
  40. package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-parse.ts +175 -0
  41. package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-plan.ts +425 -0
  42. package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-presentation.ts +210 -0
  43. package/node_modules/@luxusai/pi-hindsight/extensions/imports/import-sessions.ts +817 -0
  44. package/node_modules/@luxusai/pi-hindsight/extensions/index.ts +25 -0
  45. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/git-seed.ts +319 -0
  46. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle-recall.ts +196 -0
  47. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle-retain.ts +189 -0
  48. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle-runtime.ts +65 -0
  49. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/memory-lifecycle.ts +260 -0
  50. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/mental-models.ts +244 -0
  51. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/observation-scopes.ts +59 -0
  52. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/recall-cleanup.ts +82 -0
  53. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/recall-visibility.ts +45 -0
  54. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/recall.ts +331 -0
  55. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain-cursor.ts +354 -0
  56. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain-job-builder.ts +66 -0
  57. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain-receipts.ts +132 -0
  58. package/node_modules/@luxusai/pi-hindsight/extensions/lifecycle/retain.ts +228 -0
  59. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-bank-template-operations.ts +74 -0
  60. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-config-operations.ts +16 -0
  61. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-control-operations.ts +648 -0
  62. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-diagnostics-operations.ts +105 -0
  63. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-identity.ts +68 -0
  64. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-operation-service.ts +71 -0
  65. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-operation-types.ts +13 -0
  66. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-recall-operations.ts +162 -0
  67. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-retain-operations.ts +131 -0
  68. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-scope.ts +104 -0
  69. package/node_modules/@luxusai/pi-hindsight/extensions/operations/memory-session-operations.ts +37 -0
  70. package/node_modules/@luxusai/pi-hindsight/extensions/operations/operation-catalog.ts +893 -0
  71. package/node_modules/@luxusai/pi-hindsight/extensions/operations/reflect-presenter.ts +35 -0
  72. package/node_modules/@luxusai/pi-hindsight/extensions/operations/scope-migrate.ts +177 -0
  73. package/node_modules/@luxusai/pi-hindsight/extensions/operations/tools.ts +7 -0
  74. package/node_modules/@luxusai/pi-hindsight/extensions/queue/flush-presenter.ts +21 -0
  75. package/node_modules/@luxusai/pi-hindsight/extensions/queue/jsonl-queue-store.ts +112 -0
  76. package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue-delivery.ts +111 -0
  77. package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue-lock.ts +214 -0
  78. package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue-operations.ts +70 -0
  79. package/node_modules/@luxusai/pi-hindsight/extensions/queue/queue.ts +392 -0
  80. package/node_modules/@luxusai/pi-hindsight/extensions/tui/bank-template-presentation.ts +45 -0
  81. package/node_modules/@luxusai/pi-hindsight/extensions/tui/commands.ts +9 -0
  82. package/node_modules/@luxusai/pi-hindsight/extensions/tui/guided-setup.ts +860 -0
  83. package/node_modules/@luxusai/pi-hindsight/extensions/tui/prefill-input.ts +105 -0
  84. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-flow.ts +189 -0
  85. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-server-probe.ts +299 -0
  86. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-actions.ts +201 -0
  87. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-facts.ts +47 -0
  88. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-render.ts +239 -0
  89. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui-types.ts +50 -0
  90. package/node_modules/@luxusai/pi-hindsight/extensions/tui/setup-tui.ts +259 -0
  91. package/node_modules/@luxusai/pi-hindsight/extensions/tui/tool-presenters.ts +77 -0
  92. package/node_modules/@luxusai/pi-hindsight/extensions/types.ts +534 -0
  93. package/node_modules/@luxusai/pi-hindsight/extensions/utils/diagnostics.ts +319 -0
  94. package/node_modules/@luxusai/pi-hindsight/extensions/utils/messages.ts +325 -0
  95. package/node_modules/@luxusai/pi-hindsight/extensions/utils/sanitize.ts +42 -0
  96. package/node_modules/@luxusai/pi-hindsight/extensions/utils/session-memory-meta.ts +244 -0
  97. package/node_modules/@luxusai/pi-hindsight/extensions/utils/session-operations.ts +56 -0
  98. package/node_modules/@luxusai/pi-hindsight/extensions/utils/session.ts +50 -0
  99. package/node_modules/@luxusai/pi-hindsight/extensions/utils/status-fields.ts +167 -0
  100. package/node_modules/@luxusai/pi-hindsight/extensions/utils/status-health.ts +207 -0
  101. package/node_modules/@luxusai/pi-hindsight/extensions/utils/status.ts +120 -0
  102. package/node_modules/@luxusai/pi-hindsight/extensions/version.ts +8 -0
  103. package/node_modules/@luxusai/pi-hindsight/package.json +118 -0
  104. package/node_modules/@luxusai/pi-hindsight/skills/hindsight-memory-doctor/SKILL.md +75 -0
  105. package/node_modules/@narumitw/pi-btw/package.json +2 -2
  106. package/node_modules/pi-mcp-adapter/CHANGELOG.md +13 -0
  107. package/node_modules/pi-mcp-adapter/config.ts +10 -0
  108. package/node_modules/pi-mcp-adapter/dist/config.js +10 -0
  109. package/node_modules/pi-mcp-adapter/dist/config.js.map +1 -1
  110. package/node_modules/pi-mcp-adapter/init.ts +5 -1
  111. package/node_modules/pi-mcp-adapter/package.json +1 -1
  112. package/package.json +10 -4
@@ -0,0 +1,247 @@
1
+ export type FieldId =
2
+ | "enabled"
3
+ | "setupComplete"
4
+ | "baseUrl"
5
+ | "apiKeyEnv"
6
+ | "apiKeyDirect"
7
+ | "timeoutMs"
8
+ | "memoryProfile"
9
+ | "agentUse"
10
+ | "mentalModelsInject"
11
+ | "projectBankId"
12
+ | "projectRetainMission"
13
+ | "projectReflectMission"
14
+ | "projectObservationsMission"
15
+ | "globalBankEnabled"
16
+ | "globalBankId"
17
+ | "globalRetainMission"
18
+ | "globalReflectMission"
19
+ | "globalObservationsMission"
20
+ | "globalRetainMode"
21
+ | "recallEnabled"
22
+ | "recallBudget"
23
+ | "recallMaxTokens"
24
+ | "recallUserMaxTokens"
25
+ | "recallStoreLast"
26
+ | "recallStoreFailures"
27
+ | "recallPreferObservations"
28
+ | "retainEnabled"
29
+ | "retainAsync"
30
+ | "retainDelivery"
31
+ | "queuePath"
32
+ | "importMode"
33
+ | "importQualityProfile"
34
+ | "importBranches"
35
+ | "importToolResults"
36
+ | "importToolSummaryMaxChars"
37
+ | "importManifest"
38
+ | "importCheckpoint"
39
+ | "importReplaceExisting"
40
+ | "importResume"
41
+ | "statusStyle"
42
+ | "statusDetail"
43
+ | "statusMaxLength"
44
+ | "statusActivity"
45
+ | "notifyStartup"
46
+ | "notifyRecall"
47
+ | "notifyRetain";
48
+
49
+ export const CONFIG_FIELD_PATHS: Record<FieldId, string[]> = {
50
+ enabled: ["enabled"],
51
+ setupComplete: ["setupComplete"],
52
+ baseUrl: ["hindsight", "baseUrl"],
53
+ apiKeyEnv: ["hindsight", "apiKey"],
54
+ apiKeyDirect: ["hindsight", "apiKey"],
55
+ timeoutMs: ["hindsight", "timeoutMs"],
56
+ memoryProfile: ["retain", "enabled"],
57
+ agentUse: ["agentUse"],
58
+ mentalModelsInject: ["mentalModels", "inject"],
59
+ projectBankId: ["banks", "project", "bankId"],
60
+ projectRetainMission: ["banks", "project", "retainMission"],
61
+ projectReflectMission: ["banks", "project", "reflectMission"],
62
+ projectObservationsMission: ["banks", "project", "observationsMission"],
63
+ globalBankEnabled: ["banks", "user", "enabled"],
64
+ globalBankId: ["banks", "user", "bankId"],
65
+ globalRetainMission: ["banks", "user", "retainMission"],
66
+ globalReflectMission: ["banks", "user", "reflectMission"],
67
+ globalObservationsMission: ["banks", "user", "observationsMission"],
68
+ globalRetainMode: ["userRetain", "mode"],
69
+ recallEnabled: ["recall", "enabled"],
70
+ recallBudget: ["recall", "budget"],
71
+ recallMaxTokens: ["recall", "maxTokens"],
72
+ recallUserMaxTokens: ["recall", "userMaxTokens"],
73
+ recallStoreLast: ["recall", "storeLastRecall"],
74
+ recallStoreFailures: ["recall", "storeLastRecallFailures"],
75
+ recallPreferObservations: ["recall", "preferObservations"],
76
+ retainEnabled: ["retain", "enabled"],
77
+ retainAsync: ["retain", "async"],
78
+ retainDelivery: ["retain", "delivery"],
79
+ queuePath: ["retain", "queuePath"],
80
+ importMode: ["import", "mode"],
81
+ importQualityProfile: ["import", "qualityProfile"],
82
+ importBranches: ["import", "includeBranches"],
83
+ importToolResults: ["import", "toolResults"],
84
+ importToolSummaryMaxChars: ["import", "toolResultSummaryMaxChars"],
85
+ importManifest: ["import", "manifestPath"],
86
+ importCheckpoint: ["import", "checkpointPath"],
87
+ importReplaceExisting: ["import", "replaceExistingImportedDocs"],
88
+ importResume: ["import", "resume"],
89
+ statusStyle: ["status", "style"],
90
+ statusDetail: ["status", "detail"],
91
+ statusMaxLength: ["status", "maxLength"],
92
+ statusActivity: ["status", "showActivity"],
93
+ notifyStartup: ["notifications", "startup"],
94
+ notifyRecall: ["notifications", "recall"],
95
+ notifyRetain: ["notifications", "retain"],
96
+ };
97
+
98
+ export const CONFIG_RESET_PATHS = {
99
+ enabled: [["enabled"]],
100
+ "hindsight.baseUrl": [["hindsight", "baseUrl"]],
101
+ "hindsight.timeoutMs": [["hindsight", "timeoutMs"]],
102
+ "hindsight.apiKey": [
103
+ ["hindsight", "apiKey"],
104
+ ["hindsight", "apiKeyRef"],
105
+ ],
106
+ "banks.profile": [
107
+ ["banks", "project", "enabled"],
108
+ ["banks", "user", "enabled"],
109
+ ["banks", "global", "enabled"],
110
+ ["userRetain", "mode"],
111
+ ["globalRetain", "mode"],
112
+ ["recall", "enabled"],
113
+ ["retain", "enabled"],
114
+ ],
115
+ agentUse: [["agentUse"]],
116
+ "mentalModels.inject": [["mentalModels", "inject"]],
117
+ "banks.project.bankId": [
118
+ ["banks", "project", "bankId"],
119
+ ["banks", "project", "derive"],
120
+ ],
121
+ "banks.project.missions": [
122
+ ["banks", "project", "mission"],
123
+ ["banks", "project", "retainMission"],
124
+ ["banks", "project", "reflectMission"],
125
+ ["banks", "project", "observationsMission"],
126
+ ],
127
+ "banks.project.retainMission": [["banks", "project", "retainMission"]],
128
+ "banks.project.reflectMission": [["banks", "project", "reflectMission"]],
129
+ "banks.project.observationsMission": [["banks", "project", "observationsMission"]],
130
+ "banks.global.enabled": [
131
+ ["banks", "user", "enabled"],
132
+ ["banks", "global", "enabled"],
133
+ ],
134
+ "banks.global.bankId": [
135
+ ["banks", "user", "bankId"],
136
+ ["banks", "global", "bankId"],
137
+ ],
138
+ "banks.global.missions": [
139
+ ["banks", "user", "mission"],
140
+ ["banks", "user", "retainMission"],
141
+ ["banks", "user", "reflectMission"],
142
+ ["banks", "user", "observationsMission"],
143
+ ["banks", "global", "mission"],
144
+ ["banks", "global", "retainMission"],
145
+ ["banks", "global", "reflectMission"],
146
+ ["banks", "global", "observationsMission"],
147
+ ],
148
+ "banks.global.retainMission": [
149
+ ["banks", "user", "retainMission"],
150
+ ["banks", "global", "retainMission"],
151
+ ],
152
+ "banks.global.reflectMission": [
153
+ ["banks", "user", "reflectMission"],
154
+ ["banks", "global", "reflectMission"],
155
+ ],
156
+ "banks.global.observationsMission": [
157
+ ["banks", "user", "observationsMission"],
158
+ ["banks", "global", "observationsMission"],
159
+ ],
160
+ "globalRetain.mode": [
161
+ ["userRetain", "mode"],
162
+ ["globalRetain", "mode"],
163
+ ],
164
+ "recall.enabled": [["recall", "enabled"]],
165
+ "recall.budget": [["recall", "budget"]],
166
+ "recall.maxTokens": [["recall", "maxTokens"]],
167
+ "recall.userMaxTokens": [["recall", "userMaxTokens"]],
168
+ "recall.storeLastRecall": [["recall", "storeLastRecall"]],
169
+ "recall.storeLastRecallFailures": [["recall", "storeLastRecallFailures"]],
170
+ "recall.preferObservations": [["recall", "preferObservations"]],
171
+ "retain.enabled": [["retain", "enabled"]],
172
+ "retain.async": [["retain", "async"]],
173
+ "retain.delivery": [["retain", "delivery"]],
174
+ "retain.queuePath": [["retain", "queuePath"]],
175
+ "import.mode": [["import", "mode"]],
176
+ "import.qualityProfile": [["import", "qualityProfile"]],
177
+ "import.includeBranches": [["import", "includeBranches"]],
178
+ "import.toolResults": [["import", "toolResults"]],
179
+ "import.toolResultSummaryMaxChars": [["import", "toolResultSummaryMaxChars"]],
180
+ "import.manifestPath": [["import", "manifestPath"]],
181
+ "import.checkpointPath": [["import", "checkpointPath"]],
182
+ "import.replaceExistingImportedDocs": [["import", "replaceExistingImportedDocs"]],
183
+ "import.resume": [["import", "resume"]],
184
+ "status.style": [["status", "style"]],
185
+ "status.detail": [["status", "detail"]],
186
+ "status.maxLength": [["status", "maxLength"]],
187
+ "status.showActivity": [["status", "showActivity"]],
188
+ "notifications.startup": [["notifications", "startup"]],
189
+ "notifications.recall": [["notifications", "recall"]],
190
+ "notifications.retain": [["notifications", "retain"]],
191
+ setupComplete: [["setupComplete"]],
192
+ } as const satisfies Record<string, readonly (readonly string[])[]>;
193
+
194
+ export type ConfigResetKey = keyof typeof CONFIG_RESET_PATHS;
195
+
196
+ export const CONFIG_FIELD_RESET_KEYS: Record<FieldId, ConfigResetKey> = {
197
+ enabled: "enabled",
198
+ setupComplete: "setupComplete",
199
+ baseUrl: "hindsight.baseUrl",
200
+ apiKeyEnv: "hindsight.apiKey",
201
+ apiKeyDirect: "hindsight.apiKey",
202
+ timeoutMs: "hindsight.timeoutMs",
203
+ memoryProfile: "banks.profile",
204
+ agentUse: "agentUse",
205
+ mentalModelsInject: "mentalModels.inject",
206
+ projectBankId: "banks.project.bankId",
207
+ projectRetainMission: "banks.project.retainMission",
208
+ projectReflectMission: "banks.project.reflectMission",
209
+ projectObservationsMission: "banks.project.observationsMission",
210
+ globalBankEnabled: "banks.global.enabled",
211
+ globalBankId: "banks.global.bankId",
212
+ globalRetainMission: "banks.global.retainMission",
213
+ globalReflectMission: "banks.global.reflectMission",
214
+ globalObservationsMission: "banks.global.observationsMission",
215
+ globalRetainMode: "globalRetain.mode",
216
+ recallEnabled: "recall.enabled",
217
+ recallBudget: "recall.budget",
218
+ recallMaxTokens: "recall.maxTokens",
219
+ recallUserMaxTokens: "recall.userMaxTokens",
220
+ recallStoreLast: "recall.storeLastRecall",
221
+ recallStoreFailures: "recall.storeLastRecallFailures",
222
+ recallPreferObservations: "recall.preferObservations",
223
+ retainEnabled: "retain.enabled",
224
+ retainAsync: "retain.async",
225
+ retainDelivery: "retain.delivery",
226
+ queuePath: "retain.queuePath",
227
+ importMode: "import.mode",
228
+ importQualityProfile: "import.qualityProfile",
229
+ importBranches: "import.includeBranches",
230
+ importToolResults: "import.toolResults",
231
+ importToolSummaryMaxChars: "import.toolResultSummaryMaxChars",
232
+ importManifest: "import.manifestPath",
233
+ importCheckpoint: "import.checkpointPath",
234
+ importReplaceExisting: "import.replaceExistingImportedDocs",
235
+ importResume: "import.resume",
236
+ statusStyle: "status.style",
237
+ statusDetail: "status.detail",
238
+ statusMaxLength: "status.maxLength",
239
+ statusActivity: "status.showActivity",
240
+ notifyStartup: "notifications.startup",
241
+ notifyRecall: "notifications.recall",
242
+ notifyRetain: "notifications.retain",
243
+ };
244
+
245
+ export function resetPathsForConfigKeys(keys: ConfigResetKey[]): string[][] {
246
+ return keys.flatMap((key) => CONFIG_RESET_PATHS[key].map((path) => [...path]));
247
+ }