@the-open-engine/zeroshot 6.17.0 → 6.19.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 (95) hide show
  1. package/cli/index.js +11 -14
  2. package/lib/agent-cli-provider/adapters/claude.d.ts +2 -2
  3. package/lib/agent-cli-provider/adapters/claude.d.ts.map +1 -1
  4. package/lib/agent-cli-provider/adapters/claude.js +30 -0
  5. package/lib/agent-cli-provider/adapters/claude.js.map +1 -1
  6. package/lib/agent-cli-provider/adapters/codex.d.ts +2 -2
  7. package/lib/agent-cli-provider/adapters/codex.d.ts.map +1 -1
  8. package/lib/agent-cli-provider/adapters/codex.js +37 -0
  9. package/lib/agent-cli-provider/adapters/codex.js.map +1 -1
  10. package/lib/agent-cli-provider/adapters/gemini.d.ts +2 -2
  11. package/lib/agent-cli-provider/adapters/gemini.d.ts.map +1 -1
  12. package/lib/agent-cli-provider/adapters/gemini.js +115 -4
  13. package/lib/agent-cli-provider/adapters/gemini.js.map +1 -1
  14. package/lib/agent-cli-provider/adapters/opencode.d.ts +2 -2
  15. package/lib/agent-cli-provider/adapters/opencode.d.ts.map +1 -1
  16. package/lib/agent-cli-provider/adapters/opencode.js +108 -0
  17. package/lib/agent-cli-provider/adapters/opencode.js.map +1 -1
  18. package/lib/agent-cli-provider/contract-options.d.ts.map +1 -1
  19. package/lib/agent-cli-provider/contract-options.js +12 -0
  20. package/lib/agent-cli-provider/contract-options.js.map +1 -1
  21. package/lib/agent-cli-provider/index.d.ts +2 -2
  22. package/lib/agent-cli-provider/index.d.ts.map +1 -1
  23. package/lib/agent-cli-provider/index.js +2 -1
  24. package/lib/agent-cli-provider/index.js.map +1 -1
  25. package/lib/agent-cli-provider/omp-release.d.ts +15 -0
  26. package/lib/agent-cli-provider/omp-release.d.ts.map +1 -0
  27. package/lib/agent-cli-provider/omp-release.js +50 -0
  28. package/lib/agent-cli-provider/omp-release.js.map +1 -0
  29. package/lib/agent-cli-provider/omp-rpc-protocol.d.ts +38 -0
  30. package/lib/agent-cli-provider/omp-rpc-protocol.d.ts.map +1 -0
  31. package/lib/agent-cli-provider/omp-rpc-protocol.js +267 -0
  32. package/lib/agent-cli-provider/omp-rpc-protocol.js.map +1 -0
  33. package/lib/agent-cli-provider/provider-registry.d.ts +35 -8
  34. package/lib/agent-cli-provider/provider-registry.d.ts.map +1 -1
  35. package/lib/agent-cli-provider/provider-registry.js +29 -1
  36. package/lib/agent-cli-provider/provider-registry.js.map +1 -1
  37. package/lib/agent-cli-provider/single-agent-runtime.d.ts.map +1 -1
  38. package/lib/agent-cli-provider/single-agent-runtime.js +36 -5
  39. package/lib/agent-cli-provider/single-agent-runtime.js.map +1 -1
  40. package/lib/agent-cli-provider/types.d.ts +30 -3
  41. package/lib/agent-cli-provider/types.d.ts.map +1 -1
  42. package/lib/agent-cli-provider/types.js.map +1 -1
  43. package/lib/cluster/errors.cjs +4 -1
  44. package/lib/cluster/errors.d.ts +2 -0
  45. package/lib/cluster/errors.mjs +2 -0
  46. package/lib/cluster/index.cjs +8 -1
  47. package/lib/cluster/index.d.ts +4 -1
  48. package/lib/cluster/index.mjs +4 -1
  49. package/lib/cluster/json-source.cjs +61 -0
  50. package/lib/cluster/json-source.d.ts +4 -0
  51. package/lib/cluster/json-source.mjs +55 -0
  52. package/lib/cluster/payload-value.cjs +76 -0
  53. package/lib/cluster/payload-value.d.ts +7 -0
  54. package/lib/cluster/payload-value.mjs +72 -0
  55. package/lib/cluster/validators.cjs +21 -0
  56. package/lib/cluster/validators.d.ts +4 -1
  57. package/lib/cluster/validators.mjs +19 -1
  58. package/lib/provider-names.js +10 -0
  59. package/lib/settings.js +6 -3
  60. package/lib/setup-plan.js +5 -5
  61. package/lib/start-cluster.js +3 -3
  62. package/package.json +2 -2
  63. package/src/agent/agent-lifecycle.js +4 -4
  64. package/src/agent/agent-task-executor.js +201 -416
  65. package/src/agent/output-extraction.js +39 -14
  66. package/src/agent/output-reformatter.js +154 -111
  67. package/src/agent/pr-verification.js +4 -1
  68. package/src/agent-cli-provider/adapters/claude.ts +39 -2
  69. package/src/agent-cli-provider/adapters/codex.ts +56 -2
  70. package/src/agent-cli-provider/adapters/gemini.ts +102 -6
  71. package/src/agent-cli-provider/adapters/opencode.ts +85 -2
  72. package/src/agent-cli-provider/contract-options.ts +16 -0
  73. package/src/agent-cli-provider/index.ts +4 -0
  74. package/src/agent-cli-provider/omp-release.ts +63 -0
  75. package/src/agent-cli-provider/omp-rpc-protocol.ts +396 -0
  76. package/src/agent-cli-provider/provider-registry.ts +52 -4
  77. package/src/agent-cli-provider/single-agent-runtime.ts +52 -5
  78. package/src/agent-cli-provider/types.ts +36 -2
  79. package/src/agent-wrapper.js +5 -5
  80. package/src/claude-task-runner.js +5 -3
  81. package/src/cluster/errors.ts +1 -0
  82. package/src/cluster/index.ts +4 -0
  83. package/src/cluster/json-source.ts +71 -0
  84. package/src/cluster/payload-value.ts +84 -0
  85. package/src/cluster/validators.ts +31 -2
  86. package/src/config-validator.js +3 -2
  87. package/src/isolation-manager.js +6 -2
  88. package/src/orchestrator.js +36 -16
  89. package/src/preflight.js +2 -1
  90. package/task-lib/attachable-watcher.js +1 -0
  91. package/task-lib/command-spec-cleanup.js +57 -11
  92. package/task-lib/commands/run.js +1 -0
  93. package/task-lib/provider-session-capture.js +8 -0
  94. package/task-lib/runner.js +9 -6
  95. package/task-lib/watcher.js +1 -0
@@ -71,7 +71,15 @@ export function createProviderSessionCapture({
71
71
  requestedSessionId = null,
72
72
  initialSessionId = null,
73
73
  initialSessionIdConflict = false,
74
+ disabled = false,
74
75
  }) {
76
+ if (disabled) {
77
+ return {
78
+ captureLine() {},
79
+ getCompletionError: () => null,
80
+ getCompletionUpdate: () => ({ resumeIdentityVerified: false }),
81
+ };
82
+ }
75
83
  let currentSessionId = initialSessionId;
76
84
  let sessionIdConflict = initialSessionIdConflict;
77
85
  let persistenceError = null;
@@ -116,19 +116,21 @@ function resolveJsonSchema(options, outputFormat) {
116
116
  }
117
117
 
118
118
  function buildProviderOptions(options, runtime, modelSelection) {
119
+ const structuredOutputRecovery = options.structuredOutputRecovery === true;
119
120
  return {
120
121
  outputFormat: runtime.outputFormat,
121
122
  jsonSchema: runtime.jsonSchema,
122
123
  cwd: runtime.cwd,
123
- autoApprove: true,
124
+ autoApprove: !structuredOutputRecovery,
124
125
  ...(modelSelection === undefined ? {} : { modelSpec: modelSelection.modelSpec }),
125
- ...mcpConfigOption(options),
126
+ ...(structuredOutputRecovery ? {} : mcpConfigOption(options)),
126
127
  ...claudeSettingsFileOption(),
127
- ...(options.resume ? { resumeSessionId: options.resume } : {}),
128
+ ...(!structuredOutputRecovery && options.resume ? { resumeSessionId: options.resume } : {}),
128
129
  ...(process.env.ZEROSHOT_OPENCODE_AGENT?.trim()
129
130
  ? { agentName: process.env.ZEROSHOT_OPENCODE_AGENT.trim() }
130
131
  : {}),
131
- ...(options.continue ? { continueSession: true } : {}),
132
+ ...(!structuredOutputRecovery && options.continue ? { continueSession: true } : {}),
133
+ ...(structuredOutputRecovery ? { structuredOutputRecovery: true } : {}),
132
134
  };
133
135
  }
134
136
 
@@ -218,10 +220,10 @@ export function buildTaskRecord({
218
220
  // accepted that session identity.
219
221
  sessionId: null,
220
222
  sessionIdConflict: false,
221
- requestedResumeSessionId: options.resume || null,
223
+ requestedResumeSessionId: options.structuredOutputRecovery ? null : options.resume || null,
222
224
  // Resumed tasks start fail-closed. Only the watcher terminal transaction
223
225
  // may prove that the requested identity completed without conflict.
224
- resumeIdentityVerified: !options.resume,
226
+ resumeIdentityVerified: options.structuredOutputRecovery || !options.resume,
225
227
  logFile,
226
228
  createdAt: new Date().toISOString(),
227
229
  updatedAt: new Date().toISOString(),
@@ -253,6 +255,7 @@ function buildWatcherConfig(outputFormat, jsonSchema, options, providerName, com
253
255
  outputFormat,
254
256
  jsonSchema,
255
257
  silentJsonOutput: options.silentJsonOutput || false,
258
+ structuredOutputRecovery: options.structuredOutputRecovery === true,
256
259
  provider: providerName,
257
260
  command: commandSpec.binary,
258
261
  env: commandSpec.env || {},
@@ -64,6 +64,7 @@ const providerSessionCapture = createProviderSessionCapture({
64
64
  requestedSessionId: storedTask?.requestedResumeSessionId || null,
65
65
  initialSessionId: storedTask?.sessionId || null,
66
66
  initialSessionIdConflict: storedTask?.sessionIdConflict === true,
67
+ disabled: config.structuredOutputRecovery === true,
67
68
  });
68
69
 
69
70
  let crashStarted = false;