@hasna/skills 0.8.11 → 0.8.12

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.
package/bin/mcp.js CHANGED
@@ -20019,7 +20019,7 @@ var package_default;
20019
20019
  var init_package = __esm(() => {
20020
20020
  package_default = {
20021
20021
  name: "@hasna/skills",
20022
- version: "0.8.11",
20022
+ version: "0.8.12",
20023
20023
  description: "Skills library for AI coding agents",
20024
20024
  type: "module",
20025
20025
  bin: {
@@ -39944,7 +39944,9 @@ function assertAgentPolicyCollections(policy) {
39944
39944
  text(source.path);
39945
39945
  requireBound(source.sha256 === null || typeof source.sha256 === "string" && /^[a-f0-9]{64}$/.test(source.sha256));
39946
39946
  if (source.hashMode !== undefined)
39947
- requireBound(["bytes", "path-bytes", "claude-plugin-registry", "claude-marketplace-registry"].includes(source.hashMode) && source.format === undefined && source.fields === undefined && (source.hashMode === "bytes" || source.sha256 !== null));
39947
+ requireBound(["bytes", "path-bytes", "claude-plugin-registry", "claude-marketplace-registry", "claude-settings-v1"].includes(source.hashMode) && source.format === undefined && source.fields === undefined && (source.hashMode === "bytes" || source.sha256 !== null));
39948
+ if (source.hashMode === "claude-settings-v1")
39949
+ requireBound(agent === "claude" && value.agent === "claude" && value.method === "reviewed" && !/[\x00-\x1f\x7f]/.test(source.path) && isAbsolute4(source.path) && resolve4(source.path) === source.path && basename4(source.path) === "settings.json");
39948
39950
  if (source.hashMode === "claude-marketplace-registry")
39949
39951
  requireBound(agent === "claude" && value.agent === "claude" && value.method === "reviewed" && !/[\x00-\x1f\x7f]/.test(source.path) && isAbsolute4(source.path) && resolve4(source.path) === source.path && basename4(source.path) === "known_marketplaces.json");
39950
39952
  if (source.hashMode === "claude-plugin-registry") {
@@ -47592,6 +47594,63 @@ var init_claude_marketplace_registry = __esm(() => {
47592
47594
  CLAUDE_MARKETPLACE_REGISTRY_LIMITS = Object.freeze({ bytes: 1024 * 1024, rows: 1024, depth: 32, nodes: 65536, stringCharacters: 16384, pathCharacters: 4096 });
47593
47595
  });
47594
47596
 
47597
+ // src/lib/claude-settings-witness.ts
47598
+ var CLAUDE_SETTINGS_WITNESS_LIMITS, BOOLEAN_PREFERENCES, ENUM_PREFERENCES, BUILTIN_MODEL_SELECTIONS;
47599
+ var init_claude_settings_witness = __esm(() => {
47600
+ CLAUDE_SETTINGS_WITNESS_LIMITS = Object.freeze({ bytes: 1024 * 1024, rows: 1024, depth: 32, nodes: 65536, stringCharacters: 16384, pathCharacters: 4096 });
47601
+ BOOLEAN_PREFERENCES = new Set([
47602
+ "autoScrollEnabled",
47603
+ "axScreenReader",
47604
+ "emojiCompletionEnabled",
47605
+ "prefersReducedMotion",
47606
+ "showTurnDuration",
47607
+ "spinnerTipsEnabled",
47608
+ "syntaxHighlightingDisabled",
47609
+ "terminalProgressBarEnabled",
47610
+ "terminalTitleFromRename",
47611
+ "verbose",
47612
+ "wheelScrollAccelerationEnabled"
47613
+ ]);
47614
+ ENUM_PREFERENCES = Object.freeze({
47615
+ editorMode: ["normal", "vim"],
47616
+ tui: ["default", "fullscreen"],
47617
+ viewMode: ["default", "verbose", "focus"]
47618
+ });
47619
+ BUILTIN_MODEL_SELECTIONS = new Set([
47620
+ "default",
47621
+ "best",
47622
+ "fable",
47623
+ "fable[1m]",
47624
+ "sonnet",
47625
+ "sonnet[1m]",
47626
+ "opus",
47627
+ "opus[1m]",
47628
+ "haiku",
47629
+ "opusplan",
47630
+ "claude-fable-5-1",
47631
+ "claude-fable-5",
47632
+ "claude-fable-5[1m]",
47633
+ "claude-opus-5",
47634
+ "claude-sonnet-5",
47635
+ "claude-haiku-4-5-20251001",
47636
+ "claude-opus-4-6",
47637
+ "claude-sonnet-4-5",
47638
+ "claude-sonnet-4-5-20250929",
47639
+ "claude-opus-4-8",
47640
+ "claude-opus-4-8[1m]",
47641
+ "claude-opus-4-7",
47642
+ "claude-sonnet-4-6",
47643
+ "claude-opus-4-5-20251101",
47644
+ "claude-opus-4-5",
47645
+ "claude-haiku-4-5",
47646
+ "claude-fable-5-1[1m]",
47647
+ "claude-opus-5[1m]",
47648
+ "claude-opus-4-7[1m]",
47649
+ "claude-opus-4-6[1m]",
47650
+ "claude-sonnet-4-6[1m]"
47651
+ ]);
47652
+ });
47653
+
47595
47654
  // src/lib/agent-discovery.ts
47596
47655
  var init_agent_discovery = __esm(() => {
47597
47656
  init_agent_policy_limits();
@@ -47602,6 +47661,7 @@ var init_agent_discovery = __esm(() => {
47602
47661
  init_plugin_discovery();
47603
47662
  init_plugin_admission();
47604
47663
  init_claude_marketplace_registry();
47664
+ init_claude_settings_witness();
47605
47665
  init_agent_discovery_directories();
47606
47666
  });
47607
47667
 
package/bin/migrate.js CHANGED
@@ -7,7 +7,7 @@ import { join as join5 } from "path";
7
7
  // package.json
8
8
  var package_default = {
9
9
  name: "@hasna/skills",
10
- version: "0.8.11",
10
+ version: "0.8.12",
11
11
  description: "Skills library for AI coding agents",
12
12
  type: "module",
13
13
  bin: {
package/bin/server.js CHANGED
@@ -24122,7 +24122,7 @@ var init_dist_es9 = __esm(() => {
24122
24122
  // package.json
24123
24123
  var package_default = {
24124
24124
  name: "@hasna/skills",
24125
- version: "0.8.11",
24125
+ version: "0.8.12",
24126
24126
  description: "Skills library for AI coding agents",
24127
24127
  type: "module",
24128
24128
  bin: {
package/bin/worker.js CHANGED
@@ -24125,7 +24125,7 @@ import { randomUUID as randomUUID6 } from "crypto";
24125
24125
  // package.json
24126
24126
  var package_default = {
24127
24127
  name: "@hasna/skills",
24128
- version: "0.8.11",
24128
+ version: "0.8.12",
24129
24129
  description: "Skills library for AI coding agents",
24130
24130
  type: "module",
24131
24131
  bin: {
package/dist/index.d.ts CHANGED
@@ -63,6 +63,7 @@ export { inspectSkillSession, reconcileSkillSession, type SessionReconciliationI
63
63
  export { planAgentIntegration, applyAgentIntegration, inventoryNativeSkills, archiveNativeSkills } from "./lib/agent-integration.js";
64
64
  export { captureDiscoveryDirectories, captureDiscoveryByteSources, captureDiscoveryPathSources, type DiscoveryDirectory, type DiscoverySource } from "./lib/agent-discovery.js";
65
65
  export { captureClaudeMarketplaceRegistry } from "./lib/claude-marketplace-registry.js";
66
+ export { captureClaudeSettings } from "./lib/claude-settings-witness.js";
66
67
  export { buildPluginProjection, pluginTreeDigest, type PluginProjectionManifest, type PluginPayloadMapping, type PluginFileWitness } from "./lib/plugin-projection.js";
67
68
  export { planPluginAdmission, admitPlugin, resolveAdmittedPlugin, pluginResolverCommand, type PluginAdmissionTarget, type PluginAdmissionBinding, type PluginAdmissionPrincipal, type PluginAdmissionPlan, type PluginAdmissionIdentity, type PluginBundleIdentity, type PluginRoutingIdentity, type PluginAdmissionReceipt } from "./lib/plugin-admission.js";
68
69
  export { captureManagedPluginRegistry, type ManagedPluginRegistrationWitness } from "./lib/plugin-discovery.js";