@cheezmil/aek-home 0.0.0-stage → 0.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/lib/client.js ADDED
@@ -0,0 +1,174 @@
1
+ window.__ModuleLoader__.load({
2
+ id: "@cheezmil/aek-home",
3
+ factory: (require) => {
4
+ var module = { exports: {} };
5
+ var exports = module.exports;
6
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
7
+ let react = require("react");
8
+ let react_dom_client = require("react-dom/client");
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ //#region src/client/Home.tsx
11
+ /**
12
+ * The AEK hello-world landing: the orange-slice brand mark over a centered
13
+ * greeting and a single continue affordance.
14
+ * @param props.onContinue - optional advance callback.
15
+ * @returns the centered home surface.
16
+ */
17
+ function AekHome({ onContinue }) {
18
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19
+ style: containerStyle,
20
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
21
+ style: cardStyle,
22
+ children: [
23
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(AekHomeMark, {}),
24
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h1", {
25
+ style: titleStyle,
26
+ children: "Hello, AEK"
27
+ }),
28
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
29
+ style: subtitleStyle,
30
+ children: "Agent Enhance Kit · home surface"
31
+ }),
32
+ onContinue === void 0 ? void 0 : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
33
+ type: "button",
34
+ style: buttonStyle,
35
+ onClick: onContinue,
36
+ children: "继续"
37
+ })
38
+ ]
39
+ })
40
+ });
41
+ }
42
+ /** The AEK orange-slice brand mark, matching @cheezmil/aek-base. */
43
+ function AekHomeMark() {
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
45
+ width: "96",
46
+ height: "96",
47
+ viewBox: "0 0 120 120",
48
+ fill: "none",
49
+ "aria-hidden": "true",
50
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("defs", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("linearGradient", {
51
+ id: "aek-home-rind",
52
+ x1: "0",
53
+ y1: "0",
54
+ x2: "1",
55
+ y2: "1",
56
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", { stopColor: "#fdba74" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
57
+ offset: "1",
58
+ stopColor: "#ea580c"
59
+ })]
60
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("linearGradient", {
61
+ id: "aek-home-flesh",
62
+ x1: "0",
63
+ y1: "0",
64
+ x2: "1",
65
+ y2: "1",
66
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", { stopColor: "#fff0bc" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("stop", {
67
+ offset: "1",
68
+ stopColor: "#fb923c"
69
+ })]
70
+ })] }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("g", {
71
+ transform: "translate(60 60) scale(1.2) translate(-60 -60)",
72
+ children: [
73
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
74
+ cx: "60",
75
+ cy: "60",
76
+ r: "42",
77
+ fill: "url(#aek-home-rind)"
78
+ }),
79
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
80
+ cx: "60",
81
+ cy: "60",
82
+ r: "34",
83
+ fill: "#fffbeb"
84
+ }),
85
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
86
+ cx: "60",
87
+ cy: "60",
88
+ r: "30",
89
+ fill: "url(#aek-home-flesh)"
90
+ }),
91
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
92
+ d: "M60 30 L60 90 M30 60 L90 60 M40 40 L80 80 M80 40 L40 80",
93
+ stroke: "#ea580c",
94
+ strokeWidth: "2",
95
+ opacity: "0.5"
96
+ }),
97
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
98
+ cx: "60",
99
+ cy: "60",
100
+ r: "8",
101
+ fill: "#fffebf"
102
+ })
103
+ ]
104
+ })]
105
+ });
106
+ }
107
+ const containerStyle = {
108
+ display: "flex",
109
+ alignItems: "center",
110
+ justifyContent: "center",
111
+ minHeight: "100vh",
112
+ width: "100%",
113
+ padding: "48px 24px",
114
+ boxSizing: "border-box",
115
+ background: "radial-gradient(120% 120% at 50% 0%, #fffaf0 0%, #fff 60%)"
116
+ };
117
+ const cardStyle = {
118
+ display: "flex",
119
+ flexDirection: "column",
120
+ alignItems: "center",
121
+ gap: "16px",
122
+ padding: "48px 40px",
123
+ borderRadius: "20px",
124
+ background: "#ffffff",
125
+ boxShadow: "0 10px 40px rgba(234, 88, 12, 0.12)",
126
+ textAlign: "center"
127
+ };
128
+ const titleStyle = {
129
+ margin: 0,
130
+ fontSize: "28px",
131
+ fontWeight: 700,
132
+ letterSpacing: "0.02em",
133
+ color: "#1c1917"
134
+ };
135
+ const subtitleStyle = {
136
+ margin: 0,
137
+ fontSize: "14px",
138
+ color: "#78716c",
139
+ letterSpacing: "0.04em"
140
+ };
141
+ const buttonStyle = {
142
+ marginTop: "8px",
143
+ padding: "10px 28px",
144
+ fontSize: "14px",
145
+ fontWeight: 600,
146
+ color: "#ffffff",
147
+ background: "linear-gradient(135deg, #fb923c, #ea580c)",
148
+ border: "none",
149
+ borderRadius: "10px",
150
+ cursor: "pointer"
151
+ };
152
+ //#endregion
153
+ //#region src/client/index.ts
154
+ /** aek-home renders directly into `#root`; it consumes no cordis services. */
155
+ const inject = [];
156
+ /**
157
+ * Mount the AEK hello-world surface as the application root. The dsh
158
+ * `uiRenderer` is disabled in the AEK profile, so nothing else renders into
159
+ * `#root`.
160
+ * @param _ctx - Client root context (unused: aek-home needs no services).
161
+ */
162
+ function apply(_ctx) {
163
+ const el = document.getElementById("root");
164
+ if (el === null) return;
165
+ (0, react_dom_client.createRoot)(el).render((0, react.createElement)(AekHome));
166
+ }
167
+ //#endregion
168
+ exports.apply = apply;
169
+ exports.inject = inject;
170
+ return module.exports;
171
+ }
172
+ });
173
+
174
+ //# sourceMappingURL=client.js.map
package/lib/index.js ADDED
@@ -0,0 +1,20 @@
1
+ //#region lib/types/index.js
2
+ /**
3
+ * AEK home surface, host half. The host side owns no runtime state: the
4
+ * hello-world landing is a pure client-side registration into the UI slot
5
+ * registry, so this entry only establishes the plugin identity for the Loader.
6
+ * The client half (`./client`) registers the home view.
7
+ * @module @cheezmil/aek-home
8
+ */
9
+ /** Stable Cordis plugin name. */
10
+ const name = "aek-home";
11
+ /** The home surface needs no host-side services. */
12
+ const inject = [];
13
+ /**
14
+ * Host-side apply is a no-op: the home view is registered entirely on the
15
+ * client side through the `slots` service.
16
+ * @param ctx - plugin context.
17
+ */
18
+ function apply(_ctx) {}
19
+ //#endregion
20
+ export { apply, inject, name };
@@ -0,0 +1,3 @@
1
+ /** @returns the full-frame hello-world surface, always mounted. */
2
+ export declare function AekHomeOverlay(): import("react").JSX.Element;
3
+ //# sourceMappingURL=AekHomeOverlay.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * The AEK home landing — a minimal hello-world surface shown before the dsh
3
+ * onboarding/login flow. Identity text (the AEK wordmark and greeting) is
4
+ * plain localized copy, like the brand-name span in @cheezmil/aek-base.
5
+ * @module @cheezmil/aek-home/src/client/Home
6
+ */
7
+ /** No slot-owned props are required to render the home surface. */
8
+ export interface AekHomeProps {
9
+ /** Optional click target that advances past the home surface. */
10
+ onContinue?: () => void;
11
+ }
12
+ /**
13
+ * The AEK hello-world landing: the orange-slice brand mark over a centered
14
+ * greeting and a single continue affordance.
15
+ * @param props.onContinue - optional advance callback.
16
+ * @returns the centered home surface.
17
+ */
18
+ export declare function AekHome({ onContinue }: AekHomeProps): import("react").JSX.Element;
19
+ //# sourceMappingURL=Home.d.ts.map
@@ -0,0 +1,24 @@
1
+ /**
2
+ * AEK home surface, client half. aek-home IS the application root: it renders
3
+ * directly into `#root` via `createRoot`, bypassing the dsh slot/AppFrame
4
+ * system. react/react-dom come from the shell's frozen module table
5
+ * (`PLATFORM_MODULES`), so they are available regardless of which dsh UI
6
+ * plugins are disabled — including `ui-renderer`, whose `uiRenderer` service
7
+ * is therefore never provided and `mountClient`'s dependency fiber simply
8
+ * stays pending (harmless: aek-home has already mounted).
9
+ *
10
+ * With no dsh shell owning `#root`, aek-home is the base future AEK plugins
11
+ * extend (through aek-home's own slots, not dsh's).
12
+ * @module @cheezmil/aek-home/src/client/index
13
+ */
14
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
15
+ /** aek-home renders directly into `#root`; it consumes no cordis services. */
16
+ export declare const inject: readonly string[];
17
+ /**
18
+ * Mount the AEK hello-world surface as the application root. The dsh
19
+ * `uiRenderer` is disabled in the AEK profile, so nothing else renders into
20
+ * `#root`.
21
+ * @param _ctx - Client root context (unused: aek-home needs no services).
22
+ */
23
+ export declare function apply(_ctx: ClientContext): void;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,19 @@
1
+ /**
2
+ * AEK home surface, host half. The host side owns no runtime state: the
3
+ * hello-world landing is a pure client-side registration into the UI slot
4
+ * registry, so this entry only establishes the plugin identity for the Loader.
5
+ * The client half (`./client`) registers the home view.
6
+ * @module @cheezmil/aek-home
7
+ */
8
+ import type { Context } from '@deepseek-ai/cordis';
9
+ /** Stable Cordis plugin name. */
10
+ export declare const name = "aek-home";
11
+ /** The home surface needs no host-side services. */
12
+ export declare const inject: readonly string[];
13
+ /**
14
+ * Host-side apply is a no-op: the home view is registered entirely on the
15
+ * client side through the `slots` service.
16
+ * @param ctx - plugin context.
17
+ */
18
+ export declare function apply(_ctx: Context): void;
19
+ //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,55 @@
1
1
  {
2
2
  "name": "@cheezmil/aek-home",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "description": "AEK home surface: the React application root aek-home renders directly into #root, replacing the dsh shell",
4
+ "version": "0.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
+ "./src/*": "./src/*",
21
+ "./package.json": "./package.json"
22
+ },
23
+ "dsh": {
24
+ "client": {
25
+ "inject": [],
26
+ "platform": "web"
27
+ }
28
+ },
29
+ "scripts": {
30
+ "bundle": "tsdown",
31
+ "watch": "tsdown --watch"
32
+ },
33
+ "license": "MIT",
34
+ "peerDependencies": {
35
+ "@cheezmil/aek-base": "^1.0.0",
36
+ "@deepseek-ai/cordis": ">=4.0.0"
37
+ },
38
+ "devDependencies": {
39
+ "@cheezmil/aek-base": "^1.0.0",
40
+ "@deepseek-ai/cordis": "^4.0.5",
41
+ "@deepseek-ai/dsh-client-ui-renderer": "workspace:*",
42
+ "@deepseek-ai/dsh-client-ui-layout": "workspace:*",
43
+ "react": "^18.2.0",
44
+ "react-dom": "^18.2.0"
45
+ },
46
+ "files": [
47
+ "lib/index.js",
48
+ "lib/client.js",
49
+ "lib/types/**/*.d.ts"
50
+ ],
51
+ "aek": {
52
+ "type": "dsh-bundle",
53
+ "description": "AEK home surface \u2014 client-side UI root that replaces the dsh shell"
54
+ }
55
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
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.