@amaster.ai/employee-runtime-connector 0.1.1-beta.354 → 0.1.1-beta.355

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.
@@ -11501,9 +11501,16 @@ var suggestTasksResultSchema = external_exports.object({
11501
11501
  rejectionReason: external_exports.string().trim().max(4e3).nullable().optional()
11502
11502
  });
11503
11503
  var askUserQuestionsFormFieldSchema = secureInteractionFormFieldSchema;
11504
+ var RESERVED_OTHER_OPTION_LABEL = /^(?:(?:其他|其它)(?:选项|方案|回答|情况|内容)?(?:请)?(?:说明|填写|输入|补充|补充说明)?|自定义(?:选项|方案|回答|内容)?(?:请)?(?:说明|填写|输入|补充|补充说明)?|以上都不是|other(?:option|answer|choice|pleasespecify|specify)?|custom(?:option|answer|choice)?|noneoftheabove|somethingelse)$/iu;
11505
+ function isReservedOtherOptionLabel(label) {
11506
+ const normalized = label.toLowerCase().replace(/[\p{P}\p{S}\s]+/gu, "");
11507
+ return RESERVED_OTHER_OPTION_LABEL.test(normalized);
11508
+ }
11504
11509
  var askUserQuestionsQuestionOptionSchema = external_exports.object({
11505
11510
  id: external_exports.string().trim().min(1).max(120),
11506
- label: external_exports.string().trim().min(1).max(120),
11511
+ label: external_exports.string().trim().min(1).max(120).describe(
11512
+ "Concrete answer label. Do not add an Other, custom, or none-of-the-above option; the UI always adds one with a free-text input."
11513
+ ),
11507
11514
  description: external_exports.string().trim().max(500).nullable().optional(),
11508
11515
  inputs: external_exports.array(askUserQuestionsFormFieldSchema).max(5).optional()
11509
11516
  });
@@ -11608,6 +11615,27 @@ var askUserQuestionsPayloadSchema = external_exports.object({
11608
11615
  }
11609
11616
  }
11610
11617
  });
11618
+ var createAskUserQuestionsPayloadSchema = external_exports.preprocess((value) => {
11619
+ if (!value || typeof value !== "object" || Array.isArray(value)) return value;
11620
+ const payload = value;
11621
+ if (!Array.isArray(payload.questions)) return value;
11622
+ return {
11623
+ ...payload,
11624
+ questions: payload.questions.map((candidate) => {
11625
+ if (!candidate || typeof candidate !== "object" || Array.isArray(candidate)) return candidate;
11626
+ const question = candidate;
11627
+ if (!Array.isArray(question.options)) return candidate;
11628
+ return {
11629
+ ...question,
11630
+ options: question.options.filter((option) => {
11631
+ if (!option || typeof option !== "object" || Array.isArray(option)) return true;
11632
+ const label = option.label;
11633
+ return typeof label !== "string" || !isReservedOtherOptionLabel(label);
11634
+ })
11635
+ };
11636
+ })
11637
+ };
11638
+ }, askUserQuestionsPayloadSchema);
11611
11639
  var askUserQuestionsSecretRefSchema = secureInteractionSecretRefSchema;
11612
11640
  var askUserQuestionsAnswerSchema = external_exports.object({
11613
11641
  questionId: external_exports.string().trim().min(1).max(120),
@@ -12223,7 +12251,7 @@ var createIssueThreadInteractionSchema = external_exports.discriminatedUnion("ki
12223
12251
  summary: external_exports.string().trim().max(1e3).nullable().optional(),
12224
12252
  provenance: issueThreadInteractionProvenanceInputSchema.optional(),
12225
12253
  continuationPolicy: external_exports.enum(["none", "wake_assignee"]).optional().default("wake_assignee"),
12226
- payload: askUserQuestionsPayloadSchema
12254
+ payload: createAskUserQuestionsPayloadSchema
12227
12255
  }),
12228
12256
  external_exports.object({
12229
12257
  kind: external_exports.literal("choose_task_disposition"),
@@ -33972,7 +34000,7 @@ function assertRequiredTaskAttachmentMaterialized(input, materialized) {
33972
34000
  }
33973
34001
 
33974
34002
  // src/amaster-runtime-daemon.mjs
33975
- var CONNECTOR_VERSION = "0.1.1-beta.354";
34003
+ var CONNECTOR_VERSION = "0.1.1-beta.355";
33976
34004
  var CONNECTOR_CONTRACT_VERSION = "2026-06-04.v1";
33977
34005
  var SUPPORTED_TASK_CONTEXT_VERSIONS = Object.freeze([TASK_CONTEXT_MANIFEST_VERSION, TASK_CONTEXT_V2]);
33978
34006
  var daemonRequire = createRequire(import.meta.url);
@@ -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.354";
10
+ const CONNECTOR_VERSION = "0.1.1-beta.355";
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.354",
3
+ "version": "0.1.1-beta.355",
4
4
  "description": "MirrorX runtime connector CLI and daemon",
5
5
  "license": "MIT",
6
6
  "type": "module",