@xenosystem/agent-sdk 0.10.32 → 0.10.33
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/README.md +1 -1
- package/dist/artifacts/index.cjs +1 -1
- package/dist/artifacts/index.js +1 -1
- package/dist/automation/index.cjs +1 -1
- package/dist/automation/index.d.cts +14 -0
- package/dist/automation/index.d.ts +14 -0
- package/dist/automation/index.js +1 -1
- package/dist/control-plane/index.cjs +1 -1
- package/dist/control-plane/index.js +1 -1
- package/dist/electron/index.cjs +168 -168
- package/dist/electron/index.d.cts +59 -5
- package/dist/electron/index.d.ts +59 -5
- package/dist/electron/index.js +168 -168
- package/dist/electron/metafile-cjs.json +1 -1
- package/dist/electron/metafile-esm.json +1 -1
- package/dist/governance/index.cjs +24 -24
- package/dist/governance/index.js +24 -24
- package/dist/governance/metafile-cjs.json +1 -1
- package/dist/governance/metafile-esm.json +1 -1
- package/dist/hosted/index.cjs +1 -1
- package/dist/hosted/index.js +1 -1
- package/dist/hosted/metafile-cjs.json +1 -1
- package/dist/hosted/metafile-esm.json +1 -1
- package/dist/index.cjs +343 -338
- package/dist/index.d.cts +108 -6
- package/dist/index.d.ts +108 -6
- package/dist/index.js +336 -331
- package/dist/mcp/index.cjs +14 -14
- package/dist/mcp/index.d.cts +198 -182
- package/dist/mcp/index.d.ts +198 -182
- package/dist/mcp/index.js +13 -13
- package/dist/mcp/metafile-cjs.json +1 -1
- package/dist/mcp/metafile-esm.json +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/session/index.cjs +15 -15
- package/dist/session/index.js +12 -12
- package/dist/session/metafile-cjs.json +1 -1
- package/dist/session/metafile-esm.json +1 -1
- package/dist/skills/index.d.cts +14 -0
- package/dist/skills/index.d.ts +14 -0
- package/package.json +1 -1
|
@@ -299,10 +299,42 @@ interface ToolPolicyProjection {
|
|
|
299
299
|
approvalKey?: string;
|
|
300
300
|
riskLevel?: "low" | "medium" | "high";
|
|
301
301
|
}
|
|
302
|
+
interface ToolAnnotationHints {
|
|
303
|
+
title?: string;
|
|
304
|
+
readOnlyHint?: boolean;
|
|
305
|
+
destructiveHint?: boolean;
|
|
306
|
+
idempotentHint?: boolean;
|
|
307
|
+
openWorldHint?: boolean;
|
|
308
|
+
}
|
|
309
|
+
interface ToolOrigin {
|
|
310
|
+
kind: "mcp";
|
|
311
|
+
server: string;
|
|
312
|
+
tool: string;
|
|
313
|
+
}
|
|
314
|
+
interface PermissionToolMetadata {
|
|
315
|
+
readOnly?: boolean;
|
|
316
|
+
annotations?: ToolAnnotationHints;
|
|
317
|
+
origin?: ToolOrigin;
|
|
318
|
+
}
|
|
319
|
+
interface PlanModeReadOnlyClaim {
|
|
320
|
+
toolName: string;
|
|
321
|
+
input: Record<string, unknown>;
|
|
322
|
+
source: "annotation" | "declaration";
|
|
323
|
+
origin?: ToolOrigin;
|
|
324
|
+
annotations?: ToolAnnotationHints;
|
|
325
|
+
}
|
|
326
|
+
interface PlanModeToolPolicy {
|
|
327
|
+
honourReadOnlyAnnotations?: boolean;
|
|
328
|
+
honourReadOnlyDeclarations?: boolean;
|
|
329
|
+
allowTools?: readonly string[];
|
|
330
|
+
validateReadOnlyClaim?: (claim: PlanModeReadOnlyClaim) => boolean | Promise<boolean>;
|
|
331
|
+
}
|
|
302
332
|
interface RegisteredTool {
|
|
303
333
|
definition: ToolDefinition;
|
|
304
334
|
execute: ToolExecutor;
|
|
305
335
|
readOnly?: boolean;
|
|
336
|
+
annotations?: ToolAnnotationHints;
|
|
337
|
+
origin?: ToolOrigin;
|
|
306
338
|
projectPolicyInput?: (input: Record<string, unknown>, context?: ToolPolicyProjectionContext) => ToolPolicyProjection | {
|
|
307
339
|
error: ToolResult;
|
|
308
340
|
};
|
|
@@ -677,18 +709,37 @@ interface PermissionCheckContext {
|
|
|
677
709
|
ephemeralInputPreview?: string;
|
|
678
710
|
onWaitStart?: () => void;
|
|
679
711
|
onWaitEnd?: () => void;
|
|
712
|
+
tool?: PermissionToolMetadata;
|
|
713
|
+
}
|
|
714
|
+
interface DerivedPermissionEngineOptions {
|
|
715
|
+
mode?: "default" | "plan";
|
|
716
|
+
rules?: PermissionConfig["rules"];
|
|
680
717
|
}
|
|
681
718
|
declare class PermissionEngine {
|
|
682
|
-
|
|
719
|
+
protected config: PermissionConfig;
|
|
683
720
|
private workingDirectory;
|
|
684
721
|
private sessionAllowed;
|
|
685
722
|
private sessionAllowedDirectories;
|
|
686
723
|
private persistentAllowed;
|
|
687
724
|
private persistentAllowedDirectories;
|
|
688
|
-
|
|
689
|
-
|
|
725
|
+
protected promptFn?: PermissionPromptFn;
|
|
726
|
+
protected decisionHook?: PermissionDecisionHook;
|
|
727
|
+
protected planModeToolPolicy?: PlanModeToolPolicy;
|
|
690
728
|
constructor(config?: Partial<PermissionConfig>, promptFn?: PermissionPromptFn, decisionHook?: PermissionDecisionHook);
|
|
691
729
|
fork(promptFn?: PermissionPromptFn | undefined): PermissionEngine;
|
|
730
|
+
setPlanModeToolPolicy(policy: PlanModeToolPolicy | undefined): void;
|
|
731
|
+
get planModePolicy(): PlanModeToolPolicy | undefined;
|
|
732
|
+
deriveChild(options?: DerivedPermissionEngineOptions): PermissionEngine;
|
|
733
|
+
protected planModeVerdict(toolName: string, canonicalToolName: string, input: Record<string, unknown>, tool: PermissionToolMetadata | undefined): Promise<{
|
|
734
|
+
kind: "refuse";
|
|
735
|
+
reason: string;
|
|
736
|
+
} | {
|
|
737
|
+
kind: "admit";
|
|
738
|
+
reason: string;
|
|
739
|
+
} | {
|
|
740
|
+
kind: "defer";
|
|
741
|
+
}>;
|
|
742
|
+
private planModeReadOnlyAdmission;
|
|
692
743
|
get mode(): PermissionConfig["mode"];
|
|
693
744
|
setMode(mode: PermissionConfig["mode"]): void;
|
|
694
745
|
setWorkingDirectory(cwd: string): void;
|
|
@@ -701,7 +752,10 @@ declare class PermissionEngine {
|
|
|
701
752
|
reason: string;
|
|
702
753
|
}>;
|
|
703
754
|
private checkElevatedBash;
|
|
704
|
-
|
|
755
|
+
protected finalizeDecision(toolName: string, input: Record<string, unknown>, allowed: boolean, reason: string, traceId?: string, requesterLabel?: string): Promise<{
|
|
756
|
+
allowed: boolean;
|
|
757
|
+
reason: string;
|
|
758
|
+
}>;
|
|
705
759
|
classifyAutoPermission(toolName: string, input: Record<string, unknown>): AutoPermissionDecision;
|
|
706
760
|
private contentDigest;
|
|
707
761
|
private bashScopeSuffix;
|
|
@@ -715,7 +769,7 @@ declare class PermissionEngine {
|
|
|
715
769
|
private promptUser;
|
|
716
770
|
private getToolDetail;
|
|
717
771
|
private getCommandPrefix;
|
|
718
|
-
|
|
772
|
+
protected matchesRule(ruleTool: string, pattern: string | undefined, toolName: string, input: Record<string, unknown>): boolean;
|
|
719
773
|
private matchesBashPattern;
|
|
720
774
|
private matchesWildcard;
|
|
721
775
|
private isCredentialLikePath;
|
package/dist/electron/index.d.ts
CHANGED
|
@@ -299,10 +299,42 @@ interface ToolPolicyProjection {
|
|
|
299
299
|
approvalKey?: string;
|
|
300
300
|
riskLevel?: "low" | "medium" | "high";
|
|
301
301
|
}
|
|
302
|
+
interface ToolAnnotationHints {
|
|
303
|
+
title?: string;
|
|
304
|
+
readOnlyHint?: boolean;
|
|
305
|
+
destructiveHint?: boolean;
|
|
306
|
+
idempotentHint?: boolean;
|
|
307
|
+
openWorldHint?: boolean;
|
|
308
|
+
}
|
|
309
|
+
interface ToolOrigin {
|
|
310
|
+
kind: "mcp";
|
|
311
|
+
server: string;
|
|
312
|
+
tool: string;
|
|
313
|
+
}
|
|
314
|
+
interface PermissionToolMetadata {
|
|
315
|
+
readOnly?: boolean;
|
|
316
|
+
annotations?: ToolAnnotationHints;
|
|
317
|
+
origin?: ToolOrigin;
|
|
318
|
+
}
|
|
319
|
+
interface PlanModeReadOnlyClaim {
|
|
320
|
+
toolName: string;
|
|
321
|
+
input: Record<string, unknown>;
|
|
322
|
+
source: "annotation" | "declaration";
|
|
323
|
+
origin?: ToolOrigin;
|
|
324
|
+
annotations?: ToolAnnotationHints;
|
|
325
|
+
}
|
|
326
|
+
interface PlanModeToolPolicy {
|
|
327
|
+
honourReadOnlyAnnotations?: boolean;
|
|
328
|
+
honourReadOnlyDeclarations?: boolean;
|
|
329
|
+
allowTools?: readonly string[];
|
|
330
|
+
validateReadOnlyClaim?: (claim: PlanModeReadOnlyClaim) => boolean | Promise<boolean>;
|
|
331
|
+
}
|
|
302
332
|
interface RegisteredTool {
|
|
303
333
|
definition: ToolDefinition;
|
|
304
334
|
execute: ToolExecutor;
|
|
305
335
|
readOnly?: boolean;
|
|
336
|
+
annotations?: ToolAnnotationHints;
|
|
337
|
+
origin?: ToolOrigin;
|
|
306
338
|
projectPolicyInput?: (input: Record<string, unknown>, context?: ToolPolicyProjectionContext) => ToolPolicyProjection | {
|
|
307
339
|
error: ToolResult;
|
|
308
340
|
};
|
|
@@ -677,18 +709,37 @@ interface PermissionCheckContext {
|
|
|
677
709
|
ephemeralInputPreview?: string;
|
|
678
710
|
onWaitStart?: () => void;
|
|
679
711
|
onWaitEnd?: () => void;
|
|
712
|
+
tool?: PermissionToolMetadata;
|
|
713
|
+
}
|
|
714
|
+
interface DerivedPermissionEngineOptions {
|
|
715
|
+
mode?: "default" | "plan";
|
|
716
|
+
rules?: PermissionConfig["rules"];
|
|
680
717
|
}
|
|
681
718
|
declare class PermissionEngine {
|
|
682
|
-
|
|
719
|
+
protected config: PermissionConfig;
|
|
683
720
|
private workingDirectory;
|
|
684
721
|
private sessionAllowed;
|
|
685
722
|
private sessionAllowedDirectories;
|
|
686
723
|
private persistentAllowed;
|
|
687
724
|
private persistentAllowedDirectories;
|
|
688
|
-
|
|
689
|
-
|
|
725
|
+
protected promptFn?: PermissionPromptFn;
|
|
726
|
+
protected decisionHook?: PermissionDecisionHook;
|
|
727
|
+
protected planModeToolPolicy?: PlanModeToolPolicy;
|
|
690
728
|
constructor(config?: Partial<PermissionConfig>, promptFn?: PermissionPromptFn, decisionHook?: PermissionDecisionHook);
|
|
691
729
|
fork(promptFn?: PermissionPromptFn | undefined): PermissionEngine;
|
|
730
|
+
setPlanModeToolPolicy(policy: PlanModeToolPolicy | undefined): void;
|
|
731
|
+
get planModePolicy(): PlanModeToolPolicy | undefined;
|
|
732
|
+
deriveChild(options?: DerivedPermissionEngineOptions): PermissionEngine;
|
|
733
|
+
protected planModeVerdict(toolName: string, canonicalToolName: string, input: Record<string, unknown>, tool: PermissionToolMetadata | undefined): Promise<{
|
|
734
|
+
kind: "refuse";
|
|
735
|
+
reason: string;
|
|
736
|
+
} | {
|
|
737
|
+
kind: "admit";
|
|
738
|
+
reason: string;
|
|
739
|
+
} | {
|
|
740
|
+
kind: "defer";
|
|
741
|
+
}>;
|
|
742
|
+
private planModeReadOnlyAdmission;
|
|
692
743
|
get mode(): PermissionConfig["mode"];
|
|
693
744
|
setMode(mode: PermissionConfig["mode"]): void;
|
|
694
745
|
setWorkingDirectory(cwd: string): void;
|
|
@@ -701,7 +752,10 @@ declare class PermissionEngine {
|
|
|
701
752
|
reason: string;
|
|
702
753
|
}>;
|
|
703
754
|
private checkElevatedBash;
|
|
704
|
-
|
|
755
|
+
protected finalizeDecision(toolName: string, input: Record<string, unknown>, allowed: boolean, reason: string, traceId?: string, requesterLabel?: string): Promise<{
|
|
756
|
+
allowed: boolean;
|
|
757
|
+
reason: string;
|
|
758
|
+
}>;
|
|
705
759
|
classifyAutoPermission(toolName: string, input: Record<string, unknown>): AutoPermissionDecision;
|
|
706
760
|
private contentDigest;
|
|
707
761
|
private bashScopeSuffix;
|
|
@@ -715,7 +769,7 @@ declare class PermissionEngine {
|
|
|
715
769
|
private promptUser;
|
|
716
770
|
private getToolDetail;
|
|
717
771
|
private getCommandPrefix;
|
|
718
|
-
|
|
772
|
+
protected matchesRule(ruleTool: string, pattern: string | undefined, toolName: string, input: Record<string, unknown>): boolean;
|
|
719
773
|
private matchesBashPattern;
|
|
720
774
|
private matchesWildcard;
|
|
721
775
|
private isCredentialLikePath;
|