@cheezmil/coraek 0.0.0-stage → 1.0.1

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 CHANGED
@@ -1,3 +1,60 @@
1
- # Temporary Holding Version
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
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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; coraek 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,59 @@
1
+ import { Args, Command, Command as Command$1, Flags, run } from "@oclif/core";
2
+ //#region lib/types/cli.js
3
+ /**
4
+ * Base command class for all AEK CLI commands.
5
+ */
6
+ var AEKCommand = class extends Command$1 {};
7
+ //#endregion
8
+ //#region lib/types/coraek.js
9
+ /**
10
+ * AEK framework layer identity.
11
+ *
12
+ * "cor" = Latin heart, "aek" = Agent Enhance Kit. Coraek is the heart of AEK.
13
+ * Coraek is the heart of AEK — the runtime layer that gives agents life.
14
+ */
15
+ const CORAEK_VERSION = "1.0.0";
16
+ const CORAEK_NAME = "coraek";
17
+ /** Print the framework identity line. */
18
+ function announceCoraek() {
19
+ console.log(`coraek ${CORAEK_VERSION}`);
20
+ }
21
+ //#endregion
22
+ //#region lib/types/index.js
23
+ /**
24
+ * AEK base identity layer, host half. Prints the `aek web:` readiness line.
25
+ * The dsh web-app bundle's own `dsh web:` line is suppressed via
26
+ * `printUrl: false` in the web profile's cordis patch, so AEK surfaces the
27
+ * AEK-prefixed URL instead. Set `DSH_CLIENT_TITLE` at build time to rebrand
28
+ * the document title; this host half owns the process-stdout announcement.
29
+ *
30
+ * 类型 re-export 说明:
31
+ * 所有 AEK 插件通过 `@cheezmil/coraek/types` 导入 Context/Volatile/ClientContext,
32
+ * 而不是直接 import `@deepseek-ai/cordis`(框架底层,保持不变)。这做了两件事:
33
+ * 1. AEK 插件和 dsh 插件在 import 来源上一眼可辨(对话中 AI 能区分)
34
+ * 2. 未来若切换框架底层,只需改 coraek 一处,所有插件自动跟随
35
+ *
36
+ * - AEK 插件导入:`import type { Context } from '@cheezmil/coraek/types'`
37
+ * - dsh 插件导入:`import type { Context } from '@deepseek-ai/cordis'`(框架底层,保持不变)
38
+ *
39
+ * @module @cheezmil/coraek
40
+ */
41
+ /** Stable Coraek plugin name. */
42
+ const name = "coraek";
43
+ /** Services required before the AEK URL line can print. */
44
+ const inject = ["webServer"];
45
+ const ANNOUNCED_ROOTS = /* @__PURE__ */ new WeakSet();
46
+ /**
47
+ * Print the `aek web:` readiness line once the connection service mounts.
48
+ * @param ctx - plugin context carrying the webServer service.
49
+ */
50
+ function apply(ctx) {
51
+ ctx.inject(["connection"], (connectionCtx) => {
52
+ if (ANNOUNCED_ROOTS.has(connectionCtx.root)) return;
53
+ const url = connectionCtx.connection.authenticatedUrl(ctx.webServer.getOrigin());
54
+ ANNOUNCED_ROOTS.add(connectionCtx.root);
55
+ console.log(`aek web: ${url}`);
56
+ });
57
+ }
58
+ //#endregion
59
+ export { AEKCommand, Args, CORAEK_NAME, CORAEK_VERSION, Command, Flags, announceCoraek, apply, inject, name, run };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * AEK CLI layer — re-exports oclif core plus AEK-specific conventions.
3
+ *
4
+ * All AEK plugins should import CLI primitives from here instead of
5
+ * importing @oclif/core directly.
6
+ *
7
+ * @module @cheezmil/coraek/cli
8
+ */
9
+ export { Command, Args, Flags, run } from '@oclif/core';
10
+ import { Command } from '@oclif/core';
11
+ declare module '@oclif/core' {
12
+ class ExitError extends Error {
13
+ code: number;
14
+ constructor(code: number | undefined, message?: string);
15
+ }
16
+ }
17
+ /**
18
+ * Base command class for all AEK CLI commands.
19
+ */
20
+ export declare abstract class AEKCommand extends Command {
21
+ }
22
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1,13 @@
1
+ import type { SidebarBrandMarkOwnerProps } from '@deepseek-ai/dsh-client-ui-sidebar/client';
2
+ /**
3
+ * The AEK brand mark — an orange slice, at the requested square edge.
4
+ * @param props.size - square edge in pixels.
5
+ * @returns the orange-slice svg (aria-hidden; pair with the name for accessibility).
6
+ */
7
+ export declare function AekBrandMark({ size }: SidebarBrandMarkOwnerProps): import("react").JSX.Element;
8
+ /**
9
+ * The AEK brand name wordmark.
10
+ * @returns the AEK name as localized text.
11
+ */
12
+ export declare function AekBrandName(): import("react").JSX.Element;
13
+ //# sourceMappingURL=Brand.d.ts.map
@@ -0,0 +1,14 @@
1
+ /**
2
+ * AEK base identity layer, client half. With aek-home as the direct-render
3
+ * application root and the dsh sidebar/shell disabled, there are no sidebar
4
+ * brand slots to fill; the client half is an identity no-op. The host half
5
+ * still prints `aek web:` and pins the AEK home dir.
6
+ * @module @cheezmil/coraek/src/client/index
7
+ */
8
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
9
+ export type { Context as ClientContext } from '@deepseek-ai/cordis';
10
+ /** aek-home owns the surface; coraek contributes no client UI. */
11
+ export declare const inject: readonly string[];
12
+ /** Identity no-op: the AEK brand now lives in aek-home's own surface. */
13
+ export declare function apply(_ctx: ClientContext): void;
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * AEK framework layer identity.
3
+ *
4
+ * "cor" = Latin heart, "aek" = Agent Enhance Kit. Coraek is the heart of AEK.
5
+ * Coraek is the heart of AEK — the runtime layer that gives agents life.
6
+ */
7
+ export declare const CORAEK_VERSION = "1.0.0";
8
+ export declare const CORAEK_NAME = "coraek";
9
+ /** Print the framework identity line. */
10
+ export declare function announceCoraek(): void;
11
+ //# sourceMappingURL=coraek.d.ts.map
@@ -0,0 +1,33 @@
1
+ /**
2
+ * AEK base identity layer, host half. Prints the `aek web:` readiness line.
3
+ * The dsh web-app bundle's own `dsh web:` line is suppressed via
4
+ * `printUrl: false` in the web profile's cordis patch, so AEK surfaces the
5
+ * AEK-prefixed URL instead. Set `DSH_CLIENT_TITLE` at build time to rebrand
6
+ * the document title; this host half owns the process-stdout announcement.
7
+ *
8
+ * 类型 re-export 说明:
9
+ * 所有 AEK 插件通过 `@cheezmil/coraek/types` 导入 Context/Volatile/ClientContext,
10
+ * 而不是直接 import `@deepseek-ai/cordis`(框架底层,保持不变)。这做了两件事:
11
+ * 1. AEK 插件和 dsh 插件在 import 来源上一眼可辨(对话中 AI 能区分)
12
+ * 2. 未来若切换框架底层,只需改 coraek 一处,所有插件自动跟随
13
+ *
14
+ * - AEK 插件导入:`import type { Context } from '@cheezmil/coraek/types'`
15
+ * - dsh 插件导入:`import type { Context } from '@deepseek-ai/cordis'`(框架底层,保持不变)
16
+ *
17
+ * @module @cheezmil/coraek
18
+ */
19
+ import type { Context } from '@deepseek-ai/cordis';
20
+ export type { Context } from '@deepseek-ai/cordis';
21
+ export type { Volatile } from '@deepseek-ai/cosmokit';
22
+ /** Stable Coraek plugin name. */
23
+ export declare const name = "coraek";
24
+ /** Services required before the AEK URL line can print. */
25
+ export declare const inject: string[];
26
+ /**
27
+ * Print the `aek web:` readiness line once the connection service mounts.
28
+ * @param ctx - plugin context carrying the webServer service.
29
+ */
30
+ export declare function apply(ctx: Context): void;
31
+ export * from './cli.ts';
32
+ export * from './coraek.ts';
33
+ //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,68 @@
1
1
  {
2
2
  "name": "@cheezmil/coraek",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
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.1",
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
  }