@remnic/core 10.0.31 → 10.0.33

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 (85) hide show
  1. package/dist/access-admin-ops-surface.js +4 -4
  2. package/dist/access-authorization-probe.js +5 -5
  3. package/dist/access-boundary.js +4 -4
  4. package/dist/access-cli.js +22 -22
  5. package/dist/access-extraction-force-flush.js +4 -4
  6. package/dist/access-http-briefing.js +5 -5
  7. package/dist/access-http-query.js +4 -4
  8. package/dist/access-http.js +16 -16
  9. package/dist/access-identity-continuity-surface.js +4 -4
  10. package/dist/access-lcm-surface.js +4 -4
  11. package/dist/access-mcp.js +11 -11
  12. package/dist/access-namespace-preflight.js +4 -4
  13. package/dist/access-observe-write-surface.js +4 -4
  14. package/dist/access-operations-batch.js +5 -5
  15. package/dist/access-operations.js +10 -10
  16. package/dist/access-recall-concurrency.js +4 -4
  17. package/dist/access-recall-response.js +4 -4
  18. package/dist/access-recall-surface.js +4 -4
  19. package/dist/access-service.js +4 -4
  20. package/dist/access-surface-catalog.js +6 -6
  21. package/dist/calibration.js +2 -2
  22. package/dist/{chunk-5HJCZ7SB.js → chunk-2XYXESKN.js} +2 -2
  23. package/dist/{chunk-42MM5DKK.js → chunk-32WCMGIF.js} +2 -2
  24. package/dist/{chunk-WK7GFAQ2.js → chunk-3JYHSXYS.js} +2 -2
  25. package/dist/{chunk-J6SZXAQ2.js → chunk-5ARKPBLS.js} +2 -2
  26. package/dist/{chunk-EXYDKAR6.js → chunk-5B4UQF6K.js} +3 -3
  27. package/dist/{chunk-TB2J4PBY.js → chunk-5CIKBKU6.js} +1 -1
  28. package/dist/{chunk-3EJQXF3B.js → chunk-6FOKJ423.js} +2 -2
  29. package/dist/{chunk-GJBSEMC5.js → chunk-ASBDON6P.js} +3 -3
  30. package/dist/{chunk-WPCK6EJ2.js → chunk-BXCKME3Q.js} +2 -2
  31. package/dist/{chunk-3IDNKOCE.js → chunk-IEGJFQPG.js} +2 -2
  32. package/dist/{chunk-2IXEKMBJ.js → chunk-IRBXNULW.js} +3 -3
  33. package/dist/{chunk-464QR7WO.js → chunk-KW5B533Q.js} +9 -9
  34. package/dist/{chunk-UZDOPJ2P.js → chunk-M3VACAD2.js} +2 -2
  35. package/dist/{chunk-HJ444KNS.js → chunk-QEDLJDHP.js} +9 -5
  36. package/dist/chunk-QEDLJDHP.js.map +1 -0
  37. package/dist/{chunk-NRLWHZVS.js → chunk-QLDZJEJC.js} +2 -2
  38. package/dist/{chunk-OTWZXOJI.js → chunk-QNQNFRIZ.js} +2 -2
  39. package/dist/{chunk-W7X7XT7Z.js → chunk-TI6EN3PF.js} +8 -8
  40. package/dist/{chunk-RILIWZA6.js → chunk-UXWO5L7B.js} +2 -2
  41. package/dist/{chunk-A5ZY537U.js → chunk-XD5YSVP5.js} +2 -2
  42. package/dist/{chunk-YGBWSKBD.js → chunk-YIN6Y2I4.js} +2 -2
  43. package/dist/{chunk-HSPEVXT5.js → chunk-Z3XTS4TD.js} +4 -4
  44. package/dist/{chunk-ID62FNER.js → chunk-ZJGTJAB3.js} +2 -2
  45. package/dist/cli.js +17 -17
  46. package/dist/compounding/engine.js +1 -1
  47. package/dist/external-wiki-access.js +5 -5
  48. package/dist/extraction.js +3 -3
  49. package/dist/index.js +22 -22
  50. package/dist/local-llm-rate-limit.d.ts +1 -1
  51. package/dist/local-llm-rate-limit.d.ts.map +1 -1
  52. package/dist/local-llm-rate-limit.js +1 -1
  53. package/dist/local-llm.js +2 -2
  54. package/dist/memory-browse-operations.js +5 -5
  55. package/dist/orchestration/maintenance.js +4 -4
  56. package/dist/orchestrator.js +22 -22
  57. package/dist/recall-navigation-operations.js +5 -5
  58. package/dist/recall-navigation.js +4 -4
  59. package/dist/summarizer.js +3 -3
  60. package/dist/support-passport/index.js +7 -7
  61. package/package.json +2 -2
  62. package/src/local-llm-rate-limit.test.ts +28 -0
  63. package/src/local-llm-rate-limit.ts +12 -5
  64. package/dist/chunk-HJ444KNS.js.map +0 -1
  65. /package/dist/{chunk-5HJCZ7SB.js.map → chunk-2XYXESKN.js.map} +0 -0
  66. /package/dist/{chunk-42MM5DKK.js.map → chunk-32WCMGIF.js.map} +0 -0
  67. /package/dist/{chunk-WK7GFAQ2.js.map → chunk-3JYHSXYS.js.map} +0 -0
  68. /package/dist/{chunk-J6SZXAQ2.js.map → chunk-5ARKPBLS.js.map} +0 -0
  69. /package/dist/{chunk-EXYDKAR6.js.map → chunk-5B4UQF6K.js.map} +0 -0
  70. /package/dist/{chunk-TB2J4PBY.js.map → chunk-5CIKBKU6.js.map} +0 -0
  71. /package/dist/{chunk-3EJQXF3B.js.map → chunk-6FOKJ423.js.map} +0 -0
  72. /package/dist/{chunk-GJBSEMC5.js.map → chunk-ASBDON6P.js.map} +0 -0
  73. /package/dist/{chunk-WPCK6EJ2.js.map → chunk-BXCKME3Q.js.map} +0 -0
  74. /package/dist/{chunk-3IDNKOCE.js.map → chunk-IEGJFQPG.js.map} +0 -0
  75. /package/dist/{chunk-2IXEKMBJ.js.map → chunk-IRBXNULW.js.map} +0 -0
  76. /package/dist/{chunk-464QR7WO.js.map → chunk-KW5B533Q.js.map} +0 -0
  77. /package/dist/{chunk-UZDOPJ2P.js.map → chunk-M3VACAD2.js.map} +0 -0
  78. /package/dist/{chunk-NRLWHZVS.js.map → chunk-QLDZJEJC.js.map} +0 -0
  79. /package/dist/{chunk-OTWZXOJI.js.map → chunk-QNQNFRIZ.js.map} +0 -0
  80. /package/dist/{chunk-W7X7XT7Z.js.map → chunk-TI6EN3PF.js.map} +0 -0
  81. /package/dist/{chunk-RILIWZA6.js.map → chunk-UXWO5L7B.js.map} +0 -0
  82. /package/dist/{chunk-A5ZY537U.js.map → chunk-XD5YSVP5.js.map} +0 -0
  83. /package/dist/{chunk-YGBWSKBD.js.map → chunk-YIN6Y2I4.js.map} +0 -0
  84. /package/dist/{chunk-HSPEVXT5.js.map → chunk-Z3XTS4TD.js.map} +0 -0
  85. /package/dist/{chunk-ID62FNER.js.map → chunk-ZJGTJAB3.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  createAndStartFlight,
5
5
  leadRecallFlight,
6
6
  withRecallConcurrency
7
- } from "./chunk-2IXEKMBJ.js";
7
+ } from "./chunk-IRBXNULW.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
10
  import "./chunk-ISMZ5UNE.js";
@@ -17,7 +17,7 @@ import "./chunk-OIKLZCJD.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-JWX2Q6HS.js";
20
- import "./chunk-NRLWHZVS.js";
20
+ import "./chunk-QLDZJEJC.js";
21
21
  import "./chunk-FLI6DEIU.js";
22
22
  import "./chunk-WWDO7ZWM.js";
23
23
  import "./chunk-UAAAXSKQ.js";
@@ -79,9 +79,9 @@ 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-3EJQXF3B.js";
82
+ import "./chunk-6FOKJ423.js";
83
83
  import "./chunk-MLED254J.js";
84
- import "./chunk-HJ444KNS.js";
84
+ import "./chunk-QEDLJDHP.js";
85
85
  import "./chunk-U4LUIE6Y.js";
86
86
  import "./chunk-JUXOTY6J.js";
87
87
  import "./chunk-ZY2MNJR6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  assembleRecallResponse
3
- } from "./chunk-2IXEKMBJ.js";
3
+ } from "./chunk-IRBXNULW.js";
4
4
  import "./chunk-W4F3C7N7.js";
5
5
  import "./chunk-MPC7TYTZ.js";
6
6
  import "./chunk-ISMZ5UNE.js";
@@ -13,7 +13,7 @@ import "./chunk-OIKLZCJD.js";
13
13
  import "./chunk-GNVZQ5JN.js";
14
14
  import "./chunk-YN2UN7N3.js";
15
15
  import "./chunk-JWX2Q6HS.js";
16
- import "./chunk-NRLWHZVS.js";
16
+ import "./chunk-QLDZJEJC.js";
17
17
  import "./chunk-FLI6DEIU.js";
18
18
  import "./chunk-WWDO7ZWM.js";
19
19
  import "./chunk-UAAAXSKQ.js";
@@ -75,9 +75,9 @@ 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-3EJQXF3B.js";
78
+ import "./chunk-6FOKJ423.js";
79
79
  import "./chunk-MLED254J.js";
80
- import "./chunk-HJ444KNS.js";
80
+ import "./chunk-QEDLJDHP.js";
81
81
  import "./chunk-U4LUIE6Y.js";
82
82
  import "./chunk-JUXOTY6J.js";
83
83
  import "./chunk-ZY2MNJR6.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  AccessRecallSurface
3
- } from "./chunk-2IXEKMBJ.js";
3
+ } from "./chunk-IRBXNULW.js";
4
4
  import "./chunk-W4F3C7N7.js";
5
5
  import "./chunk-MPC7TYTZ.js";
6
6
  import "./chunk-ISMZ5UNE.js";
@@ -13,7 +13,7 @@ import "./chunk-OIKLZCJD.js";
13
13
  import "./chunk-GNVZQ5JN.js";
14
14
  import "./chunk-YN2UN7N3.js";
15
15
  import "./chunk-JWX2Q6HS.js";
16
- import "./chunk-NRLWHZVS.js";
16
+ import "./chunk-QLDZJEJC.js";
17
17
  import "./chunk-FLI6DEIU.js";
18
18
  import "./chunk-WWDO7ZWM.js";
19
19
  import "./chunk-UAAAXSKQ.js";
@@ -75,9 +75,9 @@ 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-3EJQXF3B.js";
78
+ import "./chunk-6FOKJ423.js";
79
79
  import "./chunk-MLED254J.js";
80
- import "./chunk-HJ444KNS.js";
80
+ import "./chunk-QEDLJDHP.js";
81
81
  import "./chunk-U4LUIE6Y.js";
82
82
  import "./chunk-JUXOTY6J.js";
83
83
  import "./chunk-ZY2MNJR6.js";
@@ -4,7 +4,7 @@ import {
4
4
  buildProjectedGovernanceProposedActions,
5
5
  hasGroupedGovernanceActions,
6
6
  shapeMemorySummary
7
- } from "./chunk-2IXEKMBJ.js";
7
+ } from "./chunk-IRBXNULW.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
10
  import "./chunk-ISMZ5UNE.js";
@@ -17,7 +17,7 @@ import "./chunk-OIKLZCJD.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-JWX2Q6HS.js";
20
- import "./chunk-NRLWHZVS.js";
20
+ import "./chunk-QLDZJEJC.js";
21
21
  import "./chunk-FLI6DEIU.js";
22
22
  import "./chunk-WWDO7ZWM.js";
23
23
  import "./chunk-UAAAXSKQ.js";
@@ -79,9 +79,9 @@ 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-3EJQXF3B.js";
82
+ import "./chunk-6FOKJ423.js";
83
83
  import "./chunk-MLED254J.js";
84
- import "./chunk-HJ444KNS.js";
84
+ import "./chunk-QEDLJDHP.js";
85
85
  import "./chunk-U4LUIE6Y.js";
86
86
  import "./chunk-JUXOTY6J.js";
87
87
  import "./chunk-ZY2MNJR6.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES
3
- } from "./chunk-OTWZXOJI.js";
3
+ } from "./chunk-QNQNFRIZ.js";
4
4
  import {
5
5
  SUPPORT_PASSPORT_PUBLIC_HTTP_ROUTES
6
- } from "./chunk-WK7GFAQ2.js";
7
- import "./chunk-2IXEKMBJ.js";
6
+ } from "./chunk-3JYHSXYS.js";
7
+ import "./chunk-IRBXNULW.js";
8
8
  import "./chunk-W4F3C7N7.js";
9
9
  import "./chunk-MPC7TYTZ.js";
10
10
  import "./chunk-ISMZ5UNE.js";
@@ -17,7 +17,7 @@ import "./chunk-OIKLZCJD.js";
17
17
  import "./chunk-GNVZQ5JN.js";
18
18
  import "./chunk-YN2UN7N3.js";
19
19
  import "./chunk-JWX2Q6HS.js";
20
- import "./chunk-NRLWHZVS.js";
20
+ import "./chunk-QLDZJEJC.js";
21
21
  import "./chunk-FLI6DEIU.js";
22
22
  import "./chunk-WWDO7ZWM.js";
23
23
  import "./chunk-UAAAXSKQ.js";
@@ -79,9 +79,9 @@ 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-3EJQXF3B.js";
82
+ import "./chunk-6FOKJ423.js";
83
83
  import "./chunk-MLED254J.js";
84
- import "./chunk-HJ444KNS.js";
84
+ import "./chunk-QEDLJDHP.js";
85
85
  import "./chunk-U4LUIE6Y.js";
86
86
  import "./chunk-JUXOTY6J.js";
87
87
  import "./chunk-ZY2MNJR6.js";
@@ -4,9 +4,9 @@ import {
4
4
  import "./chunk-QW27DOHG.js";
5
5
  import {
6
6
  LocalLlmClient
7
- } from "./chunk-3EJQXF3B.js";
7
+ } from "./chunk-6FOKJ423.js";
8
8
  import "./chunk-MLED254J.js";
9
- import "./chunk-HJ444KNS.js";
9
+ import "./chunk-QEDLJDHP.js";
10
10
  import "./chunk-U4LUIE6Y.js";
11
11
  import "./chunk-JUXOTY6J.js";
12
12
  import "./chunk-TOTT6S2V.js";
@@ -49,7 +49,7 @@ import {
49
49
  } from "./chunk-KIUVEMBI.js";
50
50
  import {
51
51
  getOperation
52
- } from "./chunk-2IXEKMBJ.js";
52
+ } from "./chunk-IRBXNULW.js";
53
53
  import {
54
54
  WHO_KNOWS_MCP_TOOLS
55
55
  } from "./chunk-OIKLZCJD.js";
@@ -3986,4 +3986,4 @@ export {
3986
3986
  MCP_MIGRATED_OPERATIONS,
3987
3987
  EngramMcpServer
3988
3988
  };
3989
- //# sourceMappingURL=chunk-5HJCZ7SB.js.map
3989
+ //# sourceMappingURL=chunk-2XYXESKN.js.map
@@ -83,7 +83,7 @@ import {
83
83
  } from "./chunk-5MA7ZLPD.js";
84
84
  import {
85
85
  LocalLlmClient
86
- } from "./chunk-3EJQXF3B.js";
86
+ } from "./chunk-6FOKJ423.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-42MM5DKK.js.map
2442
+ //# sourceMappingURL=chunk-32WCMGIF.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SupportPassportError,
3
3
  getOperation
4
- } from "./chunk-2IXEKMBJ.js";
4
+ } from "./chunk-IRBXNULW.js";
5
5
  import {
6
6
  abortError,
7
7
  isAbortError
@@ -499,4 +499,4 @@ export {
499
499
  buildSupportPassportPublicRequestHandler,
500
500
  composeSupportPassportExternalRequestHandlers
501
501
  };
502
- //# sourceMappingURL=chunk-WK7GFAQ2.js.map
502
+ //# sourceMappingURL=chunk-3JYHSXYS.js.map
@@ -3,7 +3,7 @@ import {
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace,
5
5
  operationUsesPrincipalNamespace
6
- } from "./chunk-2IXEKMBJ.js";
6
+ } from "./chunk-IRBXNULW.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-J6SZXAQ2.js.map
63
+ //# sourceMappingURL=chunk-5ARKPBLS.js.map
@@ -12,13 +12,13 @@ import {
12
12
  } from "./chunk-U4BNX4R2.js";
13
13
  import {
14
14
  externalWikiSearchOperation
15
- } from "./chunk-UZDOPJ2P.js";
15
+ } from "./chunk-M3VACAD2.js";
16
16
  import {
17
17
  DECISION_SUBCOMMANDS,
18
18
  DELTA_SUBCOMMANDS,
19
19
  defineOperation,
20
20
  isCodegraphToolName
21
- } from "./chunk-2IXEKMBJ.js";
21
+ } from "./chunk-IRBXNULW.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-EXYDKAR6.js.map
1919
+ //# sourceMappingURL=chunk-5B4UQF6K.js.map
@@ -1869,4 +1869,4 @@ export {
1869
1869
  defaultTierMigrationCycleBudget,
1870
1870
  CompoundingEngine
1871
1871
  };
1872
- //# sourceMappingURL=chunk-TB2J4PBY.js.map
1872
+ //# sourceMappingURL=chunk-5CIKBKU6.js.map
@@ -11,7 +11,7 @@ import {
11
11
  import {
12
12
  LocalLlmRateLimitSession,
13
13
  resolveRateLimitSettings
14
- } from "./chunk-HJ444KNS.js";
14
+ } from "./chunk-QEDLJDHP.js";
15
15
  import {
16
16
  isObjectRecord,
17
17
  orderedLocalServers
@@ -1115,4 +1115,4 @@ var LocalLlmClient = class _LocalLlmClient {
1115
1115
  export {
1116
1116
  LocalLlmClient
1117
1117
  };
1118
- //# sourceMappingURL=chunk-3EJQXF3B.js.map
1118
+ //# sourceMappingURL=chunk-6FOKJ423.js.map
@@ -18,7 +18,7 @@ import {
18
18
  isIsoWeekId,
19
19
  msUntilNextIsoWeek,
20
20
  previousIsoWeekId
21
- } from "./chunk-TB2J4PBY.js";
21
+ } from "./chunk-5CIKBKU6.js";
22
22
  import {
23
23
  rebuildMemoryLifecycleLedger
24
24
  } from "./chunk-PZWW6MDE.js";
@@ -45,7 +45,7 @@ import {
45
45
  } from "./chunk-EWMRFW3F.js";
46
46
  import {
47
47
  LocalLlmClient
48
- } from "./chunk-3EJQXF3B.js";
48
+ } from "./chunk-6FOKJ423.js";
49
49
  import {
50
50
  FallbackLlmClient
51
51
  } from "./chunk-UIDWASOS.js";
@@ -2793,4 +2793,4 @@ export {
2793
2793
  ActivitySyncScheduler,
2794
2794
  MaintenanceScheduler
2795
2795
  };
2796
- //# sourceMappingURL=chunk-GJBSEMC5.js.map
2796
+ //# sourceMappingURL=chunk-ASBDON6P.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-2IXEKMBJ.js";
4
+ } from "./chunk-IRBXNULW.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-WPCK6EJ2.js.map
346
+ //# sourceMappingURL=chunk-BXCKME3Q.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SupportPassportCreateGrantRequestSchema,
3
3
  defineOperation
4
- } from "./chunk-2IXEKMBJ.js";
4
+ } from "./chunk-IRBXNULW.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-3IDNKOCE.js.map
223
+ //# sourceMappingURL=chunk-IEGJFQPG.js.map
@@ -59,7 +59,7 @@ import {
59
59
  } from "./chunk-JWX2Q6HS.js";
60
60
  import {
61
61
  summarizeHourlyStatus
62
- } from "./chunk-NRLWHZVS.js";
62
+ } from "./chunk-QLDZJEJC.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-3EJQXF3B.js";
193
+ } from "./chunk-6FOKJ423.js";
194
194
  import {
195
195
  defaultCapsulesDir
196
196
  } from "./chunk-ZY2MNJR6.js";
@@ -18768,4 +18768,4 @@ export {
18768
18768
  EngramAccessService,
18769
18769
  AccessAdminOpsSurface
18770
18770
  };
18771
- //# sourceMappingURL=chunk-2IXEKMBJ.js.map
18771
+ //# sourceMappingURL=chunk-IRBXNULW.js.map
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  ActivityStore,
15
15
  MaintenanceScheduler
16
- } from "./chunk-GJBSEMC5.js";
16
+ } from "./chunk-ASBDON6P.js";
17
17
  import {
18
18
  runPeerProfileReasoner
19
19
  } from "./chunk-I74SUMNI.js";
@@ -32,7 +32,7 @@ import {
32
32
  import {
33
33
  CompoundingEngine,
34
34
  defaultTierMigrationCycleBudget
35
- } from "./chunk-TB2J4PBY.js";
35
+ } from "./chunk-5CIKBKU6.js";
36
36
  import {
37
37
  SharedContextManager
38
38
  } from "./chunk-RBGRQEW3.js";
@@ -169,7 +169,7 @@ import {
169
169
  } from "./chunk-XXSOVESA.js";
170
170
  import {
171
171
  ExtractionEngine
172
- } from "./chunk-42MM5DKK.js";
172
+ } from "./chunk-32WCMGIF.js";
173
173
  import {
174
174
  buildFocusedListRecallSection,
175
175
  shouldRecallFocusedListEvidence
@@ -228,7 +228,7 @@ import {
228
228
  runTimelinePublishCli,
229
229
  screenCandidateFact,
230
230
  summarizeVaultPublish
231
- } from "./chunk-HSPEVXT5.js";
231
+ } from "./chunk-Z3XTS4TD.js";
232
232
  import {
233
233
  RoutingRulesStore
234
234
  } from "./chunk-TBUEE7XF.js";
@@ -367,7 +367,7 @@ import {
367
367
  } from "./chunk-QW27DOHG.js";
368
368
  import {
369
369
  MeetingsInputError
370
- } from "./chunk-W7X7XT7Z.js";
370
+ } from "./chunk-TI6EN3PF.js";
371
371
  import {
372
372
  WearablesInputError,
373
373
  describeErrorForOperator
@@ -394,7 +394,7 @@ import {
394
394
  detectPassiveCorrections,
395
395
  renderSessionExperiencePreview,
396
396
  scoreSessionExperienceForPrompt
397
- } from "./chunk-2IXEKMBJ.js";
397
+ } from "./chunk-IRBXNULW.js";
398
398
  import {
399
399
  importCapsule
400
400
  } from "./chunk-ISMZ5UNE.js";
@@ -414,7 +414,7 @@ import {
414
414
  } from "./chunk-JWX2Q6HS.js";
415
415
  import {
416
416
  HourlySummarizer
417
- } from "./chunk-NRLWHZVS.js";
417
+ } from "./chunk-QLDZJEJC.js";
418
418
  import {
419
419
  LastRecallStore,
420
420
  RecallHandleHistoryStore,
@@ -472,7 +472,7 @@ import {
472
472
  } from "./chunk-GKCXTSFF.js";
473
473
  import {
474
474
  LocalLlmClient
475
- } from "./chunk-3EJQXF3B.js";
475
+ } from "./chunk-6FOKJ423.js";
476
476
  import {
477
477
  buildChainFollowupGenerator
478
478
  } from "./chunk-K6YJGWJP.js";
@@ -31331,4 +31331,4 @@ export {
31331
31331
  qmdStartupCollectionChecksWithTimeout,
31332
31332
  Orchestrator
31333
31333
  };
31334
- //# sourceMappingURL=chunk-464QR7WO.js.map
31334
+ //# sourceMappingURL=chunk-KW5B533Q.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-7T4TOGMS.js";
4
4
  import {
5
5
  defineOperation
6
- } from "./chunk-2IXEKMBJ.js";
6
+ } from "./chunk-IRBXNULW.js";
7
7
 
8
8
  // src/external-wiki-access.ts
9
9
  import { z } from "zod";
@@ -26,4 +26,4 @@ var externalWikiSearchOperation = defineOperation({
26
26
  export {
27
27
  externalWikiSearchOperation
28
28
  };
29
- //# sourceMappingURL=chunk-UZDOPJ2P.js.map
29
+ //# sourceMappingURL=chunk-M3VACAD2.js.map
@@ -127,7 +127,8 @@ var LocalLlmConcurrencyLimiter = class {
127
127
  });
128
128
  }
129
129
  canAcquire(highPriority) {
130
- return this.max <= 0 || this.active < this.max && (highPriority || this.max === 1 || this.activeBackground < this.max - 1);
130
+ const backgroundWaiting = highPriority && this.max > 1 && this.activeBackground === 0 && this.waiters.some((waiter) => !waiter.highPriority);
131
+ return this.max <= 0 || this.active < this.max && (highPriority || this.max === 1 || this.activeBackground < this.max - 1) && (!highPriority || !backgroundWaiting || this.active < this.max - 1);
131
132
  }
132
133
  releaser(highPriority) {
133
134
  let released = false;
@@ -140,9 +141,12 @@ var LocalLlmConcurrencyLimiter = class {
140
141
  };
141
142
  }
142
143
  pump() {
143
- while (this.waiters.length > 0 && this.canAcquire(this.waiters[0].highPriority)) {
144
- const next = this.waiters.shift();
145
- if (!next) break;
144
+ while (this.waiters.length > 0) {
145
+ const criticalAllowed = this.canAcquire(true);
146
+ const backgroundAllowed = this.canAcquire(false);
147
+ const index = this.waiters.findIndex((waiter) => waiter.highPriority ? criticalAllowed : backgroundAllowed);
148
+ if (index < 0) break;
149
+ const next = this.waiters.splice(index, 1)[0];
146
150
  this.active += 1;
147
151
  if (!next.highPriority) this.activeBackground += 1;
148
152
  next.grant();
@@ -294,4 +298,4 @@ export {
294
298
  resetLocalLlmRateLimitStateForTests,
295
299
  LocalLlmRateLimitSession
296
300
  };
297
- //# sourceMappingURL=chunk-HJ444KNS.js.map
301
+ //# sourceMappingURL=chunk-QEDLJDHP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/local-llm-rate-limit.ts"],"sourcesContent":["/**\n * Process-wide rate-limit handling for the local LLM client (COS-447).\n *\n * A LiteLLM proxy in front of the local models answers `429 No deployments\n * available` (and `503`/`408`) when every deployment is busy or in cooldown.\n * Before this module the client returned on the first 429 and the caller\n * loop immediately issued the next request, so one daemon could hammer the\n * proxy with thousands of calls per hour while it was saturated.\n *\n * This module provides three pieces that the client composes:\n *\n * - classification of rate-limit responses and of the retry hint\n * (`Retry-After` header as delta-seconds or HTTP-date, falling back to\n * LiteLLM's `Try again in N seconds` body text);\n * - exponential backoff with full jitter;\n * - process-wide state shared by every `LocalLlmClient` instance: a\n * concurrency semaphore for in-flight HTTP attempts and a per-endpoint\n * \"do not call before\" deadline, so one client's 429 slows every client\n * pointed at the same endpoint.\n *\n * State lives on `globalThis` so duplicated module copies in bundled output\n * still share one limiter.\n */\n\nexport const RATE_LIMIT_STATUSES: ReadonlySet<number> = new Set([408, 429, 503]);\n\nconst RATE_LIMIT_BODY_PATTERN = /no deployments available|cooldown_list|all deployments.*cooldown/i;\nconst TRY_AGAIN_PATTERN = /try again in (\\d+(?:\\.\\d+)?) ?(seconds?|secs?|s|milliseconds?|ms|minutes?|mins?)\\b/i;\n\n/** Upper bound on any server-provided wait we will record (sanity clamp). */\nexport const MAX_RECORDED_BACKOFF_MS = 10 * 60_000;\n\nexport const DEFAULT_RATE_LIMIT_RETRY_COUNT = 3;\nexport const DEFAULT_RATE_LIMIT_BACKOFF_BASE_MS = 1_000;\nexport const DEFAULT_RATE_LIMIT_BACKOFF_MAX_MS = 60_000;\nexport const DEFAULT_MAX_CONCURRENCY = 4;\n\nexport interface LocalLlmRateLimitSettings {\n retryCount: number;\n backoffBaseMs: number;\n backoffMaxMs: number;\n /** 0 disables the process-wide concurrency cap. */\n maxConcurrency: number;\n}\n\nfunction nonNegativeInt(value: number | undefined, fallback: number): number {\n if (value === undefined || !Number.isFinite(value) || value < 0) return fallback;\n return Math.floor(value);\n}\n\nexport function resolveRateLimitSettings(config: {\n localLlmRateLimitRetryCount?: number;\n localLlmRateLimitBackoffBaseMs?: number;\n localLlmRateLimitBackoffMaxMs?: number;\n localLlmMaxConcurrency?: number;\n}): LocalLlmRateLimitSettings {\n const backoffBaseMs = Math.max(\n 1,\n nonNegativeInt(config.localLlmRateLimitBackoffBaseMs, DEFAULT_RATE_LIMIT_BACKOFF_BASE_MS)\n );\n const backoffMaxMs = Math.max(\n backoffBaseMs,\n nonNegativeInt(config.localLlmRateLimitBackoffMaxMs, DEFAULT_RATE_LIMIT_BACKOFF_MAX_MS)\n );\n return {\n retryCount: nonNegativeInt(config.localLlmRateLimitRetryCount, DEFAULT_RATE_LIMIT_RETRY_COUNT),\n backoffBaseMs,\n backoffMaxMs,\n maxConcurrency: nonNegativeInt(config.localLlmMaxConcurrency, DEFAULT_MAX_CONCURRENCY),\n };\n}\n\n/**\n * True for responses that mean \"the endpoint is saturated, slow down\":\n * 408/429/503, or a 5xx whose body carries LiteLLM's cooldown wording.\n * 400s are never rate limits (context-window errors mention fallbacks).\n */\nexport function isRateLimitedResponse(status: number, bodyText: string): boolean {\n if (RATE_LIMIT_STATUSES.has(status)) return true;\n return status >= 500 && RATE_LIMIT_BODY_PATTERN.test(bodyText);\n}\n\n/**\n * Parse an HTTP `Retry-After` value (RFC 9110: delta-seconds or HTTP-date).\n * Returns milliseconds to wait, or null when absent/invalid.\n */\nexport function parseRetryAfterMs(value: string | null | undefined, nowMs: number = Date.now()): number | null {\n if (value === null || value === undefined) return null;\n const trimmed = value.trim();\n if (!trimmed) return null;\n if (/^\\d+(\\.\\d+)?$/.test(trimmed)) {\n return Math.min(MAX_RECORDED_BACKOFF_MS, Math.round(Number(trimmed) * 1000));\n }\n const dateMs = Date.parse(trimmed);\n if (Number.isNaN(dateMs)) return null;\n return Math.min(MAX_RECORDED_BACKOFF_MS, Math.max(0, dateMs - nowMs));\n}\n\n/** Parse LiteLLM's `Try again in N seconds` hint from an error body. */\nexport function parseTryAgainHintMs(bodyText: string): number | null {\n const match = bodyText.match(TRY_AGAIN_PATTERN);\n if (!match) return null;\n const amount = Number(match[1]);\n if (!Number.isFinite(amount)) return null;\n const unit = match[2].toLowerCase();\n let ms: number;\n if (unit.startsWith(\"ms\") || unit.startsWith(\"milli\")) ms = amount;\n else if (unit.startsWith(\"min\")) ms = amount * 60_000;\n else ms = amount * 1000;\n return Math.min(MAX_RECORDED_BACKOFF_MS, Math.round(ms));\n}\n\n/** Server-provided wait: `Retry-After` header first, then the body hint. */\nexport function serverRetryHintMs(\n retryAfterHeader: string | null | undefined,\n bodyText: string,\n nowMs: number = Date.now()\n): number | null {\n return parseRetryAfterMs(retryAfterHeader, nowMs) ?? parseTryAgainHintMs(bodyText);\n}\n\n/**\n * Exponential backoff with full jitter: uniform in [0, min(max, base * 2^(n-1))].\n * `attempt` is 1-based (the number of consecutive rate-limit responses).\n */\nexport function computeFullJitterBackoffMs(\n attempt: number,\n baseMs: number,\n maxMs: number,\n random: () => number = Math.random\n): number {\n const exponent = Math.max(0, Math.min(30, attempt - 1));\n const ceiling = Math.min(maxMs, baseMs * 2 ** exponent);\n return Math.floor(random() * ceiling);\n}\n\n/**\n * Delay before the next attempt after a rate-limit response. A server hint\n * is a floor (never call earlier than asked); jitter is added on top of the\n * exponential term so synchronized callers spread out.\n */\nexport function computeRateLimitDelayMs(\n attempt: number,\n settings: Pick<LocalLlmRateLimitSettings, \"backoffBaseMs\" | \"backoffMaxMs\">,\n serverHintMs: number | null,\n random: () => number = Math.random\n): number {\n const jittered = computeFullJitterBackoffMs(attempt, settings.backoffBaseMs, settings.backoffMaxMs, random);\n return serverHintMs === null ? jittered : Math.max(serverHintMs, jittered);\n}\n\ntype Waiter = { highPriority: boolean; grant: () => void };\n\n/** Priority semaphore; finite caps above one protect recall capacity and queued background progress. */\nexport class LocalLlmConcurrencyLimiter {\n private active = 0;\n private activeBackground = 0;\n private max: number;\n private readonly waiters: Waiter[] = [];\n\n constructor(max: number) {\n this.max = max;\n }\n\n setMax(max: number): void {\n this.max = max;\n this.pump();\n }\n\n get inFlight(): number {\n return this.active;\n }\n\n get queued(): number {\n return this.waiters.length;\n }\n\n /**\n * Wait for a slot. Resolves to a release function, or null when the\n * signal aborts first. `max <= 0` means unlimited.\n */\n acquire(\n options: { highPriority?: boolean; signal?: AbortSignal; timeoutMs?: number } = {}\n ): Promise<(() => void) | null> {\n const { signal, timeoutMs } = options;\n const highPriority = options.highPriority === true;\n if (signal?.aborted) return Promise.resolve(null);\n if (\n this.canAcquire(highPriority) &&\n (this.waiters.length === 0 || (highPriority && !this.waiters[0].highPriority))\n ) {\n this.active += 1;\n if (!highPriority) this.activeBackground += 1;\n return Promise.resolve(this.releaser(highPriority));\n }\n if (timeoutMs !== undefined && timeoutMs <= 0) return Promise.resolve(null);\n return new Promise((resolve) => {\n let timer: NodeJS.Timeout | undefined;\n const waiter: Waiter = {\n highPriority,\n grant: () => {\n signal?.removeEventListener(\"abort\", onAbort);\n if (timer) clearTimeout(timer);\n resolve(this.releaser(highPriority));\n },\n };\n const onAbort = (): void => {\n const index = this.waiters.indexOf(waiter);\n if (index >= 0) this.waiters.splice(index, 1);\n signal?.removeEventListener(\"abort\", onAbort);\n if (timer) clearTimeout(timer);\n resolve(null);\n };\n if (waiter.highPriority) {\n const firstLow = this.waiters.findIndex((w) => !w.highPriority);\n if (firstLow < 0) this.waiters.push(waiter);\n else this.waiters.splice(firstLow, 0, waiter);\n } else {\n this.waiters.push(waiter);\n }\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n if (timeoutMs !== undefined) timer = setTimeout(onAbort, timeoutMs);\n });\n }\n\n private canAcquire(highPriority: boolean): boolean {\n const backgroundWaiting = highPriority && this.max > 1 && this.activeBackground === 0 &&\n this.waiters.some((waiter) => !waiter.highPriority);\n return this.max <= 0 || (\n this.active < this.max &&\n (highPriority || this.max === 1 || this.activeBackground < this.max - 1) &&\n (!highPriority || !backgroundWaiting || this.active < this.max - 1)\n );\n }\n\n private releaser(highPriority: boolean): () => void {\n let released = false;\n return () => {\n if (released) return;\n released = true;\n this.active -= 1;\n if (!highPriority) this.activeBackground -= 1;\n this.pump();\n };\n }\n\n private pump(): void {\n while (this.waiters.length > 0) {\n // An ineligible critical head must not strand the background permit.\n const criticalAllowed = this.canAcquire(true);\n const backgroundAllowed = this.canAcquire(false);\n const index = this.waiters.findIndex((waiter) => waiter.highPriority ? criticalAllowed : backgroundAllowed);\n if (index < 0) break;\n const next = this.waiters.splice(index, 1)[0];\n this.active += 1;\n if (!next.highPriority) this.activeBackground += 1;\n next.grant();\n }\n }\n}\n\ninterface EndpointBackoffState {\n untilMs: number;\n consecutiveRateLimits: number;\n}\n\ninterface RateLimitGlobalState {\n limiter: LocalLlmConcurrencyLimiter;\n endpoints: Map<string, EndpointBackoffState>;\n}\n\ndeclare global {\n // Shared across duplicated module copies in bundled output.\n var __remnicLocalLlmRateLimitState: RateLimitGlobalState | undefined;\n}\n\nfunction globalState(): RateLimitGlobalState {\n globalThis.__remnicLocalLlmRateLimitState ??= {\n limiter: new LocalLlmConcurrencyLimiter(DEFAULT_MAX_CONCURRENCY),\n endpoints: new Map(),\n };\n return globalThis.__remnicLocalLlmRateLimitState;\n}\n\n/** Process-wide limiter, resized to the caller's configured cap. */\nexport function getLocalLlmConcurrencyLimiter(maxConcurrency: number): LocalLlmConcurrencyLimiter {\n const { limiter } = globalState();\n limiter.setMax(maxConcurrency);\n return limiter;\n}\n\n/** Milliseconds until `endpoint` may be called again (0 when clear). */\nexport function endpointBackoffRemainingMs(endpoint: string, nowMs: number = Date.now()): number {\n const entry = globalState().endpoints.get(endpoint);\n return entry ? Math.max(0, entry.untilMs - nowMs) : 0;\n}\n\n/**\n * Record a rate-limit response for `endpoint`. Returns the consecutive\n * rate-limit count (1-based) to feed the backoff exponent.\n */\nexport function noteEndpointRateLimited(endpoint: string): number {\n const { endpoints } = globalState();\n const entry = endpoints.get(endpoint) ?? { untilMs: 0, consecutiveRateLimits: 0 };\n entry.consecutiveRateLimits += 1;\n endpoints.set(endpoint, entry);\n return entry.consecutiveRateLimits;\n}\n\n/** Push the endpoint's \"do not call before\" deadline out to at least `nowMs + delayMs`. */\nexport function extendEndpointBackoff(endpoint: string, delayMs: number, nowMs: number = Date.now()): void {\n const { endpoints } = globalState();\n const entry = endpoints.get(endpoint) ?? { untilMs: 0, consecutiveRateLimits: 0 };\n const bounded = Math.min(MAX_RECORDED_BACKOFF_MS, Math.max(0, delayMs));\n entry.untilMs = Math.max(entry.untilMs, nowMs + bounded);\n endpoints.set(endpoint, entry);\n}\n\n/**\n * Reset the backoff exponent after a non-rate-limited response. An already\n * recorded deadline is left to expire so concurrent callers that saw the\n * 429 still wait it out.\n */\nexport function noteEndpointRecovered(endpoint: string): void {\n const entry = globalState().endpoints.get(endpoint);\n if (entry) entry.consecutiveRateLimits = 0;\n}\n\n/** Test seam: drop all process-wide state. */\nexport function resetLocalLlmRateLimitStateForTests(): void {\n const state = globalState();\n state.endpoints.clear();\n state.limiter = new LocalLlmConcurrencyLimiter(DEFAULT_MAX_CONCURRENCY);\n}\n\nexport type RateLimitAttemptGate =\n | { kind: \"go\"; release: () => void }\n | { kind: \"aborted\" }\n | { kind: \"skip\"; reason: \"backoff\" | \"queue\"; remainingMs: number };\n\nexport type RateLimitDecision =\n | { kind: \"not-rate-limited\" }\n | { kind: \"retry\"; delayMs: number; hintMs: number | null; consecutive: number; retry: number }\n | { kind: \"give-up\"; delayMs: number; retries: number };\n\n/**\n * Per-request driver for the rate-limit policy. The client calls\n * `beforeAttempt` ahead of every HTTP attempt (waits out the shared endpoint\n * deadline, then takes a concurrency slot) and `onResponse` after every\n * non-ok response.\n */\nexport class LocalLlmRateLimitSession {\n private retries = 0;\n private readonly limiter: LocalLlmConcurrencyLimiter;\n readonly settings: LocalLlmRateLimitSettings;\n\n /**\n * @param waitBudgetMs the caller's per-attempt time budget. Waiting for the\n * endpoint backoff or a concurrency slot never exceeds it, and a backoff\n * longer than it skips the request instead (fail open to the caller).\n */\n constructor(\n private readonly endpoint: string,\n settings: LocalLlmRateLimitSettings,\n private readonly highPriority: boolean,\n private readonly waitBudgetMs: number = settings.backoffMaxMs\n ) {\n this.settings = settings;\n this.limiter = getLocalLlmConcurrencyLimiter(settings.maxConcurrency);\n }\n\n get retryCount(): number {\n return this.retries;\n }\n\n async beforeAttempt(signal?: AbortSignal): Promise<RateLimitAttemptGate> {\n const deadlineMs = Date.now() + Math.max(0, this.waitBudgetMs);\n // Recheck the shared deadline after every async wait: another attempt may\n // have recorded or extended a cooldown while this one slept or queued.\n for (;;) {\n const remainingMs = endpointBackoffRemainingMs(this.endpoint);\n if (remainingMs > 0) {\n if (remainingMs > Math.min(this.settings.backoffMaxMs, deadlineMs - Date.now())) {\n return { kind: \"skip\", reason: \"backoff\", remainingMs };\n }\n if (!(await waitWithSignal(remainingMs, signal))) return { kind: \"aborted\" };\n continue;\n }\n const release = await this.limiter.acquire({\n highPriority: this.highPriority,\n signal,\n timeoutMs: deadlineMs - Date.now(),\n });\n if (!release) return signal?.aborted ? { kind: \"aborted\" } : { kind: \"skip\", reason: \"queue\", remainingMs: 0 };\n if (endpointBackoffRemainingMs(this.endpoint) > 0) {\n release();\n continue;\n }\n return { kind: \"go\", release };\n }\n }\n\n onSuccess(): void {\n noteEndpointRecovered(this.endpoint);\n }\n\n onResponse(status: number, retryAfterHeader: string | null | undefined, bodyText: string): RateLimitDecision {\n if (!isRateLimitedResponse(status, bodyText)) {\n noteEndpointRecovered(this.endpoint);\n return { kind: \"not-rate-limited\" };\n }\n const consecutive = noteEndpointRateLimited(this.endpoint);\n const hintMs = serverRetryHintMs(retryAfterHeader, bodyText);\n const delayMs = computeRateLimitDelayMs(consecutive, this.settings, hintMs);\n extendEndpointBackoff(this.endpoint, delayMs);\n if (this.retries >= this.settings.retryCount || delayMs > Math.min(this.settings.backoffMaxMs, this.waitBudgetMs)) {\n return { kind: \"give-up\", delayMs, retries: this.retries };\n }\n this.retries += 1;\n return { kind: \"retry\", delayMs, hintMs, consecutive, retry: this.retries };\n }\n}\n\nfunction waitWithSignal(ms: number, signal?: AbortSignal): Promise<boolean> {\n return new Promise((resolve) => {\n if (signal?.aborted) {\n resolve(false);\n return;\n }\n const onAbort = (): void => {\n clearTimeout(timer);\n resolve(false);\n };\n const timer = setTimeout(() => {\n signal?.removeEventListener(\"abort\", onAbort);\n resolve(true);\n }, ms);\n signal?.addEventListener(\"abort\", onAbort, { once: true });\n });\n}\n"],"mappings":"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","names":[]}
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-5MA7ZLPD.js";
12
12
  import {
13
13
  LocalLlmClient
14
- } from "./chunk-3EJQXF3B.js";
14
+ } from "./chunk-6FOKJ423.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-NRLWHZVS.js.map
801
+ //# sourceMappingURL=chunk-QLDZJEJC.js.map
@@ -2,7 +2,7 @@ import {
2
2
  SupportPassportError,
3
3
  SupportPassportOwnerCreateGrantRequestSchema,
4
4
  getOperation
5
- } from "./chunk-2IXEKMBJ.js";
5
+ } from "./chunk-IRBXNULW.js";
6
6
 
7
7
  // src/support-passport/access-http.ts
8
8
  var OWNER_ROOT = "/engram/v1/support-passport";
@@ -137,4 +137,4 @@ export {
137
137
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,
138
138
  handleSupportPassportOwnerHttp
139
139
  };
140
- //# sourceMappingURL=chunk-OTWZXOJI.js.map
140
+ //# sourceMappingURL=chunk-QNQNFRIZ.js.map
@@ -21,10 +21,10 @@ import {
21
21
  } from "./chunk-5JI3XWI2.js";
22
22
  import {
23
23
  handleSupportPassportOwnerHttp
24
- } from "./chunk-OTWZXOJI.js";
24
+ } from "./chunk-QNQNFRIZ.js";
25
25
  import {
26
26
  buildSupportPassportPublicRequestHandler
27
- } from "./chunk-WK7GFAQ2.js";
27
+ } from "./chunk-3JYHSXYS.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-5HJCZ7SB.js";
40
+ } from "./chunk-2XYXESKN.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-EXYDKAR6.js";
47
+ } from "./chunk-5B4UQF6K.js";
48
48
  import {
49
49
  executeResolution,
50
50
  isValidResolutionVerb
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-BDHYRMJC.js";
65
65
  import {
66
66
  respondBriefingHttp
67
- } from "./chunk-ID62FNER.js";
67
+ } from "./chunk-ZJGTJAB3.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-J6SZXAQ2.js";
78
+ } from "./chunk-5ARKPBLS.js";
79
79
  import {
80
80
  getOperation,
81
81
  resolveQueryNamespaceWritablePreflight
82
- } from "./chunk-2IXEKMBJ.js";
82
+ } from "./chunk-IRBXNULW.js";
83
83
  import {
84
84
  handleWhoKnowsHttpQuery
85
85
  } from "./chunk-OIKLZCJD.js";
@@ -3565,4 +3565,4 @@ export {
3565
3565
  resolveDefaultAdminConsolePublicDir,
3566
3566
  EngramAccessHttpServer
3567
3567
  };
3568
- //# sourceMappingURL=chunk-W7X7XT7Z.js.map
3568
+ //# sourceMappingURL=chunk-TI6EN3PF.js.map
@@ -21,7 +21,7 @@ import {
21
21
  defineOperation,
22
22
  parseNamespacePreflightWriteOp,
23
23
  resolveAuthorizedNamespaceWritablePreflight
24
- } from "./chunk-2IXEKMBJ.js";
24
+ } from "./chunk-IRBXNULW.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-RILIWZA6.js.map
606
+ //# sourceMappingURL=chunk-UXWO5L7B.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  defineOperation
3
- } from "./chunk-2IXEKMBJ.js";
3
+ } from "./chunk-IRBXNULW.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-A5ZY537U.js.map
74
+ //# sourceMappingURL=chunk-XD5YSVP5.js.map