@themoltnet/agent-daemon 0.11.1 → 0.12.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 (2) hide show
  1. package/dist/main.js +447 -414
  2. package/package.json +6 -6
package/dist/main.js CHANGED
@@ -4192,6 +4192,14 @@ var CuratePackOutput = Type$2.Object({
4192
4192
  //#endregion
4193
4193
  //#region ../../libs/tasks/src/task-types/freeform.ts
4194
4194
  var FREEFORM_TYPE = "freeform";
4195
+ var FreeformExecutionOptions = Type$2.Object({ workspace: Type$2.Optional(Type$2.Union([
4196
+ Type$2.Literal("none"),
4197
+ Type$2.Literal("shared_mount"),
4198
+ Type$2.Literal("dedicated_worktree")
4199
+ ])) }, {
4200
+ $id: "FreeformExecutionOptions",
4201
+ additionalProperties: false
4202
+ });
4195
4203
  var FreeformTaskTypeProposal = Type$2.Object({
4196
4204
  name: Type$2.String({ minLength: 1 }),
4197
4205
  rationale: Type$2.String({ minLength: 1 }),
@@ -4208,7 +4216,8 @@ var FreeformInput = Type$2.Object({
4208
4216
  constraints: Type$2.Optional(Type$2.Array(Type$2.String({ minLength: 1 }), { maxItems: 20 })),
4209
4217
  suggestedTaskType: Type$2.Optional(Type$2.String({ minLength: 1 })),
4210
4218
  successCriteria: Type$2.Optional(SuccessCriteria),
4211
- context: Type$2.Optional(TaskContext)
4219
+ context: Type$2.Optional(TaskContext),
4220
+ execution: Type$2.Optional(FreeformExecutionOptions)
4212
4221
  }, {
4213
4222
  $id: "FreeformInput",
4214
4223
  additionalProperties: false
@@ -4218,24 +4227,16 @@ var FreeformArtifact = Type$2.Object({
4218
4227
  title: Type$2.String({ minLength: 1 }),
4219
4228
  description: Type$2.Optional(Type$2.String({ minLength: 1 })),
4220
4229
  url: Type$2.Optional(Type$2.String({ minLength: 1 })),
4221
- path: Type$2.Optional(Type$2.String({ minLength: 1 }))
4230
+ path: Type$2.Optional(Type$2.String({ minLength: 1 })),
4231
+ body: Type$2.Optional(Type$2.String({ maxLength: 65536 }))
4222
4232
  }, {
4223
4233
  $id: "FreeformArtifact",
4224
4234
  additionalProperties: false
4225
4235
  });
4226
- var FreeformFollowUpTask = Type$2.Object({
4227
- title: Type$2.String({ minLength: 1 }),
4228
- brief: Type$2.String({ minLength: 1 }),
4229
- suggestedTaskType: Type$2.Optional(Type$2.String({ minLength: 1 }))
4230
- }, {
4231
- $id: "FreeformFollowUpTask",
4232
- additionalProperties: false
4233
- });
4234
4236
  var FreeformOutput = Type$2.Object({
4235
4237
  summary: Type$2.String({ minLength: 1 }),
4236
4238
  artifacts: Type$2.Optional(Type$2.Array(FreeformArtifact, { maxItems: 20 })),
4237
4239
  proposedTaskType: Type$2.Optional(FreeformTaskTypeProposal),
4238
- followUpTasks: Type$2.Optional(Type$2.Array(FreeformFollowUpTask, { maxItems: 20 })),
4239
4240
  diaryEntryIds: Type$2.Optional(Type$2.Array(Type$2.String({ format: "uuid" }))),
4240
4241
  verification: Type$2.Optional(VerificationRecord)
4241
4242
  }, {
@@ -4806,8 +4807,11 @@ var BUILT_IN_TASK_TYPES = {
4806
4807
  inputSchema: FreeformInput,
4807
4808
  outputSchema: FreeformOutput,
4808
4809
  outputKind: "artifact",
4809
- workspaceScope: "attempt",
4810
- sessionScope: "none",
4810
+ resumable: true,
4811
+ workspaceMode: "shared_mount",
4812
+ workspaceScope: "session",
4813
+ sessionScope: "correlation",
4814
+ acceptsInputWorkspaceOverride: true,
4811
4815
  requiresReferences: false,
4812
4816
  validateOutput: requireVerificationWhenCriteriaPresent
4813
4817
  },
@@ -4888,6 +4892,7 @@ var BUILT_IN_TASK_TYPES = {
4888
4892
  resumable: true,
4889
4893
  workspaceScope: "session",
4890
4894
  sessionScope: "custom",
4895
+ acceptsInputWorkspaceOverride: true,
4891
4896
  requiresReferences: false,
4892
4897
  validateOutput: validateRunEvalOutput
4893
4898
  },
@@ -5847,6 +5852,13 @@ function taskTypeSessionScope(taskType) {
5847
5852
  return getTaskTypeEntry(taskType)?.sessionScope ?? "none";
5848
5853
  }
5849
5854
  /**
5855
+ * Whether a task type accepts a proposer-supplied workspace mode via
5856
+ * `task.input.execution.workspace`. Unknown task types default to false.
5857
+ */
5858
+ function taskTypeAcceptsInputWorkspaceOverride(taskType) {
5859
+ return getTaskTypeEntry(taskType)?.acceptsInputWorkspaceOverride ?? false;
5860
+ }
5861
+ /**
5850
5862
  * Resolve the daemon-relevant execution policy declared by a task type.
5851
5863
  *
5852
5864
  * This is the single read path for "may this task reuse a warm session?" and
@@ -5859,6 +5871,7 @@ function getTaskExecutionPolicy(taskType) {
5859
5871
  workspaceMode: taskTypeWorkspaceMode(taskType),
5860
5872
  workspaceScope: taskTypeWorkspaceScope(taskType),
5861
5873
  sessionScope: taskTypeSessionScope(taskType),
5874
+ acceptsInputWorkspaceOverride: taskTypeAcceptsInputWorkspaceOverride(taskType),
5862
5875
  usesSubagents: taskTypeUsesSubagents(taskType)
5863
5876
  };
5864
5877
  }
@@ -6885,8 +6898,7 @@ function buildFreeformUserPrompt(input, ctx) {
6885
6898
  "2. Gather enough context to avoid guessing.",
6886
6899
  "3. Complete the requested work when it is safe and bounded.",
6887
6900
  "4. If the request reveals a recurring task shape, include a",
6888
- " `proposedTaskType` in the final output with a concise rationale.",
6889
- "5. If the work should be split or continued, include `followUpTasks`."
6901
+ " `proposedTaskType` in the final output with a concise rationale."
6890
6902
  ].join("\n");
6891
6903
  return assembleTaskPrompt("freeform", [
6892
6904
  {
@@ -6944,9 +6956,8 @@ function buildFreeformUserPrompt(input, ctx) {
6944
6956
  shapeSketch: [
6945
6957
  "{",
6946
6958
  " \"summary\": \"<2-5 sentence result>\",",
6947
- " \"artifacts\": [{ \"kind\": \"...\", \"title\": \"...\", \"description\": \"...\", \"url\": \"...\", \"path\": \"...\" }],",
6959
+ " \"artifacts\": [{ \"kind\": \"...\", \"title\": \"...\", \"description\": \"...\", \"body\": \"<inline content up to 64 KiB; preferred for textual output so it persists with the task>\", \"url\": \"...\", \"path\": \"<worktree-ephemeral; not persisted after completion>\" }],",
6948
6960
  " \"proposedTaskType\": { \"name\": \"...\", \"rationale\": \"...\", \"inputShape\": {}, \"outputShape\": {} },",
6949
- " \"followUpTasks\": [{ \"title\": \"...\", \"brief\": \"...\", \"suggestedTaskType\": \"...\" }],",
6950
6961
  " \"diaryEntryIds\": [\"...\"],",
6951
6962
  " \"verification\": <required iff input.successCriteria; see Self-verification>",
6952
6963
  "}"
@@ -8800,16 +8811,16 @@ var client = createClient(createConfig({ baseUrl: "https://api.themolt.net" }));
8800
8811
  //#endregion
8801
8812
  //#region ../../libs/api-client/src/generated/sdk.gen.ts
8802
8813
  /**
8803
- * Shallow liveness probe.
8814
+ * MoltNet network discovery document (RFC 8615 well-known URI). Returns network info, endpoints, capabilities, quickstart steps, and philosophy. No authentication required.
8804
8815
  */
8805
- var getHealth = (options) => (options?.client ?? client).get({
8806
- url: "/health",
8816
+ var getNetworkInfo = (options) => (options?.client ?? client).get({
8817
+ url: "/.well-known/moltnet.json",
8807
8818
  ...options
8808
8819
  });
8809
8820
  /**
8810
- * List the authenticated agent's diaries.
8821
+ * Get the authenticated agent identity (requires bearer token).
8811
8822
  */
8812
- var listDiaries = (options) => (options?.client ?? client).get({
8823
+ var getWhoami = (options) => (options?.client ?? client).get({
8813
8824
  security: [
8814
8825
  {
8815
8826
  scheme: "bearer",
@@ -8825,29 +8836,21 @@ var listDiaries = (options) => (options?.client ?? client).get({
8825
8836
  type: "apiKey"
8826
8837
  }
8827
8838
  ],
8828
- url: "/diaries",
8839
+ url: "/agents/whoami",
8829
8840
  ...options
8830
8841
  });
8831
8842
  /**
8832
- * Create a new diary.
8843
+ * Get an agent's public profile by key fingerprint (A1B2-C3D4-E5F6-G7H8).
8833
8844
  */
8834
- var createDiary = (options) => (options.client ?? client).post({
8835
- security: [
8836
- {
8837
- scheme: "bearer",
8838
- type: "http"
8839
- },
8840
- {
8841
- name: "X-Moltnet-Session-Token",
8842
- type: "apiKey"
8843
- },
8844
- {
8845
- in: "cookie",
8846
- name: "ory_kratos_session",
8847
- type: "apiKey"
8848
- }
8849
- ],
8850
- url: "/diaries",
8845
+ var getAgentProfile = (options) => (options.client ?? client).get({
8846
+ url: "/agents/{fingerprint}",
8847
+ ...options
8848
+ });
8849
+ /**
8850
+ * Verify a signature belongs to the specified agent.
8851
+ */
8852
+ var verifyAgentSignature = (options) => (options.client ?? client).post({
8853
+ url: "/agents/{fingerprint}/verify",
8851
8854
  ...options,
8852
8855
  headers: {
8853
8856
  "Content-Type": "application/json",
@@ -8855,9 +8858,9 @@ var createDiary = (options) => (options.client ?? client).post({
8855
8858
  }
8856
8859
  });
8857
8860
  /**
8858
- * Delete a diary and cascade-delete its entries.
8861
+ * Rotate the OAuth2 client secret. Returns the new clientId/clientSecret pair. The old secret is invalidated immediately.
8859
8862
  */
8860
- var deleteDiary = (options) => (options.client ?? client).delete({
8863
+ var rotateClientSecret = (options) => (options?.client ?? client).post({
8861
8864
  security: [
8862
8865
  {
8863
8866
  scheme: "bearer",
@@ -8873,13 +8876,13 @@ var deleteDiary = (options) => (options.client ?? client).delete({
8873
8876
  type: "apiKey"
8874
8877
  }
8875
8878
  ],
8876
- url: "/diaries/{id}",
8879
+ url: "/auth/rotate-secret",
8877
8880
  ...options
8878
8881
  });
8879
8882
  /**
8880
- * Get a diary by ID.
8883
+ * Get the authenticated agent's cryptographic identity (keys, fingerprint).
8881
8884
  */
8882
- var getDiary = (options) => (options.client ?? client).get({
8885
+ var getCryptoIdentity = (options) => (options?.client ?? client).get({
8883
8886
  security: [
8884
8887
  {
8885
8888
  scheme: "bearer",
@@ -8895,13 +8898,13 @@ var getDiary = (options) => (options.client ?? client).get({
8895
8898
  type: "apiKey"
8896
8899
  }
8897
8900
  ],
8898
- url: "/diaries/{id}",
8901
+ url: "/crypto/identity",
8899
8902
  ...options
8900
8903
  });
8901
8904
  /**
8902
- * Update diary name or visibility.
8905
+ * List signing requests for the authenticated agent.
8903
8906
  */
8904
- var updateDiary = (options) => (options.client ?? client).patch({
8907
+ var listSigningRequests = (options) => (options?.client ?? client).get({
8905
8908
  security: [
8906
8909
  {
8907
8910
  scheme: "bearer",
@@ -8917,17 +8920,13 @@ var updateDiary = (options) => (options.client ?? client).patch({
8917
8920
  type: "apiKey"
8918
8921
  }
8919
8922
  ],
8920
- url: "/diaries/{id}",
8921
- ...options,
8922
- headers: {
8923
- "Content-Type": "application/json",
8924
- ...options.headers
8925
- }
8923
+ url: "/crypto/signing-requests",
8924
+ ...options
8926
8925
  });
8927
8926
  /**
8928
- * Revoke a writer or manager grant from a diary.
8927
+ * Create a signing request. The server generates a nonce and starts a DBOS workflow that waits for the agent to submit a signature.
8929
8928
  */
8930
- var revokeDiaryGrant = (options) => (options.client ?? client).delete({
8929
+ var createSigningRequest = (options) => (options.client ?? client).post({
8931
8930
  security: [
8932
8931
  {
8933
8932
  scheme: "bearer",
@@ -8943,7 +8942,7 @@ var revokeDiaryGrant = (options) => (options.client ?? client).delete({
8943
8942
  type: "apiKey"
8944
8943
  }
8945
8944
  ],
8946
- url: "/diaries/{id}/grants",
8945
+ url: "/crypto/signing-requests",
8947
8946
  ...options,
8948
8947
  headers: {
8949
8948
  "Content-Type": "application/json",
@@ -8951,9 +8950,9 @@ var revokeDiaryGrant = (options) => (options.client ?? client).delete({
8951
8950
  }
8952
8951
  });
8953
8952
  /**
8954
- * List all per-diary grants (writers and managers).
8953
+ * Get a specific signing request by ID.
8955
8954
  */
8956
- var listDiaryGrants = (options) => (options.client ?? client).get({
8955
+ var getSigningRequest = (options) => (options.client ?? client).get({
8957
8956
  security: [
8958
8957
  {
8959
8958
  scheme: "bearer",
@@ -8969,13 +8968,13 @@ var listDiaryGrants = (options) => (options.client ?? client).get({
8969
8968
  type: "apiKey"
8970
8969
  }
8971
8970
  ],
8972
- url: "/diaries/{id}/grants",
8971
+ url: "/crypto/signing-requests/{id}",
8973
8972
  ...options
8974
8973
  });
8975
8974
  /**
8976
- * Grant writer or manager access to a diary for an agent, human, or group.
8975
+ * Submit a signature for a signing request. The DBOS workflow verifies the signature and updates the request status.
8977
8976
  */
8978
- var createDiaryGrant = (options) => (options.client ?? client).post({
8977
+ var submitSignature = (options) => (options.client ?? client).post({
8979
8978
  security: [
8980
8979
  {
8981
8980
  scheme: "bearer",
@@ -8991,7 +8990,7 @@ var createDiaryGrant = (options) => (options.client ?? client).post({
8991
8990
  type: "apiKey"
8992
8991
  }
8993
8992
  ],
8994
- url: "/diaries/{id}/grants",
8993
+ url: "/crypto/signing-requests/{id}/sign",
8995
8994
  ...options,
8996
8995
  headers: {
8997
8996
  "Content-Type": "application/json",
@@ -8999,25 +8998,10 @@ var createDiaryGrant = (options) => (options.client ?? client).post({
8999
8998
  }
9000
8999
  });
9001
9000
  /**
9002
- * Initiate a diary transfer to another team. Requires diary manage permission.
9001
+ * Verify an Ed25519 signature by looking up the signing request.
9003
9002
  */
9004
- var initiateTransfer = (options) => (options.client ?? client).post({
9005
- security: [
9006
- {
9007
- scheme: "bearer",
9008
- type: "http"
9009
- },
9010
- {
9011
- name: "X-Moltnet-Session-Token",
9012
- type: "apiKey"
9013
- },
9014
- {
9015
- in: "cookie",
9016
- name: "ory_kratos_session",
9017
- type: "apiKey"
9018
- }
9019
- ],
9020
- url: "/diaries/{id}/transfer",
9003
+ var verifyCryptoSignature = (options) => (options.client ?? client).post({
9004
+ url: "/crypto/verify",
9021
9005
  ...options,
9022
9006
  headers: {
9023
9007
  "Content-Type": "application/json",
@@ -9025,9 +9009,9 @@ var initiateTransfer = (options) => (options.client ?? client).post({
9025
9009
  }
9026
9010
  });
9027
9011
  /**
9028
- * List pending transfers where the caller is destination team owner.
9012
+ * List the authenticated agent's diaries.
9029
9013
  */
9030
- var listPendingTransfers = (options) => (options?.client ?? client).get({
9014
+ var listDiaries = (options) => (options?.client ?? client).get({
9031
9015
  security: [
9032
9016
  {
9033
9017
  scheme: "bearer",
@@ -9043,13 +9027,13 @@ var listPendingTransfers = (options) => (options?.client ?? client).get({
9043
9027
  type: "apiKey"
9044
9028
  }
9045
9029
  ],
9046
- url: "/transfers",
9030
+ url: "/diaries",
9047
9031
  ...options
9048
9032
  });
9049
9033
  /**
9050
- * Accept a pending diary transfer. Caller must be destination team owner.
9034
+ * Create a new diary.
9051
9035
  */
9052
- var acceptTransfer = (options) => (options.client ?? client).post({
9036
+ var createDiary = (options) => (options.client ?? client).post({
9053
9037
  security: [
9054
9038
  {
9055
9039
  scheme: "bearer",
@@ -9065,13 +9049,17 @@ var acceptTransfer = (options) => (options.client ?? client).post({
9065
9049
  type: "apiKey"
9066
9050
  }
9067
9051
  ],
9068
- url: "/transfers/{transferId}/accept",
9069
- ...options
9052
+ url: "/diaries",
9053
+ ...options,
9054
+ headers: {
9055
+ "Content-Type": "application/json",
9056
+ ...options.headers
9057
+ }
9070
9058
  });
9071
9059
  /**
9072
- * Reject a pending diary transfer.
9060
+ * Search diary entries using hybrid search.
9073
9061
  */
9074
- var rejectTransfer = (options) => (options.client ?? client).post({
9062
+ var searchDiary = (options) => (options?.client ?? client).post({
9075
9063
  security: [
9076
9064
  {
9077
9065
  scheme: "bearer",
@@ -9087,8 +9075,12 @@ var rejectTransfer = (options) => (options.client ?? client).post({
9087
9075
  type: "apiKey"
9088
9076
  }
9089
9077
  ],
9090
- url: "/transfers/{transferId}/reject",
9091
- ...options
9078
+ url: "/diaries/search",
9079
+ ...options,
9080
+ headers: {
9081
+ "Content-Type": "application/json",
9082
+ ...options?.headers
9083
+ }
9092
9084
  });
9093
9085
  /**
9094
9086
  * List diary entries for a specific diary.
@@ -9161,9 +9153,9 @@ var listDiaryTags = (options) => (options.client ?? client).get({
9161
9153
  ...options
9162
9154
  });
9163
9155
  /**
9164
- * Delete a diary entry.
9156
+ * Delete a diary and cascade-delete its entries.
9165
9157
  */
9166
- var deleteDiaryEntryById = (options) => (options.client ?? client).delete({
9158
+ var deleteDiary = (options) => (options.client ?? client).delete({
9167
9159
  security: [
9168
9160
  {
9169
9161
  scheme: "bearer",
@@ -9179,13 +9171,13 @@ var deleteDiaryEntryById = (options) => (options.client ?? client).delete({
9179
9171
  type: "apiKey"
9180
9172
  }
9181
9173
  ],
9182
- url: "/entries/{entryId}",
9174
+ url: "/diaries/{id}",
9183
9175
  ...options
9184
9176
  });
9185
9177
  /**
9186
- * Get a single diary entry by ID. Pass expand=relations to inline the relation graph up to `depth` hops. Traversal follows edges in both directions regardless of relation direction.
9178
+ * Get a diary by ID.
9187
9179
  */
9188
- var getDiaryEntryById = (options) => (options.client ?? client).get({
9180
+ var getDiary = (options) => (options.client ?? client).get({
9189
9181
  security: [
9190
9182
  {
9191
9183
  scheme: "bearer",
@@ -9201,13 +9193,13 @@ var getDiaryEntryById = (options) => (options.client ?? client).get({
9201
9193
  type: "apiKey"
9202
9194
  }
9203
9195
  ],
9204
- url: "/entries/{entryId}",
9196
+ url: "/diaries/{id}",
9205
9197
  ...options
9206
9198
  });
9207
9199
  /**
9208
- * Update a diary entry (content, title, tags).
9200
+ * Update diary name or visibility.
9209
9201
  */
9210
- var updateDiaryEntryById = (options) => (options.client ?? client).patch({
9202
+ var updateDiary = (options) => (options.client ?? client).patch({
9211
9203
  security: [
9212
9204
  {
9213
9205
  scheme: "bearer",
@@ -9223,7 +9215,7 @@ var updateDiaryEntryById = (options) => (options.client ?? client).patch({
9223
9215
  type: "apiKey"
9224
9216
  }
9225
9217
  ],
9226
- url: "/entries/{entryId}",
9218
+ url: "/diaries/{id}",
9227
9219
  ...options,
9228
9220
  headers: {
9229
9221
  "Content-Type": "application/json",
@@ -9231,9 +9223,9 @@ var updateDiaryEntryById = (options) => (options.client ?? client).patch({
9231
9223
  }
9232
9224
  });
9233
9225
  /**
9234
- * Verify the content signature of a diary entry. Returns whether the entry is signed, hash matches, and signature is valid.
9226
+ * Revoke a writer or manager grant from a diary.
9235
9227
  */
9236
- var verifyDiaryEntryById = (options) => (options.client ?? client).get({
9228
+ var revokeDiaryGrant = (options) => (options.client ?? client).delete({
9237
9229
  security: [
9238
9230
  {
9239
9231
  scheme: "bearer",
@@ -9249,13 +9241,39 @@ var verifyDiaryEntryById = (options) => (options.client ?? client).get({
9249
9241
  type: "apiKey"
9250
9242
  }
9251
9243
  ],
9252
- url: "/entries/{entryId}/verify",
9244
+ url: "/diaries/{id}/grants",
9245
+ ...options,
9246
+ headers: {
9247
+ "Content-Type": "application/json",
9248
+ ...options.headers
9249
+ }
9250
+ });
9251
+ /**
9252
+ * List all per-diary grants (writers and managers).
9253
+ */
9254
+ var listDiaryGrants = (options) => (options.client ?? client).get({
9255
+ security: [
9256
+ {
9257
+ scheme: "bearer",
9258
+ type: "http"
9259
+ },
9260
+ {
9261
+ name: "X-Moltnet-Session-Token",
9262
+ type: "apiKey"
9263
+ },
9264
+ {
9265
+ in: "cookie",
9266
+ name: "ory_kratos_session",
9267
+ type: "apiKey"
9268
+ }
9269
+ ],
9270
+ url: "/diaries/{id}/grants",
9253
9271
  ...options
9254
9272
  });
9255
9273
  /**
9256
- * Search diary entries using hybrid search.
9274
+ * Grant writer or manager access to a diary for an agent, human, or group.
9257
9275
  */
9258
- var searchDiary = (options) => (options?.client ?? client).post({
9276
+ var createDiaryGrant = (options) => (options.client ?? client).post({
9259
9277
  security: [
9260
9278
  {
9261
9279
  scheme: "bearer",
@@ -9271,17 +9289,17 @@ var searchDiary = (options) => (options?.client ?? client).post({
9271
9289
  type: "apiKey"
9272
9290
  }
9273
9291
  ],
9274
- url: "/diaries/search",
9292
+ url: "/diaries/{id}/grants",
9275
9293
  ...options,
9276
9294
  headers: {
9277
9295
  "Content-Type": "application/json",
9278
- ...options?.headers
9296
+ ...options.headers
9279
9297
  }
9280
9298
  });
9281
9299
  /**
9282
- * Export the provenance graph for a persisted context pack by ID.
9300
+ * List persisted context packs for a diary. Use `expand=entries` to include entry content.
9283
9301
  */
9284
- var getContextPackProvenanceById = (options) => (options.client ?? client).get({
9302
+ var listDiaryPacks = (options) => (options.client ?? client).get({
9285
9303
  security: [
9286
9304
  {
9287
9305
  scheme: "bearer",
@@ -9297,13 +9315,13 @@ var getContextPackProvenanceById = (options) => (options.client ?? client).get({
9297
9315
  type: "apiKey"
9298
9316
  }
9299
9317
  ],
9300
- url: "/packs/{id}/provenance",
9318
+ url: "/diaries/{id}/packs",
9301
9319
  ...options
9302
9320
  });
9303
9321
  /**
9304
- * Export the provenance graph for a persisted context pack by CID.
9322
+ * Create and persist a custom context pack from an explicit entry selection.
9305
9323
  */
9306
- var getContextPackProvenanceByCid = (options) => (options.client ?? client).get({
9324
+ var createDiaryCustomPack = (options) => (options.client ?? client).post({
9307
9325
  security: [
9308
9326
  {
9309
9327
  scheme: "bearer",
@@ -9319,13 +9337,17 @@ var getContextPackProvenanceByCid = (options) => (options.client ?? client).get(
9319
9337
  type: "apiKey"
9320
9338
  }
9321
9339
  ],
9322
- url: "/packs/by-cid/{cid}/provenance",
9323
- ...options
9340
+ url: "/diaries/{id}/packs",
9341
+ ...options,
9342
+ headers: {
9343
+ "Content-Type": "application/json",
9344
+ ...options.headers
9345
+ }
9324
9346
  });
9325
9347
  /**
9326
- * List persisted context packs across readable diaries, filtered by entry membership. Use `includeRendered=true` to include rendered descendants.
9348
+ * Preview a custom context pack from an explicit entry selection without persisting it.
9327
9349
  */
9328
- var listContextPacks = (options) => (options?.client ?? client).get({
9350
+ var previewDiaryCustomPack = (options) => (options.client ?? client).post({
9329
9351
  security: [
9330
9352
  {
9331
9353
  scheme: "bearer",
@@ -9341,13 +9363,17 @@ var listContextPacks = (options) => (options?.client ?? client).get({
9341
9363
  type: "apiKey"
9342
9364
  }
9343
9365
  ],
9344
- url: "/packs",
9345
- ...options
9366
+ url: "/diaries/{id}/packs/preview",
9367
+ ...options,
9368
+ headers: {
9369
+ "Content-Type": "application/json",
9370
+ ...options.headers
9371
+ }
9346
9372
  });
9347
9373
  /**
9348
- * Get a persisted context pack by ID. Use `expand=entries` to include entry content.
9374
+ * List rendered packs for a diary. Optionally filter by source pack ID or render method.
9349
9375
  */
9350
- var getContextPackById = (options) => (options.client ?? client).get({
9376
+ var listDiaryRenderedPacks = (options) => (options.client ?? client).get({
9351
9377
  security: [
9352
9378
  {
9353
9379
  scheme: "bearer",
@@ -9363,13 +9389,13 @@ var getContextPackById = (options) => (options.client ?? client).get({
9363
9389
  type: "apiKey"
9364
9390
  }
9365
9391
  ],
9366
- url: "/packs/{id}",
9392
+ url: "/diaries/{id}/rendered-packs",
9367
9393
  ...options
9368
9394
  });
9369
9395
  /**
9370
- * Update a context pack — pin/unpin or change expiration. Only the diary owner can manage packs.
9396
+ * Initiate a diary transfer to another team. Requires diary manage permission.
9371
9397
  */
9372
- var updateContextPack = (options) => (options.client ?? client).patch({
9398
+ var initiateTransfer = (options) => (options.client ?? client).post({
9373
9399
  security: [
9374
9400
  {
9375
9401
  scheme: "bearer",
@@ -9385,7 +9411,7 @@ var updateContextPack = (options) => (options.client ?? client).patch({
9385
9411
  type: "apiKey"
9386
9412
  }
9387
9413
  ],
9388
- url: "/packs/{id}",
9414
+ url: "/diaries/{id}/transfer",
9389
9415
  ...options,
9390
9416
  headers: {
9391
9417
  "Content-Type": "application/json",
@@ -9393,9 +9419,9 @@ var updateContextPack = (options) => (options.client ?? client).patch({
9393
9419
  }
9394
9420
  });
9395
9421
  /**
9396
- * Preview a custom context pack from an explicit entry selection without persisting it.
9422
+ * Delete a diary entry.
9397
9423
  */
9398
- var previewDiaryCustomPack = (options) => (options.client ?? client).post({
9424
+ var deleteDiaryEntryById = (options) => (options.client ?? client).delete({
9399
9425
  security: [
9400
9426
  {
9401
9427
  scheme: "bearer",
@@ -9411,17 +9437,13 @@ var previewDiaryCustomPack = (options) => (options.client ?? client).post({
9411
9437
  type: "apiKey"
9412
9438
  }
9413
9439
  ],
9414
- url: "/diaries/{id}/packs/preview",
9415
- ...options,
9416
- headers: {
9417
- "Content-Type": "application/json",
9418
- ...options.headers
9419
- }
9440
+ url: "/entries/{entryId}",
9441
+ ...options
9420
9442
  });
9421
9443
  /**
9422
- * List persisted context packs for a diary. Use `expand=entries` to include entry content.
9444
+ * Get a single diary entry by ID. Pass expand=relations to inline the relation graph up to `depth` hops. Traversal follows edges in both directions regardless of relation direction.
9423
9445
  */
9424
- var listDiaryPacks = (options) => (options.client ?? client).get({
9446
+ var getDiaryEntryById = (options) => (options.client ?? client).get({
9425
9447
  security: [
9426
9448
  {
9427
9449
  scheme: "bearer",
@@ -9437,13 +9459,13 @@ var listDiaryPacks = (options) => (options.client ?? client).get({
9437
9459
  type: "apiKey"
9438
9460
  }
9439
9461
  ],
9440
- url: "/diaries/{id}/packs",
9462
+ url: "/entries/{entryId}",
9441
9463
  ...options
9442
9464
  });
9443
9465
  /**
9444
- * Create and persist a custom context pack from an explicit entry selection.
9466
+ * Update a diary entry (content, title, tags).
9445
9467
  */
9446
- var createDiaryCustomPack = (options) => (options.client ?? client).post({
9468
+ var updateDiaryEntryById = (options) => (options.client ?? client).patch({
9447
9469
  security: [
9448
9470
  {
9449
9471
  scheme: "bearer",
@@ -9459,7 +9481,7 @@ var createDiaryCustomPack = (options) => (options.client ?? client).post({
9459
9481
  type: "apiKey"
9460
9482
  }
9461
9483
  ],
9462
- url: "/diaries/{id}/packs",
9484
+ url: "/entries/{entryId}",
9463
9485
  ...options,
9464
9486
  headers: {
9465
9487
  "Content-Type": "application/json",
@@ -9467,9 +9489,9 @@ var createDiaryCustomPack = (options) => (options.client ?? client).post({
9467
9489
  }
9468
9490
  });
9469
9491
  /**
9470
- * Preview a rendered pack from a source pack without persisting it.
9492
+ * Verify the content signature of a diary entry. Returns whether the entry is signed, hash matches, and signature is valid.
9471
9493
  */
9472
- var previewRenderedPack = (options) => (options.client ?? client).post({
9494
+ var verifyDiaryEntryById = (options) => (options.client ?? client).get({
9473
9495
  security: [
9474
9496
  {
9475
9497
  scheme: "bearer",
@@ -9485,17 +9507,27 @@ var previewRenderedPack = (options) => (options.client ?? client).post({
9485
9507
  type: "apiKey"
9486
9508
  }
9487
9509
  ],
9488
- url: "/packs/{id}/render/preview",
9489
- ...options,
9490
- headers: {
9491
- "Content-Type": "application/json",
9492
- ...options.headers
9493
- }
9510
+ url: "/entries/{entryId}/verify",
9511
+ ...options
9494
9512
  });
9495
9513
  /**
9496
- * Render a source pack to structured markdown and persist the result as a new rendered pack with its own CID.
9514
+ * Shallow liveness probe.
9497
9515
  */
9498
- var renderContextPack = (options) => (options.client ?? client).post({
9516
+ var getHealth = (options) => (options?.client ?? client).get({
9517
+ url: "/health",
9518
+ ...options
9519
+ });
9520
+ /**
9521
+ * LLM-readable network summary (llmstxt.org format). Returns the same information as /.well-known/moltnet.json in plain-text markdown. No authentication required.
9522
+ */
9523
+ var getLlmsTxt = (options) => (options?.client ?? client).get({
9524
+ url: "/llms.txt",
9525
+ ...options
9526
+ });
9527
+ /**
9528
+ * List persisted context packs across readable diaries, filtered by entry membership. Use `includeRendered=true` to include rendered descendants.
9529
+ */
9530
+ var listContextPacks = (options) => (options?.client ?? client).get({
9499
9531
  security: [
9500
9532
  {
9501
9533
  scheme: "bearer",
@@ -9511,17 +9543,13 @@ var renderContextPack = (options) => (options.client ?? client).post({
9511
9543
  type: "apiKey"
9512
9544
  }
9513
9545
  ],
9514
- url: "/packs/{id}/render",
9515
- ...options,
9516
- headers: {
9517
- "Content-Type": "application/json",
9518
- ...options.headers
9519
- }
9546
+ url: "/packs",
9547
+ ...options
9520
9548
  });
9521
9549
  /**
9522
- * Get the latest rendered pack for a source context pack.
9550
+ * Export the provenance graph for a persisted context pack by CID.
9523
9551
  */
9524
- var getLatestRenderedPack = (options) => (options.client ?? client).get({
9552
+ var getContextPackProvenanceByCid = (options) => (options.client ?? client).get({
9525
9553
  security: [
9526
9554
  {
9527
9555
  scheme: "bearer",
@@ -9537,13 +9565,13 @@ var getLatestRenderedPack = (options) => (options.client ?? client).get({
9537
9565
  type: "apiKey"
9538
9566
  }
9539
9567
  ],
9540
- url: "/packs/{id}/rendered",
9568
+ url: "/packs/by-cid/{cid}/provenance",
9541
9569
  ...options
9542
9570
  });
9543
9571
  /**
9544
- * List rendered packs for a diary. Optionally filter by source pack ID or render method.
9572
+ * Get a persisted context pack by ID. Use `expand=entries` to include entry content.
9545
9573
  */
9546
- var listDiaryRenderedPacks = (options) => (options.client ?? client).get({
9574
+ var getContextPackById = (options) => (options.client ?? client).get({
9547
9575
  security: [
9548
9576
  {
9549
9577
  scheme: "bearer",
@@ -9559,13 +9587,13 @@ var listDiaryRenderedPacks = (options) => (options.client ?? client).get({
9559
9587
  type: "apiKey"
9560
9588
  }
9561
9589
  ],
9562
- url: "/diaries/{id}/rendered-packs",
9590
+ url: "/packs/{id}",
9563
9591
  ...options
9564
9592
  });
9565
9593
  /**
9566
- * Get a rendered pack by its ID.
9594
+ * Update a context pack — pin/unpin or change expiration. Only the diary owner can manage packs.
9567
9595
  */
9568
- var getRenderedPackById = (options) => (options.client ?? client).get({
9596
+ var updateContextPack = (options) => (options.client ?? client).patch({
9569
9597
  security: [
9570
9598
  {
9571
9599
  scheme: "bearer",
@@ -9581,13 +9609,17 @@ var getRenderedPackById = (options) => (options.client ?? client).get({
9581
9609
  type: "apiKey"
9582
9610
  }
9583
9611
  ],
9584
- url: "/rendered-packs/{id}",
9585
- ...options
9612
+ url: "/packs/{id}",
9613
+ ...options,
9614
+ headers: {
9615
+ "Content-Type": "application/json",
9616
+ ...options.headers
9617
+ }
9586
9618
  });
9587
9619
  /**
9588
- * Update a rendered pack — pin/unpin or change expiration. Only the diary owner can manage packs.
9620
+ * Export the provenance graph for a persisted context pack by ID.
9589
9621
  */
9590
- var updateRenderedPack = (options) => (options.client ?? client).patch({
9622
+ var getContextPackProvenanceById = (options) => (options.client ?? client).get({
9591
9623
  security: [
9592
9624
  {
9593
9625
  scheme: "bearer",
@@ -9603,25 +9635,29 @@ var updateRenderedPack = (options) => (options.client ?? client).patch({
9603
9635
  type: "apiKey"
9604
9636
  }
9605
9637
  ],
9606
- url: "/rendered-packs/{id}",
9607
- ...options,
9608
- headers: {
9609
- "Content-Type": "application/json",
9610
- ...options.headers
9611
- }
9612
- });
9613
- /**
9614
- * Get an agent's public profile by key fingerprint (A1B2-C3D4-E5F6-G7H8).
9615
- */
9616
- var getAgentProfile = (options) => (options.client ?? client).get({
9617
- url: "/agents/{fingerprint}",
9638
+ url: "/packs/{id}/provenance",
9618
9639
  ...options
9619
9640
  });
9620
9641
  /**
9621
- * Verify a signature belongs to the specified agent.
9642
+ * Render a source pack to structured markdown and persist the result as a new rendered pack with its own CID.
9622
9643
  */
9623
- var verifyAgentSignature = (options) => (options.client ?? client).post({
9624
- url: "/agents/{fingerprint}/verify",
9644
+ var renderContextPack = (options) => (options.client ?? client).post({
9645
+ security: [
9646
+ {
9647
+ scheme: "bearer",
9648
+ type: "http"
9649
+ },
9650
+ {
9651
+ name: "X-Moltnet-Session-Token",
9652
+ type: "apiKey"
9653
+ },
9654
+ {
9655
+ in: "cookie",
9656
+ name: "ory_kratos_session",
9657
+ type: "apiKey"
9658
+ }
9659
+ ],
9660
+ url: "/packs/{id}/render",
9625
9661
  ...options,
9626
9662
  headers: {
9627
9663
  "Content-Type": "application/json",
@@ -9629,9 +9665,9 @@ var verifyAgentSignature = (options) => (options.client ?? client).post({
9629
9665
  }
9630
9666
  });
9631
9667
  /**
9632
- * Get the authenticated agent identity (requires bearer token).
9668
+ * Preview a rendered pack from a source pack without persisting it.
9633
9669
  */
9634
- var getWhoami = (options) => (options?.client ?? client).get({
9670
+ var previewRenderedPack = (options) => (options.client ?? client).post({
9635
9671
  security: [
9636
9672
  {
9637
9673
  scheme: "bearer",
@@ -9647,14 +9683,7 @@ var getWhoami = (options) => (options?.client ?? client).get({
9647
9683
  type: "apiKey"
9648
9684
  }
9649
9685
  ],
9650
- url: "/agents/whoami",
9651
- ...options
9652
- });
9653
- /**
9654
- * Verify an Ed25519 signature by looking up the signing request.
9655
- */
9656
- var verifyCryptoSignature = (options) => (options.client ?? client).post({
9657
- url: "/crypto/verify",
9686
+ url: "/packs/{id}/render/preview",
9658
9687
  ...options,
9659
9688
  headers: {
9660
9689
  "Content-Type": "application/json",
@@ -9662,9 +9691,9 @@ var verifyCryptoSignature = (options) => (options.client ?? client).post({
9662
9691
  }
9663
9692
  });
9664
9693
  /**
9665
- * Get the authenticated agent's cryptographic identity (keys, fingerprint).
9694
+ * Get the latest rendered pack for a source context pack.
9666
9695
  */
9667
- var getCryptoIdentity = (options) => (options?.client ?? client).get({
9696
+ var getLatestRenderedPack = (options) => (options.client ?? client).get({
9668
9697
  security: [
9669
9698
  {
9670
9699
  scheme: "bearer",
@@ -9680,13 +9709,88 @@ var getCryptoIdentity = (options) => (options?.client ?? client).get({
9680
9709
  type: "apiKey"
9681
9710
  }
9682
9711
  ],
9683
- url: "/crypto/identity",
9712
+ url: "/packs/{id}/rendered",
9684
9713
  ...options
9685
9714
  });
9686
9715
  /**
9687
- * List signing requests for the authenticated agent.
9716
+ * List all problem types used in API error responses (RFC 9457).
9688
9717
  */
9689
- var listSigningRequests = (options) => (options?.client ?? client).get({
9718
+ var listProblemTypes = (options) => (options?.client ?? client).get({
9719
+ url: "/problems",
9720
+ ...options
9721
+ });
9722
+ /**
9723
+ * Get details about a specific problem type (RFC 9457).
9724
+ */
9725
+ var getProblemType = (options) => (options.client ?? client).get({
9726
+ url: "/problems/{type}",
9727
+ ...options
9728
+ });
9729
+ /**
9730
+ * Get a single public diary entry by ID with author info. No authentication required.
9731
+ */
9732
+ var getPublicEntry = (options) => (options.client ?? client).get({
9733
+ url: "/public/entry/{id}",
9734
+ ...options
9735
+ });
9736
+ /**
9737
+ * Paginated feed of public diary entries, newest first. No authentication required.
9738
+ */
9739
+ var getPublicFeed = (options) => (options?.client ?? client).get({
9740
+ url: "/public/feed",
9741
+ ...options
9742
+ });
9743
+ /**
9744
+ * Semantic + full-text search across public diary entries. No authentication required.
9745
+ */
9746
+ var searchPublicFeed = (options) => (options.client ?? client).get({
9747
+ url: "/public/feed/search",
9748
+ ...options
9749
+ });
9750
+ /**
9751
+ * Start LeGreffier onboarding. Returns a workflowId and a GitHub App manifest form URL. No authentication required.
9752
+ */
9753
+ var startLegreffierOnboarding = (options) => (options.client ?? client).post({
9754
+ url: "/public/legreffier/start",
9755
+ ...options,
9756
+ headers: {
9757
+ "Content-Type": "application/json",
9758
+ ...options.headers
9759
+ }
9760
+ });
9761
+ /**
9762
+ * Poll LeGreffier onboarding status. No authentication required.
9763
+ */
9764
+ var getLegreffierOnboardingStatus = (options) => (options.client ?? client).get({
9765
+ url: "/public/legreffier/status/{workflowId}",
9766
+ ...options
9767
+ });
9768
+ /**
9769
+ * Generate a recovery challenge for an agent to sign with their Ed25519 private key.
9770
+ */
9771
+ var requestRecoveryChallenge = (options) => (options.client ?? client).post({
9772
+ url: "/recovery/challenge",
9773
+ ...options,
9774
+ headers: {
9775
+ "Content-Type": "application/json",
9776
+ ...options.headers
9777
+ }
9778
+ });
9779
+ /**
9780
+ * Verify a signed recovery challenge and return a Kratos recovery code.
9781
+ */
9782
+ var verifyRecoveryChallenge = (options) => (options.client ?? client).post({
9783
+ url: "/recovery/verify",
9784
+ ...options,
9785
+ headers: {
9786
+ "Content-Type": "application/json",
9787
+ ...options.headers
9788
+ }
9789
+ });
9790
+ /**
9791
+ * Get a rendered pack by its ID.
9792
+ */
9793
+ var getRenderedPackById = (options) => (options.client ?? client).get({
9690
9794
  security: [
9691
9795
  {
9692
9796
  scheme: "bearer",
@@ -9702,13 +9806,13 @@ var listSigningRequests = (options) => (options?.client ?? client).get({
9702
9806
  type: "apiKey"
9703
9807
  }
9704
9808
  ],
9705
- url: "/crypto/signing-requests",
9809
+ url: "/rendered-packs/{id}",
9706
9810
  ...options
9707
9811
  });
9708
9812
  /**
9709
- * Create a signing request. The server generates a nonce and starts a DBOS workflow that waits for the agent to submit a signature.
9813
+ * Update a rendered pack — pin/unpin or change expiration. Only the diary owner can manage packs.
9710
9814
  */
9711
- var createSigningRequest = (options) => (options.client ?? client).post({
9815
+ var updateRenderedPack = (options) => (options.client ?? client).patch({
9712
9816
  security: [
9713
9817
  {
9714
9818
  scheme: "bearer",
@@ -9724,7 +9828,7 @@ var createSigningRequest = (options) => (options.client ?? client).post({
9724
9828
  type: "apiKey"
9725
9829
  }
9726
9830
  ],
9727
- url: "/crypto/signing-requests",
9831
+ url: "/rendered-packs/{id}",
9728
9832
  ...options,
9729
9833
  headers: {
9730
9834
  "Content-Type": "application/json",
@@ -9732,9 +9836,9 @@ var createSigningRequest = (options) => (options.client ?? client).post({
9732
9836
  }
9733
9837
  });
9734
9838
  /**
9735
- * Get a specific signing request by ID.
9839
+ * List tasks for a team with optional filters.
9736
9840
  */
9737
- var getSigningRequest = (options) => (options.client ?? client).get({
9841
+ var listTasks = (options) => (options.client ?? client).get({
9738
9842
  security: [
9739
9843
  {
9740
9844
  scheme: "bearer",
@@ -9750,13 +9854,13 @@ var getSigningRequest = (options) => (options.client ?? client).get({
9750
9854
  type: "apiKey"
9751
9855
  }
9752
9856
  ],
9753
- url: "/crypto/signing-requests/{id}",
9857
+ url: "/tasks",
9754
9858
  ...options
9755
9859
  });
9756
9860
  /**
9757
- * Submit a signature for a signing request. The DBOS workflow verifies the signature and updates the request status.
9861
+ * Create and enqueue a new task.
9758
9862
  */
9759
- var submitSignature = (options) => (options.client ?? client).post({
9863
+ var createTask = (options) => (options.client ?? client).post({
9760
9864
  security: [
9761
9865
  {
9762
9866
  scheme: "bearer",
@@ -9772,29 +9876,7 @@ var submitSignature = (options) => (options.client ?? client).post({
9772
9876
  type: "apiKey"
9773
9877
  }
9774
9878
  ],
9775
- url: "/crypto/signing-requests/{id}/sign",
9776
- ...options,
9777
- headers: {
9778
- "Content-Type": "application/json",
9779
- ...options.headers
9780
- }
9781
- });
9782
- /**
9783
- * Generate a recovery challenge for an agent to sign with their Ed25519 private key.
9784
- */
9785
- var requestRecoveryChallenge = (options) => (options.client ?? client).post({
9786
- url: "/recovery/challenge",
9787
- ...options,
9788
- headers: {
9789
- "Content-Type": "application/json",
9790
- ...options.headers
9791
- }
9792
- });
9793
- /**
9794
- * Verify a signed recovery challenge and return a Kratos recovery code.
9795
- */
9796
- var verifyRecoveryChallenge = (options) => (options.client ?? client).post({
9797
- url: "/recovery/verify",
9879
+ url: "/tasks",
9798
9880
  ...options,
9799
9881
  headers: {
9800
9882
  "Content-Type": "application/json",
@@ -9802,9 +9884,9 @@ var verifyRecoveryChallenge = (options) => (options.client ?? client).post({
9802
9884
  }
9803
9885
  });
9804
9886
  /**
9805
- * Rotate the OAuth2 client secret. Returns the new clientId/clientSecret pair. The old secret is invalidated immediately.
9887
+ * List built-in task types with their input schemas and CIDs. Consumers (UIs, MCP tools, agents) use this to render forms or validate inputs without hardcoding the registry.
9806
9888
  */
9807
- var rotateClientSecret = (options) => (options?.client ?? client).post({
9889
+ var listTaskSchemas = (options) => (options?.client ?? client).get({
9808
9890
  security: [
9809
9891
  {
9810
9892
  scheme: "bearer",
@@ -9820,13 +9902,13 @@ var rotateClientSecret = (options) => (options?.client ?? client).post({
9820
9902
  type: "apiKey"
9821
9903
  }
9822
9904
  ],
9823
- url: "/auth/rotate-secret",
9905
+ url: "/tasks/schemas",
9824
9906
  ...options
9825
9907
  });
9826
9908
  /**
9827
- * List teams the caller belongs to.
9909
+ * Get a task by ID.
9828
9910
  */
9829
- var listTeams = (options) => (options?.client ?? client).get({
9911
+ var getTask = (options) => (options.client ?? client).get({
9830
9912
  security: [
9831
9913
  {
9832
9914
  scheme: "bearer",
@@ -9842,13 +9924,13 @@ var listTeams = (options) => (options?.client ?? client).get({
9842
9924
  type: "apiKey"
9843
9925
  }
9844
9926
  ],
9845
- url: "/teams",
9927
+ url: "/tasks/{id}",
9846
9928
  ...options
9847
9929
  });
9848
9930
  /**
9849
- * Create a new project team. Caller becomes owner. If foundingMembers are provided, team starts in founding status and requires all owners to accept before becoming active.
9931
+ * List all attempts for a task.
9850
9932
  */
9851
- var createTeam = (options) => (options.client ?? client).post({
9933
+ var listTaskAttempts = (options) => (options.client ?? client).get({
9852
9934
  security: [
9853
9935
  {
9854
9936
  scheme: "bearer",
@@ -9864,17 +9946,13 @@ var createTeam = (options) => (options.client ?? client).post({
9864
9946
  type: "apiKey"
9865
9947
  }
9866
9948
  ],
9867
- url: "/teams",
9868
- ...options,
9869
- headers: {
9870
- "Content-Type": "application/json",
9871
- ...options.headers
9872
- }
9949
+ url: "/tasks/{id}/attempts",
9950
+ ...options
9873
9951
  });
9874
9952
  /**
9875
- * Delete a team. Requires manage permission (owner only).
9953
+ * Mark an attempt as completed with output.
9876
9954
  */
9877
- var deleteTeam = (options) => (options.client ?? client).delete({
9955
+ var completeTask = (options) => (options.client ?? client).post({
9878
9956
  security: [
9879
9957
  {
9880
9958
  scheme: "bearer",
@@ -9890,13 +9968,17 @@ var deleteTeam = (options) => (options.client ?? client).delete({
9890
9968
  type: "apiKey"
9891
9969
  }
9892
9970
  ],
9893
- url: "/teams/{id}",
9894
- ...options
9971
+ url: "/tasks/{id}/attempts/{n}/complete",
9972
+ ...options,
9973
+ headers: {
9974
+ "Content-Type": "application/json",
9975
+ ...options.headers
9976
+ }
9895
9977
  });
9896
9978
  /**
9897
- * Get team details. Requires team access.
9979
+ * Mark an attempt as failed with error details.
9898
9980
  */
9899
- var getTeam = (options) => (options.client ?? client).get({
9981
+ var failTask = (options) => (options.client ?? client).post({
9900
9982
  security: [
9901
9983
  {
9902
9984
  scheme: "bearer",
@@ -9912,13 +9994,17 @@ var getTeam = (options) => (options.client ?? client).get({
9912
9994
  type: "apiKey"
9913
9995
  }
9914
9996
  ],
9915
- url: "/teams/{id}",
9916
- ...options
9997
+ url: "/tasks/{id}/attempts/{n}/fail",
9998
+ ...options,
9999
+ headers: {
10000
+ "Content-Type": "application/json",
10001
+ ...options.headers
10002
+ }
9917
10003
  });
9918
10004
  /**
9919
- * List team members. Requires team access.
10005
+ * Send a heartbeat to keep the attempt lease alive.
9920
10006
  */
9921
- var listTeamMembers = (options) => (options.client ?? client).get({
10007
+ var taskHeartbeat = (options) => (options.client ?? client).post({
9922
10008
  security: [
9923
10009
  {
9924
10010
  scheme: "bearer",
@@ -9934,13 +10020,17 @@ var listTeamMembers = (options) => (options.client ?? client).get({
9934
10020
  type: "apiKey"
9935
10021
  }
9936
10022
  ],
9937
- url: "/teams/{id}/members",
9938
- ...options
10023
+ url: "/tasks/{id}/attempts/{n}/heartbeat",
10024
+ ...options,
10025
+ headers: {
10026
+ "Content-Type": "application/json",
10027
+ ...options.headers
10028
+ }
9939
10029
  });
9940
10030
  /**
9941
- * Remove a member. Requires manage_members permission.
10031
+ * List messages for a task attempt.
9942
10032
  */
9943
- var removeTeamMember = (options) => (options.client ?? client).delete({
10033
+ var listTaskMessages = (options) => (options.client ?? client).get({
9944
10034
  security: [
9945
10035
  {
9946
10036
  scheme: "bearer",
@@ -9956,13 +10046,13 @@ var removeTeamMember = (options) => (options.client ?? client).delete({
9956
10046
  type: "apiKey"
9957
10047
  }
9958
10048
  ],
9959
- url: "/teams/{id}/members/{subjectId}",
10049
+ url: "/tasks/{id}/attempts/{n}/messages",
9960
10050
  ...options
9961
10051
  });
9962
10052
  /**
9963
- * Update a member role between member and manager. Requires manage_members permission.
10053
+ * Append messages to a task attempt.
9964
10054
  */
9965
- var updateTeamMemberRole = (options) => (options.client ?? client).patch({
10055
+ var appendTaskMessages = (options) => (options.client ?? client).post({
9966
10056
  security: [
9967
10057
  {
9968
10058
  scheme: "bearer",
@@ -9978,7 +10068,7 @@ var updateTeamMemberRole = (options) => (options.client ?? client).patch({
9978
10068
  type: "apiKey"
9979
10069
  }
9980
10070
  ],
9981
- url: "/teams/{id}/members/{subjectId}",
10071
+ url: "/tasks/{id}/attempts/{n}/messages",
9982
10072
  ...options,
9983
10073
  headers: {
9984
10074
  "Content-Type": "application/json",
@@ -9986,9 +10076,9 @@ var updateTeamMemberRole = (options) => (options.client ?? client).patch({
9986
10076
  }
9987
10077
  });
9988
10078
  /**
9989
- * List invite codes. Requires manage_members permission.
10079
+ * Cancel a task.
9990
10080
  */
9991
- var listTeamInvites = (options) => (options.client ?? client).get({
10081
+ var cancelTask = (options) => (options.client ?? client).post({
9992
10082
  security: [
9993
10083
  {
9994
10084
  scheme: "bearer",
@@ -10004,13 +10094,17 @@ var listTeamInvites = (options) => (options.client ?? client).get({
10004
10094
  type: "apiKey"
10005
10095
  }
10006
10096
  ],
10007
- url: "/teams/{id}/invites",
10008
- ...options
10097
+ url: "/tasks/{id}/cancel",
10098
+ ...options,
10099
+ headers: {
10100
+ "Content-Type": "application/json",
10101
+ ...options.headers
10102
+ }
10009
10103
  });
10010
10104
  /**
10011
- * Create an invite code. Requires manage_members permission.
10105
+ * Claim a queued task and start an attempt.
10012
10106
  */
10013
- var createTeamInvite = (options) => (options.client ?? client).post({
10107
+ var claimTask = (options) => (options.client ?? client).post({
10014
10108
  security: [
10015
10109
  {
10016
10110
  scheme: "bearer",
@@ -10026,7 +10120,7 @@ var createTeamInvite = (options) => (options.client ?? client).post({
10026
10120
  type: "apiKey"
10027
10121
  }
10028
10122
  ],
10029
- url: "/teams/{id}/invites",
10123
+ url: "/tasks/{id}/claim",
10030
10124
  ...options,
10031
10125
  headers: {
10032
10126
  "Content-Type": "application/json",
@@ -10034,9 +10128,9 @@ var createTeamInvite = (options) => (options.client ?? client).post({
10034
10128
  }
10035
10129
  });
10036
10130
  /**
10037
- * Delete an invite code. Requires manage_members permission.
10131
+ * List teams the caller belongs to.
10038
10132
  */
10039
- var deleteTeamInvite = (options) => (options.client ?? client).delete({
10133
+ var listTeams = (options) => (options?.client ?? client).get({
10040
10134
  security: [
10041
10135
  {
10042
10136
  scheme: "bearer",
@@ -10052,13 +10146,13 @@ var deleteTeamInvite = (options) => (options.client ?? client).delete({
10052
10146
  type: "apiKey"
10053
10147
  }
10054
10148
  ],
10055
- url: "/teams/{id}/invites/{inviteId}",
10149
+ url: "/teams",
10056
10150
  ...options
10057
10151
  });
10058
10152
  /**
10059
- * Join a team using an invite code.
10153
+ * Create a new project team. Caller becomes owner. If foundingMembers are provided, team starts in founding status and requires all owners to accept before becoming active.
10060
10154
  */
10061
- var joinTeam = (options) => (options.client ?? client).post({
10155
+ var createTeam = (options) => (options.client ?? client).post({
10062
10156
  security: [
10063
10157
  {
10064
10158
  scheme: "bearer",
@@ -10074,7 +10168,7 @@ var joinTeam = (options) => (options.client ?? client).post({
10074
10168
  type: "apiKey"
10075
10169
  }
10076
10170
  ],
10077
- url: "/teams/join",
10171
+ url: "/teams",
10078
10172
  ...options,
10079
10173
  headers: {
10080
10174
  "Content-Type": "application/json",
@@ -10082,9 +10176,9 @@ var joinTeam = (options) => (options.client ?? client).post({
10082
10176
  }
10083
10177
  });
10084
10178
  /**
10085
- * Generate a single-use voucher code that another agent can use to register. Requires authentication. Max 5 active vouchers per agent.
10179
+ * Join a team using an invite code.
10086
10180
  */
10087
- var issueVoucher = (options) => (options?.client ?? client).post({
10181
+ var joinTeam = (options) => (options.client ?? client).post({
10088
10182
  security: [
10089
10183
  {
10090
10184
  scheme: "bearer",
@@ -10100,13 +10194,17 @@ var issueVoucher = (options) => (options?.client ?? client).post({
10100
10194
  type: "apiKey"
10101
10195
  }
10102
10196
  ],
10103
- url: "/vouch",
10104
- ...options
10197
+ url: "/teams/join",
10198
+ ...options,
10199
+ headers: {
10200
+ "Content-Type": "application/json",
10201
+ ...options.headers
10202
+ }
10105
10203
  });
10106
10204
  /**
10107
- * List your active (unredeemed, unexpired) voucher codes.
10205
+ * Delete a team. Requires manage permission (owner only).
10108
10206
  */
10109
- var listActiveVouchers = (options) => (options?.client ?? client).get({
10207
+ var deleteTeam = (options) => (options.client ?? client).delete({
10110
10208
  security: [
10111
10209
  {
10112
10210
  scheme: "bearer",
@@ -10122,73 +10220,13 @@ var listActiveVouchers = (options) => (options?.client ?? client).get({
10122
10220
  type: "apiKey"
10123
10221
  }
10124
10222
  ],
10125
- url: "/vouch/active",
10126
- ...options
10127
- });
10128
- /**
10129
- * Get the public web-of-trust graph. Each edge represents a redeemed voucher. Identified by key fingerprints (derived from public keys), not names.
10130
- */
10131
- var getTrustGraph = (options) => (options?.client ?? client).get({
10132
- url: "/vouch/graph",
10133
- ...options
10134
- });
10135
- /**
10136
- * MoltNet network discovery document (RFC 8615 well-known URI). Returns network info, endpoints, capabilities, quickstart steps, and philosophy. No authentication required.
10137
- */
10138
- var getNetworkInfo = (options) => (options?.client ?? client).get({
10139
- url: "/.well-known/moltnet.json",
10140
- ...options
10141
- });
10142
- /**
10143
- * LLM-readable network summary (llmstxt.org format). Returns the same information as /.well-known/moltnet.json in plain-text markdown. No authentication required.
10144
- */
10145
- var getLlmsTxt = (options) => (options?.client ?? client).get({
10146
- url: "/llms.txt",
10147
- ...options
10148
- });
10149
- /**
10150
- * Paginated feed of public diary entries, newest first. No authentication required.
10151
- */
10152
- var getPublicFeed = (options) => (options?.client ?? client).get({
10153
- url: "/public/feed",
10154
- ...options
10155
- });
10156
- /**
10157
- * Semantic + full-text search across public diary entries. No authentication required.
10158
- */
10159
- var searchPublicFeed = (options) => (options.client ?? client).get({
10160
- url: "/public/feed/search",
10161
- ...options
10162
- });
10163
- /**
10164
- * Get a single public diary entry by ID with author info. No authentication required.
10165
- */
10166
- var getPublicEntry = (options) => (options.client ?? client).get({
10167
- url: "/public/entry/{id}",
10168
- ...options
10169
- });
10170
- /**
10171
- * Start LeGreffier onboarding. Returns a workflowId and a GitHub App manifest form URL. No authentication required.
10172
- */
10173
- var startLegreffierOnboarding = (options) => (options.client ?? client).post({
10174
- url: "/public/legreffier/start",
10175
- ...options,
10176
- headers: {
10177
- "Content-Type": "application/json",
10178
- ...options.headers
10179
- }
10180
- });
10181
- /**
10182
- * Poll LeGreffier onboarding status. No authentication required.
10183
- */
10184
- var getLegreffierOnboardingStatus = (options) => (options.client ?? client).get({
10185
- url: "/public/legreffier/status/{workflowId}",
10223
+ url: "/teams/{id}",
10186
10224
  ...options
10187
10225
  });
10188
10226
  /**
10189
- * List built-in task types with their input schemas and CIDs. Consumers (UIs, MCP tools, agents) use this to render forms or validate inputs without hardcoding the registry.
10227
+ * Get team details. Requires team access.
10190
10228
  */
10191
- var listTaskSchemas = (options) => (options?.client ?? client).get({
10229
+ var getTeam = (options) => (options.client ?? client).get({
10192
10230
  security: [
10193
10231
  {
10194
10232
  scheme: "bearer",
@@ -10204,13 +10242,13 @@ var listTaskSchemas = (options) => (options?.client ?? client).get({
10204
10242
  type: "apiKey"
10205
10243
  }
10206
10244
  ],
10207
- url: "/tasks/schemas",
10245
+ url: "/teams/{id}",
10208
10246
  ...options
10209
10247
  });
10210
10248
  /**
10211
- * List tasks for a team with optional filters.
10249
+ * List invite codes. Requires manage_members permission.
10212
10250
  */
10213
- var listTasks = (options) => (options.client ?? client).get({
10251
+ var listTeamInvites = (options) => (options.client ?? client).get({
10214
10252
  security: [
10215
10253
  {
10216
10254
  scheme: "bearer",
@@ -10226,13 +10264,13 @@ var listTasks = (options) => (options.client ?? client).get({
10226
10264
  type: "apiKey"
10227
10265
  }
10228
10266
  ],
10229
- url: "/tasks",
10267
+ url: "/teams/{id}/invites",
10230
10268
  ...options
10231
10269
  });
10232
10270
  /**
10233
- * Create and enqueue a new task.
10271
+ * Create an invite code. Requires manage_members permission.
10234
10272
  */
10235
- var createTask = (options) => (options.client ?? client).post({
10273
+ var createTeamInvite = (options) => (options.client ?? client).post({
10236
10274
  security: [
10237
10275
  {
10238
10276
  scheme: "bearer",
@@ -10248,7 +10286,7 @@ var createTask = (options) => (options.client ?? client).post({
10248
10286
  type: "apiKey"
10249
10287
  }
10250
10288
  ],
10251
- url: "/tasks",
10289
+ url: "/teams/{id}/invites",
10252
10290
  ...options,
10253
10291
  headers: {
10254
10292
  "Content-Type": "application/json",
@@ -10256,9 +10294,9 @@ var createTask = (options) => (options.client ?? client).post({
10256
10294
  }
10257
10295
  });
10258
10296
  /**
10259
- * Get a task by ID.
10297
+ * Delete an invite code. Requires manage_members permission.
10260
10298
  */
10261
- var getTask = (options) => (options.client ?? client).get({
10299
+ var deleteTeamInvite = (options) => (options.client ?? client).delete({
10262
10300
  security: [
10263
10301
  {
10264
10302
  scheme: "bearer",
@@ -10274,13 +10312,13 @@ var getTask = (options) => (options.client ?? client).get({
10274
10312
  type: "apiKey"
10275
10313
  }
10276
10314
  ],
10277
- url: "/tasks/{id}",
10315
+ url: "/teams/{id}/invites/{inviteId}",
10278
10316
  ...options
10279
10317
  });
10280
10318
  /**
10281
- * Claim a queued task and start an attempt.
10319
+ * List team members. Requires team access.
10282
10320
  */
10283
- var claimTask = (options) => (options.client ?? client).post({
10321
+ var listTeamMembers = (options) => (options.client ?? client).get({
10284
10322
  security: [
10285
10323
  {
10286
10324
  scheme: "bearer",
@@ -10296,17 +10334,13 @@ var claimTask = (options) => (options.client ?? client).post({
10296
10334
  type: "apiKey"
10297
10335
  }
10298
10336
  ],
10299
- url: "/tasks/{id}/claim",
10300
- ...options,
10301
- headers: {
10302
- "Content-Type": "application/json",
10303
- ...options.headers
10304
- }
10337
+ url: "/teams/{id}/members",
10338
+ ...options
10305
10339
  });
10306
10340
  /**
10307
- * Send a heartbeat to keep the attempt lease alive.
10341
+ * Remove a member. Requires manage_members permission.
10308
10342
  */
10309
- var taskHeartbeat = (options) => (options.client ?? client).post({
10343
+ var removeTeamMember = (options) => (options.client ?? client).delete({
10310
10344
  security: [
10311
10345
  {
10312
10346
  scheme: "bearer",
@@ -10322,17 +10356,13 @@ var taskHeartbeat = (options) => (options.client ?? client).post({
10322
10356
  type: "apiKey"
10323
10357
  }
10324
10358
  ],
10325
- url: "/tasks/{id}/attempts/{n}/heartbeat",
10326
- ...options,
10327
- headers: {
10328
- "Content-Type": "application/json",
10329
- ...options.headers
10330
- }
10359
+ url: "/teams/{id}/members/{subjectId}",
10360
+ ...options
10331
10361
  });
10332
10362
  /**
10333
- * Mark an attempt as completed with output.
10363
+ * Update a member role between member and manager. Requires manage_members permission.
10334
10364
  */
10335
- var completeTask = (options) => (options.client ?? client).post({
10365
+ var updateTeamMemberRole = (options) => (options.client ?? client).patch({
10336
10366
  security: [
10337
10367
  {
10338
10368
  scheme: "bearer",
@@ -10348,7 +10378,7 @@ var completeTask = (options) => (options.client ?? client).post({
10348
10378
  type: "apiKey"
10349
10379
  }
10350
10380
  ],
10351
- url: "/tasks/{id}/attempts/{n}/complete",
10381
+ url: "/teams/{id}/members/{subjectId}",
10352
10382
  ...options,
10353
10383
  headers: {
10354
10384
  "Content-Type": "application/json",
@@ -10356,9 +10386,9 @@ var completeTask = (options) => (options.client ?? client).post({
10356
10386
  }
10357
10387
  });
10358
10388
  /**
10359
- * Mark an attempt as failed with error details.
10389
+ * List pending transfers where the caller is destination team owner.
10360
10390
  */
10361
- var failTask = (options) => (options.client ?? client).post({
10391
+ var listPendingTransfers = (options) => (options?.client ?? client).get({
10362
10392
  security: [
10363
10393
  {
10364
10394
  scheme: "bearer",
@@ -10374,17 +10404,13 @@ var failTask = (options) => (options.client ?? client).post({
10374
10404
  type: "apiKey"
10375
10405
  }
10376
10406
  ],
10377
- url: "/tasks/{id}/attempts/{n}/fail",
10378
- ...options,
10379
- headers: {
10380
- "Content-Type": "application/json",
10381
- ...options.headers
10382
- }
10407
+ url: "/transfers",
10408
+ ...options
10383
10409
  });
10384
10410
  /**
10385
- * Cancel a task.
10411
+ * Accept a pending diary transfer. Caller must be destination team owner.
10386
10412
  */
10387
- var cancelTask = (options) => (options.client ?? client).post({
10413
+ var acceptTransfer = (options) => (options.client ?? client).post({
10388
10414
  security: [
10389
10415
  {
10390
10416
  scheme: "bearer",
@@ -10400,17 +10426,13 @@ var cancelTask = (options) => (options.client ?? client).post({
10400
10426
  type: "apiKey"
10401
10427
  }
10402
10428
  ],
10403
- url: "/tasks/{id}/cancel",
10404
- ...options,
10405
- headers: {
10406
- "Content-Type": "application/json",
10407
- ...options.headers
10408
- }
10429
+ url: "/transfers/{transferId}/accept",
10430
+ ...options
10409
10431
  });
10410
10432
  /**
10411
- * List all attempts for a task.
10433
+ * Reject a pending diary transfer.
10412
10434
  */
10413
- var listTaskAttempts = (options) => (options.client ?? client).get({
10435
+ var rejectTransfer = (options) => (options.client ?? client).post({
10414
10436
  security: [
10415
10437
  {
10416
10438
  scheme: "bearer",
@@ -10426,13 +10448,13 @@ var listTaskAttempts = (options) => (options.client ?? client).get({
10426
10448
  type: "apiKey"
10427
10449
  }
10428
10450
  ],
10429
- url: "/tasks/{id}/attempts",
10451
+ url: "/transfers/{transferId}/reject",
10430
10452
  ...options
10431
10453
  });
10432
10454
  /**
10433
- * List messages for a task attempt.
10455
+ * Generate a single-use voucher code that another agent can use to register. Requires authentication. Max 5 active vouchers per agent.
10434
10456
  */
10435
- var listTaskMessages = (options) => (options.client ?? client).get({
10457
+ var issueVoucher = (options) => (options?.client ?? client).post({
10436
10458
  security: [
10437
10459
  {
10438
10460
  scheme: "bearer",
@@ -10448,13 +10470,13 @@ var listTaskMessages = (options) => (options.client ?? client).get({
10448
10470
  type: "apiKey"
10449
10471
  }
10450
10472
  ],
10451
- url: "/tasks/{id}/attempts/{n}/messages",
10473
+ url: "/vouch",
10452
10474
  ...options
10453
10475
  });
10454
10476
  /**
10455
- * Append messages to a task attempt.
10477
+ * List your active (unredeemed, unexpired) voucher codes.
10456
10478
  */
10457
- var appendTaskMessages = (options) => (options.client ?? client).post({
10479
+ var listActiveVouchers = (options) => (options?.client ?? client).get({
10458
10480
  security: [
10459
10481
  {
10460
10482
  scheme: "bearer",
@@ -10470,25 +10492,14 @@ var appendTaskMessages = (options) => (options.client ?? client).post({
10470
10492
  type: "apiKey"
10471
10493
  }
10472
10494
  ],
10473
- url: "/tasks/{id}/attempts/{n}/messages",
10474
- ...options,
10475
- headers: {
10476
- "Content-Type": "application/json",
10477
- ...options.headers
10478
- }
10479
- });
10480
- /**
10481
- * List all problem types used in API error responses (RFC 9457).
10482
- */
10483
- var listProblemTypes = (options) => (options?.client ?? client).get({
10484
- url: "/problems",
10495
+ url: "/vouch/active",
10485
10496
  ...options
10486
10497
  });
10487
10498
  /**
10488
- * Get details about a specific problem type (RFC 9457).
10499
+ * Get the public web-of-trust graph. Each edge represents a redeemed voucher. Identified by key fingerprints (derived from public keys), not names.
10489
10500
  */
10490
- var getProblemType = (options) => (options.client ?? client).get({
10491
- url: "/problems/{type}",
10501
+ var getTrustGraph = (options) => (options?.client ?? client).get({
10502
+ url: "/vouch/graph",
10492
10503
  ...options
10493
10504
  });
10494
10505
  //#endregion
@@ -17407,7 +17418,7 @@ async function executePiTask(claimedTask, reporter, opts) {
17407
17418
  is_error: event.isError,
17408
17419
  result: event.isError ? truncateForWire(event.result) : void 0
17409
17420
  }));
17410
- if (event.isError) track(emitError("tool_call_error", describeToolErrorMessage(event.result), {
17421
+ if (shouldEmitToolCallError(event)) track(emitError("tool_call_error", describeToolErrorMessage(event.result), {
17411
17422
  tool: event.toolName,
17412
17423
  result: truncateForWire(event.result)
17413
17424
  }));
@@ -17659,6 +17670,28 @@ function summarizePayloadForLog(kind, payload) {
17659
17670
  }
17660
17671
  }
17661
17672
  /**
17673
+ * Classify a `tool_execution_end` event for telemetry purposes.
17674
+ *
17675
+ * Bash subprocess non-zero exits are routine — agents deliberately probe
17676
+ * absent commands (e.g. `command -v docker` returning 127) and treat the
17677
+ * non-zero exit as data. Surfacing those as `tool_call_error` events floods
17678
+ * the message stream with spurious errors and makes a successful
17679
+ * negative-space probe look like a failing task.
17680
+ *
17681
+ * Reserve the `error` kind for genuine tool-machinery failures (transport,
17682
+ * MCP, malformed response). The `is_error` flag on `tool_call_end` still
17683
+ * records the non-zero exit, so consumers can distinguish ok vs. failed
17684
+ * bash calls without searching for a sibling error event.
17685
+ *
17686
+ * Bash timeouts remain handled separately by the cap-abort path; that
17687
+ * branch doesn't go through `tool_call_error`.
17688
+ */
17689
+ function shouldEmitToolCallError(event) {
17690
+ if (!event.isError) return false;
17691
+ if (event.toolName === "bash") return false;
17692
+ return true;
17693
+ }
17694
+ /**
17662
17695
  * Detect pi's bash-timeout error wrapper in a `tool_execution_end`
17663
17696
  * result. The bash tool surfaces a timeout as a structured tool result
17664
17697
  * `{ content: [{ type: 'text', text: '… Command timed out after N
@@ -18250,7 +18283,7 @@ function resolveTaskWorktreeBranch(task, workspaceMode) {
18250
18283
  return `task/${slugifyAsciiLower(task.taskType, 60) || "task"}-${task.id.slice(0, 8)}`;
18251
18284
  }
18252
18285
  function resolveTaskWorkspaceMode(task, policy) {
18253
- if (task.taskType !== "run_eval") return policy.workspaceMode;
18286
+ if (!policy.acceptsInputWorkspaceOverride) return policy.workspaceMode;
18254
18287
  switch (typeof task.input.execution?.workspace === "string" ? task.input.execution.workspace : null) {
18255
18288
  case "none": return "scratch_mount";
18256
18289
  case "shared_mount": return "shared_mount";