@ego-z/contracts 0.14.0 → 0.14.1
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/package.json +1 -1
- package/src/tool.d.ts +18 -0
package/package.json
CHANGED
package/src/tool.d.ts
CHANGED
|
@@ -81,6 +81,24 @@ export interface JsonSchemaPropertyWire {
|
|
|
81
81
|
items?: JsonSchemaPropertyWire;
|
|
82
82
|
properties?: Record<string, JsonSchemaPropertyWire>;
|
|
83
83
|
required?: string[];
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Marks an argument as sensitive: its value is replaced with `'***'`
|
|
87
|
+
* before the `tool.calling` event goes on the wire. The tool still
|
|
88
|
+
* receives the real value — this governs observability, not execution.
|
|
89
|
+
*
|
|
90
|
+
* Why it lives on the schema rather than in a consumer's redaction
|
|
91
|
+
* rules: a downstream denylist can only catch key names someone thought
|
|
92
|
+
* of, and the tool catalog is editable at runtime, so the first tool
|
|
93
|
+
* taking a `dob` or `iban` ships before anyone updates the list. The
|
|
94
|
+
* person adding the tool is the one who knows, and marking it here
|
|
95
|
+
* means every consumer inherits that answer instead of re-deriving it.
|
|
96
|
+
*
|
|
97
|
+
* Absent means "not marked", not "safe" — pair it with a bounded
|
|
98
|
+
* projection when rendering args, so an unmarked-but-sensitive field is
|
|
99
|
+
* still limited by shape.
|
|
100
|
+
*/
|
|
101
|
+
sensitive?: boolean;
|
|
84
102
|
}
|
|
85
103
|
|
|
86
104
|
// ============================================================================
|