@amaster.ai/employee-runtime-connector 0.1.1-beta.301 → 0.1.1-beta.303

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.
@@ -12200,10 +12200,11 @@ var ceoProjectedBusinessContextSchema = external_exports.object({
12200
12200
  });
12201
12201
  }
12202
12202
  });
12203
+ var ceoPeriodicAgentOutputDeliveryIntentSchema = external_exports.object({
12204
+ kind: external_exports.literal("agent_output")
12205
+ }).strict();
12203
12206
  var ceoPeriodicDeliveryIntentSchema = external_exports.discriminatedUnion("kind", [
12204
- external_exports.object({
12205
- kind: external_exports.literal("agent_output")
12206
- }).strict(),
12207
+ ceoPeriodicAgentOutputDeliveryIntentSchema,
12207
12208
  external_exports.object({
12208
12209
  kind: external_exports.literal("board_resolution"),
12209
12210
  decisionContract: external_exports.object({
@@ -12213,11 +12214,11 @@ var ceoPeriodicDeliveryIntentSchema = external_exports.discriminatedUnion("kind"
12213
12214
  }).strict()
12214
12215
  }).strict()
12215
12216
  ]);
12216
- var ceoPeriodicAcceptanceIdentitySchema = external_exports.object({
12217
+ var ceoPeriodicAcceptanceIdentityShape = {
12217
12218
  deliverableKinds: external_exports.array(external_exports.enum(ISSUE_DELIVERY_ALLOWED_KINDS)).min(1).max(4),
12218
- conditionCodes: external_exports.array(external_exports.string().trim().regex(/^[a-z0-9][a-z0-9._-]{0,127}$/u)).min(1).max(10),
12219
- deliveryIntent: ceoPeriodicDeliveryIntentSchema
12220
- }).strict().superRefine((value, ctx) => {
12219
+ conditionCodes: external_exports.array(external_exports.string().trim().regex(/^[a-z0-9][a-z0-9._-]{0,127}$/u)).min(1).max(10)
12220
+ };
12221
+ function validateCeoPeriodicAcceptanceIdentity(value, ctx) {
12221
12222
  const kinds = new Set(value.deliverableKinds);
12222
12223
  if (value.deliveryIntent.kind === "agent_output") {
12223
12224
  if (kinds.has("decision")) {
@@ -12243,7 +12244,15 @@ var ceoPeriodicAcceptanceIdentitySchema = external_exports.object({
12243
12244
  message: "board_resolution currently requires decision-only delivery"
12244
12245
  });
12245
12246
  }
12246
- });
12247
+ }
12248
+ var ceoPeriodicAcceptanceIdentitySchema = external_exports.object({
12249
+ ...ceoPeriodicAcceptanceIdentityShape,
12250
+ deliveryIntent: ceoPeriodicDeliveryIntentSchema
12251
+ }).strict().superRefine(validateCeoPeriodicAcceptanceIdentity);
12252
+ var ceoPeriodicReachableAcceptanceIdentitySchema = external_exports.object({
12253
+ ...ceoPeriodicAcceptanceIdentityShape,
12254
+ deliveryIntent: ceoPeriodicAgentOutputDeliveryIntentSchema
12255
+ }).strict().superRefine(validateCeoPeriodicAcceptanceIdentity);
12247
12256
  var ceoPeriodicRoutingRosterEntrySchema = external_exports.object({
12248
12257
  agentId: external_exports.string().uuid(),
12249
12258
  roleSlot: external_exports.object({
@@ -12350,6 +12359,23 @@ var ceoPeriodicDiscoveredWorkInputSchema = external_exports.union([
12350
12359
  ceoPeriodicStructuredDiscoveredWorkInputSchema,
12351
12360
  ceoPeriodicLegacyDiscoveredWorkInputSchema
12352
12361
  ]);
12362
+ var ceoPeriodicReachableLegacyDiscoveredWorkInputSchema = external_exports.object({
12363
+ ...ceoPeriodicDiscoveredWorkInputShape,
12364
+ acceptanceIdentity: ceoPeriodicReachableAcceptanceIdentitySchema,
12365
+ workKind: external_exports.string().trim().regex(/^[a-z0-9][a-z0-9._-]{0,127}$/u)
12366
+ }).strict().superRefine(validateCeoPeriodicDiscoveredWorkShape);
12367
+ var ceoPeriodicReachableStructuredDiscoveredWorkInputSchema = external_exports.object({
12368
+ ...ceoPeriodicDiscoveredWorkInputShape,
12369
+ acceptanceIdentity: ceoPeriodicReachableAcceptanceIdentitySchema,
12370
+ workPurpose: ceoWorkPurposeSelectionSchema
12371
+ }).strict().superRefine(validateCeoPeriodicDiscoveredWorkShape).transform((value) => ({
12372
+ ...value,
12373
+ workKind: resolveMirrorxWorkPurposeSelection(value.workPurpose).workKind
12374
+ }));
12375
+ var ceoPeriodicReachableDiscoveredWorkInputSchema = external_exports.union([
12376
+ ceoPeriodicReachableStructuredDiscoveredWorkInputSchema,
12377
+ ceoPeriodicReachableLegacyDiscoveredWorkInputSchema
12378
+ ]);
12353
12379
  var ceoPeriodicSourceContextRefSchema = external_exports.object({
12354
12380
  kind: external_exports.literal("document_revision"),
12355
12381
  sourceIssueId: external_exports.string().uuid(),
@@ -12443,7 +12469,7 @@ var ceoPeriodicWorkDispatchInputSchema = external_exports.object({
12443
12469
  continuations: external_exports.array(ceoPeriodicContinuationInputSchema).max(20).default([]),
12444
12470
  candidates: ceoPeriodicDemandCandidatesSchema.default([]),
12445
12471
  noWorkReason: ceoPeriodicNoWorkReasonSchema.optional(),
12446
- work: external_exports.array(ceoPeriodicDiscoveredWorkInputSchema).max(CEO_PERIODIC_MAX_CANDIDATES_PER_OBSERVATION)
12472
+ work: external_exports.array(ceoPeriodicReachableDiscoveredWorkInputSchema).max(CEO_PERIODIC_MAX_CANDIDATES_PER_OBSERVATION)
12447
12473
  }).strict();
12448
12474
  var AUTOMATIC_WORK_LIFECYCLE_STATES = [
12449
12475
  "discovered",
@@ -28536,6 +28562,7 @@ function parsePiJsonl(stdout) {
28536
28562
  let terminalEventIndex = null;
28537
28563
  let sawAgentSettled = false;
28538
28564
  let settledEventIndex = null;
28565
+ let terminalAgentWillRetry = false;
28539
28566
  let eventIndex = -1;
28540
28567
  const messages = [];
28541
28568
  const mcpToolResults = [];
@@ -28557,12 +28584,13 @@ function parsePiJsonl(stdout) {
28557
28584
  if (event.type === "auto_retry_start") {
28558
28585
  const message = readString(event.errorMessage);
28559
28586
  const lastError = errorEvents.at(-1);
28560
- const matched = Number.isSafeInteger(event.attempt) && event.attempt > 0 && (event.attempt === 1 || event.attempt === retry?.attempt + 1) && turnStartIndex >= 0 && lastError?.provider === true && lastError.message === message && lastError.eventIndex === terminalEventIndex && terminalEventType === "agent_end";
28587
+ const agentRetryAuthorized = terminalAgentWillRetry;
28588
+ const matched = Number.isSafeInteger(event.attempt) && event.attempt > 0 && (event.attempt === 1 || event.attempt === retry?.attempt + 1) && turnStartIndex >= 0 && (lastError?.provider === true || agentRetryAuthorized && lastError?.agentRetryEligible === true) && lastError?.message === message && lastError?.eventIndex === terminalEventIndex && terminalEventType === "agent_end";
28561
28589
  const priorErrors = retry && event.attempt === retry.attempt + 1 ? retry.errors : [];
28562
28590
  retry = matched ? {
28563
28591
  attempt: event.attempt,
28564
28592
  startIndex: eventIndex,
28565
- errors: [...priorErrors, ...errorEvents.filter((error) => error.eventIndex >= turnStartIndex && error.provider && error.message === message)]
28593
+ errors: [...priorErrors, ...errorEvents.filter((error) => error.eventIndex >= turnStartIndex && error.message === message && (error.provider || agentRetryAuthorized && error.agentRetryEligible))]
28566
28594
  } : null;
28567
28595
  continue;
28568
28596
  }
@@ -28613,6 +28641,7 @@ function parsePiJsonl(stdout) {
28613
28641
  if (event.type === "turn_end" || event.type === "agent_end") {
28614
28642
  terminalEventType = event.type;
28615
28643
  terminalEventIndex = eventIndex;
28644
+ terminalAgentWillRetry = event.type === "agent_end" && (event.willRetry === true || event.will_retry === true);
28616
28645
  }
28617
28646
  stopReason = readString(event.stopReason ?? event.stop_reason) ?? piNestedMessageStopReason(event) ?? stopReason;
28618
28647
  const terminalError = piStopReasonErrorText(event) ?? piNestedMessageErrorText(event);
@@ -28620,7 +28649,8 @@ function parsePiJsonl(stdout) {
28620
28649
  errorEvents.push({
28621
28650
  message: terminalError,
28622
28651
  eventIndex,
28623
- provider: classifyPiProviderError({ errorMessage: terminalError })?.errorFamily === "transient_upstream"
28652
+ provider: classifyPiProviderError({ errorMessage: terminalError })?.errorFamily === "transient_upstream",
28653
+ agentRetryEligible: true
28624
28654
  });
28625
28655
  successfulAssistantIndex = -1;
28626
28656
  if (PI_PROVIDER_PROTOCOL_RE.test(terminalError)) {
@@ -28657,7 +28687,7 @@ function parsePiJsonl(stdout) {
28657
28687
  eventIndex
28658
28688
  });
28659
28689
  } else {
28660
- errorEvents.push({ message: eventError, eventIndex, provider: false });
28690
+ errorEvents.push({ message: eventError, eventIndex, provider: false, agentRetryEligible: false });
28661
28691
  successfulAssistantIndex = -1;
28662
28692
  if (PI_PROVIDER_PROTOCOL_RE.test(eventError)) {
28663
28693
  diagnostics.push({
@@ -34411,7 +34441,7 @@ function assertRequiredTaskAttachmentMaterialized(input, materialized) {
34411
34441
  }
34412
34442
 
34413
34443
  // src/amaster-runtime-daemon.mjs
34414
- var CONNECTOR_VERSION = "0.1.1-beta.301";
34444
+ var CONNECTOR_VERSION = "0.1.1-beta.303";
34415
34445
  var CONNECTOR_CONTRACT_VERSION = "2026-06-04.v1";
34416
34446
  var daemonRequire = createRequire(import.meta.url);
34417
34447
  var MAX_CHECKPOINT_BYTES = 20 * 1024 * 1024;
@@ -7,7 +7,7 @@ import { homedir, hostname } from "node:os";
7
7
  import { fileURLToPath } from "node:url";
8
8
  import { BUILD_SUPPORTED_CAPABILITIES } from "./amaster-runtime-daemon/capability-registry.mjs";
9
9
 
10
- const CONNECTOR_VERSION = "0.1.1-beta.301";
10
+ const CONNECTOR_VERSION = "0.1.1-beta.303";
11
11
 
12
12
  const CONFIG_KEY_MAP = new Map([
13
13
  ["server_url", "AMASTER_EMPLOYEE_SERVER_URL"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amaster.ai/employee-runtime-connector",
3
- "version": "0.1.1-beta.301",
3
+ "version": "0.1.1-beta.303",
4
4
  "description": "MirrorX runtime connector CLI and daemon",
5
5
  "license": "MIT",
6
6
  "type": "module",