@remnic/core 10.0.35 → 10.0.36

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 (91) hide show
  1. package/dist/access-admin-ops-surface.js +5 -5
  2. package/dist/access-authorization-probe.js +6 -6
  3. package/dist/access-boundary.js +5 -5
  4. package/dist/access-cli.js +23 -23
  5. package/dist/access-extraction-force-flush.js +5 -5
  6. package/dist/access-http-briefing.js +6 -6
  7. package/dist/access-http-query.js +5 -5
  8. package/dist/access-http.js +17 -17
  9. package/dist/access-identity-continuity-surface.js +5 -5
  10. package/dist/access-lcm-surface.js +5 -5
  11. package/dist/access-mcp.js +12 -12
  12. package/dist/access-namespace-preflight.js +5 -5
  13. package/dist/access-observe-write-surface.js +5 -5
  14. package/dist/access-operations-batch.js +6 -6
  15. package/dist/access-operations.js +11 -11
  16. package/dist/access-recall-concurrency.js +5 -5
  17. package/dist/access-recall-response.js +5 -5
  18. package/dist/access-recall-surface.js +5 -5
  19. package/dist/access-service.js +5 -5
  20. package/dist/access-surface-catalog.js +7 -7
  21. package/dist/calibration.js +3 -3
  22. package/dist/{chunk-SXRX6K35.js → chunk-4YYIZ475.js} +3 -3
  23. package/dist/{chunk-OLAQWYNF.js → chunk-5XTSIZ3L.js} +3 -3
  24. package/dist/{chunk-JUXOTY6J.js → chunk-5YQXWVCP.js} +9 -2
  25. package/dist/chunk-5YQXWVCP.js.map +1 -0
  26. package/dist/{chunk-GK56GNNS.js → chunk-65JLKIVA.js} +2 -2
  27. package/dist/{chunk-SQ554O3K.js → chunk-74AY3S7U.js} +3 -3
  28. package/dist/{chunk-MGXLLL5L.js → chunk-AD3ZB72W.js} +2 -2
  29. package/dist/{chunk-FW7KWZBI.js → chunk-F2JLBXMG.js} +2 -2
  30. package/dist/{chunk-D75ET36O.js → chunk-FL6SLVAJ.js} +2 -2
  31. package/dist/{chunk-JJWOKRZA.js → chunk-IKCGNTGS.js} +2 -2
  32. package/dist/{chunk-CM6JDFCN.js → chunk-KQUN4RSX.js} +8 -8
  33. package/dist/{chunk-NLQBTHBV.js → chunk-LJSBF6PW.js} +2 -2
  34. package/dist/{chunk-GRBQO56D.js → chunk-NBH7IRME.js} +4 -4
  35. package/dist/{chunk-6NAN4WFY.js → chunk-NDJ42GKB.js} +2 -2
  36. package/dist/{chunk-HT6IEMQ2.js → chunk-NIANATGL.js} +2 -2
  37. package/dist/{chunk-GQVTALUJ.js → chunk-OHMGR6QN.js} +2 -2
  38. package/dist/{chunk-4LOMATQA.js → chunk-PDYP7SUC.js} +2 -2
  39. package/dist/{chunk-TVM47JQB.js → chunk-RYUSWAAU.js} +1 -1
  40. package/dist/{chunk-MLED254J.js → chunk-T6OZW2WR.js} +8 -2
  41. package/dist/chunk-T6OZW2WR.js.map +1 -0
  42. package/dist/{chunk-ZRU7636R.js → chunk-V3JZZJ2E.js} +3 -3
  43. package/dist/{chunk-G2PC6IZB.js → chunk-VKB2FGNW.js} +9 -9
  44. package/dist/{chunk-KVNOHMVE.js → chunk-X544TW54.js} +2 -2
  45. package/dist/{chunk-GRZX3RHY.js → chunk-XO4HOBM2.js} +2 -2
  46. package/dist/{chunk-P2RCFQA6.js → chunk-ZSAQSLKL.js} +2 -2
  47. package/dist/cli.js +18 -18
  48. package/dist/compounding/engine.js +1 -1
  49. package/dist/external-wiki-access.js +6 -6
  50. package/dist/extraction.js +4 -4
  51. package/dist/index.js +23 -23
  52. package/dist/local-llm-helpers.d.ts.map +1 -1
  53. package/dist/local-llm-helpers.js +2 -1
  54. package/dist/local-llm-transport.d.ts +1 -0
  55. package/dist/local-llm-transport.d.ts.map +1 -1
  56. package/dist/local-llm-transport.js +5 -3
  57. package/dist/local-llm.js +3 -3
  58. package/dist/memory-browse-operations.js +6 -6
  59. package/dist/orchestration/maintenance.js +5 -5
  60. package/dist/orchestrator.js +23 -23
  61. package/dist/recall-navigation-operations.js +6 -6
  62. package/dist/recall-navigation.js +5 -5
  63. package/dist/summarizer.js +4 -4
  64. package/dist/support-passport/index.js +8 -8
  65. package/package.json +2 -2
  66. package/src/local-llm-headers-timeout.test.ts +64 -0
  67. package/src/local-llm-helpers.ts +6 -1
  68. package/src/local-llm-transport.ts +14 -1
  69. package/dist/chunk-JUXOTY6J.js.map +0 -1
  70. package/dist/chunk-MLED254J.js.map +0 -1
  71. /package/dist/{chunk-SXRX6K35.js.map → chunk-4YYIZ475.js.map} +0 -0
  72. /package/dist/{chunk-OLAQWYNF.js.map → chunk-5XTSIZ3L.js.map} +0 -0
  73. /package/dist/{chunk-GK56GNNS.js.map → chunk-65JLKIVA.js.map} +0 -0
  74. /package/dist/{chunk-SQ554O3K.js.map → chunk-74AY3S7U.js.map} +0 -0
  75. /package/dist/{chunk-MGXLLL5L.js.map → chunk-AD3ZB72W.js.map} +0 -0
  76. /package/dist/{chunk-FW7KWZBI.js.map → chunk-F2JLBXMG.js.map} +0 -0
  77. /package/dist/{chunk-D75ET36O.js.map → chunk-FL6SLVAJ.js.map} +0 -0
  78. /package/dist/{chunk-JJWOKRZA.js.map → chunk-IKCGNTGS.js.map} +0 -0
  79. /package/dist/{chunk-CM6JDFCN.js.map → chunk-KQUN4RSX.js.map} +0 -0
  80. /package/dist/{chunk-NLQBTHBV.js.map → chunk-LJSBF6PW.js.map} +0 -0
  81. /package/dist/{chunk-GRBQO56D.js.map → chunk-NBH7IRME.js.map} +0 -0
  82. /package/dist/{chunk-6NAN4WFY.js.map → chunk-NDJ42GKB.js.map} +0 -0
  83. /package/dist/{chunk-HT6IEMQ2.js.map → chunk-NIANATGL.js.map} +0 -0
  84. /package/dist/{chunk-GQVTALUJ.js.map → chunk-OHMGR6QN.js.map} +0 -0
  85. /package/dist/{chunk-4LOMATQA.js.map → chunk-PDYP7SUC.js.map} +0 -0
  86. /package/dist/{chunk-TVM47JQB.js.map → chunk-RYUSWAAU.js.map} +0 -0
  87. /package/dist/{chunk-ZRU7636R.js.map → chunk-V3JZZJ2E.js.map} +0 -0
  88. /package/dist/{chunk-G2PC6IZB.js.map → chunk-VKB2FGNW.js.map} +0 -0
  89. /package/dist/{chunk-KVNOHMVE.js.map → chunk-X544TW54.js.map} +0 -0
  90. /package/dist/{chunk-GRZX3RHY.js.map → chunk-XO4HOBM2.js.map} +0 -0
  91. /package/dist/{chunk-P2RCFQA6.js.map → chunk-ZSAQSLKL.js.map} +0 -0
@@ -22,23 +22,23 @@ import {
22
22
  memoryGetOperation,
23
23
  memorySearchOperation,
24
24
  memoryStoreOperation
25
- } from "./chunk-OLAQWYNF.js";
25
+ } from "./chunk-5XTSIZ3L.js";
26
26
  import "./chunk-QQ4T622E.js";
27
- import "./chunk-HT6IEMQ2.js";
27
+ import "./chunk-NIANATGL.js";
28
28
  import "./chunk-M3GKSCFN.js";
29
- import "./chunk-MGXLLL5L.js";
30
- import "./chunk-GQVTALUJ.js";
31
- import "./chunk-P2RCFQA6.js";
29
+ import "./chunk-AD3ZB72W.js";
30
+ import "./chunk-OHMGR6QN.js";
31
+ import "./chunk-ZSAQSLKL.js";
32
32
  import "./chunk-7T4TOGMS.js";
33
33
  import "./chunk-7YQ6ESEA.js";
34
- import "./chunk-FW7KWZBI.js";
34
+ import "./chunk-F2JLBXMG.js";
35
35
  import "./chunk-GDYLZ6FR.js";
36
36
  import "./chunk-PQM3B54K.js";
37
37
  import "./chunk-5LWODP5R.js";
38
38
  import "./chunk-CEN6DW6X.js";
39
39
  import "./chunk-E4RMZGRS.js";
40
40
  import "./chunk-AAANTXCQ.js";
41
- import "./chunk-SXRX6K35.js";
41
+ import "./chunk-4YYIZ475.js";
42
42
  import "./chunk-W4F3C7N7.js";
43
43
  import "./chunk-MPC7TYTZ.js";
44
44
  import "./chunk-STM4T335.js";
@@ -51,7 +51,7 @@ import "./chunk-BRZRP5WD.js";
51
51
  import "./chunk-GNVZQ5JN.js";
52
52
  import "./chunk-YN2UN7N3.js";
53
53
  import "./chunk-JWX2Q6HS.js";
54
- import "./chunk-D75ET36O.js";
54
+ import "./chunk-FL6SLVAJ.js";
55
55
  import "./chunk-53OWLEAD.js";
56
56
  import "./chunk-WWDO7ZWM.js";
57
57
  import "./chunk-R4SATHCV.js";
@@ -113,11 +113,11 @@ import "./chunk-2LSZVONP.js";
113
113
  import "./chunk-DEUNUKTD.js";
114
114
  import "./chunk-LXY5VVGM.js";
115
115
  import "./chunk-GKCXTSFF.js";
116
- import "./chunk-SQ554O3K.js";
117
- import "./chunk-MLED254J.js";
116
+ import "./chunk-74AY3S7U.js";
117
+ import "./chunk-T6OZW2WR.js";
118
118
  import "./chunk-QEDLJDHP.js";
119
119
  import "./chunk-U4LUIE6Y.js";
120
- import "./chunk-JUXOTY6J.js";
120
+ import "./chunk-5YQXWVCP.js";
121
121
  import "./chunk-ZY2MNJR6.js";
122
122
  import "./chunk-7WTTE5FW.js";
123
123
  import "./chunk-3UXOZBHV.js";
@@ -4,7 +4,7 @@ import {
4
4
  createAndStartFlight,
5
5
  leadRecallFlight,
6
6
  withRecallConcurrency
7
- } from "./chunk-SXRX6K35.js";
7
+ } from "./chunk-4YYIZ475.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
10
  import "./chunk-STM4T335.js";
@@ -17,7 +17,7 @@ import "./chunk-BRZRP5WD.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-JWX2Q6HS.js";
20
- import "./chunk-D75ET36O.js";
20
+ import "./chunk-FL6SLVAJ.js";
21
21
  import "./chunk-53OWLEAD.js";
22
22
  import "./chunk-WWDO7ZWM.js";
23
23
  import "./chunk-R4SATHCV.js";
@@ -79,11 +79,11 @@ import "./chunk-2LSZVONP.js";
79
79
  import "./chunk-DEUNUKTD.js";
80
80
  import "./chunk-LXY5VVGM.js";
81
81
  import "./chunk-GKCXTSFF.js";
82
- import "./chunk-SQ554O3K.js";
83
- import "./chunk-MLED254J.js";
82
+ import "./chunk-74AY3S7U.js";
83
+ import "./chunk-T6OZW2WR.js";
84
84
  import "./chunk-QEDLJDHP.js";
85
85
  import "./chunk-U4LUIE6Y.js";
86
- import "./chunk-JUXOTY6J.js";
86
+ import "./chunk-5YQXWVCP.js";
87
87
  import "./chunk-ZY2MNJR6.js";
88
88
  import "./chunk-7WTTE5FW.js";
89
89
  import "./chunk-3UXOZBHV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  assembleRecallResponse
3
- } from "./chunk-SXRX6K35.js";
3
+ } from "./chunk-4YYIZ475.js";
4
4
  import "./chunk-W4F3C7N7.js";
5
5
  import "./chunk-MPC7TYTZ.js";
6
6
  import "./chunk-STM4T335.js";
@@ -13,7 +13,7 @@ import "./chunk-BRZRP5WD.js";
13
13
  import "./chunk-GNVZQ5JN.js";
14
14
  import "./chunk-YN2UN7N3.js";
15
15
  import "./chunk-JWX2Q6HS.js";
16
- import "./chunk-D75ET36O.js";
16
+ import "./chunk-FL6SLVAJ.js";
17
17
  import "./chunk-53OWLEAD.js";
18
18
  import "./chunk-WWDO7ZWM.js";
19
19
  import "./chunk-R4SATHCV.js";
@@ -75,11 +75,11 @@ import "./chunk-2LSZVONP.js";
75
75
  import "./chunk-DEUNUKTD.js";
76
76
  import "./chunk-LXY5VVGM.js";
77
77
  import "./chunk-GKCXTSFF.js";
78
- import "./chunk-SQ554O3K.js";
79
- import "./chunk-MLED254J.js";
78
+ import "./chunk-74AY3S7U.js";
79
+ import "./chunk-T6OZW2WR.js";
80
80
  import "./chunk-QEDLJDHP.js";
81
81
  import "./chunk-U4LUIE6Y.js";
82
- import "./chunk-JUXOTY6J.js";
82
+ import "./chunk-5YQXWVCP.js";
83
83
  import "./chunk-ZY2MNJR6.js";
84
84
  import "./chunk-7WTTE5FW.js";
85
85
  import "./chunk-3UXOZBHV.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccessRecallSurface
3
- } from "./chunk-SXRX6K35.js";
3
+ } from "./chunk-4YYIZ475.js";
4
4
  import "./chunk-W4F3C7N7.js";
5
5
  import "./chunk-MPC7TYTZ.js";
6
6
  import "./chunk-STM4T335.js";
@@ -13,7 +13,7 @@ import "./chunk-BRZRP5WD.js";
13
13
  import "./chunk-GNVZQ5JN.js";
14
14
  import "./chunk-YN2UN7N3.js";
15
15
  import "./chunk-JWX2Q6HS.js";
16
- import "./chunk-D75ET36O.js";
16
+ import "./chunk-FL6SLVAJ.js";
17
17
  import "./chunk-53OWLEAD.js";
18
18
  import "./chunk-WWDO7ZWM.js";
19
19
  import "./chunk-R4SATHCV.js";
@@ -75,11 +75,11 @@ import "./chunk-2LSZVONP.js";
75
75
  import "./chunk-DEUNUKTD.js";
76
76
  import "./chunk-LXY5VVGM.js";
77
77
  import "./chunk-GKCXTSFF.js";
78
- import "./chunk-SQ554O3K.js";
79
- import "./chunk-MLED254J.js";
78
+ import "./chunk-74AY3S7U.js";
79
+ import "./chunk-T6OZW2WR.js";
80
80
  import "./chunk-QEDLJDHP.js";
81
81
  import "./chunk-U4LUIE6Y.js";
82
- import "./chunk-JUXOTY6J.js";
82
+ import "./chunk-5YQXWVCP.js";
83
83
  import "./chunk-ZY2MNJR6.js";
84
84
  import "./chunk-7WTTE5FW.js";
85
85
  import "./chunk-3UXOZBHV.js";
@@ -4,7 +4,7 @@ import {
4
4
  buildProjectedGovernanceProposedActions,
5
5
  hasGroupedGovernanceActions,
6
6
  shapeMemorySummary
7
- } from "./chunk-SXRX6K35.js";
7
+ } from "./chunk-4YYIZ475.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
10
  import "./chunk-STM4T335.js";
@@ -17,7 +17,7 @@ import "./chunk-BRZRP5WD.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-JWX2Q6HS.js";
20
- import "./chunk-D75ET36O.js";
20
+ import "./chunk-FL6SLVAJ.js";
21
21
  import "./chunk-53OWLEAD.js";
22
22
  import "./chunk-WWDO7ZWM.js";
23
23
  import "./chunk-R4SATHCV.js";
@@ -79,11 +79,11 @@ import "./chunk-2LSZVONP.js";
79
79
  import "./chunk-DEUNUKTD.js";
80
80
  import "./chunk-LXY5VVGM.js";
81
81
  import "./chunk-GKCXTSFF.js";
82
- import "./chunk-SQ554O3K.js";
83
- import "./chunk-MLED254J.js";
82
+ import "./chunk-74AY3S7U.js";
83
+ import "./chunk-T6OZW2WR.js";
84
84
  import "./chunk-QEDLJDHP.js";
85
85
  import "./chunk-U4LUIE6Y.js";
86
- import "./chunk-JUXOTY6J.js";
86
+ import "./chunk-5YQXWVCP.js";
87
87
  import "./chunk-ZY2MNJR6.js";
88
88
  import "./chunk-7WTTE5FW.js";
89
89
  import "./chunk-3UXOZBHV.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES
3
- } from "./chunk-GRZX3RHY.js";
3
+ } from "./chunk-XO4HOBM2.js";
4
4
  import {
5
5
  SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES
6
- } from "./chunk-KVNOHMVE.js";
7
- import "./chunk-SXRX6K35.js";
6
+ } from "./chunk-X544TW54.js";
7
+ import "./chunk-4YYIZ475.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
10
  import "./chunk-STM4T335.js";
@@ -17,7 +17,7 @@ import "./chunk-BRZRP5WD.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-JWX2Q6HS.js";
20
- import "./chunk-D75ET36O.js";
20
+ import "./chunk-FL6SLVAJ.js";
21
21
  import "./chunk-53OWLEAD.js";
22
22
  import "./chunk-WWDO7ZWM.js";
23
23
  import "./chunk-R4SATHCV.js";
@@ -79,11 +79,11 @@ import "./chunk-2LSZVONP.js";
79
79
  import "./chunk-DEUNUKTD.js";
80
80
  import "./chunk-LXY5VVGM.js";
81
81
  import "./chunk-GKCXTSFF.js";
82
- import "./chunk-SQ554O3K.js";
83
- import "./chunk-MLED254J.js";
82
+ import "./chunk-74AY3S7U.js";
83
+ import "./chunk-T6OZW2WR.js";
84
84
  import "./chunk-QEDLJDHP.js";
85
85
  import "./chunk-U4LUIE6Y.js";
86
- import "./chunk-JUXOTY6J.js";
86
+ import "./chunk-5YQXWVCP.js";
87
87
  import "./chunk-ZY2MNJR6.js";
88
88
  import "./chunk-7WTTE5FW.js";
89
89
  import "./chunk-3UXOZBHV.js";
@@ -4,11 +4,11 @@ import {
4
4
  import "./chunk-QW27DOHG.js";
5
5
  import {
6
6
  LocalLlmClient
7
- } from "./chunk-SQ554O3K.js";
8
- import "./chunk-MLED254J.js";
7
+ } from "./chunk-74AY3S7U.js";
8
+ import "./chunk-T6OZW2WR.js";
9
9
  import "./chunk-QEDLJDHP.js";
10
10
  import "./chunk-U4LUIE6Y.js";
11
- import "./chunk-JUXOTY6J.js";
11
+ import "./chunk-5YQXWVCP.js";
12
12
  import "./chunk-TOTT6S2V.js";
13
13
  import {
14
14
  FallbackLlmClient
@@ -59,7 +59,7 @@ import {
59
59
  } from "./chunk-JWX2Q6HS.js";
60
60
  import {
61
61
  summarizeHourlyStatus
62
- } from "./chunk-D75ET36O.js";
62
+ } from "./chunk-FL6SLVAJ.js";
63
63
  import {
64
64
  planSessionTranscriptMigration
65
65
  } from "./chunk-WWDO7ZWM.js";
@@ -190,7 +190,7 @@ import {
190
190
  } from "./chunk-UFGFMWAD.js";
191
191
  import {
192
192
  LocalLlmClient
193
- } from "./chunk-SQ554O3K.js";
193
+ } from "./chunk-74AY3S7U.js";
194
194
  import {
195
195
  defaultCapsulesDir
196
196
  } from "./chunk-ZY2MNJR6.js";
@@ -18775,4 +18775,4 @@ export {
18775
18775
  EngramAccessService,
18776
18776
  AccessAdminOpsSurface
18777
18777
  };
18778
- //# sourceMappingURL=chunk-SXRX6K35.js.map
18778
+ //# sourceMappingURL=chunk-4YYIZ475.js.map
@@ -12,13 +12,13 @@ import {
12
12
  } from "./chunk-M3GKSCFN.js";
13
13
  import {
14
14
  externalWikiSearchOperation
15
- } from "./chunk-P2RCFQA6.js";
15
+ } from "./chunk-ZSAQSLKL.js";
16
16
  import {
17
17
  DECISION_SUBCOMMANDS,
18
18
  DELTA_SUBCOMMANDS,
19
19
  defineOperation,
20
20
  isCodegraphToolName
21
- } from "./chunk-SXRX6K35.js";
21
+ } from "./chunk-4YYIZ475.js";
22
22
  import {
23
23
  CorrectionContractError
24
24
  } from "./chunk-ETSJD5IV.js";
@@ -1916,4 +1916,4 @@ export {
1916
1916
  codegraphIngestTracesOperation,
1917
1917
  REGISTERED_OPERATIONS
1918
1918
  };
1919
- //# sourceMappingURL=chunk-OLAQWYNF.js.map
1919
+ //# sourceMappingURL=chunk-5XTSIZ3L.js.map
@@ -11,6 +11,12 @@ function isPlainPoolingAgent(dispatcher) {
11
11
  if (!ctor || typeof ctor !== "function") return false;
12
12
  return ctor.name === "Agent";
13
13
  }
14
+ var directProbeAgent = null;
15
+ function directProbeDispatcher() {
16
+ if (process.env.REMNIC_LOCAL_LLM_DIRECT !== "1") return void 0;
17
+ directProbeAgent ??= new Agent();
18
+ return directProbeAgent;
19
+ }
14
20
  var ChatTransport = class {
15
21
  agent = null;
16
22
  agentBudgetMs = null;
@@ -28,7 +34,7 @@ var ChatTransport = class {
28
34
  * because only the dispatcher's owner knows how to rebuild it.
29
35
  */
30
36
  dispatcherFor(budgetMs) {
31
- if (!isPlainPoolingAgent(getGlobalDispatcher())) {
37
+ if (!isPlainPoolingAgent(getGlobalDispatcher()) && process.env.REMNIC_LOCAL_LLM_DIRECT !== "1") {
32
38
  if (!this.warnedAboutCustomDispatcher) {
33
39
  this.warnedAboutCustomDispatcher = true;
34
40
  log.debug(
@@ -62,6 +68,7 @@ var ChatTransport = class {
62
68
  };
63
69
 
64
70
  export {
71
+ directProbeDispatcher,
65
72
  ChatTransport
66
73
  };
67
- //# sourceMappingURL=chunk-JUXOTY6J.js.map
74
+ //# sourceMappingURL=chunk-5YQXWVCP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/local-llm-transport.ts"],"sourcesContent":["import { Agent, getGlobalDispatcher } from \"undici\";\n\nimport { log } from \"./logger.js\";\n\n/**\n * Wire transport for local LLM chat completions.\n *\n * Split out of `local-llm.ts` so the client module keeps prompt and\n * response semantics while connection budgets live in one place.\n */\n\nexport interface ChatCompletionRequest {\n url: string;\n headers: Record<string, string>;\n body: string;\n signal: AbortSignal;\n /**\n * Ceiling for this endpoint, i.e. `localLlmTimeoutMs`. Sizes the\n * connection's inactivity budgets. Per-request budgets below the ceiling\n * stay enforced by `signal`.\n */\n budgetMs: number;\n}\n\n/**\n * Is this undici's stock pooling `Agent` — the transport we may widen?\n *\n * `instanceof` alone is not enough: Node's global fetch is backed by its\n * OWN bundled copy of undici, so the dispatcher parked on the well-known\n * global symbol is an `Agent` from a different copy than the one we import,\n * and cross-copy `instanceof` is false. Fall back to the constructor name,\n * which is stable across copies and still distinguishes `ProxyAgent` and\n * `MockAgent` from the stock pool.\n */\nfunction isPlainPoolingAgent(dispatcher: unknown): boolean {\n if (dispatcher instanceof Agent) return true;\n if (!dispatcher || typeof dispatcher !== \"object\") return false;\n const ctor = (dispatcher as { constructor?: unknown }).constructor;\n if (!ctor || typeof ctor !== \"function\") return false;\n return ctor.name === \"Agent\";\n}\n\n/**\n * REMNIC_LOCAL_LLM_DIRECT=1 declares that the local endpoint is reached\n * directly. Availability probes use this shared plain pool in that mode so they\n * take the same route as chat requests; `undefined` keeps the global dispatcher.\n */\nlet directProbeAgent: Agent | null = null;\nexport function directProbeDispatcher(): Agent | undefined {\n if (process.env.REMNIC_LOCAL_LLM_DIRECT !== \"1\") return undefined;\n directProbeAgent ??= new Agent();\n return directProbeAgent;\n}\n\n/**\n * Connection pool whose header/body inactivity budgets track the configured\n * request budget.\n *\n * Node's global fetch runs on undici, which applies a default\n * `headersTimeout` and `bodyTimeout` of 300s. A non-streaming completion\n * sends its response headers only once generation finishes, so any\n * completion slower than 300s died with a bare `fetch failed` no matter how\n * high `localLlmTimeoutMs` was set — the configured budget was dead letter\n * past five minutes (issue #2148).\n *\n * One pool per client is enough: it is keyed on the ceiling and rebuilt when\n * that changes.\n */\nexport class ChatTransport {\n private agent: Agent | null = null;\n private agentBudgetMs: number | null = null;\n private warnedAboutCustomDispatcher = false;\n\n /**\n * The widened pool, or `undefined` when the process installed its own\n * transport that we must not displace.\n *\n * A deployment can route the local endpoint through a process-wide\n * dispatcher — a `ProxyAgent` for an HTTP proxy, or a custom\n * connect/TLS/DNS dispatcher. Swapping in our own pool would bypass the\n * proxy entirely and break the request, so those are left alone. A\n * `MockAgent` is excluded by the same check, so test transports keep\n * working. The trade-off is explicit: on those setups the 300s cap stands,\n * because only the dispatcher's owner knows how to rebuild it.\n */\n dispatcherFor(budgetMs: number): Agent | undefined {\n // REMNIC_LOCAL_LLM_DIRECT=1: the operator declares the local endpoint is reached directly even though the process installed a global dispatcher for other traffic (an agent runtime's managed proxy). Without it the 300s header cap stands silently on such hosts and every completion slower than five minutes dies with `fetch failed`. Off by default so deployments that must use a proxy keep it.\n if (!isPlainPoolingAgent(getGlobalDispatcher()) && process.env.REMNIC_LOCAL_LLM_DIRECT !== \"1\") {\n if (!this.warnedAboutCustomDispatcher) {\n this.warnedAboutCustomDispatcher = true;\n log.debug(\n \"local LLM: a custom global dispatcher is installed; leaving it in place. \" +\n \"localLlmTimeoutMs above that dispatcher's headersTimeout will not take effect.\",\n );\n }\n return undefined;\n }\n const normalized = Number.isFinite(budgetMs) ? Math.max(0, budgetMs) : 0;\n if (this.agent && this.agentBudgetMs === normalized) return this.agent;\n void this.agent?.close().catch(() => {\n /* pool teardown is best-effort */\n });\n this.agent = new Agent({\n headersTimeout: normalized,\n bodyTimeout: normalized,\n });\n this.agentBudgetMs = normalized;\n return this.agent;\n }\n\n async post(request: ChatCompletionRequest): Promise<Response> {\n const init: RequestInit & { dispatcher?: Agent } = {\n method: \"POST\",\n headers: request.headers,\n body: request.body,\n signal: request.signal,\n };\n const dispatcher = this.dispatcherFor(request.budgetMs);\n if (dispatcher) init.dispatcher = dispatcher;\n return await fetch(request.url, init);\n }\n}\n"],"mappings":";;;;;AAAA,SAAS,OAAO,2BAA2B;AAkC3C,SAAS,oBAAoB,YAA8B;AACzD,MAAI,sBAAsB,MAAO,QAAO;AACxC,MAAI,CAAC,cAAc,OAAO,eAAe,SAAU,QAAO;AAC1D,QAAM,OAAQ,WAAyC;AACvD,MAAI,CAAC,QAAQ,OAAO,SAAS,WAAY,QAAO;AAChD,SAAO,KAAK,SAAS;AACvB;AAOA,IAAI,mBAAiC;AAC9B,SAAS,wBAA2C;AACzD,MAAI,QAAQ,IAAI,4BAA4B,IAAK,QAAO;AACxD,uBAAqB,IAAI,MAAM;AAC/B,SAAO;AACT;AAgBO,IAAM,gBAAN,MAAoB;AAAA,EACjB,QAAsB;AAAA,EACtB,gBAA+B;AAAA,EAC/B,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EActC,cAAc,UAAqC;AAEjD,QAAI,CAAC,oBAAoB,oBAAoB,CAAC,KAAK,QAAQ,IAAI,4BAA4B,KAAK;AAC9F,UAAI,CAAC,KAAK,6BAA6B;AACrC,aAAK,8BAA8B;AACnC,YAAI;AAAA,UACF;AAAA,QAEF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AACA,UAAM,aAAa,OAAO,SAAS,QAAQ,IAAI,KAAK,IAAI,GAAG,QAAQ,IAAI;AACvE,QAAI,KAAK,SAAS,KAAK,kBAAkB,WAAY,QAAO,KAAK;AACjE,SAAK,KAAK,OAAO,MAAM,EAAE,MAAM,MAAM;AAAA,IAErC,CAAC;AACD,SAAK,QAAQ,IAAI,MAAM;AAAA,MACrB,gBAAgB;AAAA,MAChB,aAAa;AAAA,IACf,CAAC;AACD,SAAK,gBAAgB;AACrB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,KAAK,SAAmD;AAC5D,UAAM,OAA6C;AAAA,MACjD,QAAQ;AAAA,MACR,SAAS,QAAQ;AAAA,MACjB,MAAM,QAAQ;AAAA,MACd,QAAQ,QAAQ;AAAA,IAClB;AACA,UAAM,aAAa,KAAK,cAAc,QAAQ,QAAQ;AACtD,QAAI,WAAY,MAAK,aAAa;AAClC,WAAO,MAAM,MAAM,QAAQ,KAAK,IAAI;AAAA,EACtC;AACF;","names":[]}
@@ -83,7 +83,7 @@ import {
83
83
  } from "./chunk-5MA7ZLPD.js";
84
84
  import {
85
85
  LocalLlmClient
86
- } from "./chunk-SQ554O3K.js";
86
+ } from "./chunk-74AY3S7U.js";
87
87
  import {
88
88
  normalizeProcedureSteps
89
89
  } from "./chunk-QDW3E4RD.js";
@@ -2439,4 +2439,4 @@ export {
2439
2439
  shouldEnableLocalExtractionThinking,
2440
2440
  ExtractionEngine
2441
2441
  };
2442
- //# sourceMappingURL=chunk-GK56GNNS.js.map
2442
+ //# sourceMappingURL=chunk-65JLKIVA.js.map
@@ -7,7 +7,7 @@ import {
7
7
  probeFetch,
8
8
  resolveUnavailableVerdict,
9
9
  waitForRetryBackoff
10
- } from "./chunk-MLED254J.js";
10
+ } from "./chunk-T6OZW2WR.js";
11
11
  import {
12
12
  LocalLlmRateLimitSession,
13
13
  resolveRateLimitSettings
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk-U4LUIE6Y.js";
19
19
  import {
20
20
  ChatTransport
21
- } from "./chunk-JUXOTY6J.js";
21
+ } from "./chunk-5YQXWVCP.js";
22
22
  import {
23
23
  estimateTokenCount
24
24
  } from "./chunk-TOTT6S2V.js";
@@ -1115,4 +1115,4 @@ var LocalLlmClient = class _LocalLlmClient {
1115
1115
  export {
1116
1116
  LocalLlmClient
1117
1117
  };
1118
- //# sourceMappingURL=chunk-SQ554O3K.js.map
1118
+ //# sourceMappingURL=chunk-74AY3S7U.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-SXRX6K35.js";
3
+ } from "./chunk-4YYIZ475.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -92,4 +92,4 @@ defineOperation({
92
92
  };
93
93
  }
94
94
  });
95
- //# sourceMappingURL=chunk-MGXLLL5L.js.map
95
+ //# sourceMappingURL=chunk-AD3ZB72W.js.map
@@ -21,7 +21,7 @@ import {
21
21
  defineOperation,
22
22
  parseNamespacePreflightWriteOp,
23
23
  resolveAuthorizedNamespaceWritablePreflight
24
- } from "./chunk-SXRX6K35.js";
24
+ } from "./chunk-4YYIZ475.js";
25
25
  import {
26
26
  parseSharedWriteOutputControls
27
27
  } from "./chunk-IFBSZGW3.js";
@@ -603,4 +603,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
603
603
  defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
604
604
  defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
605
605
  defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
606
- //# sourceMappingURL=chunk-FW7KWZBI.js.map
606
+ //# sourceMappingURL=chunk-F2JLBXMG.js.map
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-5MA7ZLPD.js";
12
12
  import {
13
13
  LocalLlmClient
14
- } from "./chunk-SQ554O3K.js";
14
+ } from "./chunk-74AY3S7U.js";
15
15
  import {
16
16
  completeBackgroundGeneration,
17
17
  parseBackgroundGenerationJson
@@ -798,4 +798,4 @@ export {
798
798
  summarizeHourlyStatus,
799
799
  HourlySummarizer
800
800
  };
801
- //# sourceMappingURL=chunk-D75ET36O.js.map
801
+ //# sourceMappingURL=chunk-FL6SLVAJ.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-SXRX6K35.js";
4
+ } from "./chunk-4YYIZ475.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
7
  } from "./chunk-PWPIERBM.js";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-JJWOKRZA.js.map
346
+ //# sourceMappingURL=chunk-IKCGNTGS.js.map
@@ -21,10 +21,10 @@ import {
21
21
  } from "./chunk-AHS3QEEA.js";
22
22
  import {
23
23
  handleSupportPassportOwnerHttp
24
- } from "./chunk-GRZX3RHY.js";
24
+ } from "./chunk-XO4HOBM2.js";
25
25
  import {
26
26
  buildSupportPassportPublicRequestHandler
27
- } from "./chunk-KVNOHMVE.js";
27
+ } from "./chunk-X544TW54.js";
28
28
  import {
29
29
  handleMcpGetSse
30
30
  } from "./chunk-SRT6SHVZ.js";
@@ -37,14 +37,14 @@ import {
37
37
  processChatMessage,
38
38
  sessionBelongsToPrincipal,
39
39
  subscribeChatTranscript
40
- } from "./chunk-6NAN4WFY.js";
40
+ } from "./chunk-NDJ42GKB.js";
41
41
  import {
42
42
  handleRecallWhyHttpQuery,
43
43
  handleRecallXrayHttpQuery
44
44
  } from "./chunk-64IO6ZEE.js";
45
45
  import {
46
46
  RelayMissionStoreError
47
- } from "./chunk-OLAQWYNF.js";
47
+ } from "./chunk-5XTSIZ3L.js";
48
48
  import {
49
49
  executeResolution,
50
50
  isValidResolutionVerb
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-DFP37GUN.js";
65
65
  import {
66
66
  respondBriefingHttp
67
- } from "./chunk-NLQBTHBV.js";
67
+ } from "./chunk-LJSBF6PW.js";
68
68
  import {
69
69
  maybeHandleLifecycleFlush
70
70
  } from "./chunk-2BPPGNAQ.js";
@@ -75,11 +75,11 @@ import {
75
75
  authorizationProbeNamespaces,
76
76
  authorizationProbeRequiresPrincipalNamespace,
77
77
  probeOperationAuthorization
78
- } from "./chunk-4LOMATQA.js";
78
+ } from "./chunk-PDYP7SUC.js";
79
79
  import {
80
80
  getOperation,
81
81
  resolveQueryNamespaceWritablePreflight
82
- } from "./chunk-SXRX6K35.js";
82
+ } from "./chunk-4YYIZ475.js";
83
83
  import {
84
84
  handleWhoKnowsHttpQuery
85
85
  } from "./chunk-BRZRP5WD.js";
@@ -3565,4 +3565,4 @@ export {
3565
3565
  resolveDefaultAdminConsolePublicDir,
3566
3566
  EngramAccessHttpServer
3567
3567
  };
3568
- //# sourceMappingURL=chunk-CM6JDFCN.js.map
3568
+ //# sourceMappingURL=chunk-KQUN4RSX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getOperation
3
- } from "./chunk-SXRX6K35.js";
3
+ } from "./chunk-4YYIZ475.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -21,4 +21,4 @@ async function respondBriefingHttp(options) {
21
21
  export {
22
22
  respondBriefingHttp
23
23
  };
24
- //# sourceMappingURL=chunk-NLQBTHBV.js.map
24
+ //# sourceMappingURL=chunk-LJSBF6PW.js.map
@@ -210,7 +210,7 @@ import {
210
210
  import {
211
211
  EngramAccessHttpServer,
212
212
  MeetingsInputError
213
- } from "./chunk-CM6JDFCN.js";
213
+ } from "./chunk-KQUN4RSX.js";
214
214
  import {
215
215
  WearablesInputError
216
216
  } from "./chunk-V7IZKJI3.js";
@@ -220,10 +220,10 @@ import {
220
220
  loadChatSession,
221
221
  processChatMessage,
222
222
  sessionBelongsToPrincipal
223
- } from "./chunk-6NAN4WFY.js";
223
+ } from "./chunk-NDJ42GKB.js";
224
224
  import {
225
225
  EngramAccessService
226
- } from "./chunk-SXRX6K35.js";
226
+ } from "./chunk-4YYIZ475.js";
227
227
  import {
228
228
  WorkStorage
229
229
  } from "./chunk-MPC7TYTZ.js";
@@ -10140,4 +10140,4 @@ export {
10140
10140
  listMemoryMarkdownFilePaths,
10141
10141
  registerCli
10142
10142
  };
10143
- //# sourceMappingURL=chunk-GRBQO56D.js.map
10143
+ //# sourceMappingURL=chunk-NBH7IRME.js.map
@@ -49,7 +49,7 @@ import {
49
49
  } from "./chunk-KIUVEMBI.js";
50
50
  import {
51
51
  getOperation
52
- } from "./chunk-SXRX6K35.js";
52
+ } from "./chunk-4YYIZ475.js";
53
53
  import {
54
54
  WHO_KNOWS_MCP_TOOLS
55
55
  } from "./chunk-BRZRP5WD.js";
@@ -3986,4 +3986,4 @@ export {
3986
3986
  MCP_MIGRATED_OPERATIONS,
3987
3987
  EngramMcpServer
3988
3988
  };
3989
- //# sourceMappingURL=chunk-6NAN4WFY.js.map
3989
+ //# sourceMappingURL=chunk-NDJ42GKB.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SupportPassportCreateGrantRequestSchema,
3
3
  defineOperation
4
- } from "./chunk-SXRX6K35.js";
4
+ } from "./chunk-4YYIZ475.js";
5
5
  import {
6
6
  SupportPassportCardCategorySchema,
7
7
  SupportPassportMemoryIdSchema,
@@ -220,4 +220,4 @@ var supportPassportGrantAskOperation = defineOperation({
220
220
  result: await ctx.service.supportPassportAskGrant(grantId, secret, question, ctx.abortSignal)
221
221
  })
222
222
  });
223
- //# sourceMappingURL=chunk-HT6IEMQ2.js.map
223
+ //# sourceMappingURL=chunk-NIANATGL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-SXRX6K35.js";
3
+ } from "./chunk-4YYIZ475.js";
4
4
  import {
5
5
  EngramAccessInputError
6
6
  } from "./chunk-3MUKQQ7A.js";
@@ -71,4 +71,4 @@ defineOperation({
71
71
  })
72
72
  })
73
73
  });
74
- //# sourceMappingURL=chunk-GQVTALUJ.js.map
74
+ //# sourceMappingURL=chunk-OHMGR6QN.js.map
@@ -3,7 +3,7 @@ import {
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace,
5
5
  operationUsesPrincipalNamespace
6
- } from "./chunk-SXRX6K35.js";
6
+ } from "./chunk-4YYIZ475.js";
7
7
  import {
8
8
  assertOperationAuthorizationAllowed
9
9
  } from "./chunk-IG747LRN.js";
@@ -60,4 +60,4 @@ export {
60
60
  authorizationProbeNamespaces,
61
61
  authorizationProbeRequiresPrincipalNamespace
62
62
  };
63
- //# sourceMappingURL=chunk-4LOMATQA.js.map
63
+ //# sourceMappingURL=chunk-PDYP7SUC.js.map
@@ -1869,4 +1869,4 @@ export {
1869
1869
  defaultTierMigrationCycleBudget,
1870
1870
  CompoundingEngine
1871
1871
  };
1872
- //# sourceMappingURL=chunk-TVM47JQB.js.map
1872
+ //# sourceMappingURL=chunk-RYUSWAAU.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ directProbeDispatcher
3
+ } from "./chunk-5YQXWVCP.js";
1
4
  import {
2
5
  log
3
6
  } from "./chunk-3WCASNQZ.js";
@@ -79,7 +82,10 @@ async function probeFetch(url, options) {
79
82
  const requestSignal = options.signal ? AbortSignal.any([options.signal, controller.signal]) : controller.signal;
80
83
  const timeout = setTimeout(() => controller.abort(), options.timeoutMs);
81
84
  try {
82
- const response = await fetch(url, { signal: requestSignal, headers: options.headers });
85
+ const init = { signal: requestSignal, headers: options.headers };
86
+ const dispatcher = directProbeDispatcher();
87
+ if (dispatcher) init.dispatcher = dispatcher;
88
+ const response = await fetch(url, init);
83
89
  clearTimeout(timeout);
84
90
  if (!response.ok) {
85
91
  log.debug(`local LLM probe: ${url} returned HTTP ${response.status}`);
@@ -155,4 +161,4 @@ export {
155
161
  probeFetch,
156
162
  SingleFlightProbe
157
163
  };
158
- //# sourceMappingURL=chunk-MLED254J.js.map
164
+ //# sourceMappingURL=chunk-T6OZW2WR.js.map