@veruna/api-contracts 20.1.0 → 20.2.0

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.
@@ -20,6 +20,7 @@ export declare enum CodeExecutionErrorCode {
20
20
  /** An input attachment does not belong to the caller / chat. */
21
21
  CODE_EXECUTION_INPUT_FILE_FORBIDDEN = "CODE_EXECUTION_INPUT_FILE_FORBIDDEN",
22
22
  /** Failed to upload an input file into the sandbox filesystem. */
23
- CODE_EXECUTION_FILE_UPLOAD_FAILED = "CODE_EXECUTION_FILE_UPLOAD_FAILED"
23
+ CODE_EXECUTION_FILE_UPLOAD_FAILED = "CODE_EXECUTION_FILE_UPLOAD_FAILED",
24
+ CODE_EXECUTION_TEMPORARILY_UNAVAILABLE = "CODE_EXECUTION_TEMPORARILY_UNAVAILABLE"
24
25
  }
25
26
  export declare const CODE_EXECUTION_ERRORS: Record<CodeExecutionErrorCode, ErrorMetadata>;
@@ -24,8 +24,13 @@ var CodeExecutionErrorCode;
24
24
  CodeExecutionErrorCode["CODE_EXECUTION_INPUT_FILE_FORBIDDEN"] = "CODE_EXECUTION_INPUT_FILE_FORBIDDEN";
25
25
  /** Failed to upload an input file into the sandbox filesystem. */
26
26
  CodeExecutionErrorCode["CODE_EXECUTION_FILE_UPLOAD_FAILED"] = "CODE_EXECUTION_FILE_UPLOAD_FAILED";
27
+ CodeExecutionErrorCode["CODE_EXECUTION_TEMPORARILY_UNAVAILABLE"] = "CODE_EXECUTION_TEMPORARILY_UNAVAILABLE";
27
28
  })(CodeExecutionErrorCode || (exports.CodeExecutionErrorCode = CodeExecutionErrorCode = {}));
28
29
  exports.CODE_EXECUTION_ERRORS = {
30
+ [CodeExecutionErrorCode.CODE_EXECUTION_TEMPORARILY_UNAVAILABLE]: {
31
+ code: CodeExecutionErrorCode.CODE_EXECUTION_TEMPORARILY_UNAVAILABLE,
32
+ statusCode: 503,
33
+ },
29
34
  [CodeExecutionErrorCode.CODE_EXECUTION_FAILED]: {
30
35
  code: CodeExecutionErrorCode.CODE_EXECUTION_FAILED,
31
36
  statusCode: 500,
@@ -1 +1 @@
1
- {"version":3,"file":"code-execution.errors.js","sourceRoot":"","sources":["../../../../v1/tool/sandbox/code-execution.errors.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,IAAY,sBAWX;AAXD,WAAY,sBAAsB;IAC9B,2EAA2E;IAC3E,yEAA+C,CAAA;IAC/C,4DAA4D;IAC5D,2EAAiD,CAAA;IACjD,qEAAqE;IACrE,iGAAuE,CAAA;IACvE,gEAAgE;IAChE,qGAA2E,CAAA;IAC3E,kEAAkE;IAClE,iGAAuE,CAAA;AAC3E,CAAC,EAXW,sBAAsB,sCAAtB,sBAAsB,QAWjC;AAEY,QAAA,qBAAqB,GAAkD;IAChF,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,EAAE;QAC5C,IAAI,EAAE,sBAAsB,CAAC,qBAAqB;QAClD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,EAAE;QAC7C,IAAI,EAAE,sBAAsB,CAAC,sBAAsB;QACnD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,EAAE;QACxD,IAAI,EAAE,sBAAsB,CAAC,iCAAiC;QAC9D,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,mCAAmC,CAAC,EAAE;QAC1D,IAAI,EAAE,sBAAsB,CAAC,mCAAmC;QAChE,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,EAAE;QACxD,IAAI,EAAE,sBAAsB,CAAC,iCAAiC;QAC9D,UAAU,EAAE,GAAG;KAClB;CACK,CAAC"}
1
+ {"version":3,"file":"code-execution.errors.js","sourceRoot":"","sources":["../../../../v1/tool/sandbox/code-execution.errors.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,IAAY,sBAYX;AAZD,WAAY,sBAAsB;IAC9B,2EAA2E;IAC3E,yEAA+C,CAAA;IAC/C,4DAA4D;IAC5D,2EAAiD,CAAA;IACjD,qEAAqE;IACrE,iGAAuE,CAAA;IACvE,gEAAgE;IAChE,qGAA2E,CAAA;IAC3E,kEAAkE;IAClE,iGAAuE,CAAA;IACvE,2GAAiF,CAAA;AACrF,CAAC,EAZW,sBAAsB,sCAAtB,sBAAsB,QAYjC;AAEY,QAAA,qBAAqB,GAAkD;IAChF,CAAC,sBAAsB,CAAC,sCAAsC,CAAC,EAAE;QAC7D,IAAI,EAAE,sBAAsB,CAAC,sCAAsC;QACnE,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,EAAE;QAC5C,IAAI,EAAE,sBAAsB,CAAC,qBAAqB;QAClD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,EAAE;QAC7C,IAAI,EAAE,sBAAsB,CAAC,sBAAsB;QACnD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,EAAE;QACxD,IAAI,EAAE,sBAAsB,CAAC,iCAAiC;QAC9D,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,mCAAmC,CAAC,EAAE;QAC1D,IAAI,EAAE,sBAAsB,CAAC,mCAAmC;QAChE,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,sBAAsB,CAAC,iCAAiC,CAAC,EAAE;QACxD,IAAI,EAAE,sBAAsB,CAAC,iCAAiC;QAC9D,UAAU,EAAE,GAAG;KAClB;CACK,CAAC"}
@@ -2,8 +2,7 @@ import { ErrorMetadata } from '../../../shared';
2
2
  /**
3
3
  * Error codes for sandbox primitive tool operations (bash, file read/write/list).
4
4
  *
5
- * These codes are used by PR #2 tool handlers for path validation and
6
- * by the infrastructure handlers in PR #1 for file-not-found mapping.
5
+ * Used by sandbox tools for validation and infrastructure handlers for lifecycle and file errors.
7
6
  */
8
7
  export declare enum SandboxErrorCode {
9
8
  /** The requested file or directory does not exist in the sandbox. */
@@ -31,7 +30,9 @@ export declare enum SandboxErrorCode {
31
30
  * whose actual content is not a PNG. View refused to process it.
32
31
  */
33
32
  SANDBOX_CONTENT_TYPE_MISMATCH = "SANDBOX_CONTENT_TYPE_MISMATCH",
34
- /** A server-bundled SKILL.md no longer matches its pinned SHA-256 digest. */
33
+ /** No verified public skill document exists at the requested reserved path. */
34
+ SANDBOX_SKILL_NOT_FOUND = "SANDBOX_SKILL_NOT_FOUND",
35
+ /** The generated manifest disagrees with the shipped public Markdown bundle. */
35
36
  SANDBOX_SKILL_INTEGRITY_FAILED = "SANDBOX_SKILL_INTEGRITY_FAILED",
36
37
  /**
37
38
  * The caller does not own the sandbox session they are trying to access.
@@ -43,6 +44,12 @@ export declare enum SandboxErrorCode {
43
44
  * Indicates data corruption that must be investigated.
44
45
  */
45
46
  SANDBOX_STATUS_CORRUPT = "SANDBOX_STATUS_CORRUPT",
47
+ /** The provider could not verify the sandbox network configuration. */
48
+ SANDBOX_NETWORK_CHECK_UNAVAILABLE = "SANDBOX_NETWORK_CHECK_UNAVAILABLE",
49
+ /** The requested sandbox no longer exists at the provider. */
50
+ SANDBOX_NOT_FOUND = "SANDBOX_NOT_FOUND",
51
+ /** The sandbox network configuration does not meet the required policy. */
52
+ SANDBOX_NETWORK_POSTURE_UNSAFE = "SANDBOX_NETWORK_POSTURE_UNSAFE",
46
53
  /**
47
54
  * The bash command matched a denylist pattern (e.g. writes to ~/.bashrc,
48
55
  * /etc/, eval+curl exfiltration). The command was rejected before execution.
@@ -4,8 +4,7 @@ exports.SANDBOX_ERRORS = exports.SandboxErrorCode = void 0;
4
4
  /**
5
5
  * Error codes for sandbox primitive tool operations (bash, file read/write/list).
6
6
  *
7
- * These codes are used by PR #2 tool handlers for path validation and
8
- * by the infrastructure handlers in PR #1 for file-not-found mapping.
7
+ * Used by sandbox tools for validation and infrastructure handlers for lifecycle and file errors.
9
8
  */
10
9
  var SandboxErrorCode;
11
10
  (function (SandboxErrorCode) {
@@ -34,7 +33,9 @@ var SandboxErrorCode;
34
33
  * whose actual content is not a PNG. View refused to process it.
35
34
  */
36
35
  SandboxErrorCode["SANDBOX_CONTENT_TYPE_MISMATCH"] = "SANDBOX_CONTENT_TYPE_MISMATCH";
37
- /** A server-bundled SKILL.md no longer matches its pinned SHA-256 digest. */
36
+ /** No verified public skill document exists at the requested reserved path. */
37
+ SandboxErrorCode["SANDBOX_SKILL_NOT_FOUND"] = "SANDBOX_SKILL_NOT_FOUND";
38
+ /** The generated manifest disagrees with the shipped public Markdown bundle. */
38
39
  SandboxErrorCode["SANDBOX_SKILL_INTEGRITY_FAILED"] = "SANDBOX_SKILL_INTEGRITY_FAILED";
39
40
  /**
40
41
  * The caller does not own the sandbox session they are trying to access.
@@ -46,6 +47,12 @@ var SandboxErrorCode;
46
47
  * Indicates data corruption that must be investigated.
47
48
  */
48
49
  SandboxErrorCode["SANDBOX_STATUS_CORRUPT"] = "SANDBOX_STATUS_CORRUPT";
50
+ /** The provider could not verify the sandbox network configuration. */
51
+ SandboxErrorCode["SANDBOX_NETWORK_CHECK_UNAVAILABLE"] = "SANDBOX_NETWORK_CHECK_UNAVAILABLE";
52
+ /** The requested sandbox no longer exists at the provider. */
53
+ SandboxErrorCode["SANDBOX_NOT_FOUND"] = "SANDBOX_NOT_FOUND";
54
+ /** The sandbox network configuration does not meet the required policy. */
55
+ SandboxErrorCode["SANDBOX_NETWORK_POSTURE_UNSAFE"] = "SANDBOX_NETWORK_POSTURE_UNSAFE";
49
56
  /**
50
57
  * The bash command matched a denylist pattern (e.g. writes to ~/.bashrc,
51
58
  * /etc/, eval+curl exfiltration). The command was rejected before execution.
@@ -105,6 +112,10 @@ exports.SANDBOX_ERRORS = {
105
112
  code: SandboxErrorCode.SANDBOX_CONTENT_TYPE_MISMATCH,
106
113
  statusCode: 400,
107
114
  },
115
+ [SandboxErrorCode.SANDBOX_SKILL_NOT_FOUND]: {
116
+ code: SandboxErrorCode.SANDBOX_SKILL_NOT_FOUND,
117
+ statusCode: 404,
118
+ },
108
119
  [SandboxErrorCode.SANDBOX_SKILL_INTEGRITY_FAILED]: {
109
120
  code: SandboxErrorCode.SANDBOX_SKILL_INTEGRITY_FAILED,
110
121
  statusCode: 500,
@@ -117,6 +128,18 @@ exports.SANDBOX_ERRORS = {
117
128
  code: SandboxErrorCode.SANDBOX_STATUS_CORRUPT,
118
129
  statusCode: 500,
119
130
  },
131
+ [SandboxErrorCode.SANDBOX_NETWORK_CHECK_UNAVAILABLE]: {
132
+ code: SandboxErrorCode.SANDBOX_NETWORK_CHECK_UNAVAILABLE,
133
+ statusCode: 503,
134
+ },
135
+ [SandboxErrorCode.SANDBOX_NOT_FOUND]: {
136
+ code: SandboxErrorCode.SANDBOX_NOT_FOUND,
137
+ statusCode: 404,
138
+ },
139
+ [SandboxErrorCode.SANDBOX_NETWORK_POSTURE_UNSAFE]: {
140
+ code: SandboxErrorCode.SANDBOX_NETWORK_POSTURE_UNSAFE,
141
+ statusCode: 503,
142
+ },
120
143
  [SandboxErrorCode.BASH_COMMAND_DENIED]: {
121
144
  code: SandboxErrorCode.BASH_COMMAND_DENIED,
122
145
  statusCode: 400,
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.errors.js","sourceRoot":"","sources":["../../../../v1/tool/sandbox/sandbox.errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.errors.js","sourceRoot":"","sources":["../../../../v1/tool/sandbox/sandbox.errors.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,IAAY,gBAmEX;AAnED,WAAY,gBAAgB;IACxB,qEAAqE;IACrE,qEAAiD,CAAA;IACjD,qEAAqE;IACrE,yDAAqC,CAAA;IACrC,uEAAuE;IACvE,iEAA6C,CAAA;IAC7C,oFAAoF;IACpF,iFAA6D,CAAA;IAC7D,yDAAyD;IACzD,+DAA2C,CAAA;IAC3C,8EAA8E;IAC9E,qEAAiD,CAAA;IACjD,sFAAsF;IACtF,+EAA2D,CAAA;IAC3D;;;;OAIG;IACH,6FAAyE,CAAA;IACzE;;;OAGG;IACH,mFAA+D,CAAA;IAC/D,+EAA+E;IAC/E,uEAAmD,CAAA;IACnD,gFAAgF;IAChF,qFAAiE,CAAA;IACjE;;;OAGG;IACH,2DAAuC,CAAA;IACvC;;;OAGG;IACH,qEAAiD,CAAA;IACjD,uEAAuE;IACvE,2FAAuE,CAAA;IACvE,8DAA8D;IAC9D,2DAAuC,CAAA;IACvC,2EAA2E;IAC3E,qFAAiE,CAAA;IACjE;;;OAGG;IACH,+DAA2C,CAAA;IAC3C;;;;;;;OAOG;IACH,mFAA+D,CAAA;IAC/D;;;;;OAKG;IACH,2EAAuD,CAAA;AAC3D,CAAC,EAnEW,gBAAgB,gCAAhB,gBAAgB,QAmE3B;AAEY,QAAA,cAAc,GAA4C;IACnE,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;QACvC,IAAI,EAAE,gBAAgB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,EAAE;QACjC,IAAI,EAAE,gBAAgB,CAAC,gBAAgB;QACvC,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAAE;QACrC,IAAI,EAAE,gBAAgB,CAAC,oBAAoB;QAC3C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,EAAE;QAC7C,IAAI,EAAE,gBAAgB,CAAC,4BAA4B;QACnD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;QACpC,IAAI,EAAE,gBAAgB,CAAC,mBAAmB;QAC1C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;QACvC,IAAI,EAAE,gBAAgB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAAE;QAC5C,IAAI,EAAE,gBAAgB,CAAC,2BAA2B;QAClD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,EAAE;QACnD,IAAI,EAAE,gBAAgB,CAAC,kCAAkC;QACzD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,EAAE;QAC9C,IAAI,EAAE,gBAAgB,CAAC,6BAA6B;QACpD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE;QACxC,IAAI,EAAE,gBAAgB,CAAC,uBAAuB;QAC9C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,EAAE;QAC/C,IAAI,EAAE,gBAAgB,CAAC,8BAA8B;QACrD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE;QAClC,IAAI,EAAE,gBAAgB,CAAC,iBAAiB;QACxC,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;QACvC,IAAI,EAAE,gBAAgB,CAAC,sBAAsB;QAC7C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,iCAAiC,CAAC,EAAE;QAClD,IAAI,EAAE,gBAAgB,CAAC,iCAAiC;QACxD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE;QAClC,IAAI,EAAE,gBAAgB,CAAC,iBAAiB;QACxC,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,8BAA8B,CAAC,EAAE;QAC/C,IAAI,EAAE,gBAAgB,CAAC,8BAA8B;QACrD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;QACpC,IAAI,EAAE,gBAAgB,CAAC,mBAAmB;QAC1C,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,EAAE;QAC9C,IAAI,EAAE,gBAAgB,CAAC,6BAA6B;QACpD,UAAU,EAAE,GAAG;KAClB;IACD,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE;QAC1C,IAAI,EAAE,gBAAgB,CAAC,yBAAyB;QAChD,UAAU,EAAE,GAAG;KAClB;CACK,CAAC"}