@channel.io/app-sdk 0.1.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.
@@ -0,0 +1,189 @@
1
+ import { Command } from "commander";
2
+ import pc from "picocolors";
3
+ import * as fs from "node:fs";
4
+ import * as path from "node:path";
5
+ export const generateCommand = new Command()
6
+ .command("generate")
7
+ .description("Generate types or llms.txt")
8
+ .argument("<type>", "Type to generate: types, llms")
9
+ .option("-o, --output <path>", "Output file path")
10
+ .action((type, options) => {
11
+ switch (type) {
12
+ case "types":
13
+ generateTypes(options.output);
14
+ break;
15
+ case "llms":
16
+ generateLlmsTxt(options.output);
17
+ break;
18
+ default:
19
+ console.log(pc.red(`Unknown generate type: ${type}`));
20
+ console.log(pc.dim("Available types: types, llms"));
21
+ process.exit(1);
22
+ }
23
+ });
24
+ function generateTypes(outputPath) {
25
+ const extensionsDir = findExtensionsDir();
26
+ if (!extensionsDir) {
27
+ console.log(pc.red("Could not find extensions directory."));
28
+ process.exit(1);
29
+ }
30
+ console.log(pc.cyan("Generating TypeScript types from extensions..."));
31
+ // Find all extension files
32
+ const extensionFiles = fs.readdirSync(extensionsDir).filter((f) => f.endsWith(".extension.ts"));
33
+ if (extensionFiles.length === 0) {
34
+ console.log(pc.yellow("No extension files found."));
35
+ return;
36
+ }
37
+ // Generate type definitions
38
+ const typeDefinitions = [
39
+ "// Auto-generated types from Channel.io App extensions",
40
+ "// Do not edit manually",
41
+ "",
42
+ 'import type { z } from "zod";',
43
+ "",
44
+ ];
45
+ for (const file of extensionFiles) {
46
+ const extensionName = file.replace(".extension.ts", "");
47
+ typeDefinitions.push(`// Types for ${extensionName} extension`);
48
+ typeDefinitions.push(`// See ${file} for implementation`);
49
+ typeDefinitions.push("");
50
+ }
51
+ const output = outputPath ?? path.join(process.cwd(), "src/types/generated.d.ts");
52
+ const outputDir = path.dirname(output);
53
+ if (!fs.existsSync(outputDir)) {
54
+ fs.mkdirSync(outputDir, { recursive: true });
55
+ }
56
+ fs.writeFileSync(output, typeDefinitions.join("\n"));
57
+ console.log(pc.green(`Generated types at ${output}`));
58
+ }
59
+ function generateLlmsTxt(outputPath) {
60
+ console.log(pc.cyan("Generating llms.txt for AI assistants..."));
61
+ const extensionsDir = findExtensionsDir();
62
+ const cwd = process.cwd();
63
+ // Read package.json for app info
64
+ const packageJsonPath = path.join(cwd, "package.json");
65
+ let appName = "Channel.io App";
66
+ let appDescription = "";
67
+ if (fs.existsSync(packageJsonPath)) {
68
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
69
+ appName = packageJson.name ?? appName;
70
+ appDescription = packageJson.description ?? "";
71
+ }
72
+ const lines = [
73
+ `# ${appName}`,
74
+ "",
75
+ appDescription ? `${appDescription}\n` : "",
76
+ "## Overview",
77
+ "",
78
+ "This is a Channel.io app built with the Channel.io App SDK.",
79
+ "",
80
+ "## Project Structure",
81
+ "",
82
+ ];
83
+ // Add project structure
84
+ const structure = getProjectStructure(cwd);
85
+ lines.push("```");
86
+ lines.push(...structure);
87
+ lines.push("```");
88
+ lines.push("");
89
+ // Add extensions documentation
90
+ if (extensionsDir && fs.existsSync(extensionsDir)) {
91
+ lines.push("## Extensions");
92
+ lines.push("");
93
+ const extensionFiles = fs.readdirSync(extensionsDir).filter((f) => f.endsWith(".extension.ts"));
94
+ for (const file of extensionFiles) {
95
+ const extensionName = file.replace(".extension.ts", "");
96
+ lines.push(`### ${extensionName}`);
97
+ lines.push("");
98
+ // Read extension file and extract function names
99
+ const content = fs.readFileSync(path.join(extensionsDir, file), "utf-8");
100
+ const functionMatches = content.matchAll(/defineFunction\s*\(\s*\{[^}]*description:\s*["']([^"']+)["']/g);
101
+ for (const match of functionMatches) {
102
+ const description = match[1];
103
+ if (description) {
104
+ lines.push(`- ${description}`);
105
+ }
106
+ }
107
+ lines.push("");
108
+ }
109
+ }
110
+ // Add development commands
111
+ lines.push("## Development");
112
+ lines.push("");
113
+ lines.push("```bash");
114
+ lines.push("# Install dependencies");
115
+ lines.push("pnpm install");
116
+ lines.push("");
117
+ lines.push("# Start development server");
118
+ lines.push("pnpm dev # or: channel-app dev");
119
+ lines.push("");
120
+ lines.push("# Build for production");
121
+ lines.push("pnpm build # or: channel-app build");
122
+ lines.push("```");
123
+ lines.push("");
124
+ // Add SDK reference
125
+ lines.push("## SDK Reference");
126
+ lines.push("");
127
+ lines.push("This app uses the following Channel.io App SDK packages:");
128
+ lines.push("");
129
+ lines.push("- `@channel.io/app-sdk-core` - Core types and extension builders");
130
+ lines.push("- `@channel.io/app-sdk-server` - NestJS server integration");
131
+ lines.push("- `@channel.io/app-sdk-wam` - React hooks for WAM (Web App Module)");
132
+ lines.push("");
133
+ const output = outputPath ?? path.join(cwd, "llms.txt");
134
+ fs.writeFileSync(output, lines.join("\n"));
135
+ console.log(pc.green(`Generated llms.txt at ${output}`));
136
+ }
137
+ function findExtensionsDir() {
138
+ const possiblePaths = [
139
+ "src/extensions",
140
+ "apps/server/src/extensions",
141
+ "server/src/extensions",
142
+ "extensions",
143
+ ];
144
+ for (const p of possiblePaths) {
145
+ const fullPath = path.join(process.cwd(), p);
146
+ if (fs.existsSync(fullPath)) {
147
+ return fullPath;
148
+ }
149
+ }
150
+ return null;
151
+ }
152
+ function getProjectStructure(cwd, _prefix = "", maxDepth = 3) {
153
+ const lines = [];
154
+ const ignoreDirs = ["node_modules", ".git", "dist", ".turbo", ".next", "coverage"];
155
+ function walk(dir, currentPrefix, depth) {
156
+ if (depth > maxDepth)
157
+ return;
158
+ const items = fs
159
+ .readdirSync(dir)
160
+ .filter((item) => !ignoreDirs.includes(item) && !item.startsWith("."));
161
+ items.sort((a, b) => {
162
+ const aIsDir = fs.statSync(path.join(dir, a)).isDirectory();
163
+ const bIsDir = fs.statSync(path.join(dir, b)).isDirectory();
164
+ if (aIsDir && !bIsDir)
165
+ return -1;
166
+ if (!aIsDir && bIsDir)
167
+ return 1;
168
+ return a.localeCompare(b);
169
+ });
170
+ for (let i = 0; i < items.length; i++) {
171
+ const item = items[i];
172
+ if (!item)
173
+ continue;
174
+ const itemPath = path.join(dir, item);
175
+ const isLast = i === items.length - 1;
176
+ const stat = fs.statSync(itemPath);
177
+ const connector = isLast ? "└── " : "├── ";
178
+ lines.push(`${currentPrefix}${connector}${item}${stat.isDirectory() ? "/" : ""}`);
179
+ if (stat.isDirectory()) {
180
+ const newPrefix = currentPrefix + (isLast ? " " : "│ ");
181
+ walk(itemPath, newPrefix, depth + 1);
182
+ }
183
+ }
184
+ }
185
+ lines.push(path.basename(cwd) + "/");
186
+ walk(cwd, "", 1);
187
+ return lines;
188
+ }
189
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from "@channel.io/app-sdk-core";
2
+ export * from "@channel.io/app-sdk-server";
3
+ export * from "@channel.io/app-sdk-wam";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,5 @@
1
+ // Re-export from all packages for convenient single import
2
+ export * from "@channel.io/app-sdk-core";
3
+ export * from "@channel.io/app-sdk-server";
4
+ export * from "@channel.io/app-sdk-wam";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,yBAAyB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@channel.io/app-sdk",
3
+ "version": "0.1.0",
4
+ "description": "CLI and main entry for Channel.io App SDK",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "bin": {
9
+ "channel-app": "./dist/cli.js"
10
+ },
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist"
19
+ ],
20
+ "dependencies": {
21
+ "commander": "^12.1.0",
22
+ "picocolors": "^1.1.1",
23
+ "prompts": "^2.4.2",
24
+ "@channel.io/app-sdk-wam": "0.1.0",
25
+ "@channel.io/app-sdk-core": "0.1.0",
26
+ "@channel.io/app-sdk-server": "0.1.0"
27
+ },
28
+ "devDependencies": {
29
+ "@types/prompts": "^2.4.9",
30
+ "typescript": "^5.7.2",
31
+ "vitest": "^2.1.8"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "https://github.com/channel-io/app-sdk.git",
36
+ "directory": "packages/cli"
37
+ },
38
+ "license": "MIT",
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "scripts": {
43
+ "build": "tsc",
44
+ "dev": "tsc --watch",
45
+ "lint": "eslint src/",
46
+ "lint:fix": "eslint src/ --fix",
47
+ "typecheck": "tsc --noEmit",
48
+ "test": "vitest run",
49
+ "test:watch": "vitest",
50
+ "clean": "rm -rf dist"
51
+ }
52
+ }