@agentknight/sdk 0.9.37 → 0.9.39
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/chunks/{acp-adapter-QK4MVTNN.js → acp-adapter-BWVM6WIF.js} +3 -3
- package/dist/chunks/{chunk-DSHLLGE2.js → chunk-45FBONW3.js} +1 -1
- package/dist/chunks/{chunk-UJZPAP64.js → chunk-BM6T2DLH.js} +1 -1
- package/dist/chunks/{chunk-N2LIXMIM.js → chunk-E3XCZWRK.js} +425 -245
- package/dist/chunks/{chunk-U2HBI4SH.js → chunk-KPRPUIXR.js} +1 -1
- package/dist/chunks/{chunk-QLGX7333.js → chunk-N4MN54CD.js} +1 -1
- package/dist/chunks/{chunk-7JRY2FRZ.js → chunk-QGPX4UDW.js} +137 -34
- package/dist/chunks/{chunk-IXV2BIUR.js → chunk-UE4QYZCG.js} +1 -1
- package/dist/chunks/{chunk-VXZ25DKC.js → chunk-VCNYBWYE.js} +2 -2
- package/dist/chunks/{copilot-adapter-KM6RMGFR.js → copilot-adapter-N5B7BNWO.js} +25 -11
- package/dist/chunks/{managed-agent-adapter-4W4HC67T.js → managed-agent-adapter-T3FVUJHA.js} +5 -5
- package/dist/chunks/{pi-adapter-IFNN3F4N.js → pi-adapter-PHEFFJVF.js} +3 -3
- package/dist/index.d.ts +54 -4
- package/dist/index.js +1953 -485
- package/dist/runtime.js +2 -2
- package/package.json +1 -1
|
@@ -1742,7 +1742,9 @@ var SESSION_DIRECTORY_MAX_ENTRIES = 500;
|
|
|
1742
1742
|
var SESSION_DIRECTORY_MAX_RESPONSE_BYTES = 128 * 1024;
|
|
1743
1743
|
var SESSION_FILE_READ_OPERATION = "session.file.read";
|
|
1744
1744
|
var SESSION_FILE_READ_VERSION = 1;
|
|
1745
|
+
var SESSION_FILE_READ_V2_VERSION = 2;
|
|
1745
1746
|
var SESSION_FILE_MAX_ORIGINAL_BYTES = 500 * 1024;
|
|
1747
|
+
var SESSION_FILE_V2_MAX_ORIGINAL_BYTES = 1024 * 1024;
|
|
1746
1748
|
var SESSION_FILE_GZIP_THRESHOLD_BYTES = 20 * 1024;
|
|
1747
1749
|
var SESSION_FILE_MAX_IMAGE_BYTES = 100 * 1024;
|
|
1748
1750
|
var SESSION_FILE_MAX_IMAGE_EDGE = 1280;
|
|
@@ -1750,6 +1752,9 @@ var SESSION_FILE_MAX_IMAGE_PIXELS = 16 * 1024 * 1024;
|
|
|
1750
1752
|
var SESSION_FILE_MAX_TRANSFER_BYTES = SESSION_FILE_MAX_ORIGINAL_BYTES + 1024;
|
|
1751
1753
|
var SESSION_FILE_MAX_BASE64_LENGTH = Math.ceil(SESSION_FILE_MAX_TRANSFER_BYTES / 3) * 4;
|
|
1752
1754
|
var SESSION_FILE_MAX_RESPONSE_BYTES = SESSION_FILE_MAX_BASE64_LENGTH + 8192;
|
|
1755
|
+
var SESSION_FILE_V2_MAX_TRANSFER_BYTES = SESSION_FILE_V2_MAX_ORIGINAL_BYTES + 1024;
|
|
1756
|
+
var SESSION_FILE_V2_MAX_BASE64_LENGTH = Math.ceil(SESSION_FILE_V2_MAX_TRANSFER_BYTES / 3) * 4;
|
|
1757
|
+
var SESSION_FILE_V2_MAX_RESPONSE_BYTES = SESSION_FILE_V2_MAX_BASE64_LENGTH + 8192;
|
|
1753
1758
|
var SESSION_FILE_MEDIA_TYPES = [
|
|
1754
1759
|
"text/plain",
|
|
1755
1760
|
"text/html",
|
|
@@ -1762,6 +1767,9 @@ var SESSION_FILE_MEDIA_TYPES = [
|
|
|
1762
1767
|
"application/yaml",
|
|
1763
1768
|
"image/webp"
|
|
1764
1769
|
];
|
|
1770
|
+
var SESSION_FILE_VIDEO_MEDIA_TYPES = ["video/mp4", "video/webm"];
|
|
1771
|
+
var SESSION_FILE_V2_MEDIA_TYPES = [...SESSION_FILE_MEDIA_TYPES, ...SESSION_FILE_VIDEO_MEDIA_TYPES];
|
|
1772
|
+
var SESSION_FILE_MAX_VIDEO_PIXELS = 16 * 1024 * 1024;
|
|
1765
1773
|
function isSafeSessionDirectoryPath(path) {
|
|
1766
1774
|
if (path === "")
|
|
1767
1775
|
return true;
|
|
@@ -1799,27 +1807,35 @@ var SessionFileReadDataSchema = z18.object({
|
|
|
1799
1807
|
path: z18.string().min(1).max(SESSION_DIRECTORY_MAX_PATH_LENGTH).refine(isSafeSessionDirectoryPath),
|
|
1800
1808
|
rootRevision: z18.string().regex(/^[A-Za-z0-9_-]{43}$/u)
|
|
1801
1809
|
}).strict();
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1810
|
+
function fileResultSchema(mediaTypes, extended) {
|
|
1811
|
+
const maxOriginal = extended ? SESSION_FILE_V2_MAX_ORIGINAL_BYTES : SESSION_FILE_MAX_ORIGINAL_BYTES;
|
|
1812
|
+
const maxTransfer = extended ? SESSION_FILE_V2_MAX_TRANSFER_BYTES : SESSION_FILE_MAX_TRANSFER_BYTES;
|
|
1813
|
+
return z18.object({
|
|
1814
|
+
path: SessionFileReadDataSchema.shape.path,
|
|
1815
|
+
rootRevision: SessionFileReadDataSchema.shape.rootRevision,
|
|
1816
|
+
mediaType: z18.enum(mediaTypes),
|
|
1817
|
+
originalByteLength: z18.number().int().min(0).max(maxOriginal),
|
|
1818
|
+
// Canonical length after decompression, not the length of the transport bytes.
|
|
1819
|
+
byteLength: z18.number().int().min(0).max(maxOriginal),
|
|
1820
|
+
encoding: z18.enum(["identity", "gzip"]),
|
|
1821
|
+
data: z18.string().max(extended ? SESSION_FILE_V2_MAX_BASE64_LENGTH : SESSION_FILE_MAX_BASE64_LENGTH)
|
|
1822
|
+
}).strict().superRefine((result, context) => {
|
|
1823
|
+
const invalid = () => context.addIssue({ code: "custom", message: "Invalid file content" });
|
|
1824
|
+
if (result.encoding === "gzip" !== result.originalByteLength >= SESSION_FILE_GZIP_THRESHOLD_BYTES)
|
|
1825
|
+
invalid();
|
|
1826
|
+
if (result.mediaType === "image/webp" ? result.byteLength === 0 || result.byteLength > SESSION_FILE_MAX_IMAGE_BYTES || result.originalByteLength === 0 : result.byteLength !== result.originalByteLength)
|
|
1827
|
+
invalid();
|
|
1828
|
+
if (result.mediaType.startsWith("video/") && (result.byteLength === 0 || !result.path.toLowerCase().endsWith(result.mediaType === "video/mp4" ? ".mp4" : ".webm")))
|
|
1829
|
+
invalid();
|
|
1830
|
+
const base64 = result.data;
|
|
1831
|
+
const padding = base64.endsWith("==") ? 2 : base64.endsWith("=") ? 1 : 0;
|
|
1832
|
+
const length = base64.length / 4 * 3 - padding;
|
|
1833
|
+
if (base64.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/u.test(base64) || length > maxTransfer || padding === 2 && !/[AQgw]==$/u.test(base64) || padding === 1 && !/[AEIMQUYcgkosw048]=$/u.test(base64) || (result.encoding === "identity" ? length !== result.byteLength : length < 20))
|
|
1834
|
+
invalid();
|
|
1835
|
+
});
|
|
1836
|
+
}
|
|
1837
|
+
var SessionFileReadResultDataSchema = fileResultSchema(SESSION_FILE_MEDIA_TYPES, false);
|
|
1838
|
+
var SessionFileReadV2ResultDataSchema = fileResultSchema(SESSION_FILE_V2_MEDIA_TYPES, true);
|
|
1823
1839
|
var SessionGitProjectSchema = z18.object({
|
|
1824
1840
|
localRepositoryKey: z18.string().length(43).regex(/^[A-Za-z0-9_-]{43}$/),
|
|
1825
1841
|
worktreeRoot: z18.string().min(1).max(SESSION_PROJECT_IDENTITY_MAX_PATH_LENGTH),
|
|
@@ -1831,8 +1847,69 @@ var SessionProjectIdentityResultDataSchema = z18.object({
|
|
|
1831
1847
|
project: SessionGitProjectSchema.optional()
|
|
1832
1848
|
}).strict();
|
|
1833
1849
|
|
|
1834
|
-
// ../protocol/dist/sessions/session-
|
|
1850
|
+
// ../protocol/dist/sessions/session-git-diff.js
|
|
1835
1851
|
import { z as z19 } from "zod";
|
|
1852
|
+
var SESSION_GIT_DIFF_OPERATION = "session.git.diff";
|
|
1853
|
+
var SESSION_GIT_DIFF_VERSION = 1;
|
|
1854
|
+
var SESSION_GIT_DIFF_GZIP_VERSION = 2;
|
|
1855
|
+
var SESSION_GIT_DIFF_GZIP_MIN_BYTES = 2 * 1024;
|
|
1856
|
+
var SESSION_GIT_DIFF_MAX_FILES = 500;
|
|
1857
|
+
var SESSION_GIT_DIFF_MAX_PATCH_BYTES = 128 * 1024;
|
|
1858
|
+
var SESSION_GIT_DIFF_MAX_RESPONSE_BYTES = 512 * 1024;
|
|
1859
|
+
var SESSION_GIT_DIFF_MAX_TRANSFER_BYTES = SESSION_GIT_DIFF_MAX_RESPONSE_BYTES + 1024;
|
|
1860
|
+
var SESSION_GIT_DIFF_MAX_BASE64_LENGTH = Math.ceil(SESSION_GIT_DIFF_MAX_TRANSFER_BYTES / 3) * 4;
|
|
1861
|
+
var SESSION_GIT_DIFF_MAX_GZIP_RESPONSE_BYTES = SESSION_GIT_DIFF_MAX_BASE64_LENGTH + 1024;
|
|
1862
|
+
var commitSchema = z19.string().regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/u);
|
|
1863
|
+
var SessionGitDiffDataSchema = z19.object({
|
|
1864
|
+
rootRevision: SessionFileReadDataSchema.shape.rootRevision,
|
|
1865
|
+
path: SessionFileReadDataSchema.shape.path.optional(),
|
|
1866
|
+
baseCommit: commitSchema.optional()
|
|
1867
|
+
}).strict().refine((value) => value.path === void 0 === (value.baseCommit === void 0), "A file diff must identify its listed base commit");
|
|
1868
|
+
var SessionGitDiffEntrySchema = z19.object({
|
|
1869
|
+
path: SessionFileReadDataSchema.shape.path,
|
|
1870
|
+
status: z19.enum(["added", "modified", "deleted", "untracked"])
|
|
1871
|
+
}).strict();
|
|
1872
|
+
var SessionGitDiffResultDataSchema = z19.object({
|
|
1873
|
+
rootRevision: SessionFileReadDataSchema.shape.rootRevision,
|
|
1874
|
+
baseRef: z19.enum(["origin/main", "main"]),
|
|
1875
|
+
baseCommit: commitSchema,
|
|
1876
|
+
files: z19.array(SessionGitDiffEntrySchema).max(SESSION_GIT_DIFF_MAX_FILES).optional(),
|
|
1877
|
+
path: SessionFileReadDataSchema.shape.path.optional(),
|
|
1878
|
+
patch: z19.string().max(SESSION_GIT_DIFF_MAX_PATCH_BYTES).optional(),
|
|
1879
|
+
binary: z19.boolean().optional()
|
|
1880
|
+
}).strict().superRefine((value, context) => {
|
|
1881
|
+
const encoder = new TextEncoder();
|
|
1882
|
+
if (value.patch !== void 0 && encoder.encode(value.patch).length > SESSION_GIT_DIFF_MAX_PATCH_BYTES || encoder.encode(JSON.stringify(value)).length > SESSION_GIT_DIFF_MAX_RESPONSE_BYTES) {
|
|
1883
|
+
context.addIssue({ code: "custom", message: "Git diff exceeds its transfer limit" });
|
|
1884
|
+
}
|
|
1885
|
+
if (value.path === void 0) {
|
|
1886
|
+
if (value.files === void 0 || value.patch !== void 0 || value.binary !== void 0 || new Set(value.files?.map((entry) => entry.path)).size !== value.files?.length) {
|
|
1887
|
+
context.addIssue({ code: "custom", message: "Expected a unique changed-file list" });
|
|
1888
|
+
}
|
|
1889
|
+
} else if (value.files !== void 0 || value.patch === void 0 || value.binary === void 0 || value.binary && value.patch !== "") {
|
|
1890
|
+
context.addIssue({ code: "custom", message: "Expected a text patch or an explicit binary change" });
|
|
1891
|
+
}
|
|
1892
|
+
});
|
|
1893
|
+
var SessionGitDiffGzipResultDataSchema = z19.object({
|
|
1894
|
+
encoding: z19.literal("gzip"),
|
|
1895
|
+
byteLength: z19.number().int().min(1).max(SESSION_GIT_DIFF_MAX_RESPONSE_BYTES),
|
|
1896
|
+
data: z19.string().max(SESSION_GIT_DIFF_MAX_BASE64_LENGTH).regex(/^[A-Za-z0-9+/]*={0,2}$/u)
|
|
1897
|
+
}).strict().superRefine((value, context) => {
|
|
1898
|
+
const padding = value.data.endsWith("==") ? 2 : value.data.endsWith("=") ? 1 : 0;
|
|
1899
|
+
const bytes = value.data.length / 4 * 3 - padding;
|
|
1900
|
+
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
1901
|
+
const tail = alphabet.indexOf(value.data[value.data.length - padding - 1] ?? "");
|
|
1902
|
+
if (value.data.length % 4 !== 0 || bytes < 20 || bytes > SESSION_GIT_DIFF_MAX_TRANSFER_BYTES || padding === 2 && (tail & 15) !== 0 || padding === 1 && (tail & 3) !== 0) {
|
|
1903
|
+
context.addIssue({ code: "custom", message: "Invalid gzip transfer" });
|
|
1904
|
+
}
|
|
1905
|
+
});
|
|
1906
|
+
var SessionGitDiffV2ResultDataSchema = z19.union([
|
|
1907
|
+
SessionGitDiffResultDataSchema,
|
|
1908
|
+
SessionGitDiffGzipResultDataSchema
|
|
1909
|
+
]);
|
|
1910
|
+
|
|
1911
|
+
// ../protocol/dist/sessions/session-resource.js
|
|
1912
|
+
import { z as z20 } from "zod";
|
|
1836
1913
|
var SESSION_RESOURCE_READ_OPERATION = "session.resource.read";
|
|
1837
1914
|
var SESSION_RESOURCE_READ_VERSION = 1;
|
|
1838
1915
|
var SESSION_RESOURCE_MAX_ORIGINAL_BYTES = 499999;
|
|
@@ -1848,18 +1925,18 @@ var SESSION_RESOURCE_MEDIA_TYPES = [
|
|
|
1848
1925
|
"text/css",
|
|
1849
1926
|
"text/javascript"
|
|
1850
1927
|
];
|
|
1851
|
-
var SessionResourceReadDataSchema =
|
|
1852
|
-
path:
|
|
1853
|
-
rootRevision:
|
|
1928
|
+
var SessionResourceReadDataSchema = z20.object({
|
|
1929
|
+
path: z20.string().min(1).max(SESSION_DIRECTORY_MAX_PATH_LENGTH).refine(isSafeSessionDirectoryPath),
|
|
1930
|
+
rootRevision: z20.string().regex(/^[A-Za-z0-9_-]{43}$/u)
|
|
1854
1931
|
}).strict();
|
|
1855
|
-
var SessionResourceReadResultDataSchema =
|
|
1932
|
+
var SessionResourceReadResultDataSchema = z20.object({
|
|
1856
1933
|
path: SessionResourceReadDataSchema.shape.path,
|
|
1857
1934
|
rootRevision: SessionResourceReadDataSchema.shape.rootRevision,
|
|
1858
|
-
mediaType:
|
|
1859
|
-
originalByteLength:
|
|
1860
|
-
byteLength:
|
|
1861
|
-
encoding:
|
|
1862
|
-
data:
|
|
1935
|
+
mediaType: z20.enum(SESSION_RESOURCE_MEDIA_TYPES),
|
|
1936
|
+
originalByteLength: z20.number().int().min(0).max(SESSION_RESOURCE_MAX_ORIGINAL_BYTES),
|
|
1937
|
+
byteLength: z20.number().int().min(0).max(SESSION_RESOURCE_MAX_ORIGINAL_BYTES),
|
|
1938
|
+
encoding: z20.enum(["identity", "gzip"]),
|
|
1939
|
+
data: z20.string().max(SESSION_RESOURCE_MAX_BASE64_LENGTH)
|
|
1863
1940
|
}).strict().superRefine((result, context) => {
|
|
1864
1941
|
const invalid = () => context.addIssue({ code: "custom", message: "Invalid resource content" });
|
|
1865
1942
|
if (result.encoding === "gzip" !== result.originalByteLength >= SESSION_RESOURCE_GZIP_THRESHOLD_BYTES || result.byteLength !== result.originalByteLength || result.mediaType.startsWith("image/") && result.byteLength === 0)
|
|
@@ -1871,42 +1948,107 @@ var SessionResourceReadResultDataSchema = z19.object({
|
|
|
1871
1948
|
invalid();
|
|
1872
1949
|
});
|
|
1873
1950
|
|
|
1951
|
+
// ../protocol/dist/sessions/session-images.js
|
|
1952
|
+
import { z as z21 } from "zod";
|
|
1953
|
+
var SESSION_IMAGE_MAX_BYTES = 3 * 1024 * 1024;
|
|
1954
|
+
var SESSION_IMAGE_MAX_PIXELS = 16 * 1024 * 1024;
|
|
1955
|
+
var SESSION_IMAGE_API_PATH = "/api/v3/session-images";
|
|
1956
|
+
var TIMELINE_IMAGE_BLOB_OPERATION = "session.image.blob";
|
|
1957
|
+
var TIMELINE_IMAGE_BLOB_VERSION = 1;
|
|
1958
|
+
var SessionImageIdSchema = z21.uuid();
|
|
1959
|
+
var SessionImageTransferModeSchema = z21.enum(["direct", "proxy"]);
|
|
1960
|
+
var DirectUrlSchema = z21.string().regex(/^https:\/\/[^/?#@\\\s\x00-\x1f\x7f]+(?:[/?][^#\\\s\x00-\x1f\x7f]*)?$/u).refine((raw) => {
|
|
1961
|
+
if (!URL.canParse(raw))
|
|
1962
|
+
return false;
|
|
1963
|
+
const url = new URL(raw);
|
|
1964
|
+
return url.protocol === "https:" && url.username === "" && url.password === "" && url.hash === "";
|
|
1965
|
+
}, "Direct transfers require HTTPS without userinfo, fragments or unsafe characters");
|
|
1966
|
+
var ProxyUrlSchema = z21.string().regex(/^\/api\/v3\/session-images\/[0-9a-f-]+\/content\?[^#\\\s\x00-\x1f\x7f]+$/u);
|
|
1967
|
+
var SessionImageTransferHeadersSchema = z21.record(z21.string().regex(/^(?:content-type|if-none-match|x-ms-blob-type)$/u), z21.string().min(1).max(256).regex(/^[\x20-\x7e]+$/u));
|
|
1968
|
+
var SessionImageUploadRequestSchema = z21.object({
|
|
1969
|
+
machineId: IdSchema,
|
|
1970
|
+
sessionId: IdSchema,
|
|
1971
|
+
sizeBytes: z21.number().int().min(1).max(SESSION_IMAGE_MAX_BYTES)
|
|
1972
|
+
}).strict();
|
|
1973
|
+
var SessionImageScopeSchema = z21.object({
|
|
1974
|
+
machineId: IdSchema,
|
|
1975
|
+
sessionId: IdSchema
|
|
1976
|
+
}).strict();
|
|
1977
|
+
var UploadResultFields = {
|
|
1978
|
+
imageId: SessionImageIdSchema,
|
|
1979
|
+
uploadExpiresAt: z21.number().int().positive(),
|
|
1980
|
+
method: z21.literal("PUT"),
|
|
1981
|
+
contentType: z21.literal("image/webp"),
|
|
1982
|
+
headers: SessionImageTransferHeadersSchema.refine((headers) => headers["content-type"] === "image/webp")
|
|
1983
|
+
};
|
|
1984
|
+
var SessionImageUploadResultSchema = z21.discriminatedUnion("mode", [
|
|
1985
|
+
z21.object({ ...UploadResultFields, mode: z21.literal("direct"), uploadUrl: DirectUrlSchema }).strict(),
|
|
1986
|
+
z21.object({ ...UploadResultFields, mode: z21.literal("proxy"), uploadUrl: ProxyUrlSchema }).strict()
|
|
1987
|
+
]);
|
|
1988
|
+
var SessionImageCommitResultSchema = z21.object({
|
|
1989
|
+
imageId: SessionImageIdSchema,
|
|
1990
|
+
machineId: IdSchema,
|
|
1991
|
+
sessionId: IdSchema,
|
|
1992
|
+
sizeBytes: z21.number().int().min(1).max(SESSION_IMAGE_MAX_BYTES),
|
|
1993
|
+
width: z21.number().int().positive(),
|
|
1994
|
+
height: z21.number().int().positive(),
|
|
1995
|
+
sha256: z21.string().regex(/^[a-f0-9]{64}$/u),
|
|
1996
|
+
expiresAt: z21.number().int().positive()
|
|
1997
|
+
}).strict();
|
|
1998
|
+
var DownloadResultFields = {
|
|
1999
|
+
image: SessionImageCommitResultSchema,
|
|
2000
|
+
downloadExpiresAt: z21.number().int().positive(),
|
|
2001
|
+
method: z21.literal("GET"),
|
|
2002
|
+
headers: SessionImageTransferHeadersSchema
|
|
2003
|
+
};
|
|
2004
|
+
var SessionImageDownloadResultSchema = z21.discriminatedUnion("mode", [
|
|
2005
|
+
z21.object({ ...DownloadResultFields, mode: z21.literal("direct"), downloadUrl: DirectUrlSchema }).strict(),
|
|
2006
|
+
z21.object({ ...DownloadResultFields, mode: z21.literal("proxy"), downloadUrl: ProxyUrlSchema }).strict()
|
|
2007
|
+
]);
|
|
2008
|
+
var TimelineImageBlobRequestSchema = z21.object({
|
|
2009
|
+
sha256: z21.string().regex(/^[a-f0-9]{64}$/u)
|
|
2010
|
+
}).strict();
|
|
2011
|
+
var TimelineImageBlobResultSchema = z21.object({
|
|
2012
|
+
sha256: TimelineImageBlobRequestSchema.shape.sha256,
|
|
2013
|
+
image: SessionImageCommitResultSchema
|
|
2014
|
+
}).strict();
|
|
2015
|
+
|
|
1874
2016
|
// ../protocol/dist/sessions/session-rename.js
|
|
1875
|
-
import { z as
|
|
2017
|
+
import { z as z22 } from "zod";
|
|
1876
2018
|
var SESSION_RENAME_OPERATION = "session.rename";
|
|
1877
2019
|
var SESSION_RENAME_VERSION = 1;
|
|
1878
2020
|
var SESSION_RENAME_CAPABILITY = sessionCommunicationOperationCapability(SESSION_RENAME_OPERATION, SESSION_RENAME_VERSION);
|
|
1879
2021
|
var SESSION_NAME_MAX_LENGTH = 100;
|
|
1880
|
-
var SessionNameSchema =
|
|
1881
|
-
var SessionRenameDataSchema =
|
|
1882
|
-
var SessionRenameResultDataSchema =
|
|
2022
|
+
var SessionNameSchema = z22.string().regex(/^[^\u0000-\u001f\u007f]*$/u).trim().min(1).max(SESSION_NAME_MAX_LENGTH);
|
|
2023
|
+
var SessionRenameDataSchema = z22.object({ name: SessionNameSchema }).strict();
|
|
2024
|
+
var SessionRenameResultDataSchema = z22.object({ name: SessionNameSchema }).strict();
|
|
1883
2025
|
|
|
1884
2026
|
// ../protocol/dist/sessions/group-chat.js
|
|
1885
|
-
import { z as
|
|
2027
|
+
import { z as z23 } from "zod";
|
|
1886
2028
|
var GROUP_CHAT_CREATE_OPERATION = "group-chat.create";
|
|
1887
2029
|
var GROUP_CHAT_CREATE_VERSION = 1;
|
|
1888
2030
|
var GROUP_CHAT_CREATE_CAPABILITY = sessionCommunicationOperationCapability(GROUP_CHAT_CREATE_OPERATION, GROUP_CHAT_CREATE_VERSION);
|
|
1889
|
-
var GroupChatCreateDataSchema =
|
|
2031
|
+
var GroupChatCreateDataSchema = z23.object({
|
|
1890
2032
|
peerSessionId: IdSchema
|
|
1891
2033
|
}).strict();
|
|
1892
|
-
var GroupChatCreateResultDataSchema =
|
|
2034
|
+
var GroupChatCreateResultDataSchema = z23.object({
|
|
1893
2035
|
session: SessionSummarySchema.refine((session) => session.groupChat !== void 0, "Group creation must return a virtual group session")
|
|
1894
2036
|
}).strict();
|
|
1895
2037
|
|
|
1896
2038
|
// ../protocol/dist/sessions/prompts.js
|
|
1897
|
-
import { z as
|
|
2039
|
+
import { z as z24 } from "zod";
|
|
1898
2040
|
var SESSION_FILE_ATTACHMENTS_CAPABILITY = "session-file-attachments";
|
|
1899
2041
|
var SESSION_PROMPT_SUBMISSION_TIME_CAPABILITY = "session-prompt-submission-time";
|
|
1900
2042
|
var MAX_PROMPT_IMAGE_BYTES = 3 * 1024 * 1024;
|
|
1901
|
-
var SessionPromptRequestSchema =
|
|
2043
|
+
var SessionPromptRequestSchema = z24.object({
|
|
1902
2044
|
requestId: IdSchema,
|
|
1903
2045
|
operationId: IdSchema,
|
|
1904
2046
|
machineId: IdSchema,
|
|
1905
2047
|
sessionId: IdSchema,
|
|
1906
|
-
prompt:
|
|
1907
|
-
attachments:
|
|
1908
|
-
fileAttachments:
|
|
1909
|
-
mode:
|
|
2048
|
+
prompt: z24.string().trim().max(1e5),
|
|
2049
|
+
attachments: z24.array(PromptImageAttachmentSchema).max(4).optional(),
|
|
2050
|
+
fileAttachments: z24.array(PromptFileAttachmentSchema).max(4).optional(),
|
|
2051
|
+
mode: z24.enum(["enqueue", "immediate"]).default("enqueue")
|
|
1910
2052
|
}).strict().superRefine((request, context) => {
|
|
1911
2053
|
if (request.prompt.length === 0 && (request.attachments?.length ?? 0) === 0 && (request.fileAttachments?.length ?? 0) === 0) {
|
|
1912
2054
|
context.addIssue({
|
|
@@ -1932,22 +2074,22 @@ var SessionPromptRequestSchema = z22.object({
|
|
|
1932
2074
|
});
|
|
1933
2075
|
}
|
|
1934
2076
|
});
|
|
1935
|
-
var SessionPromptResultSchema =
|
|
1936
|
-
|
|
1937
|
-
ok:
|
|
2077
|
+
var SessionPromptResultSchema = z24.discriminatedUnion("ok", [
|
|
2078
|
+
z24.object({
|
|
2079
|
+
ok: z24.literal(true),
|
|
1938
2080
|
requestId: IdSchema,
|
|
1939
2081
|
operationId: IdSchema,
|
|
1940
2082
|
machineId: IdSchema,
|
|
1941
2083
|
sessionId: IdSchema,
|
|
1942
2084
|
messageId: IdSchema,
|
|
1943
|
-
mode:
|
|
1944
|
-
deliveryState:
|
|
2085
|
+
mode: z24.enum(["enqueue", "immediate"]),
|
|
2086
|
+
deliveryState: z24.enum(["queued", "processing"]),
|
|
1945
2087
|
// Negotiated lower bound from the native event clock. Exact text and history
|
|
1946
2088
|
// ownership checks still apply; this is not an identity or proof of persistence.
|
|
1947
2089
|
submittedAt: IsoDateSchema.optional()
|
|
1948
2090
|
}),
|
|
1949
|
-
|
|
1950
|
-
ok:
|
|
2091
|
+
z24.object({
|
|
2092
|
+
ok: z24.literal(false),
|
|
1951
2093
|
requestId: IdSchema,
|
|
1952
2094
|
operationId: IdSchema,
|
|
1953
2095
|
machineId: IdSchema,
|
|
@@ -1955,29 +2097,29 @@ var SessionPromptResultSchema = z22.discriminatedUnion("ok", [
|
|
|
1955
2097
|
error: ProtocolFailureSchema
|
|
1956
2098
|
})
|
|
1957
2099
|
]);
|
|
1958
|
-
var SessionActivityUpdateSchema =
|
|
2100
|
+
var SessionActivityUpdateSchema = z24.object({
|
|
1959
2101
|
userId: IdSchema,
|
|
1960
2102
|
machineId: IdSchema,
|
|
1961
2103
|
sessionId: IdSchema,
|
|
1962
|
-
state:
|
|
2104
|
+
state: z24.enum(["working", "idle"]),
|
|
1963
2105
|
occurredAt: IsoDateSchema,
|
|
1964
2106
|
assistantPreview: SessionAssistantPreviewSchema.optional(),
|
|
1965
2107
|
userPreview: SessionUserPreviewSchema.optional()
|
|
1966
2108
|
});
|
|
1967
|
-
var SessionAbortRequestSchema =
|
|
2109
|
+
var SessionAbortRequestSchema = z24.object({
|
|
1968
2110
|
requestId: IdSchema,
|
|
1969
2111
|
machineId: IdSchema,
|
|
1970
2112
|
sessionId: IdSchema
|
|
1971
2113
|
});
|
|
1972
|
-
var SessionAbortResultSchema =
|
|
1973
|
-
|
|
1974
|
-
ok:
|
|
2114
|
+
var SessionAbortResultSchema = z24.discriminatedUnion("ok", [
|
|
2115
|
+
z24.object({
|
|
2116
|
+
ok: z24.literal(true),
|
|
1975
2117
|
requestId: IdSchema,
|
|
1976
2118
|
machineId: IdSchema,
|
|
1977
2119
|
sessionId: IdSchema
|
|
1978
2120
|
}),
|
|
1979
|
-
|
|
1980
|
-
ok:
|
|
2121
|
+
z24.object({
|
|
2122
|
+
ok: z24.literal(false),
|
|
1981
2123
|
requestId: IdSchema,
|
|
1982
2124
|
machineId: IdSchema,
|
|
1983
2125
|
sessionId: IdSchema,
|
|
@@ -1986,7 +2128,7 @@ var SessionAbortResultSchema = z22.discriminatedUnion("ok", [
|
|
|
1986
2128
|
]);
|
|
1987
2129
|
|
|
1988
2130
|
// ../protocol/dist/conversation/timeline-sync.js
|
|
1989
|
-
import { z as
|
|
2131
|
+
import { z as z25 } from "zod";
|
|
1990
2132
|
var TIMELINE_SYNC_OPERATION = "session.timeline.sync";
|
|
1991
2133
|
var TIMELINE_IMAGE_OPERATION = "session.image.read";
|
|
1992
2134
|
var TIMELINE_SYNC_VERSION = 1;
|
|
@@ -1994,37 +2136,37 @@ var TIMELINE_SYNC_MAX_EVENTS = 128;
|
|
|
1994
2136
|
var TIMELINE_SYNC_MAX_BYTES = 6 * 1024 * 1024;
|
|
1995
2137
|
var TIMELINE_IMAGE_CHUNK_BYTES = 48 * 1024;
|
|
1996
2138
|
var TIMELINE_IMAGE_MAX_BYTES = 3 * 1024 * 1024;
|
|
1997
|
-
var identity =
|
|
1998
|
-
var sequence =
|
|
1999
|
-
var hash =
|
|
2000
|
-
var TimelineWatermarkSchema =
|
|
2139
|
+
var identity = z25.string().min(1).max(256);
|
|
2140
|
+
var sequence = z25.number().int().min(0).max(Number.MAX_SAFE_INTEGER);
|
|
2141
|
+
var hash = z25.string().regex(/^[a-f0-9]{64}$/u);
|
|
2142
|
+
var TimelineWatermarkSchema = z25.object({
|
|
2001
2143
|
epoch: identity,
|
|
2002
2144
|
sequence
|
|
2003
2145
|
}).strict();
|
|
2004
|
-
var TimelineSyncRequestSchema =
|
|
2146
|
+
var TimelineSyncRequestSchema = z25.object({
|
|
2005
2147
|
watermark: TimelineWatermarkSchema.optional(),
|
|
2006
|
-
waitMs:
|
|
2007
|
-
resume:
|
|
2148
|
+
waitMs: z25.number().int().min(0).max(2e4).optional(),
|
|
2149
|
+
resume: z25.boolean().optional()
|
|
2008
2150
|
}).strict();
|
|
2009
|
-
var TimelineTextAppendSchema =
|
|
2151
|
+
var TimelineTextAppendSchema = z25.object({
|
|
2010
2152
|
itemId: identity,
|
|
2011
|
-
baseRevision:
|
|
2012
|
-
revision:
|
|
2013
|
-
appendText:
|
|
2014
|
-
sourceEventIds:
|
|
2015
|
-
sourceMessageIds:
|
|
2016
|
-
sourceInteractionIds:
|
|
2017
|
-
}).strict();
|
|
2018
|
-
var TimelineSyncEventSchema =
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
kind:
|
|
2153
|
+
baseRevision: z25.number().int().positive(),
|
|
2154
|
+
revision: z25.number().int().positive(),
|
|
2155
|
+
appendText: z25.string().min(1).max(5e5),
|
|
2156
|
+
sourceEventIds: z25.array(identity).min(1).max(1e3).optional(),
|
|
2157
|
+
sourceMessageIds: z25.array(identity).min(1).max(1e3).optional(),
|
|
2158
|
+
sourceInteractionIds: z25.array(identity).min(1).max(1e3).optional()
|
|
2159
|
+
}).strict();
|
|
2160
|
+
var TimelineSyncEventSchema = z25.discriminatedUnion("kind", [
|
|
2161
|
+
z25.object({ kind: z25.literal("upsert"), sequence, item: ConversationItemSchema }).strict(),
|
|
2162
|
+
z25.object({ kind: z25.literal("append"), sequence, append: TimelineTextAppendSchema }).strict(),
|
|
2163
|
+
z25.object({
|
|
2164
|
+
kind: z25.literal("step"),
|
|
2023
2165
|
sequence,
|
|
2024
2166
|
upsert: ConversationActivityStepUpsertSchema
|
|
2025
2167
|
}).strict()
|
|
2026
2168
|
]);
|
|
2027
|
-
var TimelineResyncReasonSchema =
|
|
2169
|
+
var TimelineResyncReasonSchema = z25.enum([
|
|
2028
2170
|
"initial",
|
|
2029
2171
|
"epoch-changed",
|
|
2030
2172
|
"evicted",
|
|
@@ -2033,36 +2175,36 @@ var TimelineResyncReasonSchema = z23.enum([
|
|
|
2033
2175
|
"rewind",
|
|
2034
2176
|
"oversized"
|
|
2035
2177
|
]);
|
|
2036
|
-
var TimelineSyncResponseSchema =
|
|
2037
|
-
|
|
2038
|
-
status:
|
|
2178
|
+
var TimelineSyncResponseSchema = z25.discriminatedUnion("status", [
|
|
2179
|
+
z25.object({
|
|
2180
|
+
status: z25.literal("snapshot"),
|
|
2039
2181
|
watermark: TimelineWatermarkSchema,
|
|
2040
2182
|
page: SessionTimelinePageSchema
|
|
2041
2183
|
}).strict(),
|
|
2042
|
-
|
|
2043
|
-
status:
|
|
2184
|
+
z25.object({
|
|
2185
|
+
status: z25.literal("replay"),
|
|
2044
2186
|
watermark: TimelineWatermarkSchema,
|
|
2045
2187
|
afterSequence: sequence,
|
|
2046
|
-
events:
|
|
2047
|
-
hasMore:
|
|
2188
|
+
events: z25.array(TimelineSyncEventSchema).max(TIMELINE_SYNC_MAX_EVENTS),
|
|
2189
|
+
hasMore: z25.boolean()
|
|
2048
2190
|
}).strict(),
|
|
2049
|
-
|
|
2050
|
-
status:
|
|
2191
|
+
z25.object({
|
|
2192
|
+
status: z25.literal("resync"),
|
|
2051
2193
|
epoch: identity,
|
|
2052
2194
|
reason: TimelineResyncReasonSchema
|
|
2053
2195
|
}).strict()
|
|
2054
2196
|
]);
|
|
2055
|
-
var TimelineImageRequestSchema =
|
|
2197
|
+
var TimelineImageRequestSchema = z25.object({
|
|
2056
2198
|
sha256: hash,
|
|
2057
|
-
offset:
|
|
2199
|
+
offset: z25.number().int().min(0).max(TIMELINE_IMAGE_MAX_BYTES - 1)
|
|
2058
2200
|
}).strict();
|
|
2059
|
-
var TimelineImageChunkSchema =
|
|
2201
|
+
var TimelineImageChunkSchema = z25.object({
|
|
2060
2202
|
sha256: hash,
|
|
2061
|
-
offset:
|
|
2062
|
-
totalBytes:
|
|
2063
|
-
mimeType:
|
|
2064
|
-
data:
|
|
2065
|
-
eof:
|
|
2203
|
+
offset: z25.number().int().min(0).max(TIMELINE_IMAGE_MAX_BYTES - 1),
|
|
2204
|
+
totalBytes: z25.number().int().positive().max(TIMELINE_IMAGE_MAX_BYTES),
|
|
2205
|
+
mimeType: z25.enum(["image/gif", "image/jpeg", "image/png", "image/webp"]),
|
|
2206
|
+
data: z25.string().min(4).max(Math.ceil(TIMELINE_IMAGE_CHUNK_BYTES / 3) * 4).regex(/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/u),
|
|
2207
|
+
eof: z25.boolean()
|
|
2066
2208
|
}).strict().superRefine((chunk, context) => {
|
|
2067
2209
|
const padding = chunk.data.endsWith("==") ? 2 : chunk.data.endsWith("=") ? 1 : 0;
|
|
2068
2210
|
const length = chunk.data.length / 4 * 3 - padding;
|
|
@@ -2073,10 +2215,10 @@ var TimelineImageChunkSchema = z23.object({
|
|
|
2073
2215
|
});
|
|
2074
2216
|
|
|
2075
2217
|
// ../protocol/dist/workbench.js
|
|
2076
|
-
import { z as
|
|
2218
|
+
import { z as z27 } from "zod";
|
|
2077
2219
|
|
|
2078
2220
|
// ../protocol/dist/schedules.js
|
|
2079
|
-
import { z as
|
|
2221
|
+
import { z as z26 } from "zod";
|
|
2080
2222
|
var SCHEDULES_CAPABILITY = "session-schedules-v1";
|
|
2081
2223
|
var SCHEDULE_OPERATIONS = [
|
|
2082
2224
|
"schedule.snapshot",
|
|
@@ -2085,90 +2227,90 @@ var SCHEDULE_OPERATIONS = [
|
|
|
2085
2227
|
"schedule.draft.dismiss",
|
|
2086
2228
|
"schedule.resume"
|
|
2087
2229
|
];
|
|
2088
|
-
var Id =
|
|
2089
|
-
var NativeId =
|
|
2090
|
-
var Time =
|
|
2091
|
-
var WorkbenchScheduleRuleSchema =
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
kind:
|
|
2095
|
-
seconds:
|
|
2096
|
-
recurring:
|
|
2230
|
+
var Id = z26.string().min(1).max(256);
|
|
2231
|
+
var NativeId = z26.number().int().positive().max(Number.MAX_SAFE_INTEGER);
|
|
2232
|
+
var Time = z26.iso.datetime({ offset: true });
|
|
2233
|
+
var WorkbenchScheduleRuleSchema = z26.discriminatedUnion("kind", [
|
|
2234
|
+
z26.object({ kind: z26.literal("once"), at: Time }).strict(),
|
|
2235
|
+
z26.object({
|
|
2236
|
+
kind: z26.literal("interval"),
|
|
2237
|
+
seconds: z26.number().int().min(10).max(86400),
|
|
2238
|
+
recurring: z26.boolean().optional()
|
|
2097
2239
|
}).strict(),
|
|
2098
|
-
|
|
2099
|
-
kind:
|
|
2100
|
-
expression:
|
|
2101
|
-
timezone:
|
|
2240
|
+
z26.object({
|
|
2241
|
+
kind: z26.literal("cron"),
|
|
2242
|
+
expression: z26.string().trim().min(9).max(256).regex(/^\S+(?: +\S+){4}$/),
|
|
2243
|
+
timezone: z26.string().min(1).max(128).regex(/^[A-Za-z0-9_+./-]+$/)
|
|
2102
2244
|
}).strict()
|
|
2103
2245
|
]);
|
|
2104
2246
|
var Content = {
|
|
2105
2247
|
rule: WorkbenchScheduleRuleSchema,
|
|
2106
|
-
prompt:
|
|
2107
|
-
skill:
|
|
2248
|
+
prompt: z26.string().max(16e3).describe("The execution prompt, or ONLY the user's exact arguments when skill is set. Do not include the skill name, slash prefix, scheduling instructions, or extra explanation in skill arguments."),
|
|
2249
|
+
skill: z26.string().min(1).max(256).regex(/^[A-Za-z0-9][A-Za-z0-9_.:-]*$/).optional().describe("A genuine callable skill name from this session, without the leading slash. Set this field when the user requests a skill; put only its exact arguments in prompt.")
|
|
2108
2250
|
};
|
|
2109
|
-
var WorkbenchScheduleProposalSchema =
|
|
2110
|
-
var WorkbenchScheduleDraftSchema =
|
|
2111
|
-
id:
|
|
2251
|
+
var WorkbenchScheduleProposalSchema = z26.object(Content).strict().refine((value) => value.prompt.trim().length > 0 || value.skill !== void 0, { message: "A prompt or skill is required" });
|
|
2252
|
+
var WorkbenchScheduleDraftSchema = z26.object({
|
|
2253
|
+
id: z26.uuid(),
|
|
2112
2254
|
createdAt: Time,
|
|
2113
2255
|
...Content
|
|
2114
2256
|
}).strict();
|
|
2115
|
-
var WorkbenchScheduleEntrySchema =
|
|
2257
|
+
var WorkbenchScheduleEntrySchema = z26.object({
|
|
2116
2258
|
id: NativeId,
|
|
2117
|
-
prompt:
|
|
2118
|
-
displayPrompt:
|
|
2119
|
-
recurring:
|
|
2259
|
+
prompt: z26.string().max(1e5),
|
|
2260
|
+
displayPrompt: z26.string().max(1e5).optional(),
|
|
2261
|
+
recurring: z26.boolean(),
|
|
2120
2262
|
nextRunAt: Time,
|
|
2121
|
-
intervalMs:
|
|
2122
|
-
cron:
|
|
2123
|
-
timezone:
|
|
2263
|
+
intervalMs: z26.number().int().positive().optional(),
|
|
2264
|
+
cron: z26.string().max(256).optional(),
|
|
2265
|
+
timezone: z26.string().max(128).optional(),
|
|
2124
2266
|
at: Time.optional()
|
|
2125
2267
|
}).strict();
|
|
2126
|
-
var WorkbenchScheduleResultSchema =
|
|
2268
|
+
var WorkbenchScheduleResultSchema = z26.object({
|
|
2127
2269
|
id: Id,
|
|
2128
2270
|
scheduleId: NativeId,
|
|
2129
2271
|
triggerEventId: Id,
|
|
2130
2272
|
time: Time,
|
|
2131
|
-
prompt:
|
|
2132
|
-
status:
|
|
2133
|
-
reply:
|
|
2273
|
+
prompt: z26.string().max(16e3),
|
|
2274
|
+
status: z26.enum(["reply", "error", "merged", "pending", "unknown"]),
|
|
2275
|
+
reply: z26.string().max(16e3).optional(),
|
|
2134
2276
|
replyEventId: Id.optional(),
|
|
2135
|
-
error:
|
|
2136
|
-
}).strict();
|
|
2137
|
-
var WorkbenchScheduleSnapshotSchema =
|
|
2138
|
-
state:
|
|
2139
|
-
workingDirectory:
|
|
2140
|
-
timezone:
|
|
2141
|
-
entries:
|
|
2142
|
-
drafts:
|
|
2143
|
-
results:
|
|
2144
|
-
historyTruncated:
|
|
2277
|
+
error: z26.string().max(1024).optional()
|
|
2278
|
+
}).strict();
|
|
2279
|
+
var WorkbenchScheduleSnapshotSchema = z26.object({
|
|
2280
|
+
state: z26.enum(["active", "needs-resume"]),
|
|
2281
|
+
workingDirectory: z26.string().max(32768).optional(),
|
|
2282
|
+
timezone: z26.string().max(128).optional(),
|
|
2283
|
+
entries: z26.array(WorkbenchScheduleEntrySchema).max(256),
|
|
2284
|
+
drafts: z26.array(WorkbenchScheduleDraftSchema).max(100),
|
|
2285
|
+
results: z26.array(WorkbenchScheduleResultSchema).max(100),
|
|
2286
|
+
historyTruncated: z26.boolean(),
|
|
2145
2287
|
sampledAt: Time
|
|
2146
2288
|
}).strict();
|
|
2147
2289
|
var Submission = {
|
|
2148
|
-
operationId:
|
|
2149
|
-
operationCreatedAt:
|
|
2290
|
+
operationId: z26.uuid(),
|
|
2291
|
+
operationCreatedAt: z26.iso.datetime(),
|
|
2150
2292
|
expectedAgentRunId: Id
|
|
2151
2293
|
};
|
|
2152
|
-
var WorkbenchScheduleCreateRequestSchema =
|
|
2294
|
+
var WorkbenchScheduleCreateRequestSchema = z26.object({
|
|
2153
2295
|
...Submission,
|
|
2154
2296
|
...Content,
|
|
2155
|
-
draftId:
|
|
2297
|
+
draftId: z26.uuid().optional()
|
|
2156
2298
|
}).strict().refine((value) => value.prompt.trim().length > 0 || value.skill !== void 0, { message: "A prompt or skill is required" });
|
|
2157
|
-
var WorkbenchScheduleCreateResultSchema =
|
|
2299
|
+
var WorkbenchScheduleCreateResultSchema = z26.object({
|
|
2158
2300
|
snapshot: WorkbenchScheduleSnapshotSchema,
|
|
2159
|
-
verified:
|
|
2301
|
+
verified: z26.boolean()
|
|
2160
2302
|
}).strict();
|
|
2161
|
-
var WorkbenchScheduleDeleteRequestSchema =
|
|
2303
|
+
var WorkbenchScheduleDeleteRequestSchema = z26.object({
|
|
2162
2304
|
...Submission,
|
|
2163
2305
|
id: NativeId
|
|
2164
2306
|
}).strict();
|
|
2165
|
-
var WorkbenchScheduleDeleteResultSchema =
|
|
2307
|
+
var WorkbenchScheduleDeleteResultSchema = z26.object({
|
|
2166
2308
|
snapshot: WorkbenchScheduleSnapshotSchema,
|
|
2167
|
-
removed:
|
|
2309
|
+
removed: z26.boolean()
|
|
2168
2310
|
}).strict();
|
|
2169
|
-
var WorkbenchScheduleDraftDismissRequestSchema =
|
|
2311
|
+
var WorkbenchScheduleDraftDismissRequestSchema = z26.object({
|
|
2170
2312
|
...Submission,
|
|
2171
|
-
draftId:
|
|
2313
|
+
draftId: z26.uuid()
|
|
2172
2314
|
}).strict();
|
|
2173
2315
|
var ScheduleAndroidSchemas = {
|
|
2174
2316
|
WorkbenchScheduleRule: WorkbenchScheduleRuleSchema,
|
|
@@ -2185,10 +2327,10 @@ var ScheduleAndroidSchemas = {
|
|
|
2185
2327
|
};
|
|
2186
2328
|
|
|
2187
2329
|
// ../protocol/dist/workbench.js
|
|
2188
|
-
var Id2 =
|
|
2189
|
-
var Text =
|
|
2190
|
-
var Count =
|
|
2191
|
-
var Failure =
|
|
2330
|
+
var Id2 = z27.string().trim().min(1).max(256);
|
|
2331
|
+
var Text = z27.string().max(1e5);
|
|
2332
|
+
var Count = z27.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER);
|
|
2333
|
+
var Failure = z27.object({ code: Id2, message: z27.string().min(1).max(1024) }).strict();
|
|
2192
2334
|
var WORKBENCH_VERSION = 1;
|
|
2193
2335
|
var RESEARCH_CHAT_CAPABILITY = "research-chat-v1";
|
|
2194
2336
|
var WORKBENCH_OPERATIONS = [
|
|
@@ -2210,104 +2352,104 @@ var WORKBENCH_OPERATIONS = [
|
|
|
2210
2352
|
];
|
|
2211
2353
|
var workbenchCapability = (operation) => `${operation}.v${WORKBENCH_VERSION}`;
|
|
2212
2354
|
var Submission2 = {
|
|
2213
|
-
operationId:
|
|
2214
|
-
operationCreatedAt:
|
|
2355
|
+
operationId: z27.uuid(),
|
|
2356
|
+
operationCreatedAt: z27.iso.datetime(),
|
|
2215
2357
|
expectedAgentRunId: Id2
|
|
2216
2358
|
};
|
|
2217
|
-
var WorkbenchOperationGetSchema =
|
|
2218
|
-
var WorkbenchOperationStatusSchema =
|
|
2219
|
-
operationId:
|
|
2220
|
-
operation:
|
|
2359
|
+
var WorkbenchOperationGetSchema = z27.object({ operationId: z27.uuid() }).strict();
|
|
2360
|
+
var WorkbenchOperationStatusSchema = z27.object({
|
|
2361
|
+
operationId: z27.uuid(),
|
|
2362
|
+
operation: z27.enum(WORKBENCH_OPERATIONS),
|
|
2221
2363
|
agentRunId: Id2,
|
|
2222
|
-
state:
|
|
2223
|
-
result:
|
|
2364
|
+
state: z27.enum(["running", "succeeded", "failed", "uncertain", "result-expired"]),
|
|
2365
|
+
result: z27.record(z27.string(), z27.json()).optional(),
|
|
2224
2366
|
error: Failure.optional()
|
|
2225
2367
|
}).strict().superRefine((value, context) => {
|
|
2226
2368
|
if (value.state === "succeeded" !== (value.result !== void 0) || (value.state === "failed" || value.state === "uncertain") !== (value.error !== void 0)) {
|
|
2227
2369
|
context.addIssue({ code: "custom", message: "Invalid operation state payload" });
|
|
2228
2370
|
}
|
|
2229
2371
|
});
|
|
2230
|
-
var WorkbenchAskRequestSchema =
|
|
2372
|
+
var WorkbenchAskRequestSchema = z27.object({
|
|
2231
2373
|
...Submission2,
|
|
2232
|
-
question:
|
|
2374
|
+
question: z27.string().trim().min(1).max(16e3)
|
|
2233
2375
|
}).strict();
|
|
2234
|
-
var WorkbenchAskResultSchema =
|
|
2235
|
-
var WorkbenchEmptyRequestSchema =
|
|
2236
|
-
var WorkbenchSubmitRequestSchema =
|
|
2237
|
-
var WorkbenchResearchCreateRequestSchema =
|
|
2376
|
+
var WorkbenchAskResultSchema = z27.object({ answer: Text }).strict();
|
|
2377
|
+
var WorkbenchEmptyRequestSchema = z27.object({}).strict();
|
|
2378
|
+
var WorkbenchSubmitRequestSchema = z27.object(Submission2).strict();
|
|
2379
|
+
var WorkbenchResearchCreateRequestSchema = z27.object({
|
|
2238
2380
|
...Submission2,
|
|
2239
|
-
title:
|
|
2240
|
-
question:
|
|
2381
|
+
title: z27.string().trim().min(1).max(120),
|
|
2382
|
+
question: z27.string().trim().min(1).max(16e3),
|
|
2241
2383
|
sourceItemId: Id2.optional(),
|
|
2242
|
-
deferInitialPrompt:
|
|
2384
|
+
deferInitialPrompt: z27.literal(true).optional()
|
|
2243
2385
|
}).strict();
|
|
2244
|
-
var WorkbenchResearchThreadSchema =
|
|
2386
|
+
var WorkbenchResearchThreadSchema = z27.object({
|
|
2245
2387
|
sessionId: Id2,
|
|
2246
2388
|
parentSessionId: Id2,
|
|
2247
|
-
title:
|
|
2248
|
-
createdAt:
|
|
2389
|
+
title: z27.string().min(1).max(120),
|
|
2390
|
+
createdAt: z27.iso.datetime(),
|
|
2249
2391
|
contextAnchor: Id2.optional(),
|
|
2250
|
-
contextTruncated:
|
|
2251
|
-
detached:
|
|
2252
|
-
state:
|
|
2392
|
+
contextTruncated: z27.boolean(),
|
|
2393
|
+
detached: z27.boolean(),
|
|
2394
|
+
state: z27.enum(["creating", "ready", "failed"])
|
|
2253
2395
|
}).strict();
|
|
2254
|
-
var WorkbenchResearchCreateResultSchema =
|
|
2396
|
+
var WorkbenchResearchCreateResultSchema = z27.object({
|
|
2255
2397
|
thread: WorkbenchResearchThreadSchema
|
|
2256
2398
|
}).strict();
|
|
2257
|
-
var WorkbenchResearchListResultSchema =
|
|
2258
|
-
threads:
|
|
2399
|
+
var WorkbenchResearchListResultSchema = z27.object({
|
|
2400
|
+
threads: z27.array(WorkbenchResearchThreadSchema).max(100)
|
|
2259
2401
|
}).strict();
|
|
2260
|
-
var WorkbenchResearchTimelineRequestSchema =
|
|
2402
|
+
var WorkbenchResearchTimelineRequestSchema = z27.object({
|
|
2261
2403
|
cursor: Id2.optional()
|
|
2262
2404
|
}).strict();
|
|
2263
|
-
var WorkbenchResearchSendRequestSchema =
|
|
2405
|
+
var WorkbenchResearchSendRequestSchema = z27.object({
|
|
2264
2406
|
...Submission2,
|
|
2265
|
-
prompt:
|
|
2266
|
-
}).strict();
|
|
2267
|
-
var WorkbenchResearchSendResultSchema =
|
|
2268
|
-
var WorkbenchCompletedResultSchema =
|
|
2269
|
-
var WorkbenchCommandSchema =
|
|
2270
|
-
name:
|
|
2271
|
-
description:
|
|
2272
|
-
argumentHint:
|
|
2273
|
-
kind:
|
|
2274
|
-
allowDuringExecution:
|
|
2275
|
-
supported:
|
|
2276
|
-
reason:
|
|
2277
|
-
}).strict();
|
|
2278
|
-
var WorkbenchCommandListResultSchema =
|
|
2279
|
-
commands:
|
|
2280
|
-
}).strict();
|
|
2281
|
-
var WorkbenchCommandInvokeRequestSchema =
|
|
2407
|
+
prompt: z27.string().trim().min(1).max(16e3)
|
|
2408
|
+
}).strict();
|
|
2409
|
+
var WorkbenchResearchSendResultSchema = z27.object({ messageId: Id2 }).strict();
|
|
2410
|
+
var WorkbenchCompletedResultSchema = z27.object({ completed: z27.boolean() }).strict();
|
|
2411
|
+
var WorkbenchCommandSchema = z27.object({
|
|
2412
|
+
name: z27.string().min(1).max(260),
|
|
2413
|
+
description: z27.string().max(4096),
|
|
2414
|
+
argumentHint: z27.string().max(1024).optional(),
|
|
2415
|
+
kind: z27.enum(["builtin", "skill", "client"]),
|
|
2416
|
+
allowDuringExecution: z27.boolean(),
|
|
2417
|
+
supported: z27.boolean(),
|
|
2418
|
+
reason: z27.string().max(1024).optional()
|
|
2419
|
+
}).strict();
|
|
2420
|
+
var WorkbenchCommandListResultSchema = z27.object({
|
|
2421
|
+
commands: z27.array(WorkbenchCommandSchema).max(512)
|
|
2422
|
+
}).strict();
|
|
2423
|
+
var WorkbenchCommandInvokeRequestSchema = z27.object({
|
|
2282
2424
|
...Submission2,
|
|
2283
|
-
name:
|
|
2284
|
-
input:
|
|
2285
|
-
}).strict();
|
|
2286
|
-
var WorkbenchCommandChoiceSchema =
|
|
2287
|
-
name:
|
|
2288
|
-
label:
|
|
2289
|
-
input:
|
|
2290
|
-
}).strict();
|
|
2291
|
-
var WorkbenchCommandResultSchema =
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
kind:
|
|
2297
|
-
choices:
|
|
2425
|
+
name: z27.string().trim().min(1).max(260),
|
|
2426
|
+
input: z27.string().max(16e3)
|
|
2427
|
+
}).strict();
|
|
2428
|
+
var WorkbenchCommandChoiceSchema = z27.object({
|
|
2429
|
+
name: z27.string().min(1).max(260),
|
|
2430
|
+
label: z27.string().min(1).max(1024),
|
|
2431
|
+
input: z27.string().max(16e3)
|
|
2432
|
+
}).strict();
|
|
2433
|
+
var WorkbenchCommandResultSchema = z27.discriminatedUnion("kind", [
|
|
2434
|
+
z27.object({ kind: z27.literal("text"), text: Text }).strict(),
|
|
2435
|
+
z27.object({ kind: z27.literal("completed") }).strict(),
|
|
2436
|
+
z27.object({ kind: z27.literal("sent"), messageId: Id2 }).strict(),
|
|
2437
|
+
z27.object({
|
|
2438
|
+
kind: z27.literal("select-subcommand"),
|
|
2439
|
+
choices: z27.array(WorkbenchCommandChoiceSchema).min(1).max(100)
|
|
2298
2440
|
}).strict()
|
|
2299
2441
|
]);
|
|
2300
|
-
var WorkbenchQueueItemSchema =
|
|
2442
|
+
var WorkbenchQueueItemSchema = z27.object({
|
|
2301
2443
|
id: Id2,
|
|
2302
|
-
kind:
|
|
2303
|
-
texts:
|
|
2304
|
-
actions:
|
|
2444
|
+
kind: z27.string().min(1).max(64),
|
|
2445
|
+
texts: z27.array(z27.string().max(1e5)).min(1).max(100),
|
|
2446
|
+
actions: z27.array(z27.enum(["edit", "remove", "move", "send-now"])).max(4)
|
|
2305
2447
|
}).strict();
|
|
2306
|
-
var WorkbenchQueueSnapshotSchema =
|
|
2448
|
+
var WorkbenchQueueSnapshotSchema = z27.object({
|
|
2307
2449
|
generation: Id2,
|
|
2308
2450
|
revision: Id2,
|
|
2309
|
-
items:
|
|
2310
|
-
steeringMessages:
|
|
2451
|
+
items: z27.array(WorkbenchQueueItemSchema).max(512),
|
|
2452
|
+
steeringMessages: z27.array(z27.string().max(1e5)).max(512)
|
|
2311
2453
|
}).strict();
|
|
2312
2454
|
var QueueMutation = {
|
|
2313
2455
|
...Submission2,
|
|
@@ -2315,48 +2457,48 @@ var QueueMutation = {
|
|
|
2315
2457
|
revision: Id2,
|
|
2316
2458
|
id: Id2
|
|
2317
2459
|
};
|
|
2318
|
-
var WorkbenchQueueMutationRequestSchema =
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
|
|
2323
|
-
]);
|
|
2324
|
-
var WorkbenchQueueMutationResultSchema =
|
|
2325
|
-
changed:
|
|
2460
|
+
var WorkbenchQueueMutationRequestSchema = z27.discriminatedUnion("action", [
|
|
2461
|
+
z27.object({ ...QueueMutation, action: z27.literal("edit"), prompt: z27.string().trim().min(1).max(1e5) }).strict(),
|
|
2462
|
+
z27.object({ ...QueueMutation, action: z27.literal("remove") }).strict(),
|
|
2463
|
+
z27.object({ ...QueueMutation, action: z27.literal("move"), toPosition: z27.number().int().min(0).max(511) }).strict(),
|
|
2464
|
+
z27.object({ ...QueueMutation, action: z27.literal("send-now") }).strict()
|
|
2465
|
+
]);
|
|
2466
|
+
var WorkbenchQueueMutationResultSchema = z27.object({
|
|
2467
|
+
changed: z27.boolean(),
|
|
2326
2468
|
snapshot: WorkbenchQueueSnapshotSchema
|
|
2327
2469
|
}).strict();
|
|
2328
|
-
var WorkbenchTokenMetricSchema =
|
|
2329
|
-
kind:
|
|
2470
|
+
var WorkbenchTokenMetricSchema = z27.object({
|
|
2471
|
+
kind: z27.string().min(1).max(128),
|
|
2330
2472
|
count: Count
|
|
2331
2473
|
}).strict();
|
|
2332
|
-
var WorkbenchModelUsageSchema =
|
|
2474
|
+
var WorkbenchModelUsageSchema = z27.object({
|
|
2333
2475
|
model: Id2,
|
|
2334
2476
|
requests: Count,
|
|
2335
|
-
premiumRequestCost:
|
|
2336
|
-
tokens:
|
|
2477
|
+
premiumRequestCost: z27.number().finite().nonnegative(),
|
|
2478
|
+
tokens: z27.array(WorkbenchTokenMetricSchema).max(32)
|
|
2337
2479
|
}).strict();
|
|
2338
|
-
var WorkbenchContextSchema =
|
|
2480
|
+
var WorkbenchContextSchema = z27.object({
|
|
2339
2481
|
currentTokens: Count,
|
|
2340
2482
|
tokenLimit: Count,
|
|
2341
2483
|
systemTokens: Count.optional(),
|
|
2342
2484
|
conversationTokens: Count.optional(),
|
|
2343
2485
|
toolTokens: Count.optional()
|
|
2344
2486
|
}).strict();
|
|
2345
|
-
var WorkbenchInsightsSchema =
|
|
2346
|
-
sampledAt:
|
|
2487
|
+
var WorkbenchInsightsSchema = z27.object({
|
|
2488
|
+
sampledAt: z27.iso.datetime(),
|
|
2347
2489
|
generation: Id2,
|
|
2348
2490
|
model: Id2.optional(),
|
|
2349
2491
|
totalUserRequests: Count,
|
|
2350
|
-
premiumRequestCost:
|
|
2351
|
-
nanoAiu:
|
|
2352
|
-
tokens:
|
|
2353
|
-
models:
|
|
2492
|
+
premiumRequestCost: z27.number().finite().nonnegative(),
|
|
2493
|
+
nanoAiu: z27.string().regex(/^\d+$/).max(40).optional(),
|
|
2494
|
+
tokens: z27.array(WorkbenchTokenMetricSchema).max(32),
|
|
2495
|
+
models: z27.array(WorkbenchModelUsageSchema).max(100),
|
|
2354
2496
|
context: WorkbenchContextSchema.optional(),
|
|
2355
|
-
canCompact:
|
|
2356
|
-
compactUnavailableReason:
|
|
2497
|
+
canCompact: z27.boolean(),
|
|
2498
|
+
compactUnavailableReason: z27.string().max(1024).optional()
|
|
2357
2499
|
}).strict();
|
|
2358
|
-
var WorkbenchCompactResultSchema =
|
|
2359
|
-
success:
|
|
2500
|
+
var WorkbenchCompactResultSchema = z27.object({
|
|
2501
|
+
success: z27.boolean(),
|
|
2360
2502
|
tokensRemoved: Count,
|
|
2361
2503
|
messagesRemoved: Count
|
|
2362
2504
|
}).strict();
|
|
@@ -2392,15 +2534,27 @@ var WorkbenchAndroidSchemas = {
|
|
|
2392
2534
|
|
|
2393
2535
|
// ../protocol/dist/codegen/android-schemas.js
|
|
2394
2536
|
var AndroidProtocolSchemas = {
|
|
2537
|
+
TimelineImageBlobRequest: TimelineImageBlobRequestSchema,
|
|
2538
|
+
TimelineImageBlobResult: TimelineImageBlobResultSchema,
|
|
2539
|
+
SessionImageUploadRequest: SessionImageUploadRequestSchema,
|
|
2540
|
+
SessionImageScope: SessionImageScopeSchema,
|
|
2541
|
+
SessionImageUploadResult: SessionImageUploadResultSchema,
|
|
2542
|
+
SessionImageCommitResult: SessionImageCommitResultSchema,
|
|
2543
|
+
SessionImageDownloadResult: SessionImageDownloadResultSchema,
|
|
2395
2544
|
...WorkbenchAndroidSchemas,
|
|
2396
2545
|
...ScheduleAndroidSchemas,
|
|
2397
2546
|
SessionCommunication: SessionCommunicationSchema,
|
|
2547
|
+
SessionGitDiffData: SessionGitDiffDataSchema,
|
|
2548
|
+
SessionGitDiffEntry: SessionGitDiffEntrySchema,
|
|
2549
|
+
SessionGitDiffResultData: SessionGitDiffResultDataSchema,
|
|
2550
|
+
SessionGitDiffGzipResultData: SessionGitDiffGzipResultDataSchema,
|
|
2398
2551
|
SessionRenameData: SessionRenameDataSchema,
|
|
2399
2552
|
SessionRenameResultData: SessionRenameResultDataSchema,
|
|
2400
2553
|
SessionDirectoryListData: SessionDirectoryListDataSchema,
|
|
2401
2554
|
SessionDirectoryListResultData: SessionDirectoryListResultDataSchema,
|
|
2402
2555
|
SessionFileReadData: SessionFileReadDataSchema,
|
|
2403
2556
|
SessionFileReadResultData: SessionFileReadResultDataSchema,
|
|
2557
|
+
SessionFileReadV2ResultData: SessionFileReadV2ResultDataSchema,
|
|
2404
2558
|
SessionResourceReadData: SessionResourceReadDataSchema,
|
|
2405
2559
|
SessionResourceReadResultData: SessionResourceReadResultDataSchema,
|
|
2406
2560
|
SessionDirectoryListRequest: SessionDirectoryListRequestSchema,
|
|
@@ -2525,19 +2679,33 @@ export {
|
|
|
2525
2679
|
SESSION_DIRECTORY_MAX_RESPONSE_BYTES,
|
|
2526
2680
|
SESSION_FILE_READ_OPERATION,
|
|
2527
2681
|
SESSION_FILE_READ_VERSION,
|
|
2682
|
+
SESSION_FILE_READ_V2_VERSION,
|
|
2528
2683
|
SESSION_FILE_MAX_ORIGINAL_BYTES,
|
|
2684
|
+
SESSION_FILE_V2_MAX_ORIGINAL_BYTES,
|
|
2529
2685
|
SESSION_FILE_GZIP_THRESHOLD_BYTES,
|
|
2530
2686
|
SESSION_FILE_MAX_IMAGE_BYTES,
|
|
2531
2687
|
SESSION_FILE_MAX_IMAGE_EDGE,
|
|
2532
2688
|
SESSION_FILE_MAX_IMAGE_PIXELS,
|
|
2689
|
+
SESSION_FILE_MAX_VIDEO_PIXELS,
|
|
2533
2690
|
isSafeSessionDirectoryPath,
|
|
2534
2691
|
SessionDirectoryListDataSchema,
|
|
2535
2692
|
SessionDirectoryListResultDataSchema,
|
|
2536
2693
|
SessionFileReadDataSchema,
|
|
2537
2694
|
SessionFileReadResultDataSchema,
|
|
2695
|
+
SessionFileReadV2ResultDataSchema,
|
|
2538
2696
|
SessionGitProjectSchema,
|
|
2539
2697
|
SessionProjectIdentityRequestDataSchema,
|
|
2540
2698
|
SessionProjectIdentityResultDataSchema,
|
|
2699
|
+
SESSION_GIT_DIFF_OPERATION,
|
|
2700
|
+
SESSION_GIT_DIFF_VERSION,
|
|
2701
|
+
SESSION_GIT_DIFF_GZIP_VERSION,
|
|
2702
|
+
SESSION_GIT_DIFF_GZIP_MIN_BYTES,
|
|
2703
|
+
SESSION_GIT_DIFF_MAX_FILES,
|
|
2704
|
+
SESSION_GIT_DIFF_MAX_PATCH_BYTES,
|
|
2705
|
+
SESSION_GIT_DIFF_MAX_RESPONSE_BYTES,
|
|
2706
|
+
SessionGitDiffDataSchema,
|
|
2707
|
+
SessionGitDiffResultDataSchema,
|
|
2708
|
+
SessionGitDiffGzipResultDataSchema,
|
|
2541
2709
|
SESSION_RESOURCE_READ_OPERATION,
|
|
2542
2710
|
SESSION_RESOURCE_READ_VERSION,
|
|
2543
2711
|
SESSION_RESOURCE_MAX_ORIGINAL_BYTES,
|
|
@@ -2545,6 +2713,17 @@ export {
|
|
|
2545
2713
|
SESSION_RESOURCE_MAX_IMAGE_PIXELS,
|
|
2546
2714
|
SessionResourceReadDataSchema,
|
|
2547
2715
|
SessionResourceReadResultDataSchema,
|
|
2716
|
+
SESSION_IMAGE_MAX_BYTES,
|
|
2717
|
+
SESSION_IMAGE_MAX_PIXELS,
|
|
2718
|
+
SESSION_IMAGE_API_PATH,
|
|
2719
|
+
TIMELINE_IMAGE_BLOB_OPERATION,
|
|
2720
|
+
TIMELINE_IMAGE_BLOB_VERSION,
|
|
2721
|
+
SessionImageUploadRequestSchema,
|
|
2722
|
+
SessionImageScopeSchema,
|
|
2723
|
+
SessionImageUploadResultSchema,
|
|
2724
|
+
SessionImageCommitResultSchema,
|
|
2725
|
+
TimelineImageBlobRequestSchema,
|
|
2726
|
+
TimelineImageBlobResultSchema,
|
|
2548
2727
|
SESSION_RENAME_OPERATION,
|
|
2549
2728
|
SESSION_RENAME_VERSION,
|
|
2550
2729
|
SESSION_NAME_MAX_LENGTH,
|
|
@@ -2623,6 +2802,7 @@ export {
|
|
|
2623
2802
|
TIMELINE_IMAGE_CHUNK_BYTES,
|
|
2624
2803
|
TIMELINE_IMAGE_MAX_BYTES,
|
|
2625
2804
|
TimelineSyncRequestSchema,
|
|
2805
|
+
TimelineResyncReasonSchema,
|
|
2626
2806
|
TimelineSyncResponseSchema,
|
|
2627
2807
|
TimelineImageRequestSchema,
|
|
2628
2808
|
TimelineImageChunkSchema,
|