@agentknight/client 0.9.37 → 0.9.38

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.
@@ -19391,7 +19391,7 @@ async function installPreparedPackage(options) {
19391
19391
  import { createConnection, createServer } from "node:net";
19392
19392
  import { join as join5, resolve as resolve3 } from "node:path";
19393
19393
 
19394
- // ../../shared/sdk/dist/chunks/chunk-N2LIXMIM.js
19394
+ // ../../shared/sdk/dist/chunks/chunk-GNQC2IS2.js
19395
19395
  var IdSchema = external_exports.string().trim().min(1).max(256);
19396
19396
  var IsoDateSchema = external_exports.iso.datetime({ offset: true });
19397
19397
  var Base64UrlKeyIdSchema = external_exports.string().regex(/^[A-Za-z0-9_-]{22}$/u, "Expected a 16-byte base64url key ID");
@@ -21141,6 +21141,61 @@ var SessionProjectIdentityRequestDataSchema = external_exports.object({}).strict
21141
21141
  var SessionProjectIdentityResultDataSchema = external_exports.object({
21142
21142
  project: SessionGitProjectSchema.optional()
21143
21143
  }).strict();
21144
+ var SESSION_GIT_DIFF_GZIP_MIN_BYTES = 2 * 1024;
21145
+ var SESSION_GIT_DIFF_MAX_FILES = 500;
21146
+ var SESSION_GIT_DIFF_MAX_PATCH_BYTES = 128 * 1024;
21147
+ var SESSION_GIT_DIFF_MAX_RESPONSE_BYTES = 512 * 1024;
21148
+ var SESSION_GIT_DIFF_MAX_TRANSFER_BYTES = SESSION_GIT_DIFF_MAX_RESPONSE_BYTES + 1024;
21149
+ var SESSION_GIT_DIFF_MAX_BASE64_LENGTH = Math.ceil(SESSION_GIT_DIFF_MAX_TRANSFER_BYTES / 3) * 4;
21150
+ var SESSION_GIT_DIFF_MAX_GZIP_RESPONSE_BYTES = SESSION_GIT_DIFF_MAX_BASE64_LENGTH + 1024;
21151
+ var commitSchema = external_exports.string().regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/u);
21152
+ var SessionGitDiffDataSchema = external_exports.object({
21153
+ rootRevision: SessionFileReadDataSchema.shape.rootRevision,
21154
+ path: SessionFileReadDataSchema.shape.path.optional(),
21155
+ baseCommit: commitSchema.optional()
21156
+ }).strict().refine((value) => value.path === void 0 === (value.baseCommit === void 0), "A file diff must identify its listed base commit");
21157
+ var SessionGitDiffEntrySchema = external_exports.object({
21158
+ path: SessionFileReadDataSchema.shape.path,
21159
+ status: external_exports.enum(["added", "modified", "deleted", "untracked"])
21160
+ }).strict();
21161
+ var SessionGitDiffResultDataSchema = external_exports.object({
21162
+ rootRevision: SessionFileReadDataSchema.shape.rootRevision,
21163
+ baseRef: external_exports.enum(["origin/main", "main"]),
21164
+ baseCommit: commitSchema,
21165
+ files: external_exports.array(SessionGitDiffEntrySchema).max(SESSION_GIT_DIFF_MAX_FILES).optional(),
21166
+ path: SessionFileReadDataSchema.shape.path.optional(),
21167
+ patch: external_exports.string().max(SESSION_GIT_DIFF_MAX_PATCH_BYTES).optional(),
21168
+ binary: external_exports.boolean().optional()
21169
+ }).strict().superRefine((value, context) => {
21170
+ const encoder = new TextEncoder();
21171
+ 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) {
21172
+ context.addIssue({ code: "custom", message: "Git diff exceeds its transfer limit" });
21173
+ }
21174
+ if (value.path === void 0) {
21175
+ 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) {
21176
+ context.addIssue({ code: "custom", message: "Expected a unique changed-file list" });
21177
+ }
21178
+ } else if (value.files !== void 0 || value.patch === void 0 || value.binary === void 0 || value.binary && value.patch !== "") {
21179
+ context.addIssue({ code: "custom", message: "Expected a text patch or an explicit binary change" });
21180
+ }
21181
+ });
21182
+ var SessionGitDiffGzipResultDataSchema = external_exports.object({
21183
+ encoding: external_exports.literal("gzip"),
21184
+ byteLength: external_exports.number().int().min(1).max(SESSION_GIT_DIFF_MAX_RESPONSE_BYTES),
21185
+ data: external_exports.string().max(SESSION_GIT_DIFF_MAX_BASE64_LENGTH).regex(/^[A-Za-z0-9+/]*={0,2}$/u)
21186
+ }).strict().superRefine((value, context) => {
21187
+ const padding = value.data.endsWith("==") ? 2 : value.data.endsWith("=") ? 1 : 0;
21188
+ const bytes = value.data.length / 4 * 3 - padding;
21189
+ const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
21190
+ const tail = alphabet.indexOf(value.data[value.data.length - padding - 1] ?? "");
21191
+ 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) {
21192
+ context.addIssue({ code: "custom", message: "Invalid gzip transfer" });
21193
+ }
21194
+ });
21195
+ var SessionGitDiffV2ResultDataSchema = external_exports.union([
21196
+ SessionGitDiffResultDataSchema,
21197
+ SessionGitDiffGzipResultDataSchema
21198
+ ]);
21144
21199
  var SESSION_RESOURCE_MAX_ORIGINAL_BYTES = 499999;
21145
21200
  var SESSION_RESOURCE_GZIP_THRESHOLD_BYTES = 20 * 1024;
21146
21201
  var SESSION_RESOURCE_MAX_IMAGE_PIXELS = 16 * 1024 * 1024;
@@ -21670,6 +21725,10 @@ var AndroidProtocolSchemas = {
21670
21725
  ...WorkbenchAndroidSchemas,
21671
21726
  ...ScheduleAndroidSchemas,
21672
21727
  SessionCommunication: SessionCommunicationSchema,
21728
+ SessionGitDiffData: SessionGitDiffDataSchema,
21729
+ SessionGitDiffEntry: SessionGitDiffEntrySchema,
21730
+ SessionGitDiffResultData: SessionGitDiffResultDataSchema,
21731
+ SessionGitDiffGzipResultData: SessionGitDiffGzipResultDataSchema,
21673
21732
  SessionRenameData: SessionRenameDataSchema,
21674
21733
  SessionRenameResultData: SessionRenameResultDataSchema,
21675
21734
  SessionDirectoryListData: SessionDirectoryListDataSchema,
@@ -21764,7 +21823,7 @@ var AndroidProtocolSchemas = {
21764
21823
  ProtocolError: ProtocolErrorSchema
21765
21824
  };
21766
21825
 
21767
- // ../../shared/sdk/dist/chunks/chunk-IXV2BIUR.js
21826
+ // ../../shared/sdk/dist/chunks/chunk-4FC2WG64.js
21768
21827
  var OwnerSchema = external_exports.object({ pid: external_exports.number().int().positive(), instanceId: external_exports.uuid().optional() });
21769
21828
  var PeerChatRequestSchema = external_exports.object({
21770
21829
  sessionId: IdSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentknight/client",
3
- "version": "0.9.37",
3
+ "version": "0.9.38",
4
4
  "description": "AgentKnight PC Agent CLI for remote Copilot, PI and ACP coding sessions",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -41,7 +41,7 @@
41
41
  "qrcode": "1.5.4",
42
42
  "qrcode-terminal": "0.12.0",
43
43
  "zod": "4.5.4",
44
- "@agentknight/sdk": "0.9.37"
44
+ "@agentknight/sdk": "0.9.38"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@types/qrcode": "1.5.6",
@@ -49,8 +49,8 @@
49
49
  "esbuild": "0.28.2",
50
50
  "sharp": "0.34.5",
51
51
  "socket.io-client": "4.8.3",
52
- "@agentknight/shared": "0.1.0",
53
- "@agentknight/protocol": "0.1.0"
52
+ "@agentknight/protocol": "0.1.0",
53
+ "@agentknight/shared": "0.1.0"
54
54
  },
55
55
  "scripts": {
56
56
  "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",