@telepat/ideon 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 @@
1
+ :root{font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:#f3ede5;color:#1f2933}html[data-theme=dark] body{background:#101820;color:#e0eaf0}.preview-root{position:relative;min-height:100vh}.preview-backdrop{display:none}.preview-layout{min-height:100vh}.preview-layout,.preview-main-layout{background:transparent!important}.preview-sider{padding:0!important;border-right:1px solid rgba(31,41,51,.1);background:#faf8f5!important;display:flex;flex-direction:column}html[data-theme=dark] .preview-sider{border-right-color:#ffffff12!important;background:#141e2c!important}.preview-sidebar-shell{display:flex;flex-direction:column;height:100%;min-height:0}.preview-sidebar-hd{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:52px;flex-shrink:0;border-bottom:1px solid rgba(31,41,51,.08);background:inherit}html[data-theme=dark] .preview-sidebar-hd{border-bottom-color:#ffffff0f}.preview-sidebar-body{flex:1;overflow-y:auto;padding:16px 12px;display:grid;align-content:start;gap:12px}.preview-grid{align-content:start;gap:16px}.preview-sidebar-card,.preview-summary-card,.preview-panel-card,.preview-message-card,.preview-logs-detail{border:1px solid rgba(31,41,51,.1)!important;box-shadow:0 2px 8px #18274b0f!important;background:#fff!important}html[data-theme=dark] .preview-sidebar-card,html[data-theme=dark] .preview-summary-card,html[data-theme=dark] .preview-panel-card,html[data-theme=dark] .preview-message-card,html[data-theme=dark] .preview-logs-detail{border-color:#ffffff14!important;box-shadow:0 2px 8px #0000004d!important;background:#1a2535!important}.preview-header{height:52px!important;line-height:52px!important;padding:0 16px!important;border-bottom:1px solid rgba(31,41,51,.08);background:#fff!important}html[data-theme=dark] .preview-header{border-bottom-color:#ffffff0f!important;background:#1a2535!important}.preview-brand{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#0e7490!important}.preview-brand-logo{width:18px;height:18px;flex-shrink:0}html[data-theme=dark] .preview-brand{color:#4dbdd4!important}.preview-content{padding:20px 24px 32px}.preview-overline{display:inline-block;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:700;color:#0e7490}html[data-theme=dark] .preview-overline{color:#4dbdd4}.preview-sidebar-card h4,.preview-summary-card h4,.preview-panel-card h3,.preview-panel-card h4,.preview-logs-detail h4{margin-bottom:6px!important;font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif}.preview-source-path{margin:4px 0 0!important;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;opacity:.72;word-break:break-word}.preview-pill,.preview-generation-tag,.preview-slug-pill{border-radius:4px;padding-inline:8px;min-height:26px;display:inline-flex;align-items:center;background:#0e74901a!important;color:#0a5f75!important}html[data-theme=dark] .preview-pill,html[data-theme=dark] .preview-generation-tag,html[data-theme=dark] .preview-slug-pill{background:#4dbdd42e!important;color:#7dd8ed!important}.preview-generation-list{display:grid;gap:6px}.preview-generation-item{display:flex;gap:12px;width:100%;border:1px solid transparent;border-radius:8px;background:transparent;padding:10px 12px;cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease}.preview-generation-item:hover,.preview-stage-button:hover{border-color:#0e74904d;background:#0e74900d}.preview-generation-item.is-active,.preview-stage-button.is-active{border-color:#0e749073;background:#0e749014}html[data-theme=dark] .preview-generation-item,html[data-theme=dark] .preview-stage-button{border-color:transparent;background:transparent}html[data-theme=dark] .preview-generation-item:hover,html[data-theme=dark] .preview-stage-button:hover{border-color:#4dbdd44d;background:#4dbdd412}html[data-theme=dark] .preview-generation-item.is-active,html[data-theme=dark] .preview-stage-button.is-active{border-color:#4dbdd473;background:#4dbdd41a}.preview-generation-thumb{width:48px;height:48px;border-radius:6px;object-fit:cover;background:linear-gradient(135deg,#8ecae6,#f4a261);flex-shrink:0}.preview-generation-thumb--fallback{opacity:.55}.preview-generation-copy{min-width:0;display:grid;gap:4px}.preview-generation-item,.preview-stage-button{color:#1f2933}html[data-theme=dark] .preview-generation-item,html[data-theme=dark] .preview-stage-button{color:#e0eaf0}.preview-generation-item-title,.preview-stage-button-title{font-size:13px;font-weight:600;color:inherit}.preview-generation-item-meta,.preview-generation-item-snippet,.preview-stage-button-meta,.preview-stage-title{font-size:12px;color:#475569d9}html[data-theme=dark] .preview-generation-item-meta,html[data-theme=dark] .preview-generation-item-snippet,html[data-theme=dark] .preview-stage-button-meta,html[data-theme=dark] .preview-stage-title{color:#b4c8d7d9}.preview-generation-item-snippet{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.preview-grid{align-content:start;gap:10px}.preview-panel-card .ant-card-body{display:grid;gap:16px}.preview-type-tabs .ant-tabs-nav{margin-bottom:0!important}.preview-type-tabs .ant-tabs-nav:before{border-bottom-color:#1f29331a!important}html[data-theme=dark] .preview-type-tabs .ant-tabs-nav:before{border-bottom-color:#ffffff14!important}.preview-type-tabs .ant-tabs-tab{font-size:13px;padding:7px 14px!important;gap:6px}.preview-type-tabs .ant-tabs-tab .ant-tabs-tab-btn{color:#1f293380!important}.preview-type-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#0e7490!important}.preview-type-tabs .ant-tabs-tab-active{background:#fff!important;border-bottom-color:#fff!important}html[data-theme=dark] .preview-type-tabs .ant-tabs-tab .ant-tabs-tab-btn{color:#e0eaf080!important}html[data-theme=dark] .preview-type-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#4dbdd4!important}html[data-theme=dark] .preview-type-tabs .ant-tabs-tab-active{background:#1e2d3e!important;border-bottom-color:#1e2d3e!important}.preview-type-tab-label{display:inline-flex;align-items:center;gap:6px}.preview-detail-stack .preview-output-shell{border-top-left-radius:0;border-top-right-radius:0}.preview-output-shell{border-radius:8px;overflow:hidden;border:1px solid rgba(31,41,51,.1);background:#fff}html[data-theme=dark] .preview-output-shell{background:#1e2d3e;border-color:#ffffff14}.preview-output-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:16px;border-bottom:1px solid rgba(31,41,51,.08)}html[data-theme=dark] .preview-output-header{border-bottom-color:#ffffff12}.preview-output-body{padding:20px 24px}.preview-output-shell--x-post,.preview-output-shell--x-thread{background:linear-gradient(180deg,#0f1720,#111d29);color:#ecf2f5;border-color:#94a3b82e}.preview-output-shell--x-post .preview-output-header,.preview-output-shell--x-thread .preview-output-header{border-bottom-color:#94a3b82e}.preview-output-shell--linkedin-post{background:linear-gradient(180deg,#ecf6fffa,#fff);border-color:#0a66c233}html[data-theme=dark] .preview-output-shell--linkedin-post{background:#152033;border-color:#0a66c259}.preview-output-shell--reddit-post{background:linear-gradient(180deg,#fff5eefa,#fff);border-color:#ff450033}html[data-theme=dark] .preview-output-shell--reddit-post{background:#201610;border-color:#ff45004d}.preview-output-shell--newsletter{background:linear-gradient(180deg,#fff9e6fa,#fff);border-color:#b7791f3d}html[data-theme=dark] .preview-output-shell--newsletter{background:#1e1a0f;border-color:#b7791f59}.preview-output-shell--landing-page-copy{background:linear-gradient(145deg,#14365c,#1f6b80 54%,#1e9ab2);color:#f5fbff;border:0}.preview-output-shell--landing-page-copy .preview-output-header{border-bottom-color:#ffffff2e}.preview-rendered-html{font-family:Iowan Old Style,Palatino Linotype,Palatino,serif;line-height:1.72;color:#1e2933}html[data-theme=dark] .preview-rendered-html{color:#dde8f0}.preview-rendered-html h1,.preview-rendered-html h2,.preview-rendered-html h3,.preview-rendered-html h4{font-family:Avenir Next,Segoe UI,Trebuchet MS,sans-serif;line-height:1.1;margin:28px 0 14px}.preview-rendered-html h1{font-size:clamp(34px,4vw,52px);margin-top:0}.preview-rendered-html h2{font-size:clamp(24px,3vw,34px)}.preview-rendered-html p,.preview-rendered-html li{font-size:18px}.preview-rendered-html a{color:#0e7490}html[data-theme=dark] .preview-rendered-html a{color:#4dbdd4}.preview-output-shell--x-post .preview-rendered-html a,.preview-output-shell--x-thread .preview-rendered-html a,.preview-output-shell--landing-page-copy .preview-rendered-html a{color:#9fe6f6}.preview-rendered-html blockquote{margin:20px 0;padding:4px 20px;border-left:4px solid rgba(14,116,144,.45);background:#0e749014;border-radius:0 16px 16px 0}.preview-rendered-html img{display:block;width:100%;height:auto;border-radius:8px;margin:20px 0;border:1px solid rgba(31,41,51,.08)}html[data-theme=dark] .preview-rendered-html img{border-color:#ffffff14}.preview-rendered-html pre,.preview-inspector-pre{overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;border-radius:6px;border:1px solid rgba(31,41,51,.1);background:#f6f4ef;padding:14px 16px}html[data-theme=dark] .preview-rendered-html pre,html[data-theme=dark] .preview-inspector-pre{border-color:#ffffff14;background:#111c28;color:#cde0ee}.preview-logs-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:18px}.preview-logs-list{display:grid;gap:16px;align-content:start}.preview-stage-group,.preview-stage-items{display:grid;gap:10px}.preview-stage-button{width:100%;border:1px solid rgba(31,41,51,.1);border-radius:6px;background:#fafafa;padding:10px 12px;text-align:left;cursor:pointer;transition:border-color .12s ease,background .12s ease}.preview-inspector-grid{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;margin:0 0 24px}.preview-inspector-grid dt{font-weight:600;color:#475569d9}html[data-theme=dark] .preview-inspector-grid dt{color:#b4c8d7d9}.preview-inspector-grid dd{margin:0}.preview-inspector-text-stack{display:grid;gap:18px}.preview-message-card{text-align:center}.preview-message-card--error{border-color:#c0564a3d!important}@media(max-width:1100px){.preview-logs-layout{grid-template-columns:1fr}}@media(max-width:900px){.preview-header{padding:0 12px!important}.preview-content{padding:16px 16px 24px}.preview-output-header{flex-direction:column}}@media(max-width:640px){.preview-output-body,.preview-output-header{padding:14px}.preview-rendered-html p,.preview-rendered-html li{font-size:17px}}
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
+ <link rel="icon" type="image/svg+xml" href="./app-assets/favicon-ZM13UXfJ.svg" />
7
+ <title>Ideon Preview</title>
8
+ <script type="module" crossorigin src="./app-assets/index-FIB5ZtVD.js"></script>
9
+ <link rel="stylesheet" crossorigin href="./app-assets/index-NfIf2cKW.css">
10
+ </head>
11
+ <body>
12
+ <div id="root"></div>
13
+ </body>
14
+ </html>
package/package.json ADDED
@@ -0,0 +1,98 @@
1
+ {
2
+ "name": "@telepat/ideon",
3
+ "version": "0.1.0",
4
+ "description": "CLI for generating rich articles and images from ideas.",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/telepat-io/ideon.git"
9
+ },
10
+ "homepage": "https://telepat-io.github.io/ideon/",
11
+ "bugs": {
12
+ "url": "https://github.com/telepat-io/ideon/issues"
13
+ },
14
+ "bin": {
15
+ "ideon": "dist/ideon.js"
16
+ },
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "engines": {
24
+ "node": ">=20"
25
+ },
26
+ "scripts": {
27
+ "prepublishOnly": "npm run lint && npm run test:coverage && npm run build",
28
+ "build": "npm run build:cli && npm run build:preview",
29
+ "build:cli": "tsup src/bin/ideon.ts --format esm --dts --clean --out-dir dist",
30
+ "build:preview": "vite build",
31
+ "dev": "tsx src/bin/ideon.ts",
32
+ "preview": "npm run build:preview && tsx src/bin/ideon.ts preview --watch",
33
+ "lint": "npm run typecheck && npm run lint:react",
34
+ "lint:react": "eslint src/preview-app --max-warnings=0",
35
+ "typecheck": "tsc --noEmit",
36
+ "test": "NODE_OPTIONS=--experimental-vm-modules jest",
37
+ "test:watch": "NODE_OPTIONS=--experimental-vm-modules jest --watch",
38
+ "test:coverage": "NODE_OPTIONS=--experimental-vm-modules jest --coverage",
39
+ "pricing:refresh": "node scripts/refresh-openrouter-pricing.mjs",
40
+ "docs:start": "npm --prefix docs-site run start",
41
+ "docs:build": "npm --prefix docs-site run build",
42
+ "docs:serve": "npm --prefix docs-site run serve",
43
+ "docs:typecheck": "npm --prefix docs-site run typecheck"
44
+ },
45
+ "keywords": [
46
+ "cli",
47
+ "ink",
48
+ "openrouter",
49
+ "replicate",
50
+ "writing"
51
+ ],
52
+ "license": "MIT",
53
+ "dependencies": {
54
+ "@ant-design/icons": "^6.1.1",
55
+ "antd": "^6.3.4",
56
+ "commander": "^14.0.1",
57
+ "env-paths": "^3.0.0",
58
+ "express": "^5.2.1",
59
+ "ink": "^6.8.0",
60
+ "ink-select-input": "^6.2.0",
61
+ "ink-text-input": "^6.0.0",
62
+ "keytar": "^7.9.0",
63
+ "marked": "^17.0.5",
64
+ "react": "^19.1.1",
65
+ "react-dom": "^19.2.4",
66
+ "replicate": "^1.1.0",
67
+ "zod": "^4.1.11"
68
+ },
69
+ "devDependencies": {
70
+ "@babel/preset-env": "^7.29.2",
71
+ "@babel/preset-typescript": "^7.28.5",
72
+ "@eslint/js": "^9.39.4",
73
+ "@testing-library/jest-dom": "^6.9.1",
74
+ "@testing-library/react": "^16.3.2",
75
+ "@testing-library/user-event": "^14.6.1",
76
+ "@types/express": "^5.0.6",
77
+ "@types/jest": "^30.0.0",
78
+ "@types/node": "^24.6.0",
79
+ "@types/react": "^19.1.13",
80
+ "@types/react-dom": "^19.2.3",
81
+ "@vitejs/plugin-react": "^5.2.0",
82
+ "babel-jest": "^30.3.0",
83
+ "eslint": "^9.39.4",
84
+ "eslint-plugin-jsx-a11y": "^6.10.2",
85
+ "eslint-plugin-react": "^7.37.5",
86
+ "eslint-plugin-react-hooks": "^7.0.1",
87
+ "globals": "^16.5.0",
88
+ "jest": "^30.3.0",
89
+ "jest-environment-jsdom": "^30.3.0",
90
+ "jsdom": "^27.4.0",
91
+ "ts-jest": "^29.4.6",
92
+ "tsup": "^8.5.0",
93
+ "tsx": "^4.20.6",
94
+ "typescript": "^5.9.3",
95
+ "typescript-eslint": "^8.57.2",
96
+ "vite": "^7.3.1"
97
+ }
98
+ }