arisa 5.1.64 → 5.1.66

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arisa",
3
- "version": "5.1.64",
3
+ "version": "5.1.66",
4
4
  "description": "Telegram + Pi Agent modular assistant",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -11,7 +11,6 @@ import {
11
11
  rename,
12
12
  rm
13
13
  } from "node:fs/promises";
14
- import os from "node:os";
15
14
  import path from "node:path";
16
15
  import { getToolDir } from "../../runtime/paths.js";
17
16
  import { normalizeToolDependencies, resolveToolDependencyPlan, satisfiesToolVersion } from "./tool-dependencies.js";
@@ -181,7 +180,7 @@ export async function installLockedOfficialTool({
181
180
  toolName,
182
181
  lock,
183
182
  destination,
184
- scratchRoot = os.tmpdir(),
183
+ scratchRoot,
185
184
  checkout = checkoutRepository,
186
185
  installDependencies = installPackageDependencies,
187
186
  validate = validateEntrypoint
@@ -190,7 +189,9 @@ export async function installLockedOfficialTool({
190
189
  if (await exists(destination)) {
191
190
  throw new Error(`Refusing to overwrite installed tool: ${destination}`);
192
191
  }
193
- const scratch = await mkdtemp(path.join(scratchRoot, `arisa-${toolName}-`));
192
+ const stagingRoot = scratchRoot || path.dirname(destination);
193
+ await mkdir(stagingRoot, { recursive: true });
194
+ const scratch = await mkdtemp(path.join(stagingRoot, `.arisa-${toolName}-`));
194
195
  const checkoutDir = path.join(scratch, "repository");
195
196
  const stageDir = path.join(scratch, "stage");
196
197
  try {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 1,
3
3
  "repository": "https://github.com/clasen/Arisa.git",
4
- "commit": "410d18e354374b43a225c31be574deb4b8f69aba",
4
+ "commit": "f5702971f09b70c28b239d8c32fa30cb069c0e38",
5
5
  "tools": {
6
6
  "browser-session-bridge": {
7
7
  "version": "0.1.0",
@@ -135,7 +135,7 @@
135
135
  "test/profile-catalog.test.js": "d8e297bee413d53ec13f2e1779c13f2e019cb8304976d567eab0e9f1ca36637c",
136
136
  "test/remote-runtime.test.js": "1161bd653dc47b9b8219bf848d0d395ce390f2bb7b58ea41e3e4270b1d504798",
137
137
  "test/slave-operations.test.js": "a84526ad7554c7d03192a68655b4637bec18750559a5c3436f7471e912ca74cc",
138
- "tool.manifest.json": "abf24c67b1d9ef0331ded59e04dcc092772419e74691c0d753ab51b40286d6f6"
138
+ "tool.manifest.json": "b0b4caee5e818cebc537eadaed852a511f4f65c562b5cd5709cc77edbe33ee15"
139
139
  }
140
140
  },
141
141
  "mcp-client": {
@@ -69,6 +69,8 @@ test("every bundled official tool lock matches the catalog source", async () =>
69
69
  { files: Object.keys(entry.files).length },
70
70
  name
71
71
  );
72
+ const manifest = JSON.parse(await readFile(path.join(source, "tool.manifest.json"), "utf8"));
73
+ assert.equal(manifest.version ?? null, entry.version ?? null, `${name} version`);
72
74
  }
73
75
  });
74
76
 
@@ -82,6 +84,7 @@ test("installs a verified staged tree without overwriting an existing tool", asy
82
84
  const { root, source, files } = await fixture(t);
83
85
  const destination = path.join(root, "installed", "master-slave");
84
86
  const checkout = async ({ checkoutDir }) => {
87
+ assert.equal(path.dirname(path.dirname(checkoutDir)), path.dirname(destination));
85
88
  await mkdir(path.join(checkoutDir, "tools"), { recursive: true });
86
89
  await cp(source, path.join(checkoutDir, "tools", "master-slave"), { recursive: true });
87
90
  };
@@ -90,7 +93,6 @@ test("installs a verified staged tree without overwriting an existing tool", asy
90
93
  toolName: "master-slave",
91
94
  lock: lock(files),
92
95
  destination,
93
- scratchRoot: root,
94
96
  checkout,
95
97
  installDependencies: async () => { lifecycle.push("dependencies"); },
96
98
  validate: async () => { lifecycle.push("validate"); }