@firfi/huly-mcp 0.49.3 → 0.49.4

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/index.cjs +20 -18
  2. package/package.json +5 -1
package/dist/index.cjs CHANGED
@@ -167601,7 +167601,7 @@ var HulyModelMetadataError = class extends Schema_exports.TaggedError()("HulyMod
167601
167601
  };
167602
167602
 
167603
167603
  // src/version.ts
167604
- var VERSION = true ? "0.49.3" : "0.0.0-dev";
167604
+ var VERSION = true ? "0.49.4" : "0.0.0-dev";
167605
167605
 
167606
167606
  // src/huly/errors-approval-requests.ts
167607
167607
  var ApprovalRequestNotFoundError = class extends Schema_exports.TaggedError()(
@@ -173859,6 +173859,16 @@ var connectAccountClient = async (config3, sdk) => {
173859
173859
  };
173860
173860
  var connectAccountClientWithRetry = (config3, sdk) => connectWithRetry(() => connectAccountClient(config3, sdk), config3.url);
173861
173861
 
173862
+ // src/mcp/tools/operation-failure.ts
173863
+ var ToolParseFailure = class extends Data_exports.TaggedError("ToolParseFailure") {
173864
+ };
173865
+ var ToolDomainFailure = class extends Data_exports.TaggedError("ToolDomainFailure") {
173866
+ };
173867
+ var ToolProvisionFailure = class extends Data_exports.TaggedError("ToolProvisionFailure") {
173868
+ };
173869
+ var ToolOutputFailure = class extends Data_exports.TaggedError("ToolOutputFailure") {
173870
+ };
173871
+
173862
173872
  // src/mcp/tools/tool-annotations.ts
173863
173873
  var deriveTitle = (name) => name.split("_").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join(" ");
173864
173874
  var READ_PREFIXES = ["list_", "get_", "describe_", "search_", "fulltext_", "download_", "preview_", "read_"];
@@ -173935,14 +173945,6 @@ var createToolDefinition = (spec) => ({
173935
173945
  category: makeToolCategory(spec.category),
173936
173946
  ...spec.annotations === void 0 ? {} : { annotations: spec.annotations }
173937
173947
  });
173938
- var ToolParseFailure = class extends Data_exports.TaggedError("ToolParseFailure") {
173939
- };
173940
- var ToolDomainFailure = class extends Data_exports.TaggedError("ToolDomainFailure") {
173941
- };
173942
- var ToolProvisionFailure = class extends Data_exports.TaggedError("ToolProvisionFailure") {
173943
- };
173944
- var ToolOutputFailure = class extends Data_exports.TaggedError("ToolOutputFailure") {
173945
- };
173946
173948
  var createMissingArgumentsError = (toolName) => createInvalidParamsError(
173947
173949
  `Invalid parameters for ${toolName}: missing arguments object. Pass an arguments object; use {} when you want defaults for optional parameters.`,
173948
173950
  "MissingArguments"
@@ -194847,6 +194849,13 @@ var import_core94 = __toESM(require_lib5(), 1);
194847
194849
  var MAX_ANCESTOR_DEPTH = 32;
194848
194850
  var classRef4 = core.class.Class;
194849
194851
  var includesQuery = (text4, query) => Option_exports.isNone(query) || text4.includes(query.value.toLowerCase());
194852
+ var classSearchRank = (summary5, query) => {
194853
+ if (Option_exports.isNone(query)) return 0;
194854
+ const search = query.value.toLowerCase();
194855
+ return [summary5.classId, summary5.label, summary5.shortLabel, summary5.pluralLabel].some(
194856
+ (value3) => value3?.toLowerCase() === search
194857
+ ) ? 0 : 1;
194858
+ };
194850
194859
  var batchResolveClassLabels2 = (client, classIds) => Effect_exports.gen(function* () {
194851
194860
  if (classIds.length === 0) return /* @__PURE__ */ new Map();
194852
194861
  const uniqueIds = [...new Set(classIds)];
@@ -194946,7 +194955,7 @@ var listHulyClasses = (params3) => Effect_exports.gen(function* () {
194946
194955
  const limit = clampLimit(params3.limit ?? SDK_DISCOVERY_DEFAULT_LIMIT);
194947
194956
  const query = Option_exports.fromNullable(params3.query);
194948
194957
  const classes = yield* fetchClasses(client, params3);
194949
- const matched = classes.map((cls) => toClassSummary(cls)).filter((summary5) => params3.kind === void 0 || summary5.kind === params3.kind).filter((summary5) => includesQuery(classSearchText(summary5), query)).slice(0, limit);
194958
+ const matched = classes.map((cls) => toClassSummary(cls)).filter((summary5) => params3.kind === void 0 || summary5.kind === params3.kind).filter((summary5) => includesQuery(classSearchText(summary5), query)).sort((left3, right3) => classSearchRank(left3, query) - classSearchRank(right3, query)).slice(0, limit);
194950
194959
  const attributeCounts = countAttributesByClass(
194951
194960
  yield* attributesForClasses(
194952
194961
  client,
@@ -196088,7 +196097,6 @@ var SpaceCreationMetadataSchema = Schema_exports.Struct({
196088
196097
  descriptor: NonEmptyString2,
196089
196098
  baseClass: ObjectClassName,
196090
196099
  targetClass: ObjectClassName,
196091
- rolesCount: Count,
196092
196100
  system: Schema_exports.optionalWith(Schema_exports.Boolean, { exact: true })
196093
196101
  });
196094
196102
  var TargetClassifierMetadataSchema = Schema_exports.Struct({
@@ -196123,11 +196131,6 @@ var targetShapeProblem = (metadata, attributes, roles) => {
196123
196131
  `target mixin attribute '${wrongTypeAttribute.name}' is not a canonical Huly role-assignment field`
196124
196132
  );
196125
196133
  }
196126
- if (roles.length !== metadata.rolesCount) {
196127
- return NonEmptyString2.make(
196128
- `space type declares ${metadata.rolesCount} roles but SDK metadata returned ${roles.length}`
196129
- );
196130
- }
196131
196134
  const attributeNames = new Set(attributes.map((attribute) => attribute.name));
196132
196135
  if (attributeNames.size !== attributes.length) {
196133
196136
  return NonEmptyString2.make(`target mixin '${metadata.targetClass}' declares duplicate role attributes`);
@@ -196144,7 +196147,6 @@ var parseCreationMetadata = (spaceType, descriptor3) => {
196144
196147
  descriptor: descriptor3._id,
196145
196148
  baseClass: descriptor3.baseClass,
196146
196149
  targetClass: spaceType.targetClass,
196147
- rolesCount: spaceType.roles,
196148
196150
  ...descriptor3.system === void 0 ? {} : { system: descriptor3.system }
196149
196151
  }).pipe(
196150
196152
  Effect_exports.mapError(
@@ -196180,7 +196182,7 @@ var requireSafeTargetShape = (client, metadata) => Effect_exports.gen(function*
196180
196182
  hulyQuery({ attributeOf: toClassRef(metadata.targetClass) })
196181
196183
  ),
196182
196184
  client.findAll(core.class.Role, hulyQuery({ attachedTo: toRef(metadata.spaceType) }), {
196183
- limit: Math.max(metadata.rolesCount, 1)
196185
+ limit: clampLimit(void 0)
196184
196186
  })
196185
196187
  ]);
196186
196188
  const attributeMetadata = yield* Schema_exports.decodeUnknown(TargetAttributeMetadataSchema)(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@firfi/huly-mcp",
3
- "version": "0.49.3",
3
+ "version": "0.49.4",
4
4
  "description": "Huly MCP: feature-complete MCP server for Huly integration",
5
5
  "mcpName": "io.github.dearlordylord/huly-mcp",
6
6
  "type": "module",
@@ -152,6 +152,7 @@
152
152
  "circular": "dpdm --no-warning --no-tree --no-progress --exit-code circular:1 --transform 'src/**/*.ts' 'packages/huly-cli/src/**/*.ts'",
153
153
  "complexity": "oxlint -c oxlint.complexity.json src packages/huly-cli/src",
154
154
  "integration:mcp:full": "bash scripts/integration_test_full.sh",
155
+ "certify:api-token": "node scripts/run-bundled.mjs scripts/api-token-certification.ts",
155
156
  "integration:cli": "bash scripts/integration_test_cli.sh",
156
157
  "integration:cli:full": "bash scripts/integration_test_cli_full.sh",
157
158
  "local-release": "bash scripts/local_release.sh",
@@ -160,6 +161,9 @@
160
161
  "report-cli-parity": "node scripts/run-bundled.mjs scripts/report-cli-parity.ts",
161
162
  "update-cli-readme": "node scripts/run-bundled.mjs scripts/update-cli-readme.ts",
162
163
  "verify-cli-readme": "node scripts/run-bundled.mjs scripts/update-cli-readme.ts --check",
164
+ "update-cli-skill": "node scripts/run-bundled.mjs scripts/update-cli-skill.ts",
165
+ "verify-cli-skill": "node scripts/run-bundled.mjs scripts/update-cli-skill.ts --check",
166
+ "verify-cli-skill-package": "node scripts/run-bundled.mjs scripts/verify-cli-skill-package.ts",
163
167
  "verify-cli-package-closure": "node scripts/run-bundled.mjs scripts/verify-cli-package-closure.ts",
164
168
  "verify-registry-metadata": "node scripts/sync-registry-metadata.mjs --check",
165
169
  "verify-registry-schema": "node scripts/verify-registry-schema.mjs",