@xrkseek/harness 0.4.7 → 0.4.8

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.
Files changed (128) hide show
  1. package/node_modules/@xrkseek/attachment/dist/error.d.ts +1 -1
  2. package/node_modules/@xrkseek/attachment/dist/error.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/attachment/dist/error.js.map +1 -1
  4. package/node_modules/@xrkseek/attachment/dist/image-region.d.ts +45 -0
  5. package/node_modules/@xrkseek/attachment/dist/image-region.d.ts.map +1 -0
  6. package/node_modules/@xrkseek/attachment/dist/image-region.js +64 -0
  7. package/node_modules/@xrkseek/attachment/dist/image-region.js.map +1 -0
  8. package/node_modules/@xrkseek/attachment/dist/index.d.ts +1 -0
  9. package/node_modules/@xrkseek/attachment/dist/index.d.ts.map +1 -1
  10. package/node_modules/@xrkseek/attachment/dist/index.js +1 -0
  11. package/node_modules/@xrkseek/attachment/dist/index.js.map +1 -1
  12. package/node_modules/@xrkseek/attachment/dist/store.d.ts +7 -0
  13. package/node_modules/@xrkseek/attachment/dist/store.d.ts.map +1 -1
  14. package/node_modules/@xrkseek/attachment-local/dist/crop-region.d.ts +10 -0
  15. package/node_modules/@xrkseek/attachment-local/dist/crop-region.d.ts.map +1 -0
  16. package/node_modules/@xrkseek/attachment-local/dist/crop-region.js +53 -0
  17. package/node_modules/@xrkseek/attachment-local/dist/crop-region.js.map +1 -0
  18. package/node_modules/@xrkseek/attachment-local/dist/index.d.ts +1 -0
  19. package/node_modules/@xrkseek/attachment-local/dist/index.d.ts.map +1 -1
  20. package/node_modules/@xrkseek/attachment-local/dist/index.js +3 -0
  21. package/node_modules/@xrkseek/attachment-local/dist/index.js.map +1 -1
  22. package/node_modules/@xrkseek/core-agent-loop/dist/index.d.ts.map +1 -1
  23. package/node_modules/@xrkseek/core-agent-loop/dist/index.js +13 -5
  24. package/node_modules/@xrkseek/core-agent-loop/dist/index.js.map +1 -1
  25. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts +1 -0
  26. package/node_modules/@xrkseek/exec-fs/dist/index.d.ts.map +1 -1
  27. package/node_modules/@xrkseek/exec-fs/dist/index.js +3 -0
  28. package/node_modules/@xrkseek/exec-fs/dist/index.js.map +1 -1
  29. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.d.ts +25 -0
  30. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.d.ts.map +1 -0
  31. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.js +107 -0
  32. package/node_modules/@xrkseek/exec-fs/dist/present-deliverable.js.map +1 -0
  33. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts +5 -0
  34. package/node_modules/@xrkseek/exec-fs/dist/read-image.d.ts.map +1 -1
  35. package/node_modules/@xrkseek/exec-fs/dist/read-image.js +55 -7
  36. package/node_modules/@xrkseek/exec-fs/dist/read-image.js.map +1 -1
  37. package/node_modules/@xrkseek/exec-image-gen/README.md +3 -3
  38. package/node_modules/@xrkseek/exec-video-analyze/README.md +11 -0
  39. package/node_modules/@xrkseek/exec-video-analyze/dist/format.d.ts +3 -0
  40. package/node_modules/@xrkseek/exec-video-analyze/dist/format.d.ts.map +1 -0
  41. package/node_modules/@xrkseek/exec-video-analyze/dist/format.js +10 -0
  42. package/node_modules/@xrkseek/exec-video-analyze/dist/format.js.map +1 -0
  43. package/node_modules/@xrkseek/exec-video-analyze/dist/index.d.ts +39 -0
  44. package/node_modules/@xrkseek/exec-video-analyze/dist/index.d.ts.map +1 -0
  45. package/node_modules/@xrkseek/exec-video-analyze/dist/index.js +64 -0
  46. package/node_modules/@xrkseek/exec-video-analyze/dist/index.js.map +1 -0
  47. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.d.ts +22 -0
  48. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.d.ts.map +1 -0
  49. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.js +70 -0
  50. package/node_modules/@xrkseek/exec-video-analyze/dist/materialize.js.map +1 -0
  51. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.d.ts +8 -0
  52. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.d.ts.map +1 -0
  53. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.js +21 -0
  54. package/node_modules/@xrkseek/exec-video-analyze/dist/memory.js.map +1 -0
  55. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.d.ts +13 -0
  56. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.d.ts.map +1 -0
  57. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.js +44 -0
  58. package/node_modules/@xrkseek/exec-video-analyze/dist/mime.js.map +1 -0
  59. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.d.ts +15 -0
  60. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.d.ts.map +1 -0
  61. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.js +102 -0
  62. package/node_modules/@xrkseek/exec-video-analyze/dist/openai-http.js.map +1 -0
  63. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.d.ts +24 -0
  64. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.d.ts.map +1 -0
  65. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.js +120 -0
  66. package/node_modules/@xrkseek/exec-video-analyze/dist/tools.js.map +1 -0
  67. package/node_modules/@xrkseek/exec-video-analyze/dist/types.d.ts +30 -0
  68. package/node_modules/@xrkseek/exec-video-analyze/dist/types.d.ts.map +1 -0
  69. package/node_modules/@xrkseek/exec-video-analyze/dist/types.js +16 -0
  70. package/node_modules/@xrkseek/exec-video-analyze/dist/types.js.map +1 -0
  71. package/node_modules/@xrkseek/exec-video-analyze/package.json +26 -0
  72. package/node_modules/@xrkseek/exec-video-gen/README.md +3 -4
  73. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +14 -0
  74. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  75. package/node_modules/@xrkseek/preset-harness/dist/preset.js +36 -0
  76. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  77. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  78. package/node_modules/@xrkseek/preset-harness/package.json +1 -0
  79. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  80. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  81. package/node_modules/@xrkseek/protocol/dist/index.d.ts +1 -1
  82. package/node_modules/@xrkseek/protocol/dist/index.d.ts.map +1 -1
  83. package/node_modules/@xrkseek/protocol/dist/index.js +1 -1
  84. package/node_modules/@xrkseek/protocol/dist/index.js.map +1 -1
  85. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts +12 -0
  86. package/node_modules/@xrkseek/protocol/dist/json-schema.d.ts.map +1 -1
  87. package/node_modules/@xrkseek/protocol/dist/json-schema.js +23 -0
  88. package/node_modules/@xrkseek/protocol/dist/json-schema.js.map +1 -1
  89. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts +24 -1
  90. package/node_modules/@xrkseek/protocol/dist/session-events.d.ts.map +1 -1
  91. package/node_modules/@xrkseek/protocol/dist/session-events.js +12 -0
  92. package/node_modules/@xrkseek/protocol/dist/session-events.js.map +1 -1
  93. package/node_modules/@xrkseek/protocol/dist/validate.d.ts.map +1 -1
  94. package/node_modules/@xrkseek/protocol/dist/validate.js +32 -0
  95. package/node_modules/@xrkseek/protocol/dist/validate.js.map +1 -1
  96. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.d.ts +6 -0
  97. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.d.ts.map +1 -1
  98. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.js +8 -0
  99. package/node_modules/@xrkseek/server-face/dist/adapt/tool-view.js.map +1 -1
  100. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts +1 -0
  101. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.d.ts.map +1 -1
  102. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js +15 -0
  103. package/node_modules/@xrkseek/server-face/dist/adapt/wire-event.js.map +1 -1
  104. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts +6 -0
  105. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.d.ts.map +1 -1
  106. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js +16 -0
  107. package/node_modules/@xrkseek/server-face/dist/adapt/wire-ids.js.map +1 -1
  108. package/node_modules/@xrkseek/server-face/dist/approval-category.d.ts.map +1 -1
  109. package/node_modules/@xrkseek/server-face/dist/approval-category.js +2 -1
  110. package/node_modules/@xrkseek/server-face/dist/approval-category.js.map +1 -1
  111. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  112. package/node_modules/@xrkseek/server-face/dist/runtime.js +7 -2
  113. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  114. package/node_modules/@xrkseek/server-face/dist/settings-credentials.d.ts.map +1 -1
  115. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js +5 -0
  116. package/node_modules/@xrkseek/server-face/dist/settings-credentials.js.map +1 -1
  117. package/node_modules/@xrkseek/server-face/dist/settings-document.d.ts.map +1 -1
  118. package/node_modules/@xrkseek/server-face/dist/settings-document.js +4 -0
  119. package/node_modules/@xrkseek/server-face/dist/settings-document.js.map +1 -1
  120. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  121. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +15 -0
  122. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  123. package/node_modules/@xrkseek/server-host/dist/index.d.ts +7 -0
  124. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  125. package/node_modules/@xrkseek/server-host/dist/index.js +31 -0
  126. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  127. package/node_modules/@xrkseek/server-host/package.json +1 -0
  128. package/package.json +3 -1
@@ -11,6 +11,7 @@ export { langFromPath, presentEditCall, presentEditResult, presentGlobCall, pres
11
11
  export { parsePatch, patchPathsRequiringRead, patchTouchedPaths, PatchParseError, type PatchHunk, type ParsedPatch, type UpdateFileChunk, } from "./apply-patch-parser.js";
12
12
  export { applyPatchToFs, type ApplyPatchResult, } from "./apply-patch.js";
13
13
  export { ApplyPatchError, deriveUpdatedContents, planPatchApplication, seekSequence, } from "./apply-patch-apply.js";
14
+ export { createPresentTool, PRESENT_MAX_FILES, type PresentFileArg, type PresentToolOptions, } from "./present-deliverable.js";
14
15
  export declare class EditWithoutOldError extends Error {
15
16
  constructor(message: string);
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { presentEditCall, presentEditResult, presentGlobCall, presentGlobResult,
9
9
  import { applyPatchToFs } from "./apply-patch.js";
10
10
  import { PatchParseError } from "./apply-patch-parser.js";
11
11
  import { ApplyPatchError } from "./apply-patch-apply.js";
12
+ import { createPresentTool } from "./present-deliverable.js";
12
13
  export { PathEscapeError, isLexicallyInside, resolveUnderHostRoots, resolveWithinRoot, } from "./paths.js";
13
14
  export { applyLiteralEdit, detectLineEndings, normalizeLineEndings, restoreLineEndings, stripCarriageReturn, EditAmbiguousError, } from "./edit-text.js";
14
15
  export { DEFAULT_READ_LINE_LIMIT, formatReadWindow, } from "./read-window.js";
@@ -20,6 +21,7 @@ export { langFromPath, presentEditCall, presentEditResult, presentGlobCall, pres
20
21
  export { parsePatch, patchPathsRequiringRead, patchTouchedPaths, PatchParseError, } from "./apply-patch-parser.js";
21
22
  export { applyPatchToFs, } from "./apply-patch.js";
22
23
  export { ApplyPatchError, deriveUpdatedContents, planPatchApplication, seekSequence, } from "./apply-patch-apply.js";
24
+ export { createPresentTool, PRESENT_MAX_FILES, } from "./present-deliverable.js";
23
25
  export class EditWithoutOldError extends Error {
24
26
  constructor(message) {
25
27
  super(message);
@@ -396,6 +398,7 @@ export function createFsTools(fs) {
396
398
  presentResult: presentGrepResult,
397
399
  isConcurrencySafe: () => true,
398
400
  },
401
+ createPresentTool(fs),
399
402
  ];
400
403
  }
401
404
  /** Back-compat helpers used by older tests. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { ToolDefinition } from "@xrkseek/core-tools";
2
+ import type { FsService } from "./index.js";
3
+ /**
4
+ * Per-call delivery limit, aligned with DSH `tool-present` (default 8).
5
+ */
6
+ export declare const PRESENT_MAX_FILES = 8;
7
+ export interface PresentFileArg {
8
+ readonly path: string;
9
+ readonly description?: string;
10
+ }
11
+ export interface PresentToolOptions {
12
+ /** Maximum files per call. Must be a positive safe integer. */
13
+ readonly maxFiles?: number;
14
+ }
15
+ /**
16
+ * `present` — model-declared final deliverables (DSH `tool-present`).
17
+ *
18
+ * Declares existing files as outputs the user asked to receive. Unlike the
19
+ * turn-end `workspace/changes` diff capture (which only sees write/edit/patch
20
+ * paths), `present` lets the model declare files created through shell /
21
+ * scripts / downloads as deliverables. Renders through the same produced-files
22
+ * card as diffs (`producedPaths` reads the edit-kind call locations).
23
+ */
24
+ export declare function createPresentTool(fs: FsService, options?: PresentToolOptions): ToolDefinition;
25
+ //# sourceMappingURL=present-deliverable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"present-deliverable.d.ts","sourceRoot":"","sources":["../src/present-deliverable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CA6FhB"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Per-call delivery limit, aligned with DSH `tool-present` (default 8).
3
+ */
4
+ export const PRESENT_MAX_FILES = 8;
5
+ /**
6
+ * `present` — model-declared final deliverables (DSH `tool-present`).
7
+ *
8
+ * Declares existing files as outputs the user asked to receive. Unlike the
9
+ * turn-end `workspace/changes` diff capture (which only sees write/edit/patch
10
+ * paths), `present` lets the model declare files created through shell /
11
+ * scripts / downloads as deliverables. Renders through the same produced-files
12
+ * card as diffs (`producedPaths` reads the edit-kind call locations).
13
+ */
14
+ export function createPresentTool(fs, options = {}) {
15
+ const maxFiles = options.maxFiles ?? PRESENT_MAX_FILES;
16
+ if (!Number.isSafeInteger(maxFiles) || maxFiles < 1) {
17
+ throw new Error("present requires a positive integer maxFiles");
18
+ }
19
+ return {
20
+ name: "present",
21
+ description: "Declare existing files as final deliverables the user asked to receive. " +
22
+ "When a file you create or update is an output the user asked for — including files created " +
23
+ "through Bash, scripts, or downloads — call present after writing it and before your final response. " +
24
+ "Mentioning the path in your reply does not replace this call. The files must already exist. " +
25
+ "Relative paths resolve against the workspace root; absolute paths may name files under the " +
26
+ "workspace root or Host-readable roots. Their contents are not copied; the user opens the current source files.",
27
+ parameters: {
28
+ type: "object",
29
+ properties: {
30
+ files: {
31
+ type: "array",
32
+ minItems: 1,
33
+ maxItems: maxFiles,
34
+ items: {
35
+ type: "object",
36
+ properties: {
37
+ path: { type: "string" },
38
+ description: { type: "string" },
39
+ },
40
+ required: ["path"],
41
+ additionalProperties: false,
42
+ },
43
+ },
44
+ },
45
+ required: ["files"],
46
+ },
47
+ async execute(args, _signal, extras) {
48
+ const a = args;
49
+ const files = a.files ?? [];
50
+ if (files.length === 0) {
51
+ return { content: "present requires at least one file", isError: true };
52
+ }
53
+ if (files.length > maxFiles) {
54
+ return {
55
+ content: `present accepts at most ${maxFiles} files per call`,
56
+ isError: true,
57
+ };
58
+ }
59
+ const declared = [];
60
+ for (const file of files) {
61
+ const p = String(file.path ?? "");
62
+ if (!p.trim()) {
63
+ return { content: "present requires a non-empty path", isError: true };
64
+ }
65
+ try {
66
+ const st = await fs.stat(p);
67
+ if (!st.isFile) {
68
+ return {
69
+ content: `present: not a regular file: ${p}`,
70
+ isError: true,
71
+ };
72
+ }
73
+ }
74
+ catch (err) {
75
+ const message = err instanceof Error ? err.message : String(err);
76
+ return { content: `present: cannot access ${p}: ${message}`, isError: true };
77
+ }
78
+ const description = typeof file.description === "string" && file.description.trim()
79
+ ? file.description.trim()
80
+ : undefined;
81
+ declared.push(description === undefined ? { path: p } : { path: p, description });
82
+ }
83
+ if (extras) {
84
+ extras.emitToolEvent("deliverables/presented", { files: declared });
85
+ }
86
+ const lines = declared.map((file) => {
87
+ const desc = file.description ? ` (${file.description})` : "";
88
+ return `presented ${file.path}${desc}`;
89
+ });
90
+ return { content: lines.join("\n") };
91
+ },
92
+ isConcurrencySafe: () => true,
93
+ presentCall: (args) => {
94
+ const entries = args.files ?? [];
95
+ return {
96
+ card: "generic",
97
+ title: "Present delivered files",
98
+ kind: "edit",
99
+ rawInput: entries,
100
+ locations: entries
101
+ .filter((entry) => typeof entry.path === "string" && entry.path.trim())
102
+ .map((entry) => ({ path: entry.path })),
103
+ };
104
+ },
105
+ };
106
+ }
107
+ //# sourceMappingURL=present-deliverable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"present-deliverable.js","sourceRoot":"","sources":["../src/present-deliverable.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface ImageReadValue {
21
21
  readonly width: number;
22
22
  readonly height: number;
23
23
  };
24
+ /** Present when `region` crop was applied (Hermes vision offset disclosure). */
25
+ readonly cropOffset?: {
26
+ readonly x: number;
27
+ readonly y: number;
28
+ };
24
29
  };
25
30
  }
26
31
  export declare function imageMediaTypeForPath(filePath: string): ImageMediaType | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"read-image.d.ts","sourceRoot":"","sources":["../src/read-image.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAC;AAU7B,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;SACzB,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,SAAS,CAE5B;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,MAAM,CAgBR;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;CAC3C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,cAAc,CA8GhB"}
1
+ {"version":3,"file":"read-image.d.ts","sourceRoot":"","sources":["../src/read-image.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;AAU7B,mFAAmF;AACnF,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;YACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;SACzB,CAAC;QACF,gFAAgF;QAChF,QAAQ,CAAC,UAAU,CAAC,EAAE;YACpB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GACf,cAAc,GAAG,SAAS,CAE5B;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,GAC7B,MAAM,CAuBR;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,eAAe,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;CAC3C;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,0BAA0B,GAClC,cAAc,CAsJhB"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * `read_image` tool — persist workspace images as attachments (DSH rc.2).
3
+ * Optional Hermes-style `region` crop runs before admission normalize.
3
4
  */
4
5
  import { basename, extname } from "node:path";
5
- import { AttachmentError, } from "@xrkseek/attachment";
6
+ import { AttachmentError, parseImageRegion, } from "@xrkseek/attachment";
6
7
  const IMAGE_EXTENSIONS = {
7
8
  ".png": "image/png",
8
9
  ".jpg": "image/jpeg",
@@ -23,10 +24,17 @@ export function formatImageReadOutput(displayPath, image) {
23
24
  : `multiply x coordinates by ${x} and y coordinates by ${y}`;
24
25
  scaled = ` (downscaled from ${image.originalDimensions.width}x${image.originalDimensions.height} px; ${advice} to locate features in the original file)`;
25
26
  }
27
+ let cropNote = "";
28
+ if (image.cropOffset !== undefined) {
29
+ cropNote =
30
+ `. Cropped region of the original image starting at offset ` +
31
+ `(${image.cropOffset.x}, ${image.cropOffset.y}); coordinates are relative ` +
32
+ `to that crop origin — add the offset to map back to the full image`;
33
+ }
26
34
  return `<path>${displayPath}</path>
27
35
  <type>image</type>
28
36
  <content>
29
- ${image.mediaType} image, ${image.width}x${image.height} px, ${image.bytes} bytes${scaled}
37
+ ${image.mediaType} image, ${image.width}x${image.height} px, ${image.bytes} bytes${scaled}${cropNote}
30
38
  </content>`;
31
39
  }
32
40
  export function createReadImageTool(options) {
@@ -34,7 +42,9 @@ export function createReadImageTool(options) {
34
42
  return {
35
43
  name: "read_image",
36
44
  description: "Read a PNG/JPEG/WebP/GIF file and return the image as a durable attachment. " +
37
- "Large images are normalized before the next model request.",
45
+ "Large images are normalized before the next model request. " +
46
+ "Optional region [x1,y1,x2,y2] crops in original-image pixels before downscaling " +
47
+ "(full-resolution zoom into small text or fine detail).",
38
48
  parameters: {
39
49
  type: "object",
40
50
  properties: {
@@ -42,15 +52,41 @@ export function createReadImageTool(options) {
42
52
  type: "string",
43
53
  description: "Workspace-relative path to the image file.",
44
54
  },
55
+ region: {
56
+ type: "array",
57
+ items: { type: "integer" },
58
+ minItems: 4,
59
+ maxItems: 4,
60
+ description: "Optional [x1, y1, x2, y2] crop in ORIGINAL-image pixel coordinates, " +
61
+ "applied before any downscaling — the crop keeps full resolution. " +
62
+ "Load the full image first, then re-call with a region to zoom into " +
63
+ "small text or fine detail.",
64
+ },
45
65
  },
46
66
  required: ["file_path"],
47
67
  },
48
68
  isConcurrencySafe: () => true,
49
69
  async execute(args) {
50
- const filePath = String(args.file_path ?? "").trim();
70
+ const raw = args;
71
+ const filePath = String(raw.file_path ?? "").trim();
51
72
  if (!filePath) {
52
73
  return { content: "file_path must be a non-empty string", isError: true };
53
74
  }
75
+ let region;
76
+ if (raw.region !== undefined && raw.region !== null) {
77
+ const parsed = parseImageRegion(raw.region);
78
+ if ("error" in parsed) {
79
+ return { content: parsed.error, isError: true };
80
+ }
81
+ if (attachments.cropImageRegion === undefined) {
82
+ return {
83
+ content: `cannot read "${filePath}": region cropping requires image processing ` +
84
+ `(local attachment store with sharp); retry without the region parameter.`,
85
+ isError: true,
86
+ };
87
+ }
88
+ region = parsed;
89
+ }
54
90
  const mediaType = imageMediaTypeForPath(filePath);
55
91
  if (mediaType === undefined) {
56
92
  return {
@@ -79,10 +115,18 @@ export function createReadImageTool(options) {
79
115
  };
80
116
  }
81
117
  const byteCap = Math.min(attachments.imageLimits.maxImageBytes, attachments.imageLimits.maxMessageImageBytes);
82
- const data = await fs.readBytes(filePath, byteCap);
118
+ let data = await fs.readBytes(filePath, byteCap);
119
+ let saveMediaType = mediaType;
120
+ let cropOffset;
121
+ if (region !== undefined) {
122
+ const cropped = await attachments.cropImageRegion(data, region);
123
+ data = cropped.data;
124
+ saveMediaType = cropped.mediaType;
125
+ cropOffset = { ...cropped.offset };
126
+ }
83
127
  const ref = await attachments.saveImage({
84
128
  data,
85
- mediaType,
129
+ mediaType: saveMediaType,
86
130
  name: basename(filePath),
87
131
  });
88
132
  const value = {
@@ -97,6 +141,7 @@ export function createReadImageTool(options) {
97
141
  ...(ref.originalDimensions !== undefined
98
142
  ? { originalDimensions: { ...ref.originalDimensions } }
99
143
  : {}),
144
+ ...(cropOffset !== undefined ? { cropOffset } : {}),
100
145
  },
101
146
  };
102
147
  // Model + Face wire: text envelope beside a durable image block (DSH).
@@ -119,7 +164,10 @@ export function createReadImageTool(options) {
119
164
  },
120
165
  },
121
166
  ],
122
- meta: { path: value.path },
167
+ meta: {
168
+ path: value.path,
169
+ ...(cropOffset !== undefined ? { cropOffset } : {}),
170
+ },
123
171
  };
124
172
  }
125
173
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"read-image.js","sourceRoot":"","sources":["../src/read-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-image.js","sourceRoot":"","sources":["../src/read-image.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,12 @@
2
2
 
3
3
  Text-to-image / image-to-image Provider seam for the model tool surface.
4
4
 
5
+ **Product path**: Settings → Plugins → Image generation (Face ns `image-gen`). Credentials hold `XRK_IMAGE_GEN_OPENAI_KEY`. Env (`XRK_IMAGE_GEN=memory` / `=1`) is CI / headless bypass only — see [docs/image-gen.md](../../../docs/image-gen.md).
6
+
5
7
  - **Definition**: `ImageGenService.generate` + optional `capabilities()`
6
8
  - **Provider**: `createMemoryImageGenProvider` · `createOpenAiImageGenProvider` (generations + edits)
7
9
  - **Consumer**: `createImageGenTools` → `image_generate` (schema rebuilt from capabilities)
8
10
 
9
11
  Edit args (`image_url` · `reference_image_urls` · `reference_attachment_ids`) appear only when the Provider advertises image modalities.
10
12
 
11
- Env: `XRK_IMAGE_GEN=memory` | `XRK_IMAGE_GEN=1` + `OPENAI_API_KEY` / `XRK_IMAGE_GEN_OPENAI_KEY`.
12
-
13
- See [docs/image-gen.md](../../../docs/image-gen.md) · [docs/seams.md](../../../docs/seams.md).
13
+ See also [docs/seams.md](../../../docs/seams.md).
@@ -0,0 +1,11 @@
1
+ # `@xrkseek/exec-video-analyze`
2
+
3
+ Hermes-style **video understanding** tool (`video_analyze`).
4
+
5
+ - **In**: video URL or workspace path + question
6
+ - **Out**: JSON `{ success, analysis, … }` text (whole-clip multimodal LLM — not frame extraction)
7
+ - **Not**: `browser_vision` (live page screenshot) · `video_generate` (create video) · `read_image` (stills)
8
+
9
+ Providers: `memory` (CI) · OpenAI-compatible chat with `video_url` part (needs a video-capable model such as Gemini).
10
+
11
+ See [docs/video-analyze.md](../../../docs/video-analyze.md).
@@ -0,0 +1,3 @@
1
+ /** System-prompt fragment for video_analyze (boundary vs browser_vision). */
2
+ export declare const VIDEO_ANALYZE_PROMPT_TEXT: string;
3
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,eAAO,MAAM,yBAAyB,QAO5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ /** System-prompt fragment for video_analyze (boundary vs browser_vision). */
2
+ export const VIDEO_ANALYZE_PROMPT_TEXT = [
3
+ "## Video analysis",
4
+ "Use `video_analyze` for video files or video URLs (mp4/webm/mov/…). ",
5
+ "It sends the whole clip to a video-capable multimodal model and returns a text analysis — not frame extraction. ",
6
+ "Do **not** use it for live browser pages (use `browser_vision`) or static images (use `read_image`). ",
7
+ "Do **not** use `video_generate` here — that tool creates videos, it does not understand them. ",
8
+ "Large clips (>20 MB) may be slow; hard limit ~50 MB.",
9
+ ].join("");
10
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAE7E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,mBAAmB;IACnB,sEAAsE;IACtE,kHAAkH;IAClH,uGAAuG;IACvG,gGAAgG;IAChG,sDAAsD;CACvD,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { VideoAnalyzeService } from "./types.js";
2
+ export { VideoAnalyzeError, isVideoAnalyzeError, type VideoAnalyzeErrorCode, type VideoAnalyzeRequest, type VideoAnalyzeResult, type VideoAnalyzeService, type VideoMediaType, } from "./types.js";
3
+ export { MAX_VIDEO_BYTES, VIDEO_MIME_BY_EXT, VIDEO_SIZE_WARN_BYTES, assertVideoByteBudget, unsupportedVideoFormatMessage, videoMimeForPath, wrapVideoAnalyzePrompt, } from "./mime.js";
4
+ export { materializeVideo, type MaterializedVideo, type VideoAnalyzeFs, } from "./materialize.js";
5
+ export { VIDEO_ANALYZE_PROMPT_TEXT } from "./format.js";
6
+ export { createMemoryVideoAnalyzeProvider, type MemoryVideoAnalyzeOptions, } from "./memory.js";
7
+ export { createOpenAiVideoAnalyzeProvider, type OpenAiVideoAnalyzeOptions, } from "./openai-http.js";
8
+ export { createVideoAnalyzeTools, videoAnalyzeUnavailableMessage, type CreateVideoAnalyzeToolsOptions, } from "./tools.js";
9
+ /** Face `video-analyze` product modes (Settings SoT). `memory` stays env-only. */
10
+ export type VideoAnalyzeProductMode = "off" | "openai";
11
+ /** Face `video-analyze` product shape. */
12
+ export interface VideoAnalyzeProductConfig {
13
+ readonly mode: VideoAnalyzeProductMode;
14
+ readonly baseUrl?: string;
15
+ readonly model?: string;
16
+ }
17
+ export interface DefaultVideoAnalyzeAccessOptions {
18
+ readonly env?: NodeJS.ProcessEnv;
19
+ /**
20
+ * Face Settings product. Used when `XRK_VIDEO_ANALYZE` is unset
21
+ * (env remains the CI bypass).
22
+ */
23
+ readonly product?: VideoAnalyzeProductConfig;
24
+ readonly service?: VideoAnalyzeService;
25
+ readonly fetchImpl?: typeof fetch;
26
+ }
27
+ export interface DefaultVideoAnalyzeAccess {
28
+ readonly service?: VideoAnalyzeService;
29
+ readonly unavailableMessage: string;
30
+ }
31
+ /**
32
+ * Resolve a video-analyze Provider.
33
+ * - Injected `service` wins.
34
+ * - Non-empty `XRK_VIDEO_ANALYZE` is CI bypass over Face `product`.
35
+ * - Product / env: `off` · `openai` (`1`) · `memory` (env-only).
36
+ * - Else no service; tools stay registered and fail honestly.
37
+ */
38
+ export declare function createDefaultVideoAnalyzeAccess(options?: DefaultVideoAnalyzeAccessOptions): DefaultVideoAnalyzeAccess;
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,6BAA6B,EAC7B,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EACL,gCAAgC,EAChC,KAAK,yBAAyB,GAC/B,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gCAAgC,EAChC,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,KAAK,8BAA8B,GACpC,MAAM,YAAY,CAAC;AAEpB,kFAAkF;AAClF,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAEvD,0CAA0C;AAC1C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CACnC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;CACrC;AASD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,yBAAyB,CAyC3B"}
@@ -0,0 +1,64 @@
1
+ import { createMemoryVideoAnalyzeProvider } from "./memory.js";
2
+ import { createOpenAiVideoAnalyzeProvider } from "./openai-http.js";
3
+ import { videoAnalyzeUnavailableMessage } from "./tools.js";
4
+ export { VideoAnalyzeError, isVideoAnalyzeError, } from "./types.js";
5
+ export { MAX_VIDEO_BYTES, VIDEO_MIME_BY_EXT, VIDEO_SIZE_WARN_BYTES, assertVideoByteBudget, unsupportedVideoFormatMessage, videoMimeForPath, wrapVideoAnalyzePrompt, } from "./mime.js";
6
+ export { materializeVideo, } from "./materialize.js";
7
+ export { VIDEO_ANALYZE_PROMPT_TEXT } from "./format.js";
8
+ export { createMemoryVideoAnalyzeProvider, } from "./memory.js";
9
+ export { createOpenAiVideoAnalyzeProvider, } from "./openai-http.js";
10
+ export { createVideoAnalyzeTools, videoAnalyzeUnavailableMessage, } from "./tools.js";
11
+ function resolveApiKey(env) {
12
+ const a = String(env.XRK_VIDEO_ANALYZE_OPENAI_KEY ?? "").trim();
13
+ if (a)
14
+ return a;
15
+ const b = String(env.OPENAI_API_KEY ?? "").trim();
16
+ return b || undefined;
17
+ }
18
+ /**
19
+ * Resolve a video-analyze Provider.
20
+ * - Injected `service` wins.
21
+ * - Non-empty `XRK_VIDEO_ANALYZE` is CI bypass over Face `product`.
22
+ * - Product / env: `off` · `openai` (`1`) · `memory` (env-only).
23
+ * - Else no service; tools stay registered and fail honestly.
24
+ */
25
+ export function createDefaultVideoAnalyzeAccess(options = {}) {
26
+ const env = options.env ?? process.env;
27
+ const unavailableMessage = videoAnalyzeUnavailableMessage(env, options.product);
28
+ if (options.service) {
29
+ return { service: options.service, unavailableMessage };
30
+ }
31
+ const envRaw = String(env.XRK_VIDEO_ANALYZE ?? "").trim();
32
+ const flag = envRaw !== ""
33
+ ? envRaw.toLowerCase()
34
+ : options.product?.mode === "openai"
35
+ ? "1"
36
+ : "";
37
+ if (flag === "memory") {
38
+ return {
39
+ service: createMemoryVideoAnalyzeProvider(),
40
+ unavailableMessage,
41
+ };
42
+ }
43
+ if (flag === "1" || flag === "openai") {
44
+ const apiKey = resolveApiKey(env);
45
+ if (!apiKey) {
46
+ return { unavailableMessage };
47
+ }
48
+ const baseUrl = options.product?.baseUrl?.trim() ||
49
+ String(env.XRK_VIDEO_ANALYZE_BASE_URL ?? "").trim();
50
+ const model = options.product?.model?.trim() ||
51
+ String(env.XRK_VIDEO_ANALYZE_MODEL ?? "").trim();
52
+ return {
53
+ service: createOpenAiVideoAnalyzeProvider({
54
+ apiKey,
55
+ ...(baseUrl ? { baseUrl } : {}),
56
+ ...(model ? { model } : {}),
57
+ ...(options.fetchImpl ? { fetchImpl: options.fetchImpl } : {}),
58
+ }),
59
+ unavailableMessage,
60
+ };
61
+ }
62
+ return { unavailableMessage };
63
+ }
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}