pinokiod 7.2.12 → 7.2.13

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.
Files changed (53) hide show
  1. package/Dockerfile +0 -2
  2. package/kernel/api/index.js +14 -1
  3. package/kernel/api/process/index.js +99 -44
  4. package/kernel/api/uri/index.js +51 -0
  5. package/kernel/git.js +0 -13
  6. package/kernel/index.js +4 -0
  7. package/kernel/plugin.js +6 -58
  8. package/kernel/plugin_sources.js +236 -0
  9. package/kernel/util.js +60 -0
  10. package/package.json +1 -1
  11. package/server/features/drafts/public/drafts.js +35 -12
  12. package/server/index.js +110 -142
  13. package/server/lib/content_validation.js +28 -25
  14. package/server/public/common.js +95 -29
  15. package/server/public/create-launcher.js +4 -31
  16. package/server/public/electron.css +1 -1
  17. package/server/public/style.css +337 -0
  18. package/server/public/task-launcher.js +5 -32
  19. package/server/public/universal-launcher.js +3 -26
  20. package/server/views/app.ejs +8 -29
  21. package/server/views/d.ejs +0 -33
  22. package/server/views/editor.ejs +25 -4
  23. package/server/views/shell.ejs +11 -3
  24. package/server/views/terminal.ejs +15 -3
  25. package/spec/INSTRUCTION_SYNC.md +5 -5
  26. package/system/plugin/antigravity/antigravity.png +0 -0
  27. package/system/plugin/antigravity/pinokio.js +37 -0
  28. package/system/plugin/claude/claude.png +0 -0
  29. package/system/plugin/claude/pinokio.js +63 -0
  30. package/system/plugin/claude-auto/claude.png +0 -0
  31. package/system/plugin/claude-auto/pinokio.js +74 -0
  32. package/system/plugin/claude-desktop/icon.jpeg +0 -0
  33. package/system/plugin/claude-desktop/pinokio.js +39 -0
  34. package/system/plugin/codex/openai.webp +0 -0
  35. package/system/plugin/codex/pinokio.js +58 -0
  36. package/system/plugin/codex-auto/openai.webp +0 -0
  37. package/system/plugin/codex-auto/pinokio.js +65 -0
  38. package/system/plugin/codex-desktop/icon.png +0 -0
  39. package/system/plugin/codex-desktop/pinokio.js +39 -0
  40. package/system/plugin/crush/crush.png +0 -0
  41. package/system/plugin/crush/pinokio.js +31 -0
  42. package/system/plugin/cursor/cursor.jpeg +0 -0
  43. package/system/plugin/cursor/pinokio.js +39 -0
  44. package/system/plugin/gemini/gemini.jpeg +0 -0
  45. package/system/plugin/gemini/pinokio.js +40 -0
  46. package/system/plugin/gemini-auto/gemini.jpeg +0 -0
  47. package/system/plugin/gemini-auto/pinokio.js +43 -0
  48. package/system/plugin/qwen/pinokio.js +50 -0
  49. package/system/plugin/qwen/qwen.png +0 -0
  50. package/system/plugin/vscode/pinokio.js +36 -0
  51. package/system/plugin/vscode/vscode.png +0 -0
  52. package/system/plugin/windsurf/pinokio.js +39 -0
  53. package/system/plugin/windsurf/windsurf.png +0 -0
@@ -0,0 +1,39 @@
1
+ module.exports = {
2
+ title: "Claude Desktop",
3
+ link: "https://claude.com/download",
4
+ icon: "icon.jpeg",
5
+ description: "Claude desktop",
6
+ launch_type: "desktop",
7
+ watch: [{
8
+ handler: "draft",
9
+ method: "ready",
10
+ params: {
11
+ path: ".pinokio/draft",
12
+ content: "post.md",
13
+ publish: {
14
+ target: "registry",
15
+ type: "post",
16
+ parent: {
17
+ type: "app",
18
+ url: "{{args.url || ''}}"
19
+ }
20
+ }
21
+ }
22
+ }],
23
+ run: [{
24
+ method: "uri.open",
25
+ params: {
26
+ uri: "claude://code/new",
27
+ params: {
28
+ q: "{{args.prompt || ''}}",
29
+ folder: "{{args.cwd || ''}}"
30
+ }
31
+ }
32
+ }, {
33
+ method: "process.wait",
34
+ params: {
35
+ title: "Launched",
36
+ description: "Click the stop button to stop watching file changes"
37
+ }
38
+ }]
39
+ }
Binary file
@@ -0,0 +1,58 @@
1
+ module.exports = {
2
+ title: "OpenAI Codex",
3
+ icon: "openai.webp",
4
+ link: "https://github.com/openai/codex",
5
+ watch: [{
6
+ handler: "draft",
7
+ method: "ready",
8
+ params: {
9
+ path: ".pinokio/draft",
10
+ content: "post.md",
11
+ publish: {
12
+ target: "registry",
13
+ type: "post",
14
+ parent: {
15
+ type: "app",
16
+ url: "{{args.url || ''}}"
17
+ }
18
+ }
19
+ }
20
+ }],
21
+ run: [{
22
+ when: "{{platform === 'win32'}}",
23
+ id: "run",
24
+ method: "shell.run",
25
+ params: {
26
+ shell: "{{kernel.path('bin/miniconda/Library/bin/bash.exe')}}",
27
+ conda: {
28
+ skip: true
29
+ },
30
+ message: {
31
+ _: [
32
+ "npx",
33
+ "-y",
34
+ "@openai/codex@latest",
35
+ "{{args.prompt || undefined}}"
36
+ ]
37
+ },
38
+ path: "{{args.cwd}}",
39
+ input: true
40
+ }
41
+ }, {
42
+ when: "{{platform !== 'win32'}}",
43
+ id: "run",
44
+ method: "shell.run",
45
+ params: {
46
+ message: {
47
+ _: [
48
+ "npx",
49
+ "-y",
50
+ "@openai/codex@latest",
51
+ "{{args.prompt || undefined}}"
52
+ ]
53
+ },
54
+ path: "{{args.cwd}}",
55
+ input: true
56
+ }
57
+ }]
58
+ }
@@ -0,0 +1,65 @@
1
+ module.exports = {
2
+ title: "OpenAI Codex Auto",
3
+ icon: "openai.webp",
4
+ description: "OpenAI Codex CLI with --yolo and trusted workspace config.",
5
+ link: "https://github.com/openai/codex",
6
+ watch: [{
7
+ handler: "draft",
8
+ method: "ready",
9
+ params: {
10
+ path: ".pinokio/draft",
11
+ content: "post.md",
12
+ publish: {
13
+ target: "registry",
14
+ type: "post",
15
+ parent: {
16
+ type: "app",
17
+ url: "{{args.url || ''}}"
18
+ }
19
+ }
20
+ }
21
+ }],
22
+ run: [{
23
+ when: "{{platform === 'win32'}}",
24
+ id: "run",
25
+ method: "shell.run",
26
+ params: {
27
+ shell: "{{kernel.path('bin/miniconda/Library/bin/bash.exe')}}",
28
+ conda: {
29
+ skip: true
30
+ },
31
+ message: {
32
+ _: [
33
+ "npx",
34
+ "-y",
35
+ "@openai/codex@latest",
36
+ "--yolo",
37
+ "-c",
38
+ "projects={ {{JSON.stringify(args.cwd)}}={trust_level=\"trusted\"} }",
39
+ "{{args.prompt || undefined}}"
40
+ ]
41
+ },
42
+ path: "{{args.cwd}}",
43
+ input: true
44
+ }
45
+ }, {
46
+ when: "{{platform !== 'win32'}}",
47
+ id: "run",
48
+ method: "shell.run",
49
+ params: {
50
+ message: {
51
+ _: [
52
+ "npx",
53
+ "-y",
54
+ "@openai/codex@latest",
55
+ "--yolo",
56
+ "-c",
57
+ "projects={ {{JSON.stringify(args.cwd)}}={trust_level=\"trusted\"} }",
58
+ "{{args.prompt || undefined}}"
59
+ ]
60
+ },
61
+ path: "{{args.cwd}}",
62
+ input: true
63
+ }
64
+ }]
65
+ }
@@ -0,0 +1,39 @@
1
+ module.exports = {
2
+ title: "Codex Desktop",
3
+ link: "https://openai.com/codex",
4
+ icon: "icon.png",
5
+ description: "Codex Desktop",
6
+ launch_type: "desktop",
7
+ watch: [{
8
+ handler: "draft",
9
+ method: "ready",
10
+ params: {
11
+ path: ".pinokio/draft",
12
+ content: "post.md",
13
+ publish: {
14
+ target: "registry",
15
+ type: "post",
16
+ parent: {
17
+ type: "app",
18
+ url: "{{args.url || ''}}"
19
+ }
20
+ }
21
+ }
22
+ }],
23
+ run: [{
24
+ method: "uri.open",
25
+ params: {
26
+ uri: "codex://new",
27
+ params: {
28
+ prompt: "{{args.prompt || ''}}",
29
+ path: "{{args.cwd || ''}}"
30
+ }
31
+ }
32
+ }, {
33
+ method: "process.wait",
34
+ params: {
35
+ title: "Launched",
36
+ description: "Click the stop button to stop watching file changes"
37
+ }
38
+ }]
39
+ }
Binary file
@@ -0,0 +1,31 @@
1
+ module.exports = {
2
+ title: "Crush",
3
+ icon: "crush.png",
4
+ link: "https://github.com/charmbracelet/crush",
5
+ watch: [{
6
+ handler: "draft",
7
+ method: "ready",
8
+ params: {
9
+ path: ".pinokio/draft",
10
+ content: "post.md",
11
+ publish: {
12
+ target: "registry",
13
+ type: "post",
14
+ parent: {
15
+ type: "app",
16
+ url: "{{args.url || ''}}"
17
+ }
18
+ }
19
+ }
20
+ }],
21
+ run: [{
22
+ id: "run",
23
+ method: "shell.run",
24
+ params: {
25
+ message: "npx -y @charmland/crush@latest",
26
+ path: "{{args.cwd}}",
27
+ buffer: 1024,
28
+ input: true
29
+ }
30
+ }]
31
+ }
Binary file
@@ -0,0 +1,39 @@
1
+ module.exports = {
2
+ title: "Cursor",
3
+ link: "https://cursor.com",
4
+ icon: "cursor.jpeg",
5
+ description: "The AI Code Editor",
6
+ launch_type: "desktop",
7
+ watch: [{
8
+ handler: "draft",
9
+ method: "ready",
10
+ params: {
11
+ path: ".pinokio/draft",
12
+ content: "post.md",
13
+ publish: {
14
+ target: "registry",
15
+ type: "post",
16
+ parent: {
17
+ type: "app",
18
+ url: "{{args.url || ''}}"
19
+ }
20
+ }
21
+ }
22
+ }],
23
+ run: [{
24
+ when: "{{which('cursor')}}",
25
+ method: "exec",
26
+ params: {
27
+ message: "cursor .",
28
+ path: "{{args.cwd}}"
29
+ }
30
+ }, {
31
+ when: "{{!which('cursor')}}",
32
+ method: "notify",
33
+ params: {
34
+ html: "Cursor is not installed. Click to visit the Cursor homepage to download",
35
+ href: "https://cursor.com",
36
+ target: "_blank"
37
+ }
38
+ }]
39
+ }
Binary file
@@ -0,0 +1,40 @@
1
+ module.exports = {
2
+ title: "Gemini CLI",
3
+ icon: "gemini.jpeg",
4
+ link: "https://github.com/google-gemini/gemini-cli",
5
+ watch: [{
6
+ handler: "draft",
7
+ method: "ready",
8
+ params: {
9
+ path: ".pinokio/draft",
10
+ content: "post.md",
11
+ publish: {
12
+ target: "registry",
13
+ type: "post",
14
+ parent: {
15
+ type: "app",
16
+ url: "{{args.url || ''}}"
17
+ }
18
+ }
19
+ }
20
+ }],
21
+ run: [{
22
+ id: "run",
23
+ method: "shell.run",
24
+ params: {
25
+ message: {
26
+ _: [
27
+ "npx",
28
+ "-y",
29
+ "@google/gemini-cli",
30
+ "--include-directories",
31
+ "{{kernel.path('prototype')}}",
32
+ "{{args.prompt || undefined}}"
33
+ ]
34
+ },
35
+ path: "{{args.cwd}}",
36
+ buffer: 1024,
37
+ input: true
38
+ }
39
+ }]
40
+ }
@@ -0,0 +1,43 @@
1
+ module.exports = {
2
+ title: "Gemini CLI Auto",
3
+ icon: "gemini.jpeg",
4
+ description: "Gemini CLI with workspace trust and tool approvals skipped.",
5
+ link: "https://github.com/google-gemini/gemini-cli",
6
+ watch: [{
7
+ handler: "draft",
8
+ method: "ready",
9
+ params: {
10
+ path: ".pinokio/draft",
11
+ content: "post.md",
12
+ publish: {
13
+ target: "registry",
14
+ type: "post",
15
+ parent: {
16
+ type: "app",
17
+ url: "{{args.url || ''}}"
18
+ }
19
+ }
20
+ }
21
+ }],
22
+ run: [{
23
+ id: "run",
24
+ method: "shell.run",
25
+ params: {
26
+ message: {
27
+ _: [
28
+ "npx",
29
+ "-y",
30
+ "@google/gemini-cli",
31
+ "--include-directories",
32
+ "{{kernel.path('prototype')}}",
33
+ "--skip-trust",
34
+ "--approval-mode=yolo",
35
+ "{{args.prompt || undefined}}"
36
+ ]
37
+ },
38
+ path: "{{args.cwd}}",
39
+ buffer: 1024,
40
+ input: true
41
+ }
42
+ }]
43
+ }
@@ -0,0 +1,50 @@
1
+ module.exports = {
2
+ title: "Qwen Code",
3
+ link: "https://github.com/QwenLM/qwen-code",
4
+ icon: "qwen.png",
5
+ watch: [{
6
+ handler: "draft",
7
+ method: "ready",
8
+ params: {
9
+ path: ".pinokio/draft",
10
+ content: "post.md",
11
+ publish: {
12
+ target: "registry",
13
+ type: "post",
14
+ parent: {
15
+ type: "app",
16
+ url: "{{args.url || ''}}"
17
+ }
18
+ }
19
+ }
20
+ }],
21
+ env: [{
22
+ key: "OPENAI_API_KEY",
23
+ default: "OPENAI_API_KEY"
24
+ }, {
25
+ key: "OPENAI_BASE_URL",
26
+ description: "use the OpenAI API compatible api endpoint",
27
+ default: "http://localhost:1234/v1"
28
+ }, {
29
+ key: "OPENAI_MODEL",
30
+ description: "the openai compatible model",
31
+ default: "mradermacher/Bootes-Qwen3_Coder-Reasoning-i1-GGUF"
32
+ }],
33
+ run: [{
34
+ id: "run",
35
+ method: "shell.run",
36
+ params: {
37
+ message: {
38
+ _: [
39
+ "npx",
40
+ "-y",
41
+ "@qwen-code/qwen-code@latest"
42
+ ],
43
+ "prompt-interactive": "{{args.prompt || undefined}}"
44
+ },
45
+ path: "{{args.cwd}}",
46
+ buffer: 1024,
47
+ input: true
48
+ }
49
+ }]
50
+ }
Binary file
@@ -0,0 +1,36 @@
1
+ module.exports = {
2
+ title: "VS Code",
3
+ link: "https://code.visualstudio.com/",
4
+ icon: "vscode.png",
5
+ description: "The AI Code Editor",
6
+ watch: [{
7
+ handler: "draft",
8
+ method: "ready",
9
+ params: {
10
+ path: ".pinokio/draft",
11
+ content: "post.md",
12
+ publish: {
13
+ target: "registry",
14
+ type: "post",
15
+ parent: {
16
+ type: "app",
17
+ url: "{{args.url || ''}}"
18
+ }
19
+ }
20
+ }
21
+ }],
22
+ run: [{
23
+ when: "{{which('code')}}",
24
+ method: "exec",
25
+ params: {
26
+ message: "code .",
27
+ path: "{{args.cwd}}",
28
+ }
29
+ }, {
30
+ method: "process.wait",
31
+ params: {
32
+ title: "Launched",
33
+ description: "Click the stop button to stop watching file changes"
34
+ }
35
+ }]
36
+ }
Binary file
@@ -0,0 +1,39 @@
1
+ module.exports = {
2
+ title: "Windsurf",
3
+ link: "https://windsurf.com/",
4
+ icon: "windsurf.png",
5
+ description: "The AI Code Editor",
6
+ launch_type: "desktop",
7
+ watch: [{
8
+ handler: "draft",
9
+ method: "ready",
10
+ params: {
11
+ path: ".pinokio/draft",
12
+ content: "post.md",
13
+ publish: {
14
+ target: "registry",
15
+ type: "post",
16
+ parent: {
17
+ type: "app",
18
+ url: "{{args.url || ''}}"
19
+ }
20
+ }
21
+ }
22
+ }],
23
+ run: [{
24
+ method: "uri.open",
25
+ params: {
26
+ uri: "windsurf://cascade/newChat",
27
+ params: {
28
+ prompt: "{{args.prompt || ''}}",
29
+ folder: "{{args.cwd || ''}}"
30
+ }
31
+ }
32
+ }, {
33
+ method: "process.wait",
34
+ params: {
35
+ title: "Launched",
36
+ description: "Click the stop button to stop watching file changes"
37
+ }
38
+ }]
39
+ }