pi-fabric 0.109.3 → 0.109.5

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 (106) hide show
  1. package/THIRD_PARTY_NOTICES.md +2 -2
  2. package/dist/agents.js +3 -3
  3. package/dist/chunks/{chunk-T5CU2GPZ.js → chunk-2TJHOQGO.js} +34 -7
  4. package/dist/chunks/chunk-2TJHOQGO.js.map +7 -0
  5. package/dist/chunks/{chunk-X2TRSE7D.js → chunk-2YG4ZA2K.js} +2 -2
  6. package/dist/chunks/{chunk-M5IN6DMF.js → chunk-56RFFBBO.js} +6 -6
  7. package/dist/chunks/{chunk-UXEMIWYI.js → chunk-67RXNJLG.js} +7 -7
  8. package/dist/chunks/chunk-67RXNJLG.js.map +7 -0
  9. package/dist/chunks/{chunk-ABJCSNZO.js → chunk-D3IONBBJ.js} +2 -2
  10. package/dist/chunks/{chunk-7JU7Z4XQ.js → chunk-D3W6CBJZ.js} +2 -2
  11. package/dist/chunks/{chunk-FB24AOIJ.js → chunk-H3SGA7G7.js} +5 -5
  12. package/dist/chunks/{chunk-ZXKYU6CH.js → chunk-HCNHKJDA.js} +2 -2
  13. package/dist/chunks/{chunk-YYSZBD7S.js → chunk-HQ5YW2OJ.js} +2 -2
  14. package/dist/chunks/{chunk-WREA4RNR.js → chunk-I2TK65VR.js} +3 -3
  15. package/dist/chunks/{chunk-3SHUUBZJ.js → chunk-JJQECUUA.js} +2 -2
  16. package/dist/chunks/{chunk-DZ4WN5XJ.js → chunk-JV4JR6TT.js} +3 -3
  17. package/dist/chunks/{chunk-DU6ZA44F.js → chunk-K7LQIEJY.js} +2 -2
  18. package/dist/chunks/{chunk-3GJJG2FV.js → chunk-KBYSGB7E.js} +2 -2
  19. package/dist/chunks/chunk-KBYSGB7E.js.map +7 -0
  20. package/dist/chunks/{chunk-C7EEG6SM.js → chunk-LQSICKDK.js} +2 -2
  21. package/dist/chunks/{chunk-PX6Y5EYE.js → chunk-N7HJRZCL.js} +34 -7
  22. package/dist/chunks/chunk-N7HJRZCL.js.map +7 -0
  23. package/dist/chunks/{chunk-FRPNQZV2.js → chunk-OR3FVFRO.js} +3 -3
  24. package/dist/chunks/{chunk-LOLCTWJF.js → chunk-OTHMEDN6.js} +4 -4
  25. package/dist/chunks/{chunk-M6IRQ3QT.js → chunk-PH4PT6R4.js} +2 -2
  26. package/dist/chunks/{chunk-7XRUMDV7.js → chunk-QQ7D6UAM.js} +2 -2
  27. package/dist/chunks/{chunk-Q7CGSPLF.js → chunk-QSL5UXNW.js} +4 -4
  28. package/dist/chunks/{chunk-PYQM7KPL.js → chunk-R2MMPHR2.js} +2 -2
  29. package/dist/chunks/{chunk-X3CHSIL2.js → chunk-R2ZQTTLX.js} +3 -3
  30. package/dist/chunks/{chunk-QY7YK7M6.js → chunk-VR2LV4CA.js} +2 -2
  31. package/dist/chunks/{chunk-CYMDX3XP.js → chunk-WTLH5RY4.js} +2 -2
  32. package/dist/chunks/chunk-WTLH5RY4.js.map +7 -0
  33. package/dist/chunks/{chunk-S3IRPDSO.js → chunk-XBGOJJQW.js} +2 -2
  34. package/dist/chunks/{chunk-WYUV6WL3.js → chunk-YKT5VLLQ.js} +2 -2
  35. package/dist/chunks/{chunk-BVJBYFHD.js → chunk-ZPI4QTOX.js} +2 -2
  36. package/dist/cli/decisions.js +1 -1
  37. package/dist/cli/mesh.js +2 -2
  38. package/dist/compaction/hook.d.ts.map +1 -1
  39. package/dist/compaction/hook.js +6 -6
  40. package/dist/compaction/owner.js +7 -7
  41. package/dist/core/action-registry.js +6 -6
  42. package/dist/core/provider-operations.js +1 -1
  43. package/dist/core/provider-operations.js.map +2 -2
  44. package/dist/core/session-context.d.ts +5 -0
  45. package/dist/core/session-context.d.ts.map +1 -1
  46. package/dist/core/tool-ownership.d.ts.map +1 -1
  47. package/dist/durable.js +2 -2
  48. package/dist/durable.js.map +1 -1
  49. package/dist/entropy/index.js +8 -8
  50. package/dist/extension-bootstrap.js +9 -9
  51. package/dist/fabric-runtime-state.js +23 -23
  52. package/dist/index.js +13 -13
  53. package/dist/jev/observation.js +5 -5
  54. package/dist/jev.js +8 -8
  55. package/dist/memory/digest.js +2 -2
  56. package/dist/memory/discovery.js +6 -6
  57. package/dist/memory/file-worker.js +9 -9
  58. package/dist/memory/normalize.js +5 -5
  59. package/dist/memory/search.js +7 -7
  60. package/dist/memory/worker-provider.js +10 -10
  61. package/dist/memory.js +10 -10
  62. package/dist/providers/jev-provider.js +8 -8
  63. package/dist/providers/memory-provider.js +9 -9
  64. package/dist/residency/host.js +9 -9
  65. package/dist/residency/pi-entry.js +9 -9
  66. package/dist/verified/generated/authority-kernel.js +2 -2
  67. package/dist/verified/generated/kernel.js +2 -2
  68. package/dist/verified/generated/lifecycle-kernel.js +2 -2
  69. package/dist/verified/generated/manifest.json +7 -7
  70. package/dist/verified/generated/provider-kernel.js +2 -2
  71. package/dist/verified/generated/storage-kernel.js +2 -2
  72. package/docs/compaction.md +1 -1
  73. package/docs/durable-pi.md +2 -2
  74. package/docs/provider-capabilities.md +1 -1
  75. package/docs/verified-kernels.md +1 -1
  76. package/package.json +11 -11
  77. package/scripts/test-verified-kernels.mjs +1 -1
  78. package/scripts/verified-kernels.mjs +1 -1
  79. package/dist/chunks/chunk-3GJJG2FV.js.map +0 -7
  80. package/dist/chunks/chunk-CYMDX3XP.js.map +0 -7
  81. package/dist/chunks/chunk-PX6Y5EYE.js.map +0 -7
  82. package/dist/chunks/chunk-T5CU2GPZ.js.map +0 -7
  83. package/dist/chunks/chunk-UXEMIWYI.js.map +0 -7
  84. /package/dist/chunks/{chunk-X2TRSE7D.js.map → chunk-2YG4ZA2K.js.map} +0 -0
  85. /package/dist/chunks/{chunk-M5IN6DMF.js.map → chunk-56RFFBBO.js.map} +0 -0
  86. /package/dist/chunks/{chunk-ABJCSNZO.js.map → chunk-D3IONBBJ.js.map} +0 -0
  87. /package/dist/chunks/{chunk-7JU7Z4XQ.js.map → chunk-D3W6CBJZ.js.map} +0 -0
  88. /package/dist/chunks/{chunk-FB24AOIJ.js.map → chunk-H3SGA7G7.js.map} +0 -0
  89. /package/dist/chunks/{chunk-ZXKYU6CH.js.map → chunk-HCNHKJDA.js.map} +0 -0
  90. /package/dist/chunks/{chunk-YYSZBD7S.js.map → chunk-HQ5YW2OJ.js.map} +0 -0
  91. /package/dist/chunks/{chunk-WREA4RNR.js.map → chunk-I2TK65VR.js.map} +0 -0
  92. /package/dist/chunks/{chunk-3SHUUBZJ.js.map → chunk-JJQECUUA.js.map} +0 -0
  93. /package/dist/chunks/{chunk-DZ4WN5XJ.js.map → chunk-JV4JR6TT.js.map} +0 -0
  94. /package/dist/chunks/{chunk-DU6ZA44F.js.map → chunk-K7LQIEJY.js.map} +0 -0
  95. /package/dist/chunks/{chunk-C7EEG6SM.js.map → chunk-LQSICKDK.js.map} +0 -0
  96. /package/dist/chunks/{chunk-FRPNQZV2.js.map → chunk-OR3FVFRO.js.map} +0 -0
  97. /package/dist/chunks/{chunk-LOLCTWJF.js.map → chunk-OTHMEDN6.js.map} +0 -0
  98. /package/dist/chunks/{chunk-M6IRQ3QT.js.map → chunk-PH4PT6R4.js.map} +0 -0
  99. /package/dist/chunks/{chunk-7XRUMDV7.js.map → chunk-QQ7D6UAM.js.map} +0 -0
  100. /package/dist/chunks/{chunk-Q7CGSPLF.js.map → chunk-QSL5UXNW.js.map} +0 -0
  101. /package/dist/chunks/{chunk-PYQM7KPL.js.map → chunk-R2MMPHR2.js.map} +0 -0
  102. /package/dist/chunks/{chunk-X3CHSIL2.js.map → chunk-R2ZQTTLX.js.map} +0 -0
  103. /package/dist/chunks/{chunk-QY7YK7M6.js.map → chunk-VR2LV4CA.js.map} +0 -0
  104. /package/dist/chunks/{chunk-S3IRPDSO.js.map → chunk-XBGOJJQW.js.map} +0 -0
  105. /package/dist/chunks/{chunk-WYUV6WL3.js.map → chunk-YKT5VLLQ.js.map} +0 -0
  106. /package/dist/chunks/{chunk-BVJBYFHD.js.map → chunk-ZPI4QTOX.js.map} +0 -0
@@ -8,10 +8,10 @@ Haydn Paterson, licensed under MIT. This private artifact is not loaded by the
8
8
  Pi extension, which continues to use Pi's host-provided TypeBox. The complete
9
9
  license is distributed at [docs/licenses/typebox-mit.txt](docs/licenses/typebox-mit.txt).
10
10
 
11
- ## Bend 2.0.35
11
+ ## Bend 2.0.36
12
12
 
13
13
  The generated policy kernel includes Bend's emitted JavaScript trampoline and
14
- compiled Base primitives from [Bend 2.0.35](https://github.com/bendlang/bend/tree/v2.0.35),
14
+ compiled Base primitives from [Bend 2.0.36](https://github.com/bendlang/bend/tree/v2.0.36),
15
15
  Copyright 2026 HigherOrderCO, licensed under Apache-2.0. Pi Fabric selects the
16
16
  ABI library exports, adapts constructor tags at the boundary, and tree-shakes
17
17
  unused runtime code.
package/dist/agents.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  AGENTS_ACTION_DESCRIPTORS,
6
6
  normalizeAgentRunRequest
7
- } from "./chunks/chunk-3SHUUBZJ.js";
7
+ } from "./chunks/chunk-JJQECUUA.js";
8
8
  import {
9
9
  AgentAdmission,
10
10
  assertAgentTask,
@@ -17,12 +17,12 @@ import {
17
17
  import "./chunks/chunk-IIPKG52D.js";
18
18
  import "./chunks/chunk-ZLNJDTCN.js";
19
19
  import "./chunks/chunk-V73NIH6B.js";
20
- import "./chunks/chunk-PYQM7KPL.js";
20
+ import "./chunks/chunk-R2MMPHR2.js";
21
21
  import {
22
22
  actionArgNormalizer
23
23
  } from "./chunks/chunk-NQOEHX62.js";
24
24
  import "./chunks/chunk-ST36EYHN.js";
25
- import "./chunks/chunk-CYMDX3XP.js";
25
+ import "./chunks/chunk-WTLH5RY4.js";
26
26
 
27
27
  // src/agents/service-schema.ts
28
28
  import { Value } from "typebox/value";
@@ -10,7 +10,7 @@ import {
10
10
  FABRIC_BRANCH_SUMMARY_VERSION,
11
11
  readFabricBranchSummaryDetails,
12
12
  readFabricProjectionTrace
13
- } from "./chunk-X2TRSE7D.js";
13
+ } from "./chunk-2YG4ZA2K.js";
14
14
  import {
15
15
  MAX_PRESERVE_ITEMS,
16
16
  MAX_PRESERVE_ITEM_CHARS,
@@ -24,11 +24,11 @@ import {
24
24
  sampleAddressed,
25
25
  sampleAddressedFrom,
26
26
  utf8Bytes
27
- } from "./chunk-PYQM7KPL.js";
27
+ } from "./chunk-R2MMPHR2.js";
28
28
  import {
29
29
  acceptCompactionCut,
30
30
  acceptSummaryBounds
31
- } from "./chunk-CYMDX3XP.js";
31
+ } from "./chunk-WTLH5RY4.js";
32
32
 
33
33
  // src/compaction/hook.ts
34
34
  import "@earendil-works/pi-coding-agent";
@@ -170,6 +170,7 @@ var createCustomMessage = (customType, content, display, details, timestamp) =>
170
170
  var sessionEntryToContextMessages = (entry) => {
171
171
  if (entry.type === "message") {
172
172
  const message = entry.message;
173
+ if (message.role === "system" && message.content == null) return [{ ...message, content: "" }];
173
174
  if ((message.role === "user" || message.role === "assistant" || message.role === "toolResult") && message.content == null) {
174
175
  return [{ ...message, content: [] }];
175
176
  }
@@ -184,7 +185,8 @@ var sessionEntryToContextMessages = (entry) => {
184
185
  return [createBranchSummaryMessage(entry.summary, entry.fromId, entry.timestamp)];
185
186
  }
186
187
  if (entry.type === "compaction") {
187
- return [createCompactionSummaryMessage(entry.summary, entry.tokensBefore, entry.timestamp)];
188
+ const summary = createCompactionSummaryMessage(entry.summary, entry.tokensBefore, entry.timestamp);
189
+ return entry.systemMessage ? [entry.systemMessage, summary] : [summary];
188
190
  }
189
191
  return [];
190
192
  };
@@ -213,17 +215,39 @@ var buildContextEntries = (entries, leafId, byId) => {
213
215
  if (entry.id === compaction.firstKeptEntryId) {
214
216
  foundFirstKept = true;
215
217
  }
216
- if (foundFirstKept) {
218
+ if (foundFirstKept && !(entry.type === "message" && entry.message.role === "system")) {
217
219
  contextEntries.push(entry);
218
220
  }
219
221
  }
220
222
  contextEntries.push(...path.slice(compactionIdx + 1));
221
223
  return contextEntries;
222
224
  };
225
+ var applyContextEdits = (entries) => {
226
+ const edits = /* @__PURE__ */ new Map();
227
+ for (const entry of entries) if (entry.type === "context_edit") edits.set(entry.targetId, entry);
228
+ return entries.map((entry) => {
229
+ const edit = edits.get(entry.id);
230
+ if (!edit) return entry;
231
+ const replacement = edit.replacement;
232
+ if (replacement === null) return {
233
+ type: "custom",
234
+ id: entry.id,
235
+ parentId: entry.parentId,
236
+ timestamp: entry.timestamp,
237
+ customType: "fabric.context-omission"
238
+ };
239
+ if (entry.type === "custom_message") return { ...entry, content: replacement.content };
240
+ if (entry.type !== "message") return entry;
241
+ const message = entry.message;
242
+ if (!["user", "assistant", "toolResult", "custom"].includes(message.role)) return entry;
243
+ const content = (message.role === "assistant" || message.role === "toolResult") && typeof replacement.content === "string" ? [{ type: "text", text: replacement.content }] : replacement.content;
244
+ return { ...entry, message: { ...message, content } };
245
+ });
246
+ };
223
247
  var buildSessionContext = (entries, leafId, byId) => {
224
248
  const path = buildSessionPath(entries, leafId, byId);
225
249
  const { thinkingLevel, model } = getSessionContextSettings(path);
226
- const messages = buildContextEntries(entries, leafId, byId).flatMap(sessionEntryToContextMessages);
250
+ const messages = applyContextEdits(buildContextEntries(entries, leafId, byId)).flatMap((entry, index) => entry.type === "compaction" && index > 0 ? [] : sessionEntryToContextMessages(entry));
227
251
  return { messages, thinkingLevel, model };
228
252
  };
229
253
 
@@ -1563,6 +1587,7 @@ var collectContextEntries = (entries, startIndex) => {
1563
1587
  for (let index = Math.max(0, startIndex); index < entries.length; index++) {
1564
1588
  const entry = entries[index];
1565
1589
  if (entry.type === "compaction") continue;
1590
+ if (isMessageEntry2(entry) && entry.message.role === "system") continue;
1566
1591
  if (entry.type === "custom_message" && !isPiCustomMessageEntry(entry)) continue;
1567
1592
  if (isMessageEntry2(entry) && isHiddenEmptyCustom(entry.message)) continue;
1568
1593
  const messages = contextMessages(entry);
@@ -1825,6 +1850,7 @@ var proposeCut = (branchEntries, options) => {
1825
1850
  );
1826
1851
  };
1827
1852
  var computeCut = (branchEntries, options) => {
1853
+ branchEntries = applyContextEdits(branchEntries);
1828
1854
  const proposed = proposeCut(branchEntries, options);
1829
1855
  if (!proposed.ok) return proposed;
1830
1856
  const live = collectLive(branchEntries);
@@ -1943,6 +1969,7 @@ var compileFabricSummary = (branchEntries, tokensBefore, enrichers = NO_BUILTIN_
1943
1969
  instructionError: instructions.error
1944
1970
  };
1945
1971
  }
1972
+ branchEntries = applyContextEdits(branchEntries);
1946
1973
  const cut = computeCut(
1947
1974
  branchEntries,
1948
1975
  budget ? { tokensBefore, budget } : void 0
@@ -2133,4 +2160,4 @@ export {
2133
2160
  compileFabricSummary,
2134
2161
  registerCompactionHook
2135
2162
  };
2136
- //# sourceMappingURL=chunk-T5CU2GPZ.js.map
2163
+ //# sourceMappingURL=chunk-2TJHOQGO.js.map