@aware-aeco/cli 0.96.1 → 0.98.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aware-aeco/cli",
3
- "version": "0.96.1",
3
+ "version": "0.98.0",
4
4
  "description": "AWARE CLI — open-source agentic substrate for AECO",
5
5
  "homepage": "https://github.com/aware-aeco/aware",
6
6
  "repository": {
@@ -9,10 +9,23 @@
9
9
  // extractor to have lied about its exit code.
10
10
  const path = require('path');
11
11
 
12
+ // Agent transport binaries bundled in the archive. The CLI resolves these beside the
13
+ // running `aware`, so a payload missing them extracts "successfully" and then fails at
14
+ // run time on every steel-detailer lookup — the exact silent-partial-extraction case
15
+ // this contract exists to catch. Safe to require: the npm package version and the
16
+ // release archive it downloads are always the same version, so these are present in
17
+ // every archive this shim can fetch.
18
+ const TRANSPORTS = [
19
+ 'aware-steel-detailer-us',
20
+ 'aware-steel-detailer-uk',
21
+ 'aware-steel-detailer-eu',
22
+ ];
23
+
12
24
  function requiredFiles(exeSuffix) {
13
25
  return [
14
26
  `aware${exeSuffix}`,
15
27
  `aware-sidecar${exeSuffix}`,
28
+ ...TRANSPORTS.map((t) => `${t}${exeSuffix}`),
16
29
  path.join('aware-roslyn', `aware-roslyn${exeSuffix}`),
17
30
  path.join('aware-roslyn', 'aware-roslyn.dll'),
18
31
  path.join('aware-roslyn', 'aware-roslyn.runtimeconfig.json'),
@@ -20,4 +33,4 @@ function requiredFiles(exeSuffix) {
20
33
  ];
21
34
  }
22
35
 
23
- module.exports = { requiredFiles };
36
+ module.exports = { requiredFiles, TRANSPORTS };
@@ -3,7 +3,7 @@ const fs = require('fs');
3
3
  const path = require('path');
4
4
  const https = require('https');
5
5
  const { execFileSync } = require('child_process');
6
- const { requiredFiles } = require('./payload');
6
+ const { requiredFiles, TRANSPORTS } = require('./payload');
7
7
 
8
8
  const PKG_VERSION = require('../package.json').version;
9
9
  const REPO = 'aware-aeco/aware';
@@ -132,6 +132,12 @@ function download(srcUrl, dest, depth = 0) {
132
132
  if (process.platform !== 'win32') {
133
133
  fs.chmodSync(path.join(binariesDir, `aware${target.ext}`), 0o755);
134
134
  fs.chmodSync(path.join(binariesDir, `aware-sidecar${target.ext}`), 0o755);
135
+ // Same treatment for the bundled transports: tar.gz does carry the mode, but so
136
+ // does it for the two above and they are still chmodded defensively. A transport
137
+ // that lands without +x spawns EACCES at lookup time, long after install.
138
+ for (const t of TRANSPORTS) {
139
+ fs.chmodSync(path.join(binariesDir, `${t}${target.ext}`), 0o755);
140
+ }
135
141
  }
136
142
 
137
143
  console.log(`[aware-npm] installed to ${binariesDir}`);