@amaster.ai/employee-runtime-connector 0.1.1-beta.231 → 0.1.1-beta.232

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.
@@ -5377,6 +5377,44 @@ var ERROR_PRESENTATIONS = {
5377
5377
  };
5378
5378
  var AMASTER_RUNTIME_USER_PRESENTATION_ERROR_CODES = Object.freeze(Object.keys(ERROR_PRESENTATIONS).sort());
5379
5379
 
5380
+ // ../shared/src/mirrorx-prerequisite-validators.ts
5381
+ var taskPrerequisiteCheckSchema = external_exports.object({
5382
+ id: external_exports.string().uuid(),
5383
+ revision: external_exports.number().int().positive(),
5384
+ validatorId: external_exports.literal("accepted_product_specification_v1"),
5385
+ input: external_exports.object({ delivery: external_exports.discriminatedUnion("kind", [
5386
+ external_exports.object({ kind: external_exports.literal("missing") }).strict(),
5387
+ external_exports.object({ kind: external_exports.literal("accepted_prerequisite"), bindingId: external_exports.string().uuid(), acceptanceId: external_exports.string().uuid() }).strict()
5388
+ ]) }).strict()
5389
+ }).strict();
5390
+ var taskPrerequisiteChecksSchema = external_exports.array(taskPrerequisiteCheckSchema).max(20).superRefine((checks, ctx) => {
5391
+ if (new Set(checks.map((check) => check.id)).size !== checks.length || new Set(checks.map((check) => check.validatorId)).size !== checks.length) {
5392
+ ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "Prerequisite checks must have unique identities and validators" });
5393
+ }
5394
+ });
5395
+ var prerequisiteValidationReceiptSchema = external_exports.object({
5396
+ schemaVersion: external_exports.literal("prerequisite-validation-v1"),
5397
+ id: external_exports.string().uuid(),
5398
+ companyId: external_exports.string().uuid(),
5399
+ targetIssueId: external_exports.string().uuid(),
5400
+ targetExecutionEpoch: external_exports.number().int().positive(),
5401
+ checkId: external_exports.string().uuid(),
5402
+ checkRevision: external_exports.number().int().positive(),
5403
+ validatorId: external_exports.literal("accepted_product_specification_v1"),
5404
+ validatorRevision: external_exports.literal("1"),
5405
+ inputHash: external_exports.string().regex(/^sha256:[a-f0-9]{64}$/),
5406
+ result: external_exports.enum(["missing", "satisfied"]),
5407
+ reasonCode: external_exports.enum(["product_specification_receipt_missing", "product_specification_receipt_accepted"]),
5408
+ deliveryBindingId: external_exports.string().uuid().nullable(),
5409
+ acceptanceId: external_exports.string().uuid().nullable(),
5410
+ validatedAt: external_exports.string().datetime({ offset: true })
5411
+ }).strict().superRefine((receipt, ctx) => {
5412
+ const satisfied = receipt.result === "satisfied";
5413
+ if (satisfied !== (receipt.reasonCode === "product_specification_receipt_accepted") || satisfied !== (receipt.deliveryBindingId !== null) || satisfied !== (receipt.acceptanceId !== null)) {
5414
+ ctx.addIssue({ code: external_exports.ZodIssueCode.custom, message: "Prerequisite validation result and accepted receipt disagree" });
5415
+ }
5416
+ });
5417
+
5380
5418
  // ../shared/src/mirrorx-prerequisite-requirements.ts
5381
5419
  var taskPrerequisiteSlotSchema = external_exports.object({
5382
5420
  id: external_exports.string().uuid(),
@@ -6665,6 +6703,7 @@ var issueDeliveryRequirementV2Schema = external_exports.object({
6665
6703
  var issueTaskRequirementsV2Schema = external_exports.object({
6666
6704
  requirementsVersion: external_exports.literal("v2"),
6667
6705
  prerequisiteSlots: taskPrerequisiteSlotsSchema.optional(),
6706
+ prerequisiteChecks: taskPrerequisiteChecksSchema.optional(),
6668
6707
  taskIntent: taskIntentRequirementSchema,
6669
6708
  executionShape: external_exports.enum(TASK_EXECUTION_SHAPES),
6670
6709
  completionStrategy: external_exports.enum(TASK_COMPLETION_STRATEGIES).nullable(),
@@ -9867,6 +9906,7 @@ function withCreateIssueStatusDefault(schema) {
9867
9906
  }
9868
9907
  var createIssueBaseSchema = external_exports.object({
9869
9908
  prerequisiteSlots: taskPrerequisiteSlotsSchema.optional(),
9909
+ prerequisiteChecks: taskPrerequisiteChecksSchema.optional(),
9870
9910
  creationProfile: external_exports.literal(MIRRORX_AGENT_SESSION_CREATION_PROFILE).optional(),
9871
9911
  projectId: external_exports.string().uuid().optional().nullable(),
9872
9912
  projectWorkspaceId: external_exports.string().uuid().optional().nullable(),
@@ -9953,7 +9993,7 @@ var createIssueSchema = withCreateIssueStatusDefault(external_exports.union([
9953
9993
  ordinaryCreateIssueSchema
9954
9994
  ]));
9955
9995
  var createModelIssueSchema = createIssueSchema.superRefine((value, ctx) => {
9956
- if (value.prerequisiteSlots !== void 0) {
9996
+ if (value.prerequisiteSlots !== void 0 || value.prerequisiteChecks !== void 0) {
9957
9997
  ctx.addIssue({ code: external_exports.ZodIssueCode.custom, path: ["prerequisiteSlots"], message: "Model creation cannot declare cross-Issue prerequisite authority" });
9958
9998
  }
9959
9999
  const systemWatchdogFollowUp = value.watchdogDiscovery?.kind === "product_bug";
@@ -9982,6 +10022,7 @@ var createChildIssueSchema = withCreateIssueStatusDefault(createIssueBaseSchema.
9982
10022
  }).extend({
9983
10023
  creationProfile: external_exports.never().optional(),
9984
10024
  prerequisiteSlots: external_exports.never().optional(),
10025
+ prerequisiteChecks: external_exports.never().optional(),
9985
10026
  delegation: issueDelegationInputSchema,
9986
10027
  acceptanceCriteria: external_exports.array(external_exports.string().trim().min(1).max(500)).max(20).optional(),
9987
10028
  blockParentUntilDone: external_exports.boolean().optional().default(false),
@@ -10008,6 +10049,7 @@ var updateIssueSchema = createIssueBaseSchema.omit({
10008
10049
  }).partial().extend({
10009
10050
  creationProfile: external_exports.never().optional(),
10010
10051
  prerequisiteSlots: external_exports.never().optional(),
10052
+ prerequisiteChecks: external_exports.never().optional(),
10011
10053
  taskIntent: external_exports.enum(["business", "system", "legacy"]).optional(),
10012
10054
  requestDepth: issueRequestDepthInputSchema.optional(),
10013
10055
  assigneeAgentId: external_exports.string().trim().min(1).optional().nullable(),
@@ -15985,6 +16027,16 @@ var listPluginStateSchema = external_exports.object({
15985
16027
  namespace: external_exports.string().min(1).optional()
15986
16028
  });
15987
16029
 
16030
+ // ../shared/src/validators/company-execution-control.ts
16031
+ var companyExecutionControlSchema = external_exports.object({
16032
+ action: external_exports.enum(["pause", "resume"]),
16033
+ confirmed: external_exports.literal(true)
16034
+ }).strict();
16035
+ var companyExecutionControlStatusSchema = external_exports.object({
16036
+ companyId: external_exports.string().uuid(),
16037
+ state: external_exports.enum(["running", "pausing", "paused", "resuming", "unavailable"])
16038
+ });
16039
+
15988
16040
  // ../shared/src/api.ts
15989
16041
  var API_PREFIX = "/api";
15990
16042
  var API = {
@@ -20713,14 +20765,18 @@ function createManagedPiMcpProfileApi(options = {}) {
20713
20765
  "mirrorx.read_issue_evidence",
20714
20766
  "mirrorx.read_governed_business_state"
20715
20767
  ]);
20716
- const FULL_DIRECT_TYPED_V1_WIKI_TOOL_NAMES = /* @__PURE__ */ new Set([
20768
+ const FULL_DIRECT_TYPED_V1_WIKI_READ_TOOL_NAMES = /* @__PURE__ */ new Set([
20717
20769
  "wiki_list",
20718
20770
  "wiki_search",
20719
20771
  "wiki_read",
20720
- "wiki_write",
20721
20772
  "wiki_list_versions",
20722
20773
  "wiki_diff_versions"
20723
20774
  ]);
20775
+ const FULL_DIRECT_TYPED_V1_WIKI_WRITE_TOOL_NAME = "wiki_write";
20776
+ const FULL_DIRECT_TYPED_V1_WIKI_TOOL_NAMES = /* @__PURE__ */ new Set([
20777
+ ...FULL_DIRECT_TYPED_V1_WIKI_READ_TOOL_NAMES,
20778
+ FULL_DIRECT_TYPED_V1_WIKI_WRITE_TOOL_NAME
20779
+ ]);
20724
20780
  const FULL_DIRECT_TYPED_V1_CONNECTOR_TOOL_NAMES = /* @__PURE__ */ new Set([
20725
20781
  "connector.search_actions",
20726
20782
  "connector.get_action_guide",
@@ -21311,9 +21367,11 @@ function createManagedPiMcpProfileApi(options = {}) {
21311
21367
  const declaredToolNames = new Set(tools.map((tool) => tool.name).filter((name) => typeof name === "string"));
21312
21368
  const covers = (set) => [...set].every((name) => declaredToolNames.has(name));
21313
21369
  const countIn = (set) => tools.filter((tool) => set.has(tool.name)).length;
21314
- const fullWikiCount = countIn(FULL_DIRECT_TYPED_V1_WIKI_TOOL_NAMES);
21370
+ const fullWikiReadCount = countIn(FULL_DIRECT_TYPED_V1_WIKI_READ_TOOL_NAMES);
21371
+ const hasWikiWrite = declaredToolNames.has(FULL_DIRECT_TYPED_V1_WIKI_WRITE_TOOL_NAME);
21372
+ const fullWikiCount = fullWikiReadCount + (hasWikiWrite ? 1 : 0);
21315
21373
  const fullConnectorCount = countIn(FULL_DIRECT_TYPED_V1_CONNECTOR_TOOL_NAMES);
21316
- const fullCatalog = mcpToolMode === MANAGED_PI_DIRECT_TYPED_MCP_TOOL_MODE && tools.length === FULL_DIRECT_TYPED_V1_BASE_TOOL_NAMES.size + fullWikiCount + fullConnectorCount && covers(FULL_DIRECT_TYPED_V1_BASE_TOOL_NAMES) && (fullWikiCount === 0 || fullWikiCount === FULL_DIRECT_TYPED_V1_WIKI_TOOL_NAMES.size) && (fullConnectorCount === 0 || fullConnectorCount === FULL_DIRECT_TYPED_V1_CONNECTOR_TOOL_NAMES.size) && tools.every((tool) => FULL_DIRECT_TYPED_V1_TOOL_NAMES.has(tool.name));
21374
+ const fullCatalog = mcpToolMode === MANAGED_PI_DIRECT_TYPED_MCP_TOOL_MODE && tools.length === FULL_DIRECT_TYPED_V1_BASE_TOOL_NAMES.size + fullWikiCount + fullConnectorCount && covers(FULL_DIRECT_TYPED_V1_BASE_TOOL_NAMES) && (fullWikiReadCount === 0 && !hasWikiWrite || fullWikiReadCount === FULL_DIRECT_TYPED_V1_WIKI_READ_TOOL_NAMES.size) && (fullConnectorCount === 0 || fullConnectorCount === FULL_DIRECT_TYPED_V1_CONNECTOR_TOOL_NAMES.size) && tools.every((tool) => FULL_DIRECT_TYPED_V1_TOOL_NAMES.has(tool.name));
21317
21375
  if (mcpToolMode === MANAGED_PI_DIRECT_TYPED_MCP_TOOL_MODE && !fullCatalog) {
21318
21376
  throw new Error("pi_managed_mcp_invalid: direct tool catalog size mismatch");
21319
21377
  }
@@ -30303,7 +30361,7 @@ function assertRequiredTaskAttachmentMaterialized(input, materialized) {
30303
30361
  }
30304
30362
 
30305
30363
  // src/amaster-runtime-daemon.mjs
30306
- var CONNECTOR_VERSION = "0.1.1-beta.231";
30364
+ var CONNECTOR_VERSION = "0.1.1-beta.232";
30307
30365
  var CONNECTOR_CONTRACT_VERSION = "2026-06-04.v1";
30308
30366
  var daemonRequire = createRequire(import.meta.url);
30309
30367
  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.231";
10
+ const CONNECTOR_VERSION = "0.1.1-beta.232";
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.231",
3
+ "version": "0.1.1-beta.232",
4
4
  "description": "MirrorX runtime connector CLI and daemon",
5
5
  "license": "MIT",
6
6
  "type": "module",