@junctionpanel/server 0.1.53 → 0.1.55

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 (71) hide show
  1. package/dist/server/client/daemon-client.d.ts +30 -1
  2. package/dist/server/client/daemon-client.d.ts.map +1 -1
  3. package/dist/server/client/daemon-client.js +236 -24
  4. package/dist/server/client/daemon-client.js.map +1 -1
  5. package/dist/server/server/agent/activity-curator.d.ts.map +1 -1
  6. package/dist/server/server/agent/activity-curator.js +12 -0
  7. package/dist/server/server/agent/activity-curator.js.map +1 -1
  8. package/dist/server/server/agent/agent-manager.d.ts +8 -0
  9. package/dist/server/server/agent/agent-manager.d.ts.map +1 -1
  10. package/dist/server/server/agent/agent-manager.js +175 -29
  11. package/dist/server/server/agent/agent-manager.js.map +1 -1
  12. package/dist/server/server/agent/agent-metadata-generator.d.ts.map +1 -1
  13. package/dist/server/server/agent/agent-metadata-generator.js +11 -2
  14. package/dist/server/server/agent/agent-metadata-generator.js.map +1 -1
  15. package/dist/server/server/agent/agent-projections.d.ts.map +1 -1
  16. package/dist/server/server/agent/agent-projections.js +0 -1
  17. package/dist/server/server/agent/agent-projections.js.map +1 -1
  18. package/dist/server/server/agent/agent-response-loop.d.ts +27 -0
  19. package/dist/server/server/agent/agent-response-loop.d.ts.map +1 -1
  20. package/dist/server/server/agent/agent-response-loop.js +78 -4
  21. package/dist/server/server/agent/agent-response-loop.js.map +1 -1
  22. package/dist/server/server/agent/agent-sdk-types.d.ts +17 -1
  23. package/dist/server/server/agent/agent-sdk-types.d.ts.map +1 -1
  24. package/dist/server/server/agent/agent-sdk-types.js.map +1 -1
  25. package/dist/server/server/agent/agent-storage.d.ts +0 -3
  26. package/dist/server/server/agent/agent-storage.d.ts.map +1 -1
  27. package/dist/server/server/agent/agent-storage.js +0 -1
  28. package/dist/server/server/agent/agent-storage.js.map +1 -1
  29. package/dist/server/server/agent/provider-model-cache.d.ts +14 -0
  30. package/dist/server/server/agent/provider-model-cache.d.ts.map +1 -0
  31. package/dist/server/server/agent/provider-model-cache.js +71 -0
  32. package/dist/server/server/agent/provider-model-cache.js.map +1 -0
  33. package/dist/server/server/agent/providers/claude/model-catalog.d.ts.map +1 -1
  34. package/dist/server/server/agent/providers/claude/model-catalog.js +15 -1
  35. package/dist/server/server/agent/providers/claude/model-catalog.js.map +1 -1
  36. package/dist/server/server/agent/providers/claude-agent.d.ts +1 -0
  37. package/dist/server/server/agent/providers/claude-agent.d.ts.map +1 -1
  38. package/dist/server/server/agent/providers/claude-agent.js +43 -12
  39. package/dist/server/server/agent/providers/claude-agent.js.map +1 -1
  40. package/dist/server/server/agent/providers/gemini-agent.d.ts.map +1 -1
  41. package/dist/server/server/agent/providers/gemini-agent.js +36 -1
  42. package/dist/server/server/agent/providers/gemini-agent.js.map +1 -1
  43. package/dist/server/server/agent/providers/opencode-agent.js +8 -2
  44. package/dist/server/server/agent/providers/opencode-agent.js.map +1 -1
  45. package/dist/server/server/agent/providers/tool-call-detail-primitives.d.ts.map +1 -1
  46. package/dist/server/server/file-explorer/service.d.ts +6 -1
  47. package/dist/server/server/file-explorer/service.d.ts.map +1 -1
  48. package/dist/server/server/file-explorer/service.js +72 -23
  49. package/dist/server/server/file-explorer/service.js.map +1 -1
  50. package/dist/server/server/persistence-hooks.js +11 -1
  51. package/dist/server/server/persistence-hooks.js.map +1 -1
  52. package/dist/server/server/session.d.ts +38 -0
  53. package/dist/server/server/session.d.ts.map +1 -1
  54. package/dist/server/server/session.js +956 -207
  55. package/dist/server/server/session.js.map +1 -1
  56. package/dist/server/server/tool-call-preview.d.ts.map +1 -1
  57. package/dist/server/server/tool-call-preview.js +5 -3
  58. package/dist/server/server/tool-call-preview.js.map +1 -1
  59. package/dist/server/shared/messages.d.ts +7630 -2138
  60. package/dist/server/shared/messages.d.ts.map +1 -1
  61. package/dist/server/shared/messages.js +64 -0
  62. package/dist/server/shared/messages.js.map +1 -1
  63. package/dist/server/shared/permission-questions.d.ts +43 -0
  64. package/dist/server/shared/permission-questions.d.ts.map +1 -0
  65. package/dist/server/shared/permission-questions.js +234 -0
  66. package/dist/server/shared/permission-questions.js.map +1 -0
  67. package/dist/server/utils/checkout-git.d.ts +1 -0
  68. package/dist/server/utils/checkout-git.d.ts.map +1 -1
  69. package/dist/server/utils/checkout-git.js +19 -6
  70. package/dist/server/utils/checkout-git.js.map +1 -1
  71. package/package.json +2 -2
@@ -8,9 +8,10 @@ import { query, } from "@anthropic-ai/claude-agent-sdk";
8
8
  import { mapClaudeCanceledToolCall, mapClaudeCompletedToolCall, mapClaudeFailedToolCall, mapClaudeRunningToolCall, } from "./claude/tool-call-mapper.js";
9
9
  import { isTaskNotificationUserContent, mapTaskNotificationSystemRecordToToolCall, mapTaskNotificationUserContentToToolCall, } from "./claude/task-notification-tool-call.js";
10
10
  import { buildClaudeModelDefinitions, buildClaudeModelFamilyAliases, buildClaudeSelectableModelIds, getClaudeFallbackModels, normalizeClaudeThinkingOptionId, resolveClaudeThinkingPreset, } from "./claude/model-catalog.js";
11
- import { applyRuntimeSettingsToClaudeOptions, detectClaudeThinkingCompatibility, fetchClaudeSupportedModels, } from "./claude-cli-capabilities.js";
11
+ import { applyRuntimeSettingsToClaudeOptions, detectClaudeThinkingCompatibility, fetchClaudeSupportedModels, getClaudeThinkingCompatibilityCacheKey, } from "./claude-cli-capabilities.js";
12
12
  import { buildToolCallDisplayModel } from "../../../shared/tool-call-display.js";
13
13
  import { applyProviderEnv, isProviderCommandAvailable, } from "../provider-launch-config.js";
14
+ import { getCachedProviderModels } from "../provider-model-cache.js";
14
15
  import { getOrchestratorModeInstructions } from "../orchestrator-instructions.js";
15
16
  const fsPromises = promises;
16
17
  const CLAUDE_SETTING_SOURCES = [
@@ -1017,21 +1018,44 @@ export class ClaudeAgentClient {
1017
1018
  });
1018
1019
  }
1019
1020
  async listModels(options) {
1020
- return this.discoverKnownModels(options?.cwd);
1021
+ return this.discoverLiveKnownModels(options?.cwd);
1021
1022
  }
1022
1023
  async discoverKnownModels(cwd) {
1023
1024
  try {
1024
- const models = await fetchClaudeSupportedModels({
1025
- cwd,
1025
+ return await this.discoverLiveKnownModels(cwd);
1026
+ }
1027
+ catch (error) {
1028
+ this.logger.warn({ err: error }, "Failed to discover Claude models dynamically; using fallback catalog");
1029
+ return getClaudeFallbackModels();
1030
+ }
1031
+ }
1032
+ async discoverLiveKnownModels(cwd) {
1033
+ const cacheKey = JSON.stringify({
1034
+ provider: "claude",
1035
+ cwd: cwd ?? null,
1036
+ runtime: getClaudeThinkingCompatibilityCacheKey({
1026
1037
  claudePath: this.claudePath,
1027
1038
  runtimeSettings: this.runtimeSettings,
1039
+ }),
1040
+ });
1041
+ try {
1042
+ return await getCachedProviderModels({
1043
+ cacheKey,
1044
+ provider: "claude",
1028
1045
  logger: this.logger,
1046
+ load: async () => {
1047
+ const models = await fetchClaudeSupportedModels({
1048
+ cwd,
1049
+ claudePath: this.claudePath,
1050
+ runtimeSettings: this.runtimeSettings,
1051
+ logger: this.logger,
1052
+ });
1053
+ return buildClaudeModelDefinitions(models);
1054
+ },
1029
1055
  });
1030
- return buildClaudeModelDefinitions(models);
1031
1056
  }
1032
1057
  catch (error) {
1033
- this.logger.warn({ err: error }, "Failed to discover Claude models dynamically; using fallback catalog");
1034
- return getClaudeFallbackModels();
1058
+ throw error;
1035
1059
  }
1036
1060
  }
1037
1061
  async listPersistedAgents(options) {
@@ -1194,7 +1218,10 @@ class ClaudeAgentSession {
1194
1218
  this.defaults = options.defaults;
1195
1219
  this.claudePath = options.claudePath;
1196
1220
  this.runtimeSettings = options.runtimeSettings;
1197
- this.logger = options.logger;
1221
+ this.logger = options.logger.child({
1222
+ internal: config.internal ?? false,
1223
+ ...(config.internal && config.title ? { internalTitle: config.title } : {}),
1224
+ });
1198
1225
  const handle = options.handle;
1199
1226
  if (handle) {
1200
1227
  if (!handle.sessionId) {
@@ -2917,8 +2944,7 @@ class ClaudeAgentSession {
2917
2944
  this.logger.debug({ sessionId: newSessionId }, "Claude session ID set for the first time");
2918
2945
  }
2919
2946
  else if (existingSessionId === newSessionId) {
2920
- // Same session ID - no-op, but log for visibility
2921
- this.logger.debug({ sessionId: newSessionId }, "Claude session ID unchanged (same value)");
2947
+ // Same session ID - expected on subsequent init payloads.
2922
2948
  }
2923
2949
  else {
2924
2950
  // CRITICAL: Session ID is being overwritten with a different value
@@ -2946,7 +2972,6 @@ class ClaudeAgentSession {
2946
2972
  this.persistence = null;
2947
2973
  // Capture actual model from SDK init message (not just the configured model)
2948
2974
  if (message.model) {
2949
- this.runtimeReportedModelId = message.model;
2950
2975
  const normalizedModel = normalizeClaudeRuntimeModelId({
2951
2976
  runtimeModelId: message.model,
2952
2977
  supportedModelIds: this.selectableModelIds,
@@ -2954,7 +2979,13 @@ class ClaudeAgentSession {
2954
2979
  configuredModelId: this.config.model ?? null,
2955
2980
  currentModelId: this.lastOptionsModel,
2956
2981
  });
2957
- this.logger.debug({ model: message.model, normalizedModel }, "Captured model from SDK init");
2982
+ const previousRuntimeModelId = this.runtimeReportedModelId;
2983
+ const previousNormalizedModel = this.lastOptionsModel;
2984
+ this.runtimeReportedModelId = message.model;
2985
+ if (previousRuntimeModelId !== message.model ||
2986
+ previousNormalizedModel !== normalizedModel) {
2987
+ this.logger.debug({ model: message.model, normalizedModel }, "Captured model from SDK init");
2988
+ }
2958
2989
  this.lastOptionsModel = normalizedModel;
2959
2990
  // Invalidate cached runtime info so it picks up the new model
2960
2991
  this.cachedRuntimeInfo = null;