@agent-native/core 0.34.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/agent/context-xray/actions/context-evict.d.ts +3 -0
  2. package/dist/agent/context-xray/actions/context-evict.d.ts.map +1 -0
  3. package/dist/agent/context-xray/actions/context-evict.js +35 -0
  4. package/dist/agent/context-xray/actions/context-evict.js.map +1 -0
  5. package/dist/agent/context-xray/actions/context-manifest-get.d.ts +3 -0
  6. package/dist/agent/context-xray/actions/context-manifest-get.d.ts.map +1 -0
  7. package/dist/agent/context-xray/actions/context-manifest-get.js +67 -0
  8. package/dist/agent/context-xray/actions/context-manifest-get.js.map +1 -0
  9. package/dist/agent/context-xray/actions/context-pin.d.ts +3 -0
  10. package/dist/agent/context-xray/actions/context-pin.d.ts.map +1 -0
  11. package/dist/agent/context-xray/actions/context-pin.js +35 -0
  12. package/dist/agent/context-xray/actions/context-pin.js.map +1 -0
  13. package/dist/agent/context-xray/actions/context-report.d.ts +3 -0
  14. package/dist/agent/context-xray/actions/context-report.d.ts.map +1 -0
  15. package/dist/agent/context-xray/actions/context-report.js +59 -0
  16. package/dist/agent/context-xray/actions/context-report.js.map +1 -0
  17. package/dist/agent/context-xray/actions/context-restore.d.ts +3 -0
  18. package/dist/agent/context-xray/actions/context-restore.d.ts.map +1 -0
  19. package/dist/agent/context-xray/actions/context-restore.js +33 -0
  20. package/dist/agent/context-xray/actions/context-restore.js.map +1 -0
  21. package/dist/agent/context-xray/actions/errors.d.ts +7 -0
  22. package/dist/agent/context-xray/actions/errors.d.ts.map +1 -0
  23. package/dist/agent/context-xray/actions/errors.js +15 -0
  24. package/dist/agent/context-xray/actions/errors.js.map +1 -0
  25. package/dist/agent/context-xray/apply-directives.d.ts +10 -0
  26. package/dist/agent/context-xray/apply-directives.d.ts.map +1 -0
  27. package/dist/agent/context-xray/apply-directives.js +100 -0
  28. package/dist/agent/context-xray/apply-directives.js.map +1 -0
  29. package/dist/agent/context-xray/directives-store.d.ts +26 -0
  30. package/dist/agent/context-xray/directives-store.d.ts.map +1 -0
  31. package/dist/agent/context-xray/directives-store.js +131 -0
  32. package/dist/agent/context-xray/directives-store.js.map +1 -0
  33. package/dist/agent/context-xray/identity.d.ts +5 -0
  34. package/dist/agent/context-xray/identity.d.ts.map +1 -0
  35. package/dist/agent/context-xray/identity.js +33 -0
  36. package/dist/agent/context-xray/identity.js.map +1 -0
  37. package/dist/agent/context-xray/manifest.d.ts +19 -0
  38. package/dist/agent/context-xray/manifest.d.ts.map +1 -0
  39. package/dist/agent/context-xray/manifest.js +115 -0
  40. package/dist/agent/context-xray/manifest.js.map +1 -0
  41. package/dist/agent/context-xray/migrations.d.ts +3 -0
  42. package/dist/agent/context-xray/migrations.d.ts.map +1 -0
  43. package/dist/agent/context-xray/migrations.js +31 -0
  44. package/dist/agent/context-xray/migrations.js.map +1 -0
  45. package/dist/agent/context-xray/plugin.d.ts +5 -0
  46. package/dist/agent/context-xray/plugin.d.ts.map +1 -0
  47. package/dist/agent/context-xray/plugin.js +15 -0
  48. package/dist/agent/context-xray/plugin.js.map +1 -0
  49. package/dist/agent/context-xray/schema.d.ts +249 -0
  50. package/dist/agent/context-xray/schema.d.ts.map +1 -0
  51. package/dist/agent/context-xray/schema.js +17 -0
  52. package/dist/agent/context-xray/schema.js.map +1 -0
  53. package/dist/agent/context-xray/segments.d.ts +19 -0
  54. package/dist/agent/context-xray/segments.d.ts.map +1 -0
  55. package/dist/agent/context-xray/segments.js +154 -0
  56. package/dist/agent/context-xray/segments.js.map +1 -0
  57. package/dist/agent/context-xray/tokenize.d.ts +10 -0
  58. package/dist/agent/context-xray/tokenize.d.ts.map +1 -0
  59. package/dist/agent/context-xray/tokenize.js +70 -0
  60. package/dist/agent/context-xray/tokenize.js.map +1 -0
  61. package/dist/agent/production-agent.d.ts +2 -0
  62. package/dist/agent/production-agent.d.ts.map +1 -1
  63. package/dist/agent/production-agent.js +45 -5
  64. package/dist/agent/production-agent.js.map +1 -1
  65. package/dist/cli/context-xray-local.d.ts +16 -0
  66. package/dist/cli/context-xray-local.d.ts.map +1 -0
  67. package/dist/cli/context-xray-local.js +738 -0
  68. package/dist/cli/context-xray-local.js.map +1 -0
  69. package/dist/cli/skills.d.ts +3 -0
  70. package/dist/cli/skills.d.ts.map +1 -1
  71. package/dist/cli/skills.js +200 -73
  72. package/dist/cli/skills.js.map +1 -1
  73. package/dist/cli/templates-meta.js +5 -5
  74. package/dist/cli/templates-meta.js.map +1 -1
  75. package/dist/client/AssistantChat.d.ts.map +1 -1
  76. package/dist/client/AssistantChat.js +2 -1
  77. package/dist/client/AssistantChat.js.map +1 -1
  78. package/dist/client/components/ui/sheet.d.ts +16 -0
  79. package/dist/client/components/ui/sheet.d.ts.map +1 -0
  80. package/dist/client/components/ui/sheet.js +23 -0
  81. package/dist/client/components/ui/sheet.js.map +1 -0
  82. package/dist/client/context-xray/ContextMeter.d.ts +4 -0
  83. package/dist/client/context-xray/ContextMeter.d.ts.map +1 -0
  84. package/dist/client/context-xray/ContextMeter.js +76 -0
  85. package/dist/client/context-xray/ContextMeter.js.map +1 -0
  86. package/dist/client/context-xray/ContextSegmentRow.d.ts +9 -0
  87. package/dist/client/context-xray/ContextSegmentRow.d.ts.map +1 -0
  88. package/dist/client/context-xray/ContextSegmentRow.js +22 -0
  89. package/dist/client/context-xray/ContextSegmentRow.js.map +1 -0
  90. package/dist/client/context-xray/ContextTreemap.d.ts +6 -0
  91. package/dist/client/context-xray/ContextTreemap.d.ts.map +1 -0
  92. package/dist/client/context-xray/ContextTreemap.js +49 -0
  93. package/dist/client/context-xray/ContextTreemap.js.map +1 -0
  94. package/dist/client/context-xray/ContextXRayPanel.d.ts +11 -0
  95. package/dist/client/context-xray/ContextXRayPanel.d.ts.map +1 -0
  96. package/dist/client/context-xray/ContextXRayPanel.js +87 -0
  97. package/dist/client/context-xray/ContextXRayPanel.js.map +1 -0
  98. package/dist/client/context-xray/SegmentProvenancePopover.d.ts +7 -0
  99. package/dist/client/context-xray/SegmentProvenancePopover.d.ts.map +1 -0
  100. package/dist/client/context-xray/SegmentProvenancePopover.js +7 -0
  101. package/dist/client/context-xray/SegmentProvenancePopover.js.map +1 -0
  102. package/dist/client/context-xray/format.d.ts +7 -0
  103. package/dist/client/context-xray/format.d.ts.map +1 -0
  104. package/dist/client/context-xray/format.js +47 -0
  105. package/dist/client/context-xray/format.js.map +1 -0
  106. package/dist/deploy/route-discovery.d.ts.map +1 -1
  107. package/dist/deploy/route-discovery.js +1 -0
  108. package/dist/deploy/route-discovery.js.map +1 -1
  109. package/dist/deploy/workspace-core.d.ts +1 -1
  110. package/dist/deploy/workspace-core.d.ts.map +1 -1
  111. package/dist/deploy/workspace-core.js +1 -0
  112. package/dist/deploy/workspace-core.js.map +1 -1
  113. package/dist/server/action-discovery.d.ts.map +1 -1
  114. package/dist/server/action-discovery.js +20 -0
  115. package/dist/server/action-discovery.js.map +1 -1
  116. package/dist/server/framework-request-handler.d.ts.map +1 -1
  117. package/dist/server/framework-request-handler.js +2 -0
  118. package/dist/server/framework-request-handler.js.map +1 -1
  119. package/dist/server/index.d.ts +1 -0
  120. package/dist/server/index.d.ts.map +1 -1
  121. package/dist/server/index.js +1 -0
  122. package/dist/server/index.js.map +1 -1
  123. package/dist/shared/context-xray.d.ts +58 -0
  124. package/dist/shared/context-xray.d.ts.map +1 -0
  125. package/dist/shared/context-xray.js +17 -0
  126. package/dist/shared/context-xray.js.map +1 -0
  127. package/dist/vite/action-types-plugin.d.ts.map +1 -1
  128. package/dist/vite/action-types-plugin.js +20 -0
  129. package/dist/vite/action-types-plugin.js.map +1 -1
  130. package/package.json +9 -1
@@ -21,6 +21,10 @@ import { isReasoningEffort, normalizeReasoningEffortForModel, } from "../shared/
21
21
  import { isAgentActionStopError } from "../action.js";
22
22
  import { preUploadImageAttachments } from "../file-upload/pre-upload-attachments.js";
23
23
  import { extensionIdFromPathname } from "../extensions/path.js";
24
+ import { applyContextDirectives } from "./context-xray/apply-directives.js";
25
+ import { loadContextDirectives } from "./context-xray/directives-store.js";
26
+ import { buildManifest, writeContextManifest, } from "./context-xray/manifest.js";
27
+ import { computeProtectedSegmentIds } from "./context-xray/segments.js";
24
28
  // Register built-in engines on first import
25
29
  registerBuiltinEngines();
26
30
  export { PROVIDER_TO_ENV };
@@ -1006,6 +1010,37 @@ export async function runAgentLoop(opts) {
1006
1010
  let bufferedAssistantText = "";
1007
1011
  let terminalStopReason;
1008
1012
  const toolCallErrors = new Map();
1013
+ let contextMessages = messages;
1014
+ if (opts.threadId) {
1015
+ try {
1016
+ const directives = await loadContextDirectives(opts.threadId, {
1017
+ ownerEmail: opts.ownerEmail ?? null,
1018
+ });
1019
+ const protectedSegmentIds = computeProtectedSegmentIds(messages);
1020
+ const { messages: transformedMessages, appliedStatus } = applyContextDirectives(messages, directives, {
1021
+ protectedSegmentIds,
1022
+ });
1023
+ const manifest = await buildManifest({
1024
+ threadId: opts.threadId,
1025
+ ...(opts.turnId ? { turnId: opts.turnId } : {}),
1026
+ model,
1027
+ rawMessages: messages,
1028
+ sentMessages: transformedMessages,
1029
+ appliedStatus,
1030
+ directives,
1031
+ protectedSegmentIds,
1032
+ source: "structured",
1033
+ enforceable: true,
1034
+ });
1035
+ contextMessages = transformedMessages;
1036
+ void writeContextManifest(opts.threadId, manifest).catch((err) => {
1037
+ console.warn("[context-xray] failed to write manifest:", err instanceof Error ? err.message : String(err));
1038
+ });
1039
+ }
1040
+ catch (err) {
1041
+ console.warn("[context-xray] context transform skipped:", err instanceof Error ? err.message : String(err));
1042
+ }
1043
+ }
1009
1044
  for (let retry = 0;; retry++) {
1010
1045
  assistantContent = undefined;
1011
1046
  bufferedAssistantText = "";
@@ -1015,7 +1050,7 @@ export async function runAgentLoop(opts) {
1015
1050
  const streamOpts = {
1016
1051
  model,
1017
1052
  systemPrompt,
1018
- messages,
1053
+ messages: contextMessages,
1019
1054
  tools,
1020
1055
  abortSignal: signal,
1021
1056
  maxOutputTokens: resolveMaxOutputTokensForEngine(engine.name, opts.maxOutputTokens),
@@ -1907,6 +1942,10 @@ export function createProductionAgentHandler(options) {
1907
1942
  }
1908
1943
  // Start agent loop in background via run-manager
1909
1944
  const runId = generateRunId();
1945
+ const effectiveThreadId = threadId ?? runId;
1946
+ const effectiveTurnId = typeof requestTurnId === "string" && requestTurnId.trim()
1947
+ ? requestTurnId.trim()
1948
+ : runId;
1910
1949
  if (options.onRunPrepared && !internalContinuation) {
1911
1950
  const messageToPersist = typeof requestDisplayMessage === "string" &&
1912
1951
  requestDisplayMessage.trim().length > 0
@@ -1919,7 +1958,7 @@ export function createProductionAgentHandler(options) {
1919
1958
  attachments: requestAttachments,
1920
1959
  });
1921
1960
  }
1922
- startRun(runId, threadId ?? runId, async (send, signal) => {
1961
+ startRun(runId, effectiveThreadId, async (send, signal) => {
1923
1962
  send({ type: "activity", label: "Starting agent" });
1924
1963
  // Notify listeners that a run has started (used by agent teams)
1925
1964
  if (options.onRunStart) {
@@ -2164,6 +2203,9 @@ export function createProductionAgentHandler(options) {
2164
2203
  executionMode: requestMode,
2165
2204
  maxIterations: loopSettings.maxIterations,
2166
2205
  finalResponseGuard: options.finalResponseGuard,
2206
+ ...(threadId
2207
+ ? { threadId: effectiveThreadId, turnId: effectiveTurnId }
2208
+ : {}),
2167
2209
  };
2168
2210
  send({ type: "activity", label: "Contacting model" });
2169
2211
  let loopUsage;
@@ -2226,9 +2268,7 @@ export function createProductionAgentHandler(options) {
2226
2268
  // Fold continuation runs of one logical turn onto a single durable
2227
2269
  // assistant message. Falls back to the runId (turn == run) when the
2228
2270
  // client doesn't supply a turnId.
2229
- turnId: typeof requestTurnId === "string" && requestTurnId.trim()
2230
- ? requestTurnId.trim()
2231
- : runId,
2271
+ turnId: effectiveTurnId,
2232
2272
  });
2233
2273
  // Subscribe to the run and stream events to the client
2234
2274
  const stream = subscribeToRun(runId, 0);