@mytegroupinc/myte-core 0.0.39 → 0.0.40
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/README.md +7 -6
- package/THIRD_PARTY_NOTICES.md +3 -3
- package/mytecody-cli.js +27 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -28,16 +28,17 @@ This package exists so the public wrapper can stay small and versioned cleanly.
|
|
|
28
28
|
- Public package documentation is intentionally minimal. Internal rollout and design notes are not part of the npm package contract.
|
|
29
29
|
- `mytecody` is a model-agnostic MyteCody team launcher. It supports `doctor`,
|
|
30
30
|
`doctor --probe-gateway`, `update --dry-run`, and `update`. On first coding
|
|
31
|
-
run, it installs the branded MyteCody engine
|
|
32
|
-
into a user-local Myte cache after signature/hash
|
|
33
|
-
requires
|
|
31
|
+
run, it installs the branded MyteCody engine and signed client assets from
|
|
32
|
+
the Myte release manifest into a user-local Myte cache after signature/hash
|
|
33
|
+
checks. Coding execution requires those assets, a reachable Myte AI Cody
|
|
34
|
+
gateway, and `MYTEAI_API_KEY`.
|
|
34
35
|
- `mytecody doctor` reports both the signed MyteCody engine state and this npm
|
|
35
36
|
package version. `mytecody update` updates the engine only. Use
|
|
36
37
|
`npm install -g myte@latest` to update the launcher and the Myte API CLI
|
|
37
38
|
commands shipped by npm.
|
|
38
|
-
- The package does not bundle the large MyteCody engine binary
|
|
39
|
-
|
|
40
|
-
notices.
|
|
39
|
+
- The package does not bundle the large MyteCody engine binary or the async
|
|
40
|
+
Responses bridge implementation. See `THIRD_PARTY_NOTICES.md` and
|
|
41
|
+
`TRADEMARKS.md` for Codex lineage and Myte brand notices.
|
|
41
42
|
|
|
42
43
|
## Agent Usage Contract
|
|
43
44
|
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -13,9 +13,9 @@ Source lineage tracked for this slice:
|
|
|
13
13
|
- License: Apache-2.0
|
|
14
14
|
- Upstream: https://github.com/openai/codex
|
|
15
15
|
|
|
16
|
-
The MyteCody engine
|
|
17
|
-
through a Myte release manifest. This package verifies
|
|
18
|
-
before installing
|
|
16
|
+
The MyteCody engine and signed client assets are distributed separately from
|
|
17
|
+
this npm package through a Myte release manifest. This package verifies release
|
|
18
|
+
artifacts before installing them into the user's Myte-owned local cache.
|
|
19
19
|
|
|
20
20
|
Myte names, marks, logos, terminal branding, and product design are not part of
|
|
21
21
|
the OpenAI Codex project and remain Myte-owned brand assets.
|
package/mytecody-cli.js
CHANGED
|
@@ -192,6 +192,10 @@ function installedClientCommand() {
|
|
|
192
192
|
return { cmd: enginePath, args: [], source: "myte-installed-engine" };
|
|
193
193
|
}
|
|
194
194
|
|
|
195
|
+
function installedClientUsable() {
|
|
196
|
+
return Boolean(installedClientCommand() && fs.existsSync(currentBridgePath()) && readCurrentClientManifest());
|
|
197
|
+
}
|
|
198
|
+
|
|
195
199
|
function loadSignedBridge() {
|
|
196
200
|
const bridgePath = currentBridgePath();
|
|
197
201
|
if (!fs.existsSync(bridgePath)) {
|
|
@@ -1226,9 +1230,31 @@ async function ensureBrandedEngineInstalled(args = {}, envPath = null, { progres
|
|
|
1226
1230
|
delete updateArgs.json;
|
|
1227
1231
|
|
|
1228
1232
|
const source = manifestUrl(updateArgs);
|
|
1229
|
-
|
|
1233
|
+
let manifestResult;
|
|
1234
|
+
try {
|
|
1235
|
+
manifestResult = await readManifest(source, { fetchManifest: true, progress });
|
|
1236
|
+
} catch (error) {
|
|
1237
|
+
if (isUrl(source) && installedClientUsable()) {
|
|
1238
|
+
return {
|
|
1239
|
+
ok: true,
|
|
1240
|
+
installed: false,
|
|
1241
|
+
reason: "cached-engine-manifest-unavailable",
|
|
1242
|
+
manifest_status: "fetch-failed",
|
|
1243
|
+
error: error && error.message ? error.message : String(error),
|
|
1244
|
+
};
|
|
1245
|
+
}
|
|
1246
|
+
throw error;
|
|
1247
|
+
}
|
|
1230
1248
|
const manifest = manifestResult.manifest;
|
|
1231
1249
|
if (!manifest) {
|
|
1250
|
+
if (isUrl(source) && installedClientUsable()) {
|
|
1251
|
+
return {
|
|
1252
|
+
ok: true,
|
|
1253
|
+
installed: false,
|
|
1254
|
+
reason: "cached-engine-manifest-unavailable",
|
|
1255
|
+
manifest_status: manifestResult.status,
|
|
1256
|
+
};
|
|
1257
|
+
}
|
|
1232
1258
|
return { ok: false, installed: false, reason: "manifest-unavailable", manifest_status: manifestResult.status };
|
|
1233
1259
|
}
|
|
1234
1260
|
const signature = signatureAccepted(manifest, updateArgs);
|