@cheezmil/coraek 0.0.0-stage → 1.0.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/README.md +59 -2
- package/lib/client.js +19 -0
- package/lib/index.js +28 -0
- package/package.json +65 -3
package/README.md
CHANGED
|
@@ -1,3 +1,60 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
description: "AEK base identity layer — rebrands the dsh web UI sidebar and startup announcement for AEK deployments."
|
|
3
|
+
kind: "package-reference"
|
|
4
|
+
---
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
# @cheezmil/coraek
|
|
7
|
+
|
|
8
|
+
The AEK base identity layer. It rebrands two user-visible surfaces of a dsh web
|
|
9
|
+
profile so they read as AEK instead of DeepSeek Harness:
|
|
10
|
+
|
|
11
|
+
- the **sidebar brand** — fills the `sidebar.brand.mark` and `sidebar.brand.name`
|
|
12
|
+
slots with the AEK orange-slice mark and the `AEK` name, replacing the shell's
|
|
13
|
+
fish-mark and `brand.localBuild` fallback;
|
|
14
|
+
- the **startup announcement** — prints the `aek web: <url>` readiness line,
|
|
15
|
+
replacing the dsh web-app bundle's own `dsh web:` line (which the web profile
|
|
16
|
+
suppresses with `printUrl: false`).
|
|
17
|
+
|
|
18
|
+
The document title is rebranded separately through the `DSH_CLIENT_TITLE` build
|
|
19
|
+
environment value, which `AppFrame` already reads. This package has no runtime
|
|
20
|
+
state and does not affect model requests.
|
|
21
|
+
|
|
22
|
+
## Use this package
|
|
23
|
+
|
|
24
|
+
Install it into a dsh web profile and register it in the profile's coraek patch:
|
|
25
|
+
|
|
26
|
+
```yaml
|
|
27
|
+
- id: coraek
|
|
28
|
+
name: '@cheezmil/coraek'
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Suppress the dsh bundle's own URL line so only the AEK line prints:
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
- id: web-app
|
|
35
|
+
name: '@deepseek-ai/dsh-web-app'
|
|
36
|
+
config:
|
|
37
|
+
printUrl: false
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Understand the implementation
|
|
41
|
+
|
|
42
|
+
The host half (`src/index.ts`) injects the `connection` service and prints
|
|
43
|
+
`aek web: <authenticatedUrl>` once, mirroring the web-app bundle's readiness
|
|
44
|
+
line. The client half (`src/client/index.ts`) injects the `slots` service and
|
|
45
|
+
registers the AEK mark and name into the sidebar brand slots as one
|
|
46
|
+
declaration-aware set, the same pattern as `@deepseek-ai/dsh-client-ui-brand-official`.
|
|
47
|
+
|
|
48
|
+
## Model Experience
|
|
49
|
+
|
|
50
|
+
No effect on model requests, token usage, or KV-cache behavior. The package
|
|
51
|
+
changes only browser presentation and process stdout.
|
|
52
|
+
|
|
53
|
+
## Known Limitations and Deferred Work
|
|
54
|
+
|
|
55
|
+
- The AEK name is plain localized text, not an SVG wordmark; a designed
|
|
56
|
+
wordmark can replace `AekBrandName` later.
|
|
57
|
+
- The host half prints as soon as the `connection` service mounts; it does not
|
|
58
|
+
wait for the full Loader tree to settle (sufficient for a human-readable
|
|
59
|
+
readiness line; a supervisor that RPCs on seeing the line should wait for
|
|
60
|
+
the dsh bundle's own loader-gated signal).
|
package/lib/client.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
window.__ModuleLoader__.load({
|
|
2
|
+
id: "@cheezmil/coraek",
|
|
3
|
+
factory: (require) => {
|
|
4
|
+
var module = { exports: {} };
|
|
5
|
+
var exports = module.exports;
|
|
6
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
|
+
//#region src/client/index.ts
|
|
8
|
+
/** aek-home owns the surface; aek-base contributes no client UI. */
|
|
9
|
+
const inject = [];
|
|
10
|
+
/** Identity no-op: the AEK brand now lives in aek-home's own surface. */
|
|
11
|
+
function apply(_ctx) {}
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.apply = apply;
|
|
14
|
+
exports.inject = inject;
|
|
15
|
+
return module.exports;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=client.js.map
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
//#region lib/types/index.js
|
|
2
|
+
/**
|
|
3
|
+
* AEK base identity layer. Prints the `aek web:` readiness line.
|
|
4
|
+
* @module @cheezmil/aek-base
|
|
5
|
+
*/
|
|
6
|
+
/** Stable Coraek plugin name. */
|
|
7
|
+
const name = "coraek";
|
|
8
|
+
/** Services required before the AEK URL line can print. */
|
|
9
|
+
const inject = ["webServer"];
|
|
10
|
+
const ANNOUNCED_ROOTS = /* @__PURE__ */ new WeakSet();
|
|
11
|
+
/**
|
|
12
|
+
* Print the `aek web:` readiness line.
|
|
13
|
+
*/
|
|
14
|
+
function apply(ctx) {
|
|
15
|
+
ctx.inject(["connection"], (connectionCtx) => {
|
|
16
|
+
if (ANNOUNCED_ROOTS.has(connectionCtx.root)) return;
|
|
17
|
+
const url = connectionCtx.connection.authenticatedUrl(ctx.webServer.getOrigin());
|
|
18
|
+
ANNOUNCED_ROOTS.add(connectionCtx.root);
|
|
19
|
+
console.log(`aek web: ${url}`);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const CORAEK_VERSION = "1.0.0";
|
|
23
|
+
const CORAEK_NAME = "coraek";
|
|
24
|
+
function announceCoraek() {
|
|
25
|
+
console.log(`coraek ${CORAEK_VERSION}`);
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { CORAEK_NAME, CORAEK_VERSION, announceCoraek, apply, inject, name };
|
package/package.json
CHANGED
|
@@ -1,6 +1,68 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cheezmil/coraek",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"description": "AEK base identity layer: pins the AEK home dir and prints the `aek web:` startup line; the client half is an identity no-op (aek-home owns the surface)",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "lib/index.js",
|
|
10
|
+
"types": "lib/types/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./lib/types/index.d.ts",
|
|
14
|
+
"default": "./lib/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./client": {
|
|
17
|
+
"types": "./lib/types/client/index.d.ts",
|
|
18
|
+
"default": "./lib/client.js"
|
|
19
|
+
},
|
|
20
|
+
"./types": {
|
|
21
|
+
"types": "./lib/types/index.d.ts",
|
|
22
|
+
"default": "./lib/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./src/*": "./src/*",
|
|
25
|
+
"./package.json": "./package.json"
|
|
26
|
+
},
|
|
27
|
+
"dsh": {
|
|
28
|
+
"client": {
|
|
29
|
+
"inject": [],
|
|
30
|
+
"platform": "web"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"bundle": "tsdown",
|
|
35
|
+
"watch": "tsdown --watch",
|
|
36
|
+
"build": "tsdown",
|
|
37
|
+
"build:cli": "tsdown -c tsdown.cli.config.ts",
|
|
38
|
+
"prepack": "pnpm run build && pnpm run build:cli"
|
|
39
|
+
},
|
|
40
|
+
"license": "Apache-2.0",
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"@deepseek-ai/cordis": ">=4.0.0",
|
|
43
|
+
"@deepseek-ai/cosmokit": ">=1.8.0"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@deepseek-ai/cordis": "^4.0.5",
|
|
47
|
+
"@deepseek-ai/cosmokit": "^1.8.6",
|
|
48
|
+
"@deepseek-ai/dsh-client-connection": "workspace:*",
|
|
49
|
+
"@deepseek-ai/dsh-client-ui-primitives": "workspace:*",
|
|
50
|
+
"@deepseek-ai/dsh-client-ui-renderer": "workspace:*",
|
|
51
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "workspace:*",
|
|
52
|
+
"@deepseek-ai/dsh-host-webserver": "workspace:*",
|
|
53
|
+
"react": "^18.2.0",
|
|
54
|
+
"react-dom": "^18.2.0"
|
|
55
|
+
},
|
|
56
|
+
"files": [
|
|
57
|
+
"lib/index.js",
|
|
58
|
+
"lib/client.js",
|
|
59
|
+
"lib/types/**/*.d.ts"
|
|
60
|
+
],
|
|
61
|
+
"aek": {
|
|
62
|
+
"type": "dsh-bundle",
|
|
63
|
+
"description": "AEK identity layer: re-exports Context/Volatile/ClientContext types and prints the aek web: readiness line"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"@oclif/core": "^5.1.11"
|
|
67
|
+
}
|
|
6
68
|
}
|