@hasna/skills 0.10.45 → 0.10.46

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.
@@ -7,7 +7,7 @@ export { captureDiscoveryDirectories, type DiscoveryDirectory } from "./agent-di
7
7
  export interface DiscoverySource {
8
8
  path: string;
9
9
  sha256: string | null;
10
- hashMode?: "bytes" | "path-bytes" | "claude-plugin-registry" | "claude-marketplace-registry" | "claude-settings-v1" | "claude-settings-v2" | "claude-settings-v3" | "claude-marketplace-registry-v2" | "codex-settings-v1" | "codex-settings-v2" | "codex-settings-v3" | "codex-settings-v4";
10
+ hashMode?: "bytes" | "path-bytes" | "claude-plugin-registry" | "claude-marketplace-registry" | "claude-settings-v1" | "claude-settings-v2" | "claude-settings-v3" | "claude-marketplace-registry-v2" | "codex-settings-v1" | "codex-settings-v2" | "codex-settings-v3" | "codex-settings-v4" | "sumi-settings-v1";
11
11
  managedPlugins?: ManagedPluginRegistrationWitness[];
12
12
  format?: "json" | "toml" | "yaml";
13
13
  fields?: string[];
@@ -62,7 +62,7 @@ export interface AgentIntegrationPlan {
62
62
  before: string;
63
63
  };
64
64
  settingsWitnessUpgrade?: {
65
- agent: "claude" | "codex";
65
+ agent: "claude" | "codex" | "sumi";
66
66
  path: string;
67
67
  fromHashMode: string;
68
68
  fromSha256: string;
@@ -188,7 +188,7 @@ export declare function planClaudeHookEventsUpdate(options: ClaudeHookUpdateOpti
188
188
  * unknown settings, native controls and policy bytes remain guarded.
189
189
  */
190
190
  export declare function planAgentSettingsWitnessUpgrade(options: {
191
- agent: "claude" | "codex";
191
+ agent: "claude" | "codex" | "sumi";
192
192
  targetCodexVersion?: 2 | 3 | 4;
193
193
  reviewedPreimage: string;
194
194
  home?: string;
@@ -4,6 +4,9 @@ export declare function sumiConfigPath(home: string): string;
4
4
  /** Native V2 plugin, not an OpenCode chat.message factory. Instructions enter
5
5
  * transient request context; prompts and the plugin carry no payload fallback. */
6
6
  export declare function renderSumiPlugin(command: string, profile: string): string;
7
+ /** Exact previous generator only: upgrades may replace this owned plugin, never
8
+ * arbitrary plugin bytes. Native discovery and config checks still run first. */
9
+ export declare function isManagedSumiPlugin(text: string | null, command: string, profile: string): boolean;
7
10
  export declare const SUMI_SKILL_PERMISSIONS: readonly [{
8
11
  readonly action: "skill";
9
12
  readonly resource: "*";
@@ -9,7 +9,7 @@ export declare const CLAUDE_SETTINGS_WITNESS_LIMITS: Readonly<{
9
9
  export interface ClaudeSettingsWitnessBudget {
10
10
  remaining: number;
11
11
  }
12
- export declare function readNativeSettingsWitnessFile(path: string, budget: ClaudeSettingsWitnessBudget, filename?: "settings.json" | "config.toml"): string;
12
+ export declare function readNativeSettingsWitnessFile(path: string, budget: ClaudeSettingsWitnessBudget, filename?: "settings.json" | "config.toml" | "sumi.json"): string;
13
13
  /** Cooperating installers may replace only their explicitly selected event. Compare the strict syntax
14
14
  * trees, not JSON.parse values or the preference-tolerant witness digest: all
15
15
  * other hooks, discovery settings, unknown values and number spellings remain
@@ -53,3 +53,7 @@ export declare function upgradeClaudeSettingsWitness(previous: {
53
53
  }, reviewedSettingsPath: string): ReturnType<typeof captureClaudeSettingsV3>;
54
54
  /** Strict bounded JSON control witness; metadata exclusion must be explicit. */
55
55
  export declare function hashNativeJsonControls(text: string, excludedMetadata?: "version"): string;
56
+ /** Sumi's versioned review uses the same strict JSON parser and bounded syntax
57
+ * tree. Unknown fields, permissions, routing and executable inputs stay bound.
58
+ * Only schema/display strings and two presentation-only booleans may vary. */
59
+ export declare function hashSumiNativeJsonControls(text: string): string;
@@ -0,0 +1,14 @@
1
+ import { type ClaudeSettingsWitnessBudget } from "./claude-settings-witness.js";
2
+ export declare const SUMI_DISCOVERY_PROJECTION_FIELDS: readonly ["skills", "plugin", "plugins", "permissions"];
3
+ export declare function readSumiSettingsPreimage(path: string): string;
4
+ export declare function hashSumiSettingsReplacement(text: string, limits: ClaudeSettingsWitnessBudget): string;
5
+ export declare function captureSumiSettings(path: string, limits?: ClaudeSettingsWitnessBudget): {
6
+ path: string;
7
+ hashMode: "sumi-settings-v1";
8
+ sha256: string;
9
+ };
10
+ export declare function upgradeSumiSettingsWitness(previous: {
11
+ path: string;
12
+ hashMode?: "bytes";
13
+ sha256: string;
14
+ }, reviewedSettingsPath: string): ReturnType<typeof captureSumiSettings>;