@sweny-ai/core 0.1.142 → 0.1.143

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/dist/schema.d.ts CHANGED
@@ -42,12 +42,12 @@ export declare const toolZ: z.ZodObject<{
42
42
  description: string;
43
43
  name: string;
44
44
  input_schema: Record<string, unknown>;
45
- access?: "read" | "write" | undefined;
45
+ access?: "write" | "read" | undefined;
46
46
  }, {
47
47
  description: string;
48
48
  name: string;
49
49
  input_schema: Record<string, unknown>;
50
- access?: "read" | "write" | undefined;
50
+ access?: "write" | "read" | undefined;
51
51
  }>;
52
52
  export declare const skillCategoryZ: z.ZodEnum<["general", "git", "tasks", "notification", "observability", "data"]>;
53
53
  export declare const mcpServerConfigZ: z.ZodEffects<z.ZodObject<{
@@ -202,12 +202,12 @@ export declare const skillZ: z.ZodEffects<z.ZodObject<{
202
202
  description: string;
203
203
  name: string;
204
204
  input_schema: Record<string, unknown>;
205
- access?: "read" | "write" | undefined;
205
+ access?: "write" | "read" | undefined;
206
206
  }, {
207
207
  description: string;
208
208
  name: string;
209
209
  input_schema: Record<string, unknown>;
210
- access?: "read" | "write" | undefined;
210
+ access?: "write" | "read" | undefined;
211
211
  }>, "many">>;
212
212
  instruction: z.ZodOptional<z.ZodString>;
213
213
  mcp: z.ZodOptional<z.ZodEffects<z.ZodObject<{
@@ -261,7 +261,7 @@ export declare const skillZ: z.ZodEffects<z.ZodObject<{
261
261
  description: string;
262
262
  name: string;
263
263
  input_schema: Record<string, unknown>;
264
- access?: "read" | "write" | undefined;
264
+ access?: "write" | "read" | undefined;
265
265
  }[];
266
266
  instruction?: string | undefined;
267
267
  mcp?: {
@@ -296,7 +296,7 @@ export declare const skillZ: z.ZodEffects<z.ZodObject<{
296
296
  description: string;
297
297
  name: string;
298
298
  input_schema: Record<string, unknown>;
299
- access?: "read" | "write" | undefined;
299
+ access?: "write" | "read" | undefined;
300
300
  }[] | undefined;
301
301
  mcpAliases?: Record<string, string[]> | undefined;
302
302
  }>, {
@@ -313,7 +313,7 @@ export declare const skillZ: z.ZodEffects<z.ZodObject<{
313
313
  description: string;
314
314
  name: string;
315
315
  input_schema: Record<string, unknown>;
316
- access?: "read" | "write" | undefined;
316
+ access?: "write" | "read" | undefined;
317
317
  }[];
318
318
  instruction?: string | undefined;
319
319
  mcp?: {
@@ -348,7 +348,7 @@ export declare const skillZ: z.ZodEffects<z.ZodObject<{
348
348
  description: string;
349
349
  name: string;
350
350
  input_schema: Record<string, unknown>;
351
- access?: "read" | "write" | undefined;
351
+ access?: "write" | "read" | undefined;
352
352
  }[] | undefined;
353
353
  mcpAliases?: Record<string, string[]> | undefined;
354
354
  }>;
@@ -3199,11 +3199,11 @@ export declare const workflowJsonSchema: {
3199
3199
  readonly type: "string";
3200
3200
  readonly minLength: 1;
3201
3201
  };
3202
- readonly description: "Built-in tool names the agent cannot use at this node (e.g. ['Bash']). Forwarded to the Claude Agent SDK's disallowedTools, which removes the tools from the model context entirely.";
3202
+ readonly description: "Built-in tool names the agent cannot use at this node, in the harness's own names (Claude Code: ['Bash']). Passed through to the harness: Claude Code removes them from the model context; Codex maps known names to tool classes and reports what it cannot deny as degraded. For portable workflows prefer tool classes in tools.deny.";
3203
3203
  };
3204
3204
  readonly tools: {
3205
3205
  readonly type: "object";
3206
- readonly description: "Per-node filter over skill-provided tools. 'allow' keeps only the listed skill tools; 'deny' removes the listed skill tools (applied after 'allow'). Filtered tools are never registered for the node's run. Absent field = all skill tools exposed. Complements disallowed_tools, which covers built-in agent tools only.";
3206
+ readonly description: "Per-node filter over skill-provided tools. 'allow' keeps only the listed skill tools; 'deny' removes the listed skill tools (applied after 'allow'). Filtered tools are never registered for the node's run. Absent field = all skill tools exposed. A 'deny' entry that names a portable tool class (shell, write, edit, net, subagent) also denies that class of built-in agent tools on every harness.";
3207
3207
  readonly additionalProperties: false;
3208
3208
  readonly anyOf: readonly [{
3209
3209
  readonly required: readonly ["allow"];
@@ -3226,6 +3226,7 @@ export declare const workflowJsonSchema: {
3226
3226
  readonly minLength: 1;
3227
3227
  };
3228
3228
  readonly minItems: 1;
3229
+ readonly description: "Skill tool names to remove, and/or portable tool classes (shell, write, edit, net, subagent) to deny for built-in agent tools. Each harness enforces a class natively or reports it as degraded; under strict harness policy an unenforceable class refuses the node.";
3229
3230
  };
3230
3231
  };
3231
3232
  };
@@ -3358,7 +3359,7 @@ export declare const workflowJsonSchema: {
3358
3359
  };
3359
3360
  readonly when: {
3360
3361
  readonly type: "string";
3361
- readonly description: "Natural language condition. Claude evaluates at runtime.";
3362
+ readonly description: "Natural language condition, evaluated at runtime by the workflow's harness.";
3362
3363
  };
3363
3364
  readonly max_iterations: {
3364
3365
  readonly type: "integer";
package/dist/schema.js CHANGED
@@ -860,11 +860,11 @@ export const workflowJsonSchema = {
860
860
  disallowed_tools: {
861
861
  type: "array",
862
862
  items: { type: "string", minLength: 1 },
863
- description: "Built-in tool names the agent cannot use at this node (e.g. ['Bash']). Forwarded to the Claude Agent SDK's disallowedTools, which removes the tools from the model context entirely.",
863
+ description: "Built-in tool names the agent cannot use at this node, in the harness's own names (Claude Code: ['Bash']). Passed through to the harness: Claude Code removes them from the model context; Codex maps known names to tool classes and reports what it cannot deny as degraded. For portable workflows prefer tool classes in tools.deny.",
864
864
  },
865
865
  tools: {
866
866
  type: "object",
867
- description: "Per-node filter over skill-provided tools. 'allow' keeps only the listed skill tools; 'deny' removes the listed skill tools (applied after 'allow'). Filtered tools are never registered for the node's run. Absent field = all skill tools exposed. Complements disallowed_tools, which covers built-in agent tools only.",
867
+ description: "Per-node filter over skill-provided tools. 'allow' keeps only the listed skill tools; 'deny' removes the listed skill tools (applied after 'allow'). Filtered tools are never registered for the node's run. Absent field = all skill tools exposed. A 'deny' entry that names a portable tool class (shell, write, edit, net, subagent) also denies that class of built-in agent tools on every harness.",
868
868
  additionalProperties: false,
869
869
  anyOf: [{ required: ["allow"] }, { required: ["deny"] }],
870
870
  properties: {
@@ -877,6 +877,7 @@ export const workflowJsonSchema = {
877
877
  type: "array",
878
878
  items: { type: "string", minLength: 1 },
879
879
  minItems: 1,
880
+ description: "Skill tool names to remove, and/or portable tool classes (shell, write, edit, net, subagent) to deny for built-in agent tools. Each harness enforces a class natively or reports it as degraded; under strict harness policy an unenforceable class refuses the node.",
880
881
  },
881
882
  },
882
883
  },
@@ -981,7 +982,10 @@ export const workflowJsonSchema = {
981
982
  properties: {
982
983
  from: { type: "string", minLength: 1 },
983
984
  to: { type: "string", minLength: 1 },
984
- when: { type: "string", description: "Natural language condition. Claude evaluates at runtime." },
985
+ when: {
986
+ type: "string",
987
+ description: "Natural language condition, evaluated at runtime by the workflow's harness.",
988
+ },
985
989
  max_iterations: {
986
990
  type: "integer",
987
991
  minimum: 1,
package/dist/types.d.ts CHANGED
@@ -2,6 +2,7 @@ export type { Source, ResolvedSource, SourceKind, SourceResolutionMap } from "./
2
2
  export type { WorkflowInputs, WorkflowInputField, WorkflowInputType, InputValidationError, InputValidationResult, } from "./inputs.js";
3
3
  export { WORKFLOW_INPUT_TYPES } from "./inputs.js";
4
4
  import type { Source as _Source, ResolvedSource as _ResolvedSource } from "./sources.js";
5
+ import type { ToolClass } from "./harness/types.js";
5
6
  export type JSONSchema = Record<string, unknown>;
6
7
  /** Context passed to tool handlers at execution time */
7
8
  export interface ToolContext {
@@ -376,7 +377,7 @@ export interface NodeToolFilter {
376
377
  export interface Edge {
377
378
  from: string;
378
379
  to: string;
379
- /** Natural language condition. Claude evaluates at runtime. */
380
+ /** Natural language condition, evaluated at runtime by the workflow's harness. */
380
381
  when?: string;
381
382
  /** Max times this edge can be followed (enables retry loops). Default: unlimited. */
382
383
  max_iterations?: number;
@@ -624,6 +625,12 @@ export interface Claude {
624
625
  maxTurns?: number;
625
626
  /** Built-in SDK tool names to disallow for this node (e.g. ["Bash"]). */
626
627
  disallowedTools?: string[];
628
+ /**
629
+ * Portable built-in tool classes denied at this node (`tools.deny` entries
630
+ * that name a class: shell, write, edit, net, subagent). Each harness
631
+ * compiles them to its native form, or reports them in `degraded`.
632
+ */
633
+ deny?: ToolClass[];
627
634
  /** Per-node execution model. Overrides the client default when set. Absent = no SDK model option emitted. */
628
635
  model?: string;
629
636
  /** Abort the query after this many ms. Default: no timeout (back-compat). */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sweny-ai/core",
3
- "version": "0.1.142",
3
+ "version": "0.1.143",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "sweny": "./dist/cli/main.js"